Made of Bugs

It's software. It's made of bugs.

Made of Bugs  🔗︎

Welcome to the home of Nelson Elhage’s writing on the web. I am a software engineer with wide-ranging interests, and this is where I write about them.

My favorites  🔗︎

Here are some of my favorite articles you might want to start with:

  • Test suites as classifiers, in which I argue for thinking of test suites as binary classifiers predicting the answer to the question “Is this change safe to ship?”
  • Two kinds of testing, where I talk about the difference between testing for correctness and testing as a broader tool for software engineering.
  • Why the Sorbet typechecker is fast, where I explore how we made the Sorbet typechecker so fast.
  • My Apollo Bibliography, where I share my favorite books and movies about the Apollo program.
  • How I test, where I talk about how I think about testing and write tests.
  • Indices point between elements, in which I think a bit too deeply about how to reason about indexing into arrays.
  • How reptyr works. I’m the author of the reptyr tool for moving processes between terminals, and this post explains the crux of how that tool works.
  • A brief introduction to termios. Ever wondered what really happens when you press Control-C in a terminal? Or what that funny editing mode you get when you run a bare cat command was? This three-post series will answer these questions, and more.

Other writing  🔗︎

I have an (unfortunate?) proliferation of blogs and other sites on the internet. Here are some other places I write things:

  • Accidentally Quadratic, A tumblr where I chronicle cases of software performance problems caused by accidental quadratic iteration.
  • nelhage debugs shit, another tumblr with an even less-edited tone than this one, where I recount war stories and interesting bugs I’ve tracked down in the past.
  • I’ve written for the Stripe blog about the distributed test running architecture we built there.