Elements of Ruby
Normally I write up this newsletter over the course of the week, but it’s now lunchtime on Friday and I’m only now starting it. Between being off Monday, ramping up my half marathon training, and client work, it’s been a busy week.
On this week's episode of Dead Code, I was lucky enough to chat with Noel Rappin about the updated pickaxe book. He has done a wonderful job of updating it for newer versions of Ruby.
This got me thinking about the book I started writing many years ago, but shelved. Books like the pickaxe cover the needs of developers needing to get up to speed with the language, but there's not a lot out there for intermediate and advanced Rubyists. There are some great books that cover specific advanced topics, but nothing more general.
I'm a huge fan of Zach Tellman's Elements of Clojure. The book represents a distillation of the ideas of someone very experienced1 with Clojure. The first paragraph sums this up well:
This book tries to put words to what most experienced programmers already know. This is necessary because, in the words of Michael Polanyi, "we can know more than we can tell." Our design choices are not the result of an ineluctable chain of logic; they come from a deeper place, one which is visceral and inarticulate.
The Elements of Style doesn't teach you the English language; it's a style guide that tries to show you how to write in English well. Elements of Clojure is similar, offering guidance for approaching naming, idioms, indirection and composition in Clojure.
Ruby could use such a text. I started to write something to fill this gap around the time I started Super Good, but I'll admit I didn't get very far. I'm not even sure if I'm the right person to try it, but as far as I know, no one else is working on such a thing.
To my Rubyist readers, I'm curious; what topics would you want covered in such a book?
For this week's music recommendation, I'm going with The Infinity Ring's Ataraxia. It's not metal2, but there's some heaviness at moments. The Infinity Ring meld elements of folk, gothic rock, and even darkwave at times, with lead singer Cameron Moretti's mournful vocals, reminiscent of Nick Cave or Leonard Cohen. It's a rich, emotional album that you really need to be in the mood for, but if you're in the mood, it's perfect.