Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×

Real Time (as in Live) Programming Competition 42

KO writes "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 provided by Simulus and the Vs Chorus Crew, each team had just ten minutes to write a program which could correct a corrupted image.""


Although each member of the team was placed at a separate computer, each computer shared the program source allowing the team to collaborate on a single file in real-time. The developing source code was then projected onto Loop's twenty-three foot screen along with the compilation errors and the current state of the corrupted image.

The evening started furiously with Booming Egg and Machinemongers taking the stage for some extreme Java action. However, a bug in the competition code resulted in only the first 512 bytes of their program being compiled. The organizer loaded up the code, made a patch recompiled and everything was ready to go.

The Toasted Monkeys then took over with C prowess and a team strategy which would lead them to victory in 5 minutes and 40 seconds. The Python crew Hot Coffee tried to match that time but we unsuccessful. Similarly, unalias -a started strong but a screen of C++ errors seemed to slow down their progress. A second Python crew, CodeMonkeys, also didn't deliver the time required to get them into first place.

Walking on to toast their freshly prepared martini's, Martinis All Round loaded up Awk and were set. Though with a finish time of 8 minutes and 40 seconds they only managed second place. The Java Speed Players also did not threaten pole position.

The C hackers 17 Hours Left finished in 7 minutes and 30 seconds taking second position before the Unix Tools stepped in for the real upset of the evening. In just 3 minutes 45 they had a C program which seemed to correct an image of Stonehenge with a blue sky. The crowd applauded but unfortunately the sky was supposed to be a sunset red. Within 2 minutes and 15 seconds they had fixed the problem, but not fast enough to take first place.

The C group Last Minute did not post a faster time and the Awk Team Cthulu proved that alcohol was not a performance enhancing drug in this context. A fact supported by them printing, "we are so screwed" to standard error.

LiveCoda demonstrated a novel use of computers for entertainment. In doing so it challenged programming to transform from an isolated activity to a collaborative performance art. Furthermore, it challenged the night club environment to accommodate a more intellectual activity. The success of LiveCoda in both cases illustrates a strong potential for programming to improve audience understanding and participation in new forms of digital art.
This discussion has been archived. No new comments can be posted.

Real Time (as in Live) Programming Competition

Comments Filter:
  • by Saedrael ( 880381 ) on Monday June 26, 2006 @07:33AM (#15604683)
    What everyone in the packed night club was thinking:
    What the **** is this, and where are the strippers?
  • Just the sort of rainy day contest to fill the gap between log splitting and frisbee golf.
  • by Connie_Lingus ( 317691 ) on Monday June 26, 2006 @07:38AM (#15604707) Homepage
    the simplicity of the limeted instruction set of C wins the day. I sometimes wish more managers would understand this as they continue to "migrate" to more and more complex languages, when all that is needed is core C and some good, debugged libs.
    • by bheekling ( 976077 ) on Monday June 26, 2006 @07:45AM (#15604745)
      yup, and all we need to build a sphinx are a mountain, a chisel and a hammer
    • by revlayle ( 964221 ) on Monday June 26, 2006 @09:48AM (#15605522) Homepage
      No all C proves here that it is much EASIER to develop a small program very quickly. Once you reach a larger scale, the beauty of a well-defined OO language (of course, having good developers help in all cases) will shine through again and again. Oh yeah, C++ doesn't count, as (well for me personally) I find it an abomination of C. ;)
      • by AuMatar ( 183847 ) on Monday June 26, 2006 @12:19PM (#15606713)
        Funny how real life measurements don't show that OOP has cause a significant increase in developer productivity.

        In reality- C is object oriented in all the ways that matter. The main benefit of OOP isn't inheretance (which most researchers are now shying away from, as it really doesn't provide the benefits it was touted to have. Most research now says to favor composition over inheretance). Its encapsulation. Good C code has been written like that for ages- break different pieces of functionality into different files. Provide an interface to that functionality in a .h. Any data in that functionality is in static file variables or instance structs. The only real difference is you have to call constructors and destructors by hand. A minor change, as you usually have to go "new X()" anyway.
        • While constructors and destructors are mostly syntactic sugar (just use CreateFoo() and DeleteFoo() functions), C++ has one thing C has not:

          Exceptions

          If they're used correctly (read Bruce Eckel's "Thinking in C++"), they provide an exceptionally (pun intended) powerful method for handling errors. C's setjmp/longjmp is vastly inferior.

          - Andreas
    • by Ed Avis ( 5917 ) <ed@membled.com> on Monday June 26, 2006 @11:03AM (#15606055) Homepage
      All that's needed is core C, some good-quality libraries (it's debatable whether the standard C library fits that criterion) and *some extremely good programmers*.

      If you have not-quite-so-hot programmers, their C code might turn out to suck. At least in Lisp/Python/ML/whatever they would have a few more safety wheels and less need to reinvent the wheel on data structures (hmm, mixed metaphor, never mind). And your super-cool C programmer would probably also be very productive (perhaps even better) in a high-level language, if you could convince him to learn it.
      • Or the C programmers can download some libraries and not need ot reinvent the wheel either. And probably have better wheels to boot- the problem with massive standard libraries is that:

        1)They're too big, too interconnected, and tend to be overdesigned
        2)People aren't willing to fix #1 because "its the standard" so they stick with it even if it sucks. Whereas a language without a standard, someone will immediately say it sucks and write their own.

        Having coded in Python, ML, C++, Java, C, among others- I'm
        • yes, exactly my point...been working in php5 lately and just cannot believe how carelessly different var types are allowed to be handled, and then people wonder why its hard to use/reuse the code? $foobar can represent any frigging datatype, from an int to an array of an array of objects, without any hint of how it may be used at declaration.

          People call this progress??
        • I don't have my program slow down by a factor of 4 because it decides to store integers as strings (I'm looking at you Python).

          You might be looking to Perl or PHP, but certainly not to Python. Python clearly distinguishes numbers from strings.

          • Nope, this was a python program. Python has the same amorphous types and perl and php- you don't declare variables. In this case it was read in from a string, parsed out, and used as a number for the rest of the program. It didn't recognize this and continued to be a string, forcing the program to use more memory than my box had and go into swap, slowing down the program by an order of magnitude over my coworker (who had a better machine). WHen we figured it out, some explicit casts fixed it.
            • Your reply convinced me that you have used some other language rather than Python. :p

              While you don't declare variables in Python (you bind names to objects instead), Python doesn't have the same amorphous types as Perl and PHP. Integers and strings are completely different things in Python and can be only explicitly converted to each other using int and str functions. Check this interactive Python session:

              >>> 2+2 # numbers
              4
              >>> '2'+'2' # strings
              '22'
              >>> 2+'2' # a number + a stri

              • Oh trust me it was python- I remember swearing at using whitespace for meaning. :)

                I didn't write the bug- I inhereited a bug (I would never have written the program in Python in the first place). The eventual fix was to add an int cast somewhere inside it, it cut the running time from hours to minutes. And wether it was supposed to be allowed or not, I was doing math (addition and comparison) of the numbers it was storing as strings and it wasn't throwing exceptions. Perhaps HP-UX had a wierd version o
                • And wether it was supposed to be allowed or not, I was doing math (addition and comparison) of the numbers it was storing as strings and it wasn't throwing exceptions. Perhaps HP-UX had a wierd version of python 4 years ago?

                  I don't know about HP-UX, but the distinction between numbers and strings always existed in Python starting from the initial release. Could it be that the HP-UX version was patched somehow? But it sounds weird.

                  In principle, if you use only additions and comparisons and replace all

                  • Oh this was going to eat memory anyway- it was trawling several million records in customer submitted text files and throwing them into dictionaries. Each customer had several arrays of numbers I cared about, each number being in the 10s of millions. So it was a dictionary (with several hundred thousand entries) to an array of numbers. 6 or so of those dictionaries. (Yeah, it should have been in a database, but we were doing ad hoc experiments to some outsourced marketing data, we did not own or want t
  • by PFI_Optix ( 936301 ) on Monday June 26, 2006 @07:49AM (#15604763) Journal
    I can see the old-fashioned middle-aged writer on the sports page now:

    "First it was poker on ESPN2. This non-sport on a sports channel was tolerated because millions of men reminisced about great poker nights and episodes of Maverick. We didn't really care about the players or the artificial tension, we just watched the games and thought 'I could do that!'

    "Then came the spelling bee. A million men sat up from their recliners and muttered a collective 'what the--' when we saw our first spelling bee on a sports channel. The soccer moms had invaded, and we couldn't even get a date. But still we tolerated it.

    "Men, it may now be too late to hold our ground. We soon may be forced to retreat from the sports channels and give them over to the rest of the world. You see, I have just gotten wind of plans to air a programming competition on ESPN3. Yes, programming. As in computer programming. As in a room full of geeks pounding out computer code as quickly as they can. First team with a working program wins.

    "The geeks have already pushed their way onto TV with their video game tournaments. Some even have the nerve to call themselves 'cyberathletes'. But the games have been at least entertaining; it's like a cheap action movie without all the boring plot. This though...this is different. This is programming. Armchair quarterbacks of America, it's time we stood up to the networks and told them we want no part of the ruination of the sport channels. It's time we demand a return to basics. Football, baseball, basketball, hockey. Maybe a little NASCAR, boxing and some soccer (yes, I said soccer) to pad out the programming. I'm not going to stand for this any more. I want my ESPN!"

    (Yes I'm fully aware this wasn't broadcast on ESPN or anything else...relax, it's a bit of speculative humor)
  • I could have sworn I read this here about 2 weeks ago...
  • I can think of several more effective ways of applying pressure than a 10 minute time limit.
    • I can think of several more effective ways of applying pressure than a 10 minute time limit.

      So can I, like in the movie "Swordfish" (?? I think that was the name...) with John Travolta, he made some guy hack into something in under a minute while one of his 'girls' crawled under the table and did some investigative packet sniffing of her own on the hacker.

      Now THAT is pressure, especially for some guy who has only seen tits in his parents basement...though it was on a high quality widescreen LCD.

      • Actually the parent's post title is a quote from the movie. Gabriel (John Travolta) asks Stanley (Hugh Jackman) how he was able to break into the system he was presented at the table where not only a girl was polishing his joystick, but Marco (Vinnie Jones) held a silenced pistol to his dome. He said "I don't know I just see the code in my head".
  • As much as I'd love to think of myself as a good programmer, I doubt I could even work out what had corrupted the image in that time, never mind write a program to fix it.

    The event sounds like an interesting idea though, does anybody know if you can get a video of it (no, I havn't RTFAed) - I'd be interested to see what sort of stuff they were doing on the screens to make debugging errors more interesting then they sound.
  • Real-time? (Score:2, Insightful)

    by ForteTuba ( 658340 )
    The ACM programming contest [baylor.edu] has been around for a while although not so much at strip clubs.
    • The ACM programming contest has been around for a while although not so much at strip clubs.

      This was at a night club, not a strip club.

      Darned geeks... always thinking of naked girls...
  • if i recall this is simply a repost? i could be wrong since i know people who where in this competition, but im sure this is very old and repeated news
  • by Anonymous Coward
    After 9 minutes, it appears Team Slashdot has finally stopped browsing the web and will now start programming.

    No, no, wait, they're just checking their email now. And then onto The Inquirer! Will this team even write a single line of code?

    Ah! Finally, they have fixed the ima ... oh my god! ... is that a ring on his finger?
  • by Anonymous Coward on Monday June 26, 2006 @08:53AM (#15605168)
    He never did finish all of his Art of Computer Progamming series. Can we have a play by play account of how he'd do in such a contest.
    • 5 minutes -- nothing
    • 10 minutes -- still nothing
    • 4 years -- writes a text formatter from scratch since the present ones aren't adequate.
    • 8 years -- writes new type font handler for text formatter.
    • 20 years -- finally finishes writing program.

    Obviously these oldskool fogies can't keep up with the leet haxtors.

  • I and one competitor, and even had an audience.

    http://www.portcommodore.com/pics/contest1.jpg [portcommodore.com]

    I've done a couple in high schools (with PETs back then, the first we got fifth place, the second was third) And a couple at the Vintage Computer Festival (where we had to code a game from scratch on an 8-bit system in 3 hours), this one (picture) I got second place (Jeri to the right won with Pimp Sim on the PET to my C64 game) I won the next one though with a game reminicent to kaboom called Thrift Score on the 64.

    For some reason a contest to write code to correct an image just doesn't seem all that fun.

  • I was doing "live" programming competitions in high school. What exactly is special about this again? That they just happened to have a fancy setup and a live audience?

    The majority of the programming competitions I participated in had multiple problems and, in the case of ties, whichever team produced their answers first came in ahead. At the easier contest, the majority of the problems could be solved inside 10 minutes too.

    So can someone explain to me what was so interesting here?
  • by Geoffreyerffoeg ( 729040 ) on Monday June 26, 2006 @01:30PM (#15607300)
    How is this different from the high school programming competition [louisiana.edu] I participated in? 30 teams in the university's student union, given up to 3 hours to finish 7 programs (and in the advanced division, the 5th through 7th programs are much harder than the sample problems on the website). If you submit something and get it wrong, they don't tell you why. Even if it gives the right results on your test data. If you submit something and get it right, you get a colored balloon tied to your table - so while you're in the midst of programming and finding a obscure error under time pressure, you can see the other teams getting balloons.

    So what's special about this "real time" competition other than the silly names and the nightclub?
    • Nice to see things like this are still done today. I attended several programming contests in New England through the 1980s. Some of them were much like the contest you linked to here. My favorite was different- Rather than the standard little problems we were all asked to make a game. This game was somewhat like battleship, but had some unique rules. Each team had about 4 hours to create this game and then the teams were all pitted against each other in succesive rounds until a final winner was announced (
    • by Anonymous Coward
      not to mention the topcoder.com competitions have been doing this, and doing it well, for years...
  • by MichaelKVance ( 1663 ) on Monday June 26, 2006 @05:58PM (#15609347)
    With the Civilization: Call to Power contest at the Atlanta Linux Showcase in 99:
    During Loki Hack, up to 30 qualified hackers will have 48 hours in a secure setting to make alterations to the Linux source code for Civilization: Call to Power (TM). In turn Loki will make available in binary form all resulting work from the contest. Winners of this unique contest will be announced during the Atlanta Linux Showcase. First prize will be a dual-processor workstation (running Linux of course).

    The hackers will have full reign to add features, alter logic, or implement additional library support. Upon conclusion of the contest, a panel of judges will evaluate the hacks and award prizes to the best hack and runners up. Qualified hackers may apply to participate on Loki website, www.lokigames.com.

    Good times, good times. m.
  • If you want a bit more leisurely time (and a more sophisticated task), you might try out the ICFP Programming Contest [icfpcontest.org]. It runs 72 hours, and you can participate from the comfort of your living room. I've been on a team four or five times and have always had a good time. This year we're organizing it, so I know it's gonna be good!

"If truth is beauty, how come no one has their hair done in the library?" -- Lily Tomlin

Working...