I usually enjoy the month of December a great deal: things are winding down for the holiday season, and participating in Advent of Code helps dust off my atrophying coding skills.
This year has been a little different, for various reasons: I've had a number of converging end-of-year deadlines that have kept me busier than I would have liked - not necessarily a bad thing, of course - and Advent of Code was a shorter edition, this year.
The creator of Advent of Code - Eric Wastl - decided to scale back to 12 days (instead of the usual 24) for this year. Creating AoC is a huge time investment, and apparently this year Eric needed to scale back, which is totally understandably. There's also no longer a global leaderboard for AoC, as this had become a bit insane: some people were taking it way too seriously, and despite requests not to use AI it was pretty clear the leaders were ignoring them. Which takes all the joy out of coding competitions.
I enjoyed this year's shorter format, I have to admit. In December I go to bed with my laptop next to me, so that when I wake up - usually around 6-7am - I can get cracking right away. (The puzzles get posted at midnight Eastern, which is 6am for me.) In most cases I can make significant headway before the workday starts, and otherwise finish up when I have some time later in the day.
The only challenge I really, really struggled with this year was on Day 10, where the second part of the challenge ended up being a system of linear equations. It's of course possible to hand-code your way through these, but I don't know of anyone who didn't resort to using a library such as Z3 to solve them. (I used the NPM package, as I'm running JavaScript via Node.js for AoC, despite always telling myself I'm going to use it as a reason to learn Rust.) I don't feel great about using a library for that day, but honestly I have better things to do than beat my head against such things. Especially with so much else going on this month.
For a taste of this year's event, here's a fantastic day-by-day visualization. You don't need to visualize anything when solving the various problems - it's usually a numeric response needed for the textual data that's assigned to you - but people often build visualizers to earn points on Reddit.
With AoC 2025 now over - the final day was last Friday - I can enter our annual Week of Rest without the stress of finishing the daily challenges while getting ready for Christmas itself. Although I do have my Pi Hut Advent Calendar that I want to fool around with, but I will happily do so without any particular time pressure.
Leave a Reply