Jump to: Work Experience | Presentations | Publications | Open Source Contributions | Education & Professional Development | Professional Skills Personal StatementI am an open source web developer and IT specialist. My expertise lies with LAMP setups — Linux - Apache - MySQL - Perl/PHP(/Python). I am capable of administering a variety of Linux distributions, including Gentoo, Debian, Red Hat, Fedora, Slackware, as well as several other Debian- and RPM-based distros. In addition, I am skilled at installing and maintaining Apache, PHP, Perl, and MySQL on each of the distros previously mentioned, typically from source. My primary skills are as a PHP developer. I am a Zend Certified Engineer, and a member of the Zend Education Advisory Board, the group responsible for authoring the Zend Certification Exam. I contribute to a number of PHP projects, blog on PHP-related topics, and present talks and tutorials related to PHP development and the projects to which I contribute. Work ExperienceZend Technologies, Inc.
PHP Developer Current duties include:
Past duties included:
National Gardening Association
Webmaster and IT Specialist Many duties, including:
Freelance ConsultantJanuary 2002 — Present Projects required installation and utilization of both development and customer test web servers, backup policies (utilizing both CVS for versioning and removable media for physical backups), domain registration, and setting up a Linux-based firewall, router, gateway, and server.
Zoot Enterprises, Inc.Web Applications Programmer Worked in-house from February through mid-June 2001 as web applications programmer, utilizing PHP, HTML, and Javascript. Web applications were primarily online credit and loan applications and utilized unix sockets to communicate to criteria decision engines, connectivity to both MySQL and SQL Server databases, and XML parsing and creation for communication with Zoot's clients. Web Applications Programmers assist in program and database design and are responsible for implementation from development to Quality Assurance, Customer Test, and Production. From June 2001 through October 2002, worked off-site from home, creating a Perl code parser used to parse PHP scripts for potential errors and security violations before moving code to production, as well as initiating a redesign of a PHP and MySQL-based "Internal Tracking System" to facilitate workflow within Zoot. Wilderness Adventures Inc.Network Administrator and Graphic Design Established and administered a Windows NT 4.0 network. Also responsible for hardware and software upgrades across the entire network; design, implementation, and optimization of two websites; design and creation of an intranet (containing documentation of common tasks and administration scripts for the websites). Learned and utilized ASP and VBScript, Javascript, CSS, and Perl. Graphic design was primary duty, and included: researching map sources and creating maps for the flyfishing and hunting guidebooks published by Wilderness Adventures Press, scanning artwork for the books, editing, and book/catalog design and layout. Center for Biofilm EngineeringStudent Graphics Technician Created first online version of the Center Glossary. Development of a QuattroPro database to track the graphics files produced by the office, including input and search forms and methods for expansion. Primary duties included creating these same graphics files and producing final output. General Use Computer LabUniversity of Puget Sound Aided and tutored students in the use of Macintosh and PC systems (DOS and Windows 3.1) and software applications, including word processing, spreadsheet, and page layout software. Promoted in 1992 to lab manager; duties included training and managing consultants, supplying the lab, and maintaining systems. PresentationsAJAX-Enabling your Zend Framework MVC Applications
Zend Framework MVC/Ajax "unconference" session 45-minute session presenting strategies for AJAX-enabling Zend Framework MVC applications, focussing on utilizing context switching to vary responses. Examples showing usage with Prototype/Scriptaculous and Dojo Toolkit were both provided. MVC Applications with Zend Framework
Zend Framework MVC session 1-hour session presenting the various components making up Zend Framework's MVC layer, including the Front Controller, Action Controllers, Action Helpers, Routing, Views, and View Helpers. Best Practices of PHP Development
"Best Practices" tutorial session Full-day presentation on development best practices, focussing on unit testing and test driven development, coding standards, version control, and deployment strategies. Co-presented with Sebastian Bergmann and Mike Naberezny. MVC Applications with Zend Framework
Zend Framework MVC webinar 1-hour session presenting the various components making up Zend Framework's MVC layer, including the Front Controller, Action Controllers, Action Helpers, Routing, Views, and View Helpers. Introducing Zend Framework
Zend Framework introduction presentation 1 hour presentation introducing Zend Framework, including MVC, DB, and web services. PHP Development Best Practices
"Best Practices" presentation 1.5-hour presentation on development best practices, including coding standards, unit testing and testing strategies, version control, and deployment strategies. Introducing Zend Framework
"Zend Framework" presentation 1.5-hour presentation introducing Zend Framework and various ZF components. BostonPHP Framework Series
"Zend Framework" presentation 1-hour presentation on developing a CRUD application using Zend Framework. Zend/PHP Conference and Expo '06
"Best Practices of PHP Development" tutorial 3-hour tutorial session on development best practices, including coding standards, unit testing, source code control (version control), deployment practices, and collaboration tools. Co-presented with Mike Naberezny. Zend/PHP Conference and Expo '05
"Setting Up PHP" tutorial 3-hour tutorial session on compiling and configuring PHP. Co-presented with Mike Naberezny. PublicationsThe PHP Anthology: 101 Essential Tips, Tricks & Hacks, 2nd Edition
with Ben Balbo, Harry Fuecks, Davey Shafik, and Ligaya Turmelle Contributed three chapters to this edition, including Chapter 3, "Error Handling"; Chapter 12, "XML and Web Services"; and Chapter 13, "Best Practices". Zend Framework's MVC Introduces the ViewRenderer
Zend Developer Zone Short tutorial article covering the ViewRenderer action helper in Zend Framework's MVC layer. Security Tip: Use a Database Abstraction Layer to help prevent SQL Injection
Zend Developer Zone Short article detailing practices for preventing SQL injections in PHP scripts. Open Source ContributionsZend Framework Core Contributor2006 — Present Zend Framework core contributor; lead developer for MVC components, server components (XML-RPC, Rest, SOAP), Mail and MIME, and JSON; other contributions include numerous bugfixes, documentation, and testing. Solar DeveloperJuly 2005 — December 2005 Collaboration with Paul M. Jones on his Solar application repository, primarily on form validation routines. Cgiapp Lead DeveloperMarch 2004 — Present Lead developer for Cgiapp, a PHP port of the perl module CGI::Application. Education & Professional DevelopmentZend/PHP Conference and Expo '07
San Francisco, CA, USA Presented tutorial session on development best practices, regular conference session on Zend Framework MVC components, and "unconference" session on AJAX-enabling Zend Framework MVC applications. Zend/PHP Conference and Expo '06
San Jose, CA, USA Presented tutorial session on development best practices. Attended a variety of technical sessions, particularly on scaling PHP applications and web services. Zend/PHP Conference and Expo '05
San Francisco, CA, USA Presented tutorial session on compiling and configuring PHP. Attended a variety of technical sessions, particularly on scaling PHP applications and database usage. php|Tropics
Cancun, Mexico Attended sessions on clustering PHP, using XDebug, programming patterns, test driven development, web services, accelerating PHP, and more. See the session list at php|Architect. Windows NT 4.0 Setup and Administration Seminar
Missoula, MT MCSE training in Windows NT 4.0 Setup and Administration. (No exam taken) Montana State University
Bozeman, MT Coursework in the natural sciences. University of Puget Sound
Tacoma, WA Minor in mathematics, with additional courses in Assembly Language and Artificial Intelligence. Graduated cum laude with Honors in Religion; elected to Phi Kappa Phi and Phi Beta Kappa honor societies. Professional SkillsPHP DeveloperSeptember 2000 — Present Developer and software architect using both PHP 4 and PHP 5. I use Object Oriented Programming practices, and am skilled in implementing a variety of design patterns using PHP 5. Extensive experience with XML, relational databases, and web services. I also use PHP on the CLI. Perl DeveloperJuly 1997 — Present Primarily used for CLI scripting, but also with mod_perl under Apache. Experience with GTK, IMAP, XML, and relational databases, as well as straight-forward text processing. Systems AdministrationJune 1999 — Present Primarily Linux administration, including:
I also have experience creating and administering an LVS-HA web/db cluster for balancing web and database services. Relational Database Management SystemsSeptember 2000 — Present Principal experience is with MySQL; also have experience with PostgreSQL, SQLite, and SQL Server. |


