Advent of Code 2025 retrospective
It feels weird to write an Advent of Code retrospective a week before Christmas. For years, it’s either been one of the last or first posts of the year. This year, the creator of Advent of Code, Eric, decided to limit the amount of puzzles to 12 days instead of the previous 25 and I really liked that.
This year, for the first time I reached the end credits. I got all 24 stars in 12 days.
I had a wonderful time as usual. I solved all puzzles with Python, using nothing but standard library for everything except day 10, part 2. My favourite part is writing about my solutions, explaining my thinking process and teaching how wonderful language Python is.
Over the past weekend and change, I’ve been thinking about this a lot. I’d like my explanations to be helpful in learning puzzle solving, iteratively building solutions step-by-step, debugging and Python.
Sometimes I feel though that my refactoring and cleaning up process polishes the solutions too much and I reach too eagerly to what is available in Python’s standard library, especially itertools and collections modules. They are very good things to learn about if you want to write good Python code but many of them are “if you know to reach for them” level of things rather than something you might organically figure out.
Hence, I’m not anymore sure who the audience for them is. Maybe next year I’ll really focus on writing beginner-level step-by-step guides rather than just beautiful Pythonic solutions. I especially felt this when I organised an in-person jam on the 11th and went through one of the puzzles with a student.
I did make new friends and reconnected with old ones through the writing and it was a highlight of the year for me.
This year, I learned a lot from the following people who shared their solutions in a lovely variety of programming and human languages:
- Mina (Perl)
- Paul (Go)
- Dr. Neil (Haskell)
- Adrien (Python, in French)
- Antti (SQL, in Finnish)
- Dan (Python)
- Christopher (Python)
- Marcos (Python)
- Abhinav (Janet)
- Stephen (Java)
- Kirsty (Python)
- Erlend (Lean 4)
Big thanks to Eric for once again building these puzzles for us to solve and to Koodiklinikka, TurkuDev, Asteriski and Reaktor communities for solving these with me and discussing the solutions.
If something above resonated with you, let's start a discussion about it! Email me at juhamattisantala at gmail dot com and share your thoughts. In 2025, I want to have more deeper discussions with people from around the world and I'd love if you'd be part of that.