Jump to: Work Experience  | Presentations  | Publications  | Open Source Contributions  | Education & Professional Development  | Professional Skills

Personal Statement

I 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 Experience

Zend Technologies, Inc.

PHP Developer
September 2005 — Present

Current duties include:

  • Core Contributor to Zend Framework; lead developer for Zend_Controller, Zend_View, Zend_XmlRpc, Zend_Json, Zend_Server, and Zend_Service_Akismet; contributor to Zend_Mail, Zend_Soap, Zend_Rest, and several other components.
  • Release maintainer for Zend Developer Zone site.

Past duties included:

  • Maintenance and new development for public facing websites, including zend.com, blogs.zend.com, and devzone.zend.com;
  • Architect for public and internal web service layer, using XML-RPC, SOAP, and REST
  • Systems administration duties on all machines running websites or web services; typically, user administration, cronjobs, Apache and Zend Platform administration, and other tasks related to keeping sites running.
  • Site architecture and development team coordination

National Gardening Association

Webmaster and IT Specialist
August 2003 — September 2005

Many duties, including:

  • Webmaster: Administer a variety of Apache web servers, including an LVS-HA web/db cluster; PHP web programmer; coordinate website updates and design issues
  • Bulk Mail Server: Re-architected system, which includes a MySQL database; Perl-based mass mailer; and PHP API, frontend, and admin tool; chief administrator for system
  • Systems Administration: help keep servers tuned, including monitoring of processes (MySQL, postfix, apache, LVS cluster, and more), coordination of backups, log rotation, DNS serving and caching, and connectivity issues
  • Email Server: Created and administer a Postfix/MySQL/Amavis/SpamAssassin/ClamAV/Courier-IMAP office mail server. Also includes a PHP frontend for administration, Minimalist mailing lists, and Squirrelmail webmail

Freelance Consultant

January 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.

  • Midstates Power Consulting (August 2001 -­ February 2002): Performed extensive web search on power industry and power production issues in the states of Illinois and Indiana.
  • Center for International and Intercultural Studies, St. Lawrence University (June 2002 - Present): Redesign of website (http://www.stlawu.edu/ciis/), including development of an online calendar, a slideshow overview of the Center's programs, and interactive photo albums.
  • Asian Studies Program, St. Lawrence University (June 2002 - February 2003): Designed website, (http://www.stlawu.edu/asian/), including development of online calendar.
  • New York State Independent College Consortium for Study in India (NYSICCSI) (November - December 2002): Redesigned website (http://www.stlawu.edu/ciis/html/off_campus/india_consortium/) for St. Lawrence University's Center for International and Intercultural Studies. Design uses fully compliant HTML 4.01 Transitional and Cascading Style Sheets Level 2 code.
  • ROXWrap Applications (December 2002): Designed ROX-Wrapper website on Sourceforge.net (http://roxwrap.sourceforge.net). ROX-Filer is an open source, "Risc-OS -like File Manager" for unices; the ROXWrap project builds off of functionality introduced by ROX-Filer. This is an open source, free software project. Design uses fully compliant HTML 4.01 Transitional and CSS Level 2.
  • North Country Sustainable Energy Fair (January - February 2003): Redesign and maintenance of website (http://www.ncenergy.org). The Energy Fair is a joint project of Community Energy Services, Inc., and SeedCorn, Inc., not-for-profit organizations helping enrich the quality of life in New York's North Country. New format is now HTML 4.01 Transitional and CSS Level 2 compliant.
  • Community Energy Services (December 2002 - Present): Redesign of website. This is a work in progress; current design can be found at http://dev.weierophinney.net/ces/.
  • North Country Aikido (March 2003): Redesign of website (http://www.clarkson.edu/~aikidocu/. North Country Aikido is an affiliate of Aikido Schools of Ueshiba and operates out of Clarkson University in Potsdam, NY; I am one of two instructors at the dojo.

Zoot Enterprises, Inc.

Web Applications Programmer
February 2001 — October 2002

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
August 1997 — August 2000

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 Engineering

Student Graphics Technician
May 1996 — August 1997

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 Lab

University of Puget Sound
Student Lab Manager, August 1992 — May 1993
Student Lab Consultant, August 1991 — May 1992

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.

Presentations

AJAX-Enabling your Zend Framework MVC Applications

Zend Framework MVC/Ajax "unconference" session
Zend/PHP Conference '07, San Francisco, CA, USA
9 October 2007

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
Zend/PHP Conference '07, San Francisco, CA, USA
9 October 2007

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
Zend/PHP Conference '07, San Francisco, CA, USA
8 October 2007

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
Zend.com
19 September 2007

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
NYPHP, New York City, NY, USA
12 September 2007

1 hour presentation introducing Zend Framework, including MVC, DB, and web services.

PHP Development Best Practices

"Best Practices" presentation
ibuildings.nl, Vlissigen, The Netherlands
15 March 2007

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
ibuildings.nl, Vlissigen, The Netherlands
13 March 2007

1.5-hour presentation introducing Zend Framework and various ZF components.

BostonPHP Framework Series

"Zend Framework" presentation
Boston, MA
28 February 2007

1-hour presentation on developing a CRUD application using Zend Framework.

Zend/PHP Conference and Expo '06

"Best Practices of PHP Development" tutorial
San Jose, CA
31 October 2006

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
San Francisco, CA, USA
18 October 2005

3-hour tutorial session on compiling and configuring PHP. Co-presented with Mike Naberezny.

Publications

The PHP Anthology: 101 Essential Tips, Tricks & Hacks, 2nd Edition

with Ben Balbo, Harry Fuecks, Davey Shafik, and Ligaya Turmelle
October, 2007
SitePoint Pty, Ltd, Australia

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
25 May 2007

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
10 April 2007

Short article detailing practices for preventing SQL injections in PHP scripts.

Open Source Contributions

Zend Framework Core Contributor

2006 — 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.

PEAR Developer

July 13, 2005 — Present

Lead maintainer for File_Fortune.

Solar Developer

July 2005 — December 2005

Collaboration with Paul M. Jones on his Solar application repository, primarily on form validation routines.

Cgiapp Lead Developer

March 2004 — Present

Lead developer for Cgiapp, a PHP port of the perl module CGI::Application.

Education & Professional Development

Zend/PHP Conference and Expo '07

San Francisco, CA, USA
8 — 11 Oct 2007

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
31 Oct 2006 — 3 Nov 2006

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
18 — 21, 2005

Presented tutorial session on compiling and configuring PHP. Attended a variety of technical sessions, particularly on scaling PHP applications and database usage.

Zend Certified Engineer

Cancun, Mexico
May 15, 2005

ZCE

php|Tropics

Cancun, Mexico
May 11 — 15, 2005

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
February 16 — 18, 1999

MCSE training in Windows NT 4.0 Setup and Administration. (No exam taken)

Montana State University

Bozeman, MT
May 1996 — August 1997

Coursework in the natural sciences.

University of Puget Sound

Tacoma, WA
Bachelor of Arts in Religion
September 1991 — May 1995

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 Skills

PHP Developer

September 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 Developer

July 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 Administration

June 1999 — Present

Primarily Linux administration, including:

  • Apache
  • Postfix (with amavisd-new, Spamassassin, and ClamAV)
  • Courier-IMAP
  • Samba
  • NetAtalk
  • CUPS and LPD
  • DNS (using djbdns), including split horizon setups and local DNS caching
  • SSH

I also have experience creating and administering an LVS-HA web/db cluster for balancing web and database services.

Relational Database Management Systems

September 2000 — Present

Principal experience is with MySQL; also have experience with PostgreSQL, SQLite, and SQL Server.