Made of Bugs

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

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

Recent posts

Favorites from the archives

  • Computers can be understood

    An exploration of a key aspect of my personal philosophy of and approach to software engineering: Computers and software generally can be understood and reasoned about.

  • Reflections on software performance

    Some thoughts from career so far on software performance and on performance engineering.

  • Test suites as classifiers

    I explore a perspective of viewing test suites as binary classifiers over changesets, which attempt to predict the answer to the question: “Is this change safe to ship?”

  • Indices point between elements

    This post argues for changing the way you think about a very basic concept in programming / software engineering: array indexing and indices. I make the case for conceptualizing/visualizing them as denoting the positions between elements in an array, rather than naming the elements themselves.

  • My Apollo Bibliography

    I’m – like so many nerds – endlessly fascinated with the early US space program and the Apollo missions in particular. I’ve attempted to collect my personal list of favorite books and movies for learning more about that program and how it worked, both technically and organizationally.

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

  • reptyr: Attach a running process to a new terminal

    I’m the author of the reptyr tool, which lets you move processes between terminal windows. It’s a fun bit of low-level UNIX trickery, and this post explains the crux of how that tool works.

Other writing  🔗︎

I have a small 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.