Skills Summary
- Strong Object-Oriented design and implementation skills.
- Mac OS and Windows NT/95 development and user interface design.
- Software internationalization and non-Roman text handling.
- Application and system software.
Technical Summary
- Languages: C/C++, Dylan, Pascal, AppleScript, PostScript, Hypertalk, NewtonScript, Smalltalk; PowerPC, 680x0, and 6502 assembly.
- Systems: Mac OS X, Mac OS Classic, Windows NT/95.
- Technologies (Mac OS): Carbon, QuickDraw, HFS/HFS+, Apple Events, AppleScript.
- Technologies (Windows): Win32/GDI/Common Controls, COM.
- Tools (Mac OS): Xcode, Metrowerks CodeWarrior, MPW, MacsBug, gdb.
- Tools (Windows): Metrowerks CodeWarrior, Microsoft Visual Studio, WinDBG.
Experience
Apple, Inc. Cupertino, CA September 2007 – current
Software Development Engineer
- Developing AppleScript and related software.
Consulting January 2007 – September 2007
Consultant
- Developed biomedical software.
Microsoft Corporation Mountain View, CA December 2004 – January 2007
Software Design Engineer
- Virtual PC for Mac
- Entourage
Palm, Inc. Milpitas, CA January
1999 – January 2004
Software Engineer
- Developed Palm Desktop personal information manager (PIM) software for Mac OS.
- Redesigned and re-implemented the AppleScript support, including writing new terminology documentation, providing users with a vastly improved scripting experience and increased utility.
- Carbonized Palm Desktop to support Mac OS X.
- Developed Quick Tour tutorial application for three Palm OS handhelds.
- Decreased the application size to fit in ROM by adding support for compressed PNG images, improving the initial user experience, which previously required installing the tutorial before use.
Harlequin, Inc. Menlo Park, CA October 1996 – November
1998
Software Engineer
- Designed and implemented advanced software development environment for the Dylan
programming language, including:
- browsers for program information such as source files, class hierarchies, namespaces, function and variable references, and compiler-generated warnings/errors;
- advanced text search and replace tools applied uniformly across open files, files on disc, and within browser displays.
- Brought to the team a focus on users and usability, mainstream integrated development environments, and Windows UI Guidelines, resulting in a more productive user experience, and a more coherent design strategy centered on a Web browser-like approach.
- Participated in ongoing Dylan language and library design.
Claris Corporation (now Apple, Inc.) Sunnyvale, CA March 1995 – September
1996
Software Engineer
- Designed and implemented OpenDoc-related software, including:
- a prototype implementation of ClarisWorks office suite as an OpenDoc component;
- Virtual Suite Extensions (VSX), which provides a means for presenting a consistent UI among disparate OpenDoc components and dynamically replacing the look and feel with alternate presentations.
- Designed and prototyped a multilingual, styled text editor engine that supported:
- Western European, Japanese, Chinese, Korean, Arabic, Hebrew, and Hindi scripts;
- right-to-left and vertical text;
- advanced typography such as kerning, optical scaling, and ligatures.
- Designed and implemented a Hypercard prototype of an education/productivity suite for primary school students, including writing and drawing activities, and featuring animation and sound effects.
Adobe Systems, Inc. Mountain View,
CA June 1991 – February 1995
Computer Scientist
- Designed and implemented an SDK for producing Mac OS-hosted PostScript printer solutions (RIPs), including a server, printer driver, and communications protocol, which dramatically reduced the time to market and development costs for PostScript printing solutions.
- Designed and developed utility applications including:
- an AppleScript-based printer QA automation tool;
- a Japanese font installer that managed licensing/copyright protection issues and translation of font formats;
- a Hypercard stack that automated creation of PostScript Printer Description (PPD) files.
- Adobe PostScript interpreter development highlights:
- Ported the interpreter to the then alpha-stage PowerPC platform, including assembly code for custom multi-threading, resulting in dramatic performance increases.
- Redesigned core pixel marking code to automatically generate custom code that is more efficient for specific printing devices.
- Identified a key performance issue in the interpreter, which, when fixed, produced up to a ten-fold increase in performance for the time to start printing.
T|Maker Company Mountain View, CA June
1989 – June 1991
Manager of File Transparency
- Managed and implemented the WriteNow word processor file translation system, including creation of a common intermediate data format.
- Participated in the design of WriteNow.
NISUS Software, Inc. San Diego, CA March
1988 – March 1989
Software Engineer
- Designed and implemented NISUS word processor file translator, document readability index generators, and other word processor software.
Presentations
- Carbon Nation: Modern Mac Programming With The Carbon Framework — MacHack 18, 2003
- Dylan Grand Tour — SmartFriends™ U: Languages & Libraries, 2003
Other Experience
- Created PowerPC acceleration hack for F/A-18 Hornet flight-combat game, which dramatically improved game performance, by reverse engineering existing graphics rendering code and translating from 680x0 to PowerPC assembly. Included developing a custom installer to patch into existing game (included identifying a key bug in Apple's PowerPC assembler—what fun!).
- At the request of ParSoft Interactive, created similar PowerPC acceleration hack for A-10 Attack!
- Developed a Mac OS Desk Accessory that provided Finder-like file operations (e.g., open, copy, delete) without quitting the current application (back then, we didn't have luxuries like MultiFinder; kids these days, don't know how good they've got it).
Education
Associate of Applied Science, Electronic Engineering
ITT Technical Institute, La Mesa, CA, 4.0 GPA with honors