If you read this blog regularly or heard me speak, you've probably had to endure an enthusiastic rant about virtualization. I think it's a great thing that can make your life much easier. Now that X86 Virtualization is commonly available, we can run a guest operating system just as fast as if it were the only operating system running on the hardware. Nice.
The existing players have a new competitor though... and I think VirtualBox will shake things up a bit.
Here's the state of the product line up as I see it.
Xen is awesome, powerful, open source, cool... and Linux only. And you've got to be a Linux guru to install and run it. Recently it's made huge leaps forward in ease of use, but I only mention it here so I don't get dozens of emails telling me I missed ~the~ major player. It's what your IT department will use, but most end users won't.
Parallels is awesome, and largely responsible for the virtualization arms race on the OS X platform (even though Parallels runs on Windows and Linux too). They got to the Mac first and forced VMWare to play catch up. It's great for the end users when companies have these races though. Both companies have done great work. I've prepaid for the next version of Parallels because of the reputed 3D support. They have screen shots of ID Software games running. (drool).
Parallels has been the best (bar none) for the end user to get up and running. The GUI is trivial to use and the run time performance is awesome. I give my Subversion and Cruise Control talks inside Windows XP using Parallels all the time.
VMWare has been around for years. They have a big vested interest in selling their enterprise products though. So even though they give away the VMWare Player product that can run a virtual machine, creating a new machine seems to require a paid product. That means you can't grab a copy of Windows XP or Kubuntu and make your virtual machine instance. You have to download one someone else made for you. But you'll notice that I said "seems to require". I've been told you can do it yourself for free ~if~ you can figure out some VMWare voodoo. I can't, so VMWare loses out with me. If I can't easily create a new virtual machine, I'll move on.
And now the new kid on the block, VirtualBox. First, it's open source and free. Second, it's cross platform. They've got versions for Windows, Linux, and OS X. Third, it's easy to use.
I pulled down the OS X version, had a nice clean GUI installation, then pulled down a copy of Xubuntu and it just worked.
It doesn't feel quite as fast as my Parallels instance on the same hardware, but I haven't done any real benchmarking. For the money, you can't beat it. If you're just wanting an instance for testing or a LAN server instance, this is the way to go.
I should also mention that VirtualBox has a nice image snapshotting tool that lets you back up a given image before you make major changes.
It sounds like the Cobertura team has added some nice features to the 1.9 release. If you've not used a code coverage tool before, you should take a look. It's open source (so the price is right) and it'll show you exactly what your test code is (isn't) doing, which is the first step to improving your tests.
Thanks to John Lewis for letting me know about the latest release.
From the Cobertura Sourceforge page page:
We've released Cobertura 1.9! There is much improved
branch/conditional coverage and a new maxmemory attribute that can
be used if instrumentation needs more memory. See below
for the full list of changes.
-
Much improved branch/conditional coverage. Information on whether
the true as well as the false of an if statement is
collected. Also, information on the branches of a
switch statement (including the default) is collected.
(Jiří Mareš)
-
Assume Java source files are saved as UTF-8 instead of
the computer's default encoding.
-
Write all HTML and XML reports in UTF-8 instead of the
computer's default encoding (Naoki Iwami).
-
Fix a bug where the Cobertura ant tasks would not work
correctly in Microsoft Windows when Cobertura was
installed on a different drive than the drive from which
you're running ant (Srivathsan Varadarajan).
-
Added a "maxmemory" attribute to the instrument, merge
and report ant tasks (Matt Cordes).
-
Improve support for Maven and similar environments where
control over system properties is difficult such as
app servers, IoC containers, IDEs, etc. Setting the
datafile location is difficult in these environments.
To correct this, a cobertura.properties file
located in the classpath is used to properly set the
net.sourceforge.cobertura.datafile property.
(Joakim Erdfelt)
The 'pay yourself first' strategy applies to you personal technology portfolio as much as it does your personal finances. I was reminded of this tonight by an Alan Hoffler blog entry.
Alan's entry said, among other things, "We spend far too much time on our jobs, and far too little on ourselves."
Check out the rest of the entry ... and Alan's blog in general... you'll find good stuff there.
And then find someway ~today~ to invest in yourself both personally and technically. If you don't do it now, when will you? And if it's not important to you, who else do you think will step and take of things for you?
I've heard it said that if you're not using Firebug, you're not a real web developer... you're just pretending.
Since I'm only pretending to do web development myself, I'm not qualified to say, but Firebug is an awesome tool. If you're creating web apps of any kind, you should check out this free tool.
I'm not even going to try to do it justice by attempting to describe it to you. I'd fail miserably... the tool does too much for a blog posting. From it's HTML inspectors to CSS, Dom viewer, wire debugger, etc, it's an invaluable resource.
My favorite way to use it is with two monitors. The first monitor runs my browser window. The second runs Firebug (Tools/Firebug/Open Firebug in a New Window). You can also run it at the bottom of your browser screen, but I find it much less useful there. I simply can't see enough of Firebug when it's jammed in at the bottom. It's better than no Firebug at all, but once you've tried it dual monitor, you may have trouble returning to a single screen. You've been warned. :)
It's one potential drawback (depending on your shop)... it only runs in Firefox, but since FF is free and cross platform, Firebug should still be a valuable tool for the IE only developers.
Here are the links:
Firebug Homepage
FireFox add ons page
The first link is easier if you want to look at features. The second is easier if you just want to download and install.
Tonight's Agile RTP meeting features local XP guru Ken Auer.
The meeting is going to be very interactive and will feature a lot of time for audience interaction. Ken has run a local shop for years based on the XP methodolgy. He has a ton of real-world, practical advice for us on how to make the ideas work on a day to day basis.
Come join us at 6 pm at Frankie's and be sure to hang out afterwards for mini-golf, race cars, and networking. :)