My research interests center around programming languages and software engineering. In my work I look to provide formal guarantees of program properties in a way that is meaningful for real-world application.
Currently, I'm a PhD student at Northeastern University, where I study programming languages and software engineering. I'm advised by Arjun Guha and I'm a member of the Programming Research Laboratory. Previously I was a PhD student at UMass Amherst, where I was additionally advised by Yuriy Brun, and a member of the PLASMA lab.
However, I'm relatively new to Massachusetts, as I grew up for most of my life in California. For my undergraduate degree, I completed a double major in math and computer science at UC Davis. Meanwhile, I interned in industry for 3 summers, once at FileMaker, and twice at Apple, where I worked on the AppKit user interface library for macOS. After interning in industry I decided to pursue a PhD in computer science, and specifically programming languages, so I can work to drive the field forward in creating correct, safe, and secure software more easily.
In addition to programming languages research, I like to somewhat regularly write blog posts about various topics, and I enjoy dabbling in machine learning, as well as abstract algebra and topology on the pure math side. Outside of academics I enjoy practicing martial arts (in particular Tai Chi, Wing Chun, and Taekwondo), playing music, and archery. I also love to travel with my amazing wife Jessie Lin to see awesome sights.