Getting Your Boss To Buy Lava Lamps
jarich writes "Mike Clark's blog provides directions and code on how to wire up lava lamps to your build system. When a compile or test fails, the red lava lamp gets switched on... The delay in the lamp heating up gives you a few minutes to fix things before it becomes obvious to co-workers that you broke the build. His example uses CruiseControl but you could easily modify it. Very cool stuff and inexpensive to setup."
Google cache of article.
If you had RTFA you would know that
a. you aren't recommended to leave the lamps on for more than ten hours at a time and
b. that there is sufficient time for you to correct the error before the "lava" starts flowing. If you're a good little coder and are paying attention.
"The dew has clearly fallen with a particularly sickening thud this morning"
CruiseControl is a continuous integration tool. Mostly it's for Java but there's a .NET port too. Basically, it regularly compiles a code base to make sure no one broke anything with their commits. Apache uses something similar called GUMP.
Who said Freedom was Fair?
Bubble, Bubble, Build's In Trouble
Your software is being automatically built and tested on a schedule. It even sends you an email when the code doesn't compile or pass its tests. You're certainly ahead of most projects, but email is just so 90s. Even if you could manage to find those build failure emails amidst all that spam, you're reading yesterday's news. Indeed, you may already be ignoring the status of the scheduled build.
The Monitoring chapter of the book offers alternative, in-your-face, worth-getting-up-for-in-the-morning techniques for monitoring scheduled builds. The most popular technique came by way of a story contributed by Alberto Savoia. He describes how his project uses red and green lava lamps to radiate the status of their scheduled build. Better yet, those lamps are controlled using X10 devices such as those used to turn on your household lamps so that you don't arrive home to a dark house.
Well, as you might imagine, I could hardly wait to build my very own build-monitoring lava lamp kit. And as bonus material for readers of the book, I've crafted a bit o' software that integrates with CruiseControl. So now you too can enjoy red and green bubbles on your project!
Bill of Materials
To get started, you need some automation gear. Think of these gadgets as this year's essential project accessories:
* 4-Piece Firecracker Automation System
This kit includes:
o 1 Firecracker Computer Interface
o 1 Transceiver Module
o 1 Lamp Module
o 1 Palm Pad Remote Control
Cost: $39.99
(Props go to the folks at x10.com for supporting this project by supplying me with a complimentary kit. It all fits in a wee box, so I can carry it from project to project.)
With that kit, you can control two lava lamps -- one plugged into the transceiver module and the other plugged into the lamp module. You can optionally purchase another appliance module if you want to control two appliances. For example, you might want your build process to turn on a coffee pot when the build fails and then kick start your margarita machine when the build is fixed.
* 2 lamps, preferably the kind that boil red and green lava
I used the Hot Rock Lite F/X (yellow earth/blue liquid and red earth/purple liquid). Note for legal purposes that these lamps (shown in pictures below) are not LAVA(R) brand motion lamps, but those will work just as well.
Cost: $9.99 each at Target or Walmart
* Pragmatic Automation X10 software
It's an open source Java library that includes the CruiseControl plug-in, an API to make your wildest X10 dreams come true, detailed instructions, and an ever-so-useful collection of tests.
Way down deep, the library uses the Java Communications API to send bits out over the serial port and into the Firecracker Computer Interface. (Linux users will need the RXTX implementation). Michel Dalal's Java X10 CM17A API library, an implementation of the FireCracker (CM17A) Communications Specification, is used to send out the correct 1s and 0s in response to human-friendly commands. Many thanks to him for doing all the low-level bit twiddling and sharing the goodies with us!
Cost: Free to readers of Pragmatic Project Automation
Assembling the Kit
With that hardware in hand, you're ready to start the assembly process. The Firecracker Automation System includes instructions written for your average home electronics consumer, so your average computer/network geek should have no trouble. I'll spare you all the gory details and instead run through a quick visual tutorial of my setup.
Start by plugging the Firecracker Computer Interface into a serial port of your scheduled build machine:
This little gem sends a wireless signal from the computer to the transceiver module. Notice that you don't lose the serial port. You can plug another serial device
Yeah, that was SGI. It now lives here.
It was the Silicon Graphics (SGI) Lavarand implementation, which was at lavarand.sgi.com.
It seems to live on at lavarnd.org
X-10 hardware and X10.com are not the same thing. The former is hardware based on a protocol that was invented in the early 70s. The latter is a company that just happens to make technology based on the protocol.
One doesn't necessarily have to come from the other, and it's a shame that the vendor has ruined a perfectly useful technology, even shaming it doubly by making poor-quality electronics.
Tom Swiss | the infamous tms | my blog
You cannot wash away blood with blood
-- /\ndy
Everything I google on Firecracker says it is 'X10 Firecracker Automation'...
X10!!! Oh.... my... hell. Slashdot recommending a project that uses *THEM*.
What next, a story on a project that uses SCO software?! Personal firewalls using XP SP2? A softball interview with Jack Valenti or Orin Hatch?
I know, it's not pico/x10/whoever's fault entirely, but after years of X10 popups, I feel tricked/annoyed/dirtied and I haven't even clicked past the google results.
A couple years ago, we were revising a website, with an eye toward better google placement. My tech lead forwarded a spam for a related utility, and I had to read him the riot act on why we'd *never* buy anything from a spammer.
(yeah, I know... I'm goin' to modpoints hell for criticizing the editors.)
Now, everyone go buy an Ambient Orb so they can mass-produce them more, and then I can finally afford one!
Corporate Gadfly
Jonathan Archer: the most beaten up Enterprise captain in Star Trek history
Wow, JavaLavaLamps are getting their 15 minutes of fame on Slashdot - I am bubbling with pride. As the original implementor (AFAIK) of the unholy and unlikely combination of CruiseControl + Java(TM) + X10 + Lava (TM) Lamps, and the author of the article in Mike Clark's book, I am thrilled (and a bit concerned that this will be THE contribution to the computing I will be remembered for.) In any case, JavaLavaLamps are just one of the eXtreme Feedback Devices (XFDs) I mentioned in the blog that started it all. You can read about XF and see other XFDs at: http://www.developertesting.com/managed_developer_ testing/000036.html. Have fun.
A single multi-coloured, infra red controlled, lava lamp (available on Ebay), an infrared port on your PC, a simple post-build script that sends out the correct remote control signal, green/blue for build is good, orange/yellow for build with warnings, red for build failed. People on Slashdot need to get with the times and start using the latest technology.