Menu Sidebar

design patterns

End your OOP Confusion with the Design Pattern Classifier

The Ruby community has seen a¬†renaissance¬†of interest in classic Object-Oriented thinking lately. We’re talking about Presenters, and DCI, and Data Objects. But with these new discussions come new problems. Namely: the dreaded pattern terminology debate. He says it’s a Decorator. She says it’s an Adapter. Who is right? Well fret no more, because I have […]

Null Objects and Falsiness

Thank you to Ben Hamill for sending me a question that prompted this post. Checking for object presence Very often in Ruby code, we would like to execute some action only if an object is present:

Strictly speaking, we aren’t checking for object presence here. In Ruby there is almost […]

Full Exploitation

“Full exploitation” is essentially a pattern in itself, and one we will come back to repeatedly. Whether it is applied to software development, architecture, or music composition, exploiting a good idea repeatedly can enhance the integrity and cohesion of the result and is – hopefully – a pattern that does not need further justification. A […]

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.