Wednesday, January 26, 2005

Build Lights Code

A few people asked me to post the code for the service I wrote that runs the Build Lights system I built. I did: it's here. Enjoy.

Monday, January 24, 2005

FlexWiki Up for a Jolt Award

The 15th Annual Jolt Awards finalists have been announced, and FlexWiki is on the list in the “Web Development Tools” category...cool. Since this is how I spend a pretty good chunk of my spare time, I don't think anyone will blame me if I feel a little proud. Of course, I can take barely any credit for the web part of the product - my work has mostly been around the build system, project administration, and various and assorted tools.  

Build Lights

Inspired by Bubble, Bubble, Build's in Trouble over at Pragmatic Automation, I set up something at my client that is extremely cool. And by “cool” here, I mean “almost painfully nerdy”.


Basically, I've hooked up a series of colored lights to our CruiseControl.NET build. Via X10 automation, I turn on red, green, and/or yellow lights based on the status of the build. It looks like this:



Since I put them up on top of my cube, the lights are visible across most of the part of the floor where my team sits. I already find myself looking up to check the status whenever I arrive in the morning.


The reason that two lights are on in this picture has to do with the semantics I attached to the signals. The red and green lights indicate whether the last build was successful or not. The yellow light indicates that a build is in progress. I could have shut off the red or green light while a build was running, but I thought this way added a little more information while still being very easy to understand at a glance.


It was actually pretty impressive how easy this setup was to get going. After ordering an automation kit ($99 from http://www.x10.com), downloading the free SDK, and stopping off at Target for some cheap lamps and some bulbs (about $25), some simple perusal of the samples showed that it's basically one line of very easy-to-understand code to turn each light on or off. Monitoring the build was only slightly harder: I just used cctraylib.dll from the CruiseControl distribution to poll the build state. That was maybe 20 more lines of code. Rolling it all up into a service (so it will continue to work when I'm not logged on) took me about 90 minutes total.


The kit came with a bunch of other stuff that I'm not using, like remote controls and a motion sensor, so I probably could have gotten off a little cheaper. But when I finish my gig here, I'll take the whole thing home and find a use for it around the house. Hopefully something equally nerdy. :)

Friday, January 14, 2005

MSDN2 Article Available

Tim points out that the first MSDN article in a series about how we designed and built MSDN2 is out. Have a read if you're into that sort of thing.

A Nerd's Halloween

I get a fair amount of email about Managed DirectX. I always try to help the people that email me, although it can take me a while (sorry!). Well, back in the Autumn of 2003, someone emailed me asking how to send different different sounds to different speakers with Direct Sound. It took me a while, but I eventually figured out how to do it and sent him some code. At the same time, I asked him what he wanted it for. It turns out, he used it to build this. Impressive to behold, and I'm glad to have helped a little bit. :)

Wednesday, January 12, 2005

My New Prompt

Courtesy of the clever Shawn Van Ness, my new command-line prompt is now


$P$_$+$G


Which, when I set it via either the prompt command or the PROMPT environment variable, gives me a command line that looks like this:


C:\data\Projects\flexwiki\FlexWikiCore
++>


The plusses indicate that I'm two levels deep in pushd, and I like that the working directory appears on the line before, obliterating the problem of long paths making commands linewrap. Nice!

Wednesday, January 5, 2005

Tom Miller's New Book

Tom Miller's new book, Beginning 3D Game Programming is out. Given that Tom literally wrote Managed DirectX, and then went on to write an excellent book about it, I'm guessing this one will be good, too. It's definitely on my wish list if anyone wants to send me a late XMas gift. :)