My primary interests are compilers, computer architecture, and permacomputing.
I’m currently employed as a security engineer doing research at Trail of Bits in NYC.
I generally don’t like to write about myself, but I hope this page will serve a similar purpose to a resume without the ladder-climbing formalities.
I decided against programming for fun as a teenager with the assumption it would just be writing more complicated iterations of my dinky little calculator programs. I was mostly wrong, but a little right.
I applied to Northeastern University for pure math, shortly after was dissuaded enough by academia to transfer (by way of physics) into electrical engineering, and finally came into ‘real’ programming from a class taught in a functional programming language. A study abroad at Cambridge University raised my standard for university libraries unrealistically high.
I enjoyed electrical and computer engineering classes like microprocessor-based design, noise & stochastics, and hardware & systems security; later filling in gaps with pure computer science classes like theory of computation and compiler design.
Computers are now embedded into—and broadly affect—significant parts of our lives, often in ways not direct or visible. Computers are theoretically interesting, practically useful, frequently political, and often overlooked as ‘magic’. I’m motivated by questions like:
- can I understand how a computer is constructed from basic primitives like logic gates and transistors?
- can I understand everything a computer is executing?
- how do theoretical computer science ideas become applied software engineering?
and less technically:
- what is the role of personal computers in a technological society, and why does promise often seem at odds with profitability and mass-market appeal?
- why has the internet become a hellscape of lock-in “platforms”?
- what is e-waste, and how will that definition change in an increasingly fragile climate (literal and geopolitical)?