Mac for a Linux User: An Alternate Perspective

I recently picked up a 13-inch mid-2012 Macbook Air as my primary laptop. I’ve been a devoted Linux user for quite a while, and posts like Matt Hartley’s experience have made me shy away from a Mac purchase in the past. My previous daily driver was an Aspire AOD250, which is a handy machine, but was getting a bit too slow and unusable to fit my needs (I recently spent three months in California where I was away from my desktop, more on this in a future post). If you would have asked me a year ago, I would have never thought I’d either buy, or be extremely happy with, a Mac machine.

While Hartley’s post is a bit of a horror story, I’ve had a vastly different experience. I’m going to share the opposite side of the spectrum in what ultimately drove my decision, and in the end has left me a very happy consumer.

The Initial Search

I had been in the market for an ultrabook for a while, as I wanted to replace my netbook with an ultraportable that would be a bit more usable and less restricted by screen size. I wanted to wait for Ivy Bridge, and Apple’s announcement seemed like the perfect time to seriously start my search. My needs are typically just some basic software development, and my workflow is pretty much just a terminal, Emacs, and occasionally Eclipse, so I needed a machine that would fit that bill.

A No-Fuss Unix Ecosystem

OS X is, at its roots, Unix, and the terminal works pretty well coming directly from Linux. There are some small issues and missing packages, but for that there’s Homebrew, a ports system that makes installation of almost any command line binaries extremely easy. One of the reasons I’ve been drawn to Linux exclusively is the efficiency of the command line tools (Cygwin on Windows is a clunky and slow experience), and the user experience on Mac feels just as natural as on Linux.

Linux Desktop Goodies without the Desktop Wars

The fragmentation in the desktop ecosystem has been terrible as of late, with frequent, dramatic changes making GNOME 3 increasingly more difficult to use, and while XFCE is very usable, it looks incredibly dated. Virtual Desktops in Windows have always been incredibly clunky, which has always drawn me to a Linux ecosystem, but Virtual Desktops are very present and easily accessible in OS X – the touchpad makes them feel even more natural on Linux, which leads me to my next point…

The Touchpad is Awesome

No one else has gotten the touchpad right, or even relatively close, on any machine I’ve used. To be fair, I haven’t used very much of the Synaptics multi-touch beyond the crappy two-finger scrolling only drivers on some low-end laptops, so this isn’t exactly a fair comparison, but the touchpad on the Air feels incredibly natural. Gestures feel great, and using the touchpad feels like a natural extension of the desktop, instead of something that I have to be precise enough to figure out how the drivers are going to deal with things.

Little Bits of UNIX

There are very small subtle things that make me smile – the separation of a Command and Control key means you have to relearn some shortcuts, but the Control key means that almost every text field in the OS has Emacs keybindings, which makes me very happy as an Emacs user.

Screen Resolution

For me, 16:10 is infinitely more useful to me than 16:9 – even a 1440 x 900 display feels more natural to me than a 1600 x 900 display. Apple is still one of the very few manufacturers offering a 16:10 display. I’ve been extremely happy with the available screen area, and I find that the resolution is much more usable than anything else in the price range.

Stuff Works

The little stuff that typically didn’t work on Linux (Netflix, Steam (yes, I know this is changing), etc.) all work pretty flawlessly, which means I’m able to get away with not dual booting.

The Big Myth: Customization

The general consensus seems to be that Macs are less customizable than Linux, but I haven’t found this to be the case. In fact, Macs are about at the same level of customizability as Windows machines, but certain behaviors exist through command line configuration as opposed to the Windows registry. As far as non-system configuration, I found Mac OS X configurability to be far better than things like GNOME 3 – search integrated into the OS pretty much everywhere makes discovery of settings much better, too.

I faced my first two big customization hurdles for two minor annoyances: switching Fn and Control, and playing back non-supported media codecs. From what I’d read, I expected these two things to be impossible, but instead I’ve found that it was extremely simple to get working: KeyRemapForMacbook took care of the first problem, and Perian took care of the second. Other minor desires, like Aero-snap style window splitting, were easily solved with things like Cinch. On the whole, I’d say while OS X certainly isn’t customizable to the extreme detail of some Linux environments, its definitely on par with Windows, and fits my typical needs.

Some Gripes

While most of the OS X ecosystem works great for what I need, there are some issues still. First, package installation is a mess. Everything is a self-contained .APP folder, unless your application needs to write to any other folder, in which case you get an install Wizard, and absolutely no option to uninstall anywhere. Your only option for uninstalling anything that used an installer is manually deleting files. Repositories are much better for this on Linux, and while the App Store tries to do this, it’s too commercialized for me to see it becoming a standard anytime soon.

iDatabase crap. Every iApp (iPhoto, iCalendar or Calendar or whatever, etc) all use a proprietary database format that makes backing up your library impossible. Unless you use iCloud. Hmph, how convenient. Needless to say I swapped out iPhoto for Picasa and am much happier. Surprisingly, Messages (aka iChat) isn’t a terrible chat client.

.DS_Store folders are everywhere, which are even more annoying than Windows’ thumbs.db or similar. Luckily, most intelligent software (Dropbox, Google Drive, etc.) are intelligent enough to ignore them, but it still typically confuses anyone I send a ZIP file to without thinking.

Conclusion

Don’t believe the whining. I was sick of dual booting and wanted a general purpose laptop that would serve my development needs well, and this fit the bill perfectly.

I’m not suggesting it’s for everyone, and there are certainly a lot of hard-core Linux users who will certainly find things to miss. For me though, Linux has always been the most efficient tool to get development work done with, and for an all-around portable machine, this fills the same role perfectly. Linux will always have a spot on my desktop, but I’m extremely pleased with this machine for mobile development.

Posted in Uncategorized | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *