Projects
Current Projects
Draftomatic
Draftomatic is a swiss pairing system which optimally determines pairings given the following rules:
- Players may leave the tournament at any time
- Players may win, lose, or draw matches
- There must be exactly N rounds
- No two players may play each other more than once
- Assuming that the players are ranked, pairings should follow this ranking (first ranked plays second ranked, etc.) to the greatest extent possible (minimize deviation)
The solution is found with a reduction to a graph problem that can be solved by Choco, a library for constraint programming.
evil-eye-of-ohseaar
evil-eye-of-ohseaar is a system for digitizing collections of Magic: the Gathering trading cards. The code uses OpenCV for image processing, tesseract for OCR, and pHash for image comparison. The physical component of the system consists of a modified card shuffler controlled by an Arduino.
Past Projects
GQL Implementation for Pouchdb
GQL (Google Query Language) is a SQL-like language for performing queries. For those familiar with more traditional databases, it can be easier to understand than PouchDB’s native MapReduce syntax. I wrote a simple transpiler that generates PouchDB queries from GQL queries, using the ideas found here.
The original pull request can be found here, but the code now lives in its own repository.
I also wrote a series of introductory articles for Pouchdb.
ECE 4760 Final Project
My final project for the microcontrollers course at Cornell involved providing localized directions using a remote GPS unit informed by a remote base station. Full details and source code can be found on the department website.