50 comments

[ 2.4 ms ] story [ 60.4 ms ] thread
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)."
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.
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.

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.
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
I have the opposite problem - I never get started until work wraps up.
I stopped doing it because it felt like I was restarting every puzzle rather than building on top of something, and that's not all that interesting to me. I'm not judging the process, as that's just my personal perspective about what's interesting to me.
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!

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 :).

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.
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

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.

You can put that on your resume and I guarantee nobody will check.
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!

>predictable given how the last 2 years went

QRD? Was it AI?

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!

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.

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).
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 t...

This is sort of a bummer but as long as Eric feels less stressed and more happy, I'm all for it.
why not a puzzle every two days instead of ending it mid-december?
You will have that option
You can definitively play like that if you want to. At day 2n (n > 0) you do the puzzle of day n.
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.

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.

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.

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.

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.

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.

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. :(

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.

End of an era. Thank you! It was a blast.
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)
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.
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.
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?