Songkeys

Songkeys

Hello. Songkeys here~ :D
twitter

[Chinese] AdventOfCode

Paul#

In 2017, I was in my second year of college. At this time, I had been studying computer programming professionally for less than a year.

Paul Dempster was one of our college teachers (after ten years at Nottingham, he now teaches at Lancaster). I still remember his enthusiasm in the classroom - with concise PPT formatting, he quickly and skillfully taught us basic programming knowledge using IDE and Terminal, as we were all clueless kids.

Compared to other computer theory courses taught by other teachers, I preferred his C language course. Because to me, it seemed more practical and enjoyable. I remember the interesting and sometimes challenging weekly quizzes he gave us, such as timed completion of linked list methods or formatting a disordered C language source file within a time limit (at that time, I was foolish enough to manually format instead of using an IDE formatter). This interest allowed me to achieve a score of 99/100 in the final programming assignment.

My First AdventOfCode#

During the review season of the second semester of my sophomore year, Paul sent us an email introducing AdventOfCode.com (forgive me for losing the original email because I couldn't log in to my school email after graduation).

In the email, he introduced this website as a programming puzzle website with daily puzzles starting from December 1st until Christmas, with two increasingly difficult parts. Completing each part would earn a star, and there were a total of 50 stars in 25 days. Many people around the world participate in it. People use it for speed-solving competitions, interview preparation, improving programming skills, competing with each other, or just for entertainment.

aoc-2017-homepage

Paul also created a private leaderboard for us to join and play together, although there were fewer than ten classmates who joined in the end.

I opened the website and completed the first day's puzzle in a few minutes, earning two stars. I was very excited.

One of my roommates, a top student, was also excited like me. We would eagerly wait for the puzzles to unlock every day at 1 PM (GMT+8, which is midnight EST), and then sprint to solve them.

However, not every day went smoothly. The puzzles became more difficult as we progressed. We often submitted wrong answers or wrote incorrect logic due to misunderstanding the problem, resulting in being locked out for a while. We also often had to wait a long time because of inefficient logic (once you play, you will see).

We clumsily wrote code, but were delighted to see it solve the puzzles. We worked hard to optimize the code, hoping it would run more efficiently.

Some days, I even created a visualization of the solving process.

In the end, we unlocked all 25 days.

aoc-2017-home-unlocked

We were very happy.

December Companionship Every Year#

Since 2015, every Christmas, AdventOfCode has a background story that develops gradually with daily puzzle updates, culminating in the conclusion on Christmas Day. The participants of the puzzles spend a happy and challenging month, creating wonderful and memorable memories.

In the following years, I introduced this activity to different people - new classmates, new friends, new colleagues...

aoc-my-recommendation-in-wechat-recommendation

In the days leading up to 2019, I even tried solving the puzzles using a different programming language every day (Songkeys/advent-of-code-2019).

Unfortunately, for various reasons, I couldn't make it past a dozen days and couldn't collect all the stars. I didn't have enough time to invest, and I didn't have the company of those classmates and friends anymore.

Let's Play Again#

In the blink of an eye, five years have passed, and it is now 2022.

I am no longer the clueless beginner in coding. Nowadays, I rarely write code for learning and interest, but more for work or project purposes. Although there are different pleasures, it always feels like something is missing compared to before.

I have decided to set a goal - this year, no matter what, I must collect all 50 stars on Christmas Day. And in the following days, I will slowly catch up on the puzzles from previous years.

If I have touched you, I'll be waiting for you on December 1st this year!

Community#

By the way, you can also visit these communities:

  • Discord: I have been playing on this Discord server for several years. It has the top 100 global players, experts in various languages, as well as beginners. People from different time zones often wait together for puzzle unlocks, discuss puzzles, help each other, and give hints.
  • Reddit: On this subreddit, you can see more activities (such as daily poems from a certain year), more amazing solutions from experts (such as someone solving puzzles using Arduino, Minecraft, or folding phones, or even writing papers on solving methods), and many interesting memes.
  • Behind the scenes (videos): The author, Eric Wastl, has shared some behind-the-scenes stories in many occasions.

Let's play together.

Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.