You Can Choose Tools That Make You Happy

On Hacker News and Lobsters I often see blog posts with titles like:

  • Why I built my startup on Common Lisp and DragonflyBSD
  • Rewriting PyTorch in APL (year six update)
  • I will never, ever, ever learn Docker

The general form being: why Obscure Thing is better than Popular Thing. And always the justification is purportedly rational and technical. And always, always, it is complete sophistry. Why?

Because people make technical decisions, in part, for affective reasons. They choose a technology because it feels good, or comfortable, or because it’s what they know. They choose obscure tech as a form of sympathetic magic, like the guy who uses NetBSD on a ThinkPad to feel like a William Gibson protagonist. They choose obsolete languages, like Lisp or Smalltalk, because they think of the heroic age of Xerox PARC, and they want to feel connected to that tradition. They find tools whose vibes align with theirs: Ada says “slow, conservative, baroque” while Rust says “fast-paced, unproven, parvenu”. They use Emacs because they read that Neal Stephenson essay and they feel VS Code is for normies and Emacs is Gnostic.

But many people can’t admit this to themselves! Because it is contrary to their identity: that they are unfeeling Cartesian rationalist automata. And so they invent rationalizations. Once you read enough of these posts, you see the patterns.

The arguments for the Obscure Thing downplay the downsides (“yeah I had to take a six-month detour to implement an HTTP server for Fortran 2023”) and invent not-even-wrong upsides. I once read someone argue Common Lisp is great because it has garbage collection, like the writer has some obscure form of agnosia where their brain doesn’t register the existence of Python.

The arguments against the Popular Thing are vague (“Docker is too complex”) or rely on social shaming (“the community is toxic”) or claims about identity (“Rust makes you soft and weak, C++ keeps you on your toes”). And sometimes the arguments are true, but they would not tip the scales of a more dispassionate assessment.

So let’s cut the knot.

Emacs is a Gnostic cult. And you know what? That’s fine. In fact, it’s great. It makes you happy, what else is needed? You are allowed to use weird, obscure, inconvenient, obsolescent, undead things if it makes you happy. We are all going to die. If you’re lucky you get three gigaseconds and you’re up. Do what you are called to do. Put ZFS in your air fryer, do your taxes in Fortran.

We use tools to embody their virtues. You use Tails because it’s cyberpunk? That’s beautiful man. Go all in. Get a leather jacket. If you’re doing it for the aesthetics, go all in. Make your life a living work of art. Go backpacking in Bangkok and write a novel on a Gemini and take pictures for your LiveJournal on a 2003 digital camera. Move the family groupchat to Signal. Dial into standup from an ISDN payphone and tell your PM the feds are after you. And write a blog post about that.

Just don’t bullshit me. Don’t look me in the eye and tell me SNOBOL is the language of the future. Don’t tell your boss it was a rational cost-benefit calculation that made you rewrite the frontend in Prolog.

Above all, do not lie to yourself. Examine your motivations. If you pursue things out of pure obsession, and ignore reason, you might wake up and realize you’ve spent years labouring in obscurity on a dead-end.