
Advent of Code 2017 - djsumdog
https://adventofcode.com/2017
======
mathw
Advent of Code is an amazing achievement. Designing all the puzzles, writing
code to generate all those different inputs for everyone, keeping the site
going, somehow managing to create this wonderful community of problem
solvers... I loved it last year. I've already paid my AoC++ this year. The
least I can do for a month and more (because I never do a puzzle a day, and
still haven't finished last year's) of fun.

This year I need to make sure I do the graph search problems properly, because
I've never learned those methods and I really should.

~~~
narimiran
> This year I need to make sure I do the graph search problems properly

I'm guessing this year it might be some other 'common theme' for the tasks,
and we might not see as many graph-problems as in 2016.

But learning graph searches cannot hurt you either way :)

~~~
ubertaco
Are there any good resources you'd recommend on learning how to effectively
work with/search graphs?

~~~
supersonix
[https://www.redblobgames.com/](https://www.redblobgames.com/) has a great A*
intro with visualizations and code. I highly recommend it.

~~~
narimiran
This would be my reply too. The whole site is great! I've recently went
through hex grid tutorial - very informative, interactive and nicely
presented.

------
pmulv
Since Peter Norvig has been topical this week, here are his great
instructional ipython notebook solutions to last years AoC challenges[1].

[1]
[http://nbviewer.jupyter.org/url/norvig.com/ipython/Advent%20...](http://nbviewer.jupyter.org/url/norvig.com/ipython/Advent%20of%20Code.ipynb)

~~~
kqr
This was an incredibly satisfying format for this. Cool!

------
twoquestions
I'll have to come by again tomorrow, but I must say the design of the site is
_beautiful_. The content is immediately clear, and as you look closer it's
clear that the author put some very subtle design touches on, but they aren't
overwhelming.

Well done!

~~~
pharrington
Indeed, Advent of Code is easily one of the best computer games.

------
jordigh
I'm doing it this year. In D, because I'm stubborn, enjoy the language, and
couldn't immediately get to like Rust.

Going by hype, I have a feeling learning Rust will some day be as inevitable
as interacting with git, but for the moment I'm sticking to D.

~~~
mathw
That remains to be seen, but I firmly believe you should do AoC in something
you enjoy!

~~~
baldfat
First attempt at doing it in Racket this year. I actually got through a bunch
just using R last year.

------
amenghra
AoC is lots of fun. There's an active community on
[http://reddit.com/r/adventofcode](http://reddit.com/r/adventofcode) where
people share tips and help each other out.

I highly recommend participating. AoC is designed as a speed coding
competition, but if you aren't playing for the speed points, it's a fun way to
learn a new programming language.

~~~
Aneurysm99
It's really not designed as a speed coding competition; that's just what it
became by accident. Eric built the first edition for friends and friends of
friends, expecting maybe 70 people to participate. He thought a 100 person
leaderboard would be more than enough. The look on his face the next day when
he realized what had happened and that his infrastructure wasn't going to hold
up was priceless :)

That said, it is a fun way to learn a new programming language or to brush up
on one you haven't used in a while. Stop by the subreddit and get help if
you're having trouble or give some help if you're able!

------
synicalx
> If you're curious about how Advent of Code works, it's running on some
> custom Perl code.

Get out! Here I was thinking I was the only person using Perl in 2017.

~~~
jlgaddis
Shhhh! You'll get lynched talkin' like that around here.

------
lobo_tuerto
The perfect excuse I was looking for to finally start digging into Elixir. ;)

~~~
codespin
Elixir is my plan for advent of code also. Haven't tried it before, but it
looks fun!

------
estomagordo
I love AoC! Last year was the first time I got all 50 stars, as I was
motivated by a competition held by a Swedish podcast. This year, I'm even
hosting a pub meetup about halfway through December, centered around Advent of
Code, where a group of us hopefully can help each other out.

~~~
sh4z
Both the podcast and pub meetup seems interesting. Do you have some more
information?

------
ajmurmann
While I enjoy advent of code I always have been happy to live on the west
coast. I wonder how many people on the east coast don't participate because
they'd have to stay up til midnight if they want to score.

~~~
amenghra
It could be fun if each puzzle were unlocked after 23h (or 25h). I.e. the
start time shifts everyday by 1h to make it "fair" no matter what timezone you
live in.

~~~
Aneurysm99
As a moderator on the subreddit and coworker of Eric Wastl, that'll never
happen because we would die. It's set up so that puzzles unlock at a time that
Eric is awake and able to respond to any issues that may arise.

------
staticelf
So, what are people gonna work in? Anything interesting? I am myself thinking
about doing the challanges in Powershell. Because why not suffer more on this
earth.

~~~
Fabled
I'm thinking on doing them in Rust and Clojure. I've dabbled in Clojure before
but nothing serious and I'd like to build up some more familiarity. Rust
because it's the first systems programming language that grabbed my attention;
plus it's always good to have a varied selection of tools in your proverbial
toolbox.

I know that I can probably do them in 10 minutes in Python, but that's not
going to be as fun or valuable, especially since I'm not going to be able to
compete for the leaderboard due to timezone/work.

~~~
staticelf
> I know that I can probably do them in 10 minutes in Python

Then you are in the absolute top tier of the people competing. Either that, or
you probably belong in this subreddit
[https://reddit.com/r/iamverysmart](https://reddit.com/r/iamverysmart) ;)

~~~
Fabled
Haha, I meant the actual coding part. I'm sure the problem solving would take
me longer, it's just that once I have a solution in mind I can code it in 10
minutes in Python, since I'm very familiar with it and use it almost on a
daily basis.

Having to think about basic things such as how to instantiate hash maps, what
is the syntax for control flow, does this language have this particular
functionality. This can take hours spent in reading documentation and
debugging.

From what I've seen from last year, the problems arent't that hard (they're
meant to be solved within a day), so the real time consuming part is the
coding.

~~~
staticelf
I get what you mean, but after the few first days it gets kinda hard imo. It
takes like 10 minutes for me to read and maybe grep what the problem is.

------
vadansky
Is it a death sentence to try and learn Haskell on this challenge? Or should I
go with a language I'm more comfortable in?

~~~
SatvikBeri
I found Project Euler really helpful for learning new languages, I imagine AoC
is similar.

~~~
suprfnk
Though I find Project Euler to be pretty heavy on the math problem solving,
and not much on the day-to-day programming problem solving.

~~~
throwaway7645
I agree with you. Not super useful for day to day stuff, but still fun and
enlightening.

------
michaelsbradley
ReasonML this year, or that's the plan. Excited for it!

------
TulliusCicero
The about page doesn't say: is there a specific language used for these?

~~~
verandaguys_alt
There isn't, by design. You write _some_ black-box implementation locally
which outputs a textual solution you drop into the browser (at least, this is
how it was in 2015 when AoC started).

I can't recommend this enough. I had to miss out on last year's challenges,
but planning on participating this year; it's a great way to keep your brain
nimble if you feel like you're in a rut.

~~~
Aneurysm99
The prior events are still available!
[http://adventofcode.com/2016](http://adventofcode.com/2016) and
[http://adventofcode.com/2015](http://adventofcode.com/2015)

------
executesorder66
I haven't done AoC before. Does anyone know if it's possible to submit 2
solutions? I want to use this to brush up on my Python, and I want to start
digging into Rust.

~~~
nouveaux
AoC is language agnostic. You can find previous years' puzzle and give it a
shot.

[https://adventofcode.com/2017/events](https://adventofcode.com/2017/events)

~~~
executesorder66
Thanks.

------
geraldbauer
FYI: I plan to publish a Ruby Advent Calendar 2017 - 25 Days of Ruby Gems /
Libraries, December 1 - December 25 @
[https://planetruby.github.io/advent2017](https://planetruby.github.io/advent2017)
Sneek preview of day 1 -
[https://planetruby.github.io/advent2017/01-blockchain-
lite](https://planetruby.github.io/advent2017/01-blockchain-lite)

------
nemo1618
I had lots of fun with AoC in 2015 and 2016. Here are my (Go) solutions:
[https://github.com/lukechampine/advent](https://github.com/lukechampine/advent)

There is also a subreddit (/r/adventofcode) if you get stuck and/or need
inspiration. Some really creative solutions there.

Best of luck to everyone this year. See you on the scoreboard! :)

------
mattpk
I do codejam every year. Looks fun, will participate. First impressions tell
me that runtime complexity won't as strict here however

------
soccerdave
Have really enjoyed this the last couple years! Wish that this would open at a
more reasonable time for the east coast folks.

------
hateful
It took me a while to figure out this wasn't an article outlining a new way of
coding starting in 2017.

------
donaldihunter
Currently working through this and last year in Perl 6. Really good fun.

------
aamederen
As a first time visitor, I find the design very clear and readable.

