It's that time of year again: Advent of Code. The site went live at midnight Eastern U.S. time (which means, on the west coast, I got a nice little bit of coding in before bed)!
Advent of Code is one of my very favorite coding challenge sources. The challenges are festive, fun, and interesting. It's not just another round of "Roman Numerals" or "99 bottles of milk on the wall" either. These are hand-crafted, artisanal, coding challenges that you won't see anywhere else. And they come out two per day until Christmas! It's pitched as a mission, that you need to complete all the challenges in the next 25 days to save Christmas.
It's really a great way to get some consistent, engaging practice in a new language. This year, I've been trying to learn Rust, so I'll be doing my best to complete the challenges in Rust and share my progress on this repo (SPOILERS PRESENT!). I'd love for any Rust gurus who want to drop some knowledge to take a look at my code and help me get better.
And if you're doing your own learning in Python or Ruby and want me to take a look at your code, let me know. I'm happy to help as best as I can. 😀
Anyways, for those who celebrate it, Merry Christmas! Happy holidays! And Happy Coding!
Credit: XKCD #835
Top comments (32)
I would love to start a thread to discuss these every day, but I'm not sure what the best format for that would be, maybe a series? Also, here's my repo, it's my first year so I'm doing Python (classic) but hopefully they may be helpful for someone!
That sounds like a great idea! I don’t think I’ve ever seen a series of discussion posts, but that definitely seems like the right format for it. 👍🏻 They have a discussion subreddit, but why use reddit when you can use DEV.to?!
Exactly! I really dislike Reddit which is why I would love to have something inspired by it on here! It could be formatted like my coding puzzle posts, but I kind of what somebody else to take the reigns on it to get more involved with the community!
Neat idea! Well, let me know if you can’t find anybody else to do it, and I’d be happy to do it.
You should totally go for it @rpalo ! That would be awesome, especially since you did the first post 🙌🏻
Ooh ok! I’ll give it a go. 😁 I’ll be open to any suggestions you have too.
Another thought. I think you can make private leaderboards on their site, separate from the worldwide. Does that seem like fun to add a little DEV competition?
Yes! That would be awesome -- totally down for that! Thread + leaderboard would be so cool! (even though I'm totally not staying up till midnight to solve haha)
Ha! 10 points for the 9PM west coast start!
Bam! Day 1!
We’ll make #adventofcode featured on the sidebar experimentally
I’ll add it when I get home. You two can be mods (about to ship some better tag mod tooling next week which will make it actually useful to assign mods 😅)
Okay, you two have tag mod powers (which right now are pretty limited, but some more coming soon)
I FEEL THE POWER!
I filled in some of the values, but @aspittel , definitely feel free to completely change everything if you have better ideas for the descriptions, rules, or colors 🎄 🔥
Haha added emojis -- may try and play with colors, underratedly hard to make red and green look good together.
Also make note that views darken/lighten colors to add contrast so you have to be pretty conservative with what you try 🙃
Hmm. Guess that rules out cranking the intensity up to 100%. Duly noted. 😬
I decided to attempt these challenges with Python, as it is a language I would like to learn in the upcoming year, and I want to thank you for sharing! Your solutions are far more elegant than my clunky noob attempts so far, and I'm sure they will continue to be a good way for me to discover new syntax/approaches in the upcoming days.
As far as format, I think a series would be good, that way we can post our solutions in the threads and really focus on the daily problems.
Oh awesome, for sure -- Python is my favorite language by far, so glad to see another person learning it!
I think a thread would be great too -- hmm.
Let's all share our repos! Mine is here!
I'm doing it in Kotlin because my end-of-year challenge is studying for the OSCP exams, so I'm being lazy with learning new languages. If you step up the dirtree there you can see some of my previous year solutions as well as some explorations I've done later with different languages.
Every year I think I'm going to do these daily, and every year I have a Github graveyard ^^;
Also, anyone participating should also check out the subreddit for it! It's pretty active year-round and the guy who does all of it (seriously, all of it. I'm not convinced this guy sleeps at all during the year, let alone in December) is very active and maintains solution threads every day.
Ryan, thanks for sharing your repo. I'm also learning Rust, just finished reading The Book and don't know much about the std lib just yet. Totally over-engineering day1 part2, because I didn't know about
Awesome! I'm discovering that the Iterator module in Rust is my favorite so far. :)
I'm going to follow along in Swift and use Playgrounds to do so just because they are fun to use and tinker in.
I've started a GitHub repo for my solutions. if anyone wants to try these. Be aware that they are Xcode 10 Playgrounds as that's the prod version of Xcode at this time.
Looking forward to the solutions!
Also, thank you to the staff member that fixed the tags for this post and made it look like I’m not a doofus. I sat there staring at the screen for like 5 minutes and couldn’t come up with any good tags. Totally forgot about the “news” tag. 🥇👌🏻
This is perfect! Im trying to get a better handle on functional JS, and this is just what I was looking for. Thanks for the post!
This is awesome! I did both of today's challenges and spun up a little WPF app to keep it all organized as I add to it throughout the month. My repo is here.
Oh yes, here's my repo, also with the links to the repos for the past editions. I've never had the time to complete all the challenges (and last year's repo has been horribly neglected 😩), so I hope I'll do better this year (it won't be hard!).
Good luck! 👍🏻
As always, I'm sticking to what I know, and going with PHP.
Solutions available here.
I started AoC last year and I... did not get very far.
Here's to trying again. My repo is here and I'm trying in Crystal again: github.com/philnash/advent-of-code...