Concise Guide to Substitutability

Understand why duck typing in Ruby is sometimes magical and sometimes an endless source of frustration with this short book. Read in an afternoon, write better code the rest of your career.

Learn more



I’m Peter Bhat Harkins, a software developer from Chicago.

I’m deeply interested in the fundamentals of computers, from transistors up through the loftiest abstractions; from the earliest research through the latest papers.

On the practical side, I’ve been programming for 25 years on an uncountable number of large and small projects.The last several years I’ve been a consultant on Rails apps, so I’ve been responsible for or helping firefight on a huge amount of Ruby code.

My goal is to combine theory and practice in useful ways. I want to recognize the underlying concepts and apply them in my daily programming practice. I don’t just want to be pushing code around until it mostly sorta works, I want to understand why some of it is effortless and some of it seems to break every time I touch it. And I want to share what I find so we can all write better code.