Things I do in my free time.


HDFS Driver for the Aliyun Open Storage Service. Allows you to run MapReduce over Aliyun OSS.


An implementation of the RAFT consensus algorithm in Scala.


A hashset implementation that uses contiguous memory space. This allows applications to dump and load hashsets using mmap at run-time, or using objc and ld at compile-time.

Box Lid

A jQuery plugin inspired by Toybox's navigation menu. See it in action here


An experimental platform for educators to publish and maintain lessons using Git hooks. It allows authors to describe problems using YAML and Markdown, and tracks each student's performance. Preview.


A framework for building reactive Rails apps using Backbone and Faye. Inspired by Meteor.


A buggy websockets-based drag-and-drop file sharing tool that I wrote for fun using Amazon's S3.

Inline Google Docs

A Wordpress plugin that embeds documents, spreadsheets, and cells in posts. Had around 10K downloads when I last checked.


A CTF organized by Matasano and Square. Completed 15 out of 19 levels.

Ruhoh Manager

A REST api for Jade's static blog generator. Stopped when I realized I was just reinventing the wheel.


An autonomous robot constructed using a Tamiya car and a Nexus One. Used OpenCV for path finding and stereo signals for control.


An Android app that allows users to make payments over Venmo by bumping devices. Written at a hackathon using Bump's API.


Some real-life coding and build-breaking.


Built distributed logging and analytics infrastructure using Kafka, Zookeeper, and Hadoop.


Ported and optimized digital watermarking library to Mac OS X, Android, and iOS.


Created a Java API over JNI, a Streaming API over pipes, and a Javascript API over V8 for the GraphLab framework.


A subset of the fun things I did at Carnegie Mellon.


Wrote a chess bot based on alpha-beta pruning and other bells and whistles such as parallel lookahead and quiescence search. Came in 3 rd in the class competitions. The first bot was the Prof's.

Git StuCo

Proposed and prepared a student-taught class on Git, a modern version control system. To be taught by Brandon Kase.


Built a ratings predictor using ALS on the Java API that I wrote for GraphLab.


Created a polling application that was fielded during the annual Spring Carnival for visitors to vote for their favorite booths. More than 800 votes were received.

Mobile Apps Club

Founded a small club at CMU for mobile devs.


Wrote a distributed, websockets-based messaging service in Go. It handles replication and recovery and was originally proposed as a 15-440 project.

Built with Foundation.