Slashdot Mirror


LiveCoda, Real-Time Coding Competition

Robert Shelton points out this "debrief" from ESCI LiveCoda 2006, a live programming competition. From the article: "On Wednesday the 24th of May at Loop Bar in Melbourne (Australia) fourteen teams of programmers gathered for the first ESCI LiveCoda real-time programming competition. Possibly the first performance based real-time programming competition. Before a packed night club with live music, each team had just ten minutes to write a program which could correct a corrupted image." (Here's a mirror of the LiveCoda site).

23 of 95 comments (clear)

  1. I'm sure that this will make the IT trade cooler by Trigun · · Score: 5, Funny

    Next, can we have Sergei Brinn found passed out in the bathroom stall with six hookers?

  2. "How long, O Lord?" by Black+Parrot · · Score: 3, Insightful

    Why this fascination with speed?

    When are people going to start programming contests where the award is given for something that's actually useful, such as fewest bugs, most readable, best re-use of existing code, etc?

    --
    Sheesh, evil *and* a jerk. -- Jade
    1. Re:"How long, O Lord?" by Ed+Avis · · Score: 4, Insightful

      Competitions already are judged on 'fewest bugs'. Indeed, some competitions disqualify any entry that has any bugs found in testing. But all the other criteria you suggest are subjective. I think speed is a pretty good judge of programmer ability; someone who can hack up a correct program in 10 minutes stands a good chance of writing a correct, clear and maintainable program in an hour.

      --
      -- Ed Avis ed@membled.com
    2. Re:"How long, O Lord?" by Fahrenheit+450 · · Score: 2, Interesting

      Set a simple task and see if the code performed that simple task.
      Kind of like what they did here.

      --
      -30-
    3. Re:"How long, O Lord?" by SpeedBump0619 · · Score: 3, Interesting

      "someone who can hack up a correct program in 10 minutes stands a good chance of writing a correct, clear and maintainable program in an hour."

      Patently false, for a number of human reasons:

      1) Programmers are are fast are generally easilly bored. This leads to wandering focus.
      2) Programmers who are fast often approach problems in a strange way. This can lead to convoluted and confusing implementations.
      3) Programmers who are fast rarely see value in commenting. Why comment when I can rewrite faster than I can reuse?
      4) Programmers who are fast are usually impatient, and don't work well with teams. I *like* this competition because it has some focus on teamwork, but I'm generalizing.

      For such simple problems as are being solved in this competition most of these problems aren't problems. But all of these things will eventually lead to unstable, unmaintainable codebases. I'd prefer to have someone who is good at code re-use, who is good at seeing the complex parts of problems and who is good at getting the right architecture the first time. None of these things are tested in this competition.

    4. Re:"How long, O Lord?" by Anonymous Coward · · Score: 2, Insightful

      Those are staggering generalizations. Your conclusions are nonsense. Programmers who are fast are generally, well, fast. To deduce that every single programmer who has the ability to pick up and solve a problem quickly becomes bored easily is ludicrous. I realize this may be painful to accept, but the fact that the world supports thousands of programmers more quick-witted and capable than you are does not mean that they are all short of attention and inferior in some way. Some programmers who solve a problem quickly will approach it with a unique solution in mind. Most simply solve the problem at hand. Additionally, strange doesn't always equate with bad. Haven't you ever heard the old adage "think outside the box"?

      Again, not all programmers who are fast devalue commenting. Rather than mucking around adding their name and birthday to every source file and commenting "increment variable i by one", they're commenting complex trickery and the points that might actually confuse even a seasoned programmer. I don't know about you, but I'd rather have the latter.

      Finally, that fourth generalization has no basis in reality. Just because someone can work fast doesn't mean they can't work with others. Just because someone can do drywall work in a house very quickly on average doesn't mean they can't work with dozens of other contracted workers on the job working at different paces towards the same finished product. It all depends on the person, not the speed of their programming.

      These are problems. They aren't competing to create a stable architecture with which to build enterprise software upon. They're solving problems. Just because a programmer is competing in this speed contest does not "patently" make them a poor programmer in the big picture, nor does it make them incapable of teamwork, nor does it make them "strange". It sounds like you have some security issues about your own ability and are just taking it out on people who are talented enough to be competing in such a great and challenging speed contest.

      Your troll is elaborate, though it "patently" is one.

    5. Re:"How long, O Lord?" by Poltras · · Score: 2, Interesting
      Sorry, but as a guy who did a couple of programming contests (both ACM and some homebrewed), and can largely be considered as someone who _can_ code faster than average, I must say you're wrong. It is not the case of most of the people who participate in these contests because we often need a better preparation and better structure so that we can code faster, we are normally more intellect and can see the need to reuse (instead of most people on just are not smart enough to design good in the first place, and they are numerous).

      And believe me, my friend, we are patient. It takes a lot of patience first to just practice on those contests. And it's not because you can code faster on certain occasion (this bug needs to be fixed before tomorrow morning) that you MUST do it everytime (ok I'll hack it up and comment it all tomorrow during the day).

  3. The first? by bsartist · · Score: 5, Funny
    Possibly the first performance based real-time programming competition.
    In my day we called those "job interviews", and first prize was paid out in weekly, bi-weekly, or monthly installments.
    --
    Lost: Sig, white with black letters. No collar. Reward if found!
  4. Geeks? by Ramble · · Score: 5, Funny

    In other news geeks have been spotted in a bar near Melbourne, it's rumored to be the first documented case of geeks in an alcoholic establishment and will provide scientists with invaluable data on the migration habits of Australian Spotted Geek (Geekus Oceanus).

    --
    "Oh boy"
  5. From the FAQ by Life700MB · · Score: 5, Funny


    9) Will I have access to a Dvorak keymap?

    Yes.

    10) Were you really asked about Dvorak keymaps?

    Yes.


    --
    Superb hosting 20GB Storage, 1_TB_ bw, PHP, mysql, ssh, $7.95

  6. Oh the possibilities by kay41 · · Score: 4, Funny

    I shutter to think of the pickup lines that were spoken throughout the evening. After all, us programmers are foreign to this "club" environment. What is this "music" you speak of anyway?

    --
    arl with a k - a blog of mine.
    1. Re:Oh the possibilities by MrAnnoyanceToYou · · Score: 3, Funny

      "Me so Hooorney. Me drool you long time. Computer Fixey Fixey five minutes."

  7. Meh - TopCoder has had these for a while. by JMZero · · Score: 2, Insightful

    Their design and development (and to some extent their marathon and multi-threading) competitions all allow much less restrictive timelines, and use very "real-world" problems (in fact, they sell the results of the design/development work). There's substantial prize support, and potential for royalties on the software you develop. They're evaluated by real people who look for bugs, run tests, and reward efficient, readable code.

    But most people prefer competing in the algorithm competition (which are an hour and a half). I know I do - I'd much rather be done with the competition in a couple hours than spend a whole week stewing on it. I also do regular component development programming for a living - I don't feel the urge to go do more of that after work for less pay.

    --
    Let's not stir that bag of worms...
  8. Personally by celardore · · Score: 4, Funny

    Personally I can think of better things to do in a nightclub, with live music.
    And, if I'm in a nightclub chances are I'm in no fit state to do any coding. Actually, I've had an idea - a coding competition where you have to drink eight beers first!

    1. Re:Personally by slashflood · · Score: 3, Funny
      Actually, I've had an idea - a coding competition where you have to drink eight beers first!
      Erm... I wouldn't even start coding without eight beers first..
  9. Know what it's called? by Skadet · · Score: 2, Funny
    Competitions already are judged on 'fewest bugs'.
    That competition is called the free market, with the obvious exception of Windows, of course.
  10. Not the first by Sarlok · · Score: 2, Informative

    Anyone else ever heard of the ACM International Collegiate Programming Contest? A live programming contest based on # of problems correctly solved in the least amount of time. Lots of fun.

  11. Ha.... by xCROSSFIREx · · Score: 2, Funny

    wow...is there really nothing else for them to do in their free time?

    "hey bill, what are you doing friday night"
    "i'm gonna go out clubbin'....what about you?"
    "Ermm....uhmm...i'm gonna go see how fast i can write a program....but it's at a club...."
    "Dear lord...you're even more of a geek than i thought you were..."

  12. Re:Did the choice of language affect the results? by Fahrenheit+450 · · Score: 3, Insightful

    But for something like this, you're mainly limited by the contestants' familiarity with the problem domain.
    With this particular competition (which looks to consist of reading in a simple image format, like PPM then applying a couple of simple transformations then writing the new file back out), the code isn't going to be too terribly different between most languages, and therefore the higher expressiveness of something like Python or OCaml wouldn't really get a chance to shine.

    --
    -30-
  13. This is what people actually believe? by imaginaryelf · · Score: 3, Interesting

    Sorry. I can't agree.

    Having spent 20 years in the programming profession, I've worked with a lot of programmers. The speedy ones are usually exceptionally smart, but their code is completely unmaintainable, no matter how much time they are given to write it. If you work any time in industry, you'll know that 90% of your life is maintaining or improving upon code that others have written, so the speedy ones actually hurt overall programmer productivity for the team.

    I'll take a slow and methodical programmer over a Speedy Gonzales anyday.

    1. Re:This is what people actually believe? by joebob2000 · · Score: 3, Insightful
      The counter-generalization: The speedy ones are usually exceptionally smart, but their code is completely unmaintainable, no matter how much time they are given to write it, because the other 9/10ths don't understand the code enough to maintain it. Of course this is the fault of the 1 smart programmer. Why? because they are outnumbered 9 to 1. The exception? when the smart programmer becomes VP of engineering.


      I know plenty of smart, fast programmers that write clear code and follow the rules. Sometimes the best ones will write something that most others have a hard time following, not because it is "sloppy", but because they are more talented. They also find and fix plenty of bugs that the other 9/10s made in their "maintainable" code. I have seen times where a super programmer correctly debugs a regular programmer's code in a design review sight unseen, just from the description. I have also seen regular programmers say "I checked it", or argue with a super programmer, until he gives up in and takes 10 minutes to find the bug and fix it himself.


      What's my point? I don't have one, except maybe don't be a hater just because you can't hit the ball like Tiger Woods.

  14. I was there, more info by enos · · Score: 3, Informative

    I went to this thing for a little bit, and while nifty, I don't see why thousands of geeks need to know about it...

    Anyhow, it went down like this: four machines with an editor common to all of them, with teams of 2-4 people. They were given a 200x200 image file consisting of simple rgb triples. (200 100 50\n100 133 212 etc, real simple). There was a transform done to it that they had to reverse. The ones I saw were some color rotations/swaps and rotations in increments of 90 degrees. The program had to read in the file, invert the transformation, and output the correct image in the same simple format.

    The teams could pick whatever language they wanted. I saw C, C++, Python and Java before I got bored and left. The admins had a system set up that it would compile the code at certain intervals and print out the errors on the screen, or the resulting image if it compiled successfully.

    The teams didn't really have trouble writing the code. It was no longer than a screen worth, and they seemed to get that in about 2.5-4 minutes. They spent the rest of the time trying to figure out what the transformation was. They'd try 10-15 different color rotations/swaps combos before the time ran out. They didn't get the correct image in advance, but they were all photos from around the Melbourne area and it was easy to tell what it should be.

    If I had heard about it with enough time in advance I would have taken some friends and entered... ah well.

    --
    boldly going forward, 'cause we can't find reverse
    1. Re:I was there, more info by Mr_Escher · · Score: 2, Informative

      I was there for the whole night and only one team had managed to finish before you left - in fact only 2 teams finished the problem on the night.

      I had a quick go in awk (solo) after the end of the night and in that language, which is DESIGNED for dealing with columns of text, means you can solve any of the problems presented in a couple of minutes.

      It's pretty clear you weren't there for long as your summary is not that close to what happened, though your description of the problem is spot on.

      Most solutions were a few screens long, only the awk solution I think would have fit on a single screen, only one team would have finished the problem by the time you left, and most images were not of the melbourne area, though some were. Unless you mean the new melbourne stonehenge :-)

      You should have stuck around, or asked if you could enter.