cell: (415) 694-0556
OVERVIEW
·
24+ as a technologist with a focus on multimedia
·
Pioneer in interactive multimedia and content
distribution
·
Has delivered code that has been deployed on
millions of clients
·
Has exhibited and performed as visual artist,
musician, and VJ
·
Languages: Python, Java, C++, some JavaScript,
others
Muse.com,
Inc.: Founder (2005-present) – Social media platform for
touch-enabled mobile devices, game machines, and media hubs
·
Designed and coded client for iPhone voting app, in top ten at iPhoneDevCamp, in JavaScript, CSS, Firebug (backend used Ruby
on Rails and Merb)
·
Designed & coded a Domain Specific Language
(DSL) in Python, C++, STL
·
Designing DSL
to simply JavaScript, CSS, DOM, Xpath, and XSLT development
·
Developed an ontology explorer in Java, Prefuse
Toolkit, Lucene text engine.
·
Developed a Pop client for media enhanced SMS
messages in C++, Python, MPG encoders
·
Prototyped user generated content community site
for mobile devices, JavaScript for iPhone
·
Filed patents on media enhanced mobile messaging, and
user generated superdistribution
·
See www.muse.com/tr3
Snocap: Senior Client Engineer (2004-2005) – P2P media
license management.
·
Developed SDK for retailers VC++, XML, XSLT,
Python, ElementTree,
·
Acoustic fingerprinted SDK integration, using
Phillips SDK (now acquired by Gracenote)
·
Security Analysis (discovered man-in-middle flaw)
and implementation
·
Security protocol implementation in C++, CrtypoPP
·
Testing infrastructure, with Pamie
(Python) and CPPUnit
·
Acoustic fingerprinting SDK integration in C++
·
value proposition matrix for business strategy in
Visio
·
Identified new products, with Photoshop mockups
El Gato Systems: Contractor (2004) – maker of
Personal Video Recorders, multimedia hubs, and Roxio’s Toast & Jam.
·
Prototyped a music visualization system for a
Macintosh based DVD authoring software package.
·
Evaluated many encoding formats and codecs
MX
Entertainment: Contractor (2003) – maker of multi-angle music DVDs
for the Recorded Music Industry:
·
Created animations and bonus track visuals for
music DVDs for clients: EMI Music, Vivendi Universal.
·
Animated JPGs of album
cover artwork, using custom tilings, in VC++, OpenGL,
and Nvidia SDK.
·
Created frame-stepping authoring environment to
simultaneously animate and render video AVIs using
VC++, ATL, COM, DirectShow, Nvidia SDK.
·
Developed custom 4 point Luma
key that enabled two layers of video to pass switch foreground and background
positions, using VC++, ATL, COM, cellular automata.
·
see: http://www.muse.com/tbs.mpg
Vuppet Corp: Co-founder (2000-2001) – developer
of 3D gestural input device.
·
I invented , filed patents, raised first Angel
round, prototyped, and tested in the field a ball like virtual puppeteering
device for games consoles, using MEMs accelerometers.
·
This was 5 years before Nintendo launched the Wii.
Muse.com,
Inc.: CTO (1998-2003) – developer of Online Self Expression:
Registered Muse.com in 1994, while still a CTO at
TestDrive, based on a nebulous idea that the web would change how people would
express themselves. In 1998, began to work full time on creating a switchboard
of the muse.
·
Designed and coded an thick client to translate
gestures from any input device to MIDI System Exclusive, which can then be
shared to reproduce the same visual experience – exceeding the resolution of
HDTV at less than 1/10th the bandwidth.
·
Designed and implemented 2D visual synthesizer with
tablet and midi interfaces, that flipped between GDI and DirectX video
surfaces, using VC++ and debugged on 2nd computer using the Visual
C++ Remote Debugger.
·
Designed and implemented 3D visual synthesizer,
with DirectX9, DirectInput, Wintab, DirectShow,
OpenGL, GLUT, IJG Jpeg library, Microsoft MM API, ATL, COM, MFC, Nvidia SDK.
·
Created a simple script language that maps input
devices to renderers though an Ontology which passes
messages to a C++ wrapper class, and persists via MIDI System Exclusive.
·
Designed collaborative multimedia performance
architecture and filed provisional patent applications.
·
Participated in Doug Englebart’s
colloquium on hypertext (see Apriori, below).
·
Participated in Alan Cooper’s Design+FUN
sessions of the Association for Software Design, as he formulated his
techniques on Goal centered design.
·
Presented talks on new media clients, at TBWA/Chiat/Day, Asilomar Microcomputer
Workshop, Silicon Valley Association of Software Entrepreneurs, and at JavaOne.
·
Exhibited interactive video at San Jose Museum of
Art and SF MOMA opening party for TransCinema
exhibit.
·
Successfully performed the client as a stand-alone
visual instrument at concerts, clubs, and festivals
·
see: http://www.muse.com/synesthesia.mov
Coincidence,
Inc: Developer (1997-1998) – Private Peer-to-Peer networks:
·
Researched sharing of interests over the Internet
without a trusted 3rd party.
·
Evaluated Crypto, EuroCrypt,
ATT papers on Secure Computation, protocol analysis, Proactive Secret Sharing,
DC-NETs, electronic cash, and anonymous IP.
·
Presented overview of “Anonymous Collaboration” to
RSA Data Security Conference 1998, using Visio, Photoshop, and PowerPoint.
TestDrive
Corp.: CTO (1992-1997) – Electronic Software Distribution Provider:
·
Technology lead that transitioned service company (AdWare) into becoming the industry standard for electronic
software distribution, though two complete product cycles, and millions of
units distributed by Intel, HP, Id(Quake), Frys,
Borland, Lotus/IBM, and many others.
·
Lead programmer for first thick client to download,
install, copy protect, and buy content over the internet, using Borland C++,
BSAFE, OLE, CyberCash.
·
Invented Electronic Shrinkwrap
(US
Pat. 5341429), which, at last count, has been cited 119 times by patents
mostly focused on the DRM (digital rights management).
·
Invented Virtual Install (US
Pat. 5642417) which was licensed to Marimba.
·
Technology due-diligence lead, through first 3
rounds of funding ($7 Million), including investors: Intel, USVP, R.R.
Donnelley, and RSA Data Security’s Jim Bidzos.
·
Used undocumented Windows and DOS calls and
WinHook.DLL to walk windows handles, modify directory entries, and redirect
Windows file IO.
·
Developed software virtualization analyzer to
generate call-graph between software components, using Borland C++, Microsoft
C, Nu-Mega SoftIce, Nu-Mega API sniffer,
WinHook.DLL, and undocumented DOS and Windows routines.
·
Developed client code to download software via UDP
sockets, using WinSock 1.1 and Microsoft C.
·
Developed client to update software patches, though
Microsoft C and a 3rd party package to manage binary deltas (forgot
name, was later incorporated into InstallShield).
·
Architected Server Client protocol for multiple
internet storefronts, using a UML-like synthesis of activity, sequence, and
deployment diagrams that integrated to both Microsoft Project and a job cost
system.
·
Designed a program generator to obfuscate unlock
keys, using Borland C++.
·
Collaborated with Bruce Schneier
(Counterpane) Paul Kocher (Cryptography.com), Taher ElGamal (now a VC), and David Aucsmith
(then of Intel Architecture Labs, now Chief Security Architect for Microsoft)
on threat models, design, and implementation of copy protection for content.
·
Designed and coded client state-machine to manage
unlock transaction between Melior’s credit card
transaction service based on Stratus computers and a thick client, using
Borland C++ and RSA DSI’s BSAFE toolkit.
·
Produced first ever CD-ROM insert into a major
magazine: “Multimedia Systems”.
·
Developed proprietary internet and voice-telephone
based key exchange using Borland C++.
·
Wrote OO wrapper around RSA Data Security’s BSAFE
Tool kit, using Borland C++.
·
Created STL-like class library that implemented
Strings, Queues, Hierarchy, and Directed Graph.
·
Used a 3rd party memory pool to
eliminate stack overwrites and memory leaks, using
·
Hired initial contractors, VP of Engineering, and
co-hired 6 software engineers.
·
Gave TestDrive 6-months notice to smooth transition
of responsibilities to marketing and development.
AdWare, Inc:
Technical Director (1990-1992) – Technology lead for the
industry’s top interactive multimedia developer:
·
Designed and coded a multimedia language used on
several million Diskettes, CDs, and Internet clients, using MS C, Borland C++,
OWL2 (an STL-like application framework).
·
Developed animation special effects by writing directly
to graphics chip registers, and proprietary code in MSC, Borland C, and Grasp.
·
Developed anti-aliased font system, titling
systems, using Borland C++, and Grasp.
·
Managed small teams creating interactive multimedia
projects for Microsoft, Apple, Intel, Adobe, HP, Computer Associates, Lotus,
GM, Forbes, Id, Olgilvy&Mather, and others.
(archive: www.muse.com/demos)
·
Produced the first ever native Windows demo for Microsoft’s
Windows For Workgroups, which at the time, was Bill Gate’s favorite demo, with MacroMind Director, and Windows run-time, with some special
effects created in C and Grasp (archive: www.muse.com/demos/WindowsWG.zip).
·
Created a memory management script layer above a
DOS based animation API, in Grasp.
·
Swapped between Grasp and C with minimal changes to
script, using Borland C, and the Genus Graphics ToolKit.
·
Produced the demo for Microsoft’s first version of
Video For Windows, with a Targa 64+ card, Grasp, DDK,
MASM, VFW16 drivers.
·
Licensed and produced PCM sound driver for first
widely deployed demos to use music, for Computer Associates (when PCs would
only beep), using MASM, TASM and RealSound toolkit.
·
Produced the first major magazine insert of a
diskette, sub-contracted by Olgilvy&Mather direct
for Forbes Magazine, which included 10 interactive ads and an editorial, using
proprietary script, Borland C, and Grasp.
·
Independently developed new printing process, which
was exhibited in show sponsored by Apple, “Innovators in Digital Art”, using
Turbo Pascal and HP PCL.
Lotus
Development: Lead programmer (1990) – Special Editions: Lotus Choices
·
Moved from role of project manager to lead
programmer of first ever electronic software distribution product: Lotus
Choices.
·
Refactored 20K
lines of code, in 3 weeks, to separate out API Calls from 3rd Party
GDI toolkits.
·
Swapped out CScape
graphics tool kit with Genus GDI toolkit in two days, thereby saving the
project from imminent cancellation.
·
Identified a memory management flaw (called
best-fit), eliminating a long-standing crash-bug.
·
Created a back-page flipping mechanism to swap full
screen graphics in less than 30 milliseconds, using Borland C, MS C, and Genus
Toolkit.
·
Created a command line toggle between graphics
implementations to eliminate conflicts with Lotus Development’s QA tools.
·
Designed a user-navigation log to capture usability
data, in C.
·
Rewrote data structure to bind hierarchical
Standard Industry Codes, with directed graph of Lotus product features and
benefits.
Borland
Intl.: Software QA
developer (1989) for Anders Hjeldsberg’s Turbo
Pascal 5.5 (who subsequently designed
·
Developed company's first Object Oriented compiler
test suite
·
Created a script to generate thousands of classes
from dozens of lines of code, written in Turbo Pascal.
·
Determined limits of objects supported by Boland
and Microsoft Compilers and debuggers
·
Tested and reported compiler metrics used by
Borland marketing, and instrumental in Microsoft taking their Pascal off the
market.
Apriori Inc: Technical Director (1985-1989) – Developer
of wireless newswire services using FM Sideband and proprietary Hypertext:
·
Conceived, designed, and developed a hypertext client
and packet radio receiver for Equatorial to deliver and present newswire
services over FM sideband.
·
Developed hierarchical news reader using CGA text
graphics, in Turbo Pascal.
·
Designed and coded general-purpose hypertext system
(inspired by Englebart's Augment), in TurboPascal.
·
Contracted offshore implementation of development,
in
·
Contracted offshore conversion of API newswire data
to test database, in
·
Technology due-diligence lead for Financial Times
of London and UPI wire service clients.
·
Managed offshore development with SuperCalc and SuperProject.
Aha, Inc:
Technical Director. (1983-1985) – Project Management Software
Vendor:
·
Conceived and designed 3rd generation project
management system for Xerox and Aha, using Petri-nets.
·
Legally imported software into
·
Managed software development in
·
Led Project management seminars and consulted government
and Fortune 500 companies, including: Bechtel, Kaiser Engineers, Lawrence
Livermore Labs, Lockheed, NASA, Shell Oil, United Technologies, and Varian.
·
Technology and Project Management due diligence for
an angel investor (C.N. Swenson).
·
Designed and developed multi-user telemarketing
system written on a modified version of dBASE II.
Stringer
Art / MFD Manufacturing: Accounting (1979-1982) – Distributor
of fine-art prints, framing supplies, and stained-glass manufacturer:
·
Designed and developed a Hierarchical DBMS for
inventory control on a first generation microcomputer, HP 9831A, with HP Basic.
·
Managed inventory, and accounting for several
family-owned businesses, using first generation desktop computer with HP
software.
Current Interests
·
Touchable mobile media devices (like iPhone)
·
Finger painting
·
Visual Music
·
Social media scripting
·
Performing live media
·
Screenwriting and Filmmaking