Dancing with the devil
I've finally decided to get a mac computer for myself. The main things I look for in a laptop is something that is fairly small, light, with good build quality and good battery life. In the past, a Toshiba r200 and a Lenovo x201 have served this purpose, but this time around I could not make a case for not going with one of the new airs.
A few things made this transition a bit easier. I had a 6 month stint using a mac as my main work computer, and my linux usage (I've been a linux-only user for 7 years) is not completely inconsistent with what is available on a mac: I use vim for text editing, I generally rely on mac-inspired functionality in the form of compiz and gnome-do for window management, and I do almost everything else in a terminal. OSX has all of these; what could possibly go wrong?
Well.. not really a ton, all things considered. My dotfiles repos had thankfully already had the 8 or so hours put in to making it OSX/Linux compatible, so all of my bash functions, aliases, shortcuts, etc, were ready to go as soon as I had
hg installed. Of course, getting to that point was somewhat tricky.
People talk about the fragmentation in the Linux community, but once you've chosen a distribution, there is generally one correct way to do things. Package management is the big one, and on OSX there are apparently at least 3 reasonable contenders: fink, macports, and homebrew. Last time I used a mac, I used macports, but I asked a coworker which one to use and he recommended brew, so I went with that.
Fragmentation aside, Brew has mostly worked without too much hassle. Although I am worried about having side-by-side python installations, in practice it has not been a ton of trouble. Most of the python modules I have attempted to install have worked well even through pip, which is great, because many of them (m2crypto, lxml, psycopg2, to name a few) are ones I generally rely on the linux package manager to deal with.
The major problems thusfar have been the application/window model and keyboard shortcuts. Command-tab switches between applications rather than windows, and that's generally not a hierarchy I find useful. The issue with keyboard shortcuts is that generally I cannot use some that I have become quite used to, but I know that with time muscle memory remaps to new things. Luckily, the find/next and cut/copy/paste differences have already been internalized on my previous mac adventures.
As time goes on, the lack of certain applications are going to be annoying, perhaps not for want of replacements, but because I've already invested in learning their quirks. No simple-scan, no gimp, a useless version of
top, these can get annoying. Even worse is the platforms inherent closed-ness. I am a patient man and can sort-of handle a 3.5 gig download for a C compiler and a lot of platform-specific bullshit I don't care about, but I can't help but acutely feel how anti-user closed source software is when I attempt to use something on here that doesn't quite come off properly; not only is there no real recourse, since I can't modify anything, but even the ability to determine what went wrong is generally hindered in this environment.