I work on ways to write programs that help outsiders understand their big picture (rather than insiders understand incoming contributions).
The goal: you (any programmer) should be able to use an open-source program, get an idea for a simple tweak, open it up, orient yourself, and make the change you visualized -- all in a single afternoon.
Lately I'm spending a lot of time on the sandboxing model. It's nice to be able to download and run untrusted programs before we start trying to understand them. How to permit this without letting them cause too much damage, by explicitly giving them arbitrarily fine-grained permissions that are still easy to take in at a glance.
The goal: you (any programmer) should be able to use an open-source program, get an idea for a simple tweak, open it up, orient yourself, and make the change you visualized -- all in a single afternoon.
More details: http://akkartik.name/about
What I have so far: https://github.com/akkartik/teliva
Lately I'm spending a lot of time on the sandboxing model. It's nice to be able to download and run untrusted programs before we start trying to understand them. How to permit this without letting them cause too much damage, by explicitly giving them arbitrarily fine-grained permissions that are still easy to take in at a glance.