Dominus' Razor

by badger 1 min read26th May 201127 comments


You are probably familiar with Hanlon’s Razor, the adage that you should never attribute to malice what can adequately be explained by stupidity. In Bayesian terms, stupidity is sufficiently abundant that even fairly strong evidence of harmful intent can’t overcome the base rate. However, there is something of a converse, which to my knowledge doesn’t have an eponymous name. In honor of a recent post by Mark Dominus, I propose Dominus’ Razor: Never attribute to complete stupidity what can adequately be explained by ordinary stupidity and a good reason.

Dominus, well-known as a Perl programmer, found that astonishingly bad code looks better (if still bad) after hearing the reasons for its development. For instance, one program passed data between functions by writing it to a temporary file, only to read it back again. It turns out the programmer did this for debugging purposes, an admirable goal, even if done in non-standard ways.

The Razor is one more explanation for the frequent failure of other-optimization. People and institutions usually have some reason for doing what they do, even if they’ve since forgotten or never knew in the first place. “Evolution is cleverer than you are” (Orgel’s Second Rule) and “Free markets are cleverer than you are” are two related rules of thumb. Something that looks obviously stupid was probably implemented to meet some non-obvious need or constraint.

In the end, this is another way of saying to not expect short inferential distances. Based on personal observation, this community does a good job anticipating inferential jumps when playing the role of the sender, but not quite as well when acting as the receiver. Even if someone is wrong, be careful not to dismiss them entirely.