In which I learn Ruby better to solve Advent of Code problems.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
day01-input.txt
day01-input2.txt
day01-v2.rb
day01.rb
day02-input.txt
day02.rb
day03.rb
day04-input.txt
day04.rb
day05-input.txt
day05.rb
day06-input.txt
day06.rb
day07-input.txt
day07.rb
day08-input.txt
day08.rb
day09-input.txt
day09.rb
day10-part2.rb
day10.rb
day11-input.txt
day11.rb
day12-input.txt
day12.rb
day13-input.txt
day13.rb
day14.rb
day15.rb
day16-input.txt
day16.rb
day17.rb
day18-input.txt
day18-part2.rb
day18.rb
day19-input.txt
day19.rb
day20-input.txt
day20.rb
day21-input.txt
day21.rb
day22-input.txt
day22.rb
day23-input.txt
day23-notes-1.txt
day23-notes-2.txt
day23-notes-3.txt
day23.rb
day24-input.txt
day24.rb
day25-input.txt
day25.rb
knot-hash.rb

README.md

Advent of Code 2017

Because I'm a computing educator, I don't write code every day. I'd be lying if I said I didn't miss it. So when I heard about Advent of Code late 2017, I knew I wanted to participate.

I wasn't too interested in the competition aspect, knowing I couldn't be up at midnight every night working on code. Instead, I decided to commit to solving the problems as close to when they came out as I could for my circumstances. I also decided to use Ruby so I could remember the basics I used to know from working in Rails for half a year, and learn about the language on its own a bit more deeply.

I managed to solve almost all the problems the day they came out, with just two or three being finished the day after due to time constraints (read: two young children). I also learned a lot about Ruby, from the unexpected things you can do with hashes to its memory model, and more.

This is the code as I wrote it – no editing after the fact. I know I'm not following all the Ruby conventions (I really do prefer camel case for example), and I'm probably being more verbose than a lot of folks doing this competition (I love readable code).

Now that the competition is over, you can see all the problem descriptions to understand what I'm trying to achieve.