Matt Hucke
We have known and worked with Matt since the mid-1990's; our most recent project was www.tillywig.com, a toy award website completed in the spring of 2009.
What Matt is looking for primarily is variety and diversity: in the clients serviced, and in the tools and types of work that he does. He generally prefers not to be doing the same thing every day, but likes to program in multiple languages, to install software, to manage servers, to design networks.
Experience: Languages, Tools, and Operating Systems
Perl
Most of Matt's programming work for the past four years, for one of his main clients (www.ostrich.com) and for personal projects, has been Perl. He has created an open-source web application framework for Perl, the Baldrick Application Framework, which he now prefers to use as much as possible for new projects. Baldrick is an open source project consisting of Perl modules, source code, documentation, and other files, which can be used to provide essential functionality for web applications such as user login, session management, database querying, and many other features.
Baldrick is made available to the public under the terms of the Lesser GNU Public License and the "Artistic License" of Perl, to be freely deployed and used for any purpose whatsoever, from www.baldrickframework.org. Baldrick has been in development since 2005, and in production use on several web sites since 2006, and continues to be actively developed. Baldrick does the "boring bits" of a web application such as session management, user login, flow of control to modules and command handlers, and generating output via templates.
C and C++
Matt wrote in C++ for years, including a shopping cart program (with an embedded template language of his own). He hasn't touched it in a while, but just like riding a bike, getting into it again if necessary is no problem.
Java
Most of Matt's work from 2001 to 2004 was on Java servlets for SBC (now AT&T), using IBM Websphere and IBM Portal Server. His first server-side Java application was a tool for determining rates for calls from any area code and prefix to any other in a local calling area. This involved nightly bulk loads from a mainframe into a local Oracle cache, then performing complex operations on those tables and presenting results to the user. Later, he was lead architect on the SBC "My Business" extranet. This was a fairly large and complex application, with multiple "portlets" (semi-independent applications sharing the page), and he learned quite a bit about the language. Matt holds an SCPJ 1.4 certification, from 2003.
Javascript, CSS, HTML
More recently Matt has been doing more and more with Javascript and dynamic HTML, including AJAX and XML. Some of this can be seen on the public side of www.ostrich.com, on the shopping cart pages that have color selectors (that cause images to change when a selection is made), and an "email-a-friend" link that has an AJAX back-end. Most of Matt's Javascript experience lies in the admin tools behind the scenes. On www.graveyards.com, he has built a Google Maps interface (maps are available within the "cemetery list" section).
PHP
Matt is sufficiently proficient with PHP to work with it when necessary.
Visual Basic
As with PHP, Matt only use it when he inherits a project. For example, he did some work for LaSalle Bank in VB in 2008 that was an almost complete rewrite of an existing program that had serious logic errors and performance problems, years after the original consultants had gone away.
C#
Also at LaSalle, Matt built a C# application from the ground up. They originally had hundreds of batch files that moved data between various machines - with no logging, no error recovery, and unreliable archiving. he replaced all of these batch files with a single C# application that took its instructions from a master configuration file, moved files via SMB or FTP or HTTP, tracked success or failure, created archives, and did copious logging. He chose C# because they're a Microsoft-only shop, and he didn't want to use VB.
PostgreSQL and MySQL
Matt has installed and continues to maintain sites using both. He uses SQL almost every day, usually from within a Perl program.
FreeBSD
Matt has built and managed FreeBSD web and mail servers, six of them in total, over the past ten years.
Linux
Linux has been Matt's desktop OS of choice since 1995, when he installed Slackware from an eighteen-floppy distribution. His primary workstation has always been Linux since then. Currently, his home machine runs Fedora 8, KDE, and has a three-disk RAID-5 array where he can store backups of all the servers he administers (automatically updated through rsync). His primary web server is now a Linode with CentOS 5.0.
Solaris
Matt managed several Solaris servers (Sun Enterprise 450's) for the phone company until he departed.
Matt prefers Postfix, but has done sendmail in the past. He currently manages two mail servers, each with Postfix, Cyrus SASL, Postgrey, spamassassin, procmail, pine, and uw-imapd/ipop3d.
Web
Apache 2 or 1, SSL, mod_perl, mod_php. He has set up Microsoft IIS also, but desn't much care for it...
