(Note: Appending "-2017" to the end of
the before-the-at-sign side of the above e-mail address will
get a much better chance of a speedy response.)
Not actively seeking work. Open to considering opportunities using
Common Lisp, Clojure, Scheme, or Haskel; to remote-friendly contracts or
employment in other areas of my past experience; or to junior-level
management in software development and/or operations groups.
Software developer with a history as a UNIX/Linux Systems Administrator.
My greatest strengths come in the areas of ability to quickly grasp
new concepts; in troubleshooting problems; in paying attention to
fine details, while understanding how those details can impact the
larger picture; and in communicating effectively with others.
I particularly enjoy solving problems -- whether they be debugging
an existing system, or figuring out how best to create a new one, or
helping people understand each other's perspectives on something,
and thus defusing tensions.
I also have a wide variety of experience doing systems
administration (as mentioned), tech support, and even a little bit
of training and team leadership.
AREAS OF EXPERIENCE:
C++ (including STL);
MacOS (6 through 9, MacOS X);
Linux (a.k.a. GNU/Linux);
AWS EC2 and related automation;
database-driven web apps;
data mining (from databases, log files, etc.);
Custom interfaces to Remedy;
back-end "filter" utilities for Remedy;
Python module for Remedy (using C API);
utilities for use from a UNIX shell;
small applications for PalmOS devices;
systems administration-related automation scripts;
CGI web pages;
a UPS status monitoring daemon.
Applications and Tools:
Ruby on Rails;
Netscape Messaging, Directory, and Enterprise Servers;
iRhythm Technologies Inc. (through Taos Mountain, LLC. ; October, 2015 through January, 2016):
- Created automation for AWS deployment of services, including
Ansible-based installation configuration, ruby-based AWS
interactions, CloudFormation templates, etc.
- Reverse-engineered existing non-automated configurations in
order to best replicate the above.
- Converted Subversion code repository to git, including
providing user documentation and support for the migration.
Autodesk, Inc. (through Taos Mountain, LLC. ; February, 2015 through October, 2015):
- Created and maintained automation around AWS services.
- built command-line tools for interacting with same in a
- generated new SSL certificates, including a new Certificate
Hortonworks (through Taos Mountain, LLC. ; June, 2014 through January, 2015):
- Acted as a technical resource for the IT department --
advising management, and providing training, troubleshooting
assistance, and general expertise to other individual
- Evaluated IMAP migration tools for a large-scale (500GB)
email data migration using IMAP -- finding these tools lacking for
client needs, ultimately developed (in Python) automated tooling
for the migration including user-facing documentation, web
front-ends for obtaining user passwords in an ephemeral manner,
web-based reporting on migration progress for users and management,
and performance analysis (using R) of IMAP server interactions to
allow understanding of bottlenecks.
- Evaluated BCFG2, Salt, and Ansible for automation of
configuration management on corporate servers.
- Developed Ansible rules for same.
- Provided instruction on Ansible to peers, to further the
- Created and executed a detailed test plan for an OpenLDAP
deployment that had been previously built but left untested. Wrote
Change Control procedure for deployment of same.
- Performed forensic analysis and corrected data
inconsistencies from a failed data migration.
- Assisted in planning and deployment of 200-physical-node
- (May, 2009 through May, 2014):
- Took time to travel, pursue artistic endeavors, etc.
Google, Inc. (January, 2008 through April, 2009):
Site Reliability Engineer
Provided support, including on-call duties, for Google
Analytics, Webmaster Tools, and other Google products.
LLC (for several clients) (August, 2007 through November, 2007):
Developed a full website using Ruby on Rails to gather
customer feedback for a major shrink-wrap software
vendor: Set up SVN-based revision control; Implemented
front-end design from specifications, including
image-upload and text entry functionality; Created
back-end ("administrative") interface, including search
functionality (using ferret); Configured Apache
web server with password-protected admin area, and
password-protected staging version.
Performed system-admin tasks for Super Pod internal
Developed automated tools to assist in a major website
localization project. Assisted and trained junior staff
members in technical aspects of localization.
Inc. (working on their Villij.com
website) (January, 2007 through July, 2007):
Initiated getting their source code into revision
control (First CVS; later converted to Subversion).
Trained users on these systems.
Separated their environment (both database and code)
into development, staging, and production modes, with a
development environment for each developer.
Introduced pair programming, test driven development,
refactoring, and other best practices.
Installed NTP on servers to get good time
Created, and automated, backup procedures.
Consulted on company development strategies.
Created system for recording and monitoring application
Instituted use of web page templating using Smarty.
Instigated the use of TinyMCE for WYSIWYG blog editing.
Converted PHP system to Ruby on Rails (still in progress
as of last update). Created Rails database Migrations
to get table structure to work with rails; instituted
the use of Migrations for all database changes.
Systems (July, 2005 through January, 2006):
Software Development Engineer
Fixed various bugs in the Isilon system, including
Provided general maintenance for "CPR", Isilon's utility
for filesystem integrity checking, debugging, and
repair. This work included fixing bugs, working on
documentation improvements, and doing minor feature
Infospace (through Kforce
Professional Staffing ; March, 2005 through July, 2005):
Modified existing PHP application to add new
functionality and fix bugs.
Customized workflow to create new custom functionality
in Remedy's CSS application.
Consulted on additional Remedy workflow changes.
Created an application for tracking and reporting on
Remedy license utilization over time.
Amazon.com (August, 2003 through December, 2004):
Software Development Engineer
Supported, operationally, several high-visibility
applications on a rotating 24 by 7 basis. Debugged
various problems in software supported by me as well as
that upon which it depended.
Gathered requirements for, designed, and developed
several reporting tools. Designed and developed data
visualization utilities for several of these (including
a "traffic light" indicator as well as various graphs).
Designed an internal web site organizing several such
tools, including tools developed by myself and by
Mentored and trained (informally) others on topics
ranging from software development to basic UNIX
understanding to the intricacies of specific tools and
Advocated for quality solutions to problems at hand --
pushing for long-term solutions over short term;
sustainability over easy-right-now; the "right" solution
over something that merely solved the most pressing
problem currently surfacing.
Assisted the Remedy team with Remedy administration and
Participated in the interviewing of new candidates both
inside and outside of my immediate group.
Inc. (contract) (April, 2002 through May, 2003):
Software Developer/Network Analyst
- Developed several reporting tools (including
the aspects of data collection and data mining and
reporting) as well as automation-oriented tools.
Utilized XML and XSLT to do data encapsulation and
extraction for collection tools, as well as for
configuration of dynamic reporting tools. Automation
work included configuring SGI's installation tools for
100% automated install, and doing post-install scripting
for configuration of installed machines.
Mentored various members of the immediate group as well
as a couple of adjoining groups on myriad topics ranging
from general systems and network administration
principles to best practices to perl scripting.
Provided technical assistance and conference to various
SGI team members worldwide, having various technical
skill levels and cultural backgrounds.
Analyzed and solved myriad technical problems as they
came up. Filed bug reports when problems with SGI's
IRIX operating system or related tools were involved.
Performed a variety of cleanup tasks, working towards
making an environment which had been filled with legacy
configurations which were frequently not very well
understood into a smooth, uniform (to the extent
possible), and much more stable environment.
consulting work (April, 2001 through June, 2001):
- Authored C code to provide a Python module
which would interface to Remedy's Action Request System
(ARS) through the ARS C API. Wrote code to pull data
from a MySQL database and then dynamically build from it
an ARQualifierStruct to represent a search in the Remedy
ARS. Assisted with debugging and enhancement of the
larger application -- a Remedy interface for WAP devices
(e.g. mobile phones).
Internet Security, Inc. (January, 2000 through April, 2001):
- Developed code to use the Remedy C API to
communicate between Remedy's Action Request System (ARS)
and Counterpane's proprietary automatic incident
Created and maintained Counterpane's CVS repository,
including back-end programs to do notification of
changes, validation checks, and automatic pushes of some
data, such as web content, to appropriate servers.
Provided training in the use of CVS to developers not
already familiar with it, or who needed additional
Performed a variety of Systems Administration tasks
until such time as we hired on a full-time
Global Networking And
Computing (GNAC), Inc. (July, 1999 through January, 2000):
Member, Technical Staff
- Designing and building internal tools,
maintaining and enhancing existing tools. Acting as a
mentor to junior Operations staff. Providing tool
development services to client companies.
Communications Corporation (September, 1998 through June, 1999):
Member, Technical Staff
- Acted as a liaison between Technical Support
and Core Engineering for the Netscape Messaging Server
product. Took escalations from Technical Support into
Engineering. Created bug fixes for customers. Acted as
a main back-line contact for large customer
(including subsidiaries) (July, 1996 through September, 1998):
Senior Systems Administrator
- Provided back-line system administration
support for several engineering user communities, while
also being an active, contributing member of SGI's
worldwide systems administration community. Provided
implementation and maintenance support for business
supporting programs and applications. Supported and
monitored divisional servers (DNS, NIS, sendmail, web,
Synchronize, Networker). Active participant in the
implementation of IS processes, tools, and procedures.
Represented Silicon Studio and Alias|Wavefront
subsidiaries to global SGI IS community. Defined,
developed, documented, built and maintained
applications, scripts, and tools to enhance
effectiveness of users and the divisions. Designed and
built a nameservice management system, backed by a
Engineering (through Taos
Mountain ; April, 1996 through July, 1996):
- Responsible for upgrading 60 SGI workstations
and servers from IRIX 5.2 to 5.3, while maintaining
functionality of highly customized local environment.
Built installation images for local software.
Documented upgrade process for other SysAdmins.
Assisted the SysAdmin group with other tasks.
Graphics (through Taos
Mountain ; October, 1994 through April, 1996):
Remedy Administrator, Help Desk Staff
- Sole administrator of Remedy system for
worldwide IS group. Provided reporting of Remedy data,
including aggregate metrics, trending graphs, and custom
reports. Upgraded, configured, and maintained Remedy
server software. Worked with Server Operations to
provided 24x7 availability of the Remedy application.
Built installation images for client software
Provided front-line phone support to SGI
employees, and acted as a leader within the SGI Help
Desk group. Ran backups for group using Legato
Networker. Served as administrator for group's main WWW
and mail server. Resolved numerous system
administration and application problems. Assisted in
operational decisions for the group. Trained and
mentored new help desk staff members.
Microsystems (through Taos
Mountain ; May, 1994 through September, 1994):
Technical Support Engineer
- Provided technical support for Sun customers as
part of the North American Solution Center team.
Re-created customer environments, reproduced customer
problems and filed detailed bug reports.
Graphics (January, 1994 through April, 1994):
UNIX Systems Administrator
- Provided overflow assistance for divisional
Systems Administrator. Provided end-user support for a
small hardware design group and their IRIX-based
systems. Assisted with backups and other tasks
throughout the division. Enhanced automation of
Systems, Inc. (October, 1993 through December, 1993):
Member, Production Staff
- Proof-read conversions into SGML of technical
documents for on-line viewing, comparing against print
copy. Assisted with systems administration
San Francisco Bay
Area Theatres (December, 1986 through December, 1994):
Technical Theatre Staff
- Served as a member of the staff at a half dozen
bay area theatres at various times. Responsibilities
included Stage Management, Lighting, Sound, Video, Set
Construction, Painting, Properties Management, Stage
Crew, and more.
IRIX System Administration;
Advanced IRIX Administration;
IRIX Network Administration.
HOBBIES & INTERESTS:
Travel (around the U.S., Berlin, Dresden,
Vienna... hopefully much more to come);
Glass in various forms - blown glass, fusing,
stained/leaded glass, etc.;
Chain-mail (knitted metal rings);
Software Development (some of it on github);
Amateur Radio (FCC call sign: KF6HFQ).
- Volunteer work with San Francisco Sex
Information, providing media support for training staff, answering
calls and e-mails on the switchboard, and some time on the board of
- Active participant in the planning of a new "atheist
church" in Seattle, 2013 (services scheduled to start early
- Lived about a year in Berlin, Germany, first in late 2011,
then much of 2012 and into 2013.
- Volunteer Mentor, Youth In Focus --
a non-profit organization whose mission is "to empower urban
teens, through photography, to experience their world in new
ways and make positive changes in their lives." -- 2006
- Vice President, Seattle Photographic
- Director, Seattle Photographic
Society board of Directors, 2006-2007 (later elected Vice
- Served on the BayLISA board, with a
1998-2000 term, including 1 year as Secretary
- Regular attendee of BayLISA board
BIND IRIX port
maintainer, from the time of early BIND 8.x until SGI
took this on by buying support from the ISC.
- Secretary of the Southern Peninsula Emergency
Communications System (SPECS), 1999-2000.
- Secretary of the SGI Amateur Radio
Note: The latest version of this document can be obtained from:
Current Revision: 2.36+1.12 (mode 2-0-0-0), updated 2017-11-03