In August I posted about abandoning my MacBook Pro in favor of a Linux desktop machine for daily use. I’m six months into this now and have settled into a very nice workflow. I still keep my MacBook Pro updated and ready just in case it is needed but I haven’t needed it for anything in at least two months.
For the iOS apps I support I turned my Mac Mini into a server and set it up to do automated builds when new code is checked into git. It’s a nice and clean solution and since everything is automated it just works. I also spun up a new virtual machine on my VMWare host and setup Linux to provide the same type of build services for Android apps. Yes, I should have done this a long time ago but the manual workflow worked fine and projects needed attention and honestly the momentum was strong.
I have had few issues with my Ubuntu based Linux desktop. It boots quickly and is very stable. I haven’t had a single crash during the six months I’ve used it. But there have been some issues.
TeamViewer is flaky.
I use TeamViewer whenever I need to connect to a customer’s desktop machine and on both Windows and Mac I never had any significant issues. However, the Linux version seems to have some bugs. The most annoying one is it will sometimes just hang if I am watching a Windows user on the other end. As long as I am the one moving the mouse and typing on the keyboard it is fine but if the user on the other end is walking me through some issue they’ve encountered the display eventually freezes and I have to disconnect and reconnect to get it working again. I have only noticed it when connecting to a Windows 10 machine.
It’s not a problem for when I need to do something to fix something but it is a pain in the ass if the user on a Windows machine needs to show me something. When my yearly renewal of TeamViewer approaches in the spring I will evaluate possible replacements because I am not going back to Mac and using Windows as my daily machine is a non-starter.
MySQL Workbench has several problems
It hangs, stops displaying results, sometimes only pulls rows in read-only mode for no discernible reason, etc.
Fortunately, this is a very minor annoyance for me because I use the mysql client 99% of the time. The one thing I like using the workbench for is monitoring connections while trying to diagnose a problem with a half second refresh. It’s a crutch I know but in the heat of the moment of chasing down an issue momentum takes over.
A few people have recommended I look at DBeaver and at some point I might but since I do almost everything related to MySQL and MariaDB via the command line it feels like a waste of time to learn a new database gui tool.
Everything else has been the same or better than on my MacBook Pro
For the majority of what I do the user experience on my Linux desktop is as good and in some cases better than on my MacBook Pro. KVM does an excellent job hosting virtual machines for development. It is extremely easy to move VMs between my development desktop and laptop (also Linux) machines without missing a beat. As a Docker host my Linux boxes run circles around my MacBook Pro. And in my opinion, the way VPNs are managed in Linux is far superior to the Mac. Since I use a lot of VPNs this difference has actually saved me a lot of time.
I thought I would miss Homebrew but I haven’t, not once.
In fact, the only thing I have had to use my MacBook Pro for recently was to reset my iPhone using iTunes. It was the first time I’d been on it in a while and the user interface felt comforting but also alien at the same time. I have little doubt if I was a graphic designer I would still prefer the Apple ecosystem. But for what I do, how I work, the customers I serve, there is no compelling reason for it. I can everything need to do on a daily basis on Linux and I just don’t see anything on the horizon pulling me back to Apple.
I know there are many who swear by Apple and there are many who swear by Windows… but being pragmatic I’ve settled into a very productive daily workflow and see no reason to go back and many reasons to stay put.
Right now, my biggest concern is my proficiency with MacOS will start to atrophy and affect my ability to support and update iOS applications. To counter that, I have started building Ansible playbooks for all of the setup and configuration tasks I’d need if I had to wipe and rebuild either the MacMini or the MacBook Pro or even a Mac rented in the cloud somewhere.
Oh, and by the way, one of the major reasons I looked at options other than Apple was because of the CPU throttling on my MacBook Pro… well on Linux I don’t have that problem and have not had a single performance related issue since the move. Things compiling in the background, VMs humming along and everything in the foreground remaining snappy and responsive.
I see no reason to change a thing at this point.