Setting Up CruiseControl.NET

As an experiment, I’ve been working on setting up CruiseControl.NET at work, but I’ve run into a few annoying snags.

First of all, continuous integration rocks.  There is no doubt it is a handy tool for maintaining source code integrity.  I find it’s especially useful for code that is shared among many projects.

Now for the snags.  We have some “common” class libraries that are referenced by several application projects.  In the source tree, the common libraries are in one path, while the application projects are in entirely different paths.  This seems like it would be a pretty common scenario, but it doesn’t look to be supported by CruiseControl.NET, since you can only fetch a single SourceSafe project folder to build.

I see only two solutions:  Fetch the entire source tree from the root level, which would be time-consuming and resource-intensive, or use the SourceSafe sharing features to maintain copies of the common class libraries in sub-folders within the application projects.

I picked the latter solution.  I’m not fond of sharing code inside SourceSafe because my experience has been that it’s kind of slow and clunky.  And it adds an extra layer of complexity to the source repository, in that whoever manages the repository in the future must realize that some of the projects are shared.  But it’s better than bringing down the whole repository for each project I want to build.

We also have a disturbing number of Visual Studio 2003 projects hanging around, and I’m having a hard time setting them up in CruiseControl.NET.  The “msbuild” task obviously doesn’t work, since that’s a Visual Studio 2005 feature.  I’ve had some success with the more basic “devenv” task, but it’s hit or miss – sometimes I can’t get the build to find all the references it needs (like Microsoft Enterprise Library).

The only other solution I’ve found for those old projects is to find the time to build NAnt scripts for them, or find the time to upgrade them to Visual Studio 2005.  Time is in short supply, so the older projects probably aren’t going to be very well represented in the automated builds for the time being.

Sun VirtualBox running Ubuntu

Some time ago I wrote about the merits of Microsoft’s Virtual PC 2007.  This time I’m going to write about Sun VirtualBox, which has an advantage over VPC:  It can run Linux distros without crashing.

A few weeks ago I tried to install Ubuntu on Microsoft Virtual PC 2007 and I couldn’t get it to work.  It always crashed during the installation, throwing random glitchy garbage all over the (virtual) screen.

This time, after some Googling, I found these other free virtualization products QEMU and VirtualBox which allegedly worked hosting Linux.  I picked VirtualBox simply because it had the Sun name behind it.  So far it works pretty well.

Ubuntu VM Screenshot

Ubuntu 8.10 is shown above running rather snappily in a 256mb VirtualBox – way faster than Vista would in Virtual PC, that’s for sure.

Side rant:  One thing that bugs me about alternative operating systems is their never-ending obsession with cloning the exact look and feel of Windows.  I remember this kind of thing beginning way back in my Amiga days when everyone started trying to add “Start” buttons to the Amiga Workbench.  What exactly is the point of switching to Linux if it looks and runs exactly the same as Windows?  I personally think it’s about time to blow up the overlapping-windows UI model and start afresh.

But anyway, installing Ubuntu was a breeze.  I just downloaded an ISO, mounted it in VirtualBox, and away it went.  Now that I know it can be done, I’ll start hunting around for some other distros.  Ubuntu is nice and I applaud them for bringing much-needed UI consistency to Linux, but, as I said above, it tries to clone Windows, and, well, Windows already does Windows about as good as you’re going to get.  I’m looking to experiment with something, you know, different.

Planning a Move to Hostgator

I think I’m going to start working on migrating my home page to Hostgator.com.  It’s quite a lot faster in terms of both latency and generating PHP pages.  Omnis.com has been a great host for lo these many years but I’m getting weary of dealing with their general sluggishness.  I fully expect this to be a painful ordeal but hopefully I’m just being pessimistic.

Mish Mash of Economic Topics

This is a collection of thoughts about the economic crisis, from the perspective of someone who knows nothing about economic theory and has no intention of learning anything about such a fundamentally unscientific, faith-based system.

GM CEO Rick Wagoner.  At first glance, the prospect of the United States Government firing anyone in the private sector they don’t like should make everyone cringe and run for their bunkers.  But if you go beyond the 2-second sound bites and sensationalist headlines (RSS headline: “Obama to GM CEO: Hit the Road”), the reality is that the president hasn’t “fired” anyone.  Wagoner stepped down as a condition for receiving more taxpayer funds.  And if you do a little more research, you’ll find that this shouldn’t be controversial at all, because people in the industry already thought Wagoner was an idiot determined to run GM into the ground (see Rick Wagoner tries to catch a falling knife – and fails from July 2008).  So we as taxpayers and potential drivers of GM cars should actually be glad that Rick Wagoner was forced to leave.

New Presidential Authority.  I was skeptical about granting the president “new authority” to step in and deal with “any institution that poses a systemic risk” when he discussed it in his March 24th press conference.  (I think Bush has forever tainted any proposal that involves giving the executive branch “new authority.”)  However, when Treasury Secretary Geithner elaborated on the plan a few days later, it started to make some sense.  I think it’s pretty clear that something is broken in the American economic system, and that something needs tweaking.  (Well, actually, I think it’s human nature that’s broken.)  But I still think a better solution would be to break up these companies that are “too big to fail” and prevent them from getting that big anymore (I guess that puts me in the regulation camp).  It seems like a national security issue to me.  I mean, there’s not much difference between Chinese hackers bringing the country to its knees and greedy AIG executives bringing the country to its knees, is there?

AIG Bonuses.  It should be obvious that the recent flap over those AIG bonuses is absurd.  People should stop wasting time and energy on populist diversions and get back to the real problems of the world.  Do the people protesting AIG bonuses have any idea how much professional athletes make in bonuses – right now, in 2009, while everyone is still losing their jobs and their homes?  (I’m going to guess that no, they don’t, and they don’t care, and the hypocrisy of their selective outrage would sail far, far over their heads.)  Also, no American born since the Rebellion should be in favor of a 90% tax on AIG bonuses – that such a bill passed the House of Representatives, of all places, is a travesty.  If you really want to blame someone about the bonuses, blame Chris Dodd.  Or better yet, shut the hell up and go back to your mindless consumption of American Idol and Dancing with the Stars.

Okay, that’s enough for now.  I can only stand writing about this kind of stuff for so long before my brain starts melting from trying to assign some rationality to economic theory.