Current Projects

Past Projects


  • Hidden Markov Model-based Gesture Recognition with FMCW Radar, an experiment in using automotive FMCW radar to detect and categorize coarse hand gestures based on micro-Doppler measurements
  • qvz, a high performance lossy compression algorithm for quality scores in genomic data (Bioinformatics paper)
  • Work with Professor Arbabian in the DC-THz lab at Stanford University, studying mm-Wave radar and applications:
    • Short range imaging at 60 GHz
    • Simulation and numerical analysis
    • Frequency estimation and super-resolution

Design + Implementation

  • Hardware/software design for an "electronic board game" prototype system using capacitive touch, near-field communications, and a custom designed PCB with demo video here
  • Node.js packages (not actively maintained due to time constraints)
    • db-filters - A database-based “filtering” engine, originally used to generate WHERE clauses for SQL from complex datatypes automatically, this now has expanded to include lots of database abstraction. Originally this was a set of PHP classes I used extensively for private development, but now I’m developing an open source version in Node.js.
    • flux-link - A control flow management library that helps simplify the creation of callback-heavy code, with support for exception handling, argument passing, and shared local state for each running instance of an execution chain.
    • math-captcha - A Node.js library that uses LaTeX and dvipng to create simple CAPTCHA images that ask the user to solve a math problem. Can be extended with custom operators and includes options to specify the complexity of the questions being generated.
    • well-rng - An implementation of WELL-1024a that aims to be very fast, lightweight, and limited in scope. Allows precise state manipulation and works on the browser through browserify.
    • spyglass - An object inspection class for Node.js developed as a fork/replacement for the original eyes.js library, with extra features and a high degree of customization.
  • LISP-like interpreter - A basic implementation of a LISP-like interpreter based on the original McCarthy paper. The goal is just to explore the implementation of the pieces of an interpreter or compiler and understand more about how programming languages work.
  • Lead Developer and Sysadmin for the Star Wars Combine

Undergrad Stuff

  • Acoustic Air Modem - Project for ECE 476 at Cornell University
    Report - Video
  • CUAUV - Undergraduate project team for the annual AUVSI autonomous underwater vehicle competition (now called RoboSub). I worked on the Hydrophones system and developed the system used in competition from 2010 through at least 2013, running on an ADSP-21369.