My next laptop will be an Apple

Reading time ~6 minutes

My next laptop will be a Macbook Air. To many, this may seem like a moment of sheer hypocricy on my part, so I feel I should justify my choice; I have long been a loud critic of Apple’s products. I have often loudly announced my distaste for the extra price attached to their hardware (or Mac tax), the design philosophy behind their user interface (such as window menu bars across the top of the screen), and the culture built up around the computers (including, but not limited to, the arrogance and snobbishness of most of the users).

I’ve owned several laptops now, and each has run Linux. I’ve owned a Toshiba which dealt fairly well with Ubuntu but refused to suspend and died young due to power failure, a wonderful little Lenovo IdeaPad that had the problem that its wifi would only work if the computer was booted, suspended, dumped its wiki kernel drivers, and reloaded its wiki kernel drivers, and I’m currently borrowing a Dell Inspiron 11z which has the distinct issue of Intel-based graphics drivers with no linux support and a tendency to have X lock up completely.

The thing is, none of these issues are particularly uncommon with Linux on laptops. I was once explaining these woes to Andy Keep, and he related to me a story from a Ruby conference talk he once attended:

So, a note on laptops and operating systems. If you’re running Windows, what are you doing, man? How do you hope to get any code written that way? If you’ve got a Mac, welcome among your peers. Come, join us!

And if you’re running Linux… well, keep fighting the good fight.

I’ve been fighting a variant of that fight since I was 12. I’ve used Linux, in some form or another, on desktops and laptops for nearly a decade. I’ve tried most of the major distributions under the sun (from Ubuntu to Slackware, Gentoo to Arch, and a slew of others), and I’ve wrestled with everything from boot loaders to wireless drivers.

I’ve run Linux on laptops for six of those years and I’ll be honest: I’m tired of fighting the good fight. I have, on no fewer than four separate occasions in my graduate career, had to borrow a laptop to give a presentation, due to connectivity, graphics, or other issues. And when I will be expected to attend conferences and present talks, fumbling with a laptop or being unable to do work because of my chosen computing platform are completely unacceptable.

I am in need of a new laptop, and I would like something small and light-weight with a long battery life and killer form factor. It needs to provide a programming environment, preferably have a solid-state drive, and provide a robust CLI.

I briefly considered purchasing an Asus Zenbook and installing Linux on it, and then I looked up the Arch Wiki page for getting everything configured. The items listed on the page are, as with every laptop I’ve owned, laughably complex for arbitrary reasons. The lack of Linux support by laptop hardware manufacturers is their single biggest loss against Apple in the laptop market. The entire tech industry isn’t switching to Macbooks because they want to pay extra or love the technology, but because they need software support that other software manufacturers simply are not providing.

So this spring, when I purchase a new laptop to replace my now-dead Lenovo, I will be purchasing a 13-inch Macbook Air. I’ll use github and a small package manager, and when I need Linux or heavy lifting, I will SSH.

I’m sorry. The good fight is getting to be too much.

Using LaTeX for Programming Language Semantics

LaTex is a fantastic tool for typesetting, but there seem to be a serious gapin documentation for using it to lay out programming semanti...… Continue reading

A Small ALU in Haskell, Part I

Published on April 24, 2015

The Refined Gradual Guarantee and Compilation

Published on April 15, 2015