Menu Sidebar

Avdi Grimm

Hacker; code documentarian.


Dear Medium: Please stop hurting the web

A few minutes ago I was about to quote and link to a blog article on my personal journal, which, like this blog, is a self-hosted WordPress site. WordPress provides a very handy “Press This” bookmarklet, which makes it easy to quickly populate a new post with a quote, a title, a link back, and […]

Transcript of remarks at MeritConf 2015

Thank you for this opportunity to speak at MeritConf 2015. First, a little background: I have been committed to the advancement of meritocracy for decades. Just ask my close personal friend Max Merrit, or any of the other fine fellas in Merit Club. (For those who don’t know: Merit Club is made up of meritorious individuals who […]

Rusty tools on a bench

Ruby is defined by terrible tools

Look, let’s face it: Ruby tools are terrible. If you’ve worked in any Lisp you know what I’m talking about. If you’ve worked in Java or C# anytime recently you know what I’m talking about. If you’ve worked in Haskell you know what I’m talking about. “But Avdi! Lisp is homoiconic, and those other languages are statically […]

Seven Bedtime Stories About Code

Once upon a time I wrote code to ferry packets of information from a radar antenna to a graphical display. I wrote this code because a company paid me money to do it, and because it made my manager smile and say “good job!” when I wrote it and it worked the way he wanted it […]

Older Posts

Virtuous Code

"The three virtues of a programmer: laziness, impatience, and hubris" — Larry Wall

Books and Screencasts

RubyTapas Screencasts

RubyTapas Screencasts

Small plates of gourmet Ruby code.

Confident Ruby

Confident Ruby cover

32 Patterns for joyful coding.

The Making of

Confident Ruby cover

Watch me build an app in Sinatra and Rails

Objects on Rails

Objects on Rails

A developer notebook on applying classic Object-Oriented principles to Ruby on Rails projects.

Exceptional Ruby

Exceptional Ruby

The definitive guide to exceptions and failure handling in Ruby.