739 Main St.
Akron, PA 17501
PHP5, APC, XDebug, PHPUnit, Command Line PHP.
Various PHP Frameworks : MediaWiki, Symfony, Drupal
: Image::Grab, IO::BLOB::Pg, Filesys::Virtual, POE::Component::Server::XMLRPC, Software::Packager::Svr4.
Knowledge : mod_perl/Apache, DBI, POE.
: Contributing PHP packages (MDB2, hardy's XDebug) to Debian and Ubuntu.
Emacs : Contributor to Emacs with copyright assignment papers on file with the FSF.
MediaWiki : Contributing to MediaWiki, managing public releases and planning long-term maintenance for MW 1.19.
Mail and Calendar Suite
Mail Transfer Agents : postfix, exim, sendmail, qmail.
Spam Filtering : SpamAssassin, Amavis.
Virus Scanning : ClamAV.
SQL : MySQL, SQLite, PostgreSQL.
Web Services : XML-RPC, REST, JSON-RPC (BloggerAPI, MetaWeblogAPI, Bugzilla, MediaWiki clients).
Nichework LLC is the business entity that I use for any contracts or projects.
MediaWiki Release Management: Formed a partnership with Hallo Welt to manage MediaWiki releases on a contract basis for Wikimedia.
Upgrading Sherwin Willliams internal MediaWiki:
Working as a part-time contractor to upgrade their MediaWiki system from version 1.11 to version 1.19. This involved reviewing all of the
extensions they've used and adapting their customizations to the new version.
Part of this work meant implementing a way to separate MySQL schema changes from the regular upgrade process for MediaWiki so that they could be handled by Sherwin Williams' DBA.
Dev-Ops for Squareknot: Worked with Squareknot – a young startup – to provide PHP support and implement an operations environment using Microsoft's Azure. I'm working with PHP developers to enable Azure SQL connections from Linux and to implement better Azure support for Doctrine. (See PHP Bug #64338.)
WikiPathways customizations for Gladstone Institute: Six month contract to extend their highly customized implementation at WikiPathways.org while bringing in more in line with MediaWiki best practices and upgrading it to MediaWiki 1.21..
New Orleans Jazzfest spam filtering: I've been maintaining New Orleans Jazzfest's anti-spam relay for several years.
XML Namespace handling for Emacs : Implemented namespace handing for the XML parser in CVS Emacs.
xml-rpc.el : Assumed maintainer-ship of the XML-RPC library for Emacs.
July 2012-December 2012
Working with the XPlat (Cross-Platform) group to develop a tool written in the Symfony framework that will ease troubleshooting for Tier 2+ helpdesk in their XTM (SMS Messaging) product as well as adapting the tool to other troubleshooting scenarios for other products like Voice2Go, etc.
The tool makes CodeBig API queries on behalf of the helpdesk worker. I used AJAX calls, CSS3 Transitions and HTML5 form elements to make the APIs useful for the end user.
January 2010-June 2012
Organized public bug reporting for the Wikimedia projects, held regular bug triages, worked to build relationships within the community so that the Foundation became aware of problems more rapidly and resolved them quickly.
Community liaison for Upload Wizard : Upload Wizard was created as way to make it easy for users to contribute photographs to Wikimedia Commons. Commons admins seemed to look askance at this project until I held a triage in which they were able to discuss their issues directly with the WMF developer charged with its development. The triage didn't solve all the problems, but it opened up communication so that they felt like their concerns were heard.
Coordination between paid and volunteer developers : As the result of just one triage on IRC with PediaPress developers and volunteers from wikibooks projects, I was able to arrange cooperation between the developers of the Collection Extension which allows Wikipedia to provide PDFs or printed copies of collections of articles and the BookManager Extension which the wikibooks volunteers created to manage the web presentation of books. They've begun to work on integrating BookManager into the next version of the Collection extension.
Production Deployment problem triage : I was able to build valuable relationships and find people to help in future rollouts as well as get problems solved before they hit larger projects
Open Source Developer
IntraHealth International, Inc.
July 2007-November 2009
I worked on multiple open-source software projects, including traveling to client countries (in my case, Rwanda and Uganda) to help IT workers there implement Open Source solutions.
open.intrahealth.org : Set up MediaWiki as a repository for sharing information with our partners and clients.
iHRIS Suite : My efforts were focused on integration with Linux distributions (Debian, Ubuntu) and adapting the PHP-based software suite to the WAMP platform so that it could run standalone on a Windows Desktop.
Human Resources for Health (HRH) Global Resource Center upgrade : Upgraded the HRH GRC site maintained out by the USAID's Capacity Project.
Knowledge Management for Uganda Ministry of Health (MoH) : Integrated Joomla andKnowledgetree to provide a complete KM solution for the MoH. When we presented the results to the MoH librarians, they were visibly excited.
May 2006-March 2007
Helped implement front-end enhancements using AJAX and PHP. Later, took on the management of the production, integration systems, the autobuild system, the custom Ubuntu package repository for our internally produced packages, backups, and system monitoring via a combination of Cacti, Swatch and Nagios.
When we switched our front-end to MediaWiki, I wrote custom handlers to produce fast geographical lookups using PHP. Migrated our custom package repository to Amazon’s S3.
June 2004-May 2006
Managed servers and helped maintain current base of legacy code. Planned and began implementing a move from custom template system with a mix of custom CGI code to Catalyst and Template Toolkit as part of a complete redesign of the site. My initial decision to use Catalyst on mod_perl has been implemented site-wide.
Clark for President, Inc.
November 2003-February 2004
During my time at the campaign, I was the primary system administrator and managed the Linux-based network at the Headquarters as well the Linux servers co-located in Little Rock and New York City.
Implemented virus and spam scanning using open-source tools for all @clark04.com email addresses. This alone saved untold hours in staffers' time at little cost to the campaign.
Saved the campaign $50,000 on a contract by benchmarking a vendor's field outreach tool which purpose was to aid grassroots volunteers in writing letters and making calls to potential voters. My measurements showed that the tool became unusable with even a small number of users. The contract was canceled.
Universal Personnel (New Orleans, Louisiana)
January 2001-October 2003
Responsible for maintaining: internal and external DNS resolution for McDermott at multiple sites; external SMTP gateway router; internal and external FTP servers; HTTP Proxy; SOCKS proxy. Applying security upgrades for supported applications. Reviewing and implementing Auditor's security recommendations. (This contract was previously owned by Volt Technical Services.)
Developed and Deployed a spam and virus scanning system using mimedefang, Trend Micro's virus engine and SpamAssassin.
Developed bootable CDROM to deploy UNIX systems locally or at remote sites in a uniform fashion without using a JumpStart server.
Developed a means of packaging Solaris SVR4 directory-format packages without the use of Solaris tools (e.g. without pkgmk).
JCALS System Administrator
U.S. Air Force Reserve
September 2000-December 2000
Maintained documentation storage system for Air Force Reserve base.
PixSell Data Brokers
February 2000-August 2000
Contracted to perform work in Perl.
Also, performed miscellaneous System Administration duties including working with the FBI and Navy Security to track down a hacker.
Form 1003 submission : Developed an automated system for Standard Mortgage that would take input from a web-page. The system used that information to submit a prepared Form 1003 to Fannie Mae for a lending decision. The decision would then be given back to the user. Implemented entirely with Apache and Perl using a custom Perl module.
Baily Link, Inc.
July 1999-January 2000
Registered domain names. Created and implemented policies for a separate development and production servers; Created and implemented policies for a version control system for internally developed software.
Department of Interior (Minerals Management Service)
June 1998-July 1999
Maintained the DNS; Developed an interim web-based solution for plotting and displaying over 200GB of well-logs. Implemented Cfengine to ease maintenance of Solaris workstations. Installed and maintained the proxy servers for the Gulf and California locations.
Computer Operations Supervisor
Tulane University (EECS Department)
June 1996-June 1998
System Administrator for over 40 Sun Solaris workstations, three servers and several Microsoft Windows 95 Personal Computers. Also managed student workers.
BS in Computer Science
University of New Orleans