Sam Estep

Hi! 👋 I'm Sam (he/him). I'm a fourth-year PhD student in S3D at CMU, advised by Joshua Sunshine. I do research on differentiable programming (you should join us on Discord!), with a particular focus on performance for interactive visual applications. Here are some of my projects:

Outside of work, I love bouldering, performing improv comedy, and baking. I'm also always looking for music and book recommendations, and trying to get my friends to join Letterboxd because it lets us take the set intersection of the movies you want to watch with the movies I want to watch (how cool is that?)

Webapps

Here are a few toys I've made over the years.

Minkowski sum

2023

Look, some polygons! Drag them around to see their Minkowski sum. (Still a work in progress.)

Elliptic curves

2017

See how the elliptic curve group law is associative: click three points to get each of their pairwise sums, then click the magnifying glass to see that all the three-way sums converge at the same point. Hit escape to reset or use the box in the top-left to select alternative parameters for the curve.

Lambda calculus

2016

Type Lispy lambda calculus expressions like((λ x x) 42) to see their reduced form. Backslash automatically becomes λ, and parentheses are automatched.

Publications

Codifying Visual Representations
Rose: Composable Autodiff for the Interactive Web
Minkowski Penalties: Robust Differentiable Constraint Enforcement for Vector Graphics
Edgeworth: Efficient and Scalable Authoring of Visual Thinking Activities
NaNofuzz: A Usable Tool for Automatic Test Generation
Gradual Program Analysis for Null Pointers

Blog

I don't blog much.