For me it basically it comes down to this:
Macs are just similar enough to the Linux to fool me into thinking I know what I'm doing. But then things are just subtly different such that nothing quite works. It's like, if you were Satan and your Q4 objective was to design a computer that you could give to me -- a "computer expert" -- to make me feel like a moron every time I try to do literally anything at all on it... Apple computers pretty much hit it out of the park.
--
It's also a lot of little usability things. I thought Apple was supposed to be the usability king? Yet it patently cannot handle simple things like:
* I want "natural" scrolling on the touchpad, but "regular" scrolling when using a plugged-in mouse with a mousewheel. The options are in TWO DIFFERENT settings windows, but changing one changes the other. Why? Even Linux, not famed as the Usability King, had this figured out in 2012.
* I want one of my monitors to be vertical. When I plug them in, it's a coin-toss as to whether or not it will remember which one it is. 50% of the time I have to tilt my head 90 degrees and set the 270* monitor to 0* and the 0* monitor to 270*. In the end I wrote an apple-script to do this automatically and bound it to a keyboard key.
This also drives me bonkers. The reason I think it is still this way is that at Apple everyone is using the Magic Mouse which has touch scrolling on it (you scroll like a trackpad with your finger) and so presumably most never toggle this. Another example of pain if you go off the happy path the apple developers use and keep tidy and clean.
This may not be complete monitoring, but Little Snitch (from obdev.at) can monitor outgoing connections, alert you and let you to block or allow those. Last year when macOS Big Sur was released, this didn’t work for a while for Apple’s programs, but that was later changed by Apple.
nix?
- Some kind of quick setup. On Linux I use a bootstrapping script, MacOS does not offer the same extensibility.
Apple mdm implies that the hooks exist, although I know notthing of using that and it very well might be insufficient.
- Real virtualization support like QEMU
Isn't hyperkit decent?
I agree with the general thrust of your comment, though; just unsure of some details.
2017 article says Apple doesn't have a copy without iCloud enabled, https://www.macworld.com/article/229963/want-to-recover-a-fi...
- Ways to permanently disable Gatekeeper
- Some kind of quick setup. On Linux I use a bootstrapping script, MacOS does not offer the same extensibility.
- Real virtualization support like QEMU
- Real container support (if I set up another local Docker host on a Mac I swear to god...)
- Up-to-date coreutils
- A way to install Git without dragging along a few gigs of dependencies
- Ways to monitor my network usage and ensure Apple isn't spying on me
- Real encryption (eg. Apple/NSA isn't holding a master key)
- CUDA support
- 32-bit app execution
- A way to disable the hash that gets sent to Apple every time I open an app
That's just the starter kit, if I sat down with some pen and paper I could probably keep going ad-infinitum.