Matt Chisholm matt-r@theory.org http://www.theory.org/~matt/resume.html Objective: I am currently engaged and am not interested in hearing about potential positions. To take a senior software design, interface design, and Python programming role, on a small, talented development team working on interesting and challenging projects, in the city of San Francisco, CA; New York City, New York; or Berlin, Germany. Skills: Languages: Fluent in: * Python 2.1-2.5 (pygtk, wxPython, PIL, Pylons, SQLAlchemy, Formencode, Routes, Paste, Genshi, Mako, PyX, SVGFig, nltk, psycopg, MySQLdb, psyco, PLY, iCalendar, webunit, funkload, unittest, SQLObject, py2exe, fonttools, roboFab, virtualenv, easy_install/egg format) * XSLT 1.0 * regular expressions (Perl, Python and POSIX) * JavaScript (ECMAScript & MS JScript, W3C & IE DOM, XMLHTTPRequest ("AJAX")) * SQL (Postgresql 7/8, SQLite 3 & MySQL) Rusty: (from lack of use) * Perl 5 (CGI, DBM, PerlOO, PerlGTK) * shell scripting (bash, tcsh, csh) * C & C++ * TEX & LATEX * PHP 5.0 Familiar with: * Ruby 1.8 & Rails 2.0 * Lisp (emacs & Common Lisp) * VRML * Curses * BASIC * AppleScript * XSLT 2.0 * Java 1.6/6 * Flash Formats: * HTML 5, (D)HTML 4.01/XHTML 1.0, CSS 1 & 2 * SVG 1.1 * YAML 1.1 * iCalendar/vCalendar/vObject * XML o RSS 1 & 2 o Atom o OS X plist * GNU Gettext .po files * bencode Software: * Development: GNU utilities (gcc, readline, getopt, make, gettext, gdb, etc.), cvs, Subversion, Bazaar, Codeville, VMWare 4, 5 & 6, (x)Emacs, Virtualbox * Internet: Apache 1 & 2, lighttpd, Firefox/Mozilla, Safari/WebKit 1, 2 & 3, Konqueror, Internet Explorer 5, 5.5, 6, & 7, Google Maps API, Flickr API, Facebook API, ssh, BitTorrent (protocol & mainline client) * Desktop: Xorg/X-Windows, Gnome, GTK * Graphics: GIMP, Inkscape (formerly Sodipodi), Sketch, Fontforge (formerly PfaEdit), Sawfish (including themes), Fontographer, Photoshop, PageMaker * Computation: Mathematica, Maple Operating systems: * Linux (kernel 2.0-2.6) * Debian 2.0-3.1, Debian package system & format * Ubuntu 4.10-8.04 * MacOS (6.x-9.x, OS X 10.2-10.4) * generic UNIX/POSIX * Basic familiarity with: o RedHat/RPM o Mandrake 9.1 o OpenBSD o SGI IRIX 6.2 Experience: August 2003 - September 2005, May 2006 - Present Co-Founder and Senior Developer, Mo-Tsuki, LLC, San Francisco Duties included: * Design: o co-conception and design of social event-sharing "Web 2.0" application o worked closely with 3-4 person team o studied on-line communities with an eye to encouraging a trustworthy, high- quality/signal, low-noise/abuse, and comfortable user experience o developed strategies for how to share permissioned data in a multi-user environment * Implementation: o complex DHTML and JavaScript interface including various "AJAX" functionality o natural-language time and date parser, in Python o modular templating layer using XSL (libxslt) transforms on XML to generate DHTML, CSS and JavaScript o design of application services in Python and interface with a back-end Postgresql database o account creation, verification, and management system o creation and maintenance of unit and end-to-end test suites o auditing application for security holes * responding to bug reports and user feedback from the project's small but devoted user-base See http://mosuki.com/ October 2004 - May 2006 Developer and user-interface designer, BitTorrent Inc., San Francisco Duties included: * worked closely with a 3-6 person team of programmers * improvements to BitTorrent 4.0, 4.2, 4.4: o complete interface redesign to bring BitTorrent up to par with competing clients o complete interface reimplementation in GTK o robust auto-update system capable of detecting, downloading, and installing new versions of the program across three different operating systems o i18N of interface strings * full re-design and re-implementation cycle for BitTorrent 4.20 - 5.0 releases: o collaborating with back-end developers on application-wide restructuring to add many features and fix long-standing, deep design flaws o collaborating with graphic designers on second interface redesign o complete interface reimplementation in wxWidgets o RSS feed and plug-in infrastructure (project canceled) * managing ~40 releases of new versions of the client, ~30 through auto-update system * tracking, responding to, and fixing a large number of bug reports from BitTorrent's ~4 million user base * restructuring command-line interface and curses / headless interfaces for better usability and to accomodate new features * following on-line forums and blogs to keep abreast of what features BitTorrent users wanted * adding / removing settings and preferences, both explicit and implicit, to improve user experience * managing l10N volunteers and paid team to localize interface into over 50 languages Director: Ross Cohen, CTO April 2003 - August 2003 Developer, Not Another Corporation, Inc., San Francisco Duties included: * Development on a standalone Python medical management application, to handle patient/ appointment/ doctor/ diagnosis/ prescription records, using wxWidgets (then wxWindows) and MySQL. * Development of a parser/syntax highlighter/indenter and emacs mode for PAL (Paradox Application Language, an archaic database access language). Director: Norman J. Harman, Lead Programmer April 2000 - September 2000, June 2001 - September 2001 Research Assistant to the Linguistics Department at UC Santa Cruz Duties included: * Analysis of linguistic data in Turkish, and improvements on a finite-state automaton meant to model Turkish morphology (word structure). * Maintenance and development on keCi, keCi+, and iCek, implementations of the FSA model of Turkish, written in Kernighan & Ritchie C. * Design of a course in programming to solve linguistic problems. Director: Jorge Hankamer, Professor of Linguistics and Dean of Humanities June 1999 - October 1999 Lead Developer on the Form-It project, AtreNet web solutions, Santa Cruz Duties included: * Managing a team of two programmers and two web designers working on the project. * Design and implementation of a Perl CGI with the following features: o Generate and execute Perl code to process a submitted HTML form. o Receive data submitted from HTML forms, report the data and perform statistical analysis on it. o Manage a SQL database of registered users, forms, and individual submissions. o Generate arbitrary HTML based on configuration files. Director: Tushar Atre, CEO June 1998 - April 2000 System Administrator, CATS Instructional Computing, UC Santa Cruz Duties included: * General IRIX web-server and SMB/Samba file-server maintenance and upkeep. * Development and documentation of a Perl/CGI program to allow users to schedule time on multiple computers in a computer lab. * Development and documentation of a Perl/CGI Placement Exam for the Spanish Department. * Writing tutorial web pages for UCSC faculty for various commercial software. * Small Perl and/or JavaScript solutions for course web pages. * Working with a team of students to support the faculty lab users. Director: Robin Ove, FITC Director Volunteer Experience * December 1999 - Present Contributor to Theory.org, an art and science web collective. http:// www.theory.org * May 1998 - August 2000 Co-sysadmin on the Porter Student Webserver, a student-maintained RedHat Linux webserver hosting student art projects. http://www.porter.ucsc.edu/ (now defunct) * September 1997 - June 2000 Online Editor & Production Manager at The Fish Rap Live!, an independent, student-run print newspaper published bi-weekly at UC Santa Cruz. http:// www.fishraplive.com/ (now defunct) Education: * June 2002 Master's_Degree in Linguistics,_University_of_California_at_Santa_Cruz. See: http://www.theory.org/~matt/dpe_tree/html/ * June 2000 Bachelor's Degree in Pure Mathematics, with Honors in the Major, University of California at Santa Cruz. See: http://www.theory.org/geotopo/3-sphere/html/ Selected independent projects: Participated in the following independent open-source projects: * Spydentify! o http://spydentify.com A collaborative web game/communtity devoted to identifying images. Author: Matt Chisholm * The Neighborhood Project o http://hood.theory.org/ A map of city neighborhoods based on the collective opinions of internet users. Authors: Matt Chisholm & Ross Cohen * PottyMouth o http://devsuki.com/pottymouth/ A tool to transform completely unstructured and untrusted text to valid, nice-looking, completely safe XHTML. Author: Matt Chisholm * Codeville o http://codeville.org/ A distributed next-generation version control system that allows for very easy branching and merging. Author: Ross Cohen * Alphabet Soup o http://www.theory.org/artprojects/alphabetsoup/main.html A Python and python-imaging based art project exploring the boundaries of typography. Author: Matt Chisholm * digest o http://www.theory.org/~matt/digest/ A Python and python-imaging program to generate HTML indexes and image previews for collections of images. Author: Matt Chisholm * namesort o http://www.theory.org/~matt/namesort/readme.html A python program for organizing a very large number of files into subdirectories based on their names. Author: Matt Chisholm * SyNTeX o http://www.theory.org/~matt/syntex/syntex_manual/ A Perl preprocessor for LATEX to draw syntactic trees based on parenthesized strings. Author: Matt Chisholm * mpserv o http://www.theory.org/software/mpserv/ A distributed client-server mp3 music archive to manage a collection of mp3 spread across several machines on a local network, and to play the mp3s to a stereo. Authors: Brian Martin, Jeremy Avnet, & Matt Chisholm * bfe, pbfe, qfe, libquat and related projects o http://www.theory.org/ software/ A suite of software tools written in C++ to visualize arbitrary dynamical systems in two, three and four dimensions. Authors: Brian Martin & Jeremy Avnet Interests: * Programming interests: typography & fonts, user-interface design, vector graphics, theming, geocoding, linguistics, artificial intelligence, file- system design, mathematics, dynamical systems and chaos theory, on-line communities, peer-to-peer systems. * I would like to learn: D, OCaml, PostScript and ProLog. * Other Interests: typography, writing, photography, travel, graphic design, architecture & design, geography, physics. References: References will be provided upon request. Last updated Thursday, September 4th, 2008