[A picture of private offices at Fog Creek Software] Alert! This ancient trifle retrieved from the Joel on Software archive is well-past its expiration date. Proceed with care.

Joel on Software


by Joel Spolsky
Sunday, August 05, 2001

VMWare Rocks

I've been using VMWare for configuration testing. This is a program that lets you run multiple virtual "computers" in windows on your desktop. It runs on Linux or Windows NT/2000. Each virtual computer can have any Intel-compatible operating system (Any flavor of Linux, DOS, and all flavors of Windows work fine.) Each virtual computer gets its own IP address, its own hard drive, and access to the CD-ROM and floppy, and acts exactly like a real computer. You decide how much RAM to allocate to your machine.


I've got a computer set up with a huge hard drive and 512 MB RAM for this purpose. It took all week, but I set up a couple of dozen operating system configurations: everything from Vanilla Windows 98 to Windows NT 4.0 to Windows 2000 to XP. I have entire domains running all on virtual machines; at one point I was running three machines at once: a domain controller, a machine with SQL Server 2000, and another machine with IIS. This allowed me to test really difficult FogBUGZ installation scenarios all on one computer.

The coolest thing is that you can create "undoable hard drives" on your virtual machines. So every time I ran SETUP and it didn't work, with one click I could wipe out all the changes I had made to the hard drive and go back to a pristine Windows installation. (Testing on pristine computers is essential. Otherwise you may ship an installer which works perfectly on your developers' computers, because they have all kinds of goodies loaded, but which simply does not work on typical users' computers).

This is such an excellent product that I think every tester, developer, and product support person should have it. It's also a great way to try out scary software (like Windows XP, Office XP, or the .NET Beta) without messing up your primary computer. It's a nice tool for product support: when a user calls up asking for help with a procedure in Windows NT 4.0, you can instantly boot up Windows NT 4.0 in a window and give them exact instructions for what to do. Finally, it's a nice way to run Linux software under Windows and vice-versa. I highly recommend it.

(I do have one complaint about VMWare... every time you create a virtual hard drive, it's unpartitioned and unformatted. It took me almost three days to install an NT 4.0 system from scratch, because I had the hardest time figuring out that the NT 4.0 installer requires a FAT 16 formatted hard drive. It would be trivial for VMWare to ship some formatted "hard drives" on their CD-ROM).

Software takes ten years in Russia too.


Have you been wondering about Distributed Version Control? It has been a huge productivity boon for us, so I wrote Hg Init, a Mercurial tutorial—check it out!

Want to know more?

You’re reading Joel on Software, stuffed with years and years of completely raving mad articles about software development, managing software teams, designing user interfaces, running successful software companies, and rubber duckies.

About the author.

I’m Joel Spolsky, co-founder of Fog Creek Software, a New York company that proves that you can treat programmers well and still be highly profitable. Programmers get private offices, free lunch, and work 40 hours a week. Customers only pay for software if they’re delighted. We make Trello, insanely simple project management, FogBugz, an enlightened bug tracker designed to help great teams develop brilliant software, and Kiln, which simplifies source control. I’m also the co-founder and CEO of Stack Exchange. More about me.

© 2000-2014 Joel Spolsky