The annual Advent of Code has started once again! This lovely calendar is a Christmas based story being told through daily coding challenges. The creator, Eric Wastl, writes a beautiful and exciting set of challenges ranging from basic array manipulation to complex structures such a trie.
Previous years
Previous years got the better of me sadly. Not in difficulty of tasks, but rather with interest in completing them. I typically start out all excited, but I lose my motivation or focus too quickly. The reason for this lack is mainly due to effort from my side, but the side-challenge plays a role as well. This side-challenge is to complete the advent using a new programming language. The definition of new is up to the person.
Tech stack for 2024
This year I once more opened up the website, thought of a solution and then what? You’d guess I would jump right in and solve it, yeah? No. I spent the next 3 hours trying to choose a programming language to solve this in. Such a junior mindset… I ended up deciding on Go. The next hour was spent thinking of how I can setup the project in such a way that I auto-generate new days, grab the input file from the web, and use flags for debug prints. All amazing things to know, but still not solving the problem. After some harsh muttered words I came to my senses and in the most rough fashion I solved day 1. I decided right then and there that the complexity of the project is allowed to grow only after I have completed each day. If that means all 25 days have rugged, ugly, and barely-readable code, then I will celebrate to the moon! It means I have completed the Advent of Code 2024. This stays the goal.
I am writing this on day 3 and currently the “tech stack” is a standard Go project with no extra libraries. I used a ChatGPT generated script to generate some folders and a template file for each day. Each day has its own folder with a single .go
file alongside a test.txt
and input.txt
used as inputs.
Days 1 through 25
Below follows a short description of each day alongside my thoughts, strategies, emotions and perhaps what I’ve learned. Some days might be more detailed than other, who knows what Eric has planned!