Gregory Keraunen (San Jose, CA, U.S.A.)

Desired Positions
 Programmer  Webmaster  System Administrator  Software Build Engineer  Software Quality Engineer
PHP Expert
PHP Build System PHP Conference PHP Quality
 Operating Systems: Linux: Red Hat, Fedora; Windows XP, 2000; Windows 2000 Server; Mac OS 9.x; Mac OS X Server  Key Technologies: Apache; PHP; MySQL; HTML/XHTML; CSS; DOM; Gnu Make; bash; SOAP; XML; JavaScript; Java; C; C++; CVS; Samba; Filemaker Pro; Quark; Photoshop; Cubase  Complete list of skills, by keyword:
 2006 to present: Web Application Development & System Administration osCommerce Zen-Cart customization (via: PHP, SOAP, nuSOAP, XML, WSDL, adodb, MySQL, curl, cron): + Custom integration with fullfilment contractor, "ALOM" + Custom integration with FedEx shipment tracking + Custom scripting on 'thank you' page to support conversion (ROI) tracking via apache logfile analysis with "Clicktracks" (transparent gif method requires using a file 'ct_ecommerce.gif' and the parameter 'ct_ecommerce' for the revenue amount) Created gk_formmail - a very flexible HTML form processing script based on "tectite formmail" "gk_formmail" includes the following enhancements to "tectite formmail": + All configuration options removed from HTML forms to PHP config files resulting in: + Enhanced security (tectite formmail tries very hard to work around a basic design flaw - leaving script configuration open to user input) + Separation of business logic from presentation (tectite formmail leaves most configuration logic in HTML domain, including things such as regular expressions for field validation that should be exclusively in the PHP domain and unavailable to hackers) + Separation of form configuration from core logic, via separate config.php files for each form handler (tectite formmail required different configurations use a separate copy of the entire formmail.php script, resulting in a potential maintenance nightmare; gk_formmail.php, in contrast, is designed as one core logic file that serves unlimited forms, via independent config files) + Optional suppression of all output in 'quiet mode', allowing self-validating php forms instead of more complex multi-file redirection (tectite formmail typically redirects to 'error page' or 'thank you page' whereas gk_formmail offers the possibility of a single form script functioning in various modes, via use of global variables containing error message and other info) + Global auto-validation for email or other fields, avoiding the need for tectite formmail's redundant configuration (via complex regular expressions) embedded in each form + Improved organization of programming style (tectite formmail logic scattered function definitions throughout main code logic, resulting in difficult maintenance and debugging) Jangomail customization and debugging + Management of databases and data collection in support of mass email newsletter publications and subscription management + Design of database system to retain control of subscriber records, independent of both jangomail and zen-cart + Dialog with Jangomail programmers to resolve jangomail failure to perform variable substitution of email template values + Implemented workaround for their Jangomail failure to conformance to ANSI SQL 'datetime' standard format + Testing of major error modes, email bounce handling, subscribe, unsubscribe, database syncronization, notifications (keywords: w_4.php, cron, MySQL) Systems analysis, design and project cost estimation + Client required system redesign of online shopping cart system to integrate with Macola ERP and multiple existing web shopping cart and various consumer, reseller dataflows Misc: + Diagnosed methods of various spambot attacks via apache logfiles + Implemented custom anti-spam solution for "PHPbb" (via PHP, JavaScript) + DNS admin via BIND 9.2.1 named.conf; zone file modifications + PHP security auditing; enhanced security via httpd.conf, php.ini modifications, etc. + Data migration of newsletter subscribers for Outlook Express CSV files to MySQL via PHP, bash, perl regular expressions + Cutom PHP code library development for shared use by multiple domains + Apache configuration management, integration with "Plesk" vhost.conf files; websrvmng + Custom wrapper to provide enhancements for Plesk logfile rotation script, /psa/admin/sbin/statistics (a 'black box' which calls webalizer and logrotate) + Custom scripting to support efficient server backup on daily and weekly basis and notification of status (via bash, rsync, tar, cron) + System software upgrades using rpm, yum, make + Search engine optimization + Firewall and router configuration + Disaster recovery: server crashes; out of disc space; corrupted Plesk database; loss of apache, DNS info, email, etc. + Detailed documentation of code and maintenance of a chronological audit trail of all changes made to systems and code libraries + Consistency of programming, communication and system configuration to support proper testing and maintenance Clients: Waverider Design, Inc. Flexity, Inc.  Dec, 2003 to 2006: + X-Cart PHP Shopping Cart Programmer Customized X-Cart software, added features to support client-specific business models + aeDating Web Application Programmer Customized aeDating software and added features per client specifications:  Dec, 2003 to Nov, 2004: E-Commerce Web Engineer; System Administrator ClickTracks Analytics, Inc. + Analyzed customer requirements and selected appropriate software tools for implementation and customization of online shopping cart system using credit card processing gateway (Linux, PHP / PEAR, MySQL, Apache, HTML, CSS, JavaScript): + Extensive customization and automation of "XCart" shopping cart system to meet business requirements + Integrated shopping cart user-interface with existing site design using HTML, CSS, PHP and template system: Smarty + Implemented and designed extensions to a software license server using encrypted protocol over HTTP, similar to Solo Server + System administration: maintenance and installation of server software (Linux, Apache, Samba, MySQL, PHP); improved the security of web servers, databases, filesystems and firewalls (https, iptables); user accounts (shell, ftp, email); mirroring (rsync, ntp, bash, gnu make)  May, 2003: Conference Speaker, Amsterdam, Netherlands International PHP Conference + Topic: "Doing Less At Run-Time: PHP Pre-Processing with XMake" + Book chapter on xmake: (choose format) Microsoft Word Open Office + Slides:  2002 to July, 2004: Instructor of Computer Technologies and Web Design The Aptos Academy + Taught computer classes to elementary and middle school students + Network & Hardware config, maintenance: approx 20 Mac, PC, Linux workstations; Pipeline 50 router config, various hubs, switches. + Webmaster: designed a web authoring process with minimimal need for a webmaster; easily manageable by non-technical staff  2001 to present: Software Designer / Programmer XMake: eXtended Make Environment XMake enhances Gnu Make for better delivery of web applications: + auto-detection of source files + auto-detection of PHP source file and output dependencies + auto-generation of makefiles and build rules + SINGLE makefile design avoids pitfalls of recursive make + custom 'Extensions' support any source -> output file mapping (PHP, XML, etc.) 'Hotglu' Content Management System (CMS): + automates building of web and other applications, project management + template system separates logic and content from presentation + regular expression based template parsing supports traditional WYSIWYG editing: better workflow management than with XML, XSLT based systems + XML data layer links template parameters with data and command pipes + Business logic implemented via extensible, object-oriented plug-in interface to integrate functionality from multiple languages and protocols + minimal system requirements: XMake, Gnu Make, PHP, Bash, sed, libxml2  1996 to present: Programmer-Consultant, System Administrator + Computer and network installations, hardware config, troubleshooting + Development & Admin Tools: + Web Applications & Site Hosting: + Real Estate Listings: + mSQL Database Interface to Census Dept Data + Online Instruction: + Filemaker Pro and AppleScript Programming: InTouch Utilities: Tools and templates for converting Macintosh "InTouch" database to Filemaker Pro or other relational database. Accounting / banking application; misc. databases and scripting  May 2000 - Oct 2000: Web Engineering Consultant VA Linux, Inc. Designed and implemented database-driven web applications in PHP, MySQL, XML, XSLT, XHTML, Java: + Content Publishing - 'Valence' (VA Layout ENgine/Content Editor) + Workflow management & scheduling ('OverSeer')  Oct 1999 - May 2000: 'wizard' @ "" I supervised and verified quality of sub-contractors and personally implemented all the interactive features and database design on this site including: + user authentication via cookie-based session tracking + database design for user-registration, profile-editing; + administrative tools for site admin and database management + content-publishing tools; template system + customized web-based email system + bulk emailer applications & newsletter subscription management + online polls, surveys, quizzes, games, contests, ecards, message-boards + hit-counters, link-tracking to and from partner sites + packaged and documented the above tools for resale to other startups  May '95 - May '96: Software Engineer Novell, Inc. + Development and testing of MACFILE.NLM v.1.01: - a NetWare server extension which provides Desktop Database service as part of the NetWare Client For MacOS v.5.11 and NetWare 4.11 releases + Developed MPW tools in C and Tcl for testing NetWare File Access and Desktop Database API's under AppleTalk and NetWare protocols + Tested and debugged NetWare software using internally-developed tools; TMON, MacsBug and Lanalyzer for Windows to perform packet analysis + Wrote technical documentation.  Nov. '93 - May '95: Sr. Software Quality Engineer Berkeley Systems, Inc. + Designed and developed 'BugReporter', a Macintosh application written in Symantec C++, Visual Architect and Think Class Library 2.0, which provides an interface for beta testers to report bugs and automatically collects data about hardware and software environments on the test platform. + Wrote After Dark screen-saver modules for Mac and Windows, using Symantec C++ (Mac) and Borland C++ (Windows) compilers. + Tested functionality of proprietary cross-platform C++ code libraries. Participated in code reviews. + Wrote scripts in MPW and Virtual User 2.0 to install, test and debug software on an AppleTalk network + Localization of After Dark 3.0/Mac to French, German and Int'l English; QA Lead on AfterDark for Windows 95.  Sept. '92 - June '93: Software Quality Engineer Apple Computer, Inc. + Open Systems Engineering: Tested A/UX 3.0.2 software (Mac/Unix) with 3rd-party software and Apple hardware including the prototype Apple Workgroup Server (Quadra 950) on a TCP/IP network. + Imaging Systems: Tested LaserWriter Pro 600/630 and LaserWriter Select printers.  1987 - 88: C Programmer "The Community Memory Project" + Community Memory was the world's first public computerized bulletin board system, founded by Lee Felsenstein. + Packet-handling, debugging routines, graphics primitives for public-access online service under Unix/Dos.  1973 to present: various other work experiences + Professional Musician: + Yoga Instructor & Publisher: + Carpenter, Plumber, Electrician, Auto-Mechanic + Newspaper Editor: The Monee Monitor, Monee, IL
 B.S. in Computer Science, 1988; Cal State Univ., Hayward, CA  B.A. in Statistics, 1989, with Honors; University of Chicago, Chicago, IL  'An Object-Oriented Programming Approach to C++', UC Extension, Aug '94  Java Programming; UCSC Extension, Dec., 2000
Pay Requirements
Market rate. Depends on the exact details of the job. Negotiable. References available upon request.
Last modified 07/18/07, 2:23 am; HTML auto-generated from text format by txt2html and XMake