Current Projects

  • Lead developer for the Star Wars Combine
  • To-be-announced Open Broadcaster Software (OBS) plugins and related software.

Past projects

  • Research
    • Fall 2013 research rotation in the Concurrent VLSI Architecture group at Stanford University, focusing on energy efficient cache design and architecture
    • qvz, a high performance lossy quality value compression program for genomic data (Bioinformatics paper)
    • Worked with Professor Arbabian in the Stanford DC-THz lab, focusing on mm-wave radar architecture, signal processing, and applications
      • Compact 60 GHz radar imaging
      • Radar simulation and numerical analysis
  • Programming
    • Node.js packages (I don’t have time to actively maintain or develop these further currently but they are generally fully functional)
      • 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.
      • 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.
      • 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.
      • 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/variant interpreter – A basic implementation of an interpreter for a variant of LISP. The goal here is just to explore techniques for implementing interpreters and compilers, as well as developing a better understanding of how programming languages work.
  • Acoustic Modem in Air – Project for ECE 476 at Cornell University
  • CUAUV – Undergraduate project team for the annual AUVSI autonomous underwater vehicle competition. I worked on the Hydrophones system and developed the current software architecture based around a SHARC DSP from Analog Devices.