I discovered Advent of Code in December 2023 while I was director of eng at Topaz Labs. I overheard my teammates talking about a coding advent calendar and got really interested. After trying a puzzle, I became an addict. I have since moved on from Topaz and am head of eng at Eddie AI now, but I took AoC with me. I'm on and off again each holiday season, but I'm on a steady mission to earn all the stars. And read all the lore ;)
At Topaz, AoC puzzles were a way for me to have fun coding when my job was mostly management, leadership, code review and meetings. It was like a lost love I could no longer get at work. At Eddie, I can write all the code my heart desires. But I find these AoC puzzles allow me to get back to my origins and just code for the love of it. Lately I found that in this modern landscape of AI-assisted development, AoC allows me to unplug from Skynet, and flex my muscles without Copilot auto-completing half my work.
I've been able to share the joy of Advent with some coding friends and I hope you can find some too! Or if you are here for inspiration, I hope my solutions are helpful to you!
My goals/rules:
-
I am using a different language for each year. I'm alternating between old-but-familiar friends and brand-new acquaintances. I think this makes each new year a fresh challenge and something to be excited about.
What will I do when I run out of languages? Who knows! That sounds like a problem for future me. Maybe roll my own? Get out my Assembly textbook? Write in binary? PowerPoint?
-
Besides 1 new language per year, my aim is for the code to be straightforward, self-contained and understandable to anyone coming here. Interview-code style. I'm looking for reasonable efficiency, but not hyper-optimized. No non-native dependencies. No sorting libraries. Mostly primitives.
-
Lastly, I'm saving inputs to files and doing File I/O for each problem. Which I know is slower, but I like to experiment with File I/O in new languages. Sue me. I think it's scratching an itch from college or something (can't be from the B- I got for forgetting a homework assignment over Christmas break could it??)
- 2025 (WIP) - Java
- 2024 (21/50) - Go
- 2023 (45/50) - Python
- 2022 - ...
- 2021 - ...
- 2020 - ...
- 2019 - ...
- 2018 - ...
- 2017 (50/50 ⭐) - Swift
- 2016 (50/50 ⭐) - Rust
- 2015 (50/50 ⭐) - C++
I have a lot of work to do :')