updated: 2025-11-17
protean (adj): able to do many different things; versatile.
I'm currently:
I've dabbled in a couple programming languages. I am most experienced with OCaml and Python, but I'm also comfortable with Java, C, and C++.
I enjoy teaching, see below for more.
In one summer, I interned at Semgrep. My main task was to improve the performance of Semgrep's taint analysis performance by reducing the cost of running dataflow.
There were many tricky parts to this, which I tend to flesh out more in the future.
Read more about my experience more in this post.
The research was about verifying envy-free cake-cutting protocols with a custom domain-specific language called Slice.
The verification process involved implementing several protocols from the literature in the language. The main difficulty of this was that these protocols tend to be described with pseudo-code closer to English than any real programming language, and Slice is a linearly-typed functional language, so the translation was not quite 1-to-1.
Verification for these types of problems are just very hard in general, performance can become problematic when verifying complex protocols. Part of my work was in improving the performance of Slice.
I've performed a variety of teaching roles.
In high school:
In college:
I've also worked customer-facing food service work for Mission BBQ and Martha's Cafe. These jobs had me talking with a lot of people.