I agree about power management, but having freedom to configure things like this is a bigger factor for me personally. As far as package management, my experience with apt has been better than my experience using brew, though both are serviceable.
[0]: https://apple.stackexchange.com/questions/17929/how-can-i-di...
Tiling is snappy, workspace switching is instant. And I'm on a pre-m1 machine with 16GB RAM.
For a daily driver? Poor UI experience on MacOS. On Linux usually one of Mate, Plasma, WindowMaker, XFCE or Gnome will have the Window behaviour (snapping, tiling, maximising, switching) I want.
All of the Linux options have file-selection dialogs that don't suck. All of the Linux distros I have used for a daily driver have better software than brew.
MacOS kernel certainly has some nice surprises (compressed memory is impressive), it doesn't ever crash and it sleeps and wakes correctly.
OTOH, all the non-kernel software is, frankly, crap. They're unintuitive, hard to use and limited in variety.
Maybe I have been unlucky, but I have experienced many panics across several different machines running recent MacOS releases. 2 of those being corporate machines, so I can blame the "security" software that gets deployed. My home Mac mini, does not have any crapware deployed, and it still managed to crash once or twice.
In contrast, my ancient desktop running Windows 10 has not had a single BSOD in the years since I built that Ivy Bridge machine. And this included running much more intensive workloads than the terminal/docker/text editor workloads on my Macs.
Basically, I want Linux because I am familiar with how Linux and Linux tooling works, and that makes me very efficient on Linux. Using MacOS is acceptable but it feels somewhat like having one hand tied behind my back. A seasoned MacOS user probably has the same feeling but in reverse.
(As an aside: In 2022, I don't recognize the comments about modifying WiFi drivers, compiling from source or having sleep/resume issues. That definitely used to be the case in the distant past, but over the last five years or so Ubuntu have really got their stuff together. I don't think I would have ever recognized the comments on brew, which I always found infuriating and messy compared to apt. Perhaps it all comes down to taste, and that's okay?)
> Do you have a habit of modifying your wifi drivers and recompiling the source?
Not even once. But thank god for the people who do put in the effort to code support for shitty walled gardens[1]. This age old strawman argument diverts attention away from many of the other virtues of Linux.
My personal coding and gaming machine runs Linux. My work laptop is MacOS. Almost every day (as no exaggeration) there is something new that doesn't work on MacOS, that yet another hostage of the Apple ecosystem has fixed for Apple.
> improved chasing dependencies vs just brew install
This is a very strange comment considering that brew was inspired by Linux package managers. Brew is incredible compared to what is available on MacOS (which, to be clear, is nothing), but it doesn't hold a candle to what's happening in the Linux world - especially with the likes of ostree, guix, and nix.
MacOS is an operating system designed for creators and influencers. It can be modified to the bare minimum of development competency. Even Windows pulls ahead of it with WSL, and that's saying something.
I can't comprehend why developers voluntarily subject themselves to it.
Out of the box, Linux UI is a bit better - but it's easy to make it excellent and make it fit like a glove. Tiling or partially tiling managers outside of Linux are terrible.
Whether you like a default full fledged desktop experience with Plasma or you go with a super tuned sway, you can really get what you want out of your machine.
The UI is the main reason I try to use Linux as much as I can but there are tons of other advantages. Docker works natively and fast, developing anything (but iOS apps) is a smooth experience. Package managers are 20 years ahead brew or chocolate on Windows.
If you use Arch you get an even better package manager experience compared to other distro: you get bleeding edge packages + AUR, a user contributed repository of scripts to build and install custom packages.
If you use something like NixOS you get to define your system with a configuration file and you can truly bootstrap and switch between different systems with a CLI command.
1. The much frequency with which stuff just works on OSX.
2. The opportunities to spend $30 on an app instead of $300-$800 worth of time on software that is Free as in Puppy.
There's dtruss, but the information and options are nowhere near as useful as strace, and for some system calls it prints errors instead. read() and write() print access errors so you can't see what's read and written, same with stat/fstat, you just get an address, no file information.
Perhaps strace could be ported to MacOS but it's not. "brew install strace" says "strace: Linux is required for this software." :-)
These annoyances from the company that supposedly is obsessive about user experience make one feel helpless and frustrated.
Overall, Mac feels less janky from a GUI/visual point of view than Linux, but frankly I'm spending more and more time on Linux because it's just more predictable. Also lots of Raspberry Pi tinkering.
A rogue Windows update bricked my machine the day before an important deadline. This is just so unbelievably unacceptable that I can't believe we collectively put up with this nonsense.
Yes, default macOS is more aesthetically pleasing than default Linux, but the helplessness when something goes wrong ...
It’s awesome that I can build custom PAM modules and disk encryption unlocking solutions to enforce that both a password and a YubiKey need to be present to unlock the disk. I love being able to configure my display manager to discard the decryption keys for my user pool when I log out to get the same kind of security that I’d have on a phone.
Being able to modify soft- and hardware allows you to add features that other OS vendors don’t yet support, or retrofit new features and functionality onto old hardware to make it usable far beyond its planned EOL.
Do you actually do that, or do you just like the idea of being able to do it ? Even on a desktop PC, where upgrading is much easier and more common, I've never seen the point.
Either you upgrade fairly often, in which case you pay a relatively large amount for marginal improvements, or you upgrade every few years, in which case you need to replace so many parts you might as well replace the entire machine.
Say you upgrade the CPU to a newer model after a year, that's a fairly costly upgrade and how much additional performance will you get in return ?
If you wait a few years to upgrade your CPU, you'll find that the new CPU also requires a new motherboard, and the new motherboard requires a new type of RAM. They you find out that your old GPU is now a bottleneck, and when replacing that you realise your new GPU requires an new power supply as well. By the time you're finished all you've done is recycled the case.
e.g., if just the RAM is an issue, I don’t have to buy an entirely new device and pay extra for everything else.
My 2018 MBP would lose battery on sleep too. I don't even know what shutdown does because the force trackpad still keeps clicking while "off".
Also, bugs in the OS where you're completely at the mercy of Apple. I like to do custom re-mappings on my keyboard, and the last time I tried a mac (around 2016), the keyboard reverted to the default layout every time I viewed a pdf. At the time, there was no way of fixing this issue. Along with the glossy screen, this issue convinced me that MacOS was not at the time a viable platform for me.
So, what happens is that Linux tends to "work" on lots of lower end laptops/etc that ship with windows, but suspend will consume considerably more power vs just turning everything but the DRAM refresh off (what happens with S3). If you find a laptop with S3/etc support, the battery will last for days in linux as well. I have an older cheap dell inspiron from ~2016 and it can stay in S3 for more than a week from a full charge, and with a bit of powertoy/etc tweaking idles at about 3W which gives it about a 14 hour battery just sitting there with the screen/emacs running.
So, its definitely worth getting a "linux compatible" laptop if your not a kernel hacker who is willing to fix bugs in various drivers. Even then if your picky and you get a bleeding edge machine its quite likely there will be quality of life issues for the first couple years until all the fixes work their way through to all the distro's/etc everyone runs.
Its actually a good reason for avoiding the tier 1 OEM's, because acer/asus/msi/etc tend to ship with a full suite of BIOS options which allow better linux tuning. HP has gotten quite aggressive about changing/etc the password/hidden key sequences to unlock the hidden bios options.
Do you have a habit of modifying your wifi drivers and recompiling the source? I am big on open source but have never felt my life was improved chasing dependencies vs just brew install ... I have never had a satisfactory battery + sleep/standby experience on a linux machine, vs a Mac I can leave unplugged for weeks and it wakes back up where I left off, battery still holding charge, so I'm just curious what is worth the tradeoff, especially when your priorities are battery life, computational performance, and hardware longevity (I get a new MacBook every ~5 years)