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
catcommand 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.