Programming


Most of my programming efforts have been spent on Perl-based web applications and scripts that update, generate and maintain web content. Here are a few of the groovier ones.

alaskafamily.org
Summer 2000
For this site, which uses the Slash open source discussion/publishing engine, I led a team of designers and programmers to change the look and feel of Slash, improve user-friendliness, add components like the link library, a modified user registration system, non-RSS newsfeeds, and a followup user survey.
NERock.com
Spring-Summer 2001
I used Perl and TemplateToolkit to add extensive custom elements to the rock climbing guide section of this Slash site. The extra data is stored in a new MySQL database table, and is easily accessible through the story editor and the templating system. note: my changes are not visible on the site as of July 17, 2001.
infocomalaska.com and alaskacomtech.com
Fall-Winter 2001
I led a team of programmers in renovating legacy code for these IT conference websites. We improved the registration process by using stateless forms and moved more of the data into a MySQL database instead of flat files. The session schedule and the registration information for exhibitors and attendees were database driven. We also incorporated a Slash discussion engine into the InfoCom site, but it was never utilized.
Alaskan weather images for GCI.net's home page
Fall 2000
This was basically similar to the other Alaskan weather project I did, except that it used the Geo::NOAA Perl modules from CPAN, and there was no fancy web interface built for the data.
2001 Iditarod.com standings
Spring 2001
Basically the same thing I did before for Dogsled.com, only the data format was wildly different this year.  

screenshot (40 K)
Alaska.net weather
December 1998
This has been one of my favorite programming projects so far. I wrote a set of Perl scripts that download the textual weather data from the National Weather Service every ten minutes and summarize it in graphical format (I designed the weather graphics too). The data is displayed by a mod_perl module that tries to give you the right weather for your location. As long as it is still running, you can see the live version at alaska.net.


index screenshot (47 K)
project view screenshot (47 K)
Business Services Database
1998-1999
Following the success of my departmental online job and contact database, I was asked to build a database for the business services department. The original was a set of Perl CGI scripts with flat text data files, but the present incarnation runs under mod_perl and stores all its information in a database (MySQL/Oracle). (Aaron Dunlop did most of the conversion work.) According to one of the everyday users of this web app, some of its best features are its color coding and the way it allows different employees to communicate about a job via comments that can also be emailed.


screenshot (25 K)

individual musher
standings screenshot (42 K)

Real-time Iditarod Standings at Dogsled.com
1998-2000
For the 1999 Iditarod, I made a series of Perl scripts that allowed race volunteers to upload the latest standings text file and have it archived and published as pretty HTML tables on Dogsled.com. The scripts also made maps on each musher's biographical page, showing the musher's latest position and condition. Even more cool were the chatbots that announced real-time race results and answered fans' questions in the web-based chat rooms, but unfortunately I don't have the resources to demonstrate that here.

enteuxis.org
1998-
This is a dream in progress. Eventually it will allow writers of Christian worship material (songs, poetry, liturgy, etc.) to share their work online. The site uses mod_perl and a mySQL database. If anyone has a way of paying me to work on this, please let me know.


screenshot (15 K)
eOrder
1998
We needed a simple way for our clients to accept web orders securely, so I developed this system. Merchants would receive email notification of new orders, but would then retrieve them over https so that the information would be secure in transit.

Internet Alaska Online Timecard
1998-1999
I adapted Dustin Andrews' PolarNet timecard CGI program for Internet Alaska employees. It saved the company time and expense for a couple of years, before the pay period structure changed and it became impractical to update the program. The coolest thing about it is that it uses tons of Perl-generated JavaScript code to do realtime overtime calculation. Try it out!

Perldoc Gateway
1998
This is a simple Perl CGI application that uses style sheets to make the system Perl documentation available via the web. I set up my own Apple Data Detectors so I could have one-click access to the perldoc gateway from any application on my Mac, and it's sweet! If it's still running, you can try out the live version. I also wrote a slightly more complicated but more boring man gateway, which was actually the inspiration for this project.

The Lexomatic
1999
The Lexomatic is a quick tool for looking up a bunch of words in Merriam-Webster's online dictionary.


screenshot (16 K)
disabled signup form
Internet Alaska Signup System
1997-2000
Shortly after I started with Internet Alaska I inherited a messy tangle of Perl code that took care of the company's online signups and account maintenance. It quickly mutated into a tidy snarl of object-oriented Perl, allowing me to easily build subclassed signup systems for Internet Alaska's "virtual" ISPs, and supporting realtime automatic account creation. As of July 2001, more than a year after I left Internet Alaska, the system is still running. It has served well and robustly, and proved flexible enough to handle the complicated products and business processes that are thrown at it.



[ portfolio | home ]

All content © 1997-2000 Nathan Vonnahme and/or Internet Alaska.
nathan at enteuxis dot org
enteuxis.org/nathan