Linux Rescued My 2010 MacBook Pro
I’m a frugal dude. I don’t play many games on my computers. When I make a several thousand dollar investment, I enter into it fully expecting to nurse it along for as long as possible, and so I try to extend my purchasing cycle on computers to the maximum extent.
As a programmer, this isn’t often possible, especially if you do any kind of mobile development in the Apple ecosystem. I do both iOS in Xamarin and XCode (Objective-C, though I’m learning Swift finally), but that only covers about 10% of my workload.
For the most part, I’m developing in C#, NodeJS, PHP, and occasionally ColdFusion. I do a raft of other stacks, as well, but my primary commercial development is usually in one of the above.
So using balenaEtcher, I created a UEFI installer flash drive of the latest Ubuntu 21.10 ISO on my production Mac. Holding down the Option key at boot on the 2010 MacBook allowed me to select the installer at load.
Ubuntu has a relatively easy install process, and it can include most of the commonly used components, like Firefox and LibreOffice. I use mostly Office365 and the G Suite stuff when I’m connected. It also picks up on and runs with nearly all of the MacBook components, like its specialized keyboard and graphics cards, though it does not take advantage, so far as I can tell, of this 17″‘s dual graphic card options. Not that I particularly need that feature.
Visual Studio Code installs and works.
Docker works with few limitations, though I miss the cute GUI on Windows and Mac.
I was able to install the latest version of the .NET 6 SDK.
Microsoft Teams is also now available for Linux. Both Microsoft products would be a little bit challenging for someone not versed in Linux and how to install packages, but I think it’s safe to assume that someone with a reason to use Microsoft Teams on Linux would be savvy enough to get there.
It’s not a complete slam dunk. I learned quickly with containerized MangoDB implementation that there may be limitations. MangoDB 5.0 and higher requires Sandy Bridge or higher Intel processors. This is fine. My project in this case, at least for local dev, can exist on 4.4. It doesn’t bother me to have an ignored local yaml file for development on this machine.
Why does this give me hope? Well, the biggest reason is my beautiful, 5K 2017 27″ iMac that is my primary workstation. Monterey is quite fast on it, and most of the features that require the M1 chip are ones that I do not need. Portrait mode on FaceTime? If only I used FaceTime. Airplay to Mac? AirServer or Reflector fits my needs, and works with devices outside of the iOS ecosystem.
As I’ve experienced before with 68K and PowerPC Macs, while they do enjoy a decent level of support post-transition, Apple’s goal is to move the consumer user into new hardware. My G5 iMac was only good for about two years after the Intel transition. At least with the Intel platform, there was some sense that I could transition to Windows, but alas, Windows 11 will not run out-of-the-box on my BootCamp implementation because a machine made in 2017 doesn’t meet Windows 11 TPM requirements.
I’ll nurse it along as long as Apple maintains updates for it, and so long as I can do XCode development on it for iOS devices. When the day comes that it’s obsolete, I’ll move to an x86 version of Linux, I’m sure.
One thing I am acutely aware of are some security issues, and that’s something to be aware of if you’re nursing along hardware like mine that’s pushing 12 years of age. I don’t keep PHI or PII from projects on my local workstation…a good habit to be in even with newer hardware.
If I can just get Manuskript to work, or that beta Linux version of Scrivener, I’ll have a traveling workstation that I can get by on.
I’ll continue to test other features, like Zoom and utilities I may need to be productive as a coder. In the meantime, I’m heartened that there are Linux distributions out there that can keep my sticker-laden, road-worn Mac alive.