I'll use the occasion to crap on macOS because yes, I experienced this, not to mention random devices disconnecting in conditions of higher memory pressure (i.e. starting a k8s cluster and doing tests, then tearing it down, then starting another etc.) -- one time even my keyboard disconnected which was annoying to say the least.
To this day my $300 dock sometimes doesn't at all get detected after I wake up my iMac Pro. A $8000 machine and an OS developed by trillion+ $ dollar company cannot properly wake up all devices after sleep. Yep. :|
I appreciate macOS as a system for users where SIP et. al. prevent people from shooting themselves in the foot -- Apple has mostly solved the problem of careless users clicking on stuff they really shouldn't. (Excluding phishing.)
But as a programmer, I am now on a course to gradually and eventually move back to Linux. Why?
- Everything is just faster. A Manjaro XFCE with the latest kernel (6.7 as of 2024-FEB-14) just makes everything fly on my AMD 5500U laptop. Telegram starts in 0.5s while my iMac Pro needs at least 5 seconds. Firefox with all its addons boots up in about 1.5s. I know all of the lag and delays are related to security scanning but it does get tiring after several years. As a programmer I want to say "everything in these directories is trusted, I'll suffer if I am wrong, now leave me alone" which of course I can't do.
- Related to the above: Intel Macs are likely unofficially now second-class citizens and frak all of us who invested in them, right? The iMac Pro costed me $8000 and I'll use it until it blows up in my face, that's non-negotiable for a $8000 machine. So I'd think whatever performance gains or optimizations are being done for macOS, the Intel architecture is probably a persona non grata already.
- Just lately Erlang's team fixed an absurd issue where due to JIT using memory mapping macOS literally shows me a popup while I am coding! Save an Elixir file in my NeoVim (which invokes the LS) and whoops, there, you have a micro popup that disappears after ~0.2s. And it can be a problem if you cancel it (has an X button inside which I assume is focused by default) but seriously, just working in your editor leads to micro popups that disappear fractions of a second later... WTF. And their fix? They moved to use another memory mapping API. Which is a workaround in fact, not a fix. I feel for them so hard.
- A lot of goodies are hidden behind paid software which is 100% fine by me (obviously we all want to be paid for our work) but it does send a signal that Apple doesn't care much -- iStat Menus is a good example and SoundSource is probably the best example (and strongly related to the original article); why do we need SoundSource at all? Why is this not handled by the OS? And again on the money issue, as much as I want to support other programmers, it starts feeling like you are being nickel-and-dimed as time passes by.
Honestly, after using macOS full time for about 4.5 years, I am not impressed. I like the displays a lot and I know I would miss them dearly and my eyes will be unhappy which is basically my main reason for sticking with macOS for a workstation (well that plus the $8000 investment I made 4.5 years ago which let's be honest, has paid for itself already, many times over).
Another thing I do like is the menu bar and I'll duplicate that functionality on my XFCE laptop soon enough, so not much of a loss.
I believe at one point I'll just start ssh-ing into my AMD 5500U laptop so I can reap the benefits of the amazing iMac Pro display while still having Linux's benefits on my side. And I didn't even mention how much I can tinker with it e.g. I wanted to experiment with various ZFS and bcachefs setups and of course I couldn't do that without a VM... did I mention I never found a truly good VM manager for macOS?
But that tinker-ability is just the tip of the iceberg and this comment became huge enough already.
If you have gotten this far -- any ideas how to properly secure an XFCE environment? I'll need to install Chrome and Zoom at one point but I don't trust their creators to not pwn my system the moment I run the installer and as we know X11 is not at all secure; likely both softwares will record each of my keystrokes and upload them somewhere. So, anybody knows how to properly isolate a desktop program on XFCE? And if that's not possible on XFCE I am open to migrate to whatever other DE allows it.
Thanks for reading.