andrew blinn

i make and study programming languages as user interfaces. a recovering math-head, i now try to pull abstractions into the grass and muss them up a bit. here's what's going on with me lately:

december 2020

figuring out new ways to fight with your code editor by hybridizing structured editing in hazel with the smyth program synthesizer

september 2020

joined cyrus omar's fp lab at the university of michigan as a phd student, with intent to help ruin programming forever

july 2020

finished out a great sixteen months owning ownership at todaq. did a bit of work on interfaces for reifying fake digital stuff

here are some other things i've worked on:


a structured interaction engine

fructure is a prototype for an extensible structured editing engine, built around a ui for composing term-rewriting edit actions. editing abstractions like cursors and code-folding are reinterpreted as syntactic scaffolding in a meta-grammar of syntactic affordances

bad dog combinator

context patterns

capture contexts with racket/match

a library of custom pattern combinators for racket/match which generalize macro-by-example ellipses patterns. these use composable continuations to descend into arbitrary nested structures and capture both matches and their surrounding contexts

tangerine nightmare


an sdf raymarcher in c++

a simple cpu raymarcher parallelized with open MP, implementing constructive solid geometry, soft shadows, ambient occlusion, blinn-phong shading, and perlin noise

caged sphere