Mark Paschal
markpasc@markpasc.org
- Ten-year builder of internet community software in Python and Perl.
- Senior software developer on agile, cross-functional teams building whole products.
- Most recently, built an open source blog application for high-scale communities, developed in concert with a new web service API.
Six Apart, Ltd., San Francisco, CA (2004-present)
Six Apart develops the Movable Type and TypePad community publishing systems.
Software developer, TypePad Motion (2009-present)
- Built a Django community blog system, working with the TypePad API team to develop a new REST JSON OAuth API, the TypePad Group API.
- Designed and wrote remoteobjects, a core library for rapidly building RESTful web service client libraries in Python.
- Reduced latency in Motion's client–server requests by co-writing a Python library for sending parallel HTTP requests in one batch request.
- Implemented continuous integration for TypePad API client and server components using a Python CI system, Buildbot.
- Wrote developer documentation, including a Python house style guide (Six Apart is a Perl shop) and a developer's guide to running Motion with Apache/mod_wsgi.
- Accidentally contributed to a third-party rewrite of a Python OAuth library.
Software developer, Movable Type (2007-2008)
- Self-directed to design and develop Action Streams, a personal web profile “news feed” aggregator, later incorporated into the Movable Type product.
- Adapted code from sister product, TypePad, to implement a narrow table data storage system for better performance and extensibility.
- Implemented new web technology, including OpenID support for commenters and improved AtomPub API support.
Software developer, TypePad (2004-2007)
- Helped migrate customer data to a new database architecture—from a single PostgreSQL database to user-based MySQL partitions—by adapting the product's large stable code base to a next generation rewrite of its object relational mapper.
- Improved user experience by implementing TypePad's first rich text editor, integrating an open source RTE and extending it to meet product requirements about semantic HTML.
- Improved compatibility with a leading blog writing application, Windows Live Writer, by reverse engineering and implementing a competitor's XML-RPC API extensions.
Development tools engineer (2004-present)
- Helped teams scale up as the company grew from 9 to 100+ employees by deploying and maintaining blog and wiki communication tools on the company intranet.
- Wrote and deployed an intranet search engine for logs of the company's private IRC channels, using Sphinx Search and MySQL.
- Improved ability of internal teams to exchange patches and data by deploying an internal code review tool, a pastebot style snippet sharing tool based on the open source DjangoSnippets.org, and link sharing and tweet applications.
Education
- B.S., Computer Science, University of Tennessee at Chattanooga, 2003
Buzzwords
- Python: Django, WSGI, nose, Buildbot, Sphinx documentation, PyPI, pip, setuptools, Distribute, virtualenv virtual environments, generators, Twisted
- Web: HTML, CSS, JavaScript, jQuery, XML, OpenID, OAuth, weblogs, RSS, Atom, AtomPub, syndication, XML-RPC
- Perl: CPAN modules, DBI, Catalyst, Test::More, regular expressions
- Databases: SQL, MySQL, PostgreSQL, SQLite, CouchDB, Sphinx Search
- Process: agile, Scrum, git, Mercurial (hg), unit testing, automated testing, continuous integration (CI)
- UNIX, Linux, Mac OS X, C, C++