Active Projects

Projects that I’m currently developing:

  • Mutagen - A cross-platform, transport-agnostic, high-performance, robust synchronization utility targeted at simultaneous software development across multiple platforms

Thesis Code

Projects that originated as part of my doctoral work:

  • owls-cache — A Python framework providing both transient (in-memory) and persistent (filesystem, Redis, etc) memoization for Python functions
  • owls-parallel — A Python framework for batching and parallelizing function calls that might be scattered throughout a program
  • owls-hep — A Python-based replacement for the monstrosity that is ROOT, utilizing the owls-cache and owls-parallel frameworks for maximum performance
  • ATLAS GPU Data Preparation — A C++ prototype/benchmark for GPU-based data preparation of the ATLAS Pixel and SCT detector data for the ATLAS High Level Trigger
  • feynman — An experimental CPU/GPU-agnostic Monte Carlo integrator
  • complex-convert — A Clang tool to convert C++ <complex> constructs to C99-compliant <complex.h> constructs in order to more easily port C++ code that uses complex numbers to GPUs
  • root2hdf5 — A C++ tool to convert ROOT TTree objects into HDF5 data structures


Projects that are more or less stable and in maintenance mode:

  • xeno — A command line application for ~synchronous editing of remote files and folders using Git
  • go-keytar — A Go-based interface to the system keychain for Windows, OS X, and Linux, based on node-keytar
  • go-efsw — A Go wrapper for the efsw library
  • clebsch-gordan — A Python-based Clebsch-Gordan coefficient calculator that generates PDG-style tables


Projects are no longer developed or maintained:

  • GopherJS IPC Bridge — An experimental framework for IPC (UNIX domain sockets on POSIX systems and Named Pipes on Windows) between GopherJS (or any JavaScript-based language) embedded in a web view and another process running on the same machine
  • Flock of Features Tracking — A face tracking demo using a variant of the Flock of Features algorithm (demo video here)
  • Anamnesis — A “Reopen Last Closed Tab” plugin for older versions of Safari
  • libuv-cmake — A CMake build system for libuv

Useful forks/derivatives

Projects that I’ve forked for reasons other than posterity:

  • keytar — A standalone C++ version of the node-keytar library
  • efsw — A modified efsw distribution with pkg-config support and a fixed up CMake build system for easier cgo integration
  • npipe — A modified version that merges various forks implementing security ACLs and various bug fixes

Open Source Contributions

Projects to which I’ve contributed code: