DEV Community

Cover image for Advent of Code is Live!
Ryan Palo
Ryan Palo

Posted on

Advent of Code is Live!

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!

A Christmas Binary Tree with a Heap of presents underneath - XKCD 835

Credit: XKCD #835

Top comments (31)

Collapse
 
aspittel profile image
Ali Spittel

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!

Collapse
 
rpalo profile image
Ryan Palo

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?!

Collapse
 
aspittel profile image
Ali Spittel

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!

Thread Thread
 
rpalo profile image
Ryan Palo

Neat idea! Well, let me know if you can’t find anybody else to do it, and I’d be happy to do it.

Thread Thread
 
aspittel profile image
Ali Spittel • Edited

You should totally go for it @rpalo ! That would be awesome, especially since you did the first post πŸ™ŒπŸ»

Thread Thread
 
rpalo profile image
Ryan Palo

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?

Thread Thread
 
aspittel profile image
Ali Spittel

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)

Thread Thread
 
rpalo profile image
Ryan Palo

Ha! 10 points for the 9PM west coast start!

Thread Thread
 
rpalo profile image
Ryan Palo

Bam! Day 1!

Thread Thread
 
ben profile image
Ben Halpern

We’ll make #adventofcode featured on the sidebar experimentally

Thread Thread
 
ben profile image
Ben Halpern

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 πŸ˜…)

Thread Thread
 
ben profile image
Ben Halpern

Okay, you two have tag mod powers (which right now are pretty limited, but some more coming soon)

dev.to/t/adventofcode/edit

Thread Thread
 
rpalo profile image
Ryan Palo

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 πŸŽ„ πŸ”₯

Thread Thread
 
aspittel profile image
Ali Spittel

Haha added emojis -- may try and play with colors, underratedly hard to make red and green look good together.

Thread Thread
 
ben profile image
Ben Halpern

Also make note that views darken/lighten colors to add contrast so you have to be pretty conservative with what you try πŸ™ƒ

Thread Thread
 
rpalo profile image
Ryan Palo

Hmm. Guess that rules out cranking the intensity up to 100%. Duly noted. 😬

Collapse
 
erainey profile image
Eric Rainey

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.

Collapse
 
aspittel profile image
Ali Spittel

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.

Collapse
 
jbristow profile image
Jon Bristow

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.

Collapse
 
itsasine profile image
ItsASine (Kayla) • Edited

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.

Collapse
 
egeriis profile image
Ronni Egeriis Persson

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 iter.cycle :D

Collapse
 
rpalo profile image
Ryan Palo

Awesome! I'm discovering that the Iterator module in Rust is my favorite so far. :)

Collapse
 
macshome profile image
Josh Wisenbaker

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!

Collapse
 
lindakatcodes profile image
Linda Thompson

Advent of Code is my favorite coding challenge - I've been looking forward to it for awhile! I'm using JavaScript this year, same as the past two years - here's my repo - can't wait for some discussion! :)

Collapse
 
rpalo profile image
Ryan Palo

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. πŸ₯‡πŸ‘ŒπŸ»

Collapse
 
calebarapp profile image
calebarapp

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!

Collapse
 
marissab profile image
Marissa B

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.

Collapse
 
maxart2501 profile image
Massimo Artizzu

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

Collapse
 
rpalo profile image
Ryan Palo

Good luck! πŸ‘πŸ»

Collapse
 
robmeijer profile image
Rob Meijer • Edited

As always, I'm sticking to what I know, and going with PHP.

Solutions available here.