Proficient in Ruby (including Rails) and Perl. Moderately skilled in Clojure. Some experience with bash scripts, Emacs Lisp, and C.
All other things being equal, happiest when writing Clojure; Ruby is a close second.
Experience with Redis, SQL databases (Postgres when possible, MySQL when compelled), Chef, Puppet, RPM packaging, SNMP. Linux user since 1998.
Written mostly or entirely by me
- wycatsnumber: find distance between two Github accounts. Might be running at http://wycatsnumber.andcheese.org.
- mock_redis: mock out Redis in your tests
- math.primes Infinite lazy sequence of prime numbers, written in Clojure.
- spiffy-elisp: Helpful and not-so-helpful Emacs addons. The most-useful thing is the equivalent of Textmate’s command-T for Emacs.
- CodeEval solutions: I played with some puzzles on codeeval.com; here they are. Solutions are in Clojure.
Contributions to open-source projects
- engineyard / engineyard-serverside: perform app deployments on Engine Yard Cloud. Was on a team of three that wrote the vast majority of these gems.
- fog: Abstraction layer for multiple cloud services, including AWS EC2 and S3.
- thor: Framework for command-line Ruby applications.
- emacs starter kit: Solid starting point for your Emacs config.
- chowder: Rack user-authentication middleware. OpenID or username/password.
SwiftStack [December 2011 –> now]
Worked on a tool to manage and monitor OpenStack Swift installations.
Causes [December 2010 –> November 2011]
Maintained a large-scale (170M users, 27M monthly active users at peak) suite of web applications. Introduced Bundler to each application so that developers could run them simultaneously on the same machine. Set up Puppet for developer workstations, reducing the setup time for a new developer from several days to several hours. Switched user-uploaded photos to be stored on Amazon S3 instead of on a single machine with a giant RAID array, migrating 25M photos in the process.
Engine Yard [December 2008 –> December 2010]
Worked on Engine Yard AppCloud, a Ruby-on-EC2 hosting platform. Worked on both the web frontend and the Chef-based configuration backend. Developed the Engine Yard CLI (the gem) and the APIs it uses. Contributed bugfixes to open-source projects we used, including Thor and DataMapper. The small team I was on turned AppCloud from a prototype to the company’s flagship product.
AirWave Wireless [July 2005 –> December 2008]
Helped develop a large, enterprise wireless network monitoring and management system. Used Extreme Programming methodology. Duties included adding monitoring and configuration support for a wide variety of different standalone access points, wireless controllers, “thin” access points, wired switches, and other odds and ends of wireless networking (long-distance point-to-point microwave links, for example). Used a variety of protocols (SNMP, Telnet, SSH, FTP, TFTP, HTTP) to communicate with these devices. Open-sourced some CPAN modules (Test::Resub, Test::Wiretap) from our codebase.
Lawrence Livermore National Laboratory [Summer 2000, 2001, 2002; June 2003 –> June 2005]
Intern in the Network Security Team. Notable work includes a network traffic analyzer, an automated firewall configuration tool, and an Appletalk network scanner (no commercial Appletalk scanner existed, so we had to write our own).
M.S. Computer Science, CSU Hayward (now CSU East Bay), June 2006
B.S. Computer Science and Mathematics, UC Davis, June 2003
Avid Emacs user. Occasional homebrewer. Board game enthusiast.
Juggled exactly once.
torgomatic at andcheese dot org