BREAKING NELSON ELHAGE: THE ENGINEER WHO DEBUGS NEURAL NETWORKS LIKE LINUX KERNELS   •   TRANSFORMER CIRCUITS RESEARCH RESHAPES HOW AI UNDERSTANDS ITSELF   •   REPTYR HAS 6,200+ GITHUB STARS AND COUNTING   •   SORBET TYPECHECKS BILLIONS OF LINES OF RUBY AT STRIPE   •   LIVEGREP: THE SEARCH ENGINE FOR PEOPLE WHO ACTUALLY READ SOURCE CODE   •   MADE OF BUGS: DISPATCHES FROM THE DEEP END OF COMPUTING   •   FROM KSPLICE TO ANTHROPIC: ONE ENGINEER'S OBSESSION WITH NOT REBOOTING ANYTHING   •   NELSON ELHAGE: THE ENGINEER WHO DEBUGS NEURAL NETWORKS LIKE LINUX KERNELS   •   TRANSFORMER CIRCUITS RESEARCH RESHAPES HOW AI UNDERSTANDS ITSELF   •   REPTYR HAS 6,200+ GITHUB STARS AND COUNTING   •   SORBET TYPECHECKS BILLIONS OF LINES OF RUBY AT STRIPE   •   LIVEGREP: THE SEARCH ENGINE FOR PEOPLE WHO ACTUALLY READ SOURCE CODE   •   MADE OF BUGS: DISPATCHES FROM THE DEEP END OF COMPUTING   •   FROM KSPLICE TO ANTHROPIC: ONE ENGINEER'S OBSESSION WITH NOT REBOOTING ANYTHING   •  
Nelson Elhage

Member of Technical Staff • Anthropic

Nelson
Elhage

"Computers are awesome. They also suck. Such is the way of things."

Systems engineer turned AI safety researcher. Co-author of foundational transformer circuits theory. Builder of tools that ship in Linux distros and power Mozilla's search engine. The kind of engineer whose side projects become other people's dependencies.

Engineer Researcher Open Source AI Safety
6.2K reptyr Stars
220+ GitHub Repos
953+ GitHub Followers

The Guy Who Makes Hard Things Look Inevitable

Nelson Elhage has a particular talent: taking systems that everyone else treats as black boxes and opening them up to see what's actually running. He did it with the Linux kernel at Ksplice - patching a live kernel without a reboot when everyone said that was basically impossible. He did it at Stripe with Ruby's type system, co-founding Sorbet to bring static analysis to one of the world's largest payments platforms. And at Anthropic, he did it with transformer neural networks, co-authoring research that gave the field its first real mathematical grammar for how attention mechanisms work.

None of this is accidental. Elhage is what happens when relentless curiosity meets the patience to actually read the source code. His blog, "Made of Bugs," has been running since roughly 2007, logging everything from terminal control sequences to CPU branch predictors to collaborative crossword architecture. He is, in the best possible sense, a person who thinks rebooting is a failure mode to be engineered around.

He studied Computer Science at MIT (Course 6, the hard one), taught classes on lambda calculus and game AI as an undergrad, and then went directly into Ksplice - a startup born out of research on keeping servers alive without interruption. Oracle noticed. They acquired Ksplice and brought Nelson along. Then Stripe noticed. He joined as roughly employee number 30 and stayed long enough to help define what engineering culture looks like at scale.

"There are all of these things that I wish I could work on, and I'm not going to do all of them. This year I'll pick one or two to work on."
- Nelson Elhage, Staff Engineer interview

That focus is not accidental either. At Stripe, where he was on the path to a Staff Engineer title before departing, Elhage became known for the ability to hold company-wide context in his head - the rare engineer who understood not just his team's systems but the dependencies between teams, the history of architectural decisions, and the future problems those decisions were going to create. He called it "information routing." The rest of us call it seeing around corners.

His open-source work reflects the same instinct for making power more accessible. reptyr lets you grab a running process and move it to a new terminal - a tool born from personal frustration that's now in the default repositories of most Linux distributions. livegrep indexes entire codebases and returns regex search results as you type, and it's fast enough that Mozilla uses it as the backend for SearchFox, their code search for Firefox. ministrace is a minimal strace implementation that fits in a teaching session. These aren't hobby projects. They're infrastructure.


Teaching Neural Networks to Explain Themselves

When Nelson joined Anthropic, he pivoted from infrastructure to something stranger and more fundamental: figuring out what, exactly, is happening inside a large language model when it thinks. The mechanistic interpretability team's job is to find the algorithms - the actual computational circuits - that transformer neural networks implement when they predict the next token.

In 2021, Elhage co-authored "A Mathematical Framework for Transformer Circuits," a paper that gave the field something it had been missing: a decomposition language for attention mechanisms. The key insight was that attention-only transformers could be analyzed as sums of interpretable functions - "paths" through the model that could be studied independently. Attention heads could be understood as having two separable computations: a QK circuit (which tokens attend to what) and an OV circuit (what effect that attention has on the output). That's the kind of clarity that lets you actually reason about what a model is doing instead of just empirically poking it.

A year later came "In-context Learning and Induction Heads" - a paper that identified a specific type of circuit, the induction head, that explains a phase transition early in transformer training. When induction heads form, the model suddenly gets much better at learning from examples in its context window. The paper traced this precisely, connecting a mechanical feature of the architecture to a visible behavioral change during training. That's what interpretability research is supposed to do, and it's extraordinarily hard.

  • 2021 - Transformer Circuits A Mathematical Framework for Transformer Circuits - co-authored with Chris Olah's team at Anthropic
  • 2022 - Induction Heads In-context Learning and Induction Heads - discovered a phase transition mechanism in transformer training
  • 2022 - Interpretability Mechanistic Interpretability, Variables, and the Importance of Interpretable Bases

After the interpretability work, Elhage moved to Anthropic's pretraining team - the group responsible for how Claude is trained from scratch. The jump makes sense: if you've spent years understanding what models learn to do and how they learn it, the natural next question is how to make that learning process produce better, safer, more predictable models. His trajectory from kernel hot-patching to transformer circuits to pretraining is, when you look at it, a single continuous thread: how do you make complex systems behave in ways you can actually rely on?


The Projects That Became Other People's Infrastructure

reptyr

C • Systems

Reparent a running process to a new terminal. Born from frustration, adopted by every Linux distro that cares about developer experience.

★ 6,200+ stars

livegrep

Go • Search

Real-time regex search over massive codebases. Powers Mozilla's SearchFox. Returns results as you type - no waiting.

★ Backend for Firefox source search

Sorbet

Ruby • Types

Co-founded Stripe's open-source static type checker for Ruby. Now checking billions of lines of code at one of the world's largest payment platforms.

★ Industry standard

ministrace

C • Educational

A minimal, readable strace implementation. Small enough to understand completely. Useful for teaching how system call tracing actually works.

★ 180 stars

Taktician

Go • AI

An AI for the board game Tak. Strong enough to beat skilled humans. Proof that when Nelson builds an AI for fun, it's still engineered seriously.

★ 65 stars

crossme

JS • Collaborative

A real-time collaborative crossword puzzle solver. Built on Meteor. Proof that deep systems engineers enjoy word puzzles with friends.

★ 25 stars


Employee #30 and the Art of Scaling With a Company

Joining Stripe as roughly employee number 30 means you arrive when the company is still figuring out what it's going to be. Nelson spent years there doing exactly the kind of work that doesn't fit neatly into a job description: building payment architecture, maintaining company-wide context on technical decisions, routing information between teams that didn't know they needed to talk to each other.

His biggest formal project at Stripe was Sorbet - a static type checker for Ruby built in a year with two other senior engineers. The goal was to bring the kind of safety guarantees that statically typed languages provide to one of the world's largest Ruby codebases. That meant not just writing the tool but persuading an engineering organization to adopt it, which required a year of internal deployment work after the technical work was done. Sorbet went open source and is now used across the industry.

When asked about Staff Engineering archetypes, Elhage identified three types: deep technical builders, cross-cutting initiative leaders, and team vision keepers. He moved between all three during his time at Stripe - which is probably what made him so effective, and so hard to title.

He was almost officially titled Staff Engineer. Two months short.

"I can see the one-level-removed dependencies that others miss - the things that connect teams that don't know they're connected."
- Nelson Elhage (paraphrased from Staff Engineer interview)

From Kernel Patches to Neural Networks

  • 2006-08

    Taught lambda calculus, game AI, and duct tape design through MIT's ESP program as an undergraduate

  • ~2009

    Co-founded/joined Ksplice - hot-patching the Linux kernel without reboots

  • 2011

    Presented KVM vulnerability research at Black Hat USA; Oracle acquired Ksplice

  • ~2013

    Joined Stripe as ~employee #30; began building payment infrastructure at scale

  • 2018

    Presented Sorbet (gradual typing for Ruby at scale) at Strange Loop conference

  • ~2020

    Joined Anthropic as Member of Technical Staff; shifted focus to AI safety and interpretability

  • 2021

    Co-authored "A Mathematical Framework for Transformer Circuits" - foundational to mechanistic interpretability

  • 2022

    Co-discovered induction heads; explained the in-context learning phase transition in transformers

  • 2023-26

    Working on Anthropic's pretraining team; continues blogging at "Made of Bugs" with deep systems dives


Made of Bugs: Two Decades of Getting Into the Guts

Nelson has been writing about software on the internet since before most tech blogs had RSS feeds. His blog, "Made of Bugs," is less a personal brand and more a lab notebook - posts on CPU branch prediction, Python interpreter performance, structured concurrency models, Z3 constraint solvers, and terminal control sequences, all written by someone who has clearly run the experiments and read the manuals.

The Buttondown newsletter, "Musings on Computer Systems," gets the more speculative material - ideas that are still taking shape, technical arguments that need an audience to push back on them. His most-shared piece, "Computers Can Be Understood," is a philosophical defense of the idea that software isn't magic - that any curious person with time and access to source code can understand how a computer actually works. It's the kind of argument that only lands when it comes from someone who has demonstrably done that, repeatedly, across five different layers of the stack.

He also maintains two Tumblr blogs, because some things require a different format: nelhagedebugsshit documents specific debugging war stories, and Accidentally Quadratic catalogs real-world cases where code quietly became O(n²) in production. The second one has become a minor institution in performance engineering circles.


Spread the Word