Jeffrey Harrington
http://jeffharrington.org (239)-472-6472
jeff@parnasse.com Sanibel, Florida 33957
OBJECTIVE
----------------------------------------------------------------------------------------------------
To continue to design and program useful cutting edge rich multimedia
applications that will benefit society.
EXPERIENCE
----------------------------------------------------------------------------------------------------
January 2008-PresentFreelance, Clients include Social Media Today. Sanibel, FL
Position/Title
- ActionScript 3 Programmer
- MySQL/PHP Programmer
June 1997 - January 2008eSchool Online - A Division of Harcourt Connected Learning acquired from OpenTV which was acquired from ACTV, Inc. New York, NY
Harcourt Connected Learning solution connects educators in an innovative way to
the student data, assessments, and instructional resources they need daily.
Position/Title
- Senior Programmer for eSchool
- Lead Flash Programmer
- Lead Java Programmer
- Lead developer and architect for eSchool versions 2.0 to 4.1, a browser-based
video enhancing educational product utilizing web, CDROM, and streaming video
delivery. eSchool 4.0 utilizes an Ajax approach that we invented in 2000
using hidden frame sets and XML blocks to seamlessly replace DIVs with new
content. Sole developer for eSchool 2.0, eSchool 3.0 and eSchool 3.1
client-side playback and authoring. Wrote Javascript controlled-video players
using Flash, Real, Windows Media, Java Media Framework and Quicktime.
- Lead developer and architect for the Flash Media Server eSchool streaming
application.
- Developed custom Flash Actionscript libraries for utilization by content
producers for streaming audio, state-based Flash data persistence and
streaming video. Led library development after discussion and analysis of
workflow needs.
- Developed stand-alone eSchool client application and integrated it into a
Blackboard/SCORM system.
- Developed eSchool Content Building Block for integration into Blackboard.
- Developed system for dynamically authoring text into Flash content from
within the eSchool authoring environment using the Kinesis Flash compiler.
Decompiled Flash into XML and after modifying text recompiled the Flash
before compiling it back into the eSchool playlist. Led the developmental
effort around analyzed eSchool workflow needs.
- Lead Developer for HyperTV's eSchool/HyperTV Authoring. The authoring system
uses Java Web Start and the Thinlet Java GUI system to allow internal users
to create eSchool synchronized content.
- Lead Client-Side programmer for HyperTV, a 2 box interactive TV application.
Inventor and chief architect of HyperTV 3.0 client-side all-Flash system.
- Technical Production Manager and Lead Programmer for 600+ hours of HyperTV
events, including Box Fusion (a 24/7 data-driven music video webcast
delivering convergent web/Flash push content since October 1, 1999), 15 Days
of Bond (200+ hours of TBS convergent programming), One Love - Bob Marley
Celebration (6 hours of webcasts). Coordinated and scheduled content
production, synchronized with live television control rooms for realtime
broadcast.
- Various developmental projects using Swing API and Thinlet API, chat client
and server design, general GUI design and analysis, multimedia API's, Real,
Windows Media Player, Quicktime client software integrated with DHTML and
Javascript.
- Developed Perl programs to generate Excel spreadsheets from CSV databases
with the DBD module, walk and parse web sites with the module Mechanize and
various parsing modules for content analysis, and to slurp content for
re-deployment.
- Received US Patent 6,513,069, sharing inventor credit, January 28, 2003 -
Enhanced video programming system and method for providing a distributed
community network
- Received US Patent 7,120,871 as sole inventor - Enhanced video programming
system and method utilizing a web page staging area.
- Five further interactive TV and web application patents applied for, through
ACTV; 2 patents with Harrington as sole inventor.
- Abato, M., Ullman, C. D.., Harrington, J. M. & Duda, C. R. 1999 Enhanced
video programming system and method using a local host for network
communication. US-pending & EU-00311131.7-2202.
- Abato, M., Ullman, C. D.., Harrington, J. M. & Duda, C. R. 1999 Enhanced
video programming system and method utilizing user profile information.
US-pending, EU-00308630.3-2202 & EU-00308415.9-2202.
- Abato, M., Ullman, C. D.., Harrington, J. M. & Duda, C. R. 1999 Enhanced
video programming apparatus and method providing a shared whiteboard.
US-pending & EU-00308709.5-2202.
- Harrington, J. M , 2001 System and Process for incorporating, retrieving and
displaying an enhanced flash movie. US-pending
- Harrington, J. M , 2001 System and Process for controlling flash movies
through a remote server. US-pending
October 1, 1995 - June 1997Children's Television Workshop New York, NY
Children's Television Workshop Interactive Division
Position/Title
- Developed, designed and implemented a Java Castanet Channel for CTW which is
a multi-page sticker story book with rich sound and pixel-accurate click and
carry detection on layered offscreen-buffered graphics.
- Developed and programmed a Java application for aiding in the production of
Java Coloring Books with menus, dialog windows, and palette selection. The
program outputs HTML which drives the CTW series of electronic coloring books.
- Developed and programmed a Java application for producing multi-page
JavaScript-enhanced HTML stories. The program outputs HTML, JavaScript and
Microsoft VBScript and includes JavaScript browser-type detection for
selecting the appropriate scripting function. A proprietary scripting
language (based around HTML) drives the program.
- Developed, designed and implemented a Java Castanet Channel for CTW which is
an electronic coloring book with weekly picture updates. Selected as Channel
of the Week by Marimba, Inc., January 27, 1997.
- Developed and programmed (sole developer) a proprietary Java educational
multimedia system with multi-threaded double-buffered moving animation and
background loading of additional activities. The system uses a class library
of 'game objects' and 'loader objects' that know how to load and pre-process
their audio and graphics in the background. Selected as a Cool Applet by
Gamelan. The suite of games includes a pop-up alphabet book with multiple
animations, a click and carry puzzle with a payoff animation, a click and
carry sticker book activity and an electronic coloring book.
- Member of programming team responsible for award-winning CDROM educational
games using C++ and a proprietary object-oriented scripting language.
Programming credits on three titles distributed by Electronic Arts: Get Set
to Learn!, Elmo's Building Blocks, Search and Learn Mystery
- Implemented debugging facilities and added new verbs to proprietary
multimedia scripting language by using Borland C++. Wrote scripts in Perl for
the purpose of enhancing the conversion of PICT graphics to a proprietary
animation format.
December 1994 -September 9, 1995American Music Center New York, NY
The American Music Center is a national service organization and information
center dedicated to building a national community for new American Music.
Position/Title
- Configuration and maintenance of a suite of over 4500 pages of text and HTML
on the Web. Responsibilities include HTML programming and graphic design,
configuration and programming of PC databases, custom Perl and basic Unix
shell programming, development of CGI forms (with Perl scripts) for credit
card purchases and a real-time guestbook. Development of an on-line Unix
database in Perl with searches producing HTML output. Use of Perl and Unix
scripts to create tracking reports for each WWW visit for enhancement of
internal page links.
- Produced a complete Internet presence on the World Wide Web for the American
Music Center by posting in Internet news groups and procuring links to our
WWW site.
- Developed an on-line system to produce and display listings of composer's
works by writing short programs in C to write programs in dBase.
- In-house database programming and modification in dBase. Produced a series of
programs to find errors in the dBase database using C to create lists of
unique data with statistical output.
November 1988- December 1994Choice In Dying New York, NY
Not for profit organization addressing the needs of the terminally ill.
Position/Title
- Computer Programmer, Network Supervisor
- 1994 - Participated as the local support person in the configuration of a WAN
database project with Dickinson Partners, Inc. using MS Access as a front-end
to a SQL server. Configured and trouble-shooted WAN protocols involving
conflicts between ODBC and local configuration of Windows 3.1. Installed and
configured Access software for data entry staff and trained staff in use of
the new system.
- 1994 - Began implementation of Choice In Dying WWW Home Page, a hypertext
document on the Internet advertising Choice in Dying services and information.
- 1994 - Participated in the migration of Novell 3.11 file server to a larger
and faster system. Helped trouble-shoot software configuration problems with
Horizon Technologies of NY, Inc.
- 1994 - Functioned on task force to recommend revisions to the Access database
software mentioned above.
- 1994 - Developed in-house training manual and trained staff on the use of the
Internet. Training included basic information on use of Unix text editors,
pico and e, and use of mailers, elm and news reader, tin, introductory use of
Unix.
- 1994 - Conceived and chaired staff task force to implement a complete on-line
BBS system for Choice in Dying using Maximus software. System runs on a 486
with a 14400 baud modem. Managed BBS as system operator, configuring message
base and email protocols; simplifying menus. Answered questions from the
public on how to access the BBS. Trained staff on use of the BBS.
- 1994 - Implemented a database and produced reports using Paradox for analysis
of a survey mailed to emergency medical technicians.
- 1994 - Conceived and implemented a program in C to transform Medline database
search output into sorted text in standard bibliographical format.
- 1994 - Used and configured Easistat (a statistical software package) to
analyze a Choice In Dying membership survey. Wrote program in C to take
Easistat text output and transform it into sorted state by state frequency
analyses.
- 1993 - Began preliminary work on an expert system/hypertext project for
Choice In Dying to be called My Life, as computer project supervisor and
programmer. System would have allowed professionals or laypeople to develop a
values history utilizing an interactive hypertext front end to an expert
system that would pinpoint logical inconsistencies in the user's responses to
questions about end of life medical treatment preferences. Was to be written
in the PDC Prolog language for use on IBM PC's running MS-DOS. Project never
completed due to non-receipt of necessary grant funding.
- 1993-1994 - Established dial-up Internet connection for Choice In Dying.
Performed staff training on accessing Internet email. Began presence on
Internet news groups, sci.med, misc.emerg.services, misc.legal, posting the
availability of Choice In Dying services and responding to daily email.
Subscribed to BioEthics-L mailing lists and participated on list as a Choice
In Dying representative.
- 1992-1994 - Continuing database development, maintenance and report
preparation with Paradox and dBase databases for public relations staff and
Choice In Dying Living Will Registry.
- 1992 - Conceived and supervised a project to transfer library of legal
publications from a Ready, Set, Go! DTP format to ASCII format for
out-sourcing of printing and mail-handling.
- 1990-1994 - Developed database for books and periodicals in Choice In Dying
library and prepared reports about the book collection using dBase.
- 1990-91- Numerous database and report programs for a Wang computer system as
part of duties of computer programmer at Choice In Dying written in Wang
Basic. Reports were for determining fund-raising program effectiveness and
accessed a 1 million record database in a proprietary format. Helped
establish inventory program for the Wang database for tracking of publication
sales by Choice In Dying - also written in Wang Basic.
- 1989 - Rescued a Choice In Dying corrupt membership database (approximately
10,000 records) in a proprietary format (RAISE) and converted database into a
dBase appropriate format. Used scripting language for file translation into
an ASCII format for export into dBase.
November 1987- PresentPersonal Programming Projects New York, NY
Position/Title
- 2005: Developed cacophonous.org, a new
music blog using Perl to drive MovableType templates which dynamically scrape
a Del.icio.us tag-feed and a database of RSS feeds and podcasts to produce
new music playlists. Developed the New Music reBlog a new music
meta-blog which utilizes third party reblogging software with customized
Movable Type XML-RPC calls to post blog entries periodically triggered by a
Perl script and cron job.
- 2004: Web/Wiki guru for Sequenza21 - a
new music portal.
- 2003: Developed beepSNORT, a new music
blog using MovableType templates. Programmed two RSS news feed generators
with Perl, one to access the database of NetNewMusic and one to 'scrape' a
third party news site. The programs run every 4 hours and create RRS version
.91 news feed. The NetNewMusic RSS news feed is featured as a music news
source at several prominent news aggregators.
- 2002: Developed two online music portals, The Classical MP3 Portal and NetNewMusic using PHP and MySQL and the
portal software PostNuke. The Classical MP3 Portal current receives between
3500 and 1500 unique visits a day.
- 2001: Ported contrapuntal expert system (see below) to Java using the Java 2
MIDI file extensions. Programmed a series of WebL bots for walking MP3.COM
referring musician pages for analysis of 'like-minded' artists.
- 2000: DX7 Patch File Translator and 2,000 Csound orchestras are featured in
book published by MIT Press, 'Using Csound' by Richard Boulanger.
- 1998: Featured in Id Design magazine (a high profile magazine for visual
designers) for VRML design for the world, Pagan: Floating World, a
combination of virtual 3D architecture and music.
- 1997: Programmed a Web 'Bot' in C++ for Windows 3.1/95. The program accesses
WWW graphics databases, queries the database with a user-selectable topic,
parses the output and sends a series of requests over the Internet for .gif
and.jpg files. (The user can input 'Bill+Gates' and see a series of pictures
of Bill Gates from around the Internet). The program uses WinSock 1.1 and
Windows graphics procedures in C++ to get and display the graphics. Written
for sale on the WWW (release date late 1997). Programmed a Castanet Channel
for the Virtual Museum, Net
in Arcadia using Bongo.
- 1996: Programmed a series of VRML worlds: VRML Worlds of Jeff Harrington.
Developed a Virtual Harmonium (A VRML 2.0 musical instrument) was selected as
VRML Site of the Month by Virtus Corp. It was a finalist in the SGI VRML
Excellence Awards and has been featured at the SGI VRML 2.0 Gallery since
December 15. It is currently being downloaded 300-600 times a day. Picked as
Cool Site of the Day - Iso-Topically Cool March 6, 1997. Programmed a series
of 12 shareware Screen Savers with Borland C++ for distribution on the WWW
using the graphics of the Net in Arcadia WWW site.
Programmed custom screen savers for Children's Television Workshop and for
the Girls Who Eat Ribs WWW site. The screen savers employ novel video-like
blitting effects, including zooming, and rapid image transformations. Over
800,000 downloads of the Net in Arcadia screen
savers. Developed a DX7->Csound patch bank converter using Gnu C++ in Linux.
To be published on CDROM for the book Using Csound by Richard Boulanger (MIT
Press 1997). Csound is a music language which compiles to digital audio files.
- 1995: Became moderator of the Usenet newsgroup, comp.music.research.
Development and maintenance of a WWW virtual museum, Net in Arcadia. Selected
as Cool Site of the Day, May 11, 1995, Spider's Pick, May 13, 1995, Seeress
of the Web, May 17, 1995. Picked by Webaholics as one of the Legendary 50 WWW
Sites in the World, featured in the book One Thousand Really Cool WWW Sites.
Net in Arcadia
currently receives 1,000 visits a day. Establishment of a personal Internet
domain: parnasse.com. Programmed an interactive Perl Game, Dr. Wilhelm Werner Webowitz,
(simulates an interactive psychiatrist modeled after the classic Eliza
program). Selected as Deep/Unusual Site of the Day and Funky Site of the Day
(British Cool Site) September 18, 1995. It is currently being featured in AI
teaching courses around the world.
- 1994: Added 5 and 6 voice capability to the expert system, CPS. Modified it
for diatonic music; optimized it by replacing all array references with
pointer references. Ported it to the Gnu C++ Compiler for future
modifications and GCC code optimizations.
- 1993: Wrote AreaCode, a shareware DOS utility which displays the city(s) for
each area code. Modified a public domain listing of area codes using Icon for
use with compiled Prolog.
- 1992: Created a genetic algorithm front end (in C) to CPS for utilization of
simulated-annealing processes to drive the input of the expert system. A
random set of solutions to a contrapuntal problem are given a genetic
sequence. As solutions to the problem are approached (as determined by CPS)
these sequences are allowed to produce variants of themselves through genetic
crossover and mutation processes.
- 1991: Programmed CPS - expert system (in Lattice C) for the composition of
music. CPS takes as its input, music files which are interpreted as numerical
information. These sets of pitches and rhythms are transposed and delayed to
discover combinations of delay and transposition which meet the requirements
of the rule base. Written in the C programming language, approximately 1200
lines of code. Input and output uses Deluxe Music Construction Set files in a
multi-tasking environment so that the expert system's files can be sampled in
real-time while more contrapuntal solutions are being found.
- 1990: Began distribution of personal musical compositions over the Internet
as MIDI files and PostScript scores. FTP site: ftp.gmd.de
music/scores/harrington. Since 1990 this has led to performances in Moscow,
New Zealand, Germany, Siberia and the US.
- 1989: Created and distributed a suite of 3 real-time computer video
improvisations to accompany personal electronic music compositions using the
Amiga personal computer and customized graphic software.
- 1988: Programmed MT32ED - sound module editing program for the Amiga.
Utilizes MIDI protocol to allow editing of the external MT32 synthesizer.
Shareware Amiga utility program. Written in the C programming language,
approximately 900 lines of C code. Interface created with the help of a 4GL
GUI programming front end system. Transmitted and received information with
real-time RS-232 protocols as part of the MIDI standard. Saves synthesizer
configurations in a binary format, uses Amiga printer device drivers to make
printouts of the synthesizer configurations.
- 1987-88: Programmed WonderSound - a user-friendly sound synthesis program for
the Amiga with graphics screens, menus, two windows. Allows user to create
sound files for later playback through the Amiga audio system (used Amiga
specific audio device drivers). Distributed by JumpDisk Software, Inc.
Written in the Lattice C programming language, approximately 1500 lines of
code; employs advanced signal processing algorithms. User controls program
with mouse-based gadgets and menus; saves waveforms in a universal binary
audio file format for use in third-party Amiga music programs.
SKILLS, TECHNOLOGIES & PROJECTS
----------------------------------------------------------------------------------------------------
- Java
- Perl
- Flash/Actionscript 2.0/Actionscript 3.0/Kinesis/Flex
- Javascript
- XML/XSLT/XPath/XML-RPC/
- Ajax/LiveConnect
- PHP
- SQL/MySQL/Oracle/MSSQL
- HTML/CSS/DOM
- Digital Video/Interactive TV
- Blackboard
- Multimedia Workflow Analysis
- C++
- Windows
- Unix/Linux/Cygwin
- Mac OS X
EDUCATION & INTERESTS
----------------------------------------------------------------------------------------------------
- 1986-1988 TULANE UNIVERSITY, New Orleans, M.F.A. in Music Composition
- 1978-79 JUILLIARD SCHOOL, New York, Masters Program in Music Composition
- 1974-78 LOUISIANA STATE UNIVERSITY, Baton Rouge, B.F.A. in Music Composition,
Minor in Computer Science (studies in Fortran, programming work in MUSIC VB a
Fortran-based music software language)
References available upon request.