Right now I am compiling KDE under Gentoo (Linux), listening to iTunes (on Mac OS X), while writing this on Microsoft Live Writer (under Windows Vista SP1)... simultaneously on my MacBook Pro.
I achieved a software development trifecta -- I now have a laptop where I can simultaneously develop applications (without rebooting) for Microsoft Windows, Apple OS X, and Linux, which can also compile code for Palm, BlackBerry, iPod/iPhone, Microsoft Mobile, and Linux (PC, PPC, arm, and MIPS) targets.
I have finally retired my monstrous, heavy 17" desktop replacement laptop; it was far too big for most laptop bags (even the 17" bags), and impossible to use when seated in a coach airline seat. The notebook also weighed in at nearly ten (10) pounds, not counting the weight of the power brick.
After several years, I had enough and started slowly looking for a replacement that would be my primary development system that I would take with me from home, to work, and on the road. That being said, when I figured out how much I anticipated using the system, budget became less of a factor than features and capabilities.
Which led to the question: what should I get and how should I use it?
- Which host operating system? First of all, the laptop had to be capable of supporting a host operating system and multiple guest operating systems. While I prefer Linux, I've been forced to give spontaneous presentations, and found that getting the LCD panel and external monitor working at the same time on various laptops/projectors can be problematic. I never gave this much thought until I stood in front of a room full of people fiddling with my laptop and X Windows configuration files. Guest operating system has to be Windows or Mac OS X.
- Distributed Builds. Most of the time I'm chained to my dual Xeon, which is situated in a room that lacks an air conditioner. It would be fantastic to use laptop and wireless to program from the comfort of another room, and by using X Windows and distcc-- I could push most of the work of compilation onto the faster machines. I would be more comfortable and my work would be completed faster. Likewise, any new Core 2 Duo laptop I would purchase now would put the decrepit Dell Pentium D desktops to shame (that seem to be so common in the corporate environment). I could install distcc, on the Linux box at work, and could push some of the work of compilation onto the networked machines, and probably cut compilation time in half, if not slightly more.
- Automatic Backups @ Home. When I connect to the wireless network at home, I want the laptop to automatically backup to the server on a daily, if not hourly basis. The server is RAID-1 and already backed up on an hourly basis to a 1TB drive.
- Travel size. It had to be small enough to use on an airplane, and relatively lightweight. 17 " is simply to large for travel. 15" is the maximum usable size on an airline, and even that is cutting it close.
- Large Disk. Since I planned to be developing with virtual machines (VMs), it had to have a minimum 200GB drive.
- Built in Wireless and Bluetooth. I don't like carrying around USB gadgets and don't want to be tethered to a specific place.
After looking at the specs for various laptop models, I ended purchasing a MacBook Pro (MBP) at the local Apple store. The 14 day return policy closed the deal, and so far I've had the laptop for one week.
The first night was taken up by installing VMWare Fusion, Office, QuickBooks, Firefox, Skype, Eclipse, XCode, and otherwise tweaking the setup. Next, I installed Vista SP1, expecting to be disgusted. Surprisingly, I found that even operating in a virtual machine that Vista SP1 has been much improved and it is actually usable. Next was Office, Visio, Live Writer, Visual Studio 2008, and VMWare tools.
I now hit CTRL-<RIGHT ARROW> and open up VMWare and run Vista in full screen mode on that "space." I can now hit CTRL combined with the right or left arrow keys to jump between Vista and Mac OS X.
I then started working on setting up and installing Gentoo Linux. I started with a minimal install, then emerged fluxbox. After getting that to work, I started to emerge KDE and some of my favorite development packages.
Hammering the drive, installing three different operating systems under VMWare Fusion, Office, the system was responsive. The only flaw I have found is that the MBP gets hot-- when hammering the drive (compiling qt and KDE takes a while), and flipping between VMs, the laptop gets hot enough to make me uncomfortable. The can be solved with installing a utility like SMC Fan Control to turn the minimum fan speed up.
Labels: business travel, Nerdy, Tech