I'm an
experimentalist and
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
consultant.
consultant specializing in systems architecture and engineering practices. (See LinkedIn for some recent clients.)
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,
Pivotal Labs (pivotallabs.com), CastTV, and Google,
including rigorous testing, continuous integration, and sometimes TDD & pair programming, to
frontend and
backend web development.
backend web development with
RubyRuby both on and off Rails
and various
DevOps tools.strange UNIX commands with 3-4 letter acronyms in ServerSpec'd Ansible playbooks.
I also enjoy writing
open source software and using
open source software, some of which includes:
Huginn - A system for building agents that monitor the world and act on your behalf (now with 17,000+ stars on GitHub!)
SelectorGadget - A tool for easy CSS selector generation
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.
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,
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
papers.
papers:
I also researched
stochastic optimization
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.
Physics and a concentration in Computational Science, which focused on
Physics Education.
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
sunnysometimes sunnyfoggy
San Francisco.
You can contact me in various ways.
You should read my blog and @follow me on Twitter. You can also contact me here.