Who I Am

What I've Done

cs3157

January 2017–May 2019
Technologies Used: C, Bash, C++, Adobe Audition & Premiere
  • Served as a course assistant from Spring 2017 to Spring 2018, and as co-head teaching assistant from Fall 2018 to Spring 2019
  • Led teams of up to 15 other TAs and delegated tasks to them
  • Improved parts of the course's semi-automated submission testing infrastructure, which was written in Bash
  • Produced and co-hosted a YouTube channel with video reviews of lecture content
You can also read my teaching evaluations:
Spring 2017 Fall 2017 sec. 1 Fall 2017 sec. 2 Spring 2018 Fall 2018 sec. 1 Fall 2018 sec. 2 Spring 2019

Course projects

Fall 2015–Spring 2019

Notable group projects I've worked on as an undergraduate student include:
  • autoMATic, a matrix manipulation language written in OCaml and LLVM
  • A machine learning library for C++ using the WG21 concepts draft
  • A weighted round-robin CPU scheduler for the Linux kernel to optimize Android app startup time
  • An FPGA implementation of an RCA 1802 CPU written in SystemVerilog
  • An HTTP/1.0 server written in C
Some projects may not have public repositories due to academic integrity guidelines. Please email me if you'd like more information on them.

SC4Fix

December 2015; January 2018
Technologies Used: C, C++, x86 Assembly
  • Used Ollydbg to debug a reproducible null dereference crash in the game SimCity 4
  • Reverse engineered parts of the game to fix a serialization bug that would corrupt save files

gzcom-dll

June 2012–present
Technologies Used: C, C++
  • Obtained reference code for parts of SimCity 4's COM framework
  • Reverse engineered other parts of the framework to create a functional COM module
  • Documented structures in the game's API for potential developers

TinCam

April 2016
Technologies Used: Python, Raspberry Pi, Dropbox API
  • Best Hardware Hack at HackNY's Spring 2016 hackathon
  • Created a threaded Python program for capturing picture streams and video
  • Configured a Pi A+ to roam open Wi-Fi networks to be able to upload most of the time
  • Experimental Twitch streaming implemented for kicks
Collaborative project with Ben Roytenberg, Claire Wang and Sascha Wu.

VBoxManager

February 2016
Technologies Used: Python, Flask, SQLite, VirtualBox CLI
  • Inspired by xkcd comic #350
  • Used Python 2.x and avast! antivirus on images to track when a machine is infected
  • Used shared folders to automatically execute malware samples and model infections
  • Wrote a frontend using Flask to display state of machines and infections