Resume

I’m interested in web development, community building, and Open Source software and I use these interests to help individuals and communities develop tools to help them, particularly using tools written in Perl and to a lesser extent in PHP and Java on Mac OS X and Linux.

Education (a.k.a. how much homework I did)

M.S. in Computer Science Kansas State University, December 2004 Manhattan, Kansas

B.S. in Computer Science Kansas State University, December 2001 Manhattan, Kansas

Attended Manhattan Christian College, August 1996 to December 1997 Manhattan, Kansas

Publishing (a.k.a. bragging about my ideas)

Andrew Sterling Hanenkamp, “Single Sign-on in Jifty using CAS+ (Part 2),” ONLamp.com, O’Reilly, [http://www.onlamp.com/pub/a/onlamp/2007/06/09/cas-single-sign-on-with-jifty-part-2.html], June 14, 2007.

Andrew Sterling Hanenkamp, “Single Sign-on in Jifty using CAS+ (Part 1),” ONLamp.com, O’Reilly, [http://www.onlamp.com/pub/a/onlamp/2007/05/31/cas-single-sign-on-with-jifty.html], May 31, 2007.

Andrew Hanenkamp, “Using Java Classes in Perl,” perl.com, O’Reilly, [http://www.perl.com/pub/a/2006/12/21/using-java-classes.html], December 21, 2006.

A. Hanenkamp, D. Andresen, “Heterogeneous Channel Bonding Revisited,” to appear in the Proceedings of the IASTED International Conference on Parallel and Distributed Computing and Systems (PDCS 2003), pp. 387–392. Nominated for IASTED Best Paper Award in the area of Communication Issues. Marina Del Rey, CA, November 3-5, 2003.

Projects (a.k.a. pro bono work)

New Hope Church web site

  • Install/maintain Drupal installation.
  • Integrate layout design and improve content design
  • Help manage content and policies
  • Develop helps and other materials on how to use the site

Jifty

  • Minor contributor to the project
  • Specifically interested in Jifty::DBI object-relational mapping API, database backed models API

CAS+ Implementation of CAS

  • Provides a single sign-on server compatible with Yale’s CAS
  • Written with Jifty in Perl

Crossite Module for Drupal

  • Allows a single Drupal installation to share/not share nodes on multiple sites
  • Makes use of taxonomy to make decisions per node

Promotional Code Module for Drupal

  • Allows for registration with a promotional code
  • Grants special privileges on registration (or on activation)
  • Optionally strips privileges, blocks, or deletes an account when the promotion expires

Skills (a.k.a. Buzzword Bingo)

Programming Languages: Object-Oriented Programming, Perl, Java, PHP, JavaScript, C++, C, Python, Visual Basic

Web Technologies: Mashups, CGI, FastCGI, mod_perl, SOAP/WSDL, XML-RPC, REST, CSS XSP, XHTML, CSS, SQL, JSP/Servlets, EJB, XML, XSLT

Web Applications: Apache, Tomcat, Magnolia, Drupal, Trac, Best Practical RT

Databases: MySQL, Jackrabbit/JCR, Oracle, Microsoft SQL Server, SQLite, PostgreSQL

Experience (a.k.a. companies and people that believed in me)

Interaction Developer Boomer Consulting, Inc., February 2006 to present Manhattan, Kansas

  • Development
    • Develop web site infrastructure for publishing and community extranet
    • Integrate Java-based Magnolia web publishing system with PHP-based Drupal community system, including single sign-on and data synchronization
    • Manage development support and project management
  • IT Support
    • Initiate and manage infrastructure for web site support issues
    • Communicate with clients and provide training and documentation
    • On call for support during evenings and weekends
    • Help support small office infrastructure, network, phones, servers, and workstations in Windows dominated, but mixed environment

Systems Coordinator Kansas State University, October 2003 to February 2006 Computing & Information Sciences Manhattan, Kansas

  • Development
    • Best Practical RT (LAMP-based) customized for issue tracking
    • Contentment CMS developed for knowledge base
    • Microsoft Active Directory extended for cross-platform account management
    • Developed agent-based configuration management system
  • Communication
    • Teach an undergraduate course on Computer Architecture, C++, and assembly
    • Help faculty, staff, students in a 250+ system network
    • Write policy, administrative, and end-user documentation
    • Manage four student staffers and one full-time staff person

Graduate Research Assistant Kansas State University, October 2001 to October 2003 Computer & Information Sciences Manhattan, Kansas

  • Use J2EE, EJB, and JSP to create a prerequisite checker
  • Oracle RDBMS server configuration and maintenance
  • Linux kernel development for channel bonding (trunking) experiments (research was published)
  • Anaswer students’ system and database questions

Part-time Network Consultant Network Resource Group, Inc., October 1998 to November 2001 Manhattan, Kansas

  • Java/J2EE development of web-based project managemen tsystem
  • Extend a Perl-based spam and email antivirus filtering solution
  • PHP-based ASP tools for managing and monitoring email filtering by clients
  • Develop a C++ application for data-entry, integrating Borland and Microsoft products
  • End-user computing, server, and network support for clients

Personal Consulting/Hobbies

  • Host Ogden School annual school board presentation web site
  • Maintain a personal mail/web/file server for family site
  • Contributor to Wikipedia.com
  • Web design and development for home web sites

Favorite Books (a.k.a. others sometimes have good ideas too)

A list of technical, non-fiction books I am currently reading or recently read and enjoyed.

  • The Myths of Innovation by Scott Berkun
  • Open Business Models by Henry Chesbrough
  • Perl Best Practices by Damian Conway (I do not frequently agree with Conway, but he does bring up ideas that make you think about howyou code in Perl.)
  • Innovation Happens Elsewhere by Ron Goldman and Richard P. Gabriel