Menu Sidebar


Playing Grown-Up: The Rails Maturity Model

When I first heard about the RMM I thought it was a joke. Then I thought it was a terrible idea. Then Obie assured us all that it wasn’t about certification, and I thought about it for a while, and decided that it was still a terrible idea. Here’s why. Let’s start by taking the […]

The three line rule

A frustrating couple days of coding has crystalized a new rule for me: If you can’t demonstrate your new feature in three lines of code, you’re not done. But it works from the client UI? Great. And it’s fully tested? Super! But you’re still not done. If it took twenty lines of setup code to […]

Sustainable Development in Ruby, Part 1: Good Old-Fashioned Inheritance

The first technique we’ll look at in this series is something so basic it may not even seem worth spelling out. But sometimes old-school techniques are overlooked in the excitement of a young language. Let’s use as our example a hypothetical communications protocol, Flying Monkey Transport Protocol (FMTP). Flying Monkey Transport Protocol is a packet-based […]

Full Disclosure; or, What’s in your toolbox?

The one objection I _haven’t_ heard yet to my monkey patching rant is: you’re a “hypocrite”:[]! *Gasp*, yes, I have written code that exploits Ruby’s open classes. It even extends @Object@, the core-est of the core! And then shamelessly contributed it to a publicly available gem! As anyone who read past the title of my […]

Monkeypatching is Destroying Ruby

(The title of this post is intended to be deliberately provocative, as well as being a nod to Steven Colbert’s “The People Destroying America” segments. It’s provocative because I want to get people talking about this issue.  I don’t actually think that monkey patching is “destroying” Ruby, but I do think the proliferation of the […]

Newer 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.