San Diego, CA 92111
- Versatile skillset backgrounds in systems administration, database administration, and development provide a diverse spectrum of viable roles for either contract or employment opportunities, as well as streamlining communications with DBAs, sysadmins, and developers.
- Ability to develop low-maintenance, automated systems to streamline manpowerintensive tasks during new machine setup, monitoring, and interactive system diagnosis.
- Documentation oriented – solid reputation for writing systems documentation for deployment and troubleshooting.
- Well developed proficiency in Perl and C programming. Knowledge of C-based debugging tools and background in systems administration leads to speedy resolution of Linux or Solaris based application failures.
- Experienced with on-call responsibilities, with experience in helping developers architect their software for optimal resiliency and ease of troubleshooting in a production environment.
- Platforms: Linux (Amazon Linux, CentOS, Redhat Enteprise, Fedora, PS2 Linux, Debian, SuSE), OSX, Solaris, Unix, VMS, OpenVMS, Amiga
- Debugging skills: GDB, strace/ptrace, coredump analysis.
- Databases: PostgreSQL, Sybase, MySQL.
- Application Administration: Apache, Jira, Confluence, Qmail, sendmail, Courier, Kickstart, RabbitMQ, CFengine, Puppet, Squid, TWiki, Munin, Spamassassin, DNS/BIND, ssh, NFS, Samba, DHCP, Nagios/Netsaint, Mon, Radius, Mediatomb (DLNA).
- Virtualization Platforms: Amazon, Xen, VMware, VirtualBox (directly or via Vagrant).
- Networking: Amazon load balancers, Linux ipchains/iptables (for firewalls and NAT proxies), A10 and F5 load balancer configuration, l2tpns+ipsec / OpenVPN networking. I've configured Linux VPN clients as remote test systems for developer VPN testing.
- Game programming: Head administrator and sole programmer for an online multiplayer role-playing game. Programming responsibilities include AI design, game balance, statistics gathering/reporting, speed/performance optimization, and maintaining the in-game event scripting engine. I also managed a development staff for gameworld design. Past experience involves programming for Avatar MUD, a similar online game with over 8000 player characters as of my last involvement.
- Linux kernel experience: Applied kernel patches (particularly for Firewire and VPN support), and have made direct code changes to the usb-masstorage module to add support for a particular digital camera. My experience was with the 1.3.x and 2.0.x kernel trees.
- Linux kickstart: Developed the official on-site system image for Red Hat Enterprise Linux v4 and v5 at Kyocera Wireless. Integrated a selection of Redhat-supplied packages with a set of on-site tools, centralizing management with CFengine.
- ??? 2012 - current: Systems Engineer at SNEI / SIE, supporting first the IPTV devices, then the Playstation Network.
- Feb 2011 - 2012: Ntrepid Corp, aka Anonymizer. Duties: Systems Engineer, focusing on development support.
- May 2007 - Feb 2011: Sr. Systems Engineer at Sony Computer Entertainment America, aka Playstation.
- September 2004 - May 2007: Senior unix systems administrator at Kyocera Wireless.
- January 2004 - September 2004: Freelance consultant for various companies, primarily in Perl-based monitoring systems and systems administration.
- February 2000 - January 2004: Database administrator at Vivendi-Universal Network Techologies (VUnet USA) (formerly MP3.com). I was laid off during the last stage of the company's shutdown.
- March 1998 - January 2000: Senior systems administrator at Mid-South Connections, an internet service provider.
- September 1997 - late 2004: Programmer on staff at Avatar MUD, an online text-based game with 8000+ player characters.
- November 1997 - July 1999: Part-time sales staff at N&F Computers in Clarksville, TN.
- May 1997 - August 1997: Human Resources Webmaster at DSC Corp. in Dallas, TX.
Experience and Accomplishments
- At my latest place of employment, I started as a production support systems administrator before transitioning to pre-production release engineer. My duties have involved steering development in directions which ensure a supportable product in the production environment, as well as handling escalation of issues from the Production group. I have developed several Expect.pm scripts which the production team uses to automatically diagnose issues in the network, and identify and restart failed services. I've also managed A10 load balancers and interacted extensively with FreeRadius and LDAP. I also work with CFengine and have written a number of tools to reconcile differences between the various segments of the dev - qa - production environments.
- At SCEA, I developed various web applications to tie in with established services via SOAP or application-specific APIs. Generally these applications were oriented towards collecting data from multiple sources and displaying them for the end user. I also deployed builds of our various applications (mostly Tomcat apps) and troubleshot systems. I also developed an application performance monitoring system which utilized Webinject to measure response times of each service, then transmitted results centrally, collated the results, and placed them on graphs. My name appears in the credits for a number of SCEA games for the PS3 platform, including MAG and parts of the MLB series.
- At Kyocera Wireless, I was the sole Linux administrator, and personally supervised around 75 hosts, distributed between San Diego, India, Russia, and China. I developed and maintained their official Linux system image and kickstart procedure, as well as the CFengine instance that kept the machines in sync. I was also the resident Apache admin (which served all externally facing websites), and have provided some light support for our Tomcat server.
- As a consultant, I developed a performance monitoring and trending suite for general system performance, as well as developing custom Nagios plugins to diagnose NFS issues. I also served at Napster as an interim database administrator during their search for a full-time DBA. When I started at Kyocera, I switched to part-time consulting. I later worked on the infrastructure for www.spawareurope.com, which is a US Department of Defense project.
- After MP3.com was absorbed by Vivendi-Universal, I became a database administrator and worked extensively with Sybase Replication Server and Adaptive Server Enterprise. My responsibilities involved 24-hour on-call responsibility with a 15-minute maximum response time tolerance. I developed Perl-based monitoring scripts to pre-emptively detect developing problems before they became serious, and designed applications to collect and present statistical information on each database for performance tuning purposes. Some of these scripts are now in open source at http://sybcontrol.sourceforge.net/.
- As a statistician at MP3.com, my responsibilities involved parsing application logs for information and designing Perl scripts to graph it on a web server. Designed click-through report scripts to permit the sales staff to run their reports at their leisure, eliminating what had been a manpower-intensive manual task. Also developed other statistical display scripts on an as-requested basis.
- Designed an SQL parser for an online multiplayer game to query internal C data structures, making them available to web-based statistical display scripts. Also incorporated AOL Instant Messenger support for idle players via an external Perl-based daemon.
- As senior systems administrator at Mid-South Connections in Clarksville, TN, responsibilities included installation and maintenance on the web, mail, DNS, and database servers - as well as the design of database-driven websites. Modified the C source of Cistron Radius to log extended information on dialup users into Postgresql, then created an intranet-based site for tech support's use in querying this information. After also similarly modifying the pop3 mail daemon, the average tech support call time was cut in less than half by this means of tracking and accounting for user errors. Lastly, by implementing the Netsaint monitoring system on the network, overall system downtime was greatly reduced.
- Interned at DSC Communications in Summer '97. Converted Human Resources forms into HTML and PDF files. Designed numerous CGIs in Perl, including a universal HTML form interpreter which facilitated filling out forms online while negating the need for a new CGI behind each form. This resulted in a bonus at the end of my internship.
- Selected three times for the annual Association for Computing Machinery programming team at my college. In the 1998 contest, my two-person team placed first in the local contest site and 16th in the 70-team mid-central region. In the 1997 contest, my three-person team placed first at our local site site and 4th regionally. Each time, C was our language of choice. Served as President of the student chapter (1997 to spring 1999) and as Vice-president from 1996-1997.
- Developed a customized inventory control/customer database system in MS Basic 7 for a Tennessee motorcycle sales and repair store.
- Coordinated Amiga Special Interest Group at local computer users group. Moderated message boards and file collections on two local Bulletin Board services. Arranged for guest speakers and delivered monthly presentations on various aspects of hardware and software. Created and maintained distribution of a public domain/shareware library including monthly updates. Publicized monthly meetings.
- Thomas Edison State College, New Jersey - Fall 1999 - 2000
- Austin Peay State University, Clarksville, TN - 1993 to Spring 1999. I studied Computer Science, and still have strong recommendations from the faculty.
- Clonlara High School, Ann Arbor, MI - graduated 1992
References available upon request.