Nelson Elhage
nelhage@nelhage.com
Blog
Work
At the moment, I'm taking some time off between jobs. Previously, I've worked at:
- Stripe, where I worked on a variety of projects and teams, including as a founding member of the Sorbet project.
- Ksplice (and, post-acquisition, Oracle) working on the Ksplice technology and product for updating the Linux kernel without rebooting.
livegrep
As a personal project, I've put together livegrep.com, a site which allows for realtime regex searching of the Linux kernel as-you-type, using Russ Cox's RE2 regex library, and a custom indexing backend.
It's open-source and you can deploy it for your own source code! It's also one of the backends for Mozilla's SearchFox.
Writing
I maintain or contribute to a handful of blogs online. You can find stuff I've written at:
- My primary personal blog
- accidentallyquadratic.tumblr.com, where I chronicle real-world cases of code with unintended Θ(n²) complexity with harmful consequences.
- nelhagedebugsshit.tumblr.com, where I chronicle interesting shorter stories of things I've debugged or investigated.
- The Stripe Blog
Code
- Sorbet, Stripe's open-source static Ruby typechecker. I was a founding member of the project at Stripe, helping to build it out and deploy it internally.
- Taktician, an AI for the game of Tak, based on the game described in Patrick Rothfuss' The Wise Man's Fear. As of this writing, it is the highest-ranked entity on the playtak.com online site.
- Crossme.app, a collaborative online crossword-puzzle solver.
- reptyr, a little tool I wrote for moving a running program to a new terminal. You can read more on my blog.
- My emacs configuration files. I keep my entire emacs configuration in a single git repository so I can just check it out on new machines. Feel free to borrow any pieces of it you want.
- I wrote a JIT translator for the Beta, the simple processor used in MIT's 6.004 computer science class. It's a fairly clean, simple, working JIT in about 2000 lines of C that might be interesting to someone.
- Check out my github account for more things I've done.
Security
I've previously done some security work for various open-source projects, including the Linux kernel and KVM. I presented at Black Hat USA 2011 about some work I have done on KVM. My slides and code for that talk are now available online.
Some other things I've hacked on
- BarnOwl, a multi-protocol console Zephyr/IM client
- Linerva, SIPB's public Linux dialup.
- Debathena, the basis for Linerva, and now MIT's campus Linux distribution.
- Conkeror, a xulrunner emacs-like web browser
- Jifty, an amazingly concise web framework written in perl.
- Hiveminder, a TODO list manager built using Jifty
- Bitlbee, an IRC<->IM gateway
- Growl, an OS X notification framework
- Adium, a multiprotocol OS X IM client