Friday, September 23, 2011

Macbook Pro as the Ultimate Dev/Media PC

I’ve had a Macbook Pro for about three years now, and I’m a definite convert. I run Windows for all my .NET/COM development work (MSSQL, Visual Studio, etc), but for personal media the Mac can’t be beat: rock solid on video capture and editing (iMovie), photo organisation (iPhoto), and GarageBand is a free multitrack recorder/sequencer with professional quality instrument samples. (And that’s just the start …)

Unfortunately, my old (and first ever) Macbook suddenly died (motherboard), and this experience highlighted the shortcomings of my backup strategy. I was prepared for a hard drive failure – had images and data backups of everything – but when you are forced to get a new machine, you often want to start fresh rather than restoring an old and cluttered OS from a different hardware set.

After spending many hours over the course of a week installing software and settings to my desktop PC to cover me while the old laptop was at the shop (7 day wait!), I knew there had to be a better way.

This is the recipe:

(1) Macbook Pro 15″ (bottom of the range): AU$2070

(2) Solid State Drive

I researched SSDs enough to know that cheap ones are worse than mechanical drives.  Then I ran across Jeff Atwood’s first post on SSDs (here  is the latest post, with links to the previous two, and a warning). All up, the Intel X25 series (approx AU$350) was the most reliable and appropriate (Crucial make a faster but less reliable model, but it really requires SATA 3 to do its thing).

AU$160 to get the Mac shop to install it to the new MBP without voiding the warranty. Holy cow, these things fly ! I’ll second all the things Jeff said. My ‘fast’ desktop just went to being slow as treacle by comparison.  I’m running every dev tool known to humans on the Windows VM and it starts up in about 20 seconds.

(3) Oracle VirtualBox

I was previously running Windows using Parallels for Mac using the Boot Camp partition (the physical disk). I had heard that running off a virtual disk was actually faster.  But the initial problem was that I needed to use my Desktop for a week between laptops, and it’s a PC.  I could shell out another $80 for Parallels for Windows, but a friend recommended VirtualBox, which runs under OSX, Windows AND Linux.  And is free. What’s not to love ?

So I installed Virtualbox on the Desktop (under Windows XP), fired up an XP image and started installing software. After upgrading the RAM to 6Gb, I realised that XP wasn’t going to recognise most of that (the 3Gb 32 bit limit … doh!).  But since the action was happening on VMs now, I grabbed a copy of 64 bit Ubuntu, and in about 40 minutes was installed and running windows on VirtualBox happily under Ubuntu with my full 6Gb quota of RAM.

So VirtualBox does not have all the creature comforts of Parallels, but frankly I had found most of that to be window dressing anyway, and had been thru upgrade hell each time I tried to update to the latest Parallels.  VirtualBox is stable, fast, and I can use the exact same VM image on Mac, PC or Linux in the time it takes me to copy the 35Gb VM image.  Machine dies ?  Hard drive dies ? No problem.

(4) Dropbox

Having been using Mozy for a while, and having a free Dropbox account (2Gb) I realised that Dropbox provides effectively the same backup service as Mozy/Carbonite without all the drawbacks. $99 a year will get you 100Gb of space – more than enough for non-media storage (with a few shared photo folders for the extended family).

So I now install Dropbox with the Dropbox folder on the root of the drive, and just store everything in there. Real-time, secure, offsite, web-available, remote-synced backup.

As an aside, when setting up the VMs it pays to use separate virtual disks for data and OS – just create and attach two disk images. That way you can back up the VM once a month or so to capture your latest program installations (by simply copying the image file), but have all your data on a separate drive backed up live with Dropbox or the backup solution of your choice.

There you have it.  The ultimate work/media machine, fast as anything, development PC fully virtual, fully backed up.  If the machine or drive dies, you can be up and running on a clone of your dev PC VM on an alternate machine within about half an hour, depending on how much data you need to pull down from Dropbox to get the ball rolling.