Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

Symbolic Violence Beats Lava Lamps All To Pieces 128

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."
This discussion has been archived. No new comments can be posted.

Symbolic Violence Beats Lava Lamps All To Pieces

Comments Filter:
  • The 90's called (Score:5, Insightful)

    by Anonymous Coward on Monday August 22, 2011 @04:17PM (#37171804)

    They want their dot.com bubble era development culture back.

    • by Kid Zero ( 4866 )

      I'll glady donate someone else's Kingdom for a +1 there. Bravo.

      • It would be 'symbolic' violence if it just aimed the nerf missile launcher at the person.

        It becomes actual violence once the projectile is launched, whether or not it actually strikes the intended target.

        • by Anonymous Coward

          Oh stop being such a wussy... What's a foam missile between developers?!

          Here where I work, the offender has to buy cake if the code he committed is broken. Here the cake is not a lie!

    • by Co0Ps ( 1539395 ) on Monday August 22, 2011 @04:46PM (#37172180)
      You didn't warn them?? YOU MONSTER!
    • Re:The 90's called (Score:4, Insightful)

      by plover ( 150551 ) * on Monday August 22, 2011 @04:53PM (#37172256) Homepage Journal

      They want their dot.com bubble era development culture back.

      No, that was me calling. I wanted to go back to the 90s era development culture, as we seemed to get a lot more done back then.

      • Re:The 90's called (Score:4, Insightful)

        by Anonymous Coward on Monday August 22, 2011 @05:21PM (#37172534)

        Let me guess, you were born sometime after 1990, weren't you?

        In the 1990s and the very early 2000s, this kind of behavior never happened at places making real profit. Why? Because developers at a place like that are too fucking busy making money. They are also talented enough to not fuck up constantly, and don't need goddamn build failure lights or co-workers hitting them in the genitals with foam sports equipment.

        We only ever saw this nonsense at places made up of fools. You know, the sorts of places where they hired people with useless Sociology degrees to be programmers because they once turned on a Commodore 64 in their youth. When you put enough of these idiots together, especially doing work they have absolutely no clue how to do, and you end up with people throwing beach balls around the office rather than getting work done and making money. Oddly enough, these places end up going under! But the work environment was so much fun, the former employees would say. For the six months it lasted before the funding ran out, it was a great time!

        The same thing is happening today. The Web 2.0 bubble is about to burst. We've got many Ruby on Rails "developers" and NoSQL "DBAs" all over the place working on unprofitable applications. They often waste time playing cubicle games instead of working. When the bubble bursts, they'll be out on their asses. Nobody will touch them, thanks to the terrible reputation that Rails and NoSQL are getting these days.

        • by slim ( 1652 )

          We only ever saw this nonsense at places made up of fools.

          A great deal of the agile stuff has actually been tested -- as in, measuring the number of production defects before and after adopting agile practices.

          CI works. Information radiators work. (That is, anything that shoves vital info like "the build is broken" at people with no opt-out).

          This particular information radiator is a bit daft, but it doesn't seem like it took much effort, and someone's enjoyed themselves, so where's the harm?

          I'm somewhat oblivious to what the world thinks about Rails. It seems like

          • I don't know where you're perceiving this terrible reputation NoSQL has.

            Me neither. I mean, it's webscale! [depth-first.com]

          • by jafac ( 1449 )

            That's so true! When I first found out about mysql, I breathed a huge sigh of relief that I didn't have to work with Oracle anymore.

            Until I found that people who didn't understand SQL, didn't want to learn about it, or deal with structure in their data, would simply glom everything together into one field using serialize() and unserialize(), and use it as a key-value table. Oh well!

        • AMEN!
    • by mrmeval ( 662166 )

      How about the 201x era where we throw molten lead?

  • by Anonymous Coward on Monday August 22, 2011 @04:19PM (#37171836)

    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.

    • we have Dave the Project Manager, and instead of a foam missile launcher, Dave has a baseball bat

      Dave: A man becomes preeminent, he's expected to have enthusiasms. Enthusiasms, enthusiasms... What are mine? What draws my admiration? What is that which gives me joy? Unit testing! A man sits alone with his editor. This is the time for what? For individual achievement. There he stands alone. But when checking in, what? Part of a team. Teamwork... Builds, runs unit tests, svn update, svn checkin. Part of one big team. If his team don't field... what is he? You follow me? No one. Sunny day, gcc compiles wi

      • by BranMan ( 29917 )
        That's the best one I've seen in a long time. Cudos to you sir! You win the internet.
    • I take off my wizard's hat and put on my giant foam helmet [userfriendly.org].

  • Is this posting a sign that Slashdot has been hacked? Or perhaps it is sending apparently random information to sleeper cells? Letsee... if i try every third word... nope. hmh.
  • by Animats ( 122034 ) on Monday August 22, 2011 @04:21PM (#37171876) Homepage

    If you have a giant build, your design is not modular enough. Above some size, it's time to go to multiple intercommunicating programs.

    • by HarrySquatter ( 1698416 ) on Monday August 22, 2011 @04:25PM (#37171934)

      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.

      • by Uberdog ( 73274 )
        You can structure your modules and your tests such that you can test them independently, using unit tests and functional tests while mocking other services. This keeps each individual build, likely to be kicked off by a change in the revision control system, to a minimum. Integration tests using all the components together can be kicked off at larger intervals (twice daily, for example). These should always pass if all the individual module tests passed. If not, then your tests are incomplete.
    • And you still need (more than ever) regular builds and test executions while you refactor it into something more modular.

    • by slim ( 1652 )

      Those modules communicate with each other. If you screw up the way they communicate, integration tests fail. That's a broken build.

    • by jgrahn ( 181062 )

      If you have a giant build, your design is not modular enough. Above some size, it's time to go to multiple intercommunicating programs.

      I bet most giant builds aren't giant because there's actually so much building work that needs to be done; they're giant because the build system is *broken*. Can't do a proper incremental build, can't be parallelized, and so on. I once reduced a 15--20 minute build time to 0--15 seconds by fixing up the Makefile to do the right thing.

  • We'd all have to wear plastic safety specs too...
  • by OzPeter ( 195038 ) on Monday August 22, 2011 @04:35PM (#37172062)
    Because I find things like this to be juvenile.
    • My thoughts exactly. Am sorry but what is that suppose to mean "a foam missile counter-attack?!" I remember friends picking PhD title by using a simple Combination function on the set {statistical, genetic algorithm, bayesian, theoretical, neural network, logic, reasoning, inductive, design, probabilistic, integrating, non-linear, optimization ...} Is life totally meaningless now?
      • by slim ( 1652 )

        Am sorry but what is that suppose to mean "a foam missile counter-attack?!"

        Er, what's difficult about that?

        You know what foam is. You know what a missile is. You can probably imagine what a "foam missile" is, and if you've been to a toy shop in the last 20 years, you've seen one. So that bit's easy.

        Now then. "Counter-attack". Is that the difficult bit? The commit that broke the build is the "attack". Launching the foam missiles at the culprit is the "counter-attack".

        I remember friends picking PhD title by using a simple Combination function on the set {statistical, genetic algorithm, bayesian, theoretical, neural network, logic, reasoning, inductive, design, probabilistic, integrating, non-linear, optimization ...} Is life totally meaningless now?

        All those words have fairly precise meanings. I do hope your friends failed their PhD if their thesis didn't match t

    • Because I find things like this to be juvenile.

      I find the attitude that being a grown-up has to be boring... juvenile.

  • 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.
  • Demeaning != Fun (Score:3, Insightful)

    by Anonymous Coward on Monday August 22, 2011 @05:00PM (#37172322)

    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.

    • Re: (Score:1, Insightful)

      You're obviously not a developer, or you're working in a place that's so dull it might be time to change jobs. As a developer, I absolutely dig this (and there's a 1/3 chance of me breaking the build in my team)!
      • by Anonymous Coward

        No, if you need to get shot in the balls to enjoy your job, then I'd suggest that you are the one who's working in a place that's so dull it might be time to change jobs.

  • Sigh (Score:2, Insightful)

    by Anonymous Coward

    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 som

    • You must be one of those 'process' people. Rather than making someone feel slightly ashamed for a short period, you'd rather have a committee meet for 4 weeks offsite in order to make recommendations to management about how to develop software. See, in the real world before software was invented, breaking the build meant everyone in the factory stopped working until management found the culprit, who was swiftly beaten and dumped off a pier. Everyone got back to work and nobody made any little mistakes that
  • by Anonymous Coward

    Is it just me or did the article actually mean something? Lava lamps, dev team, missile counter-attack, USB Foam Missile, code monkey... what the fuck am I reading?

  • Comment removed (Score:5, Insightful)

    by account_deleted ( 4530225 ) on Monday August 22, 2011 @05:15PM (#37172478)
    Comment removed based on user account deletion
    • Re: (Score:2, Informative)

      by Anonymous Coward

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

      • by Anonymous Coward

        More probably it's his PHBs that are doing S.C.R.U.M. and sprints wrong and he therefore has no say in it. It's really sad to see all good ideas eventually get perverted by clueless MBAs and PMPs

      • by Anonymous Coward

        Then he's doing scrum like most of the companies out there.

        I've had managers scream at me because I wasn't burning down exactly 8 hours per day.

        I've had managers pick arbitrary dates six months in the future as the Absolute Must Ship date, and complain when one month into that, we laid out the reasons why we didn't think we'd have all the desired features by then, demanding that we fix things so our burndown chart showed us completing on time, because obviously the problem was in the burn-down chart, not in

    • I suggest you get into consulting.
    • by Anonymous Coward

      I'd like to print that out and put it up on my divider wall but I've already hit my limit of 3 personal non-work-related items.

    • So wait...we're supposed to respect your choices and their results, and therefore respect and wish to emulate you, thus making your condescension about "toys" and "scripting abilities" have bite?

      Does it occur to you that there is another possibility...that you screwed up, made a lot of poor decisions, and now justify them to yourself in terms of "growing up"? That it was your party that ended, not the party?

  • This solution clearly was impossible in the "good old days." First of all, programmers once had offices with four walls and a real door. Back then, the favorite correctional action was a skunk in the desk's file drawer (yes, they had real desks, too!). Even during the era of cubicles, it would have been impractical to fire over the partitions blindly. Lastly, robotic armaments have come along way toward making corrective actions more selectively punitive.

    However, this seems like a Disney version of m
  • At least that's what my hippy educators in the 70s liked to tell me. Though to render everything they told me false and irrelevant, I just need to find one example where it did. Hmm... Ah! World War 2! Suck on that, hippy educators! Perhaps you just didn't use enough violence in your solution!
  • Don't fucking call random people code monkeys. Mind your fucking manners, sir.

Single tasking: Just Say No.

Working...