JEFFREY MICHAEL HARRINGTON
442 Sixth St.
Brooklyn, NY 11215
Home: (718) 965-3780
SKILLS AND TECHNOLOGIES
Java, XML, Flash, C++ (Borland, Visual C++, GNU), Perl, SQL, VRML, HTML, Windows, Unix, X Windows, Mac OS, Windows NT
OCCUPATIONAL BACKGROUND
ACTV, Inc.June 1997-PresentLead Java Programmer
Lead Client-Side Programmer for eSchool 2.0 - 4.1
HyperTV Technical Production Manager: 1998-2000eSchool/HyperTV Product Development and Inventor
MAJOR RESPONSIBILITIES
- Lead Developer for HyperTV's eSchool/HyperTV Authoring.
- Lead Client-side architect for eSchool DHTML and Flash architecture.
- Lead Client-Side programmer for HyperTV. Inventor and chief architect of HyperTV 3.0 client side all-Flash system.
- Lead developer and architect for eSchool, a video enhancing educational product utilizing web and CDROM based video delivery. Sole developer for eSchool 2.0, eSchool 3.0 and eSchool 3.1 client side playback and authoring.
- Co-inventor and lead architect of HyperTV 1.0 and HyperTV 2.0.
- 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).
- Java Programming includes deep knowledge of the Swing API, chat client and server design, general GUI design and analysis, multimedia API's.
- 6+ years working knowledge of JDBC, Servlet API's. Java XML authoring and scripting. Programming WebL bots (a Java-based bot programming language) for walking web (HTML/Flash) content networks and analysis of content deployment issues.
- Received US Patent 6,513,069, January 28, 2003 - Enhanced video programming system and method for providing a distributed community network
- Seven further patents applied for, through ACTV; 3 patents with myself 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 Enhancedvideo programming system and method providing a distributed community network. US-pending, EU-00308060.3-2216 & EU-00308045.4-2216.
Abato, M., Ullman, C. D.., Harrington, J. M. & Duda, C. R. 1999 Enhancedvideo programming apparatur 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
Harrington, J. M , 1999 System and Process for pre-loading content within internet browsers. US-pending
Children's Television WorkshopOctober 1, 1995 - June 1997Programmer II
MAJOR RESPONSIBILITIES
- 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 BlocksSearch 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.
American Music Center
December 1994 -September 9, 1995
Title: American Music Center On-Line Coordinator, Network Supervisor
MAJOR RESPONSIBILITIES
- Configuration and maintenance of a suite of over 4500 pages of text and HTML on the World Wide Web (the Internet multi-media hypertext network). 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. URL:
- 1995 - 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.
- 1995 - 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.
- 1995 - 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.
Choice In Dying
November 1988- December 1994
Tile: Computer Programmer, Network Supervisor
MAJOR RESPONSIBILITIES
- 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 - Conceived and implemented a database using Paradox for the generation of reports related to Choice in Dying's counselling activities. Produced weekly reports with frequency analyses of types of counselling calls. Managed input and rescued a corrupt Paradox database.
- 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.
PERSONAL PROGRAMMING PROJECTS:
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 ad 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. URL:
1996:
- Programmed a series of VRML worlds:URL: 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. URL: 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. URL:
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.
EDUCATION
- 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)