Sunday. Driving to San Francisco with Watt, who is an ACM International Programming Contest finalist, and Darryl, who is a highly ranked TopCoder contestant.
Me: Why don't the ACM competitors also do Topcoder?
Watt: They're very different. In TopCoder, you don't know whether your submissions are correct until after the contest is over.
Me: Wow, that really teaches careful programming! We should make TopCoder a required course in college.
Tom: It doesn't teach good design. In fact, it encourages obfuscation, since competitors are scanning your code for bugs.
Me: Good point.
Tom: When is the TopCoder collegiate qualifying round anyway?
Me: What? But you're out with us right now.
Darryl: It was at 10 a.m. I wrote it in 20 minutes and then came out to meet you.
Me: [flashing back to how I told Darryl that we'd pick him at 10:30am, plus or minus 10 minutes] But ... the round is 75 minutes. And then there's the challenge round. Why didn't you just ask me to pick you up last, after I picked up everyone else?
Darryl: Eh, I wrote the first two questions in 20 minutes. It'll be enough.
Me: Wow, that's confidence.
A few minutes later:
Me: One of my friends, Matthew, is a judge for the ACM World Finals every year. Last year, he created one of the questions. Midway through the competition, teams started to submit answers, and the answers ran through his tester app. Then he realized there was an off-by-one bug in his tester app. If any team submitted the maximum input size, his tester app would crash.
Darryl: What did he do?
Me: While the teams madly solved the programming questions, he madly debugged his tester app.
Me: On one side, you have a student typing furiously on the keyboard, racing against the clock. On the other side of the wall divider, a judge is doing the same thing.