Partially automating TC22 (No, that’s not a new designer drug)

Download the source for this tool here
kick it on DotNetKicks.com

Some years ago, a short while before I started stress testing my first set of diapers, Lennon was singing “Life is just what happens to you when you’re busy making other plans“. That was just the the first phrase that went through my head when I was told, last week, that another product would be pushed through the Certified For Windows Vista process. The phrase that followed was (reproduced here in a highly sanitized form) “Oh dear, we’ll have to run Test Case 22 on every installer”.

For those lucky people who have not yet had the dubious pleasure of running this test, it goes something like this: you open two instances of Orca, once containing your installer and one containing the reference schema. Then, you go through 80-odd tables, making sure that no custom fields have been added to the standard tables, and no custom tables (and their fields) have names starting with the “MSI” prefix. It is, in short, a drag, and a necessary one at that. You can read more about it in the Certified For Windows Vista Test Cases document.

Having a low boredom threshold, I know that if we were to do such a test manually, chances are that I’d miss something, with all the ensuing hilarity. This sounded like a job for [dramatic pause] a hastily clobbered together script! [fanfare] Continue reading “Partially automating TC22 (No, that’s not a new designer drug)”

FLIRt – A WordPress plugin

The inevitable disclaimer:

This WordPress plugin was thrown together in a fit of boredom by someone who is only vaguely aware of how the API is supposed to work, and whose last real contact with PHP development was, oh, so many years ago. If you want a proper FLIR plugin for WordPress, 23systems have the real thing in the WordPress Plugins directory. The one described here is for the few, the chosen, the band of brothers (and sisters) who want a daft excuse for a plugin to take apart.

Download FLIRt here

A couple of days ago, She Who Does Web was telling me about various ways of making a web page look a bit less crap, and the difficulty of making things stand out better when the only things at your disposal are about three fonts and a bit of chewing gum. sIFR was mentioned briefly, but being a grumpy old hack, I can’t make myself plonk a Flash movie into a page for the sole purpose of displaying some pretty fonts. I said so, and then I was told of FLIR. No, I am not making these acronyms up. Continue reading “FLIRt – A WordPress plugin”

Yet another carousel control

Download the control here

I meant to write something about MEF after my holiday, but I’ve been sidetracked
for a while. One of the things that happened to divert my notoriously unstable attention was a quite excellent five day Blend course by Brennon Williams. My preferred method of writing XAML has been, so far, in a text editor, but Herr Williams was quite persuasive in demonstrating that Blend is, in fact, far, far better for the job.

As part of the course, we wrote a small application. I ended up hacking together a 3d carousel user control for this, which I felt was pretty cool, so I set about rewriting it as a custom control for future use. No, I did
not use Blend. Yes, I did notice it’s a damn sight harder to do it in pure code than it was in Blend.

Warning: This post contains some math. Continue reading “Yet another carousel control”

After the silence …

And so it’s done. Things have been quiet here for some time, and it’s not just another attack of apathy on my side this time. We’ve pushed out two new products, but I’ll let the Chief of chiefs tell you about those.

What Marlon has not mentioned is that Speed Up My PC, affectionately known as The Sump, is, as of last Wednesday, Certified for Windows Vista. The process is certainly stressful (the testing is a lot more intense than I remember the older Certified for Windows tests – but maybe that’s just my memory covering up for trauma), but not as much as I’d anticipated. .Net goes a long way through helping you do things properly. In any case, congratulations all around to everyone involved 🙂

There will be some more silence for another week or so while everyone gets some overdue R&R, and then… well, then I’ll see if there’s anything I can be bothered to write about. One problem at a time 😛

A File Organizer

If you’re anything like me, you probably have a few thousand documents and files lurking around a small forest of New Folder(n) on your desktop. If you’re anything like me at all, you probably also lack the time, interest, inclination and attention span needed to track them down, go through them, and organize them. Now, it so happened that some time ago, a friend of mine had complained of being in a similar situation; worse in fact, since more than one person uses her PC, leaving the whole thing in a mush.

It so happened that I didn’t have much to do in the weekend (note to self: get a life. Naaah…), and had been wanting to brush up a bit on WPF for quite some time, so I sat myself down and started coding. The result is this organizer. Continue reading “A File Organizer”

Reusing Cruise Control .Net Configurations on the Same Instance

The sources described in this post can be downloaded here.

This post follows up from my previous post, Configuring Projects on Multiple Instances of Cruise Control .Net. In one of the comments to this post, Elad asked if it was possible to reuse configuration files on the same instance of Cruise Control.Net. This would make sense in scenarios where you want to keep different branches of the same project integrated on the same machine without re-defining all the configuration for each. While this makes perfect sense, I couldn’t find any way to do this directly, so I tried to come up with a workaround that allows this. Please bear this in mind while you read the rest of this post. My knowledge of XML in general and Cruise Control configurations in particular is neither all-encompassing nor flawless in its brilliance, so there are probably, oh, a few million holes you could poke into this method. That said, I’m always open for comments, so if you have a better way, please share it 🙂 Continue reading “Reusing Cruise Control .Net Configurations on the Same Instance”

Configuring Projects on Multiple Instances of Cruise Control .Net

A continuous integration server is an essential tool in the box of any team – even a one man team. I’ve used a number of different servers, but in the end I’ve always come back to CruiseControl.Net. It’s a solid, no-nonsense server which has great community support. Since it supports MSBuild scripting, it lets you use almost any tool on your controlled builds; MbUnit, NUnit, NCover, and FxCop are the few I use most often, and they’re a tiny subset of all the coding goodness that can be played with. Continue reading “Configuring Projects on Multiple Instances of Cruise Control .Net”

Aspect Oriented Programming in JavaScript

Want to level up your scripting? Check out The Little Book of JavaScript!

The sources can be downloaded here.

A couple of days ago, some colleagues and I were discussing the ins and outs of JavaScript, and one of the things that came up as we talked was how handy having functions as first class objects really is. Although I’d (ab)used this feature several times in the past, I’d never really thought much about it. It was just one of those things that’s, well, taken for granted in the language. Thinking it over a bit, a niggling thought came to me – that it would be really easy to implement aspect oriented programming in JavaScript. Continue reading “Aspect Oriented Programming in JavaScript”