| EMPLOYMENT: |
|
|
Senior Network Administrator
Open Source Development Labs
|
March 2003 - September 2006
Beaverton, Oregon
|
|
Support office network and system infrastructure, including 200+ lab
machines, with individually customized hardware/software configurations
and Linux distributions for external and internal project use.
Perform network and server security audits and penetration testing.
Redesigned, implemented, and support fully redundant network consisting of
Foundry BigIron core, with Dell Powerconnect and HP Procurve edge.
Designed and implemented strong anti-spam and anti-virus systems.
Created centralized file and email repository and wrote software to unpack,
index, and search for subpoena terms.
Administer kernel.org's mirror registration/publication system and handle
account requests.
Trained 2 junior system administrators.
Recommended and reviewed quotes for network, server, and storage upgrades.
Participate in several Open Source projects: rackview, STP, PLM, systemimager,
mimedefang, and others.
Use CVS for change management, cfengine for distributed system configurations.
Relocated entire lab over a weekend.
|
| |
Embedded Software Engineer
Reach Technology, Inc.
|
November 2002 - February 2003
Lake Oswego, Oregon
|
|
Designed and developed 8051 firmware in C for several boards working together
as a medical pill/syringe dispenser,
including servo control, current measurement, IR detection, LED control,
button-push notification, and RS485 communication.
Created production test suite for validating dispenser hardware and software.
Wrote firmware in C for a Mitsubishi microprocessor running a multi-panel LCD
controller, including touch-screen support, external bitmap storage, and a
serial downloaded protocol for writing to the on-board EEPROM.
Updated Xilinx logic used for panel control.
Designed and developed LCD controller firmware support tools.
Reconfigured office network and set up a VPN for mobile access
to office resources.
|
| |
Embedded Software Engineer
Snap-On Diagnostics
|
March 2001 - December 2002
(Partial Telecommute) Lincolnshire, Illinois
|
|
Worked on new-product development team to create
next-generation
hand-held vehicle diagnostics device.
Designed and developed driver under WinCE 3.0 for real-time
waveform capture card on ZFMicro x86.
Created prototype capture driver under QNX RTP and QNX 4.0 for MPC8xxx.
Rewrote WinCE kernel cache flush routines for ZFMicro.
Assisted in creating Platform Builder environment for ZFMicro target.
Wrote WinCE i2c driver for motherboard controller,
back-lighting, contrast, power management, and slot power ICs.
Rewrote system management PIC firmware to handle parallel events.
Wrote utilities for testing and debugging i2c bus, ISA bus, PCI bus, and
waveform card under WinCE.
Used Visual Source Safe for source and documentation revision control.
Used TrackRecord for bug tracking and feature additions.
Designed automated build process.
|
| |
Pre-Sales Systems Engineer
Lucent Technologies
|
August 2000 - March 2001
(Full Telecommute) Lisle, Illinois
|
|
Managed customer accounts interested in buying telecommunications gear.
Assisted in designing a fully meshed optical telephony/data network for
Ohio-based customer.
Trained on Lucent Stinger, MAX, TNT, Chromatis, Access Point, 5ESS, and
Softswitch products.
|
| |
Unix Systems Architect Consultant
AT&T Global Network Services
|
March 1999 - August 2000
(Partial Telecommute) Schaumburg, Illinois
|
|
Worked as technical lead for team of Systems Administrators managing the
1.2 million user e-mail and news service.
Designed and implemented migration of all e-mail accounts from
sendmail and in-house IBM SMTP/POP
software to in-house AT&T "Maillennium" SMTP/POP/IMAP software.
Designed and built network-available RAID5 system for service's
e-mail storage.
Organized and assisted team to relocate 30+ AIX servers
(running sendmail, DB2, and other services)
without interrupting production service.
Migrated entire production FDDI
network to FastEthernet without interrupting production service.
Wrote patches for in-house POP3 tools to improve efficiency,
protect against buffer overflows, and correctly detect errors.
Debugged and tracked AIX system calls under heavy system load.
Wrote task automation and monitoring systems in Perl.
Analyzed network storage solutions and advised on purchasing.
Used in-house change management software.
|
| |
Unix Systems Architect Consultant
Walgreens
|
July 1998 - February 1999
Deerfield, Illinois
|
|
Joined team of System Administrators to advice on efficiency, process, and
system management.
Implemented enterprise-wide backup solution using a StorageTek
9710 with DLT7000 drives and ReelBackup for Sun E10k, E6k, E4k,
and HP & Sequent servers.
Organized and automated a 3.2 terabyte
Oracle DB solution for an E10k using 6 EMC Symmetrix disk
cabinets and Veritas VM.
Performed general Solaris and firmware upgrades and troubleshooting.
Analyzed SCSI driver differences between versions 2.5 and 2.6 of Solaris.
Debugged SCSI commands and communication between servers, SCSI MUXs, and
DLT tape drives.
Debugged and analyzed thread library operation in Oracle under Solaris.
Analyzed runtime and provided efficiency solutions for a parallel tasking
FTP tool used to collect data from 3500 store SCO servers distributed
nationwide over a satellite network.
Wrote Perl scripts for general administration automation and verification.
Started department-wide process documentation initiative.
Used RCS for change management.
|
| |
Senior Systems Administrator
Counterpoint Networking
|
July 1996 - August 2000
Chicago, Illinois.
|
|
Administered all corporate production Linux servers,
providing individuals and small businesses with DNS, email, and web services.
Configured and maintained Cisco/Netopia/Linux firewalls and routers.
Wrote system automation and management tools in Perl and shell.
Designed and implemented secure network topologies,
VPNs, and firewalls for clients.
Provided consulting services for Fortune 500 clients with Solaris, AIX,
and HP-UX machines.
Managed marketing and office staff. Made budget and purchasing decisions.
Used RCS for change management.
|
| |
Systems Administrator
Motorola Cellular Subscriber Sector
|
November 1997 - July 1998
Urbana, Illinois
|
|
Joined team providing primary systems support for Solaris (40+ Ultra, 7 E450),
AIX (8 PPC), NT (20+), Mac (10+) and SysV R4 machines used for
cell phone development projects (ClearCase, Oracle, DDTS).
Configured and maintained a Netscape 2.51 server with LDAP
authentication.
Designed and maintained system and network
administration tools for use on multiple platforms (Perl & shell).
Used ClearCase and RCS for source and documentation revision control.
|
| |
Server/Workstation Support Consultant
Hewlett Packard
|
January 1997 - November 1997
Urbana, Illinois
|
|
Provided campus-wide support for Hewlett Packard and Sun servers
and workstations. Performed system installations and upgrades,
maintained up-to-date patch and install server. Taught systems
administration classes for staff in need of HP-UX and general Unix
training.
|
| |
Research Programmer
Beckman
Artificial Intelligence Lab
|
January 1997 - August 1997
Urbana, Illinois
|
|
Worked on a team building a battleship emergency training simulator.
Designed and implemented intelligent agents playing roles in the
trainer, written in ART Enterprise, Lisp, and Visual C++.
Created external database interface for simulation components.
Maintained medical expert systems written in Prolog.
|
| |
Associate Systems Administrator
Motorola Computer Group
|
January 1996 - January 1997
Urbana, Illinois
|
|
Joined team providing primary systems support for AIX (8 PPC, 1 RS6000),
System 5 (30+ 68K), NT (2), and Mac (5) machines used for
operating system development and testing projects.
Designed and maintained system and network administration tools
for remote management, revision control, and monitoring
on multiple platforms (Perl & shell).
Wrote departmental process documentation.
|
| |
On-Site Consultant
UIUC Computing and Communications Labs
|
August 1994 - June 1995
Champaign/Urbana, Illinois
|
|
Assisted students with system and software problems.
Maintained 30+ PC & Macintosh computers per lab, running on a
campus-wide Novell network, offering a variety of software
and services.
|
| |  
|
| PROJECTS: |
|
|
|
Inkscape Scalable Vector Graphics Editor
|
November 2003 - present
GNU C/C++, Subversion, CVS
|
|
Contribute to build processes and packaging. Wrote metadata handling code
including selectable Creative Commons Licenses. Join in pre-release
bug-hunting events.
|
| |
|
DefCon Capture the Flag participation
|
Jul 2003 - Aug 2006
Python, C, x86 assembly, Perl, 6502 machine code, C#
|
|
Participate in the annual DefCon security penetration contest.
Compete against 7 other teams of security professionals and
government agencies. Analyze live networks, audit previously unseen code for
security weaknesses, and exploit flaws in other teams' services. Won in 2006.
|
| |
|
Network-Level Anti-Spam Procedures
|
Feb 2002 - present
Perl, m4, CVS
|
|
Developed extensive successful anti-Spam rulesets for sendmail with
MIMEDefang,
including full implementations of
Sender Policy Framework,
Sender Rewriting Scheme,
Sender Address Verification,
Spam URI Realtime Blocklists,
and use of several DNS Realtime Blocklists,
ClamAV,
and custom SpamAssassin rules.
|
| |
|
Chicago Art Exhibitor Database
|
January 2001 - present
PHP, Perl, MySQL, RCS
|
|
Designed and developed back-end and web-site interface for
Chicago-area art exhibitor database. Site provides event announcement
services for subscribed patrons.
Currently supporting 120+ exhibitors and 2000+ patrons.
|
| |
|
Sendpage TAP Paging Server
|
November 1997 - present
Perl, GNU C, CVS
|
|
Wrote server to take alphanumeric pages via SNPP,
queue requests, control a bank of modems, and dial out in parallel to gateways
speaking the Telocator Alphanumeric Protocol.
Developed operating-system-independent serial-port control tool.
Maintain worldwide paging provider TAP telephone number list.
|
| |
|
GOPchop MPEG2 Editor
|
November 2001 - present
GNU C/C++, CVS
|
|
Created a Group-of-Pictures-accurate MPEG2-PS file editor.
Written for the GTK widget set.
Wrote text-based MPEG file parser.
Designed against the output from the BMK MPEG2 video capture board.
|
| |
|
"Hypothal" Natural Language Chat System
|
October 1997 - Jul 2003
GNU C, Perl
|
|
Designed, implemented, and modified several different systems for natural language parsing and response.
Implementations included pattern matching, neural nets, and phrase analysis.
|
| |
|
Msgs Database
|
August 1996 - July 2003
GNU C, Perl, CVS
|
|
Designed and implemented a centralized user messaging database system,
modeled after the simple Sequent "msgs" tool.
Created an SSL-protected network communication protocol for off-site access.
Wrote several clients (text and GTK based) to interact with the database.
|
| |
|
DVD Navigation interface
|
March 2002 - March 2003
GNU C, CVS
|
|
Developed interface between
Linux Movie Player
and
libdvdnav
to support
DVD Menu navigation.
|
| |
|
SCSI Terminal Server Driver for Linux
|
August 2000 - September 2002
GNU C, RCS
|
|
Developed Linux driver interface for the Digi/Central Data SCSI Terminal Server.
Ported EtherLite drivers to Linux 2.4.x and wrote extensive debugging routines
for SCSI generic functions. Created user-space SCSI-testing tools.
Rewrote firmware updater for the entire line of STS devices.
Wrote SCSI subsystem patch for Linux, which was approved
for release in 2.4.x kernel series.
|
| |
|
SCSI-over-USB Driver for Linux
|
December 1999 - September 2000
GNU C
|
|
Debugged and corrected Linux usb-storage driver for operation with the RBC
subset of the SCSI command set.
Tested using Sony DSC-family digital cameras.
|
| |
|
Distributed Global Shell
|
January 1996 - June 2000
Perl, RCS
|
|
Improved on the Perl example tool "gsh" used for accessing a large
number of computers to perform an identical set of commands on each machine.
Implemented full parallel tasking, a macro language,
and local command execution.
Added support for SSH.
|
| |
|
TIGER/Line Database Interface
|
October 2000 - November 2000
Perl
|
|
Wrote a tool-set to convert US Census TIGER/Line geographic text data into an
indexed SQL database. Designed to assist GPS mapping development.
|
| |  
|
| PUBLICATIONS: |
|
|
 
|
| AFFILIATIONS: |
|
|
|
Electronic Frontier Foundation
|
May 2002 - present
|
|
Member.
|
| |
|
USENIX/SAGE
|
March 2003 - present
|
|
Member.
|
| |  
|
| EDUCATION: |
|
|
 
|
| SKILLS: |
|
|
|
Programming/Scripting/Interface/Markup Languages
|
|
|
GNU C, GNU C++, Intel Assembly, PIC Assembly, MSVC++,
Java, Lisp, Pascal, MIPS Assembly, ART Enterprise, Fortran 77;
Perl, PHP, Python, Bash/Korn Shell;
CGI, TAP;
HTML, XML
|
| |
|
Operating/Windowing Systems Internals
|
|
|
GNU/Linux, WinCE 3.0, QNX, Solaris, HP-UX; GTK, X Window System, Photon
|
| |
|
Hardware/Encoding Internals
|
|
|
x86, 8051, Xilinx, PIC, SCSI, I2C, serial, MPC8xx, USB; MPEG.
|
| |
|
Revision Control/Build Tools
|
|
|
Subversion, CVS, RCS, BitKeeper, VSS, ClearCase; autoconf, automake, GNU make, WinCE Platform Builder
|
| |
|
Operating Systems/Networking/Disk Management
|
|
|
GNU/Linux, embOS, QNX, AIX, Solaris, HP-UX, SysV, DOS, MacOS, MSWindows,
FreeBSD, IRIX, SunOS;
TCP/IP, DNS, NFS, SSH, SSL, IPsec,
HTTP, Apache Web Server, SMTP, Sendmail, FTP, SNMP, UDP, SNPP, Telnet, RSH,
Netscape Server, NIS/NIS+, LDAP, BGP;
Linux LVM/RAID, AIX LVM/JFS, Veritas LVM/FS.
|
| |
|
Hardware/Telecommunication
|
|
|
Dell PowerEdge,
RS6000 (43P, R50, H70, S80), PowerPC, EMC, Sparc, Ultra Sparc,
Sparc Enterprise, HP9000 (C/J-class), Motorola PPC, IBM-PC and
compatibles, Macintosh family;
Fibre, Cat5e, and coax cabling,
Foundry BigIron, Dell Powerconnect, HP Procurve, Cisco routers/switches,
Lucent(Ascend) network gear (DSLAM, ATM switches, Ethernet switches,
IP routers, ISDN/DSL/T1 pipelines),
FDDI,
3Com switches/hubs.
|
| |
|
Software/Databases
|
|
|
GNU tools, OpenOffice, Inkscape, Legato, ORCAD, TrackRecord, Visio, ReelBackup,
Visual Thought,
Borland Products, Netware Clients, MS Products,
WordPerfect, PageMaker, PhotoShop, Web Browsers, Norton Products,
and a wide variety of telecommunication and Internet packages;
MySQL, DB2, Oracle, ClearCase.
|
| |  
|