Parsley - a language and companion website for building web scrapers
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.
I'm also interested in
emergent processes from nature.
the simulation of emergent processes and self-organizing systems, primarily from the natural world. One recent creation is 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. Another is an implementation of Conway's Game of Life.
Professionally, I am
the VP of Engineering at
Mavenlink, where I
Mavenlink (mavenlink.com), a startup that is empowering consulting companies to collaborate and grow in new ways. I
help guide the engineering team.
help guide the engineering team, applying
agile practices to
agile software development practices that I learned as a consultant at
Pivotal Labs (pivotallabs.com), and previously at CastTV and Google,
including pair-programming and test-driven development, to
frontend web development in
CSS,CSS (straight, on the rocks, or with SCSS),
backend web development.
backend web development with
RubyRuby both on and off Rails
UNIX tools.strange UNIX commands with 3-4 letter acronyms.
I also enjoy writing
open source software and playing
open source software, some of which includes:
Huginn - A system for building agents that monitor the world and act on your behalf
Reckon - Bayesian learning Ruby gem for command line accounting with Ledger
From time to time I play
with machine learning.
with machine learning techniques. 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