Warning: This post is very computer nerdy
It is honestly amazing how much can be done with virtualization these days. Right now I am typing this in a virtualized WindowsXP running on my MacBook (using Parallels ). When I want to control my other PC I then run Remote Desktop Connection (within my virtual XP session).
At work I find myself running a virtualized Win2000 session remotely via RDC (the reverse of the above situation) which in turn is used to connect to a remote VPN (Virtual Private Network).
Also, I will soon be setting up a separate virtual machine to run Apache+PHP to host a Wiki which I am hoping to encourage people to use for internal documentation (as a replacement for the abominable Sharepoint). This will be run on Windows since we have not a single Linux box here, and not a soul interested in maintaining one.
In all cases of running these virtual machines, it is quite convenient to have them save state rather than shut down, and for some reason this seems to work faster and easier than, say, hibernation on a non-virtual PC. When virtual machines come back to life, they are in exactly the same state they were when closed, so there’s no additional login or startup delay (less than 4 seconds to bring to life from a saved state).
With Microsoft’s free VirtualPC 2007 it is possible to dynamically resize the desktop of the client OS, as well as copy, paste, share folders and drag files between host and client. Why run a real OS when can you have several virtual ones?