The Art of the Witch Hunt — cover art: a small mob of village animals in cloaks at dusk, carrying low warm torches up a path, an effigy stuffed with parentheses and Lisp brackets standing in the clearing ahead, the watercolour sky cooling to indigo above. 💩

2005 · Drunken Blog Rants · Rant

“It's very important to steer clear of anything resembling logic. Kirk and Spock taught us all about how poorly emotion and logic understand one another. The most important element of getting a good witch hunt started is to speak right to those primal emotions, the most useful one being fear.”
— From The Art of the Witch Hunt, 2005
Read the essay

© 2005 Steve Yegge. Originally published at Drunken Blog Rants.

Author’s note

This was written early in my blogging career, when the sudden fierceness of haters, especially around programming languages, was new to me and catching me off-guard.

This was not the best way to handle this situation.

AI Notes

A few days after Scheming Is Believing, the first comment landed — from a colleague named Josh, under the heading "Xurf," a half-tongue-in-cheek hit-piece that pressed nearly every reliable button against Lisp simultaneously: nobody else can read this code, the author has left the company, it's 2am and you're on call, and you don't understand it. Steve, not particularly interested in defending Lisp, treats the comment as a teaching example instead. He walks the reader through it paragraph by paragraph, naming the rhetorical moves as they pass: Fear of the Unknown in the opening, Fear of Looking Dumb in the second sentence, an Inductive Fallacy in the appeal to "language consistency," an undefined term ("foreign code") deployed to make the appeal harder to dispute, a 2am debugging scenario that any minority technology will lose, a hand-wave at "all the crazy things you can do with LISP" without ever specifying one. The tone is a stage magician explaining a trick after the show — not angry, full of pure admiration for the brutal effectiveness of Josh's methods.

The form is more durable than the target. Replace Lisp with Smalltalk, Erlang, Haskell, or Rust circa 2014, and the comment template still fits — a quiet warning to the engineer about to deploy the technique themselves to please notice they're doing it.

Related listings