I want to know the fundamental laws of nature—the only things truly worth knowing.
I’ve always believed that nature is inherently computational, so I spent a lot of time studying programming language theory (the “Theory B” side of theoretical CS). To me, the Theory B stuff just feels more fundamental and universally applicable, as compared to complexity theory, which feels rather clunky and inelegant.
On the engineering side, I want to build things that are elegant, fast, minimal (in both the bare-metal and abstract maths sense), and mathematically principled. Or rather, I want nothing to do with construction materials and systems that do not meet my aesthetic standards. It is regrettable that this includes all of mainstream software engineering practice.
My primary interest is in building programming language technology: compilers (static analysis, optimisation, efficient code generation) and related infrastructure. Besides being fun, working on compilers has an outsized cost-benefit ratio: If I can improve a compiler by even a tiny bit, then all programs compiled with it benefit.
Technology, when done right, is a tool for amplifying and augmenting the human intellect. This was the ideal I firmly believed in as a child, but sadly, it has not been the way things have unfolded over the past decade of social media hell. It’s high time that we return to the pioneering visions of Vannevar Bush, Doug Englebart, Alan Kay, and Steve Jobs, amongst others.
On this front, I’ve lately been thinking a lot about tools for improving cognition and wrangling complexity. I want to work on some of the following things1:
I haven’t done much front-end work, but would like to play more with it… once I find a way to do it that doesn’t completely suck. Maybe I’ll build something.↩