Reorganized PostgreSQL administration around a set of scripts after finding that the learning curve with Salt was prohibitive for most other team members. Database relationships, major version, and policy defined in a single YAML file.
Established database roles for all Anton services and established the minimum set of privileges for each role required. Institutionalized a mechanism for retrieving database credentials, and adapted test harnesses to use the common schema definition.
Implemented a test harness for cluster provisioning system by deprecating legacy tooling that relied on MySQL. A SQLAlchemy-derived schema which was used to run tests on ephemeral PostgreSQL instance. Accomplished progressive migration from MySQL by periodically refreshing a PostgreSQL instance for read-only services to use.
Fully automated deployment of PostgreSQL databases using Salt. Database profiles defined such features as installation of custom extensions, proxy configuration, and point-in-time recovery. Administrative tasks such as major version upgrades, hot failover and status queries were also standardized using Salt execution modules.
Release engineer for Job Engine and Desjob, the command-line tools used to create and start simulations on Anton and Anton2. Automatic failure recovery and data-driven error classification enabled simulations to survive faulty hardware or disruptions in access to network resources. Provided stable releases by maintaining multiple layers of verification, including frequent design discussions, code review, automated system tests and nightly replay of simulations.
Primary author and maintainer of AMSv2, an application server used to provide automated and administrative control over the logical and physical components of Anton2. Improved performance characteristics over time by restructuring service methods around tests that verified that the object/relational mapper was generating correct queries. Handled all aspects of database server maintenance, from schema migrations to hardware upgrades.
Conducted more than 130 phone screens and in-house interviews for positions in Operations, System Software, System Administration, and Scientific Software. In all cases great care was taken to produce an essay that described a candidates potential and fit for a given position.
Key developer for AMS, an application server used to provide extensive record keeping and administrative control over running simulations as well as the physical and logical components of Anton. Time to deliver new features radically reduced through the introduction of a full set of unit tests. Provided the Operations with a responsive user interface for visualizing submachine and queue utilization.
Assisted with maintenance of 1500-node Linux cluster by routinely diagnosing and replacing faulty hardware. Facilitated the installation and functional testing of Eighteen 512-node Anton supercomputers.
Handled all technical aspects of running a regional ISP, teisprint.com. Provided support and generated documentation for 8 dedicated T1/ISDN accounts, 1300 dial-up users, 2100 e-mail addresses. Executed a migration of all services and equipment to a new collocation facility during an acquisition of ezaccess.net.
Enabled the business office to provide support to e-mail and dialup customers by implementing a complete account management interface along with tutoring on basic troubleshooting techniques using command line utilities.
Designed an in-house ticket management system aimed at improving visibility on outstanding issues. Substantially improved the effectiveness of a small team by making progress visible.
Provided on-site consulting in voice and data networking to an average of sixty companies each year in Eastern Pennsylvania and the Southern Tier of New York.
|2001||New Horizons||Software Instructor, Bethlehem, PA|
|1999–2000||Self-employed||Web Designer, Dalton, PA|
|1998||High Road Upper School||Graphics Instructor, Somerset, NJ|
|1996–1997||Lamplighter Publishing||Graphic Designer, Waverly, PA|
|1985–1997||Grades 1–12, Home Schooled|
BSD Associate recertification
BSD Associate from the BSD Certification Group
Troubleshooting, Maintaining, and Repairing Personal Computers
Open book exam
Overcoming First Principles,
A guide for accessing the features of PostgreSQL in test-driven
PGConfUS , April 19, 2016
Learning Through Composition,
A study in building modern Unix tooling
NYCBUG , January 13, 2015
Project page for rset(1)/pln(5), an approach to configuring remote systems using common scripting languages and tools.
Regular contributor to SaltStack, submitting platform-specific fixes and improvements for Linux, SunOS, and OpenBSD and MacOS. Also made cloud-specific improvements for VMware.
Project page for pg_tmp(1), of a tool for quickly spinning up temporary PostgreSQL databases. Crafted to give unit tests full access to the capabilities of the database.
Project page for entr(1), a cross-platform tool for running arbitrary commands when files change. Crafted to promote rapid feedback and automated testing.
Tutorials and commentary on programming, networking, and administration of Unix-like systems.
Print this Document