ICFP2003

Matt and I both entered this year’s ICFP programming contest.. I have to say thanks to Matt since I used his GUI code with a few hacks to work on my solution. We also kicked around ideas and chatted on Yahoo in the wee hours of Saturday night.

It was tremendous fun to watch my little car repeatedly crashing into the wall and then trying again, getting a little better most times. I achieved some reasonable times in the end but nowhere near the top league of results that I have seen. I have uploaded my submission here. You are free to check it out. You’ll realize just how much I relied on Matt’s GUI. My main contribution is in the LapDriver class. Funny when you are trying to code quickly – fields quickly become public and there is lots of dead code from experiments that didn’t work out. My times were

track

1

2

3

4

5

6

7

8

9

time

10307

16346

18557

20957

6351

5399

3989

10884

Not attempted

It makes you realise just how incredible the human brain really is. Just looking at the track picture, anybody could find a reasonable path in seconds. Sure we can optimise that with a computer program and we can write that program with a little effort. But to write a program to find that initial path – that is hard. Not only that, it’s amazing how the brain can keep the rest of you going when you should have been asleep hours ago.

Speaking of programming contests, I recently heard that MacTech is stopping their programming challenge. That was a great series. I only entered it once to write a Java Virtual Machine in 1996, I think. I wrote that in C++. It wasn’t the fastest sicne I solved a more general problem than required and others used PowerPC assembler. Nevertheless I learnt a huge amount about the Java VM in a very quick time. Some of that code lives on in the Ant <depend> task, now rewritten in Java.