Recent Comments

Setting up your development environment using Virtual Machines

I have to program in a very diverse set of environments:

1. Web stuff with Django using Eclipse

2. C/C++ using either Visual Studio 6, Visual Studio 2005 or GCC, with Windows being my target

3. Objective C for the iPhone (on Mac OSX)

4.  Arduino C for my Arduino board

This leads to three problems:

First of all, the systems are very hard to setup. It takes days to install all the SDKs, set the paths right, make sure that everything works with each other, avoid conflicts. Visual Studio is the biggest culprit here, as Visual Studio 6 only works with older SDKs.

Secondly, I work on a single computer, but I need at least two different operating systems - Mac OS X and Windows.

I also need my computer  to be a laptop because I travel reasonably often to meet clients - which brings the problem, that I cannot afford to lose my code should my laptop break as I am traveling.

This is the solution I’ve settled on, and it’s a pretty good one.

Hardware

I purchased a MacBook and maxed out the RAM at 4GB (buy the MacBook with minimal RAM and Hard-drive, then buy cheaper ones on Amazon if you want to save money). I bought an extra 22 inch monitor, giving me two screens to work with (as well as two different resolutions to test with). I also got a bluetooth keyboard and mouse.

Mac OS X automatically recognizes the keyboard and mouse when I place my laptop on the desk, so I don’t need a docking station.

Software

I then installed VMWare Fusion On Mac OSX, and installed 2 XP copies and 1 Vista copy. With 4GB RAM and VMWare Fusion, Windows XP runs perfectly, I don’t notice any difference from a native install.

I then installed all my development tools on XP_Dev, and setup everything to run perfectly. All SDKs are installed, everything links and compiles properly. I made a backup of this system on an external harddrive. I setup SVN on XP_Dev, and sync all the code there with my SVN server at unfuddle.com. The Vista and other XP system are newly installed systems, and immediately after installing, I made an image copy. I put the essential stuff on (like Test Video Files), WinRar and so on.This means I can always have a clean environment for testing booted up within 10 seconds. I can also perform a Vista or XP test without needing to reboot.

It also means that I never have to reconfigure my development environment, and if I switch PC, I can simply copy my development environment in without needing to reinstall all my tools again.

On Mac OS X, I installed my Arduino Development Environment as well as XCode.

Configuration

There is nothing much to configure, you just need to disable some keyboard shortcuts in Mac OS X to prevent them from interfering with the Visual Studio shortcuts.

  • gene
    macbook with minimal RAM: clarification: the older-gen plastic case with 1G Ram can only be upgraded to 2G,
blog comments powered by Disqus