At this point I'll probably switch to Linux as soon as my 2015 Macbook stops working, but I would've really liked to stay with Apple.
At this point I'll probably switch to Linux as soon as my 2015 Macbook stops working, but I would've really liked to stay with Apple.
It always surprises me when people cite homebrew as a plus rather than a minus in these discussions. Compared to the experience I have with Linux package managers, I've found homebrew to be extraordinarily slow even at the best of times. A simple "brew update" will generally take at least 30 seconds; in that time on something like pacman, I'll usually not only have already finished fetching the list of updates but also actually performing the upgrades, and that's updating my entire system, not just a few userspace packages that I have installed. I can understand that some people prefer MacOS and I don't think they're wrong for doing so, but it's hard for me to believe that someone has given Linux a fair shot when they cite package management as something that Macias does better.
MacPorts is well worth a spin if you're on a Mac and have trouble with Homebrew. I switched sometime last year and am very happy. I think I've actually been using it more because I know it's not going to be a pain every time.
The biggest argument at the beginning for Homebrew over MacPorts was binary distribution and now MacPorts has that and can still compile custom versions if necessary.
MacPorts is always the first thing I install on a new Mac and has been for over 15 years. The several times I've seriously tried Homebrew, I get frustrated (terrible jargon, missing packages, spewing files all over my system, lax security) and go back to MP.
I'm up for giving MacPorts a go. But is there a pain-free way to transition between Homebrew and MacPorts, without having to reinstall everything over again? I've installed a load of stuff with Homebrew, over the years and don't fancy having to pick through it all again to try and remember what I installed and why.
If you're using Pacman (and presumably Arch or some derivative), that might explain your better experience on Linux. You're on a rolling distro so you get up to date packages (and I believe AUR gets things even quicker).
Homebrew is much closer to that rolling always-up-to-date (within a day or two usually) experience than Apt or Yum on Debian/Ubuntu/Fedora (most people's linux experience), where you have a choice between packages that are 3-6 months out of date or hunting around on the web for a 3rd-party repository to add which contains more up to date packages.
Homebrew can be slow. But the fact that I can `brew install X` or `brew upgrade X` and get on with something else while it's doing it's thing means it doesn't generally take up much of my time.
It still has a centralized list of the versions of the packages it supports (on github) though, right? I feel like it should be able to get this list with a single HTTP request to the Github API; I don't see why having a faster or slower schedule to update the packages should affect how long it takes to actually download the list of updated packages with `brew update`.
This is subjective. I think the MacOS UI looks and acts like a toy. My Linux machine has a solarised theme (I can toggle light/dark) with minimal window borders (i3, polybar). I think it's much more tasteful than MacOS. GNOME looks better too and it's themeable, unlike MacOS. But this is all of course just my opinion.
Same for GNU/Linux if you choose the hardware for it (or buy preinstalled).
What I do agree with is that on day one support might not be as good for new types of hardware (especially for more niche hardware like a fingerprint reader for example). Even that has improved a lot over the years though.
Thinkpads usually work really well out of the box (even the nipple mouse works without a hitch).
I have plenty of horror stories about other computers though. Usually involving being deep in some page tree on a company's website that they don't seem to have actually expected anyone to go to, trying to figure out which specific vendor id maps to the actual hardware I have.
I've been maintaining a Fedora desktop installed 8 years ago without a snag, updating every year or so as time permit. Not a single problem.
... until Apple decides to break an API and not provide equivalent functionality, and then you end up with a perfectly functional soft-bricked paperweight. I can't use my external USB monitor because of this.
In 2016, after getting tired of various hardware bits never working just right on Linux, I gave up and tried someone else's hardware. It was amazing that everything just worked with Linux. I didn't have to fight with bleeding-edge, just-reverse-engineered drivers. I didn't have to wonder if the laptop was going to wake up again after being put to sleep. But I chose somewhat poorly: the hardware I chose was decent, but rough. The battery expanded to the point where it warped the case, which caused the keyboard illumination to intermittently not work, and eventually made the touchpad impossible to use.
So I gave up in 2018 and got a MacBook Pro again, though it was a secondhand 2016 model. Once I installed Linux, I found that the keyboard and touchpad didn't work, and I had to build an out-of-tree driver for it, ditto for the WiFi. After that I found that audio and suspend-to-RAM didn't work. It turns out I was "lucky" that I had an older model; the keyboard and mouse setup in the 2017 and 2018 models hadn't been reverse engineered yet and didn't work at all.
In 2019 I got fed up with having to use the USB-C headphone adapter from my Pixel in order to hear sound, and to remember to shut my laptop down completely if I was going to be away from AC power for more than a few hours. I again left the Apple hardware world. It's not perfect, but again I marvel at how everything just works (with Linux) without tweaking. I hear so many colleagues complain about various inexplicable broken things on macOS all the time, and I think I've gotten the better deal.
Is Linux as polished as macOS? Of course not. I agree with you that the graphics aren't as smooth, font rendering isn't as good (though this is debatable; personally I find Linux rendering to be more crisp and readable than macOS), HiDPI support varies depending on what toolkit any given app was written with. But it works well enough. I think one of the biggest problems that has kept (and will continue to keep) Linux from going mainstream is that even though for the most part it works just fine, when it does break, it breaks spectacularly to the point that you need specialized knowledge to fix it. Fortunately I have that specialized knowledge, so I'm fine, but your average home user does not.
I don't have to deal with Apple's keyboard design issues, random WiFi failures (yes, it is incredibly funny to me to find that Linux WiFi can work better than macOS), Apple's overzealous "system integrity protection", or Apple in general deciding they know better than I do as to how I want to use my computer. It makes me happy, and I feel productive.
It is hostile platform, it should be rough. I use 14" Dell Latitude - no problems at all, beautiful machine. Probably would stay on it or try Asus ZenBook.
I have a Dell XPS 13 now, and while I like it, it's just not as pretty as a MBP. I recognize that that's a highly subjective judgment, but that's a thing that matters to me. The XPS's build quality is good, but not amazing; for example, I've had it for less than a year, and one of the rubber strips on the bottom of the laptop has been peeling off for the last few months.
Overall it just makes me sad that "hostile platform" is even a thing. At this point I've decided that the alternatives are good enough for me, and the better hardware support tips the scales in favor of them.
2) macOS is not a cloud OS. It certainly can be a portal to the cloud quite easily, via terminal, iterm2, ssh/mosh, VNC etc. But you know that already.
You can also run VMs, KVM, docker et al on it as well.