Objective
I have over 20 years of experience in the high-tech industry with 12 years of experience as a Linux application developer, administrator and user. I have been responsible for the development of at least 15 different embedded products. At Etelos I was responsible for developing the application system used to distribute purchased apps to hosting servers and I managed a network of over 100 Linux servers.
My unique set of skills includes the development of embedded, command-line and networked software as well as dynamic web pages driven by live data. I have done schematic capture and PCB designs, digital electronics design and Digital Signal Processor programming.
I am an experienced telecommuter, having spent the last 2 years working from my home office. I am equipped with a broadband connection, OS X and Linux computers, virtualization software, Oscilloscope and an office with a door.
I have published 5 articles in Linux Journal, presented at Linux Fest Northwest and several Western Washington Linux User Groups.
Skills
Languages: C, Python, PHP, Perl, Assembly, Javascript
Systems: Linux (CentOS, Debian, Gentoo, RedHat), OS X, PalmOS, Windows XP
Development Tools: gcc, gdb, Xcode, Code Composer Studio, ImageCraft C, CrossWorks C, IAR C, CodeWarrior, Visual Studio 6, Borland C++, Watcom C++
Software: Squid, Cacti, BackupPC, OpenVZ, Doxygen, Subversion, Mercurial, TRAC, OpenVPN, Nagios, nmap, snort, tcpdump, epylog, Eagle CAD, Open Office, Abiword, Gnumeric
Databases: MySQL, PostgreSQL, SQLite
Internet Services: Apache, OpenSSH, Postfix, Qmail, djbdns, Bind, Dovecot, Courier IMAP, ncftpd, SMB/Samba, NFS, syslog-ng, memcached
DSP: TI TMS320C54xx, Analog Devices ADSP-21xx
Microcontrollers: TI MSP430, Motorola 68HCxx, Philips ARM LPC21xx, Microchip PIC, Motorola 68VZ328 Dragonball
Hardware: Desktop PCs, Linux Servers, RAID Arrays, Switches, Emulators, Oscilloscopes, Spectrum Analyzers, Signal Generators, Digital Multimeters, GPIB Test Equipment Interfaces
Technologies: TCP/IP, HTML, XML, JSON, SOAP, XMLRPC, Core Internet Protocols (DNS, SMTP, HTTP, POP, SSH, FTP, etc.), Automatic Identification System (AIS), VHF and HF Radios, Modulators, Demodulators, User Interfaces
Professional Experience
Senior Software Developer (Telecommute), 2008-Present Tyramm International, Inc. New York
I created custom Linux distributions for point of sale system hardware, wrote custom applications for the POS systems as well as new web applications. The custom distributions included modifying a livecd iso to become an automated installer, custom rpm packages for the specific hardware being supported patching drivers to work with new hardware. I wrote custom applications to enhance the reliability and security of the POS systems and back end database systems. I setup an integrated software revision system and wiki using Subversion and Trac for better software development tracking. I also maintained their back end database servers and I enhanced their web application using CakePHP and jQuery.
Senior Software Developer/System Administrator (Telecommute), 2006-2008 Etelos, Inc., Renton, WA
As a senior software developer I worked on the server side of the Etelos Application System (EAS) and developed the system used to package and distribute customer applications to one of our 100 application servers. I wrote a license enforcement system and worked with the EMS team to implement a daemon to manage account packaging and deploys using Python and XMLRPC. I was responsible for developing tools to allow active accounts to be migrated between servers.
As the senior system administrator I was responsible for all aspects of server installation, package maintenance, security, performance, database configuration, service monitoring and troubleshooting. I streamlined the server installs using CentOS, a repository of custom built rpms and a install script which reduced the time to bring up a new server to less than an hour. I architected a more secure virtual hosting environment by using a custom Apache deamon. I deployed a reliable backup system based on BackupPC that provided nightly snapshots of all the systems and databases. Using Trac and later MediaWiki I instituted collaborative documentation so that knowledge was distributed. I developed a repository of useful system administration tools written in Python and bash that allowed tasks to be executed across all of the servers, including monitoring of software release versions and RAID health monitoring. I used a variety of open source tools to monitor the systems including Nagios, Cacti, syslog-ng, epylog and Hyperic. I also helped implement a Squid based reverse proxy to reduce the load on the main corporate server.
Senior Software Developer, 1985-2006 Shine Micro, Inc., Port Ludlow, WA
I quickly advanced from an entry level position to senior programmer for all Shine Micro projects. My responsibilities included software development for embedded systems, host platforms, PC applications and Linux systems. I maintained the company's network infrastructure, including file, web, mail and svn servers running on Linux. I performed a variety of tasks associated with the design, implementation, testing and maintenance of projects -- I drew schematics, designed digital circuits and used test equipment to verify design parameters and debug hardware and software projects. I designed a test fixture that reduced the time needed to test AIS receivers from 40 minutes per unit to 5 minutes each, automatically calibrated the unit and stored the results in a MySQL database. I designed and wrote the Perl, C and Python software for the Sealinks Live AIS data network which takes receiver data and plots real-time charts for display on the company website.
Independent Projects and Activities
Linux Developer
picprg Microchip PIC programmer software for Linux
XfreeCD CD player for Xwindows using GTK+ GUI
DigiTemp Temperature sensor software for Linux, DOS and Windows
TheBusyBride.com online wedding catalog system
FindHAM APRS logging system
TrollBridge network access control
up2dateiso security updated iso image generator
System Health Monitor
MovieLandmarks.com
live.aisparser.com
Hardware Projects
Sony Control-L remote control for video camera control
DigiTemp DT-1A temperature sensor modules
LinkWiFi 802.11b to 1-wire adapter
OneLock 1-wire lock controller
Publications, Linux Journal
October 1998, Programming Microchip PIC processors with Linux
December 1999, Customizing the XDM login screen
August 2002, Installing RH 7.3 on Presario 711 Laptops
February 2003, Inexpensive RAID Backup system
February 2006, MSP430 Programming with Linux
Owner, Nexus Computing 1992-Present
DigiTemp temperature sensor
Linux web hosting services
AIS Parser Software Development Kit
Kitsap Peninsula Linux User Group (KPLUG)
Webmaster and System Administrator (1999-present)
President (1999-2000, 2006-present)
Python training sessions
Linux training sessions
Linux Fest Northwest
2005 - Presented MSP430 Microprocessor development using Linux tools
2008 – Presented using Python to automate daily repetitive tasks
Education
High School Diploma from Eatonville High School, Eatonville WA (1987)
AAS degree from Pierce College, Tacoma WA (1997) - Emphasis on Computer Science
EET degree from Pierce College, Tacoma WA (1997)