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. These days I'm working on Rust at Microsoft. Previously, I worked at Google, first on WebAssembly, and then 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 back to industry, 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.

If you'd like to see what some people have said about this blog, check out the testimonials page!

My primary goal for this site is to share things I think are interesting, not to sell you stuff. However, in some of my posts I link to books or other things I found interesting that may be for sale. Sometimes in these cases I will use an affiliate link where I might receive a commission if you buy something through that link. Often this applies to links to products on Amazon, but not always. As an Amazon Associate I earn from qualifying purchases. These links will be decorated with a $ symbol that links to this description, like this.