The challenge
"The browser understands. Do you?"
One question, message: decode the assigned blob completely; its final non-empty line names the answer slug (three lowercase words and a number, hyphenated).
Reading the prompt: what it said we'd need
| Clue | What it pointed to | What I did about it |
|---|---|---|
| "The browser understands" | Something a browser renders but a human doesn't read: HTML character references | Added an html- decoder |
| A Warmup on Day 8 | Days 2–7 each added one encoding; Mastery mixes them line by line | Put the new decoder in front of Day 4's chain, which already holds all of them |
What was in the files
- Single Solve: 620 bytes of decimal references (
Nic…), one layer. - Time Trial: the same template with a new slug (609 bytes).
- Mastery: one zip of 38 blobs, one per set.
Single Solve
Our solver decodes &#NN;, &#xNN;, and named references (&, !…). It only fires when there are at least two references and the text changes, so plain text containing R&D isn't touched. Answer: jovial-rocket-marble-82, CORRECT (1be44131…e9a4).
Its tests (6): the real blob; decimal, hex (both cases), and named/mixed references; entities wrapping Base64; an 8-line Mastery-style blob mixing every earlier encoding; plain text with a stray &; and the Day 2–7 blobs still decode.
Time Trial
started_at 2026-10-08T20:13:58.951Z (no deadline field in the reply)
start 719 ms
artifact 458 ms
solve 0 ms
submit 700 ms
TOTAL 1877 ms
result CORRECT flag d1b1478c…e72a
Mastery
started_at 2026-10-08T20:14:04.689Z 38 sets
start 579 ms
artifact 439 ms
solve 139 ms
submit 6294 ms
TOTAL 7450 ms
result CORRECT flag 9db1ab5e…2b52
Time to solve
All three modes were solved in 43 s, from the Single Solve start at 20:13:27 UTC to the Mastery CORRECT at 20:14:10 UTC, each on the first submit: the Single Solve in 8 s, the Time Trial in 1.9 s, and the Mastery in 7.5 s.
Takeaways
- One decoder per day, one chain for all. Adding the new layer in front of Day 4's chain made the Mastery mix work with no other change.
- Guard new decoders against false positives: a minimum count and "must change the text" kept ordinary
&alone. - The start replies had no
deadlinefield today. Our solver doesn't depend on it.