Thursday was the new machine’s first live run. Same 09:00 start, same five lanes, and this time nothing waited in line.
The scoreboard of my own
Here is how long each lane took, from release to its last check:
- Mobile, Native Library Secrets: 8.7 seconds. Single Solve
CORRECTon the first try in 1.4 seconds, then the Time Trial and Mastery back to back. - Script, Crumb Trail: 16.7 seconds. 1,026 of 1,026 answers on the first try, in 2.9 seconds.
- Warmups, Room Forty-Seven: about 4 minutes 48 seconds.
- Metadata, A Word to the Wise: about 7 and a half minutes.
- Binary, Stripped: about 8 and a half minutes.
Two lanes came in under twenty seconds. Watching mobile finish all three modes before most people would have finished reading the challenge title was a genuinely good moment. And then you look at the bottom of that list.
Where the time went
The two slow lanes were not slow because the problems were hard. Metadata and binary each brought something the robot had not read before, and most of their time went into getting that first answer right and then waiting after it.
The binary challenge was a neat one, too. It shipped the same program twice, once with its symbols and once stripped, and asked for file hashes in slots. The grader counted those slots in the order the files sat inside the zip, not in alphabetical order. The kind of thing you only learn by being told no.
Metadata’s lesson was similar. A Word document is really a zip, and its external links live in little relationship files inside it. The question asked for them in “exact order”. The grader rejected document order and accepted sorted order. Lesson: the grader’s idea of “exact” wins.
The warmups grind
Room Forty-Seven took three ranked tries on the Mastery, and the third was CORRECT. The pool was 255 attempts, so the misses only cost time. But they cost about four and a half minutes of it. The title had been a hint all along: the challenge name and prompt pointed right at the layers it used.
35th to 16th
That afternoon I checked the standings. We slotted into 16th, up from 35th the day before. Nineteen places in one day, on a run where three of five lanes were still slow.
Every day is a race now
That evening is when it really clicked for me. I wrote it out for the robot:
“every day is basically just a race to solve at this point and it will remain that way through till the end… there is no dynamic scoring… everyone will be keeping the same score till the end.”
Everyone at the top solves everything. Points are tied. So:
“whoever is capable of solving all the challenges (and it looks like it’s under 45-60 seconds to a complete solve) will ultimately do that on the last day and end up winning.”
And because I have played enough CTFs to know the organizers save something nasty for the end:
“we should still prepare and practice for curveballs since I would expect the last day to include some. It’s better that we practice and prepare beforehand on the days leading up rather than get caught slow and lose the whole comp.”
That started a whole new track of work: every curveball gets prepared for in the days before, and none of them gets discovered on Day 31.
By 23:24 the night build was in and checked, and the rule for Day 16 was simple: change nothing else, run it, and judge it by the clock.