I'm working on the last mile of data at Canvas. I was a tech lead at Flexport, moving real containers in the real world!

I sold Diablo 2 items on the internet in college.


Visualizing Newton's method using WebGL

An interactive renderer of Newton's method animations.

Notes on emulators

An overview of video game console emulators.

Interview with Tom Kalinske

Tom Kalinske was the CEO of Sega of America from 1990 to 1996.

How decompilers work

Decompiling reconstructs source code from compiled machine code.

Side projects


A simple cross-platform Sega Genesis emulator.


A C decompiler. It attempts to recreate the original program structure of a compiled program by performing control and data flow analysis.

Steam Monster Game leaderboards

Leaderboard, ranking and hall of fame for Steam Monster Game 2015, a massively multiplayer game that ran during the 2015 Steam Summer Sale, with almost 5 million people playing. I was on one of the winning teams and this website was used to track our progress in real time.

ROM info

A utility for extracting information from ROMs and disc images, such as headers, file systems, file lists, files and disc sector errors.

Older projects