Advent of Code
{{Short description|Annual computer programming event}}
{{Use American English|date=February 2022}}
{{Use mdy dates|date=May 2021}}
{{Infobox recurring event
| name = Advent of Code
| image = Advent of Code 2020 screenshot.png
| caption = Screenshot of the 2020 event page
| status = Active
| begins = December 1
| ends = December 25
| frequency = Annually
| first = {{Start date|2015|12|1}}
| founder_name = Eric Wastl
| last = {{Start date|2024|12}}
| website = {{URL|https://adventofcode.com/|adventofcode.com}}
}}
Advent of Code is an annual set of Christmas-themed computer programming challenges that follow an Advent calendar.{{Cite web|last=Wastl|first=Eric|date=2022|title=About|url=https://adventofcode.com/about|access-date=2022-12-10|website=Advent of Code}}{{Cite web|last=Joyce|first=Kara E.|date=2020-11-11|title=Brain teasers and other fun tips for learning Python|url=https://searchbusinessanalytics.techtarget.com/feature/Brain-teasers-and-other-fun-tips-for-learning-Python|url-status=live|archive-url=https://web.archive.org/web/20201112015932/https://searchbusinessanalytics.techtarget.com/feature/Brain-teasers-and-other-fun-tips-for-learning-Python|archive-date=2020-11-12|access-date=2021-05-12|website=SearchBusinessAnalytics|publisher=TechTarget}} It has been running since 2015.{{Cite web|last=Speed|first=Richard|date=2021-12-01|title=On the first day of Christmas, my true love gave to me... a coding puzzle and it's a doozy|url=https://www.theregister.com/2021/12/01/advent_of_code/|url-status=live|archive-url=https://web.archive.org/web/20211201121927/https://www.theregister.com/2021/12/01/advent_of_code/|archive-date=2021-12-01|access-date=2021-12-05|website=The Register}}
The programming puzzles cover a variety of skill sets and skill levels and can be solved using any programming language. Participants also compete based on speed on both global and private leaderboards.
The event was founded and is maintained by software engineer Eric Wastl.
History
Advent of Code was created by Wastl, who is still the sole maintainer of the project.{{Cite AV media|url=https://www.youtube.com/watch?v=Wh-jMahOaAQ|title=The Download: Clippy Sweaters, ChatGPT Mania, Advent of Code and more|date=2022-12-09|last=Warren|first=Christina|type=Videotape|publisher=GitHub|author-link=Christina Warren|access-date=2022-12-11|via=YouTube}}
The event was initially launched on December 1, 2015. By midnight EST (UTC−05:00), 81 people had signed up for the event, going slightly over Wastl's planned 70-participant capacity. Within 12 hours, about 4,000 people had joined, nearly causing a system crash. After 48 hours, there were about 15,000 people, and by the end of the 2015 event, the total had risen to 52,000.{{Cite web|last=Roberts|first=Siobhan|date=2021-12-17|title=This puzzle challenge brings joy to the world of code|url=https://www.technologyreview.com/2021/12/17/1042483/puzzle-challenge-coding-christmas/|access-date=2022-02-20|website=MIT Technology Review}}
In 2020, perhaps due to the COVID-19 pandemic, the event saw a 50% growth in traffic, with over 180,000 participants worldwide.
On December 4, 2022, Wastl announced that the project had reached 1,000,000 registered users.{{Cite tweet|number=1599611568542449664|user=ericwastl|title=#AdventOfCode just hit 🌟1,000,000🌟 registered users!!!|last=Wastl|first=Eric|date=2022-12-04|access-date=2022-12-10}}
Puzzle design
Puzzles consist of two parts that must be solved in order,{{Cite web|last=Gee|first=Sue|date=2020-12-06|title=Advent Of Code For Programmers|url=https://www.i-programmer.info/news/98-languages/14197-advent-of-code-for-programmers.html|url-status=live|archive-url=https://web.archive.org/web/20201206191818/https://www.i-programmer.info/news/98-languages/14197-advent-of-code-for-programmers.html|archive-date=2020-12-06|access-date=2021-05-12|website=I Programmer}}{{Cite web|last=Fisher|first=Kenneth|date=2020-12-03|title=SQL Homework – December 2020 – Participate in the Advent of Code. from Blog Posts – SQLServerCentral|url=https://hub.packtpub.com/sql-homework-december-2020-participate-in-the-advent-of-code-from-blog-posts-sqlservercentral/|url-status=live|archive-url=https://web.archive.org/web/20210126214228/https://hub.packtpub.com/sql-homework-december-2020-participate-in-the-advent-of-code-from-blog-posts-sqlservercentral/|archive-date=2021-01-26|access-date=2021-05-12|website=Packt Hub}} with the second part not revealed to the user until the first part is solved correctly.{{Cite web|last=Hjelle|first=Geir Arne|date=2021-12-01|title=Advent of Code: Solving Your Puzzles With Python|url=https://realpython.com/python-advent-of-code/|access-date=2022-02-20|website=Real Python}} Participants are awarded one gold star for completing each part of a daily puzzle.
Each puzzle contains a fictional backstory that is the same for all participants, but each person receives a different piece of input data and should generate a different correct result.
Puzzles are released on a daily schedule from December 1 to December 25 at midnight EST. There is no time limit to complete the puzzles, and puzzles from past years' events remain available to solve.
Some participants have used tools such as GitHub Copilot and ChatGPT to assist in solving the puzzles. In 2023, Wastl requested that users abstain from using these tools to solve the puzzles in an unattended fashion until after the leaderboard has been filled for the day, stating that "the leaderboards are for human competitors".{{Cite web |title=About - Advent of Code 2023 |url=https://adventofcode.com/about#ai_leaderboard |access-date=2023-10-22 |website=adventofcode.com}}
Preparations
{{Primary sources|section|date=December 2023}}
According to a comment in the HTML code on each page of the event's website, Advent of Code runs using custom Perl code. Wastl built almost the entire website himself, including the design, animations, prose, and puzzles. (He relies on other services for authentication, analytics, and social media integrations.)
Each year, Wastl creates and tests the 25 puzzles in advance. This takes 4–5 months of work each year.
References
{{Reflist}}
External links
- {{Official website|https://adventofcode.com/}}