5202 S. Dorchester #3
Chicago, IL 60615
- Languages: Python, C, SQL, HTML, some Scheme, C++, Java, Ruby, Octave, ML,
x86 and 6502 assembly.
- Tools: Hadoop (mostly via mrjob and AWS EMR), Lucene/Solr, Mercurial, Subversion, Chef, Cassandra, Memcached, Apache Web Server, CherryPy, Twisted.
- Operating Systems: Linux.
- Senior Developer, Juju Job Search, 2006-2011 (mostly Python, with occasional C, Java, and Ruby):
- Wrote core search search functionality, extending Lucene / Solr as necessary in Java.
- Maintained and extended job parsing and ingestion subsystem.
- Designed and implemented sponsored job bidding / accounting / billing system, and ad hoc analytics via mrjob.
- Designed and implemented geographic name parsing and location search.
- Jointly oversaw migration from colocated hosting to Amazon Web Services.
- At times, had primary responsibility for operations and reliability of website and APIs.
- Consultant, Imaginary Landscape, 2005-2006:
- Implemented assorted web applications in Webware / PostgreSQL.
- Consultant, Ducks-In-A-Row, 2004-5:
Implemented and helped design web-based workflow application for
City of Madison Zoning Department using Python, Twisted/Nevow, and MySQL.
- Consultant, Cheshire Project at University of Liverpool, 2003:
Upgraded PyZ3950 to support Z39.50v3, and internationalization. (Z39.50 is a protocol mostly used in libraries for catalog searches.)
- Sabbatical, 1999-2003. Wrore assorted Open Source software
(C++/Linux), a Gtk-based tool for visualizing and interactively
experimenting with polyrhythms.
Studio (C++/Linux), a novel FFT/dotplot-based music visualization tool.
(Python), a Z39.50 implementation, including an ASN.1 compiler, BER
encoder/decoder, and MARC toolkit (contributing to standardization of
ZOOM, a OO Z39.50 API, defining Python
(Python), a book cataloging system (using PyZ3950 and
PostgreSQL) with Web interface.
(Python), a user-space NFS interface to the Python object namespace,
and ONC IDL-to-Python compiler.
- Consultant, OverX, 1999:
- Consulted on design of distributed database protocols and software.
- Senior Developer, Townsend Analytics,
- Designed and implemented network protocols running over TCP/IP,
Netbios, and Vines for financial market data, and HDLC system for satellite
broadcast of data.
- Designed C/C++ parsers for financial data feeds. Wrote custom bisync,
SDLC, and async drivers (under MS-DOS and Windows NT) for assorted
hardware to communicate with financial exchanges and other data
- Redesigned and reimplemented C/C++ servers for financial news and
instrument price data (both pushing current data and retrieving
historical data), using ISAM database.
- Wrote network and server monitoring applications for server farm. Debugged obscure
- University of Chicago, 1986-8 (full-time), 1990, 1995 (part-time).
Coursework included Compilers, Static Analysis, Programming Languages, Algorithms, Automata/Complexity Theory.