Well my work desktop decided to roll-over and die last week, or at least I booted it back to our desktop support office after 6 failed attempts to boot it up Thursday morning. It was replaced with a shiny new Dell Optiplex GX620, which sounds like quite an upgrade from my over 2 years old Optiplex GX270, but surprisingly the actual specs reveal a different story:

Optiplex GX270

  • Pentium 4 2.6 Ghz
  • 2GB DDR RAM @ 400Mhz
  • 60GB PATA HDD
  • nVidia GeForce FX 5200 AGP video & Dual 17” LCDs

Optiplex GX620

  • Pentium 4 3.0 Ghz
  • 2GB DDR2 RAM @ 533Mhz
  • 40GB SATA2 HDD
  • ATI Radeon X600 PCI-Ex video & Dual 17” LCDs

In 2 years and 4 months the standard desktop spec. CPU has increased by 400Mhz, and everything is basically the same. Amazing. And so different to only a few years back when chip speeds and RAM seemed to be increasing on a weekly basis. Of course now the progression is into dual- and multi-core CPUs based on new efficient low-power architectures rather than just jacking up the clock-speed. And hard drives are still s-l-o-o-o-o-w although there is hope on the horizon in that space too (link to hybrid flash-disk drives here).

The point to all this is that it forced me to do a complete system re-build and subsequently consider the options for my development environment.  The current work I am doing is still in the .NET 1.1 space but the next project in the pipeline is likely to mark our move to .NET 2.0 and VSTS so I needed to create an environment conducive to working happily in both. I had recently setup virtual PCs for some development contractors we had in for them to use to do their work remotely and that had worked pretty well (aside from the pain of using SourceSafe over a 512kbs VPN connection) so I decided that was the best route to take.

I am now doing all .NET 1.1 development out of a Virtual PC and it works great. I’ve given the VPC 762MB of RAM to run Visual Studio in and it seems to be quite happy. I also run Crystal Reports 11 out of this VPC too, as there is a newer release specifically for .NET 2.0 work. To actually access the ASP.NET app for debug I still use IE on the host OS and attach the debugger manually, I’ve always tended to work like this anyway rather than just hitting the debug button.

I have also setup another VPC containing my ASP classic development tools for maintenance of our pre .NET apps too, leaving a nice clean host OS that I will install the .NET 2.0 & VSTS tools into for our new applications soon. It’ll also allow me to limit the installation of the Oracle client and developer tools to only the version required in each VPC, helping to keep my Oracle Home setup a little easier to manage.

Overall I’m very happy with the new setup. I also run Outlook and the other Office apps from the host OS as well as Photoshop and the like for when I need to do GUI stuff. I’ve set my host XP to use the use the Silver colour theme so I can easily distinguish between the two environments, but I set the task bar of the VPC XP to auto-hide to give me more coding room. I also run the VPC in a window that takes up the whole of my first screen and a portion of my second screen. That way I can put the solution explorer and properties pane on my second screen.

Visual Studio.NET 2003

The only thing I’d like to do to improve the setup is to add an external hard drive to host the VPC files out of and maybe add a third monitor too, you can just never have enough! The addition of a dual-core CPU would probably result in a decent improvement too but for now it’s meeting my needs nicely. We plan to start using VPC images of our different SOE builds for testing and supporting shortly too. I only wish that Virtual PC supported mutli-monitor setups better, as it is when the host OS comes out of screen lock the VPC window resizes itself to just the first screen, meaning I have to drag it back out to my preferred width each time. If you run the VPC in full screen mode you end up with some strange mouse behaviour when moving from the full screen VPC on one monitor back to the host OS on the other. Minor things, but annoying all the same.

So if you thought you couldn’t possibly work out of a VPC day to day, perhaps it’s time to think again. Just make sure you have lots of RAM (> 2GB), at least dual-monitors and maybe a dedicated hard drive depending on the tools you use.