experimentalist. I enjoy making online
websites and tools, and
websites and tools, such as
SelectorGadget andSelectorGadget (selectorgadget.com), a Chrome extension for generating optimal CSS selectors, andBeeLine Reader.BeeLine Reader (beelinereader.com), a tool that makes reading faster and easier by using color gradients to guide your eyes.
I've spent time
studying web security.
researching security and privacy, mostly in web applications. I'm in the Google Security Hall of Fame for some subtle security holes that I found in Gmail and Google Documents in early 2011. More recently, I found a number of securityholes in Pivotal Cloud Foundry.
I'm also deeply interested in Physics and
emergent processes in nature.
the simulation of emergent processes and self-organizing systems, primarily from the natural world. Check out an HTML5 canvas-based simulation of ants exploring and
working togethercommunicating via pheromone signals. These pheromone signals are local, and although the ants know nothing about each other, the resulting emergent system displays complex behaviors, which allow the ants
to gather food, or the classic Conway's Game of Life.
Professionally, I'm a
software engineer specializing in systems architecture and engineering practices.
I am currently Principal Engineer at Kubos, where I focus on Major Tom, our modern mission control software for small satellites.
Previously, I was Chief Architect at
Mavenlink, where I built
Mavenlink, a startup that is empowering services companies to manage their businesses online. I wrote a lot of code and built
the engineering team.
the engineering team, applying
agile practices to
agile software development practices that I learned as a consultant at
Pivotal Labs (pivotallabs.com), CastTV, and Google,
including rigorous testing, continuous integration, and sometimes TDD & pair programming, to
backend web development.
backend web development with
RubyRuby both on and off Rails
DevOps tools.strange 3-4 letter UNIX commands in Docker containers and K8s clusters.
I enjoy writing
open source software and using
open source software, some of which includes:
McFly - Fast, full-screen Bash history search in Rust, prioritized with a neural network
Huginn - A system for building agents that monitor the world and act on your behalf (now with 20,000 stars on GitHub!)
Reckon - Bayesian learning Ruby gem for command line accounting with Ledger
Expando - The expanding text jQuery plugin that powers this page
I also play with
machine learning techniques, such as convolutional neural networks. I gave a talk at RailsConf 2012 about machine learning and originally studied it
in graduate school.
while doing my Masters research at Georgia Tech. My research focused on
artificial intelligence. Specifically, I researched TTD-MDPs, a technique for generating a distribution of trajectories through a Markov Decision Process.
With my co-authors I published a couple of
I also researched
stochastic optimization for motion control of high degree-of-freedom manipulators, like octopus arms and elephant trunks (you can read my paper about it),
and machine learning in web applications.
Prior to Georgia Tech, I graduated from Haverford College with a BS in
Physics and a concentration in Computational Science, which focused on
Physics Education. This culminated in the development of three educational physics applets
that are featured in the Physics textbook Waves and Oscillations: A Prelude to Quantum Mechanics by Walter Smith.
Before that, I developed a low-cost, distributed data-processing cluster to search for radio pulsar signals.
I live in the
You can contact me in various ways.
You should read my blog and @follow me on Twitter. You can also contact me here.