How I learned to stop worrying and love the rebuild

One of the questions I get from time to time is "don't you get tired of rebuilding your machine all the time?". Well, the answer is no. There are a couple of reasons for this. Firstly, I love playing with the toys. Secondly, and perhaps more importantly, a rebuild is not really a painful exercise for me.

Some people do all of their work inside virtual machines, and only install a base OS, Office and either Virtual Server or Virtual PC on the metal. Don't get me wrong, I love virtualisation, and I use it all the time for demos and experimentation (and now for development with VS2003), but it doesn't solve the problem of the environment getting clogged up with flotsam and jetsam from installs, uninstalls, betas and CTPs on my main machine.

The approach I take is to have 2 partitions on my main machine. I have a 90 GB drive in my A7 and it's partitioned like this:

C:\ 53 GB, D:\ 40 GB

This means that a rebuild only blows away the c:\ drive, and all of my data are preserved.

In fact, that's not the only thing that makes it easy to decide to rebuild. The thing that makes it easiest is the servers.

Firstly there's the Windows Deployment Services (link from Kleefy's blog) server. This means that I can have a new base image on the box (with Vista and Office 2007) within 45 minutes.

Next there's My Documents Redirection. All of my My Documents folder (currently about 830 MB) actually lives on a server (possibly in Singapore, but then, hey, who cares). When I do a rebuild, there's an offline copy made on my machine automatically (on the C drive by default), and the Offline Folders technology keeps the two copies synchronised. I don't have to worry about backups - that's all done for me.

Finally, there's Exchange Server. When I first start Outlook, all of my Exchange settings are automatically discovered (via Active Directory) and a local copy of my Exchange mailbox is made on my machine (again, on the "expendable" C drive). I still need to run a whole bunch of installs (as per my list), but they just run in the background while I'm working.