VMWare version 4.0 is out. You’ve already heard my raves about this brilliant program in the past; I simply couldn’t live without it.

VMWare LogoThe new version adds the ability to store snapshots of the virtual computer’s complete state, including RAM and all hard drives, and instantly jump back to the snapshot whenever you want. Now, instead of having a blank Win 98 machine ready to boot up at any time, I have a blank Win 98 machine that is already booted and logged on, ready to restore at any time. This actually saves a significant amount of time while doing configuration testing.

I have one complaint about the new version: for some reason, there’s a new CMOS, whatever that means, which meant that when my old VMs woke up, they had to rediscover all their hardware from scratch. This was a major nuisance with Windows 98, resulting in a flurry of Plug ‘n’ Play hell. I gave up, throwing away my Win 98 OSes and recreating them from scratch, a serious annoyance (especially since I have VMs running in languages which I don’t understand, so I can’t really tell what they’re yelling at me about.) The Windows 2000 and Windows XP VMs seemed to handle all the Plug ‘n’ Play rediscovery transparently.

Last Friday afternoon, you may have noticed that this site was down for 10 minutes or so while we rebooted the server a few dozen times to apply the latest Microsoft patches, flash the bios, reseat some memory, etc. It occurred to me: what if, instead of running a conventional server, you ran your server in a VM? So everything my server does would actually be running in a virtual machine on the server. That has five interesting implications:

  1. I could make a snapshot of the complete machine state. If anyone hacks into the machine, installing trapdoors or defacing the website, a single click gets us back to a known-good condition. The catch: you can’t keep any frequently-changing state on the server. Easy fix: run another VM as a file server for your frequently-changing state (like web log files, mailboxes, etc.).
  2. You can split up functions among different VMs without buying more hardware. Isolate your mail server from your web server from your DNS server, all on one machine.
  3. When I need to install an OS patch or even an entirely new operating system, rather than rebooting, I would simply apply the patch to a new, identical copy of the virtual machine running on my desktop computer. I could copy the new VM up to the server, stop the old VM and start the new VM at the same time. Net effect: you can replace the whole operating system on a live server with only seconds of down time, zero risk that the new OS won’t come up, and only one physical box.
  4. If anything goes wrong and you need to swap in different hardware, all you need is some kind of box that will run VMWare. Solutions like Ghost won’t quite work because the ghosted image may not have the right device drivers for the replacement hardware.
  5. Everything runs emulated, so you’re paying for all this convenience with a lot of CPU cycles.

Anyway, VMWare has a server product, about which I know very little, but it probably lets you do all this and more and I think it’s going to be an increasingly standard policy of good system administrators to build servers as VMs for all but the most CPU-intensive applications.


Internet Explorer 7.0

Interesting things are going on in the browser front. Slashdot has discovered an off-the-cuff remark in a chatroom by a Microsoft employee claiming that “IE6 SP1 is the final standalone installation.” Little surprise; there has been virtually no work on the IE web browser for a couple of years now and it looks like Microsoft has no interest in spending resources on a battle they already feel they’ve won.

Meanwhile the Mozilla and Opera teams were getting bogged down in ground-up rewrites, oops, so there was little or no serious competition and IE climbed in popularity until today we have more than 90% of the world using Windows IE 5 or 6.

Where it gets interesting, is, approximately, today, because, for the first time, the Mozilla Firebird browser has finally caught up with Internet Explorer. After downloading virtually every Mozilla release over the last three years, this is the first browser I’m actually going to make my default web browser. All the little problems are fixed. It loads fast. It’s not ugly and clunky. My beloved Alt+D/Ctrl+Enter work perfectly. NT challenge/response authentication is supported. And there are new features, too: tabbed browsing, which is better than it sounds. Incremental search, which is brilliant and I already can’t live without. Text size adjustments that always work. A download manager. Excellent cookie management. Oh, and no more whack-a-mole, the reason I’ve been trying to switch for so long in the first place. Bravo! Now with a good code base to build upon, Firebird is likely to soar past IE in functionality and performance. With some real competition, perhaps Microsoft will again have an incentive to make improvements of their own. Maybe, after 5 years, Microsoft will care enough to make text scalable. Maybe they’ll finally fix the bug that causes 99% of web site icons to be lost. But they probably won’t wake up and notice that they have real competition for a long time, and in the meanwhile, we may once again have a two browser world.

What about AOL?

Meanwhile, Microsoft has settled the lawsuit with AOL, agreeing to pay AOL $750,000,000 in a complicated deal that allows AOL to continue to use Internet Explorer for several years. I’m not sure why the second part is interesting. Everybody in the world is allowed to use Internet Explorer; it’s built into Windows and open to all developers as a component. I suppose one possibility is that Microsoft plans to not make IE available to all developers as a component in some future operating system, and AOL wants to make sure that won’t affect them. Considering that AOL spent $4.2 billion to buy Netscape, you’d think somebody would have noticed that they already have a browser component. Aha, but they don’t. The Internet Explorer component is so much easier to embed in applications than Gecko that it probably comes down to the programmers on the AOL client team who just don’t want to undergo the pain to embed Gecko. Now, if you’re a programmer at AOL working on Mozilla, and you like your job, you might want to think about what it’s going to take to make your happy little division actually useful to AOL so you aren’t jettisonned. My highest priority would be to implement Mozilla as a COM control that supports the same embedding interfaces as IE, so that the AOL programmers can switch to Gecko. Oh, look! There is one Netscape employee, Adam Lock, working on this! And he says, “be advised that these ActiveX related projects are my own personal efforts and have absolutely nothing to do with my employer. I work on them when and if I have the time.” Yo, Netscape employees! This poor sod Adam Lock is working in his spare time to save all your jobs. Wake up.