I recently switched to a MacBook as my primary computing platform after 8(!) years of nearly-exclusive Linux use. I’ve got some hardware issues that are nearly driving me mad, and I’m not thrilled with Apple’s lengthy projected repair schedules. That being said, there’s precious little I’m missing from my formerly-favored operating system since the switch.
During my last two months running Linux, it seemed like every software upgrade I attempted would introduce a new major bug into the system.
Oh, you turned off your Bluetooth headphones? You clearly aren’t doing anything important, let me kernel panic on you.
Wait, you’re running on Intel graphics? Let me take 30 seconds to re-render your gvim window because Cairo suddenly hates bitmap fonts.
Ah, I see you’re trying a new Xorg video driver with a different acceleration architecture to try and side-step the cairo bug. Let me introduce regular visual artifacts and an occasional kernel panic to keep your life interesting.
Trying to suspend your system to throw in your backpack on the way to a meeting, I see. Let me kernel panic, just so your managers know you can think on your toes.
Using WiFi? Surely you don’t need a connection that will persist for more than 15 minutes. Trying your ethernet port? Sorry, we broke the power management for the intel drivers four months ago so thoroughly that the only effect of plugging the cable in will be the packet collision light on your switch lighting up like a torch.
My patience was at an end.
Linux Hasn’t Changed…
Back in 8th grade when I started running Linux, I was fascinated, staying up late wrestling with video drivers and recompiling everything I could lay my hands on. There were always new things to learn, new things to fix, and exciting new developments to play with. I never did anything truly vital on my computers (though I may have thought so at the time), so I was free to break things at will.
During college, I always had access to lab machines running fairly recent Fedoras, and easy ssh access to linux servers and file shares, leaving me free to continue breaking my personal computers. By keeping all of my homework in a git repository on the school’s servers, I could easily pick up my work within 15 minutes of any disaster. Even better, I could continue working from pretty much any place on campus.
During my 8 years as a Linux user, I’ve experimented with pretty much every major distribution out there. I started with Redhat 8, moved through some Fedoras, Gentoo, Debian, Ubuntu, a masochistic Slackware phase, back through Gentoo, Funtoo, Sabayon, and finally onto Arch Linux. These are all incredibly different systems, but they all share one commonality: Things broke. A kernel bug would come in and prevent me from burning CDs. A minor xorg update would completely nerf my existing display configuration. Attempting to configure my audio to use dmix would leave me suddenly unable to launch anything that used libao.
…But My Perspective Has
Now, though, I need my computer to work every day, all the time. I can’t afford to update my system one night and come into work finding that xrandr has suddenly changed its parameter format and I’ll need to google for half an hour to just get my external monitor to work. My Mac surely has its problems, but they aren’t nearly as egregious. I get the same sort of comfortable shell environment, an awesome terminal emulator in iTerm2, a surprisingly good package manager in Homebrew, and my favorite editor in MacVim. The manpages are even up-to-date and well-written. A shocking amount of my existing experience has ported effortlessly over.
Linux will still have a proud place on my servers, where there aren’t nearly as many rapidly-changing software components. My Arch fileserver has been proudly marching on with virtually no software issues for the past four years, and shows no signs of stopping. For desktop use though, I’m afraid Linux will be taking a back seat.