Independent Contractor... Independent Contractor... Independent Contractor... Independent Contractor



A. David Kelts
Angelfish Development

29 Grafton Street #1
Arlington, Massachusetts 02474-6905
(508) 633-1133
(781) 316-8141 fax

adk@angelfishdev.com

[ Languages | Environments | Hardware | Contracts | Projects | Experience | Education ]


Services:

Macintosh Software Development, Internet Access Consulting, Web Page Design and Development.


Profile:

Extremely organized and able to focus on the highest priority objectives. Twelve years of Macintosh programming experience. Technical expertise in sound input, output, and speech recognition on the Macintosh. Expert real-time driver (Serial, USB, SCSI, Fibre Channel) and system software level development. Able to design simple user interfaces for sophisticated tasks. Interests in telecommunications, sound processing, Internet, and portable computing. Independent contractor, through my business Angelfish Development, since February 1994.


Languages:

C++ (TCL & PowerPlant), C, 68000 Asm, AppleScript, HTML, DSP TMS320, HyperTalk, 8086, 6502, Pascal


Development Environments:

CodeWarrior; MPW C, Assembler, C++; Symantec C++; THINK C/Pascal; AppleScript; FaceSpan; HyperCard


Hardware:

Macintosh, Zilog 8530 SCC, SCSI Protocols, Voice Navigator, Windows 3.1, DOS, Amiga


July 2000 - present
Quickdot Corporation, 1601 Trapelo Road, Waltham, MA 02451, Principal Software Engineer
Architect & Software Developer on email campaign system able to send HTML email to Quickdot's entire membership base in 2 days (5M/day). Software Development Lead for the addition of Public Discussion Groups to Quickdot's instant web and wireless messaging platform. All software implemented in SQL Stored Procedures, Java 2, and Weblogic JSP running on Windows 2000 IIS and deployed on Sun Unix platforms.

Contract Development Projects:

July 1999 - June 2000
Eastman Kodak Company Architect of the Mac software shipped with the next generation Kodak Digital Cameras
Software Development Lead for Macintosh team working on two multi-megapixel digital cameras. Led a multi-disciplinary Design Team that designed user interface for Digital Camera Host Software. Led implementation of a block driver and Foreign File System replacement that allowed cameras to be mounted as volumes on the desktop over USB cables. Designed and implemented an object oriented Apple Event suite for cameras.

March 1999 - present
Lexicon Corporation- Control Panel, PPC Shared Library, and ASIO Plugin for Lexicon Studio 32 Channel Music System
C++ on CW Pro 4 using ASIO (Audio Streaming IO from Steinberg), and PowerPlant.
Rewrote a control panel application to support 32 channels of music input or output utilizing a PCI 32 channel audio card. Implemented a PPC Shared Library utilizing C++ calling conventions to support dynamic selection of audio sources, application of Lexicon's reknowned reverb effect, and punch recording. Reworked the "ASIO" plug-in to support the new system under Steinberg's CuBase music production software.

November 1998 - April 1999
Ariston Technologies- Setup Application and Extension for multi-button USB Mouse
C/C++ on CW Pro 4 using USB DDK, PPC SharedLibraries, and PowerPlant.
Implemented a System Extension which tracks the current application and provides a map of mouse buttons to "actions" in real time. Implemented as a PPC Shared Library called by a set of PPC trap patches as well as by the USB 'ndrv'. Designed and implemented a simple user interface to allow users to decide which actions (keystrokes or modifier keys) to map to a particular mouse button. The UI also allows different maps to be associated with any application on a system-wide basis.

October - November 1998
Engage Technologies, Inc. - Implementation of Trust Labels within Mozilla for the Macintosh
C/C++ on CW Pro 2.
Assisted in Macintosh implementation of "trust labels" in Mozilla, the public source code base for Netscape Navigator. Verified Macintosh Mozilla builds and implementation. Included full builds of Netscape products.

August - November 1998
Diamond Multimedia - SupraExpress VoiceMail Software for the Macintosh
C/C++ on CW Pro 3.
Fixed import/export related problems in Fax Software. Worked on build process for the entire product line incorporating MPW, Codewarrior integration. Part time work only.

February - March 1998
VideoBrush Corporation- VideoBrush Panorama for the Macintosh
C on CW Pro 2 using QuickTime 2.5 and 3.0 APIs.
Implemented engine to turn a panoramic picture into a QuickTime VR 2.0 scene. Added apple events support, multi-page image printing, and file opening & saving for JPEG, PICT resource, and PICT file formats.

August 1996 - July 1998
Augment Systems, Inc.- AFX 410/210, Fibre Channel File Server Administrator
C++ on CW11, CW12, and CW Pro (1-3), using PowerPlant's Open Transport and Thread Manager Classes.
Implemented Fibre Channel communications protocols for the Macintosh administration console of a Fibre Channel File Server, including UDP packet routing over serial link using OpenTransport 1.1.1 and design of a TCP/IP protcol layer for remote Server Administration. Maintenance and feature implementation of Mac Foreign File System. Implemented real-time fibre channel password authentication server using Apple Users&Groups Control Panel Database. Implemented automated build scripts for the entire project using MPW and AppleScript.

July - August 1996
Answering Service Dispatch, Inc.- ADPCM 4:1, MuLaw, ALaw Sound Decompressors
C on CW9.
Wrote sound decompressor components for Macintosh System 7.5 which support all known compression formats in use by Dialogics Telecommunications boards for the PC. Supports AIFF, AIFC, WAVE, .au, and raw sound file formats.

June - July 1996
Ledge Multimedia, Inc. (a division of Dataware, Inc.)- CD->Web Synchronizer
PowerPlant/C++ on CW9 supporting HyperCard and Macromind Director.
Designed and implemented a system which allows multimedia authors to easily synchronize web page retrieval with their CD titles. Supports Netscape, Internet Explorer, AOL, and other browsers. In use by Houghton-Mifflin Interactive for their CD title "The Polar Express".

May 1996
Digital Dreams - HTTP Download Synchronizer
PowerPlant/C++ on CW9.
Designed and implemented an HTTP download application for both OpenTransport and MacTCP. Program accepted user input, sycnchronized with Netscape through AppleEvents, unraveled URLs, and used HTTP to redundantly cache the current HTML file. Once down, the file was to be parsed and read using Text To Speech.

August 1995 - April 1996
Sudbury Systems, Inc. - RTAS Client for the Macintosh
CodeWarrior, PowerPlant, C++, FaceSpan, AppleScript
Designed and implemented a TCP/IP client/server version of SSI Medical Transcription System. Macintosh client downloaded audio files from vax and played LDCELP 16:1 compressed sound files, using threads and time manager tasks, on an external SCSI DSP (TMS320C31) hardware device. Engine 100% Apple Event driven. User Interface written using FaceSpan.

August 1994 - August 1995
Atelier Systems, Inc. (purchased by Jabra Corp 10/95), Doc*Tel Contact Manager (PIM)
CodeWarrior, PowerPlant AND Think Class Library (TCL), C++, C
Designed and implemented a PowerTalk based Contact Manager. Wrote word processing/fax/e-mail module with integrated A.O.C.E. mailer and full drag and drop support. Implemented full A.O.C.E. Personal Catalog synchronization with address book module. Implemented generalized im/exporter to write Personal Catalogs to text, database, and Newton Names soup.

February 1995 - March 1995
Cypress Research Corporation - ADPCM 4:1 Audio Compression Module
THINK C, MPW, 68K Assembly
Implemented Rockwell ADPCM 4:1 compression/expansion sound components on the Macintosh. Assisted in implementation of sound drivers/components and telephone tools for Supra, Zoom, and Global Village voice fax/modems.

February 1994 - August 1994
JABRA Corporation, EarPhone Streamline/AV
CodeWarrior, Think C, C, 68K Assembly
Implemented PPC native sound in/output components and real-time sound cross-connect component used in conjunction with a telephone tool for Apple GeoPort POTS device. Along with JABRA Earphone, allows use of GeoPort on a Power Mac as a full duplex phone with imperceptible (40ms) audio delay and variable sampling rates. The first implementation of a voice recognition controlled phone, fax, and modem to reach the market.

March 1993 - February 1994
Thayer Software Corporation - STASH The Study Tool
THINK C for Macintosh, Microsoft Visual C for Windows 3.1
Led a team in the design and implementation of a cross platform (Windows, Mac - 85% shared code) flash card study tool called STASH®. Written in object C. Awarded US Patent #5,494,444 for the methods used within the program to display information for learning purposes.


Employee Development Projects:

Articulate Systems, Inc.
Heavily involved with A.O.C.E., Telephone Manager, Communications Toolbox, QuickTime Component Manager, IPC/AppleEvents, and Sound Manager for the design, architecture, and implementation of a two line voice/fax/modem for the Macintosh. Helped design a user interface for retrieving phone messages, e-mail, and faxes remotely using only a touch tone phone, speech recognition, and fax machine.

Designed and implemented serial communications driver for recording sound from the Voice Impact, a MacRecorder look-alike. Even at 22K byte data rate, interrupt routine consumes less than 38% of the CPU on a Mac Plus (140 machine cycles) by replacing the operating system interrupt handling routines and avoiding the use of registers. Works flawlessly on all Macs.

Implemented a System Extension (INIT) called Voice Bandit; a trap patch which substitutes Articulate Systems' Voice Record dialog for the standard Apple sound input dialog. Includes proper system heap management for 'snd ' resources, which can be rather large. Full im/export of multiple sound file formats.

Wrote Articulate Sound Input Manager (ASIM): a system software library for multi-channel, device independent, recorded sound input on the Macintosh. This library is a duplicate of the functionality of the System 7.0 Sound Input Manager, written from scratch without reverse-engineering, which adds Sound Input Mgr capabilities to Macs running System 6.0.5 and earlier.

Designed the Voice Annotation user interface and architecture for Microsoft Word 5.0. Component was written as a Word Installable Command (IC).

Firmware: Designed and implemented 22 KHz recording firmware using DSP (TMS320) on Voice Navigator II, voice recognition hardware. Utilized MACE 6:1 and 3:1 algorithms. Performed rudimentary digital filtering for enhanced sound quality. Also implemented fax, modem, and telephone control firmware for the Voice Navigator Classic, including HDLC handshaking & Group 3 fax protocols.

Turning Point Software, Inc.
For Adaptec, Inc., Milpitas, CA:
Wrote Mac SCSI hard disk drivers, installation programs, and error logging & correction algorithms. Drivers are still in use today without modification.

For Bold Technology, Inc., Boulder, CO:
Implemented second generation Macintosh SCSI disk driver. Designed & implemented one-button disk first aid utility which would diagnose and repair hard drives.

For Bowling Computer Systems, Wichita Falls, TX:
On-site consulting services for a networked, DOS bowling scoring system. The system used cameras and vision technology to detect balls and score pins. Implemented EPROM BIOS routines to replace drive A: so that the machine booted from a network server.


Professional Experience:

April 1989 - March 1993
Articulate Systems, Inc., 600 W. Cummings Park #4500, Woburn, MA 01801
Director of Macintosh Development


May 1987- Apr 1989, Mar 1993 - Feb 1994
Turning Point Software, Inc., One Gateway Center #800, Newton, MA 02158
Technical Leader, Project Manager


July 1986 - April 1987
Interactive Data Corporation, 95 Hayden Avenue, Lexington, MA 02173
Programmer/Analyst


Education:

Brandeis University, Waltham, Massachusetts
B.A. in Computer Science, May, 1986

Harvard University Extension, Cambridge, Massachusetts
Additional Computer Science Coursework, Spring 1987, Fall 1987, Spring 1988

Harvard University Extension, Cambridge, Massachusetts
Teaching Fellow, Computer Architecture, Spring Semester 1987, Spring Semester 1988


[ Send Mail to Angelfish Development | Back to Angelfish Intro | Back to David's Home Page ]


Page Hits
Since 1/1/98

Keywords: Macintosh Programmer, Macintosh Consultant, Mac Consultant, Audio Processing, DSP, Digital Signal Processing, C++ Programmer, Real-Time Programmer, Metrowerks, PowerPlant, Think Class Library, TCL, Symantec, MPW, PowerPC, 68000, 68K, Quality, Kelts, David Kelts