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."
They'll look great next to the bean-bag chairs and the espresso bar.
I'll ask my boss when he gets back from playing golf with the VC group.
Right is wrong when left is right.
Place any lamp on top of one of those hyper-hot undervented Apple G3 Cubes, and in no-time it melts into lava.
I hope they have one hooked up to their webserver...
I think we should have an air raid siren hooked up to it. Not only would it alert you to a problem, it would also scare the crap out of everyone and wake them up for a nice productive afternoon.
It's either that or electrodes into your chair.
Most environments in which I coded would prefer a Room 101 model. A cage is placed on your head. When the build is broken, rats are released into the cage. The time it takes the rats to run down the tunnel and into the cage to eat your face gives you time to fix your mistake.... The lava lamp version sounds double-plus good.
voice of Gilbert Godfrey screaming out "I suck at programming! Fire me!" over and over. That would make you debug before you compile...
What about the hack that starts the coffee maker everytime a build fails... it is usually a *long* night when that happens around here.
Pop under ads? I bought a camera from them before I even did (or so I observed) the pop under ads. I paid for 3 day shipping. Day 5 came, no camera. I called them, and the machine pointed me to email whatever address for tracking orders. So I did that. 14 months later (this is no joke), I got an email with my tracking number. Now the camera came the day after I sent the inquiry, so even if it was a timely response, it wouldnt have mattered... but 14 MONTHS?!?!?! What... the ... hell
"When life gives you lemons, don't make lemonade. Make life take the lemons back!" -- Cave Johnson
I can just see the police reports now:
Cause of death: missing }
Monstar L
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
I would definitely write bad code on purpose with this set up just to watch the lava.
I are winner
We had the problem of concurrent users locking up a tape drive.
We tried a white board, we tried a sign in/out sheet, it got so bad that we held a meeting and the manager decided we would use the ownership of a certain file to show who was allowed to control the tape drive.
The same manager broke his own rule immediately after the meeting.
My solution was the one that worked.
We used a really cheesy Mardi Gras necklace. Who ever had the necklace in their possession was allowed to access the tape drive. We never had a problem after that.
If you left the necklace on your desk it was perfectly okay for someone else to steal it. If you wore the cheesy thing around your neck, everyone knew you were using the tape drive.
Sometime low tech is easier, more reliable and best of all, funnier.
I live the greatest adventure anyone could wish for. - Tosk the Hunted
- I live the greatest adventure anyone could possibly desire. - Tosk the Hunted
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
Leave it to corporate America to find a way to make Lava Lamps something to stress out about.
"No problem. I have the capacity to do infinite work so long as you don't mind that my quality approaches zero."-Dilbert
as a build mananger I just implemented Cruisecontrol on the job this week. it's awesome, no more going to do the build and getting a ton or errors, now if there's an error emails get sent to me, the project manager, and the dev responsible. it's a very nice tool. adding lights to the mix sounds trivial, but hey, if it makes work more fun, why not.
CB
free ipod and free gmail!
That headline blurb doesn't do this book justice. I was one of the first kids on my block with a copy of this book, and I highly recommend it.
This book is not about lava lamps (although it does talk about them). This book is about using automation to keep your software project on-track... never letting things get broken... using a computer in your office as a 'virtual employee', continually building and running unit tests and letting you know if someone breaks the build.
Yes, there is a reference about automatically turning on a red lava lamp if your unit tests fail... but far more important than that, the build on my project (which uses the ideas from this book) is never broken long enough for a lava lamp to heat up.
If you are interested in Agile process (especially the XP concept of 'continuous integration'), you need this book.
-- /\ndy
This would be more useful, if it lit up a bowl at 4:20 if the green lamp was going.
Hmmm... All I need is an automated valve and a mini blowtorch...
W.E.P.