A resume is also available.
Trusted Media Networks, Inc. April 2002 to present. Director of
Client Software Development. Projects included:
- Designed client/server protocol for background content delivery system;
created prototype client to implement the protocol;
ported prototype system libraries to facilitate cross-platform development of production client;
implemented Macintosh versions (Classic and OSX) of the client.
Developed cross-platform unit test for all client platforms.
- Developer for TrustCast server.
Designed database tables; fixed defects; implemented features; designed retrofitted comprehensive unit test suite.
Built web application for managing content subscribers.
- Responsible for overall system security and tracking cost/benefit analysis of various potential attacks.
Electric Fish, Inc. January 1996 to March 2002. Co-president
and Senior Development consultant. Projects included:
- Nova Development. Reengineered Print Artist as a new
application Print Explosion 1.0. Abstracted internal database interface; implemented AppleScript development extensions; added drag and drop, contextual menus and
AppleGuide support; coded threaded drawing model; converted code base to run under Carbon and OS X (Print Explosion Deluxe). Refactored code base to support multiple products including T-Shirt Factory 1.0
using VOODOO variants and Design Patterns.
- Electric Fish, Inc. Developer for PhotoPress, a consumer digital
photography application. Redesigned subsystem interfaces, generalized error handling, added AppleEvent support and improved stability.
- Extensis. Extended functionality of Suitcase MenuFonts WYSIWYG menu extension.
- CvsGui Project. Contributor to the MacCVS code base. Maintained and expanded AppleEvent suite, implemented GUI changes,
wrote documentation, created test suites and added various features, including external difference.
- Electric Fish, Inc. Ported John Norstad's public domain news reader NewsWatcher to the Macintosh Carbon API, resulting in the NewsWatcher-X news reader.
- Microsoft Corporation. Ported Proofing Tools for Microsoft Office 2001 (US and Japanese) and
Microsoft Office X (German).
- Amazon.com. Generalized and extended back end shipping tables for large scale e-commerce system.
Designed data structures and tables for internationalization and localization of the web site.
- Perforce, Synergex and Electric Fish, Inc. Wrote CodeWarrior version control plug ins
for Perforce, PVCS, MPW Projector and GNU CVS version control systems. Maintained the online resource Macintosh Version
Control.
- Alki Software. Designed and wrote proprietary Java application for filtering and classifying
newspaper want ads.
- CyberSafe, Inc. Ported Kerberos security toolkits to Macintosh platform as PPC and 68K code
fragment libraries; wrote Macintosh Challenger control panel interface, extension and system menu.
- Intermind. Assisted in development of
Macintosh version of cross-platform internet
subscription application (Communicator<). Developed MacTCP-based sockets layer;
implemented various pieces of
platform-specific functionality;
assisted in debugging cross-platform code base issues.
- Sierra On-Line. Ported Sierra's Print Artist 4.0 to Macintosh platform. Refactored command architecture using MVC pattern; reengineered Windows
C code base in C++ to provide reliability, understandability and platform independence.
- Spry/CompuServe. Modified
FreePPP to create custom mdev for MacCIM 3.0 client; designed cross-platform architecture for SPRYNet
registration application.
Punch Deck Consulting. February 1994 to December 1995. Self employed as software
development consultant for various clients.
- Spry/CompuServe. Designed and implemented asynchronous communications classes to provide a
cross-platform support layer for serial communication; supported communications mechanisms include the serial driver, MacTCP and the Communications Toolbox. Developed
custom control application for FreePPP using Metrowerks
PowerPlant.
- Real Networks. Contract engineer on Macintosh client application for TCP/IP based audio on demand
system (RealAudio). Wrote freeware client and service daemon in Metrowerks PowerPlant;
ported core engine from Windows and made it reentrant for use with asynchronous MacTCP and file I/O; recoded proprietary decompression engine in 68K assembly to improve
speed by a factor of three, allowing client to run on Mac II; reworked source for compression engine to allow real-time encoding on a PPC 601/66.
- Deloitte and Touche. Contract engineer on Macintosh client application for social worker
case management system. Made virtual memory subsystem stable and responsive; wrote Jasik Debugger scripts for debugging
virtualized objects; created MPW precompiled headers and support scripts to dramatically reduce build times; removed compiler dependencies from object swapping mechanism
to improve portability and allow modification of header files; improved performance by expanding system's widely used unkeyed linked list class to transparently support
arrays, splay trees and keyed searching.
- Sierra On-Line. Localized Macintosh and Windows multimedia children's game The Lost Mind of Dr. Brain into French language, using provided art and audio scripts. Processed raw data
into game format, modified game editors for language-specific problems, provided QA for artists and French designers, worked puzzles to ensure accuracy.
Implemented several compression algorithms (0-order Adaptive Huffman, Lempel-Ziv SS, ADPCM) for use in cross-platform Multimedia titles using Abstract Factory and
Strategy Design Patterns to provide maximum flexibility for algorithm tuning; packaged
algorithms in utilities for simple drag-and-drop data preparation.
- Bright Star Technology. Developed class hierarchy to implement general-purpose screens for cross-platform language instruction
products.
Reengineered in-house multimedia sound editing system to support AIFF-C files and to improve reliability and performance. Upgraded commercial
multimedia engine for Macintosh Quadra/AV/PowerPC compatibility.
- Alki Software. Assisted in the development and release of
Alki MasterWord 6.0 for Windows and Alki DocStudio,
two add-on products for Microsoft Word for Windows 6.0, using Visual C++/MFC to write DLLs and Windows message hooks.
- Integrated Learning Systems. Developed small database server application using AppleEvents and a commercial database engine; wrote XCMDs to
connect AuthorWare client stack to the server.
January 1992 to April 1992.
Alki Software. April 1992 to January 1994.
- Rewrote company file search Desk Aaccessory (Alki Seek) in Think C with Objects.
Developed small UI
framework based on the Macintosh Dialog Manager for use in Seek and other company products.
Seek was awarded four mice by MacUser magazine and listed in June 1993 MacUser
collection of 13 essential Macintosh utilities.
- Expanded functionality of Seek to include Indexed, Wu-Manber (approximate), Soundex (phonetic) and Boolean proximity text matching. Designed
and implemented edit control to display unlimited line wrapped text streams in fixed memory.
Ported Seek to Windows 3.1 using Microsoft Visual C++ and MFC 2.0. All features implemented on both platforms.
- Incorporated Seek's UI framework into
Alki MasterWord, a customizable
floating tool palette for Microsoft Word for Macintosh 5.0/5.1. Invented automatic generation scheme for creating tool palettes from user's most frequent commands.
Portions of MasterWord were incorporated by Alki into the tool bar that Microsoft included with Word 5.1 for the Macintosh.
Bright Star Technology. January 1989 to November 1991.
- Project Leader and Chief Architect for text-to-speech system. Developed data-acquisition tools and speech rendering engines, filed three
patents (
5,278,943, issued January 11, 1994;
5,613,056, issued March 18, 1997;
5,630,017, issued May 13, 1997;
5,689,618, issued November 18, 1997). Hired project's technical staff.
- Technical Lead for company's patented random-access animation engine. Patched Macintosh Window Manager to implement a "layer manager" for
floating the animation windows, reengineered the code to be 25% smaller while increasing functionality and speed, improved blitter speed and functionality, productized
animation engine into commercial products interFACE and At Your Service.
- Other duties included QA fault analysis for products, QA tool development, code library maintenance and development, reverse engineering for QA,
development tool evaluation.