Monday, 30 July 2007

How did it go?

The ICFP Contest 2007 ended last Monday. We have seen writeups of several teams that participated in the ICFP Contest. Many of those are interesting and sometimes funny reading. We particularly enjoyed

Marco Galotta collected a list of writeups, and posted them on his blog

We don't want to give our writeup now, we'll do that for ICFP in Freiburg, but we do want to briefly share our experiences.

We had a very hectic and pleasant time. I cannot remember I've had such an intense time at work before.

Headquarters was never empty during the 72 hours of the contest. We had a laptop showing several screens via a beamer: last 20 submissions, standings, the icfp mail account, several irc channels devoted to the contest, etc. Not much happened in the middle of the contest, but both the start and end were very hectic. The end was a thriller, I can assure you. But more about that at the ICFP conference in Freiburg.

Everything went fine. We haven't discovered an error in the task description yet. Initially we were worried about the slow start by many teams, but as time passed we were increasingly impressed by the creativity and cleverness of many teams. We have excellent winners. Our machines were unreachable twice for a short period, but that hasn't been a problem. Web statistics show that we processed millions of hits in these three days. All in all we are quite satisfied by how things went.

From now on we will prepare our presentation at Freiburg. By then we will know whether or not Endo survived. In the presentation we will discuss the problem, possible solutions, techniques we used to create the problem, solutions we have seen from the participants, the winners, etc. We will hand out a writeup about the contest in Freiburg.

Monday, 23 July 2007

Thank you

Thank you all so much for participating.

It has been heart-warming to see all participants trying so hard to save the poor Endo. It was a hard struggle, but we are very optimistic Endo will survive. We have sent the best submitted prefix to Arrow, but haven't heard anything since. We hope that this is due to the fact that Arrow is using all its remaining energy to apply the DNA prefix to Endo, and not because something has gone wrong. For now, we can do nothing but wait for a sign of life. Repairing DNA takes time, but we expect that we will know whether or not it has been successful by the time of the ICFP Conference in Freiburg.

Friday, 20 July 2007


Ok, here's the story, as unbelievable as it sounds. It looks like the message was a call for help, sent by the ship that also appears in the sequence of pictures. The ship seems to be called Arrow and to be a sentient being, or at least intelligent. Apparently the story as told by the picture sequence has actually happened, with the final picture (decrypted by us today as expected) happening three months ago, about when the message was sent to us.

It is the story of Endo, a specimen of the extraterrestial Fuun. Endo was garbage-collected while sleeping in his(?) ship Arrow and unfortunately drifting into a heap of junk. Garbage collectors are apparently common in space and run by a species called the Imps. They like to drop junk on underdeveloped worlds (sorry, this is what Arrow told us). So the ship, together with lots of other stuff, was dropped on Earth. Arrow was damaged in the process, and before it could warn Endo that the atmospheric conditions of Earth are not very suitable for a Fuun, Endo left the ship – only to be hit by a cargo container! Endo is now in serious trouble. According to Arrow, the only chance to save Endo is to adapt him to the conditions that are prevalent on Earth by changing its DNA.

The hitch is that Arrow, being damaged itself, is running low on energy and cannot come up with a good modification itself. It can still perform the actual transformation process, but only if it gains knowledge of a suitable transformation soon. Arrow tells us it only has slightly more than 72 hours left before it will shut down!

During the last days, we have been able to decipher large parts of the original message, found out that it is about DNA and describes how Fuun DNA works. We therefore have some understanding now about the process involved. Unfortunately – and we feel really guilty about it – we have given all of this a low priority due to the upcoming contest, and the one thing we didn't find out until after we actually made contact with Arrow, was that this really is a cry for help, and how urgent it is! If only we had found out earlier, we would have had much more time to save Endo!

Because of that, and also because it is really the only thing we can think of to still give Endo a chance, we will change our plans. We will abandon the original topic we had in mind for the ICFP contest (writing generic programs in order to design boilerplates). Instead, we make it the task of the contest to Morph Endo!

(Of course, we still are not 100% sure if the message is actually authentic, but from what we've seen, there seems to be a lot of structure in the DNA we discovered, and a lot of information provided by Arrow, and we doubt someone would put so much effort into a joke.)

Wednesday, 18 July 2007


We seem to have made contact with the author of the message. At least that's what we believe. Communication is still, well, difficult at best.

With the contest starting in a few days and the preparations more or less in place, we can now put a bit more effort into solving this mystery, and I am very curious where it will lead to.

Monday, 16 July 2007

The message

You might remember the 'SPAM' message we received more than 3 months ago (see my message on April 26). For a long time, the only thing we managed to do with it is decrypt pictures, which already takes us a lot of time. We run the decryption process on one machine, and get about one picture per week. It seems there's only one picture left to decrypt, and that should be ready by Friday. The pictures appear to tell a story, but we cannot make much sense of it.

However, it was clear from the beginning that the pictures are only a small part of the message, and the rest remained a big mystery to us ... until last week, when Alexey suddenly had a brilliant idea that turned out to be a major breakthrough. Since then, we have not only deciphered a large part of the message, but we also have an idea about who sent it. It is all very strange, and we still do not know whether it all is a joke (maybe from an ex-student?) or whether it could be real. I'll keep you informed about our progress.

Friday, 13 July 2007

Wednesday, 4 July 2007

The team

Let me introduce the team. I cannot disclose their contributions in detail, for obvious reasons.

Atze Dijkstra and Doaitse Swierstra. Contributed to the brainstorming sessions in 2005 and 2006.

Eelco Dolstra. I think if someone in the team qualifies for the label hacker, it will be Eelco. Eelco has participated in several contests. He has developed, amongst others, the central component for this years' contest. He is not a religious Haskell hacker (as many of us others are), and that has definitely been a Good Thing.

Chris Eidhof, Maaike Gerritsen, Jeroen Leeuwestein, Eelco Lempsink, Martijn van Steenbergen, Mark Stobbe. Student testers. Contributed to many aspects of the problem after they finished their test run.

Jurriaan Hage. Jurriaan has a broad background, and has contributed to several components of the task. Unfortunately, none of these can be disclosed.

Bastiaan Heeren. Enthusiastic member from the start. Has become the central organiser in the team, and is continuously adding and testing new ideas, implementing tools, pushing students to implement ideas, answering questions, etc. He knows most of what is going on, what still needs to be done, who is doing what, etc.

Stefan Holdermans and Arie Middelkoop. Young, starting, PhD students, who also have to write their first papers, so they cannot spend as much time as some of us others on the contest. I cannot disclose Arie's contributions; Stefan mainly worked on the task description. His perfectionism is exactly what we need for the task!

Johan Jeuring. Johan is the chairman of the organisation committee. He takes care of the `external relations'. Furthermore, he contributed to the problem and the task description. But he spends most of his time on organisational matters.

Andres Löh. One of our two external members. But he did his PhD here, and will become a lecturer very soon, so he cannot really be called external. Has participated in several contests (even won one!). Contributed many things: story, basic constructs, task description, theory development, etc.

Clara Löh. Our other external member. Did most of the artwork.

Alexey Rodriguez. Together with Eelco, I think Alexey is the other candidate for the hacker label. Has been away a couple of months to optimize GHC in GHC-headquarters, but has picked up very quickly again after he returned. His main contributions have to remain a secret for now. They're slightly obscure, but I hope you'll enjoy them anyway.

John van Schie. One of our students, and another hacker, who has implemented the communication components.