Advent Of Code 2017

Finally found some time to write something, it's been a while. Programming (and blogging) on my free time has been relegated to the background theses months, partly because I'm busy playing hide-and-seek and also because I've become fond of painting and drawing (by the way I highly recommend drawabox). Still, here are the few things I've been exploring.

I completed the 2017 edition of Advent of Code in Swift and it was a blast. I picked Swift because I wanted to learn something new (also "mobile" is a thing now — or so I've read on the internet). It was easy to setup and run on Linux and has what you would expect of a "modern" programming language (clean syntax, optionals, package manager etc.). The killing feature though is the custom operators allowing you to define new operators including their associativity, precedence, and using fun Unicode characters. Compared to Rust I feel like Swift has a much, much smoother learning curve. On the other hand, learning Swift has not changed the way I see programming the way learning Rust has. You can find my puzzles and solutions here.

I started Crafting Interpreters because of how fun it is to write compilers. And the book is incredible. It's a pure engineered labour of love. I can't imagine how many hours of dedicated work it has been (and continue to be) for its author, Bob Nystrom. I plan to use Swift and Rust instead of Java and C, you can take a look at my attempt here.

Finally, I recently discovered the cryptopals crypto challenges (also known as The Matasano Crypto Challenges). Write "real" crypto code then break real crypto code, what's not to love about it? Not for the faint of heart, but definitely an enlightening journey. Code at GitHub as usual.

That's it for now, happy coding :)

Comments