Menu Sidebar


The Soul of Software

The good folks at Tropical Ruby have released the video of my keynote,┬áThe Soul of Software. In this talk I start with the premise that the Ruby wave may have peaked. I took that observation as a jumping-off point┬áto examine where we come from as a community—particularly from a philosophical point of view—and where we […]

Wax on, Wax off

Zed’s post on mastery is great, as usual. I have only this to add: that while mastery transcends rules, no one achieves mastery without first acquiring discipline. The masters, who eschew wrote practices to cut straight to the heart of a problem, first spend years practicing forms, repeating katas, and studying theory. I think every […]

Simplicity is Complicated

The favorite rhetorical fallback of politicians of every stripe is “it’s for the children”. Anything can be justified in terms of making things better for children if you frame it right. Lately I’ve begun to think that the word “simple” is the programmer’s version of “for the children”. We use it to justify all manner […]

Rock’em Sock’em Ockham

Inspired by “this talk by Jim Weirich”: !/images/rockoutockout.jpg! Image by “scottfeldstein”:, “some rights reserved”: (For the shaving nerds, this poster features the Merkur Hefty Classic, a razor I recently acquired and am so far pretty happy with.)

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.