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.
Skills
-
Languages
- Java
- JavaScript
- PHP
- Perl
- Python
- DTrace
- SQL
- cfengine
-
C/C++
-
COBOL
-
Cold Fusion
-
ASP
-
Standards
- CSS
- DNS
- HTML/XHTML
- HTTP
- JSON
- Syslog
- XML
-
Databases
- MySQL
- SQLite
- Postgres
- DB/2
- Oracle
- Microsoft SQL Server
- Sybase
- Informix
-
Environments
- Linux
- Windows
- Mac OS X
- FreeBSD
- Solaris
(I have indicated in gray the skills I prefer not to use for significant new development)
Experience
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
- 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 Debian 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 for abnormal event notification
- 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
- Setup 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
- Developed an internal time tracking 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 and sysadmin work
-
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
Contractor
- Built an online store which interfaced with a complex legacy purchasing system for a Fortune 500 semiconductor manufacturer
- Various smaller web development projects
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 in about three weeks
- Proposed and developed the Buck Custom Knife Shoppe which was a fairly early example of a custom product configuration system using JavaScript for real-time updates
- 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 Java applet to scrape hundreds of external sites for a B2B information startup
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 to aggressively use the GUI and multithreading extensions which under development for AcuCOBOL and worked with the developers to improve these extensions before the public release
- Regularly assisted the Technical Support department with particularly challenging problems
Publications