We've come to the end of another year of Advent of Code. Apparently this year AoC saw the 10 millionth star issued since it began in 2015! Pretty impressive. Not sure of any final numbers yet, but I've heard there was again more participation this year than the previous year. The stats show that on Day 1, 190,118 people completed both parts and 22,274 additional people completed Part 1. And on Day 25, 7227 completed both parts with 4701 completing Part 1. Last year, more people stuck around to the end (quarantine-related?), but this year had far more participants.
Pretty cool.
I started the season with the framework I had begun building to quickly parse the inputs into a usable format, but I quickly realized that the inputs this year were a bit more complex than I was previously working on. I bailed on my framework and just resorted to simple day-by-day processing. I'll go back and refactor my earlier framework to include this year's processing needs.
I'm not one of the Competitive Programmers who always top the AoC Leaderboard, but I did participate this year with a few other programmers from the Working Code Podcast's Discord server. Some used Python, and a couple of us used CFML. I created a Private Leaderboard for us so that we could at least see how we were doing against some of our peers. Considering that most of the Top 100 Public Leaderboard spots were filled within just a few minutes of puzzle release, I'm glad I did it.
I didn't finish as many days as I wished I had. I only made it through Part 1 of Day 9 before time ran out. I ran into a huge stumbling block on Day 4 that really hung me up and killed my motivation. I gave it a few tries a couple of times, but kept getting wrong answers. I watched myself getting further and further behind, and just kinda set the whole thing aside for a few days. I finally went back to it and solved it, much easier than I thought I would, and realized I had been way over-thinking it. I tried to blast through as many as I could before time ran out, but stumbled again on Day 8. I managed to get the solution and knocked out Part 1 of Day 9, but struggled with Part 2 until I ran out of time. The biggest lesson I learned was to not try to do these late in the evening. And also, Off-By-One errors suck.
Oh, and Python (which has been on my Things I Want To Learn list for way too long) is much more capable of handling these types of problems. ColdFusion can do it, but some of the processing seemed to be much more straightforward in some of the other language answers.
I took notes on the days I did, and I need to finish writing them all up.
A big thank you to Eric Wastl for creating this, and another big thank you to all who participated. I look forward to doing this again next year. 👍
Working Code Podcast Group 2021 Private Leader Board |