Friday, February 20, 2004

What Has Craig Been Up To?

It's been relatively quiet of late on this blog, so I thought I would explain why. Basically, I've been writing a ton of code. Now that I've started at MSDN, my time during working hours is completely consumed. But outside of that, I have several projects that I'm working on, most notably my ExplosionMan game and a whole bunch of stuff on the FlexWiki project. My FlexWiki efforts include, among other things, FwSync and FlexWikiPad, which - if I ever get them done - should allow me to do all my wiki authoring and editing offline, synchronizing with the webserver only when I feel like it. This would be an enormous boon to the way I use wikis, as it often includes taking notes at a very rapid pace, something that a web browser interface pretty much sucks at because of all the extra mouse use required to navigate around.

Anyway, the end result is that I'm coding morning, noon, and night. Pretty much any time I'm not out running or home watching TV, I'm hacking on actual production code. That's a major difference from the days when I made most of my money teaching for DevelopMentor. Back then I'd still write a lot of code, but most of it was of the “Let's see how this particular feature works“ variety.

One of the most interesting things to come out of the shift in the type of software I write has been my personal discovery of test-driven development. As an experiment, I started writing ExplosionMan that way, and soon found that I absolutely loved it. Like many others, the main thing that I discovered was that making changes to the code was no longer such a crapshoot: I could muck around with restructuring a piece of code, and the suite of tests I developed would give me a fair degree of confidence that I'd be able to quickly tell if I broke something. Of course, I'm still early in my experience with TDD.

All in all, I've been loving the experience of writing “real“ software. I also expect - my attention span being what it is - that at some point I will feel the need to go back to a more researchy mode. What with all the Longhorn technologies coming up in the distant-but-not-too-distant future, I doubt there will be any shortage of cool stuff to learn when I get there.



  1. I would love to hear the steps you took in getting started with TDD. I am reading all I can on Extreme Programming and TDD. I would be cool to see how someone else got up and running with it.

  2. OK. I'll post something about it at some point.

  3. Craig, posting your lessons on how to build a MDX application using TDD would be the most-valuable thing you could do (IMHO). Stop everything else and start writing :-)

  4. :)

    OK, OK. Of course, I'm still in the middle of writing the application, but I have had one or two interesting experiences that I could address.

  5. Was my "Getting Started With TDD" post useful at all?