... and an adaptive rock-paper-scissors bot that does
better than chance.somewhat better than chance.
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.
Professionally, I am
currently VP of Engineering at
Mavenlink, where I
Mavenlink (mavenlink.com), a startup that is empowering consultants and clients to collaborate in new ways. I
help guide technology development.
help guide the development team, applying
agile practices to
agile software development methodologies that I learned as a consultant at Pivotal Labs, including pair-programming and
test-driven development, totest-driven development (my experience has been that testing reliably results in better code, and pairing, where appropriate, helps to minimize errors and to spread knowledge), tofrontend and
frontend development in
JavaScript,Javascript (and CoffeeScript, Processing, and sometimes Java),
HTML5, and
CSS,CSS (straight, on the rocks, or with SASS),
and
backend web development.
backend development with
RubyRuby both on and off Rails
and various
UNIX tools.esoteric UNIX tools with 3-4 letter acronyms.
I also enjoy writing
open source software and playing
open source software, some of which includes:
SelectorGadget - Bookmarklet for CSS selector generation
ruby-readability - Ruby port of Readability, a tool for extracting text from webpages
MyObfuscate - Ruby stream processor that selectively rewrites SQL to protect user privacy
Reckon - Bayesian learning Ruby gem for command line accounting with Ledger
From time to time I play
with machine learning.
with machine learning techniques that I studied
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: