Log in

No account? Create an account
Lindsey Kuper [entries|archive|friends|userinfo]
Lindsey Kuper

[ website | composition.al ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

ICFP [Jul. 19th, 2007|09:15 pm]
Lindsey Kuper
[Tags|, ]

So I somehow seem to have been suckered into participating in a 72-hour programming contest with Paul stereotype441, Jesse jes5199, Kim boojum, and Josh j3h. (Or hanging about while they try to code, anyway. I have no idea if I can actually be of any help. I may not know the language they'll want to use. I've never even used darcs. Paul is talking about FFTs and stuff, and I think I'm in over my head. But I guess we'll see.)

We're at Farpoint. The contest starts at 3 a.m. our time. Paul, like a sane person, is actually going to bed and meeting us in the morning; Kim is apparently coming over at 3; and Josh and Jesse and I appear to be preparing to stay up all night.

T minus 6 hours:
"I'm going to go watch a movie, which is kind of like sleeping."
-- Jesse

7:10 a.m. Friday:
Kim and Josh are implementing DNA-to-RNA in, uh, Haskell, I think. Jesse is implementing RNA-to-image in Ruby. Lindsey is...reading the problem statement, and trying to grok the difference between clip() and compose() in graphics terms.

Favorite conversation so far:
Josh: "This is it! This is consts[1]."
Kim: "Except, no it's not. This isn't consts, this is the..."
Josh: "Oh, this is the inverse."
Kim: "Yes! This is... it's... sss...'stsnoc'."

11:07 a.m.:
I'm bailing; it's too hard to participate when I don't know either of the languages. I understand most of the problem statement, though! And it reminded me of stuff I did in Automata, which was nice. And I figured out one or two things about darcs. And I analogized Jesse's ideal flood-fill algorithm to "the Roomba algorithm", which may have made him crack a smile. And I learned that Ruby doesn't optimize for tail recursion, because, well, I guess because they don't expect people to be doing so much recursion that it might be necessary. And that ImageMagick is no longer free (What?! Jeez!). And that I have a year to get conversant in a language that doesn't suck.

They've suggested I come back later, perhaps, when it's time to do less coding and more thinking, and I might be able to if they haven't left English behind entirely at that point.

Paul: "Well, I think I have things that look like drawing commands. You know, things like PPPFFFFFFFFF and TTTTTTTTTFFFFFFFFFPPPPP. *pause* Don't those things look like drawing commands to you guys?"

12:30 p.m. Saturday:
I've been out of the loop for more than 24 hours now, but according to the group's chat, it seems like much progress has been made. Oh, and there are 115 patches to pull from darcs. ...Uh, yeah. There's a lot of new code here. Yay, group!

I don't know how much I'm allowed to say about the code, but I have to tell this story: last night, as Indigo indy1725 and I were waiting in line at Powell's to buy Harry Potter at midnight like the dorks we are, I happened to mention that the group had hit a few bumps implementing flood fill. I had never heard of this algorithm before yesterday, and for some reason I hadn't expected Indigo to know what I was talking about either, but he was all, "Oh, yeah! It sucks! You run out of stack space!" I was like "Yeah! I know! That was exactly what happened!" and then some other guy in line next to us was all, "Yeah!" At a Harry Potter book release party at 11:30 on Hawthorne on a Friday night. Only in Portland, man. I love this town.

12:22 p.m. Sunday:
They're in spot 16! They're in spot 16!

12:56 p.m. Monday:
They ended up finishing in spot #28, out of 856 teams. That puts them in the top 3.3% of entrants. My friends! My friends did this! My roommate and my co-worker did this. I am proud to know them.


[User Picture]From: pixelherder
2007-07-21 10:09 am (UTC)
I only started this evening, but I've got working C++ code for DNA->RNA.
(Reply) (Thread)
[User Picture]From: lindseykuper
2007-07-21 08:05 pm (UTC)
Hey! Congratulations! I'm so glad you're doing it; it really seemed right up your alley when I read the problem statement. Are you doing it on your own?
(Reply) (Parent) (Thread)
[User Picture]From: pixelherder
2007-07-21 10:00 pm (UTC)
Yes, I am. Normally, I don't mind working with people but it helps to be physically present when speed counts. I'd always meant to participate in the ICFP contest before, but they always seemed to fall on bad weekends.

So far things are moving along. My program from last night decodes the DNA->RNA in 34s on my machine and the rendering code turns the RNA into a broken image (just shows the purple part of the sky) in 3s. Gonna take a break, grab some food and debug it later.
(Reply) (Parent) (Thread)
[User Picture]From: pixelherder
2007-07-21 10:02 pm (UTC)
Hmm... looks like the other layers are there too, it's just not flattening the image correctly. Oh well. I'll continue later.
(Reply) (Parent) (Thread)
[User Picture]From: lindseykuper
2007-07-22 04:03 am (UTC)
Are you on the scoreboard yet? My people are in spot 70!

(Well, uh, with the same answer as everyone else in spots 21-80. I'm guessing that that's the 28-character prefix given in the problem statement.)
(Reply) (Parent) (Thread)
[User Picture]From: pixelherder
2007-07-22 09:02 pm (UTC)
I am now, and I've fixed a small corner case in the DNA->RNA code so that the diagnostic renders. I'm stuck on looking for this "field repair guide" that folks seem to be talking about, though.
(Reply) (Parent) (Thread)