A Workspace That Works with Everything

One of the problems I've always had with the setup of my computer is
that each operating system has one thing I want that it does best, and I
would have to either compromise in one or reboot to the other. On Linux,
it's the development environment - I've always been most productive in an
environment with a usable terminal and minimal UI. On Windows it's the
media software available (and the games); I can't live without Winamp (and
sometimes iTunes) for their device syncing capabilities and excellent
playback capabilities.

With the last round of upgrades to my primary desktop (a quad-core i7
and 12GB of memory) I've finally reached the point where I can have what
I've always wanted: a reliable way to run a complete development
environment and simultaneously use the Media software of my choice on
the same machine.

My system currently runs the following:

  • Windows 7 Ultimate as the host OS
  • VirtualBox 4 running the following 3 VMs (all Ubuntu 10.10)
  • A file server running Greyhole and Samba for redundant storage accessible from everywhere
  • A network core VM for locally hosting network services such as DNS and NIS. (oh, and a Minecraft server)
  • A development VM with the appropriate toolset for PHP development (Netbeans 7 and Firefox).

The features that make this all work:

  1. VirtualBox supports multiple monitors, so my development VM can span
    both my monitors, or only one if I need some windows-only tool on the other.
  2. Windows is the host OS, so it has all the access to the hardware it needs
    for device syncing with my Android phone and my iPod Touch. It's also a
    plus when I want to do some gaming; I can close the development VM to
    free up resources and since VirtualBox saves state it takes mere moments
    to bring it back up when I need it (typically under 30 seconds.)
  3. Ubuntu has excellent support for running in a VirtualBox container. I haven't
    had any issues with the VirtualBox guest additions and drivers.

In short, if you have a powerful enough machine, you can get the benefits of both
Windows and Linux simultaneously without having to give up anything due to
VirtualBox's great support within Ubuntu.