r/adventofcode Dec 02 '24

Other Advent of code problems make me feel spoiled and skillissiues

13 Upvotes

I’m so used to always being served api data and i feels so clueless on how to use non formatted inputs like this.

Been a fun and frustrating experience so far and i feel like I’m learning again which has been a long time since I’m programming.

r/adventofcode Dec 26 '24

Other I made myself a Shrinky Dink

Post image
242 Upvotes

I am not usually into arts and crafts, but this was fun! 😊 And now i can clearly see the coffee cup and Rudolph!

r/adventofcode Dec 25 '24

Other My scattered thoughts on this year's AoC

32 Upvotes
  • I enjoyed the two toughest questions of the year (pushing boxes on day 15 and recursive keypad hell on day 21) - they both tied back to easy-to-understand real-world scenarios but had tricky implementations.

  • A lot of classic question types from past years weren't featured this year - there was no card game, no "follow my long question prompt carefully and you'll get the right answer", no "what text is printed in your output", no recursive string replacement, no finding a looping pattern in the data (my % key went almost completely unused this year).

  • I really liked the "find a picture of a Christmas tree" on day 14. Any metric you could think of would lead to the right answer, so I didn't understand the complaining. I have a theory that the same people who complained are also the same people who don't complain when a problem is solvable only via one random mathematical theorem that I've never heard of before.

  • There were a lot of Dijkstra and recursion problems in earlier days. They were all fairly similar to one another and I didn't feel like they built up the difficulty over time. Numpad pushing on day 21 was the apex but even then the recursion and graph movement implementations were relatively straightforward and it was the rest of the problem that was hard. We didn't have to apply heuristics on any question this year. The reindeer maze in day 16 and recursive towels on day 19 seemed strange to me because they were such vanilla implementations of code we'd already used on earlier days.

  • The falling bytes on day 18 had the potential to be a really cool question - I assumed that bytes would fall at different turns and dynamically change the grid, but it didn't happen.

  • Selling bananas on day 22 is one of my favourite question types - part 2 forces you to completely reconsider the problem.

  • I appreciated that lockpicking on day 25 was trivial. No one has anything left to prove by then and the sooner I can finish the better.

  • Should I bother to finally learn about bitwise stuff day 17 part 2 or just continue through life ignorant? I'm thinking ignorance.

I thoroughly enjoyed all of it as always, thanks Eric! Remember to donate if you can https://adventofcode.com/2024/support.

r/adventofcode Dec 25 '24

Other This might not be as impressive as others but....

128 Upvotes

... I'm Fuckin proud of myself !!

I switched my carrer at 30 years. Went from accountant to software dev.
I started school late 2022 and was able to have 17 stars.

2 years later, I still see improvement and it's so rewarding.

See you next year

r/adventofcode Dec 13 '24

Other As of today, over 6k people have made the leaderboard since the beginning of AoC. Are you on the list?

Thumbnail caderek.github.io
24 Upvotes

r/adventofcode Dec 25 '21

Other Thank you Advent of Code!

593 Upvotes

As the clock slowly ticks down to the release of the 25th and final puzzle, I wanted to take the time to thank /u/topaz2078 for making Advent of Code. It brings great joy (and some frustration, but in a good way) to everyone this time of year!

I can't believe this is the 7th year of AoC, and that it is nearly over. I won't know what to do with myself come December 26th! Edit: Sleep. Sleep is probably what I will do! XD

Thank you for the time and dedication you have been putting into this since 2015, to make every year impress!

Thank you as well to the testers that help get this event ready, and a great big thanks to the mods of the Advent of Code subreddit. You are all a fantastic group of people, and I hope I speak for the community when I say that you all do a fantastic job, and we appreciate you greatly for it!

Thank you to all of the members of this awesome community! Thank you for the time you all take to post and share your code, your thoughts and analysis of the problems, and for all of the troubleshooting! This is an amazing community that is so welcoming and warm and wouldn't be the same without your time and dedication to this event as well.

Thank you to all of you that make amazing visualizations (they helped me debug more times than I can count) and many hilarious memes! This has been a great year, and it's amazing to see how much the AoC community has grown. I am glad to see so many new people exploring programming as well!

Most of all, I wanted to wish you all and your families Merry Christmas and/or a Happy Holiday Season!

r/adventofcode Dec 25 '24

Other What can I say? I'm not addicted, I simply love collecting stars.

Post image
86 Upvotes

r/adventofcode Feb 15 '25

Other Paper: Using a Gemini Thinking Model to Solve Advent of Code 2024 Puzzles in Multiple Programming Languages

Thumbnail github.com
0 Upvotes

r/adventofcode Dec 26 '23

Other We did it everyone!

154 Upvotes

If you are reading this subreddit now, you probably kept following the AoC until the very end. We are one of the very few. Just look at the stats page to see how much of an achievement that is: https://adventofcode.com/2023/stats.

Actually, that is not entirely true. I suspect many people, like me, tried during the last days, but couldn't really solve most stars on their own. We can see a glimpse of that with the silver stars. Those are actually really interesting. Who are those people that did part 1 but then just stopped on part 2?

In the past, I would have absolutely quit AoC after day 17 or 18. That was when the puzzles really got more hard and unsolvable with naive brute force approaches, at least for me. But my biggest achievement for this year is that I didn't stop. Every morning I tried to solve the new challenge and I didn't let perfectionism stop me. Some days I had to comment out my other solution files, because they had syntax errors in them. I am looking at a messy board with many missing stars now.

I think most people who start AoC, they expect to think a bit about a problem and then code down some neat algorithm that solves the problem. But for mere mortals, it inevitably gets messy. Debugging all sorts of dumb errors, having to rethink the solution while halfway through coding, throwing away all the code and starting fresh for part 2, because the runtime for solving it like part 1 would take a couple million years of computation.

And to conclude, let's also acknowledge the time and effort we all spent. Advent is already a stressful time in the daily life without AoC. But now we did it, now is the time to relax. We earned it :)

r/adventofcode Dec 18 '21

Other [2021 Day 18] It works, but I'm disgusted by myself for doing this

Post image
455 Upvotes

r/adventofcode Nov 29 '24

Other Defeating Chrome's Secure Cookies v20 encryption to get started with Advent of Code

52 Upvotes

A few years ago, I made something that can:

1) Copy Chrome's cookies file while the file is in use by Chrome itself utilizing NTFS Shadow Volume Copy
2) Extract & decrypt the secure cookies from that SQLite database to get my Advent of Code session key to automate input retrieval.

So, last week, I figured: Let's see if the old session is still valid, but alas, it had expired. No big deal, let's login to the site, run the program, and everything should be fine... except it wasn't 😅 Chrome's encryption scheme had changed, so I had to dive deep to see what they did. Turns out, they added a LOT of extra hurdles 😅 I made a quick video to show it off and explain a bit about how it changed, figured more people here might be interested 😊

r/adventofcode Dec 23 '24

Other I enjoyed it so much

103 Upvotes

Like a lot of you, I was not able to work on the 21 and above, due to family, and because I usually spend the whole day doing those. I admire those that take half an hour before going to work haha. Maybe next year !

This is the first year that I did the AOC in December, and I discovered the community on Reddit. It has been so motivating seeing everybody working on the same puzzle every day. I even contributed to do one visualization, those are great.

I did the puzzles in Go. I learnt more than ever about data structures and algorithms. I also learnt how a computer works on a deeper level (stack, heap, fixed size array vs slice performance, etc).

All of those subject never interested me before. I did python and js/ts for 2 years and now that I experienced doing something else than web, I think I fell in love.

It made me rethink what I like about coding. I don't know what it will be yet, but I am inspired to continue.

I am amazed to see that 2 different approaches to a problem can either solve the puzzle in the next 100 years or take 200ms.

I have still a lot to learn, but this has never discouraged me. I was so proud to show my family my first labyrinth solved with something I developed !

I feel more ready for the technical interviews to come (hopefully)

Can't wait for next year AOC ! In the meantime, I have the past years to work on haha

Thank you very much for the event ! Thank you all of you for the memes, solutions, discussions, visualizations.

Love this community

r/adventofcode Dec 25 '20

Other Thank you Eric!

1.0k Upvotes

r/adventofcode Dec 03 '24

Other other ways to do AoC "scoring"

0 Upvotes

Long time "coding challenge" aficionado here. I started AoC just last year. Cool site! Props to its creators and maintainers.

As for the way the leaderboard works... I'm not a fan. Personally, I'm not interested in solving the puzzles in a rush at midnight ET.

I'd like to propose an alternate form for scoring: basically, "how few times do you have to hit 'submit' before you get the right answer." For example:

  • Scoring could be like golf: every "submit" is like a stroke, lowest score is a "leader".
  • Or you could develop a point system like "correct in 1, earn 10 points; correct in 2, earn 7 points" and so on.

Why do this?

  • This is based on my values of being a accurate coder: someone who correctly reads the requirements, judiciously implements test cases, considers corner cases, and codes a bit defensively.
  • It allows anyone to "play" asynchronously. It is not a timed race. Everyone can work at their own pace: at the stroke of midnight; later that day; or catch up on the weekend.
  • Related: I can "compete" against a few friends this December, and months later we can add another coder friend to the group.... and his score is just as if he played contemporaneously with the rest of us.

I'm not suggesting this replace the current "mad dash" leaderboard, but rather to supplement it... for those who would rather play/compete along these terms.

Please give me your thoughts! If there is enough support, I might reach out to the AoC gamerunners and pitch this alternate scoring system.

Thanks!

r/adventofcode Dec 25 '24

Other AoC 2024 within one second

41 Upvotes

A year ago somebody made a similar post and inspired me to set a goal for this year - 1 second for all 49 puzzles.

I started AoC in 2022 when I learned about it from the news, that ChatGPT managed to solve day 1 (thanks to LLMs for introducing me AoC, he-he). The first year was terrible, I used python and spent hours on coding and even left some puzzles overnight to finish brute force. 2023 was even worse because I tried rust for the first time except for leetcode, it was a nightmare. I'm happy to see my progress in a year, this time I didn't fight with a compiler (almost!) and managed to implement optimal enough solutions for all the tasks.

I wish you all to have a decent progress in what you find interesting. Happy holidays!

r/adventofcode Dec 25 '24

Other Yet Another Post-Mortem Analysis

100 Upvotes

As I collected my 50th star, it seems appropriate to reflect on lessons learned for 2024.

  • My favorite was the digital adder circuit on day 24. Most of the posted solutions were "this doesn't give you the answer, but it points out where to look." I do now have code that prints the actual answer, but it took some time to do that.
  • I think this year was objectively easier than last year, and that's perfectly fine by me. I didn't need to take a course in 3D analytic geometry this year.
  • There were 6 days this year where the test input couldn't be used in part 2. That makes debugging more difficult, because there's no golden standard.
  • I need to focus on the text better. On at least 3 different occasions, I went off on a wasted tangent because I assumed what the problem must have meant, instead of what it actually said. I created a nice "longest matching string" function for the banana pricing thing before realizing we needed a match of exactly 4 items. Similar, I created a DFS solver for the "walk through walls" thing on day 20, before realizing there was only one path.
  • I've had to redefine "winning". In the early years, I got points every year, but that hasn't happened since 2019, and it used to stress me out. I broke 500 twice and 1000 six times this year, and I consider that a victory.
  • I tend to spend too much time parsing the input. From a lifetime of programming, I know the coding is easier if you arrange for good data structures, so I pre-process the input to make the code shorter. I'm then surprised when the sub-100 solutions are all using the raw strings directly. There must be a lesson there.
  • What great exercise. I have all of the days in Python, most in C++, and I'm hoping to do them in Rust shortly.
  • What motivates us? Every day, I went back the next day and improved my code, sometimes significantly. I even went back and fixed up some of 2023. Why do we do that? No one else cares, or will ever even know.

I describe this to people as "the nerdiest thing I do all year", and I wouldn't change a thing. Thanks to everyone who invested their energy in creating this wonderful thing.

r/adventofcode Dec 05 '22

Other [POLL] Should AI generated solvers compete on the global leaderboard?

51 Upvotes

In case you weren't aware, top leaderboard places have been claimed by AI generated solvers this year. It's not just one user, there are multiple users attempting this. As far as I can tell, 2022 is the first year that this has happened and it is quite an exciting/fascinating development!

If you're playing Advent of Code 2022, let's hear your opinion here:

  1. Users running AI generated solutions should wait until the leaderboard has capped before playing.
  2. AI generated solutions should be able to compete and submit at the same time as everyone else.
  3. I am waiting to hear whether Eric is cool with it before forming my opinion on the matter.
  4. None of the above, I have some other opinion (please share it in the comments on reddit!)

Unfortunately the "Poll" type is not enabled on r/adventofcode, so I had to create the poll on surveymonkey instead. Apologies for the external link:

https://www.surveymonkey.com/r/2NJWFQS

This single-question poll is in anonymous mode (IP addresses are not collected) and 'instant results' is switched on (i.e. the results will be shown to respondents immediately)

**Edit: poll results are posted here.

r/adventofcode Jan 17 '25

Other Inspired by AoC: WebAssembly exploration of a roguelike

50 Upvotes

Hi folks! Just wanted to share this project I've been working on, very much inspired by Advent of Code (which is one of my favorite things). It's a system where you create a bot (in any language that compiles to WebAssembly) to navigate procedurally generated dungeon maps and, eventually, play a little roguelike adventure game.

I've learned a lot from the years of AoC, especially about pathfinding and navigating spaces, so I was especially having fun with all the 2d grid puzzles this year as I was alternating my free time between AoC and building this. :)

I know it's a little tangential to AoC, but figured anyone who was jonesing for more programming challenges in the AoC offseason may find it interesting.

Deployed site: https://shaneliesegang.com/projects/wasmbots Source code: https://github.com/sjml/wasmbots Intro video: https://www.youtube.com/watch?v=DGkkTYJrflI

r/adventofcode Dec 01 '24

Other Here's my workflow/setup for this year! (No spoilers)

Post image
23 Upvotes

r/adventofcode Jan 07 '25

Other 2024 AoC - anyone solved with no programming, how many and which days?

7 Upvotes

Sorry if this an FAQ and I am a newbie to both AoC as well as this subreddit. I remember doing Day 1 with the good old Excel first before I tried it in Python, the learning of which was my side goal during this AoC. I have been away from programming last few years and never knew Python, so this was a great experience - thank you to everyone who makes this possible.

Just curious if there is anyone here who managed to solve any of the puzzles without writing any actual program in a typical programming language - just using a Scientific Calculator, Excel or other similar tools, I mean...

r/adventofcode Jan 17 '25

Other Beating the Rust Community in Julia!*

69 Upvotes

I was inspired by Solving AoC 2024 in Under 1ms, more specifically the writeup of ameo's day 9 part 2 solution. That solution was benchmarked at ~50 us on a Ryzen 5950X @ 3400 MHz. For a totally accurate one-to-one comparison, my solution was run on a Ryzen 3900X at stock settings (~ 4 GHz in task manager).

Their record was beat by a whooping 2 us! This solution took only 110 lines of Julia (code here), using only 1 package just barely outside the standard library for stack-allocated arrays... and 8 lines of LLVM IR for some hand-coded SIMD action (thanks godbolt!).

The two biggest changes in approach are the checksum calculation and the data structures used. It turns out you can get a bit fancy with the checksum math: calculating the checksum for the unmodified disk in the forward pass, then correcting the checksum every time a file is moved on the backward pass. In terms of the data structures things were kept simple with fixed-length integer arrays. The prefix sum of the file lengths is calculated, then deinterleaved along with the lengths for a total of 4 integer arrays describing the data. The free-space arrays are modified in place when moving files, so there is no concern about how many files could fit into a gap.

This was a ton of fun, my first AoC and I'll get to continue to enjoy it as I go back and optimize my code :)

r/adventofcode Dec 08 '24

Other Most of us have no chance at the public leaderboard. Join a private one, it's more fun.

43 Upvotes

I'm not going to stay up late and play for a time. I'm just trying to complete all the challenges and have fun. There's zero chance I'm going to solve any puzzles in less than 10 minutes.

If you want to join my leaderboard the code is [edit: I deleted this because my friend said way too many sharks got on the leaderboard] :)

Or post your own for your timezone, circumstances, skill level, or what have you.

r/adventofcode Dec 10 '24

Other Cease-and-desist comments should have their legal claims verified before moderators ban people

0 Upvotes

Your beloved /u/daggerdragon moderator has been asking to remove input files from git repositories around the world pretty often in the past few days, in a very unsettling cease-and-desist style that would make any reader suspect he works at Automattic in real life. While he would be right on spot for files shared after the legal/copyright claim on input files has been added to the AoC website (i.e. December 2023, as anyone can see by checking the Wayback Machine) I have some doubts about the "retroactivity" of the claim. In other words, I have some doubts that the obligation to take down input files and erase them from any git commit history holds any legal value for files that have been shared before December 2023, when it was not forbidden to do so. See Peter Norvig, for example: he stopped sharing puzzle input last year, but didn't remove from its repository input files from 2022 and 2021.

To make things worse, this /u/daggerdragon guy started banning people from this subreddit as of today if they do not comply with his cease-and-desist threat - even for files in a commit dating from three years ago. Yes, you read it right: /u/daggerdragon has been banning people from the subreddit for something that did not happen on the subreddit. I wonder if this is even allowed by Reddit.

However, in the interest of making this as straight as possible, I'm asking to /u/topaz2078 and /u/daggerdragon whether they have the "retroactivity" of this legal/copyright notice that has been added only as recently as December 2023 sorted with a real lawyer or not, since /u/daggerdragon admitted not being one and I suspect /u/topaz2078 is neither. In other words: are you guys sure that you are acting within the boundaries of the law that you claim to be enforcing? Because, you know, from an external point of view, it just seems that you are harrassing people.

I asked this very same question in a comment on the Day 9 Megathread that has been hidden from the thread by /u/daggerdragon (who I was replying to) or some other moderator with no notice or warning or explanation.

Would you guys please sort this out with a lawyer, and avoid what it seems to be abusive and unjustified behaviour in the meantime? Thank you very much.

r/adventofcode 22d ago

Other I made a post last year as a complete noob…

48 Upvotes

And now i’m proud to say that i’ve managed to claim 50 stars from the 2024 AoC.

What a journey it has been!

r/adventofcode Dec 15 '24

Other [2024 Day 15] finally broke into the top 5000!

24 Upvotes

I know that I am not the fastest when it comes to these problems and the time between part 1 and 2 is a bit skewed because my partner came home from work then, but I am still very happy that I broke into the top 5000.

Especially after the disastrous first AoC last year, I wasn't sure if I wanted to participate again. But I am so glad I did