AJS.COM‎ > ‎Aaron Sherman‎ > ‎


Aaron Sherman

Senior Systems Engineer and Tool Developer

89 Prospect St

Somerville, MA 02143

Email: ajs_ajs_com

WWW: http://www.ajs.com/-ajs


Recruiter contact not solicited.

Areas of Expertise


  • High level language programming and toolsmithing
  • Revision control / release management
  • Production Internet infrastructure management
  • Manager of small teams of systems administrators/DBAs
  • Security/capacity/contingency planning
  • Web/database application performance analysis

Key Technologies


Perl (v3-5, library/module design, Perl 6 development), Python (including sqlalchemy, django), Java, HTML and HTTP including RESTful APIs, XML, C, C++, SQL, Shell scripting

Systems Admin / Security:

Linux (RedHat/SuSE/Slackware), Android, MacOS and various flavors of UNIX

Applications Administration:

Subversion, git, Perforce, Bugzilla, Puppet, Apache and Nginx Web servers, Security/firewall tools including Linux iptables. Databases including Oracle, Sybase, MySQL, PostgreSQL and SQLite.

Extensive use and modification of: MediaWiki


  • Contributor: "Web, Graphics & Perl/Tk: Best of the Perl Journal", ISBN 0-596-00311-0
  • Author: Perl Journal article, "Image Manipulation with Perl and The GIMP"
  • Contributor: "Perl Resource Kit: UNIX Edition", ISBN 1-56592-370-7
  • Contributor: "Perl Resource Kit: Win32 Edition", ISBN 1-56592-409-6
  • Contributor: "Programming Perl: 2nd Edition" ("The Camel Book"), ISBN 1-56592-149-6
  • Author: Daemon News articles:
    • The Very Long Night of FreeBSD (archived: The Very Long Night of FreeBSD) and
    • The Penguin's Council (archived: The Penguin's Council)
  • Author and/or Contributor:
    • Modules included in the core Perl distribution
    • Plug-ins (e.g. glowing steel, among others) included in the core Gimp distribution.
    • Early work on Perl 6 Synopsis 29: Builtin Functions specification

Work History

Cogo Labs

Senior Software Engineer 
Mar 2012 - Present

Software toolsmith, focused on writing reporting-oriented tools for a user-base of Web analytics-focused internal users. Some git management duties coupled with Python-based UI and back-end design. Most work done using Linux and MacOS.

AJS.COM Consulting

Software Engineering Consultant 
Oct 2011 - Mar 2012

A combination programmer, release engineer and source code control manager for a small team focused on rapid development of Web-based, open source CRM application customization. My duties focused on producing tools for managing unit tests as well as deployment and training of git, Review Board, MediaWiki and a number of other helpful development tools. I was also tasked with writing the process and documentation for new developers on the team and routine administration of the above.

Freelance Android App Developer 
May 2011 - Sept 2011

Authoring and designing revenue models for self-developed Android handheld-device applications.

  • A browser app for WikiMedia Commons Features Images and other media.

VMware, Inc.

Member of Technical Staff 
May 2008 - April 2011

Member of the SCM team with responsibilities including

  • infrastructure and tool development
  • in-house application maintenance
  • Perforce administration
  • build infrastructure modularization
  • C/C++ code component build analysis

Member of the build team with responsibilities including

  • infrastructure tool development
  • ongoing support
  • reporting
  • support of geographically diverse developer build environments

ITA Software, Inc.

Senior Systems Engineer / Toolsmith 
April 2001 - May 2008

One of a team of systems engineers. ITA was a small startup when I arrived and has grown into a thriving medium-sized company. My day-to-day duities include:

  • Toolsmithing in Perl, C++ and shell scripts (including monitoring, control programs, QA support software, etc)
  • Linux systems and network administration
  • Rotating on-call duties
  • Systems security
  • Internal application support including Big Brother and Bugzilla extensions
  • Customer and vendor support


Systems Architect 
July 1999 - Feb 2001

A key role managing the production infrastructure team for a high-volume web site which included:

  • Capacity planning
  • Security and recovery planning.
  • Database and content management performance analysis.
  • Planning and deployment of systems infrastructure elements such as:
    • load-balancing hardware, static-content Web servers,
    • dynamic-content Web servers, firewalls, mass storage systems, etc.

Previous programming-oriented role in the company included:

  • Wrote monitoring utilities.
  • Implemented HTML-based spell-checking, 3D logo rendering, personalized mailing automation and partner content generation.
  • Helped to estabish a development process.
  • Mentored junior members of the development team.
  • Extended/maintained Web applications.

Safety Net Solutions, Inc.

Senior Architect / Analyst 
April 1997 - May 1999

Contract programming assignments including:

Air Traffic Management: DoT / FAA

  • Porting a large C++ GUI from HP/UX to Linux
  • Installing/configuring Oracle 8 for Linux
  • Design database schema and perl tools for presentation of large volumes of data via World Wide Web protocols
  • Writing a build, test and release system for a large C-based system.
  • Porting Apollo/DomainOS C to HP/UX
  • C code maintenance and delivery

ID Card System: INS

  • Writing an MS Visual C++ communications driver for a laser bar-code scanner.

Quantum Realium

  • Configuring Internet Services
  • Technical support to Web engineers

Bank Boston (Now Bank of America)

UNIX Security Administrator 
November 1996 - March 1997

Security administration as well as maintenance of the 3rd party security software. Wrote reporting scripts in perl for auditors; Provided technical input on the establishment of UNIX security standards; specified and evaluated network security products; managed change control process.

I-Kinetics, Inc.

Consulting Services Group, Senior Consultant 
January 1992 - October 1996

Several contract positions and internal development. Individual descriptions follow (title reflects I-Kinetics title-level at that time, not the title held at the client site):

  • 1996, Training And Course Development
  • April 1996 - October 1996, Bank Boston security consulting
  • August 1995 - April 1996, Open Market, software analyst / systems engineer
  • 1992 - June 1995, Fidelity Investments:
  • Lone systems administrator for the Fixed Income Trading Floor for 1.5 years
  • Systems administration, hardware and software specification, etc.
  • Software toolsmithing including a trade generation system written in TCL

Independent Work

Home Internet system

"Back in the day" it used to be interesting to cite the fact that I had a system that was on the Internet from home, complete with various servers and firewalling. These days, no one bats an eye, but there it is anyway. Though records have shuffled around a bit, I registered AJS.COM in 1994, and Internet Archive shows that I had Web services running in late 1996.

I also do a fair amount of programming on my own time. I am the author of a number of tools including plug-ins for The GIMP and library modules for Perl. If you want to see a sample of my work, download the latest development version (1.1.4 or later) of The GIMP source code and look under plug-ins/perl/examples/image_tile.


Provided upon request.

Samples of my Work Online

search_sample: http://www.ajs.com/~ajs/search_sample.py

A simple binary search tree implementation. This isn't terribly practical or interesting, but I didn't have an example of my recent work in Python that I could use freely. The following examples are fairly old Perl code from my Perl days, but they're also more practical examples.

mkpasswd: http://www.ajs.com/ajswiki/Mkpasswd

Password generation is a hard problem that I've written a program to solve. It has followed me from job to job getting better along the way. You can have a look at mkpasswd's source code and documentation from my Web site.

mktreasure: http://www.ajs.com/d20/mktreasure

More recently, my gaming interests lead me to write the world's most complete d20 SRD 3.5 treasure generator. In case that means nothing to you, feel free to check check out its Wiki page (mktreasure) on AJS.COM which includes links to the source code.


This resume is copyright 2005 by Aaron Sherman.