Ryan Ingram (ryani) wrote,
Ryan Ingram

ICFP contest results

Back in July, I participated in the yearly ICFP programming contest, along with Jeff Gates (Maxis) and Tod Semple (Popcap). Our team was "SPORE September 7th, only $49.99! Play Bejeweled at popcap.com!" While we were brainstorming team names, Jeff suggested "Spore 9/7" and we thought it was funny. So we took it to the most ridiculous level possible while staying within the contest rules: "team names must be no more than 63 ASCII characters."

Yesterday night, at ICFP, the contest organizers presented the results. Here is my summary of that report.

The organizers provided a CD with a bootable linux distribution along with a sample "server" you could connect to with your rover client for testing. The server was 3300 lines of SML/NJ and/or MLTon code (which ML they used wasn't clear).

During testing, they also wrote two test clients; one was 800 lines of ML (sharing 500 lines with the server code), and one was 1400 lines of Haskell. These were used for gauging the problem difficulty.

They also made two random map generators, in about 860 lines of ML.

The submission server was PHP, and the test harness used during evaluation was a combination of Concurrent ML and shell script.

Language frequency used by submitters:
Java 56
Python 54
C++ 54
(those 3 are slightly over half of all submissions)

Mathematica 1 (!)
LaTeX 1 (author's blog)

Country breakdown:
US 192
Japan 106
Russia / old USSR(?) 54
Australia 20
UK 24
France 24
Germany 47
India 4 (surprisingly low)
South Africa 3
Spain 3
Italy 4
Brazil 1
many other european countries 1-5 each

Team density (#teams / million population):
New zealand: 1.6
Australia 0.9
Latvia 0.85
Japan 0.8
India 0

There were 140 lightning round (24 hour) entries, 336 regular (72 hour) entries.

The judges prize went to the LaTeX entry (of course): "Aside from demonstrating ubiquity of universal programming languages, this entry serves to remind us why we work on programming languages by showing how painful programming with bad or no abstractions can be."

Lighting round top 10:
1 jabber.ru (OCaML)
2 td
3 Spore / Popcap!
4 Team Smartass
5 shinh
6 Om Nom Nom Nom
7 Error 404
8 The TeddyBorg
9 Side Effects May Include...
10 Cashto

Final top 14 (round 11, not in order):
Error 404
Om Nom Nom Nom
Team Smartass
souris aveugle

Round 9 had a TON of martians (50?)
Round 10 had a wall
Round 11 had a wall + mini-maze

Our team was 17th; I guess we lost on the first wall map. Which is odd; we had code to deal with that case specifically, but I guess our complete lack of pathfinding eventually came back to bite us.

Winner: Team Smartass, using Java (is this the Google team?)
"As much as it pains me to say this, Java is the programming tool of choice for discriminating hackers."

I'll post about our algorithm & design later.
  • Post a new comment


    default userpic

    Your reply will be screened

    Your IP address will be recorded