Back in 2003, I made the switch to Macintosh and I’ve been very happy with the choice so far.
Before I switched, my main machine was (get this) an Amiga A4000/030 running AmigaOS 3.0 and packing a 25 MHz 68EC030 and 18 MB of RAM. Supporting it were two 450 MHz K6-II boxes with 128 MB and 64 MB of RAM running Mandrake Linux and NetBSD respectively. I was never really one for bleeding edge computing!
By 2002, I decided it was time to move on. I realised I needed a laptop so I could take my “home office” with me wherever I went. I also wanted to run some kind of UNIX-like environment, since that was the most comfortable one for me outside the world of AmigaOS. As an unashamed fan of the PowerPC chip, I chucked that requirement into the mix too. Naturally, the choice was pretty limited: Apple was the only real suppliers of PowerPC laptops left. I bought one of the new 12″ Powerbook G4s, sold on the compact size and beefy spec, not to mention Mac OS X.
OS X was a marked improvement over the System 6 I used at school on Mac SEs and LC-IIs. It was a decent flavour of UNIX wrapped up in the slick, consistent UI that Apple is famous for. If it didn’t work out, I could always install one of the many Linux distributions or NetBSD, but I haven’t needed to. Now my Powerbook has been replaced by an Intel-powered black MacBook, I will eventually see about replacing the OS with Fedora and bring it back out of retirement since it’s still a very capable machine. Speaking of reviving old kit, my K6-II boxes were recently replaced as servers by one new Intel and one second-hand G4 MacMini, the latter is also running Fedora very nicely indeed.
Apple get a lot of undeserved criticism about dumbing-down, opting for form over function, and being high-priced kit. Apple aren’t really aiming at the low-end of the market, with only some nods in that direction with the MacMini. Dumbing-down? I haven’t seen much evidence of that. If anything, the Windows experience seems to be drifting more towards the patronising user-is-always-an-idiot view, while OS X realised it had grown up and is UNIX underneath, so has attracted more power users than previously. Going to Python conferences makes you realise that stereotypical Mac users aren’t cappuccino-swigging, polo-neck wearing graphic designers any more, but just as likely to be long-haired beardy programmers like me. For those who still insist Linux or any other UNIX system will never make it big on the desktop “because it’s too complicated”, I point them to OS X. Or even Ubuntu these days, now more and more non-techie friends are giving the popular distro a look and liking it.
I do feel guilty for continuing to use a proprietary OS, albeit with a fair bit of open source tech underneath, but it does provide an environment that makes me more productive. The GUI doesn’t get in the way, it’s clean and consistent, works the way I want a GUI to work, and lacks a lot of the niggles I find with various X11 windows managers and especially the clunky UI of Windows. The lack of customisation isn’t really an issue, because I don’t find myself needing to spend time tweaking different settings to attain a reasonably usable setup. Best of all, it’s UNIX under the hood, so I have a familiar shell environment containing all the tools I’ve come to know and appreciate. The best of both worlds.
On the Mac, I use predominantly open source tools. I say predominantly, because I still work with a handful of Apple’s supplied apps (Mail, iCal, iTunes and iPhoto), but there’s a great selection of open source software available so I haven’t needed to lock myself in. MacPorts gives access to a range of straight ports from the UNIX world, while Mac-native versions of free and open source software are also available. My main text editor is Aquamacs, an Aqua-native port of the excellent GNU EMACS. For my office software needs there’s NeoOffice, based on OpenOffice. My web browser is Camino, based on the Mozilla source (I’m really not a fan of Safari). I’ve got bash, gcc and other familiar GNU development tools, Python, VirtualBox, MoinMoin, Apache, PostgreSQL, source control via Subversion / Mercurial / git, FileZilla, Adium, X-Chat Aqua and more. And for those times when MacPorts or native versions don’t fit, I can always compile software from source.
The switch to OS X has also re-introduced me to a world that I’d only had limited experience with: NeXT. I was fascinated by NeXT and carried that interest onto NetBSD using the WindowMaker window manager, a personal favourite of mine, and the GNUStep free software re-implementation of OpenStep. Cocoa, as OpenStep has become, is a very nice API indeed and I admit to liking Objective-C, because it feels a lot cleaner than equivalent languages like C++ or Java. This interest in Cocoa and Objective-C has fed back into my Linux world, with me taking a look into technology such as Etoile, GNUStep, The Cocotron and WindowMaker.
So yeah, I’ve been a very happy switcher.