Using better tools is good. In this post I want to take a look at a better workbench to use these tools, the machine itself. XP or Vista are not bad, far better than the Windows 98 days where failing to set a property would be enough to plunge Delphi and the complete machine into a blue screen. But there is still room enough for improvement.
I needed to set up a new laptop whose primary activity is doing software development. Being able to use it as mobile DVD player and photo store for holiday is a welcome extra but comes second. My first idea was an iBook, as many people have blogged quite good experiences using one. But instead I took a different road and assembled myself a plain vanilla laptop running 64 bits Windows Server 2008. I’m by far not the first doing that, there is even a website dedicated to the subject. My own experiences are that good that I would like to share how I got my machine up and running.
The software which has to run without any problem:
- Visual Studio 2008
- Resharper 4.1
- Visual SVN
- MS Office
- A mix of of one or more virtual machines running Server 2003/2008 SQL server 2000/2005/2008
The latter immediately brought Windows Server 2008 into the picture. I have this running for some time now on my office server. Hyper V works like a snap and it hosts all my virtual machines now. Having Hyper V on my laptop would give me the possibility to take any of these with me on the road. Running virtual machines loves a lot of RAM. So I decided to go for 64-bits Server 2008 (32 bits has a RAM limit of 3.2 Gb) <update>32 bit windows can address more, see the comments. Hyper V requires 64 bits</update>
For hardware I chose a Dell XPS 1530. This machine is advertised as a multimedia machine. It has terrific specs, not the least being 4 gigabyte of RAM in the standard configuration. It offers absolutely the best value for money. I picked the fastest (not the largest) hard disk, the big battery, the best graphics card, a 2.5 Ghz double core CPU and ended up with a price tag which was below any competing model, including the other Dell models. Noteworthy is the disk drive which is, just like an iBook, just a slot to insert the disk.
The machine comes with Vista home premium. After booting it I soon hit a lot of Symantic and other bloatware dialogs. Having convinced myself the machine was working well I inserted the server 2008 disc and fired off the installation. I did a fresh install on the allready present OS C: drive. The install itself went without a glitch.
But a lot of the hardware was not recognized. Now came the hard part. The good thing about Server 2008 is that it has the same driver model as Vista, so you can use Vista-64 drivers. Supplied is a Dell driver disk, but that was not much of a success. As said before, I’m not the first one doing this, right here is a full overview on installing Vista-64 drivers on a Dell XPS. Which works for everything except for Bluetooth. Stev Graegert also has published a lot of experiences as well, he has a solution for that.
Special attention is needed for the Video driver. It is a nVidia Geforce. Lots and lots had been said on these drivers and lots of driver updates are available. The most recent one with the modified inf file worked for me. But this information gets out of date very fast. The important thing is that the drivers do work. The downside is that video performance is not always that good.
You can give Server 2008 a Vista UI, complete with Aero. To do so follow these steps.
Switch on the feature desktop experience
Change the startup type of Windows theme service to automatic
- In personalize set the theme to vista
In personalize set the color scheme to aero
Now you have the full Vista Aero "Experience" with transparent borders and flipping windows. But the downside is that it completely cripples performance running Visual Studio, especially using a secondary monitor or a remote desktop. Thank goodness setting the color schema to "Windows Vista Basic" makes performance quick an d crisp again. By far good enough for development.
To get the sound enabled you have to set the startup of the Windows Audio Service to automatic.
To get the wireless network working switch on the feature Wireless in the server manager.
To get a good user experience I disabled UAC and IE SEC. The latter is a very strict safety net for internet explorer; it’s the one which keeps and keeps on asking whether you want to add a site to the list of safe sites. IE SEC can be quickly disabled in the server manager, it’s under server summary – security.
Add the role Hyper V to enable virtual machines. Before it will run you have enable virtualization in the BIOS of the computer. On my Dell that was disabled by default. After enabling it Hyper V behaved well. In the current 2008 distro you have to explicitly update Hyper V to RTM, at this moment that is not included in the automatic updates yet.
I have migrated several kind of virtual machines to hyper V. Migrating them from Virtual Server was a breeze but migrating them from Virtual PC was no fun. Before migrating a virtual PC first uninstall the virtual machine additions while still running under Virtual PC. Remove all network adapters as well. The underlying Hyper V and VPC driver models are quite different and they don’t understand each other that well. A virtual PC booting up in Hyper V will think it is running on completely new hardware, it will require a new activation. Which is quite a problem without any working virtual network adapters… For one of my VPC’s (server 2008 running sql 2008) it was easier to create a new virtual machine instead of fiddling with the configuration.
Battery life of the laptop is very very good. On a recent trip I worked over 2 1/2 hours on a big solution in VS with a lot of Resharper analyzing and a virtual sql server running in the background. After that the battery meter indicated I was only half way. Very very good. The downside of the machine is that Hyper V disables all power management functionality like sleep mode or hibernation. Booting takes a couple of minutes. How long exactly depends how many virtual machines are booted at startup.
Hyper V completely takes over your machine, it is sitting between the host OS and the hardware. I think this has an influence on a configuration issue. In Windows server you can set performance to give priority to programs over services; several people advice you to use that setting. In my initial battle with the video performance I did try it, but the problem only got worse. An educated guess is that under Hyper V everything, including the video performance of the host OS, is treated as a service. I don’t really know but can only advice you to be careful with that setting.
That’s it. Now I do have a very nice laptop. VS works very very well, even more when you realize it is a 32 bit app running on a 64 bit OS. Also Resharper and Subversion (which does have a specific 64 bit version) behave excellent. The virtual machines are terrific and communication between them and the host is fast and snappy. The most noteworthy is the smoothness of the system. Never a long wait and always very responsive.
Server 2008 is a great OS for a developer. The server manager is a very nice way to explore and configure the many features and roles it does have to offer. Compared to my previous Vista laptop it feels again like the days when I was running NT workstation (version 3.51 with the shell upgrade instead of Windows 9x. The big difference is that Vista does not crash. The downside of the story is that there is no such thing as WorkStation 2008. I’m running an MSDN licence of Server 2008 standard but I don’t know what to advice a non subscriber as the pricetag of a Server 2008 licence with Hyper V comes closes the the price of the hardware itself.
On top of all of this my Dell still is a good multimedia machine as well. Instead of booting Workstation 2008 pressing the multimedia button turns the laptop into a holiday DVD player. I guess I still have that because I started my install from within Vista. I havn’t dared yet to let the media player do anything with windows settings yet. I’ve read one message complaining that might ruin the MBR (master boot record of the hard disk). That story didn’t tell if the media player stuff was installed after installing 2008. Which sounds scary to me. Any advice on what (not) to do is welcome.
So if you have a MSDN subscription and are looking for a fast, smooth and stable development workbench just go ahead and get yourself a Workstation. Big chances my desktop will follow.