Everyone tells me that I should have a portfolio page.  Well,  this is it.

Web Sites and Web Apps
According to Jeff

This is a (more or less chronological) sampling of web sites and web applications I’ve created over the years. Some have faded away, some are on intranets behing firewalls, and some are so narrowly targetted that their operation might not be obvious without some explanation and arm waving. Others might actually still work.

WeBeeTV.com
A youtube’esque site where members can upload video, audio and photos into 'channels.' Channels can be public or private, can be shared by e-mail, link, or embedded in another web site.

The site consistes of two parts. On the top is 'The Guide' which is a guide to commercial TV, movies and music videos available online. The Guide is almost entirely Javascript and AJAX using jQuery.

The bottom half is the WeBeeTV video sharing portion. WeBeeTV is a PHP program running on a LAMP system with support from several open source projects.


Kona Pacific
An ordinary school web site using PHP, LAMP and Drupal.

Graphics by Cookware.


Hometown TV News
A system to coordinate one or more video recorders, compressing and storing the video on a central system. Recorders are ordinary surplus PCs equipped with video capture cards. Some windows BAT files and Perl scripts coordinate recording, compression and transmission to the central server.

The central server runs a web based control application which allows scheduling and viewing of recorded video.

Windows based recorders, LAMP and Perl based server, RealVideo compression.


Apogee Director
A web based application for television studios. As TV studio equipment becomes more and more computerized, web based control becomes possible. 'Routers' are the devices which switch video signal between sources and destinations. When a director shouts, “Cut to camera two!” it is a router which actually switches the signal. Routers are mounted in the equipment racks along with all th other studio equipment. Router manufacturers offer remote control mechanisms so that the router control system is in the studio control room. These control systems are relatively expensive. apogee provides an alternative.

Apogee Director uses an ordinary web browser and operates over the LAN. The studio operator accesses the Director server. The Apogee server connects to the router via a local direct connection. The operator initiates video connections using the web browser. Apogee Director converts these web based commands into router commands and updates the router status display on the browser screen.

Apogee Director uses ordinay office PCs for control and a dedicated LAMP based server in the equipment rack to run the Perl based software.


Relay TV
Relay TV is a low end entry in the digital signage market. Hotels, schools, convention centers, shopping centers often have TV monitors displaying schedules or advertising or highlights or other information in an eye catching display. Relay TV is a similar system.

Relay TV uses an ordinary PC with a a video output card to generate a video display. The video is fed into a CATV or transmitter or similar distribution system to multiple displays. The PC uses an ordinary web browser to generate the display. The web browser accesses the RealyTV server which generates the display sequences.

The display sequences are gnerated by a designer or operator familiar with HTML. HTML is the language of World Wide Web sites. The designer accesses Relay TV via a web based designer program. The designer program keeps track of the various sections of the screen and the sequences of displays in each section. Sequences can be simple or elaborate as each situation requires. Sequences can be ordinary HTML pages with text and pictures, or can be pages which pull information from external sources. The sequences are stored and accessed by the display PC.

Relay TV is accessed by an ordinary PC. The PC accesses the web based Javascript design program running on a LAMP based server. The display accesses the Perl server program using an ordinary web browser.


ITIC
A web site for a Washington DC lobbiest. Mostly a collection of their press releases and issue based position papers. This is Apogee’s 2007 in-house development site. ITIC’s real site (itic.org) has been reworked since then.

Based on an in-house search engine customized to the ITIC document formats. Written in Perl and PHP for LAMP based systems.

Site artwork by Harbor Light Media


Interactive 2004 U.S. Electoral College Map
The 2004 Electoral College Map program is simply an update from the 2000 Electoral Map program. The program is a Perl CGI program which re-writes the pallette lookup table in a GIF graphic of a map of the United States. When the audience clicks a state, the color of that state is overwritten and displayed on the screen.

Considered kinda cool for a Perl program back in 2000...


U.S. National Debt Clock
The National debt is something that one or the other political parties like to talk about when the other political party is in power. Then an election occurs and they switch.

This page was used as a prop at live events to highlight the ever growing national debt. PHP fetches timely information from online Treasury Department data. Javascript calculates and updates the screen every few seconds.


L I F T
LIFT stands for Large Internet File Transfer. Most email systems have a limit on file attachment size. Transferring a file larger than that becomes problematic. FTP? CD-ROM? File sharing?

LIFT uses email for notification and HTTP for file transfer. A web form is presented for a text message and file attachment. The file is uploaded to LIFT and an email message is sent to the recipient. The recipient clicks on the link in his email message and the file is downloaded.

LIFT runs on an ordinary LAMP server and is written in Perl.


Video Monitor
This is a non-functional leftover mock up of a video monitoring project. The DNC-VM is a version of the Hometown TV News project on steroids. The idea is similar - coordinate recordings of broadcast TV shows and store the recordings on a central server. There are several improvements to the original...

  • The recordings are broadcast quality.
  • Closed Caption text is recorded and timestamped and stored in a database.
  • The text database is searchable and linked to the video containing the text.
  • Semi-automatic DVD archiving keeps the most recent data online.

The DNC-VM was the first terabyte database in our experience. Again, ordinary PCs with some BAT files comprised the video recorders. The central server was a relatively ordinary LAMP system with a terabyte and a half SCSI RAID disk system, and software written in Perl.


Web Survey
A web survey / poll / questionaire feature. Written in two parts - a Javascript source file to make inclusion in a web page easy; and a Perl CGI program to process the data. Web designers could add a questionaire to their web site with one line of HTML, and override default parameters with a config file.

From the 2001 era. Quite the craze back then.

Senate Daily Calendar
This is an old twentieth century Perl CGI data entry application written for busy Senate staffers. The goal was to provide a public facing summary page of Senate activity.

This CGI takes the short description entered by the operator and adds links to the Library of Congress, adds titles, and formats the data into a calendar format.

This app was still in use the last time I checked - in 2009.

Sybase Utilities
Some Perl programs written using the DBI/DBD modules for the Sybase database, sy_load, sy_unload, and sy_report, a database report writer inspired by the Informix “Ace” report writer.
Apogee
Apogee is the corporate incarnation used when Apogee partners need a corporate verneer. The Apogee web site started as an automated ISP hosting signup and config site. That portion of Apogee’s business has come and gone. The site is now mostly just a skeleton to hang various projects on.

The only interesting parts are Apogee’s Icecast internet radio experiment and some extensions written in Perl; Apogee’s secure remote login app; and Apogee’s Zaurus (a Sharp handheld PDA) software download mirror.

There might be other bits of my work (with and without others) clogging up the inter tubes. I’ll have to look around. Contact me with any questions, comments, critiques, corrections, complaints or any other communication.

LAMP is an acronym for Linux, Apache, MySQL, Perl/PHP/Python, and is used to describe a computer system with these software components installed.

Perl is an acronym for Practical Extraction and Report Language, but nobody remembers that any more. It is just Perl now.

PHP is an acronym for Personal Home Page. PHP was written as a poor man’s alternative to Cold Fusion, and over the years has become wildly more successful.

CGI is an acronym for Common Gateway Interface. It is the specification developed by the NCSA HTTP server project to interface with external programs.

DBI and DBD are acronyms for Data Base Interface and Data Base Driver. DBI is the interface used by Perl programs. DBD is the interface used by DBI to the many various DBD modules.