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!
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 :).
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.
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.
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.
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!
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 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!
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.
since there are a lot of smart ppl here who might like a novel puzzle, i'd like to automatically rewrite any sentence that starts with 'I mean' to be the empty string. It's a huge pet peeve of mine. I'm using Chrome if that matters.
We all have our writing quirks, like how some people use shorthand for words where there is only a marginal difference (like "people" => "ppl"), or even people who capitalize the start of sentences, but not the start of their whole text.
It affects a certain disposition for the writer; the information it contains isn't in the actual data they are expressing, but rather the state of mind that they express it from, which can be important context. Oftentimes it can indicate exasperation, which is an important social queue to be able to pick up on.
A little excerpt from Arlo Guthrie
"I mean, I mean, I mean that just, I'm sittin' here on the bench,
I mean I'm sittin here on the Group W bench, because you want to know if I'm moral enough to join the army, burn women, kids, houses and villages after being a litterbug."
Imagine that without the "I mean"s in it, and the importance of how they convey his stance on the situation.
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.
I'm not arguing this point. I conceit, I thought the sentiment was obvious; and if not, if read literally, that that statement must be the weakest and most uninteresting part of what I shared. However, to my surprise, this statement and its specific interpretation is what people find compelling!
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.
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?
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.
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 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)
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.
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.
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.
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.
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!
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.
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.
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.
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.
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.
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!
> 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 :).
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 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.
There is no time for actual advent or winter calmness in general.
(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.
j/k ;-)
> (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 = )
In Eastern Christianity, the Nativity Fast starts on a fixed day: November 15.
It’s safe to say this ship has sailed.
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".
[1] https://adventofcode.com/2023/day/7
I remember there being multiple accounts trying to one-shot AoC and all ended on day 10 or so.
Some thoughts maybe should remain internal :)
A little excerpt from Arlo Guthrie
"I mean, I mean, I mean that just, I'm sittin' here on the bench, I mean I'm sittin here on the Group W bench, because you want to know if I'm moral enough to join the army, burn women, kids, houses and villages after being a litterbug."
Imagine that without the "I mean"s in it, and the importance of how they convey his stance on the situation.
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.
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?
That would be 24.
https://www.hallmark.com/house-and-home/figurines/precious-m...
Minimum one, sometimes two.
(Also, Advent doesn't mean four weeks. Christmas might fall on a Monday.)
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..
> 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.
Although I don't think anyone really knows what the 12 days of Christmas are anymore.
Shakespeare is still being read, I think.
But hey I didn't have the time to do it. Kids...
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.
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.
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.
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 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.
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.
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.
That being said, I was worried he'd cancel the entire thing, so this is still good news!
- 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.
QRD? Was it AI?
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.
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.
It is bleeding into other aspects, but it's my pleasure to help with your Sunday morning imagery!
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.
This year I'm going to combine it also with mine noaidecember challenge to get a little more dopamine from problem solving.
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.
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. :(
Also after day three I fell hopelessly behind. 12 might be fine.
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.
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
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
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.
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 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.
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.
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.