Slashdot Mirror


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."

5 of 249 comments (clear)

  1. Non /.'ed CruiseControl Info by jaaron · · Score: 4, Informative

    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?
  2. article text in case of /.ing by BeeRockxs · · Score: 4, Informative

    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

  3. Re:X10 Hardware?! by Jadsky · · Score: 5, Informative

    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.

  4. Re:X10 Hardware?! by Mr.+Slippery · · Score: 4, Informative
    The latter is a company that just happens to make technology based on the protocol.
    Other vendors of X-10 hardware are Smarthome and X10 Pro. Even Radio Shack has some X10 stuff, or at least used to.
    --
    Tom Swiss | the infamous tms | my blog
    You cannot wash away blood with blood
  5. Here's a link that works: by AndyHunt · · Score: 5, Informative
    Very funny, guys. We weren't expecting to get Slashdotted today. Try www.pragmaticprogrammer.com/pa/pa.html and it ought to work a little better for you.

    -- /\ndy