Blog Archive
Type Inference Zoo
September 26, 2023
Still in development. With this project, I will collect reference implementations of type inference algorithms, with particular emphasis on those features which are necessary for practical implementations, such as error reporting and incrementality.
Noteworthy
September 16, 2020
An open-source Markdown editor with bidirectional links and excellent math support!
ProseMirror Math
June 14, 2020
Schema and plugins for math editing using ProseMirror!
Unboggler
January 18, 2020
Generate a boggle board containing your custom list of words!
Digital Humanities & German Periodicals
December 1, 2016
As an undergraduate research assistant, I ran statistical topic models on a corpus of 19th-century German-language periodicals.
Seam Carving
December 28, 2014
Rather than scaling or cropping, the seam carving algorithm resizes images by removing horizontal and vertical seams, which must cross the entire image, but are allowed to zig and zag around salient regions in order to avoid too much deformation.
Complex Domain Coloring
February 15, 2014
Domain coloring is a way of visualizing complex-input complex-output functions by assigning a color to each point of the complex domain. Sampling these colors from an image produces amusing results!
AdamBots Automated Scouting Kit
June 1, 2013
I used linear algebra to give my high school robotics team a competitive edge! Since robots compete in teams of three, an individual's contribution to the final score cannot be known. By scraping public match data and solving a linear system, I estimated an offensive power rating for each robot, which my team used to predict match outcomes and choose alliances.
Flash Games
December 1, 2012
In middle school, my curiosity for game development led me to Newgrounds, where I made lifelong friends and published a few Flash games along the way.
As an undergraduate research assistant, I ran statistical topic models on a corpus of 19th-century German-language periodicals.