Getting robots to solve big complex problems reliably requires a lot of code. I am an active developer and have contributed both to personal projects and open-source projects.

You can find some of my useful contributions below. For the non-useful ones, see my github page.

Travis-CI for ROS


I wrote a travis script for running continuous integration on any ROS package. The end result is that each time you commit something on github, Travis can install ROS on a brand new virtual machine, clone your package, resolve all dependencies, build it (using catkin_make) and test it. This work is now used by many other researchers world-wide to produce better code running on robots.

Allegro Hand ROS bindings

I took over the maintenance of SimLabs’s Allegro Hand bindings. I cleaned up the package so that it could work with a modern version of ROS, re-organized the package to bring it in line with best practices, and made numerous other improvements. As far as I know, this is now the most widely used ROS interface for the Allegro hand.

You can see my (unofficial) fork here:

Grasp synergy

I wrote a very simple package that provides convenience wrappers around the concept of a grasp synergy (low-dimensional representations of hand grasps).


I wrote a cool decorator that can “magically” determine if a function should be called (to do work) or if its results can be loaded from file (if the work has already been done). Essentially, this is ccache for scientific processing pipelines.

This is most useful in situations where you usually do some form of pre-processing to data after loading it from files into your own structure, then actually analyze the data. This can save considerable time by short-cutting the pre-processing step (which doesn’t change) during development of the analysis code.

Other contributions

I have made very minor (sometimes trivial) contributions to many more ROS packages, which I list here primarily for my own reference: