Last month a bunch of us were sent by Vonage to RailsConf 2007. I did a talk (with my co-worker Stephen Becker) on working with legacy systems, and the approach we have been talking to using rails (and other technologies) to eat away at the problem (I’ve since nick named this approach the “Evaporative Model of Legacy System Maintenance”). I’ve had a couple people ask me for the presentation or a transcript, so I’m posting those here now.
Some time ago a co-worker passed me an article about “Extreme Feedback” devices that could be attached to your autobuild system with the express intent of making it very visible that the build is broken, and potentially being irritating enough to help motivate people towards fixing the broken build. Since reading this article I have been somewhat consumed with the concept of creating one of these devices for my team. Keeping builds clean is hard, and without a constant reminder, it can be very easy for people to let the build stay broken for long periods of time. This essentially defeats the purpose of doing autobuilds, and potentially even unit testing.
I Looked into the Ambient Orb, but I have to admit, I wasn’t particularly thrilled with the fact that it has a monthly subscription, and you can’t talk directly to it with your computer. So I started to teach myself electronics in the hope that I would be able to build one of these devices on my own. After a month or so, I ran into the Arduino platform, which struck me as the perfect platform for building an orb from scratch. This is the end result of my project is this, The Arduino Orb Build Warden:
This Device has the following features:
Simplistic API for scripts that monitor a build system
Single color mode: You can send colors in web format (e.g. #RRGGBB)
Alert mode: The orb will flash a color passed in from full intensity to %20 intensity (Format is similar to web format: %RRGGBB)
Roam mode: The orb will morph from one random color to another for as long as you leave it. (Format is the string ‘roam’)
Here is the device in action:
The design of the Build Warden was heavily influenced by Tod E. Kurt’s Arduino Ambient Orb from his Spooky Arduino class. I started with that as a base, and went from there.