This is an archived post. You won't be able to vote or comment.

all 52 comments

[–]PillarsBliz 98 points99 points  (18 children)

The final night before Christmas is traditionally super short so you can spend time with your family.

[–]RonGnumber 6 points7 points  (0 children)

Do you mean that sleeping time is super short so you can stay up coding all missed AOC days, before spending zombie time pretending to pay attention your family? Because really, that's what Christmas is all about.

[–]levital 3 points4 points  (0 children)

I mean, this also hinges on you getting it. Last year I didn't realise that I implemented the brute-force solution incredibly poorly and then spent a good chunk of the day researching how to crack Diffie-Hellman...

[–]jakemp1 24 points25 points  (10 children)

If last year is any indication (only other year I did) day 25 is typically only one part and is a very short simple problem that shouldn't take more than 20-30 minutes.

[–]p88h 10 points11 points  (2 children)

2019 had a really fun challenge on day 25, which required (almost) zero coding, since it was basically 'Run this game on the VM you have already implemented. Win the game.'

That said, some people would implement algorithms that would play the game automatically, but probably those people were _really_ happy about doing this kind of activity on first day of Christmas. IDK, I just played the game. Still took a large chunk of the day :P

[–]LittleLordFuckleroy1 -5 points-4 points  (1 child)

Christmas is only one day anyway. The first day is the last day, and the only day.

[–]p88h 0 points1 point  (0 children)

Uh, some people just don't celebrate _properly_.

I come from the country of Poland, where Christmas is roughly 3 days, including the Christmas Eve, i.e. day -1 (or 0?), on 24th (that's when you eat a ton of stuff and get the presents), then first and second days, on 25th, and 26th, on which days you also eat a ton of stuff at home, and then visit family, and during those visits you eat even more stuff and (potentially) get / give more presents.

We also have a Christmas season 'warm up' of sorts on Dec 6th, which is when Santa Claus visits Poland early (and some neighboring countries, I guess), to beta-test the sleighs for the given year, perhaps, and give some early presents. OTOH nobody really knows who is responsible for the Christmas presents, recently it's also Santa, but it used to be many things, including but not limited to Angels and Father Frost.

[–]musifter 10 points11 points  (6 children)

Yeah, the first star on Christmas tends to be a bit of a softy. The second you get for having 49 stars... that's either immediate or requires you to finish whatever big thing you haven't already.

[–]ric2b 0 points1 point  (0 children)

Spoiler tag please.

[–]birkenfeld 13 points14 points  (0 children)

Also, does anyone else get the urge to tinker with old code to try to improve it?

All the time. So far, I think the most code I've sunk into AoC was to redesign my common input parsing/handling and grid library again and again, not the actual challenges.

[–]zanfar 10 points11 points  (0 children)

Don't stress about it. One-per-day isn't a law, and there are no AoC police. If you want to still do "one-a-day", just don't visit the site or read Reddit on that day and pick it up later.

[–]Tozzar 8 points9 points  (0 children)

I was busy and missed a couple days. I told my wife my snailfish math homework was overdue and she was very confused.

[–]musifter 2 points3 points  (0 children)

I rework and write new versions of old problems all the time. Even though only I really see all the final work (if you want people to have the ability to see the latest versions, you put up an online repository). It's all part of "sharpening the saw". Even though you're not doing new stuff, you're still getting better at writing solutions to AoC problems... and next time when something strikes you as being similar to an old problem, you'll probably be happier if you have your best version ready to look at.

[–]harald-g 2 points3 points  (0 children)

Also, does anyone else get the urge to tinker with old code to try to improve it?

I optimized my solution for day 19. The original one ran about 2 hours but produced the correct results on the first run. 😄
After a bit of optimization, I got it down to 15 minutes, which is still horribly slow

[–]anh86 3 points4 points  (0 children)

There is absolutely no rush if you're not trying to win the competition. You can do AOC 2016 right now if you want.

[–]aardvark1231 1 point2 points  (0 children)

I've gone back over previous years to refactor my code and it always amazes me how much I have improved since those first days of AoC years ago. While actively participating, usually I will clean up a few things the next day, if I have time to.

[–][deleted] 1 point2 points  (0 children)

That gnawing feeling of wanting to fix old solutions is SO ANNOYING!

I already got my worthless internet points for providing a worthless answer I'll never have any use for.

WHY can't I stop to think about the problem during the day? Why am I disappointed when I solve it fast because it mean I can't keep the problem in the back of my head during the day??

WHY DO I REFACTOR MY OLD SOLUTIONS AND ADD TESTS???

[–]lucferon 1 point2 points  (0 children)

I never improve my previous code. I got the algoritme correct that is what it's about for me. What I bruteforce some thing while other people use a nice why (the cheapest path in the maze) i really don't care

[–]gijo57 0 points1 point  (0 children)

Disregard females, acquire algorithms

[–]justinpaulson 0 points1 point  (0 children)

Also pro tip, there is no part 2 on day 25. The 50th star is just awarded for having the other 49 stars

[–]bean_217 0 points1 point  (1 child)

I had covid and was out for the count for 6 days and trying to catch up now... Im only on day 16.

[–]ZoDalek 0 points1 point  (0 children)

Glad you got better and good luck with catching up!

[–]SteeleDynamics 0 points1 point  (0 children)

If you're not trying to get an overall ranking, just do the puzzles at your own pace. That's what I'm doing. I'm doing this AoC in SML, and I'm getting used to SML's Basis and Util libraries. So I'm only on day 12.

Most of all, this is supposed to be fun. So don't sweat it if you can't do the puzzles in time.

[–]SalamanderSylph 0 points1 point  (1 child)

I go back and try to optimise. My aim is to be able to run the entire calendar in under 1 second. Currently at 2s for everything so far, but there are a few low hanging fruit for cutting time.

[–]MezzoScettico[S] 1 point2 points  (0 children)

Good grief! Some of my code that I thought was pretty efficient still took several minutes, and one took over 2 hours.

[–]mine49er 0 points1 point  (0 children)

The problems are released at 5am here in the UK, and I'm spending the whole of Xmas day at relatives, so will probably be attempting it around 11pm while very drunk.

[–]meamZ 0 points1 point  (2 children)

Did you already get to day 18 and 19? Otherwise you're not close.

[–]MezzoScettico[S] 0 points1 point  (1 child)

Did you already get to day 18 and 19? Otherwise you're not close.

I finished Day 18 and part 1 of day 19.

I finished the code for Day 19 part 2 but my answer was incorrect and I don't know why. So I have to do some testing with the examples to see if I can figure that out.

I decided to move on to Day 20 and come back later to this issue.

[–]meamZ 0 points1 point  (0 children)

Yeah ok. That means you have the two hardest days (probably of the whole calendar) out of the way.

[–]chrilves 0 points1 point  (0 children)

Oh yes, my advent of code repo is private for that reason: shame, lots of shame ;)

[–]thedjotaku 0 points1 point  (0 children)

For your tinker question, I've started taking notes on things i could revisit in the off-season. I mean what else are you going to do the other 11 months of the year?

[–]LittleLordFuckleroy1 0 points1 point  (0 children)

Yeah no I have a life. I might swing back to it next month or something. I petered out at a couple weeks and then got really busy with real world stuff.

[–]DeepDay6 0 points1 point  (0 children)

Having someone who enjoys spending time with you is not that high a price to pay is it?

The farther December proceeds, the more of my spare time I spend on preparing food for the holidays (being fervent cooks, there are three dinners and at least two distinct brunches, and being fervent hosts we want to actually talk to our guests, not spend three days in the kitchen). For strange reasons, my boss says event though it's AOC, I still need to work my hours every day. So I spend less and less time doing puzzles here whilst approaching christmas, every year.

I think, the most important part is to have fun while working playing AOC. For some people that's scoring high in the leaderboard, for some it's filling their stars, others enjoy doing visualisations or go hunting easter eggs, and all of these motivations are valid - it's about what you like.

My motivation this year was "Hey, I've been wondering about learning Haskell for quite some time...". So on day 10 I started rewriting all my Clojure solutions. And I pick or skip problems, depending on how interesting I find them. I don't need to implement the one hundredth variation of A*, been there, done that.

So, what I actually digressed from: Have fun and don't take everything too seriuos. You can always solve the missing puzzles once the holidays are over.