I’m a software engineer who writes programs that rewrite programs into different programs. This site is my personal blog where I talk about programming, making, researching, and whatever else I feel like.

My main interests are in various aspects of programming languages, and especially compilers. I enjoy finding interesting (ab)uses of language features and hardware. Some of the more notable languages I’ve worked on over the years have been Mozilla’s new systems language, Rust, and my own GPU programming language, Harlan. Most recently, I’ve been working at Google, first on WebAssembly, and now on Android.

Lately I’ve also become interested in the maker movement, so you may find me tinkering with circuits, microcontrollers, 3D printers, etc.

Before coming to work at Google, I was a Ph.D. student at Indiana University, where I was working on programming languages to make GPU programming more expressive. You can read my thesis here.

As this is my personal blog, the opinions here are solely my own.