I ran across this wonderful blog post today that made me stop and think about how unproductive I have been over the last 10 years with using Windows. Don't get me wrong, Windows is a great platform and there are great applications that run on Windows. I can't really imagine what life would be like using just a Mac or Linux box. -- I suppose its a lot easier nowadays compared to 4 or more years ago...
I have made a huge personal investment in the Windows platform. I have literally hundreds of gadgets, utilities, and enterprise-level software that I have purchased over the years and continue to try and stay updated on the latest bits. It would seem that each version of Windows causes me to have to go back and re-update everything again to fix some sort of compatibility issue -- or perhaps add a new feature that is leveraging something the new O/S provides.
I, too, must admit that I have needed to re-install Windows on multiple occasions for various reasons over the years and have spent days and weeks getting the system back to what I once had. It is really frustrating to have to go through re-installing Windows, re-applying service packs, re-updating all hot fixes and the umpteenth hundred reboots that each step requires. Then finally get to installing all my applications and go thru the same process... Finally, at the end, I have to re-customize everything to my liking... and go find where my personal files or stored... or perhaps try and remember my 8+ e-mail boxes to setup within Outlook. And, of course, you always find that you forgot to export some particular settings or file to a backup location for you to easily import into the new system. (I don't know how many times I've had to go into Outlook Express and re-add all my Newsgroup accounts and manually re-select everything again! Arrghhh)
As a result, I have recently started us vmware Workstation 6 for almost everything. Now that it supports multiple monitors, it makes it really easy to use in a multi-monitor environment without losing any functionality with using a VM.
I have created a VM for each aspect of my life (you must ensure you have valid O/S licenses):
1) VM for Visual Studio 6 with SQL 2000
2) VM for Visual Studio 2005 with SQL 2005
3) VM for Office, iTunes, RSS, Newsgroups, etc.
4) VM for Visual Studio 2008 Beta 2
5) VM for crapware software review and testing
6) VM for Ubuntu Desktop
7) VM for Ubuntu Server
8) VM for Visual Studio Express and XNA
My next phase of this will be to purchase Windows Home Server and use this to backup my PC and personal files. All the VMs will point to the WHS machine for profiles, etc.
By adopting this strategy going forward, I'm hoping to never have to spent countless weekends re-configuring my systems and applications because of a deteriorating system.