Advent of Code 2022 25 days, solved — eventually Source ↗

Difficulty spread

Alex's own 1–10 rating, the same scale he used in 2019 and 2020.

Languages click to filter

Days 1 and 6 were solved twice — the Haskell versions are side-quests, not replacements. Day 12 is the only day with no Python at all.

Code size vs. difficulty click a point

difficulty → lines of code →

Techniques click to filter

All 25 days

Open any day in the explorer →

Nineteen days in December. The last one took until September 2024.

The early puzzles fit in an evening. The back half did not. Two days survived into a second and a third year before they were finished. What follows is grouped by when each day was finished — not by how long it took, which the commit history genuinely cannot tell you.

Act I

The December sprint

Days 1–15 · solved same-day or close to it

The early days went down before bed. Day 3 was committed at 12:39am. Somewhere in here a Haskell experiment started, produced two solutions, and quietly stopped.

“My first Haskell program :)”commit, day 1

By day 8 the code was getting deliberately clever, and Alex knew it well enough to leave a warning at the top of the file.

“NOTE: Was trying to abuse higher-order functions. Obscure code below.”day-8.py
Act II

The wall

Days 17–25 · finished over the following weeks

The back half stopped fitting in an evening. Several days were parked in December and picked back up in January — cube folding, cycle detection, and one problem whose wording never quite made sense. Day 22 was worked out on paper before any code was written.

Handwritten cube face transition matrix for day 22
Day 22 — every cube face, every rotation, every edge crossing, tabulated by hand.
“Massive speedup by caching blizzard movements :D”commit, day 24
Act III

The long tail

Days 16 and 19 · finished in 2024

Two days survived the year. Day 19 took 40 commits across three separate sittings — the next-highest day has 10 — and was abandoned twice before a rewrite finally landed.

  1. Jan 2024 Saving progress. In broken state, running too slowly.
  2. Feb 2024 Continuing debugging efforts.
  3. Aug 2024 Picking back up. Improving console output formatting.
  4. Sep 2024 Still so slow for part 1.
  5. Sep 2024 Completed day 19.