![]()

Macintosh Software Development, Internet Access
Consulting, Web Page Design and Development.
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.
C++ (TCL & PowerPlant), C, 68000 Asm, AppleScript,
HTML, DSP TMS320, HyperTalk, 8086, 6502, Pascal
CodeWarrior; MPW C, Assembler, C++; Symantec
C++; THINK C/Pascal; AppleScript; FaceSpan; HyperCard
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.
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.
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.
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
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
| Page Hits | |
| Since 1/1/98 | |