Symbolic Violence Beats Lava Lamps All To Pieces
cdance writes "Traditional Lava Lamps, and of course email, are the tools of choice to notify your dev team that the build in your continuous integration system is broken. However, lava lamps, just like pink curtains and shag pile, don't really fit into the culture of many modern development teams. There is now a solution. Retaliation is a new Jenkins CI build monitor that automatically coordinates a foam missile counter-attack against the developer who breaks the build. It does this by playing a pre-programmed control sequence to a USB Foam Missile Launcher to target the offending code monkey."
They want their dot.com bubble era development culture back.
My job uses approximately the same tactics, although instead of a python script we have Dave the Project Manager, and instead of a foam missile launcher, Dave has a baseball bat. You see, unlike traditional product managers who have a background in, well, project management, Dave has a background in being a large and terrifying individual. So, our code builds every damn time.
If you have a giant build, your design is not modular enough. Above some size, it's time to go to multiple intercommunicating programs.
If you have a giant build, your design is not modular enough.
That makes no sense. You can have a modular system and still make changes the require giant builds. For example, if your module is something in the base of your system it will usually require you to recompile most of the rest of the system. Being modular will not stop that because you need to make sure that what you did in that one module does not break the pieces that use it. Secondly, what you seem to be complaining about is rather that people might not be doing incremental builds using make or a make-like tool. So, yes, if you are always rebuilding the entire system for no purpose that is stupid.
We'd all have to wear plastic safety specs too...
Because I find things like this to be juvenile.
I am Slashdot. Are you Slashdot as well?
Since everybody in the group already has a networked computer, a general-purpose system capable of inflicting considerable suffering, why not take advantage of that?
A few days of being stuck using the "Penal Image"(WinME, Incredimail, Bonzibuddy, 800x600), they'll be begging for a chance to redeem themselves.
That launcher just looks like another small way to degrade people.
If I worked in an office that did that, I would ensure the launcher kept on having mysterious accidents that rendered it inoperable. Like somehow falling 10 stories out of an open window.
So we've got two different ways of handling errors here. Say I made a serious mistake like breaking the build that 1000 people have to work on. Company A looks into how the mistake happened and exactly what needs to be done to avoid the mistake happening again, be that changing the procedure I used (e.g. running tests), training of me and coworkers to make sure we know to follow the procedure or automating the failed step so that we can't do it wrong (e.g. have the build server run tests before checking something in). Perhaps something can be done to mitigate the seriousness if such a mistake happens in the future, such as an automatic roll-back on the server. Company B's solution, on the other hand, is to humiliate me so spectacularly that I'll try my best not to cause a problem again.
What'll really happen is that I'll try my best to ditch company B in favor of a professional setup like company A. So company B ends up with the people who can't get to a better place. Don't manage errors by humiliating whomever you think is responsible, have the whole company learn from the error instead. If one guy could make a mistake, we could ALL make that mistake on a bad day. Blaming one guy doesn't solve that, learning and preventing the mistake from happening again does.
Comment removed based on user account deletion
In larger software development environments, it is common for many contributing programmers to work on a single copy of the project's source code at the same time (typically through a mechanism called source control.) As a matter of etiquette, developers are expected to test their code before contributing it back to the master copy. If the master copy fails to compile, typically due to an error in coding, then it is said that the build has been broken, and that the developer who contributed the bad code broke the build.
An article posted on Slashdot in 2004 suggested that software teams keep a red lava lamp in their server room, and have it turn on whenever a broken build is discovered. The reason for picking a lava lamp in particular is because it can take several minutes for the wax to warm up enough for the bubbles to reach the top of the oil: the article's authors proposed using this delay as a period in which the build could be fixed without inspiring a greater breach of decorum, and hence invoking the ire of the rest of the development team.
This summary, by contrast, is a slashvertisement for a different solution to the same problem, wherein foam projectiles are launched at the offending developer. It attempts to conceal its absurd premises by referencing a past incident in which a similar idea was suggested, thereby hoping to capitalise on an in-joke as a means of creating something more acceptable as a cultural object of Slashdot's community; however, the submitter most likely just did a search for something he or she could exploit to provide padding.
That all being said, you should probably get used to being expected to read embedded links in order to garner a cohesive understanding of the relevant context for something written on the Web. Most people don't have the communication skills necessary to clearly and accurately introduce context in a compact space, and in lieu of this ability, it is highly preferable to have a reference to the original subject matter (or at least a more primary resource) than to be left with mere hearsay or no context whatsoever. This is one of the greatest ways the Internet has changed how people communicate, and while it has its annoying side effects at times (especially dead links) it does more good than harm.
Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
And before I forget: Sokath, his eyes uncovered.
Bio questions? Ask me to start a Q&A journal. Computer analogies available for most topics!
"If I break the build I get a shit storm from my co-workers and getting to be known by managers as the reason why we slipped a milestone date that was arbitrarily imagined by someone that hasn't coded in 25+ years."
Then you're doing SCRUM and sprints wrong, code monkey.
I suggest you get into consulting.
I agree. "WTF" is the correct response to this article.
I was under the impression that the term 'slashvertisement' referred to:
Alternatively, it could refer to a vague, sensational story, meant to drive traffic to a blog.
In either case, the story was submitted by the owner of the landing page, with intent of some sort of personal gain
the link points to a free, open-source project(*), which has a parody of advertisement encouraging its use. The only product one would need to purchase, if convinced either by said 'advertisement' or the slashdot posting, is a certain toy rocket-launcher, unassociated with the company behind the FOSS project.
how is this a slashvertisement?
(*) All the source code is freely available online, there is no indication of desire to charge for or limit use of the code, and it's built as an extension to the FOSS project 'Jenkins'. That said, no license is explicitly given. I could be incorrect about the project being FOSS
It's not stupid. It's Advanced.