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.
"Packed," eh? (Score:5, Funny)
What the **** is this, and where are the strippers?
Re:"Packed," eh? (Score:5, Funny)
What no PPV? (Score:1)
as is often the case... (Score:5, Interesting)
Re:as is often the case... (Score:4, Insightful)
Re:as is often the case... (Score:4, Funny)
Funny, but I'm pretty sure that's all they actually had TO build the sphinx...and, oh yeah, lots of slaves. Sounds like a typical IT operation.
Re:as is often the case... (Score:5, Insightful)
Re:as is often the case... (Score:5, Insightful)
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
Re:as is often the case... (Score:2)
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
Re:as is often the case... (Score:4, Insightful)
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.
Re:as is often the case... (Score:3, Insightful)
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
Re:as is often the case... (Score:1)
People call this progress??
Re:as is often the case... (Score:1)
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.
Re:as is often the case... (Score:2)
Re:as is often the case... (Score:1)
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:
Re:as is often the case... (Score:2)
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
Re:as is often the case... (Score:1)
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
Re:as is often the case... (Score:2)
Poker, spelling bees, and....programming? (Score:5, Funny)
"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)
Re:Poker, spelling bees, and....programming? (Score:2)
Silence is golden. Make yourself rich.
Re:Poker, spelling bees, and....programming? (Score:1)
Hmm... (Score:1)
I just see the code in my head... (Score:2)
Re:I just see the code in my head... (Score:1)
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.
Re:I just see the code in my head... (Score:1)
And this is why I'm a web developer (Score:2)
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)
Re:Real-time? (Score:2, Funny)
This was at a night club, not a strip club.
Darned geeks... always thinking of naked girls...
Wasnt this posted already (Score:1)
Team Hattig's Progress (Score:1, Funny)
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
Knuth would lose big time. (Score:3, Funny)
Obviously these oldskool fogies can't keep up with the leet haxtors.
What a programming competition really looks like (Score:3, Interesting)
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.
First? How's this first? (Score:2, Insightful)
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?
What's new about this? (Score:3, Insightful)
So what's special about this "real time" competition other than the silly names and the nightclub?
Re:What's new about this? (Score:2)
Re:What's new about this? (Score:1, Insightful)
Loki did this ages ago (Score:3, Insightful)
If you like to breathe in between keystrokes... (Score:2)