Summary
I understand usability, modern computing environments, security, and high-performance computing. I have developed complex web applications, shipped software for Unix and Windows and managed large numbers of systems in a complex environment.
You can view my open-source projects on Github and BitBucket
Skills
Languages
- Python
- JavaScript
- Java
- PHP
- Perl
- DTrace
- SQL
- cfengine
- C/C++
Standards
- CSS
- HTML/XHTML
- HTTP
- JSON
- XML
- DNS
- Syslog
Databases
- MySQL
- SQLite
- Postgres
- Oracle
- Microsoft SQL Server
Environments
- Linux
- Mac OS X
- Windows
- FreeBSD
- Solaris
- AIX
Experience
Software Developer CACI / Library of Congress Washington, DC
- Working on the World Digital Library public site and content management interface
- Expanding the use of automated testing and continuous integration
Software Developer V InDyne, Inc. / NASA HITSS Contract Washington, DC
- Designed and built a new science.nasa.gov combining two large previous sites into a new Django site using FeinCMS. This included substantial performance engineering, extensive legacy content sanitization, full-text search using Solr and Django Haystack, and a number of reusable applications, all with high levels of automated testing.
- Launched a Django-based conference registration site on a very aggressive schedule
- Substantial improvements for internal development workflow, RPM-based automated Django site deployment and testing
Senior Technology Analyst Yale University New Haven, Connecticut
- Migrated a Rails 1.0 site to Rails 2.0 on jRuby
- Web integration and development for several enterprise systems, including an iPhone-optimized mobile site for an internal CRM system
- Setup internal ticketing system and reporting for internal software development projects
- Evangelized the use of version control and automated testing
- Assisted senior system administrator with complex VMWare VirtualCenter upgrade and related projects
System Administrator The Salk Institute for Biological Studies La Jolla, California
-
Large-Scale System Management I developed the infrastructure used to manage a number of Linux and Windows desktops, servers and a Linux compute cluster
- Extensive use of cfengine for automated system configuration and monitoring on Debian, Red Hat, SuSE and OS X clients
- Developed internal stability patches for pam-ldap and OpenLDAP
- Configured preseeded Debian Linux net-boot installs and ongoing debconf configuration management
- Developed Debian packages for internal and third-party software
- Automated Windows client installation and management
- Setup network boot infrastructure for diagnostics, system installs and disk-less cluster nodes
- Developed quota monitoring and reporting tools for our NAS servers
- Setup 55-node Linux cluster using the Sun Grid Engine
- Developed a software and hardware inventory system for Windows, Mac and Unix clients which integrates with our system management tools
- Setup centralized system logging using syslog-ng and SEC
- Setup a VMWare ESX cluster to provide both highly-available network services with VMotion and a range of build/testing systems for internal and external developers
-
Security
- Developed scanning systems to verify patch deployment, audit our internal network and our exposed network services
- Developed firewall rules, testing tools and web-based monitoring
- Setup Snort IDS and contributed a number of performance and feature improvements for snortreport (a web-based analysis tool)
- Migrated insecure legacy network services to secure replacements
- Setup internal x509 certificate authority
- Promoted the use of S/MIME for secure email
- Significantly hardened network and system infrastructure and developed utilities and procedures to make working securely more convenient than the insecure alternatives
-
Productivity
- Introduced the use of a ticketing system
- Setup wikis for sysadmin and user documentation and wrote a great deal of content for both
- Encouraged the use of version control systems (mostly Subversion) for internal development, system configuration and end-users
-
Services
- Directory: setup OpenLDAP cluster and migrated existing NIS accounts
- Mail: email, mailing list, spam and virus filtering, webmail, archival
- Network: wireless network and client registration system, DHCP server, various monitoring services
-
Web Development
- Introduced modern hosting infrastructure and significant improved security and performance
- Developed or improved numerous small lab/project web sites
- Build a content management and conference registration system for the Neural Information Processing Systems Foundation
- Build a website and video-on-demand service for The Science Network
Contractor Southern California
- Built an online store which interfaced with a complex legacy purchasing system for a Fortune 500 semiconductor manufacturer
- Various small web development projects
- Linux and OpenBSD server administration
Senior Technologist Digitaria San Diego, California
- Responsible for the managed hosting services which we offered our clients
- Responsible for internal IT operations and managed two dedicated system & network technicians
- Conducted numerous internal training courses for the technology, project management and sales groups
- Technical lead for most of our projects and ran performance and security audits on all of our projects
- Evangelized web standards, security, usability, accessibility, and internationalization
- I worked many projects for companies ranging from startups to Fortune 500 corporations; for brevity I've listed only the more technically interesting:
- Our library of reusable code allowed me to meet a three-week design-to-launch schedule for a complete portal site with multi-lingual content (English, Chinese and Vietnamese), a user-customizable home page, text and voice chat
- Proposed and developed the Buck Custom Knife Shoppe which was a fairly early DHTML-based product customization system
- Built a mailing-list management system which was used for various projects including a major retailer's club system
- Designed a secure credit-card processing system to meet stringent customer requirements for secure handling of client data on a subscription service
- Built an interface for a major insurance company to allow their complex extranet to authenticate against an NT domain
- Built a multi-threaded web-spider in Java for a B2B business information service
Quality Assurance Analyst, Project Specialist Acucorp San Diego, California
August 1996 —
January 1999
- Built a cross-platform automated testing system for the QA department. This system included both CLI and GUI front-ends to add and manage tests, execute suites simultaneously on multiple machines and analyze results.
- Created an automated regression test suite for a major new product and spent a month in Asia training our partner's developers
- Developed a modular benchmark suite to provide useful information for product development, sales and marketing comparisons and technical support
- Based on customer demand I proposed several ways for AcuCOBOL users to add web functionality to their existing systems. The client-side solution became a shipping product; the server-side solution was still under discussion when I left
- Developed Acucorp's first intranet site
- Developed a SQL / ODBC test suite when we added an ODBC support for our proprietary ISAM
- Developed Acucorp's Y2k test suite and tested numerous versions for compliance
- Developed several AcuCOBOL extension DLLs and utility programs functionality for customers with special requirements
- Helped maintain an internal tracking application used by Acucorp's tech support, QA and development departments
- Maintained a high-speed serial-port communications library for DOS, Unix and Win32
- Wrote some of the first real programs which aggressively used AcuCOBOL's GUI and multithreading extensions and worked with the developers to improve these extensions before the public release
- Regularly assisted the Technical Support department with particularly challenging problems
Projects
-
WebToolbox - an open-source collection of tools for web developers, based on an easily reusable, high-performance asynchronous HTTP client.
-
PyMacAdmin - an open-source collection of Mac system administration tools built in Python
- Smaller projects and my contributions back to other projects may be found at http://github.com/acdha and http://bitbucket.org/acdha
Publications and Presentations