This is fantastic in every way. The hardest part of participating for me was finding more time closer to the holidays as the challenges got harder. Fewer, better challenges, with more space between them and the end of the year is a brilliant solution. So excited and grateful.
One of the reasons I stopped participating was that as the second half of december was approaching I had less and less free time for solving the puzzles. So to me it is also a welcome change, I will try to finish it again this year.
I once has this half serious idea to do "Advent of Parenting", with one problem per month, and you start after Christmas. As in, youre so delayed you start in the New Year, and have time for one problem per month.
This. The best I've ever achieved is maybe 15 puzzles on one year, with gaps for the days I missed. And this was when the puzzles were incrementally building upon implementing a bytecode interpreter, which was relatively little work per day.
Once I miss my first day, playing catch up is an effort in vain, as the puzzles start taking 4+ hours to solve each, solving multiple in one day is a full-time commitment.
Most advents of code I've fallen off sharply after day 7-10, if not sooner, and I'm pretty sure I'm not alone in this. I think this is a welcome change.
Yeah, totally this. I've had so much fun with AoC, learning nim, elixir at the same time.
I would normally tap out around the same place on the first dynamic programming puzzle which just takes me so long to wrap my head around each time (tips anyone? :)).
I welcome these new changes, and what ever the format are very greatful for all his hard work!
They're not as magical as they seem, you just need some practice. Read over the dynamic programming section in https://cses.fi/book/index.php (pdf link near the top is the free English version), then do a few on https://cses.fi/problemset/ . You'll be able to handle the AoC dynamic programming ones with _no_ problem at all.
Most years, I end up finishing the puzzles in January. Same reason- I end up missing a day due to schedule issues. Since it's just a 'for fun' challenge, it isn't the end of the world if you fall behind a bit. That said, this doesn't work if you are doing this as part of a group.
Same, I love AoC but I just never have time for them (December is always the busiest time of year in my job).
I would have liked if a puzzle was released every 2 days though so it still spanned the whole month. Would be more aligned with the advent calendar concept. In fact in previous years the puzzles have always had two parts so if that format is still being retained there will still effectively be 24 puzzles.
Agree. It was getting in the way of me spending time with the family because I was distracted mulling over the puzzles.
I had thought last year that they could peak the difficulty around the middle of the month and bring it down a bit leading up to the 25th. But just finishing it earlier is probably better IMO.
You can see aggregated results on `stats` [1] for every year. In general, half the people drop in the first 3-4 days. For last year, by day 12 there is less than 1/5 of day 01. While the stats do count people that completed later, the shape appears to track well with what I saw during the events since 2021.
This prompted me to try out claude code on last years... To absolutely no surprise, it looks like the model was trained on advent of code. For the day 2 challenge, I put in this prompt:
for each row in input.txt, identify all the rows where: 1. the columns either all increase or decrease 2. the increase/decrease is >1 and <4. count total # of rows that match this. write a python script
It solved it very quickly. However...
It's solution code included this comment:
Check if a report is safe based on two criteria: │
│ 1. All levels must be either all increasing or all decreasing │
│ 2. Adjacent differences must be between 1 and 3 (inclusive)
This is odd because I never mentioned reports or levels... However the challenge does:
The unusual data (your puzzle input) consists of many reports, one report per line. Each report is a list of numbers called levels that are separated by spaces. For example:
> how did you know to call them reports and levels?
Good catch! I noticed that terminology in the input file structure. When I read input.txt, I saw the data format - each row
contained multiple space-separated numbers.
I actually made an assumption based on common Advent of Code patterns (this looks like a typical AoC problem structure). The terms
"reports" and "levels" aren't explicitly stated in your requirements - you just said "rows" and "columns".
I should have used more generic terms like:
- "row" instead of "report"
- "values" or "numbers" instead of "levels"
Would you like me to update the script to use more neutral terminology that matches your original description?
Whenever there's a change like this, my gut reaction is to grieve and try to imagine ways that things could be kept the same.
After thinking, "maybe puzzles could be designed by a group instead of an individual and they could share the work," I then thought, "and couldn't an LLM help?"
And with that, I had to remind myself: Advent of Code isn't about there being 25 puzzles, and so maintaining volume at all costs has nothing to do with it.
And aren't we so lucky that it isn't! Aren't we lucky to have had the prior 500+ challenges given as gifts over the years! Aren't we lucky to have a great demonstration of humility and care! Aren't we lucky to have 12 new gifts to look forward to this year!
I think the easiest way to have 24/25 of something would be to have the "part 2" for each puzzle get released the next day. It would probably ruin the momentum about as much as having days off would (as another alternative to make the timing fit "advent"), but there could be a fun extra layer of puzzle with a hint of what the part 2 will be so people can try to speculate and modify their code in anticipation.
I am not aware of Eric saying something about that alternative, but this comment on reddit[1] makes a lot of sense to me:
> Given that part 2 is often a very simple modification of part 1, this could lead to many of the days being total letdowns. I can enjoy a simple puzzle, but I'd be a bit disappointed if one day is a single line change to the previous day.
I'd also add that not having to be worried everyday about something makes a lot of sense. He can have fewer days "on call" in December with.
I’ve been trying to design a puzzle for a game this year that humans can solve but LLMs can’t. I’ve come up with one, but it was hard work! It’s based around message cracking.
There was one in a previous AoC that I think stumped a lot of AI at the time because it involved something that was similar to poker with the same terminology but different rules. The AI couldn't help but fall into a "this is poker" trap and make a solution that follows the standard rules.
They have hundreds of challenges that humans can solve in under a minute which LLMs can not. Seems the general trend is figuring out the rules or patterns of the challenge when there are few examples and no instructions.
Perhaps coding exercises that require 2d or 3d thinking, or similar. This is where I have seen LLMs struggle a lot. There are probably other areas too.
Hate to be the... whoever I'm being right now, but names have meaning. It's the reason to have them in the first place.
> Advent of Code isn't about there being 25 puzzles, and so maintaining volume at all costs has nothing to do with it.
It's the Advent of Code. Not "Random late year event with no religious / commercial tradition connotations whatsoever" of Code. The 25 is there in the name. It's the whole point :).
Advent does not mean 25. It just means 'the coming', so 12, 25, 1, 8 are all acceptable lengths. And if you reay need it to be 24 you can calm it 0.5 per day.
It's a reference to a German tradition of Advent Calendar with 24 small doors. Every day from 1st to 24th of December children would open one door and find a candy, a picture, a small toy, a quest etc. depending on calendar's theme
I get it, but Advent calendars are not just German. I am pretty sure they are common all over the western world where Xmas is celebrated. But Advent doesn't in any way mean 25.
Really though, for Catholic and protestant churches, Advent starts the fourth Sunday before Christmas, so isn't always the same length. In Orthodox Churches, Advent is 40 days (starting Nov 15) just like Lent.
Right, mini-spoiler if you've never reached 50 stars for a year:
The 50th star is awarded for having the other 49 stars and then basically clicking OK I think. If you've been diligently solving them in order, it means you effectively get two stars for your final 49th puzzle of the year on Christmas Day, which makes sense because then the puzzles are very hard and a "normal" puzzle wouldn't leave much time for other Christmas Day activities. But if you're the sort of person who often gives up on a day and never comes back you may never have seen this because you never got to 49 stars.
You're not quite right that the Christmas Day puzzle is trivial - it's the first half of a maybe week 1 type difficulty puzzle, but there just isn't a second half:
Here's the puzzle text for last year's Xmas Day (if you are logged in you can play, but even without it will explain the puzzle it just won't give you an input to test your solution):
Advent comes from the Latin word adventus, which means “arrival” or “coming.”
It refers to the coming of Christ. There is no 4 in the name, no 24, 25 or whatever else.
And even in the places where it’s 25 days, there’s plenty of advent calendars that only have 12 doors - though they’re typically budget versions of expensive calendars (eg a dram of whisky behind each door)
This largely depends on who you're asking? I don't know anyone who wouldn't consider 24 the course correct number of Advent, simply because that's the common number here (we celebrate Christmas on the 24th). So 12 makes perfectly sense, just do every second day.
There are also many groups who don't start on the 1st of December, but on the first Sunday of Advent. And probably many others.
If, as you claim, the association of 25 to "advent" is primarily commercial, that's much more of a reason to avoid that association. In any case it's very culture-specific. In many countries, including mine, Christmas Eve is the "main" event that people look forward to, and the number of "advent days" in calendars and such is 24. On the other hand, ecclesiastically there are four Advent Sundays, and the number of days is thus variable and also not really pertinent.
Technically the event needs to go for a certain number of days, but Advent doesn't mean puzzles must come every day. They can do puzzles every 2-3 days if they want to.
"pedant who didn't look up their own point or consider other world perspectives before boldly declaring that the way they thought about it first was the only true way"
In the spirit of pedantry, I added even more minor detail!
For Christian Advent to be exactly 25 days long, that would be a coincidence.
Advent is not the time from December 1st until Christmas, it starts on whatever days the fourth Sunday before Christmas happens to fall on that year. This way, there are exactly four Sundays in advent.
If Christmas itself should fall on a Sunday one year, it doubles as the fourth Sunday of Advent, i.e., then the first of Advent will be only three weeks earlier.
All correct. Which is why I said religious slash commercial tradition - Advent is first and foremost just another sales event, and for convenience of sellers and buyers (and their children) the commercial advent got regularized to 25 days, so the stock of calendars that failed to sell last christmas season can be put up to sale in the coming one.
You're forgetting about Halloween, Black Friday/Cyber Monday, and the most recent Singles Day (11.11); the Commercial Calendar is steadily squeezing the Christmas Season into December and out of the rest of the year!
Right, my local grocery store moved Halloween stuff to where Diwali stuff was near the front of the store, and immediately put Xmas stuff where the Halloween stuff used to be, in a week's time it'll be a whole aisle of Xmas.
Commercial Halloween starts during October just after or parallel with October-fest. It ends before end of October because people buy things for an event before it starts. End of Halloween is when Commercial Christmas starts.
There is no time for actual advent or winter calmness in general.
I decided to indulge in a Dunkin' pumpkin donut this morning, what with it being late October and the weather actually now fall-like. Apparently they have already discontinued them!
(I never could wrap my head around all this. I had enough problems with Easter events, where the math makes a detour through a Lunar calendar.)
EDIT: And my memory of the Tradition is wrong too, it's supposed to be 24 - as confirmed by https://news.ycombinator.com/item?id=45710618, and corroborated the two "Paw Patrol" themed Advent Calendars I just found still stashed in my home office.
It's actually the March equinox. "Spring" is true only in the northern hemisphere. What's more it's the ecclesiastical equinox, not the astronomical equinox, whose date actually varies depending on the year.
Never mind that all this is descriptive of dating in countries that grew up with Western Christianity. Countries where Eastern traditions dominate often date it differently.
> The 25 is there in the name. It's the whole point :).
You're overly attached to the meaning of Advent, but you aren't even aware of the meaning. It doesn't mean exactly 25. This year Advent Sunday is November 30th.
And the creator of Advent of Code can do whatever they want with it, despite the name. They've put an immense amount of effort into this for so long - if that had been me, I would have been incredibly disheartened to see people saying "the whole point is just 25".
Not necessarily. If they insist on there being only 12 puzzles, all they need to Save Christmas is to start the event on Christmas day, and rename it to "12 Puzzles of Christmas" or "Advent of Three Kings of Code", or such -- see: https://news.ycombinator.com/item?id=45710963.
That was my first thought too, and I'd prefer it, cause sometimes I'll get stuck on a problem, or I'm busy, or I forget, and I'd rather have one more day. Bur it's Eric's call in the end.
Give a kid half of an advent calendar and tell them to open the window every second day, let's see how long it'll keep their interest (I expect much less than 12 days) :). That's not how Advent Calendars work!
IMO "Advent of Code" only determines the timeframe in which it happens, not the amount of puzzles it must contain. It could just as well be four puzzles, one for each sunday of the advent, or any other amount, as long as they are released within those roughly four weeks before christmas.
Eh, the implication has always been that it's a Christmas calendar where you open one door per day until it's Christmas eve - just with code riddles instead of chocolate.
> Advent calendars in their earliest forms were invented approx. 80 years ago.
Well, Wikipedia starts its "History" section in 1945, which is 80 years ago. But what it says about advent calendars in 1945 is that they were lower-quality reprints of earlier designs. This strongly implies that they weren't a new concept in 1945.
The German wikipedia is more interested in the concept and cites the word Adventskalenders to the novel Buddenbrooks, which features one set in the year 1869 but was published in 1901. Either way, the calendars were clearly an established cultural phenomenon well before 1945.
Looking at the talk page (for the English article), it seems that the history section was provided by a "translation group" from their translation of a matching section of the German article. It's not clear why they began with the post-war period; the German page goes back much further than that, which was also true at the time they provided their translation. But this does explain why the English "history" section begins by referring to prior context that doesn't exist in the English article.
I'm not arguing this point. I conceit, I thought the sentiment was obvious. If it wasn't—and if read literally—I thought that that statement was the weakest and most uninteresting part of what I shared. However, to my surprise, this statement, and its specific interpretation, is what people found compelling!
We have a thing called "Three Kings" (aka. "three wise men") in Poland, that falls on Jan 6th. If My Math Is Correct™, there's 12 days between the Christmas day (Dec 25th) and Jan 6th, so maybe the song is about this period?
If he has cut the number of puzzles in half, why not then release a new puzzle every other day? That would make more sense because AoC would still run until Christmas, and it would give people more time per puzzle. Maybe unlock part 2 of each puzzle the day after the puzzle has been posted, so there still something new every day.
I once tried participating, but gave up halfway through because one puzzle per day was just too much time. If it was one puzzle every two days it would be more manageable.
> If the were released every other day, people who wanted to do them for 12 straight days could not.
If they instead waited 12 days, they could start with the 6 puzzles already released, and then have enough puzzles to solve once a day for the next 12 days.
I love it, starting mid-december a lot of my free time goes into Christmas preparations and at the same time the puzzles went up in difficulty. I never made it past #18 in real time. Not because of the difficulty, I just had to do other things.
Another option would be to add some breaks, maybe a day off every 2 or 3 days.
I wonder if it would've felt more natural if the "part 2s" of the puzzles became separate days instead. (Still 12 days worth of puzzles, but spread out across 24 days, with maybe one extra, smaller, easier puzzle for the last day to relax)
Then the 24h between part1 and part2 could be spent trying to predict what part2 will be, or generalize the solution to see if you can handle whatever part2 throws at you. For instance the lanternfish ( https://adventofcode.com/2021/day/6 ) one would expect to just have a higher number, so if one solved part1 iteratively one could make an educated guess for a fast part2 solve.
I was thinking the same! This would be great , have a puzzle each other day. But i trust the organizers are going to do a great job and we will have fun either way.
From FAQ: "Why did the number of days per event change? It takes a ton of my free time every year to run Advent of Code, and building the puzzles accounts for the majority of that time. After keeping a consistent schedule for ten years(!), I needed a change. The puzzles still start on December 1st so that the day numbers make sense (Day 1 = Dec 1), and puzzles come out every day (ending mid-December)."
The leaderboard has led to the same predictable discussion for as long as the AoC has existed. Recurring themes:
- The puzzles get published in the middle of the night for most of Europe, can't we have a better system like scoring on <arbitrary other metric the poster likes better>.
- It's weird that many of the pages say "just have fun, it's not a race" and then also there's a prominent leaderboard page to show who's currently ahead in the race.
- There's been people taking the whole thing way too seriously from basically year 1, trying to load their puzzle input as fast as possible by polling every 10 ms and putting too much load on the servers.
- Whether AI is allowed is always a super toxic discussion with no real outcome because you can't enforce it.
Gonna miss it. So fun to see how fast one can parse the problem, figure out how to solve it while thinking of edge cases, and then actually write and run it. I've never been high up on the leaderboard, but enjoyed waking up early in December and give it a crack. Most often rank ~1000, a few times ~100.
But I also understand the decision. Fun while it lasted, but I'll find other ways to have fun with AoC this year!
Yeah, a bunch of people started going on witch hunts against the people where were obviously using AI (eg ~30 second solve times) and also anyone who had "AI" anywhere in their bio.
IMO the levels it got to was wildly out of proportion, even if these people were cheating (say what you will about AI, but if the rules say not to use it and you do: you're a cheater) but maybe I would have felt differently if the timezones meant I could take part, rather than waking up to drama.
A little sad for me because I've enjoyed the global leaderboard aspect for years but of course my second reaction has to be to take a step back and appreciate all the joy that this one man has given us for all these years.
And he's made it clear from that start that he never intended the global leaderboard to be the point, plus AI the last few years messes it all up. All good things come to an end, and I gotta appreciate the good run that we had, and the voluntary work of one person that gifted it to us.
On the bright side, this will lead to a more relaxed December schedule. I do not compete for the leaderboard, but trying to solve the puzzles on the days they are released (to keep it in the spirit of an advent calendar), and the puzzles towards the end sometimes take me a considerable chunk of the day to solve, which is tricky to combine with the regular schedule, and may be rather stressful (though still a nicer kind of "stressful", as you get on celebrated holidays).
This matches my experience, and I've been 'nervously' anticipating this year's Advent of Code. I managed to keep to the spirit last year and get everything done by Christmas day (though admittedly with some days bleeding over into other days due to pesky family/other commitments), but even this relied on having the last week or so of the month be relatively free for me.
While I've usually been able to do the first half of the month's puzzles in the day before breakfast, over lunch and in the evening, the increasing difficulty does mean that later puzzles can really eat into a day, particularly if you happen to go down a bad path for your solution.
It is unfortunate, but I can absolutely understand it. Keeping up such open-ended, time-consuming projects year after year while the person doing it changes inevitably – their personal life, habits, job, interests, etc. – must feel like a burden at some point, even if it is out of love and passion (I know that from personal experience with my voluntary work, from which I had to take a break after 10+ years).
I am truly thankful for all of Eric Wastls work on Advent of Code, no matter how much time he can invest and how much puzzles we get. I already look forward to the challenge at the start of autumn and consider what programming language I will choose (this year it’ll be Uiua :)). I am very slow at these puzzles, so I mostly quit at around puzzle 12 anyway, but I learn so much from them and they are a lot of fun.
Yy usual 5-to-7-day output scramble will now look vastly more competent, ah, well, complete. Not actually be smarter, mind you, but radiate the comforting glow of effort by someone who has their temporal ducks in a suspiciously photogenic row.
Improvement? No. But the illusion of improvement? Practically Nobel-worthy. I'm already enjoying this change.
I'm not sure how to parse all this, but I really appreciate the mental image of temporal ducks in a photogenic row. Sounds great for my Star Trek themed, very slow Sunday morning.
Been toiling with a new client, ingesting their documentation, and improving it with a Hitchhiker's Guide twist, so the next person needs less caffeine and weeps less.
It is bleeding into other aspects, but it's my pleasure to help with your Sunday morning imagery!
I've participated in the past, and felt like I always drop off around day 18+ because of holidays etc.
I personally also didn't like when part II of a question felt like a completely new question, instead of a neat extension of the previous one.
I am very happy that this is something that's available to do, for free though. I see advent of code as a good excuse to dabble with a new language, usually with a few people from work.
Although number of puzzles != time investment, selfishly I’m down for this change. As I get older it’s harder to find time to complete them, so I’m hoping this also relieves some of the (artificial) pressure to keep up with daily puzzles by decreasing the time spent per day.
Big AoC fan these are welcomed changes. I've always started strong but fell off as it was increasingly more difficult to solve puzzles during nighttime. And after you miss one you kinda loose the streak.
This year I'm going to combine it also with mine noaidecember challenge to get a little more dopamine from problem solving.
Really appreciate thise changes! Both the reduction in puzzles which means less work, but overall I don’t think it’s going to make the event less fun.
And removing the global leaderboard is good, rather than trying to police how people solve the puzzles just let people have fun on their own boards with people they know.
I genuinely look forward to Advent of Code every year (whatever that says about me) and next year's one is always on my mind, so naturally I'm somewhat sad about this as the one-puzzle-a-day up to Christmas day just felt very neat, and I liked the mostly gentle initial difficulty curve up to the more 'spiky' questions later.
Having said that, having done a few years now I think the following things end up feeling consistent across years:
The first 10-ish (give or take) days were always simple enough that experienced programmers can likely spit them out during their daily standup. This isn't bad, as I think they're great for newer programmers to get a bit of algorithmic and data structure thinking practice, but they can definitely feel a bit same-y once you've done a few years. This isn't a critique of how AoC was structured, just an observation of how it can feel after you've seen a few years. Having said this, I'm sure I'll miss the gentle warm-up this year.
I wonder what this means for the difficulty curve i.e. the almost-inevitable path-finding question will appear on Day 5 and not Day 15?
I'm sure Eric has thought this through but I wonder if an every-other-day approach (perhaps with a 'softer' puzzle for Christmas day itself) would be popular, as I imagine people balancing a job and/or family while wanting to do this might appreciate having two days for the more challenging later puzzles.
On the other hand, free time for this generally does get more tight as you get closer to the end of the month and the puzzles get more challenging, so this approach does just make a chunk of space for people later in the month, and individuals can choose to keep up with the puzzles on release day if they can or just not worry about it and let things roll over.
Unfortunately, I guess I'll have to actually go and see my family this Christmas instead of ignoring the mandatory visits, which seemed like a fair sacrifice to keep up with calendar ;)
> It takes a ton of my free time every year to run Advent of Code, and building the puzzles accounts for the majority of that time. After keeping a consistent schedule for ten years(!), I needed a change.
Completely fair. As Eric says in some of his presentations on this it takes him about three or four months of his spare time, so this is more than understandable. Props to him for keeping this up consistently with his day job for the last ten years.
> The global leaderboard was one of the largest sources of stress for me, for the infrastructure, and for many users.
I don't mind this so much personally (outside of a morbid curiosity in the really fast participants) although I know people that were really invested in it, but there were some genuine points of contention for people that were interested in the leaderboard:
- The global puzzle unlock time, while explained by Eric himself in his presentations, does make being on the leaderboard impractical for people outside of time zones where the actual release time is friendly for that. For me it's 5am, and the only time I ever came even close (while also being nowhere near...) was when I happened to be up at that time due to insomnia (not caused by AoC).
- It sounded like an infrastructural point of pain as the single global release time coupled with submissions-by-country-size and how keen some of the puzzle solvers are makes for a great initial traffic burst with a long tail (also mentioned on the behind-the-scenes videos).
- It naturally favoured people with an interest in these kinds of puzzles, so the selection bias in the leaderboard is inherently skewed towards a) the subset of people that are choosing to do this out of genuine personal interest and then b) the subset of those that are likely to also be interested in competitive programming-type challenges. This is natural, but I think it does make the leaderboard less relevant for the majority of participants.
- The inevitable contention of the use of 'AI' just to be on the leaderboard
Anyway, I'll just end this with a thank-you to Eric himself for designing and running this consistently for the last ten years as it's something I've come to really enjoy, the community is very lucky to have this, and I hope these changes make it possible for him to continue doing this with lower physical costs to him personally and perhaps lower stress for the participants that just enjoy the puzzles for learning and the rare opportunity to write simple programs to solve problems.
This is completely tangential but as someone who used to be a competitive programmer in the 2010s, I feel like this year marked the end of an era for me.
I don't have time to do regular codeforces/atcoder/leetcode rounds (and the rampant AI cheating is pretty demotivating). So the big annual rituals for me to keep my "competitive programmer" label were: fb hacker cup, google code jam, topcoder TCO, and advent of code. Now besides hacker cup, the rest are dead.
I get what you're saying, but Advent of Code isn't dead? The leaderboard is dead, but if that's an important part of it to you, I'm optimistic there'll be some nice large public groups you can join somewhere.
Appreciate it, for me it became this stress inducing xmas calendar. Did it a couple of years and then I stopped because it wasn't fun anymore. Some puzzles were really hard and I took it really personally when I couldn't complete them.
I did exactly half of the puzzles last year, and I think my case is not too uncommon. I am perfectly fine with this, only maybe it would be slightly better if the puzzles came out every two days instead, to ward off the FOMO and give us more time per puzzle?
Make a fun little christmas calendar to bring joy to the people, get turned into a gamified warzone where people use AI and bots to try to get onto the global leaderboards - possibly because getting on them might net you a job at FAANG
I know this is an outsider position, but I always felt that the AoC leaderboard was a mistake. Very few people had the time, the commitment, and the capability of making it on there in a meaningful fashion, and it put an emphasis on something that didn't match the vibe of the event at all. If speedrunning the problem solving was the point, then why package every episode into an enjoyable little story?
This also ties into the comments that AoC has become moot or was "ruined by LLMs". If you enjoy solving the problems, nothing should have changed for you. What's the difference if a given problem was already solved by an LLM, or a group of IQ 200 superhumans from MIT for that matter?
As time marches on, there will eventually be absolutely nothing left where an unaugmented human outperforms a machine. That doesn't mean you have to stop enjoying things. In a few years at most, all programming will be purely recreational.
> In a few years at most, all programming will be purely recreational.
That's a bold prediction given how much LLMs suck at programming today (and haven't really improved, either). I'm willing to believe that we will someday invent an AI that can program better than humans. I don't believe it'll be within a few years, because the current architecture shows no signs that it'll ever be able to get the job done.
The temptation to start a competative private leader board will be great, just for the mentioned reason. I have a reference my scores in my CV. The competative part of AoC is one of the things that I find attractive and also has taught me some valuable lessons about coding, like taking some time to review the code the first time before submitting. I experienced several times that I spend of time to debug a small bug due to a minor error, that I could have caught had I spend some time reviewing. Especially with the first puzzles, I try to get it right the fitst time with respect to compiling and execution.
I will search for a pure C private group to join that only allows a small library for things like reading the input as an array of strings.
I have created a private leaderboard which you can join with `1563228-d419ba6d.`
The basic rule is: you are only allowed to use code you wrote yourself. That does include code you wrote before the start of the contest, for example, standard functions you wrote for earlier AoC editions.
No, but I don't care. I guess that most hiring managers do not know what AoC is.
Next week, I will be 64, and I am no longer searching for a full time job. In the past decade I only worked for 24 or 30 hours per week. I am financial independent and plan to only work freelance if there is some opportunity. Currently, I am not actively searching for a job.
> If you're still stuck, maybe ask a friend for help, or come back to the puzzle later. You can also ask for hints in the subreddit.
Not sure why this is OK but prompt engineering isn't? If someone wants to test that skillset, let them be instead of asking 'please don't'. Especially given the competitive nature is now optional.
This is fantastic in every way. The hardest part of participating for me was finding more time closer to the holidays as the challenges got harder. Fewer, better challenges, with more space between them and the end of the year is a brilliant solution. So excited and grateful.
One of the reasons I stopped participating was that as the second half of december was approaching I had less and less free time for solving the puzzles. So to me it is also a welcome change, I will try to finish it again this year.
I once has this half serious idea to do "Advent of Parenting", with one problem per month, and you start after Christmas. As in, youre so delayed you start in the New Year, and have time for one problem per month.
But hey I didn't have the time to do it. Kids...
When my kids move out, one of my plans is to finally start the first Advent of Code.
you'll have a new set of excuses then, too.
This. The best I've ever achieved is maybe 15 puzzles on one year, with gaps for the days I missed. And this was when the puzzles were incrementally building upon implementing a bytecode interpreter, which was relatively little work per day.
Once I miss my first day, playing catch up is an effort in vain, as the puzzles start taking 4+ hours to solve each, solving multiple in one day is a full-time commitment.
Most advents of code I've fallen off sharply after day 7-10, if not sooner, and I'm pretty sure I'm not alone in this. I think this is a welcome change.
Yeah, totally this. I've had so much fun with AoC, learning nim, elixir at the same time.
I would normally tap out around the same place on the first dynamic programming puzzle which just takes me so long to wrap my head around each time (tips anyone? :)).
I welcome these new changes, and what ever the format are very greatful for all his hard work!
> tips anyone? :)
They're not as magical as they seem, you just need some practice. Read over the dynamic programming section in https://cses.fi/book/index.php (pdf link near the top is the free English version), then do a few on https://cses.fi/problemset/ . You'll be able to handle the AoC dynamic programming ones with _no_ problem at all.
Most years, I end up finishing the puzzles in January. Same reason- I end up missing a day due to schedule issues. Since it's just a 'for fun' challenge, it isn't the end of the world if you fall behind a bit. That said, this doesn't work if you are doing this as part of a group.
Same, I love AoC but I just never have time for them (December is always the busiest time of year in my job).
I would have liked if a puzzle was released every 2 days though so it still spanned the whole month. Would be more aligned with the advent calendar concept. In fact in previous years the puzzles have always had two parts so if that format is still being retained there will still effectively be 24 puzzles.
Spreading the two parts across separate days would be interesting. There would be an extra element of trying to predict what part 2 will be like.
I have the opposite problem - I never get started until work wraps up.
Agree. It was getting in the way of me spending time with the family because I was distracted mulling over the puzzles.
I had thought last year that they could peak the difficulty around the middle of the month and bring it down a bit leading up to the 25th. But just finishing it earlier is probably better IMO.
I wouldn’t be surprised if the creator has metrics that show that most people drop off around the halfway mark, for the exact same reason
You can see aggregated results on `stats` [1] for every year. In general, half the people drop in the first 3-4 days. For last year, by day 12 there is less than 1/5 of day 01. While the stats do count people that completed later, the shape appears to track well with what I saw during the events since 2021.
[1] https://adventofcode.com/2024/stats
For me I always had the time I just didn't have the ability. I solved all of them in 2017 but never really got close any other year.
Doesn't help that the puzzles become increasingly tricky and you can't just solve them as you sip your coffee anymore (although some apparently can).
This prompted me to try out claude code on last years... To absolutely no surprise, it looks like the model was trained on advent of code. For the day 2 challenge, I put in this prompt:
It solved it very quickly. However...It's solution code included this comment:
This is odd because I never mentioned reports or levels... However the challenge does:Follow up:
Whenever there's a change like this, my gut reaction is to grieve and try to imagine ways that things could be kept the same.
After thinking, "maybe puzzles could be designed by a group instead of an individual and they could share the work," I then thought, "and couldn't an LLM help?"
And with that, I had to remind myself: Advent of Code isn't about there being 25 puzzles, and so maintaining volume at all costs has nothing to do with it.
And aren't we so lucky that it isn't! Aren't we lucky to have had the prior 500+ challenges given as gifts over the years! Aren't we lucky to have a great demonstration of humility and care! Aren't we lucky to have 12 new gifts to look forward to this year!
Thank you!
I think the easiest way to have 24/25 of something would be to have the "part 2" for each puzzle get released the next day. It would probably ruin the momentum about as much as having days off would (as another alternative to make the timing fit "advent"), but there could be a fun extra layer of puzzle with a hint of what the part 2 will be so people can try to speculate and modify their code in anticipation.
I am not aware of Eric saying something about that alternative, but this comment on reddit[1] makes a lot of sense to me:
> Given that part 2 is often a very simple modification of part 1, this could lead to many of the days being total letdowns. I can enjoy a simple puzzle, but I'd be a bit disappointed if one day is a single line change to the previous day.
I'd also add that not having to be worried everyday about something makes a lot of sense. He can have fewer days "on call" in December with.
[1]https://www.reddit.com/r/adventofcode/comments/1ocwh04/chang...
I’ve been trying to design a puzzle for a game this year that humans can solve but LLMs can’t. I’ve come up with one, but it was hard work! It’s based around message cracking.
There was one in a previous AoC that I think stumped a lot of AI at the time because it involved something that was similar to poker with the same terminology but different rules. The AI couldn't help but fall into a "this is poker" trap and make a solution that follows the standard rules.
Was that 2023's Day 7 'Camel Cards' [1]?
[1] https://adventofcode.com/2023/day/7
Isn't that easily solved by changing the terminology before giving it to the LLM?
I mean, wasn't pretty much the second half of all AoC exercises beyond LLM capabilities?
I remember there being multiple accounts trying to one-shot AoC and all ended on day 10 or so.
Interesting! Maybe that’s the general way to approach these things
For more examples of such problems check Jane street puzzles of the month
Have a look at https://arcprize.org/
They have hundreds of challenges that humans can solve in under a minute which LLMs can not. Seems the general trend is figuring out the rules or patterns of the challenge when there are few examples and no instructions.
Perhaps coding exercises that require 2d or 3d thinking, or similar. This is where I have seen LLMs struggle a lot. There are probably other areas too.
Ah, it also needs to be challenging for humans. It's a prize to win something. I just didn't want people to throw the question into Claude Code.
Just have to incorporate good judgement in some way.
How many <$letter>s are in the word <word with $letters>
The bigger LLMs have generally figured out this specific problem.
Hate to be the... whoever I'm being right now, but names have meaning. It's the reason to have them in the first place.
> Advent of Code isn't about there being 25 puzzles, and so maintaining volume at all costs has nothing to do with it.
It's the Advent of Code. Not "Random late year event with no religious / commercial tradition connotations whatsoever" of Code. The 25 is there in the name. It's the whole point :).
Advent does not mean 25. It just means 'the coming', so 12, 25, 1, 8 are all acceptable lengths. And if you reay need it to be 24 you can calm it 0.5 per day.
It's a reference to a German tradition of Advent Calendar with 24 small doors. Every day from 1st to 24th of December children would open one door and find a candy, a picture, a small toy, a quest etc. depending on calendar's theme
I get it, but Advent calendars are not just German. I am pretty sure they are common all over the western world where Xmas is celebrated. But Advent doesn't in any way mean 25.
You need to turn in your polish passport for publicly saying that the advent is 25, not 24 days ;P
Really though, for Catholic and protestant churches, Advent starts the fourth Sunday before Christmas, so isn't always the same length. In Orthodox Churches, Advent is 40 days (starting Nov 15) just like Lent.
To be fair in the original Advent of Code the last day is just a freebie and not a real programming problem.
Right, mini-spoiler if you've never reached 50 stars for a year:
The 50th star is awarded for having the other 49 stars and then basically clicking OK I think. If you've been diligently solving them in order, it means you effectively get two stars for your final 49th puzzle of the year on Christmas Day, which makes sense because then the puzzles are very hard and a "normal" puzzle wouldn't leave much time for other Christmas Day activities. But if you're the sort of person who often gives up on a day and never comes back you may never have seen this because you never got to 49 stars.
You're not quite right that the Christmas Day puzzle is trivial - it's the first half of a maybe week 1 type difficulty puzzle, but there just isn't a second half:
Here's the puzzle text for last year's Xmas Day (if you are logged in you can play, but even without it will explain the puzzle it just won't give you an input to test your solution):
https://adventofcode.com/2024/day/25
Right so since each problem has more than one part, we are back to advent of 24 problems.
Advent is the four Sundays leading up to Christmas. 4 is in the name, not 25.
Advent comes from the Latin word adventus, which means “arrival” or “coming.” It refers to the coming of Christ. There is no 4 in the name, no 24, 25 or whatever else.
Advent is a liturgical season, not a set of 4 Sundays. Neither 4 nor 25 are "in the name."
I thought it was meant to be like an Advent Calendar, which is normally 25.
Not in all traditions. E.g. in Germany Christmas Eve is typically the last day so you only get 24.
https://www.lego.com/en-gb/holiday-gifts/advent-calendars
24 doors on the Lego calendars too
And even in the places where it’s 25 days, there’s plenty of advent calendars that only have 12 doors - though they’re typically budget versions of expensive calendars (eg a dram of whisky behind each door)
Falsehoods programmers believe about time #604: all advent calendars have 25 slots
Winter Solstice is usually (not always) on 21th December.
Yeah, in Sweden too.
Norway, too.
Yep, Advent wreaths have 4 candles, so there's wiggle room to reduce the frequency further.
https://en.wikipedia.org/wiki/Advent_wreath
> The 25 is there in the name.
This largely depends on who you're asking? I don't know anyone who wouldn't consider 24 the course correct number of Advent, simply because that's the common number here (we celebrate Christmas on the 24th). So 12 makes perfectly sense, just do every second day.
There are also many groups who don't start on the 1st of December, but on the first Sunday of Advent. And probably many others.
Advent calendars are used to count down the days. Doing one every other day defeats the purpose.
I thought the purpose was to be a fun thing we used to kill time over the holidays
If, as you claim, the association of 25 to "advent" is primarily commercial, that's much more of a reason to avoid that association. In any case it's very culture-specific. In many countries, including mine, Christmas Eve is the "main" event that people look forward to, and the number of "advent days" in calendars and such is 24. On the other hand, ecclesiastically there are four Advent Sundays, and the number of days is thus variable and also not really pertinent.
Technically the event needs to go for a certain number of days, but Advent doesn't mean puzzles must come every day. They can do puzzles every 2-3 days if they want to.
> Hate to be the... whoever I'm being right now
the word you're looking for is pedant
"pedant who didn't look up their own point or consider other world perspectives before boldly declaring that the way they thought about it first was the only true way"
In the spirit of pedantry, I added even more minor detail!
There are tons of advent calendars commercially sold that have fewer than 25 slots.
It’s safe to say this ship has sailed.
For Christian Advent to be exactly 25 days long, that would be a coincidence.
Advent is not the time from December 1st until Christmas, it starts on whatever days the fourth Sunday before Christmas happens to fall on that year. This way, there are exactly four Sundays in advent.
If Christmas itself should fall on a Sunday one year, it doubles as the fourth Sunday of Advent, i.e., then the first of Advent will be only three weeks earlier.
Anyway, this is Western Christianity.
In Eastern Christianity, the Nativity Fast starts on a fixed day: November 15.
Which happens to fall on November 28th, yes.
All correct. Which is why I said religious slash commercial tradition - Advent is first and foremost just another sales event, and for convenience of sellers and buyers (and their children) the commercial advent got regularized to 25 days, so the stock of calendars that failed to sell last christmas season can be put up to sale in the coming one.
If I were Christmas of code, it would start mid-June and end on Christmas Eve!
You're forgetting about Halloween, Black Friday/Cyber Monday, and the most recent Singles Day (11.11); the Commercial Calendar is steadily squeezing the Christmas Season into December and out of the rest of the year!
> the Commercial Calendar is steadily squeezing the Christmas Season into December and out of the rest of the year!
We can only hope. The Christmas song containment fields are weakening as we speak.
Right, my local grocery store moved Halloween stuff to where Diwali stuff was near the front of the store, and immediately put Xmas stuff where the Halloween stuff used to be, in a week's time it'll be a whole aisle of Xmas.
Commercial Halloween starts during October just after or parallel with October-fest. It ends before end of October because people buy things for an event before it starts. End of Halloween is when Commercial Christmas starts.
There is no time for actual advent or winter calmness in general.
I decided to indulge in a Dunkin' pumpkin donut this morning, what with it being late October and the weather actually now fall-like. Apparently they have already discontinued them!
Wouldn't winter calmness be January or February, maybe March? You know coldest time in general on Northern Hemisphere?
I think you are right, that seems to be the case.
Agreed, I didn't mean to critique you!
I appreciate you working out the math above! :).
(I never could wrap my head around all this. I had enough problems with Easter events, where the math makes a detour through a Lunar calendar.)
EDIT: And my memory of the Tradition is wrong too, it's supposed to be 24 - as confirmed by https://news.ycombinator.com/item?id=45710618, and corroborated the two "Paw Patrol" themed Advent Calendars I just found still stashed in my home office.
The Sunday after the first full moon after March 21st (first day of spring) - what could possibly be confusing about that?!
j/k ;-)
Since we're all being exacting here… =p
> (first day of spring)
It's actually the March equinox. "Spring" is true only in the northern hemisphere. What's more it's the ecclesiastical equinox, not the astronomical equinox, whose date actually varies depending on the year.
Never mind that all this is descriptive of dating in countries that grew up with Western Christianity. Countries where Eastern traditions dominate often date it differently.
All good will to you both = )
+1 from me!
I still find it easier to explain it as "14 Nisan *energetic hand wave*!!" :).
> The 25 is there in the name. It's the whole point :).
You're overly attached to the meaning of Advent, but you aren't even aware of the meaning. It doesn't mean exactly 25. This year Advent Sunday is November 30th.
And the creator of Advent of Code can do whatever they want with it, despite the name. They've put an immense amount of effort into this for so long - if that had been me, I would have been incredibly disheartened to see people saying "the whole point is just 25".
Well, Christmas is cancelled this year I guess :(
Not necessarily. If they insist on there being only 12 puzzles, all they need to Save Christmas is to start the event on Christmas day, and rename it to "12 Puzzles of Christmas" or "Advent of Three Kings of Code", or such -- see: https://news.ycombinator.com/item?id=45710963.
They could also publish the puzzles only every second day, I guess.
That was my first thought too, and I'd prefer it, cause sometimes I'll get stuck on a problem, or I'm busy, or I forget, and I'd rather have one more day. Bur it's Eric's call in the end.
Give a kid half of an advent calendar and tell them to open the window every second day, let's see how long it'll keep their interest (I expect much less than 12 days) :). That's not how Advent Calendars work!
We’re not kids though…
Let your hair down man, it's christmas!
Or publish the harder version of the puzzle on a different day to the easier version.
Geez. Do you really think the number matters? I would be grateful to the creator even if it was 3 days.
> Hate to be the…
You don’t seem to hate it that much?
> And with that, I had to remind myself: Advent of Code isn't about there being 25 puzzles
Really? The name of the event is "Advent of Code". Having 25 puzzles is easily its most strongly-determined aspect.
You could argue for 23-29 puzzles, or perhaps for 5, but at 12 what's the name supposed to refer to?
IMO "Advent of Code" only determines the timeframe in which it happens, not the amount of puzzles it must contain. It could just as well be four puzzles, one for each sunday of the advent, or any other amount, as long as they are released within those roughly four weeks before christmas.
Eh, the implication has always been that it's a Christmas calendar where you open one door per day until it's Christmas eve - just with code riddles instead of chocolate.
> one door per day until it's Christmas eve
That would be 24.
You also open one on Christmas. Some people consider Christmas more important than Christmas eve.
https://www.hallmark.com/house-and-home/figurines/precious-m...
That really depends on which country you're in.
No, Advent means that it goes for the four weeks prior to Christmas. It doesn't mean "one thing each day" during that duration.
https://en.wikipedia.org/wiki/Advent_calendar
Minimum one, sometimes two.
(Also, Advent doesn't mean four weeks. Christmas might fall on a Monday.)
Well advent calendars traditionally had 24 doors.
This lead me done a rabbit hole on wikipedia:
Advent calendars in their earliest forms were invented approx. 80 years ago.
The four week advent period goes back to the 7th century and was introduced by pope Gregory I..
> This l[e]d me done a rabbit hole on wikipedia:
> Advent calendars in their earliest forms were invented approx. 80 years ago.
Well, Wikipedia starts its "History" section in 1945, which is 80 years ago. But what it says about advent calendars in 1945 is that they were lower-quality reprints of earlier designs. This strongly implies that they weren't a new concept in 1945.
The German wikipedia is more interested in the concept and cites the word Adventskalenders to the novel Buddenbrooks, which features one set in the year 1869 but was published in 1901. Either way, the calendars were clearly an established cultural phenomenon well before 1945.
Looking at the talk page (for the English article), it seems that the history section was provided by a "translation group" from their translation of a matching section of the German article. It's not clear why they began with the post-war period; the German page goes back much further than that, which was also true at the time they provided their translation. But this does explain why the English "history" section begins by referring to prior context that doesn't exist in the English article.
They still do in non-Anglo European countries where the main celebration is held on the evening of the 24th.
I'm not arguing this point. I conceit, I thought the sentiment was obvious. If it wasn't—and if read literally—I thought that that statement was the weakest and most uninteresting part of what I shared. However, to my surprise, this statement, and its specific interpretation, is what people found compelling!
Twelve nights of Christmas. Would also work better for me, calendar-wise :)
That would "require" a timeline shift for it to start on Christmas run until the Ephinany.
Although I don't think anyone really knows what the 12 days of Christmas are anymore.
We have a thing called "Three Kings" (aka. "three wise men") in Poland, that falls on Jan 6th. If My Math Is Correct™, there's 12 days between the Christmas day (Dec 25th) and Jan 6th, so maybe the song is about this period?
Epiphany (GP had a typo) and Three Kings is the same occasion, in fact. Wikipedia: https://en.wikipedia.org/wiki/Epiphany_(holiday)
Yes, and I would be glad to see such a shift.
Shakespeare is still being read, I think.
This referes to the feast of the Epiphany, though, which is 12 nights after Christmas...
That's why I say it would've worked better for me, yes.
I assumed it was "twelve days of Christmas"- related
If he has cut the number of puzzles in half, why not then release a new puzzle every other day? That would make more sense because AoC would still run until Christmas, and it would give people more time per puzzle. Maybe unlock part 2 of each puzzle the day after the puzzle has been posted, so there still something new every day.
I once tried participating, but gave up halfway through because one puzzle per day was just too much time. If it was one puzzle every two days it would be more manageable.
If they’re released every day for 12 days, you can do a puzzle every other day.
If the were released every other day, people who wanted to do them for 12 straight days could not.
> If the were released every other day, people who wanted to do them for 12 straight days could not.
If they instead waited 12 days, they could start with the 6 puzzles already released, and then have enough puzzles to solve once a day for the next 12 days.
I love it, starting mid-december a lot of my free time goes into Christmas preparations and at the same time the puzzles went up in difficulty. I never made it past #18 in real time. Not because of the difficulty, I just had to do other things.
Another option would be to add some breaks, maybe a day off every 2 or 3 days.
I wonder if it would've felt more natural if the "part 2s" of the puzzles became separate days instead. (Still 12 days worth of puzzles, but spread out across 24 days, with maybe one extra, smaller, easier puzzle for the last day to relax)
Then the 24h between part1 and part2 could be spent trying to predict what part2 will be, or generalize the solution to see if you can handle whatever part2 throws at you. For instance the lanternfish ( https://adventofcode.com/2021/day/6 ) one would expect to just have a higher number, so if one solved part1 iteratively one could make an educated guess for a fast part2 solve.
I was thinking the same! This would be great , have a puzzle each other day. But i trust the organizers are going to do a great job and we will have fun either way.
From FAQ: "Why did the number of days per event change? It takes a ton of my free time every year to run Advent of Code, and building the puzzles accounts for the majority of that time. After keeping a consistent schedule for ten years(!), I needed a change. The puzzles still start on December 1st so that the day numbers make sense (Day 1 = Dec 1), and puzzles come out every day (ending mid-December)."
I see the leaderboard is gone too. Unfortunate but entirely predictable given how the last 2 years went.
That being said, I was worried he'd cancel the entire thing, so this is still good news!
The leaderboard has led to the same predictable discussion for as long as the AoC has existed. Recurring themes:
- The puzzles get published in the middle of the night for most of Europe, can't we have a better system like scoring on <arbitrary other metric the poster likes better>.
- It's weird that many of the pages say "just have fun, it's not a race" and then also there's a prominent leaderboard page to show who's currently ahead in the race.
- There's been people taking the whole thing way too seriously from basically year 1, trying to load their puzzle input as fast as possible by polling every 10 ms and putting too much load on the servers.
- Whether AI is allowed is always a super toxic discussion with no real outcome because you can't enforce it.
6am or later for most of Europe is not middle of the night.
6am is the middle of the night for most software developers ;)
If they don't have children maybe.
It's a tough decision: AoC or kids.
Then it's the middle of the night for the Americas...
Yes it is. ;)
Gonna miss it. So fun to see how fast one can parse the problem, figure out how to solve it while thinking of edge cases, and then actually write and run it. I've never been high up on the leaderboard, but enjoyed waking up early in December and give it a crack. Most often rank ~1000, a few times ~100.
But I also understand the decision. Fun while it lasted, but I'll find other ways to have fun with AoC this year!
>predictable given how the last 2 years went
QRD? Was it AI?
Yeah, a bunch of people started going on witch hunts against the people where were obviously using AI (eg ~30 second solve times) and also anyone who had "AI" anywhere in their bio.
IMO the levels it got to was wildly out of proportion, even if these people were cheating (say what you will about AI, but if the rules say not to use it and you do: you're a cheater) but maybe I would have felt differently if the timezones meant I could take part, rather than waking up to drama.
sounds like the competition had challenges even before AI or any rules about AI or not.
I never followed this challenge aside from doing a few 10 years ago in college.
If speed to problem completion matters though, then question release time will be brutal for some.
A little sad for me because I've enjoyed the global leaderboard aspect for years but of course my second reaction has to be to take a step back and appreciate all the joy that this one man has given us for all these years.
And he's made it clear from that start that he never intended the global leaderboard to be the point, plus AI the last few years messes it all up. All good things come to an end, and I gotta appreciate the good run that we had, and the voluntary work of one person that gifted it to us.
Based on time-zone, it wasn't really global.
On the bright side, this will lead to a more relaxed December schedule. I do not compete for the leaderboard, but trying to solve the puzzles on the days they are released (to keep it in the spirit of an advent calendar), and the puzzles towards the end sometimes take me a considerable chunk of the day to solve, which is tricky to combine with the regular schedule, and may be rather stressful (though still a nicer kind of "stressful", as you get on celebrated holidays).
This matches my experience, and I've been 'nervously' anticipating this year's Advent of Code. I managed to keep to the spirit last year and get everything done by Christmas day (though admittedly with some days bleeding over into other days due to pesky family/other commitments), but even this relied on having the last week or so of the month be relatively free for me.
While I've usually been able to do the first half of the month's puzzles in the day before breakfast, over lunch and in the evening, the increasing difficulty does mean that later puzzles can really eat into a day, particularly if you happen to go down a bad path for your solution.
I don’t think I ever could do all the 25 so this is fine with me.
It is unfortunate, but I can absolutely understand it. Keeping up such open-ended, time-consuming projects year after year while the person doing it changes inevitably – their personal life, habits, job, interests, etc. – must feel like a burden at some point, even if it is out of love and passion (I know that from personal experience with my voluntary work, from which I had to take a break after 10+ years).
I am truly thankful for all of Eric Wastls work on Advent of Code, no matter how much time he can invest and how much puzzles we get. I already look forward to the challenge at the start of autumn and consider what programming language I will choose (this year it’ll be Uiua :)). I am very slow at these puzzles, so I mostly quit at around puzzle 12 anyway, but I learn so much from them and they are a lot of fun.
No more leaderboard too!
These look like positive changes, a 2x longer event isn't 2x more fun or 2x more satisfying to participate in.
After skipping the past couple of years, I feel like I'm more likely to give it a go again this year.
Awesome!
Yy usual 5-to-7-day output scramble will now look vastly more competent, ah, well, complete. Not actually be smarter, mind you, but radiate the comforting glow of effort by someone who has their temporal ducks in a suspiciously photogenic row.
Improvement? No. But the illusion of improvement? Practically Nobel-worthy. I'm already enjoying this change.
I'm not sure how to parse all this, but I really appreciate the mental image of temporal ducks in a photogenic row. Sounds great for my Star Trek themed, very slow Sunday morning.
Been toiling with a new client, ingesting their documentation, and improving it with a Hitchhiker's Guide twist, so the next person needs less caffeine and weeps less.
It is bleeding into other aspects, but it's my pleasure to help with your Sunday morning imagery!
This is sort of a bummer but as long as Eric feels less stressed and more happy, I'm all for it.
I've participated in the past, and felt like I always drop off around day 18+ because of holidays etc.
I personally also didn't like when part II of a question felt like a completely new question, instead of a neat extension of the previous one.
I am very happy that this is something that's available to do, for free though. I see advent of code as a good excuse to dabble with a new language, usually with a few people from work.
Although number of puzzles != time investment, selfishly I’m down for this change. As I get older it’s harder to find time to complete them, so I’m hoping this also relieves some of the (artificial) pressure to keep up with daily puzzles by decreasing the time spent per day.
Big AoC fan these are welcomed changes. I've always started strong but fell off as it was increasingly more difficult to solve puzzles during nighttime. And after you miss one you kinda loose the streak.
This year I'm going to combine it also with mine noaidecember challenge to get a little more dopamine from problem solving.
https://news.ycombinator.com/item?id=45665217
Really appreciate thise changes! Both the reduction in puzzles which means less work, but overall I don’t think it’s going to make the event less fun.
And removing the global leaderboard is good, rather than trying to police how people solve the puzzles just let people have fun on their own boards with people they know.
Last year a lot of the problems were multi steps. Why not just break up the steps and get to 25?
Also after day three I fell hopelessly behind. 12 might be fine.
I genuinely look forward to Advent of Code every year (whatever that says about me) and next year's one is always on my mind, so naturally I'm somewhat sad about this as the one-puzzle-a-day up to Christmas day just felt very neat, and I liked the mostly gentle initial difficulty curve up to the more 'spiky' questions later.
Having said that, having done a few years now I think the following things end up feeling consistent across years:
The first 10-ish (give or take) days were always simple enough that experienced programmers can likely spit them out during their daily standup. This isn't bad, as I think they're great for newer programmers to get a bit of algorithmic and data structure thinking practice, but they can definitely feel a bit same-y once you've done a few years. This isn't a critique of how AoC was structured, just an observation of how it can feel after you've seen a few years. Having said this, I'm sure I'll miss the gentle warm-up this year.
I wonder what this means for the difficulty curve i.e. the almost-inevitable path-finding question will appear on Day 5 and not Day 15?
I'm sure Eric has thought this through but I wonder if an every-other-day approach (perhaps with a 'softer' puzzle for Christmas day itself) would be popular, as I imagine people balancing a job and/or family while wanting to do this might appreciate having two days for the more challenging later puzzles.
On the other hand, free time for this generally does get more tight as you get closer to the end of the month and the puzzles get more challenging, so this approach does just make a chunk of space for people later in the month, and individuals can choose to keep up with the puzzles on release day if they can or just not worry about it and let things roll over.
Unfortunately, I guess I'll have to actually go and see my family this Christmas instead of ignoring the mandatory visits, which seemed like a fair sacrifice to keep up with calendar ;)
> It takes a ton of my free time every year to run Advent of Code, and building the puzzles accounts for the majority of that time. After keeping a consistent schedule for ten years(!), I needed a change.
Completely fair. As Eric says in some of his presentations on this it takes him about three or four months of his spare time, so this is more than understandable. Props to him for keeping this up consistently with his day job for the last ten years.
> The global leaderboard was one of the largest sources of stress for me, for the infrastructure, and for many users.
I don't mind this so much personally (outside of a morbid curiosity in the really fast participants) although I know people that were really invested in it, but there were some genuine points of contention for people that were interested in the leaderboard:
- The global puzzle unlock time, while explained by Eric himself in his presentations, does make being on the leaderboard impractical for people outside of time zones where the actual release time is friendly for that. For me it's 5am, and the only time I ever came even close (while also being nowhere near...) was when I happened to be up at that time due to insomnia (not caused by AoC).
- It sounded like an infrastructural point of pain as the single global release time coupled with submissions-by-country-size and how keen some of the puzzle solvers are makes for a great initial traffic burst with a long tail (also mentioned on the behind-the-scenes videos).
- It naturally favoured people with an interest in these kinds of puzzles, so the selection bias in the leaderboard is inherently skewed towards a) the subset of people that are choosing to do this out of genuine personal interest and then b) the subset of those that are likely to also be interested in competitive programming-type challenges. This is natural, but I think it does make the leaderboard less relevant for the majority of participants.
- The inevitable contention of the use of 'AI' just to be on the leaderboard
Anyway, I'll just end this with a thank-you to Eric himself for designing and running this consistently for the last ten years as it's something I've come to really enjoy, the community is very lucky to have this, and I hope these changes make it possible for him to continue doing this with lower physical costs to him personally and perhaps lower stress for the participants that just enjoy the puzzles for learning and the rare opportunity to write simple programs to solve problems.
For interested watchers:
- 'Eric Wastl – Advent of Code: Behind the Scenes' - https://www.youtube.com/watch?v=_oNOTknRTSU
- 'Keynote: Advent of Code, Behind the Scenes - Eric Wastl' - https://www.youtube.com/watch?v=uZ8DcbhojOw
Edit: Typos
Last year was the first time I completed all 25 and I was looking forward to reprising that. It’s alright. I guess I could always try older problems.
That is a healthy attitude. I wonder if everyone "missing" AoC has already solved all the past problems.
why not a puzzle every two days instead of ending it mid-december?
You can definitively play like that if you want to. At day 2n (n > 0) you do the puzzle of day n.
You will have that option
This is completely tangential but as someone who used to be a competitive programmer in the 2010s, I feel like this year marked the end of an era for me.
I don't have time to do regular codeforces/atcoder/leetcode rounds (and the rampant AI cheating is pretty demotivating). So the big annual rituals for me to keep my "competitive programmer" label were: fb hacker cup, google code jam, topcoder TCO, and advent of code. Now besides hacker cup, the rest are dead.
Sad. :(
I get what you're saying, but Advent of Code isn't dead? The leaderboard is dead, but if that's an important part of it to you, I'm optimistic there'll be some nice large public groups you can join somewhere.
Appreciate it, for me it became this stress inducing xmas calendar. Did it a couple of years and then I stopped because it wasn't fun anymore. Some puzzles were really hard and I took it really personally when I couldn't complete them.
I did exactly half of the puzzles last year, and I think my case is not too uncommon. I am perfectly fine with this, only maybe it would be slightly better if the puzzles came out every two days instead, to ward off the FOMO and give us more time per puzzle?
Tryhards ruin everything, part n
Make a fun little christmas calendar to bring joy to the people, get turned into a gamified warzone where people use AI and bots to try to get onto the global leaderboards - possibly because getting on them might net you a job at FAANG
People - the reason why we can’t have good things.
Fun part is that world mostly doesn’t really work like that and they don’t really get the job.
You can put that on your resume and I guarantee nobody will check.
I know this is an outsider position, but I always felt that the AoC leaderboard was a mistake. Very few people had the time, the commitment, and the capability of making it on there in a meaningful fashion, and it put an emphasis on something that didn't match the vibe of the event at all. If speedrunning the problem solving was the point, then why package every episode into an enjoyable little story?
This also ties into the comments that AoC has become moot or was "ruined by LLMs". If you enjoy solving the problems, nothing should have changed for you. What's the difference if a given problem was already solved by an LLM, or a group of IQ 200 superhumans from MIT for that matter?
As time marches on, there will eventually be absolutely nothing left where an unaugmented human outperforms a machine. That doesn't mean you have to stop enjoying things. In a few years at most, all programming will be purely recreational.
> In a few years at most, all programming will be purely recreational.
That's a bold prediction given how much LLMs suck at programming today (and haven't really improved, either). I'm willing to believe that we will someday invent an AI that can program better than humans. I don't believe it'll be within a few years, because the current architecture shows no signs that it'll ever be able to get the job done.
I liked the leaderboard prior to AI. Was fun to click through to various profiles and see who was in there and what their solutions looked like.
The temptation to start a competative private leader board will be great, just for the mentioned reason. I have a reference my scores in my CV. The competative part of AoC is one of the things that I find attractive and also has taught me some valuable lessons about coding, like taking some time to review the code the first time before submitting. I experienced several times that I spend of time to debug a small bug due to a minor error, that I could have caught had I spend some time reviewing. Especially with the first puzzles, I try to get it right the fitst time with respect to compiling and execution.
I will search for a pure C private group to join that only allows a small library for things like reading the input as an array of strings.
I have created a private leaderboard which you can join with `1563228-d419ba6d.`
The basic rule is: you are only allowed to use code you wrote yourself. That does include code you wrote before the start of the contest, for example, standard functions you wrote for earlier AoC editions.
On your CV ? Has any recruiter or hiring manager ever commented on it, or said the mention gave you an advantage ?
No, but I don't care. I guess that most hiring managers do not know what AoC is.
Next week, I will be 64, and I am no longer searching for a full time job. In the past decade I only worked for 24 or 30 hours per week. I am financial independent and plan to only work freelance if there is some opportunity. Currently, I am not actively searching for a job.
End of an era. Thank you! It was a blast.
> If you're still stuck, maybe ask a friend for help, or come back to the puzzle later. You can also ask for hints in the subreddit.
Not sure why this is OK but prompt engineering isn't? If someone wants to test that skillset, let them be instead of asking 'please don't'. Especially given the competitive nature is now optional.