experimentalist. I enjoy making online
websites and tools, and
websites and tools, such as
BeeLine Reader andBeeLine Reader (beelinereader.com), a tool that makes reading faster and easier by using color gradients to guide your eyes, andSelectorGadget.SelectorGadget (selectorgadget.com), a Chrome extension for generating optimal CSS selectors.
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 security holes in Pivotal Cloud Foundry.
I'm also interested in
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 currently work at Kubos on Major Tom, a modern mission control system for small satellites.
Previously, I was the Chief Architect at
Mavenlink, where I built
Mavenlink (mavenlink.com), a startup that is empowering services businesses to manage their consultants, clients, and margins 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 UNIX commands with 3-4 letter acronyms in ServerSpec'd Ansible playbooks.
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 frequently use
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.