And you, what’s your operating system to code ? Me, I use Arch btw
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person’s post makes sense in another community cross post into it.
Hope you enjoy the instance!
Follow the wormhole through a path of communities !webdev@programming.dev
Most companies I worked with had a choice of the work laptop, usually Windows/Linux or MacBook. And the trick is, you cannot buy cheap MacBook. So the choice is using linux but with a terrible screen, unusable trackpad and bad hardware, or take MacBook and enjoy all premium.
So I always take MacBook and then ask for a local workstation where I will have linux with i3 / Sway WM.
My company didn’t leave me a choice, I got an XPS 15 which I had to setup with my distro of choice (but all the internal tooling is for Ubuntu, I personally would have preferred to install Fedora or Debian 12 with i3wm).
It’s not that bad a laptop but it overheats like crazy and has really shit battery life (barely enough for a meeting), and some of its features I can’t explain : why is a 4k touchscreen on a laptop a good thing? It eats 4x the battery for no noticeable visual improvement. I don’t use my laptop 5 inches from my face.
the point of 4k is that you can make ui smaller and show more things
I find that very strenuous on my eyes tbh
Yeah I remember the first time I tried a 1080p 15" display. Even that I had to look at really hard, can’t imagine a 4k version that actually uses 4k resolution for regular computing.
I remember having bad overheating issues with Linux years ago on an XPS 15 (9560 model if memory serves, so unlike yours no 4k or touch).
The key on mine was to disable the dedicated GPU which I didn’t need anyway. I remember afterwards, mint would run mostly quiet and the battery lasted longer than on the windows partition. If you are interested look up bumblebee on the arch wiki.
Also I know this reply is late, but maybe it helps.
I already thought about disabling the dedicated GPU on that laptop, but I unfortunately cannot since I need it to train neural networks and the occasional lan party at, work
If you set up bumblebee correctly you should be able to enable and disable the dedicated gpu on the fly if i’m not mistaken. Might still help with long teams meetings.
I prefer a desktop. Don’t have to worry about swelling batteries from being plugged in all day… plus they’re cheaper so I get new computers far more often than my coworkers who get laptops.
Here is an alternative Piped link(s): https://piped.video/watch?v=E_C3pgc1Iho&t=83s
Piped is a privacy-respecting open-source alternative frontend to YouTube.
I’m open-source, check me out at GitHub.
Ooh thank you @PipedLinkBot I didn’t know that
Why bother with a front-end? This vlogger’s on peertube, as @ozoned mentioned: https://tilvids.com/w/995NqXZXXshptUnwZNcbKi
I wish the company I worked for would let us use Linux. Mac dev only. :(
Huh? macOS is a lot closer to Linux than Windows.
Being built on nix doesn’t mean it’s similar, just that they have some commands in common.
I miss my Linux dev machine daily.
Completely agree, I didn’t mean to imply that macOS’ BSD foundation is exactly like Linux. It isn’t. I just think it happens to be much more similar to Linux than Windows.
They are both UNIXes, that’s quite a lot of similarity and I wouldn’t write it off that fast.
The windows experience has gotten a lot closer to Ubuntu than you’d expect, what with WSL. A developer can do most of the same things you’d do on Ubuntu on Windows now. The same cannot be said for Mac.
Better than Windows at least
No.
i used to have this opinion, i dont after having to use a mac for a few months. id take windows+wsl any day.
I care about freedom. In that regard, mac is easily the worst of the three. Also, it kinda combines the downsides of both:
I hate windows with a passion but would take it anytime if mac would be the only other option.
In what way does it limit your freedom? When I first tried OSX I was quite surprised at how customizable it actually is, contrary to all the talk I heard about it.
Every windows machine a job has given me has been a hunk of garbage. At least Mac hardware has a floor of quality. Not perfect by any means, but at least the battery lasts and there’s basic horsepower.
Also every windows machine has been with a fossilized company that has tons of IT bloat with tons of spyware authentication shit on it. Hell I had to file (and fight for) wsl privileges on my current windows machine
The Macs I’ve gotten have been brand new, straight from the manufacturer.
I’m sure that’s just luck of the draw but yeah fuck windows shops hah
I’m not talking about companies that use windows vs companies that use mac but about the systems themselves. It’s very possible that most companies that use macs are generally better equipped, treat their devices better, upgrade more often, etc… But that’s a correlation, not a causation. You are right about the quality baseline because apple forces them to buy very specific hardware. But if they’d instead spend the same money for a windows machine and set it up decently, I would prefer that by a lot. MacOS is just terrible. It’s less keyboard friendly, always messy, forces users into a overpriced and shitty proprietary lock-in ecosystem, etc.
I’m not sure how long I’ll say that though since microsoft really manages to make windows so much worse with every version they release, it has also reached a barely usable state to be honest.
Hell nah. Personally, mac os is the most frustrating of the bunch to use.
I switched over to MacOs about 3 months ago now for dev work and I’ve really been enjoying it so far. Except when there are weird hiccups, but they’ve been getting better as I get more familiar with it
Each to their own! I’m not a dev, but I have to use a mac at work for video editing, and what frustrates me, is the clunky window management and that some keyboard shortcuts (like copying and pasting) make me have to twist my hand in quite unnatural positions, at least on the apple’s own keyboard.
You’ll quickly change your mind once you start using Docker and similar tools a lot.
Not sure what you mean, I use x86 docker on my m2 MacBook no problem. Colima makes this fairly trivial
It doesn’t run natively, it doesn’t perform natively.
Nah these days with wsl, I prefer windows over Mac. At least you get packages that have been updated in the past decade.
WSL has been super garbage for me with the WM closing without warning to update and if you don’t limit the ram usage it just takes everything available because it just doesn’t free memory that isn’t using anymore. Two issues that have been open on the repository for a long time.
What packages are you missing? With brew you can get most things
True… although using brew to upgrade bash is far from straightforward. Plus you can’t run gdb on a m1 mac.
Bro do you even oh-my-zsh bro?
Bro where are you goingggg…
/s
Ah yeah tbh I only use fish so I’ve never had to bother upgrading bash. And actually yeah the M1 can be annoying. I have an M1 Mac for work and some libraries are a massive pain to get working on it
In this article: why we should wear crocs while drinking water.
I moved so Microsoft doesn’t spy on literally everything I do. For programming it does seem to be easy to discover new things when you are part of different linux circles.
Also arch when I can help it.
We use CentOS for work.
So many praises for Windows and Mac about ‘premium features’, ‘corporate environment’ and ‘device support’. But not enough talk about how they treat customers like crap and cash cows. Windows is replete with spyware and ads. It doesn’t respect the user’s choices, like when not to do an update or opening the links with a browser of user’s choice. Heck! Some versions don’t even allow you to register users without a cloud account. And now they are taking definite steps towards ensuring that you can’t do anything they don’t approve - with TPM and pluton non-sense. Praising windows is like being in an abusive relationship and finding justifications for it.
Mac is on the other extreme. They lock down their platform more and more in every revision in the name of security. It’s getting harder to side-load apps. Why? For security, of course! No mention of how security comes primarily from platform design. Then there is the hardware, where everything is glued, soldered, riveted, digitally locked, etc, etc. Any small issue, and it’s garbage. Not even parts from another genuine Mac can be used. Macs also have the strange distinction of needing calibration and signing of any part that can be replaced at all. It’s deliberately designed to extract more money from you and create a tonne load of e-waste (iWaste?). Mac fanbois have a habit of justifying it in the name of ‘miniaturization’ and progress. Honestly, that’s just hand-wavy and completely wrong technical argument. And Apple says it is all for ‘privacy’ and ‘security’ while their actual reason is the pursuit of double-digit growth (not just profits). So, in effect, Apple is saying to their customers “Oh honey! You’re are just too stupid to take care of it. So let me just decide for you” - all the while squeezing you for money. Does it end there? Oh no! They need developers to pay a yearly fee and want to take a huge cut from their profits. All that for “providing the engineering, platform and services”. As if the exorbitant price they extract from their customers isn’t enough.
The hardware situation on Linux distros and frankly even BSDs isn’t as bad as it is projected by some. Most devices just work even on a live installation medium. Even Nvidia works. (Have you considered the possibility that if any device doesn’t work, it’s the manufacturer’s fault and not the OS’s? There are plenty of devices for which the community maintains the drivers, just because the device manufacturer isn’t an utter trashbag). There are tonnes of games too - thanks to Valve and Proton. And as for the ‘corporate env’, you are probably just locked in or too used to them. There are users who have been on these platforms for decades now without complaints. And there are companies built entirely on them. Can you say the same about any of the company that makes your OS/devices? Is there one among them that doesn’t use Linux or BSDs?
Look! I’m not claiming that everything is rosy on the Linux and BSD side of things. Sometimes you have to find an alternative way of doing things (there are plenty of options). Sometimes, you have to configure a lot. Sometimes, you have to carefully choose your hardware so that your life is easier with Linux and BSDs. But there is one thing they don’t ask you to do- and that is to surrender your self-respect. You don’t get treated like cash cow. You don’t get spied on as if you are a thief. You don’t get restricted like a school kid. You’re not told that your choices are wrong. Your choices are not disrespected. You don’t get treated like you owe them after you paid your hard earned money on the devices they make. Ultimately, it’s up to you to decide if the little conveniences are bigger than your self-respect.
You can literally install Linux on a Mac. Even on MacOS you can run whatever app you want, there’s no need for sideloading.
Well so can you install Linux on Windows, Windows on macOS, Windows on Linux, macOS on Windows and macOS on Linux.
From that point of view, all OSs are identical (and to be fair, they pretty much are, nearly everything runs on a VM called ‘web browser’ already).
Yeah but op specifically said Mac’s were “locked down” which is a misleading statement at best.
The monstrous thing is locked down tightly on a hardware level that even they can’t repair it. And the hoops you have to jump through to install a software is getting ridiculous by the day - I’m saying this from my unfortunate opportunity to use a Mac. And you say that my statement is misleading? It’s true what they say - you Mac fanbois have deluded yourself out of touch with reality.
I agree with you about the hardware. I was referring to the software.
How? I have installed a variety of apps from different sources and I’ve never had any issue at all. It’s hard to take someone’s claim when they don’t have any concrete examples.
Macs are actually secure. Not as much as ios, but compared to the general linux userspace, it is like a military establishment vs a homeless tent.
Did you miss the part where I said they use the security argument to lock down the device and restrict the user? In addition, Linux distros in their default configuration may not be secure - but there are plenty of packages that can secure it down to a deep level. It just depends on the user’s threat level assessment. That military establishment vs homeless tent analogy is just pure hyperbole and FUD.
Security doesn’t work like that and I find it important to share the insecure nature of most linux distros with many people, hopefully to make it improve one day.
Currently a
make install
can do literally anything to your computer besides installing a video card driver (as per the old xkcd comic) and sure there is firejail… but let’s be honest, how often do you use it? Defaults matter, and thus linux is insecure.Also, again, how is osx locked down? What’s a concrete thing you can’t do on it?
All three main desktop operating systems suck for very different reasons
I take it you run TempleOS?
As a linux dev, this conspicuously misses mentioning Visual Studio.
My company and literally every company I’ve worked for somehow has been deeply afraid of leaving .NET framework for .NET core or .NET 6, 7, or 8.
I just want to get away from needing Windows to run my programs locally
I don’t think it is fear. We are transitioning our decades old software to .net 6 right now. It will approximately take a full year (we are about halfway done) since we use WPF, WCF and a lot of Windows native APIs. And in the end we will be on 6-windows and not the cross platform sdk since we can not get rid of WPF without major UI rewrites.
True, but he mentions .NET development is Windows first, and even mentions that you have “some IDE’s that work with it, like Rider”. He kind of said it without mentioning the specific IDE.
Rider is the real MVP anyways.
Jetbrains ftw
Is there any GUI for either GDB or LLDB? Most cases, I don’t think “writing macros to do complicated things” is a path walkable for me, especially as I mostly want to do simple things.
VS Code (as well as Codium) uses gdb for debugging
DDD? Dunno if that’s to your taste, nor what state it’s in lately but… maybe it qualifies? :3
Visual Studio Code (and its free as in freedom variants like Codium) has the CodeLLDB extension. I’m unsure if something similar exists for GDB.
And if you’re using Jetbrains, most (all?) of their products have a suitable GUI debugger baked in.
I was gonna say Ctrl+X Ctrl+A but that’s a TUI.
And cgdb is kind of the same but with better controls and syntax coloration.
Fedora Silverblue is very nice for development work. You can have separate
toolbox
containers for each toolchain and not worry about it messing with the host OS.(Unless I’m working with Python. Then it’ll find some way to install shit deep in
~/.local
or whatever.)Python belongs in docker for exactly thus reason
Am I missing something? Why aren’t you doing python development in a venv? Or docker?
I don’t really write Python, but I occasionally find myself having to use tools written in it.
So Docker won’t work (unless I do some scuffed mounting to let it access my working files, which is suboptimal regardless) and I can’t be bothered to juggle venvs just to rip my Spotify playlists.
Juggle? Just creat a venv in the working directory of the script, and throw it on when you run it. It’s really bad form to run against the “local” install.
Or consider something like direnv, which does setup and virtualization when you cd into the directory. Very easy to set up and you never have to activate manually
macOS all the way.
All the comfort of a UNIX FOSS env, all the premium features of a corpo env.
One of the main issues with OSX is that docker sucks, it’s so slow even using the new fixes virtfs etc.
Arguably: docker sucks.
Thankful to communities, building dev env on Linux is easier than that on Windows.
NixOS is the ultimate dev distro… For backend development anyways.
I’ve been interested in Nix for a while but haven’t devoted any time to it. What do you like about it? What problems does it solve? Why learn the Nix way of doing things when I could make a container using LXD and just transfer the container around?
Package management is the ultimate problem that was previously left unsolved (no, docker just pushes the problem away, doesn’t solve it. That apt install won’t be the same now as it was when you wrote it). Nix is the first thing that actually solves it properly.
What… What problems does Nix solve? throws down his beer What value is precision? Why make a cube about 10cm per side when you can make a cube 10.001 cm ± 0.001 cm? Do you want software that’s a collection of found parts that just happens to work? Or a system engineered to precise requirements?
Rant aside: that sums one difference. Both containers and Nix solve an encapsulation problem. They solve them differently. Containers gives software their own namespace. Nix requires software to exist in an a universal namespace. “/bin/bash” may be different between containers. While “/nix/store/bash-82828def8282829whatever/bin/bash” is always the exact same bash in Nix.
Precision has a cost but sometimes the precision is necessary. Eg: nix is great building closures that contain exactly the software requested and no more. While containers are more imprecise: take a base and add on additional stuff. From a software supply line perspective this can be exactly the precision required.
Nixpkgs is (afaik) the closest thing to Amazon’s internal package system. So the issues it solves is definitely valuable… To at least Amazon scale orgs.
As a dev who likes to tweak their system Nix offers an unparalleled ability to alter deep dependencies and correctly propagate those through everything. Wanna alter libc and rebuild everything - jvm and all - for some Java service? Yep. Nix will handle the build no problem.
Excessive? Sometimes - plenty of systems work fine when dependencies are mutated underneath. However, when there is a need there is NixOS in a class of it’s own.
Also, they are complementary solutions: nix is great at building containers.