Having multiple computers used be almost an necessity for programmers especially for those who deal with the internet/web-based development that requires the product work on multiple browsers and operating systems. Putting multiple OSs on a single computer and booting between them only takes you so far. Because of his, I often found myself with 2-4 machines at any given time. However, with the advance in virtual machine software like VMWare, it doesn't make as much sense to have many physical machine especially if some aren't used that often. So this weekend, I decided to start reducing the number of machines I have by converting one of my windows xp boxes into a virtual machine running inside linux.
I went with VMWare Server since it allows me to create a new VM rather then having to use an pre-built image (and MS isn't going to allow XP images to be handed out). Setting it up on my Fedora Linux machine was as simple as installing the RPM package. Once I did, I just had to create a new VM and boot the XP cd. VMware Serve 2.0 now uses a web-based interface rather its own native stand-alone app. I'm not sure how I feel about this, but it worked okay mostly. Sometimes the web interface responds slowly and it doesn't seem to start up on server reboots correctly so I have to manually start it.
Setting up windows xp on in VMWare is like setting it up on any computer: put in the CD, start the VM and go through the normal install flow. Since Windows XP have product activation, configure the VM with the hardware configuration you want first (memory size, audio and hardware settings, etc) and then activate the installation. Since activation only check at the time of installation, you can copy the VM image and install different apps on it without having to re-activate.