Yup, I have a Mac for work and I’m not a fan, I don’t even like the look of them, much less the UX. The keyboards suck, they don’t have actual mouse buttons on their laptops (I really miss my middle mouse button), and the gestures on the trackpad annoy me. I use a Logitech mouse (MX Master 3 at work, Triathlon at home), and both are way nicer than anything I’ve used from Apple.
I much prefer my Linux machines at home. They don’t lock up, my laptop (Lenovo ThinkPad) has real mouse buttons and the Trackpoint, the package manager just works, and updates don’t take forever and a day like on macOS. Oh, and I use Docker for work, and on Linux it uses far fewer resources because I don’t need a full VM.
Oh, and I can easily add more RAM to both of my Linux machines. I am not interested in any Apple products, and them selling with 8gb RAM just makes no sense to me since memory upgrades are so expensive and must be done at the time of purchase. So screw em.
I have a Linux workstation and a MacBook. The arguments about keyboard and trackpad are personal preference at best. You can use whatever external devices you want with the Mac. I used Logitech mice with mine too.
If you want a package manager on Mac use Homebrew. It’s better than you’d expect for a system that doesn’t include a native package manager. I use docker on both Mac and Linux and can’t really tell the difference.
I bought my last MacBook with 64gb ram. It was probably overkill but I didn’t see any reason not to since you can get one refurb for essential 50% off.
It sucks that you can’t upgrade the ram, so make sure you have a good idea what you need when you’re buying the machine. Anyone buying one with 8gb is essentially buying a Chromebook. That’s not adequate for a power user like you.
Yes, it’s personal preference, but I can’t realistically use an external keyboard and mouse on an airplane or whatever. I like my ThinkPad way more than my MacBook Pro for actually getting work done. It feels nicer to type on, and my hands don’t need to leave the home row to press mouse buttons. Apple’s trackpad is nicer, but I think it’s solving the wrong problem.
That said, I have a very keyboard-driven workflow. I use:
ViM for editing
terminal for searching (macOS’ open is nice)
shortcuts for switching apps (alt+tab and `alt+`` mostly)
tmux for terminal window management
That mostly maps to macOS decently well, but there’s also random differences I need to work around.
use Homebrew
I use macports, which I much prefer.
Rant about homebrew
Homebrew feels bolted on, macports feels more like an actual package manager. Stuff keeps working across macOS releases, which is nice because o use fish as my shell and don’t want to fix that every time I do an upgrade.
Rant about macOS as a dev
But it feels like putting lipstick on a pig. I constantly have to fight builders that grab the system version of something instead of my macports one (I think I’ve resolved everything now?), especially Python. I can’t do system upgrades through it. And so on. It’s just an add-on package manager, and while it’s nice, there’s friction at the edges.
That said, I very much prefer macOS to Windows, but I prefer pretty much anything else to macOS. I would prefer FreeBSD if it had better hardware and docker support.
I use docker on both Mac and Linux and can’t really tell the difference.
Do you have Docker Desktop or CLI-only? Because IIRC Docker Desktop on Linux runs in a VM like on macOS, whereas CLI Docker ruins directly on the kernel, so it’s way faster.
Here’s some practical issues I have with Docker Desktop on macOS:
random breakage where I have to restart Docker (the VM, not an individual container) - i.e. “API version doesn’t match…” like every other week
uses way more RAM - containers are just processes on Linux
disk space is separated and needs to be adjusted if I forget to run a prune - docker on Linux just uses my regular disk
rebuilding is kinda slow - assuming a Docker Desktop issue because “sending tarball” takes forever
We have a bunch of docker containers, and I’m regularly running 10+. I feel like I’m constantly fiddling with Docker on macOS, whereas it’s mostly transparent on my Linux machines.
So to me, it’s just a crappier experience. I honestly can’t think of a single upside, other than the pretty GUI, but learning a few CLI commands is a small price to pay IMO.
And that is also my general experience with macOS. It looks pretty, but it just feels like I’m interacting with the system way too much, whereas on Linux the system gets out of the way.
Rant about macOS
Some specifics:
“snapping” Windows - macOS kinda has this now, but Linux has had it for as long as in remember (15 years?)
launcher (Alt+F2 or Meta) on KDE Plasma is unobtrusive
the system updates when I tell it to, not overnight randomly
Steam actually works for most games
Flatpak and Appimage are nice
Rant about work policy
If my work let me pick whatever computer I wanted, it would probably be a Framework or Lenovo laptop with Linux. But my options are locked down, crappy Windows (IT box) or MacBook Pro (no IT nonsense), so I pick macOS.
In fact, I think only 2 of my coworkers prefer macOS, but we use them to get around IT policies and the outside team that started the project convinced the uppers that we need it. However, as a lead, I need to be the support for our team, which means I should probably use the same devices as them.
My last job let me pick my OS, so I ran Arch for 5-ish years before switching to openSUSE Tumbleweed, which I still run today (like 5+ years now). I’m not going to leave because of Linux vs macOS and I love my team and boss, but I do prefer Linux.
Anyway, I’m kinda excited because I’ll be getting an upgrade soon. I’m on an Intel Mac, but I could get an M3 if I push, or maybe I’ll wait for the M4. I’d much rather run Linux on that hardware though.
It sounds like you want to have a mobile server, which makes sense too for some use cases. I just switched from 2018 Intel to M1 Pro Max and the difference is absurd. They were giving them away at MicroCenter refurb so I got one with overkill specs. Sometimes you can throw hardware at your problem and in this case it worked. It is faster, quieter, cooler, longer battery life, etc. I use BetterTouchTool to address some of the UI issues you noted and forget I have it until I use someone else’s Mac.
I initially set up the new machine via Thunderbolt and copied the apps, which was a mistake. That said every homebrew installed app worked. It was not too hard to purge the Intel homebrew and reinstall the Apple silicon version, and battery life got much better after doing so. Apple Silicon is a game changer. Everything I’ve seen about M4 says it’s supposed to be on TSMC N3E. Personally I’d go with whichever generation lets you get the most ram and ssd.
I’m a fullstack engineer that mostly focuses on backend, so yeah, I basically want a copy of our production app running on my work computer. I have Docker configured so it only uses 4GB or so, but when I add our frontend (1-2GB), web browser (1-2GB), Microsoft crap (1-2GB), etc, the RAM adds up, and that’s just running half of our backend infrastructure.
The silly thing is that almost all of my job is on Linux services, except our mobile app, which is React native and largely targets iOS (though we also support Android). I work across the stack so I need to be able to run all three (backend, web, and mobile).
But I have to pick and choose what I run because my 16GB system is barely enough. So yeah, I wish we would’ve gotten 32GB at the outset, because swapping to disk is by far the biggest performance issue.
Yup, I have a Mac for work and I’m not a fan, I don’t even like the look of them, much less the UX. The keyboards suck, they don’t have actual mouse buttons on their laptops (I really miss my middle mouse button), and the gestures on the trackpad annoy me. I use a Logitech mouse (MX Master 3 at work, Triathlon at home), and both are way nicer than anything I’ve used from Apple.
I much prefer my Linux machines at home. They don’t lock up, my laptop (Lenovo ThinkPad) has real mouse buttons and the Trackpoint, the package manager just works, and updates don’t take forever and a day like on macOS. Oh, and I use Docker for work, and on Linux it uses far fewer resources because I don’t need a full VM.
Oh, and I can easily add more RAM to both of my Linux machines. I am not interested in any Apple products, and them selling with 8gb RAM just makes no sense to me since memory upgrades are so expensive and must be done at the time of purchase. So screw em.
I have a Linux workstation and a MacBook. The arguments about keyboard and trackpad are personal preference at best. You can use whatever external devices you want with the Mac. I used Logitech mice with mine too.
If you want a package manager on Mac use Homebrew. It’s better than you’d expect for a system that doesn’t include a native package manager. I use docker on both Mac and Linux and can’t really tell the difference.
I bought my last MacBook with 64gb ram. It was probably overkill but I didn’t see any reason not to since you can get one refurb for essential 50% off. It sucks that you can’t upgrade the ram, so make sure you have a good idea what you need when you’re buying the machine. Anyone buying one with 8gb is essentially buying a Chromebook. That’s not adequate for a power user like you.
Yes, it’s personal preference, but I can’t realistically use an external keyboard and mouse on an airplane or whatever. I like my ThinkPad way more than my MacBook Pro for actually getting work done. It feels nicer to type on, and my hands don’t need to leave the home row to press mouse buttons. Apple’s trackpad is nicer, but I think it’s solving the wrong problem.
That said, I have a very keyboard-driven workflow. I use:
open
is nice)alt+tab
and `alt+`` mostly)That mostly maps to macOS decently well, but there’s also random differences I need to work around.
I use macports, which I much prefer.
Rant about homebrew
Homebrew feels bolted on, macports feels more like an actual package manager. Stuff keeps working across macOS releases, which is nice because o use fish as my shell and don’t want to fix that every time I do an upgrade.
Rant about macOS as a dev
But it feels like putting lipstick on a pig. I constantly have to fight builders that grab the system version of something instead of my macports one (I think I’ve resolved everything now?), especially Python. I can’t do system upgrades through it. And so on. It’s just an add-on package manager, and while it’s nice, there’s friction at the edges.
That said, I very much prefer macOS to Windows, but I prefer pretty much anything else to macOS. I would prefer FreeBSD if it had better hardware and docker support.
Do you have Docker Desktop or CLI-only? Because IIRC Docker Desktop on Linux runs in a VM like on macOS, whereas CLI Docker ruins directly on the kernel, so it’s way faster.
Here’s some practical issues I have with Docker Desktop on macOS:
We have a bunch of docker containers, and I’m regularly running 10+. I feel like I’m constantly fiddling with Docker on macOS, whereas it’s mostly transparent on my Linux machines.
So to me, it’s just a crappier experience. I honestly can’t think of a single upside, other than the pretty GUI, but learning a few CLI commands is a small price to pay IMO.
And that is also my general experience with macOS. It looks pretty, but it just feels like I’m interacting with the system way too much, whereas on Linux the system gets out of the way.
Rant about macOS
Some specifics:
Rant about work policy
If my work let me pick whatever computer I wanted, it would probably be a Framework or Lenovo laptop with Linux. But my options are locked down, crappy Windows (IT box) or MacBook Pro (no IT nonsense), so I pick macOS.
In fact, I think only 2 of my coworkers prefer macOS, but we use them to get around IT policies and the outside team that started the project convinced the uppers that we need it. However, as a lead, I need to be the support for our team, which means I should probably use the same devices as them.
My last job let me pick my OS, so I ran Arch for 5-ish years before switching to openSUSE Tumbleweed, which I still run today (like 5+ years now). I’m not going to leave because of Linux vs macOS and I love my team and boss, but I do prefer Linux.
Anyway, I’m kinda excited because I’ll be getting an upgrade soon. I’m on an Intel Mac, but I could get an M3 if I push, or maybe I’ll wait for the M4. I’d much rather run Linux on that hardware though.
It sounds like you want to have a mobile server, which makes sense too for some use cases. I just switched from 2018 Intel to M1 Pro Max and the difference is absurd. They were giving them away at MicroCenter refurb so I got one with overkill specs. Sometimes you can throw hardware at your problem and in this case it worked. It is faster, quieter, cooler, longer battery life, etc. I use BetterTouchTool to address some of the UI issues you noted and forget I have it until I use someone else’s Mac.
I initially set up the new machine via Thunderbolt and copied the apps, which was a mistake. That said every homebrew installed app worked. It was not too hard to purge the Intel homebrew and reinstall the Apple silicon version, and battery life got much better after doing so. Apple Silicon is a game changer. Everything I’ve seen about M4 says it’s supposed to be on TSMC N3E. Personally I’d go with whichever generation lets you get the most ram and ssd.
I’m a fullstack engineer that mostly focuses on backend, so yeah, I basically want a copy of our production app running on my work computer. I have Docker configured so it only uses 4GB or so, but when I add our frontend (1-2GB), web browser (1-2GB), Microsoft crap (1-2GB), etc, the RAM adds up, and that’s just running half of our backend infrastructure.
The silly thing is that almost all of my job is on Linux services, except our mobile app, which is React native and largely targets iOS (though we also support Android). I work across the stack so I need to be able to run all three (backend, web, and mobile).
But I have to pick and choose what I run because my 16GB system is barely enough. So yeah, I wish we would’ve gotten 32GB at the outset, because swapping to disk is by far the biggest performance issue.
So yeah, get more memory than you think you need.
I’d appreciate hearing your thoughts about this medium article describing the use of Lima VM for docker on MacOS.
https://medium.com/@guillem.riera/the-most-performant-docker-setup-on-macos-apple-silicon-m1-m2-m3-for-x64-amd64-compatibility-da5100e2557d