I started out as a self-taught coder on an Apple II+ in high school and wandered through the semiconductor, government/defense, internet, and game industries before setting up shop as Technicat LLC, providing contract development, consulting, and the occasional open-source contribution, while self-publishing apps and games. It’s all in my podcast interview.



2002- Las Vegas, Nevada

Currently on the App Store, a licensed Unity reimplementation of the HyperBowl arcade/attraction game I worked on at Hyper Entertainment, and the Talk Dim Sum food and language app written in Swift (originally Xamarin, while I was on a consulting gig in Hong Kong and trying to learn how to order food). Other self-published apps and games are on itch.io and Steam.

But contract and consulting work pays the bills (notwithstanding the occasional deadbeat client). I've contributed programming, consulting, customer support, project management, and writing, but mostly programming, to a variety of projects over the last two decades, such as

Hyper Entertainment

2001 Burbank, California

Maintenance and development of the HyperBowl arcade and attraction 3D bowling game. Optimized rendering, added performance analysis tools, an experimental XML format, updated the data importer to work with newer content creation tools, modified the DirectX renderer to work with newer graphics cards, localized the game for French installations, tweaked the audio code, and added support for arcade machines and new gameplay features.



1999 - 2000 San Francisco, California

Technical Lead for the web proxy portion of a WAP gateway supporting Neomar’s wireless browser on Blackberry and Palm devices. Implemented HTTP, transcoding, and SSL support all in Java. Design to release in five months, between the Series A and Series B funding rounds. All I got was this lousy stock certificate.

Interval Logic

1998 — 1999 Redwood City, Califonia

Optimized Interval Logic’s fab automation planning system (Leverage for Planning) using Tcl Pro, then became a team lead responsible for various scheduling system (Leverage for Scheduling) clients, implemented with Visual Basic, Java Swing and XML.

Digital Chameleon

1997 — 1998 Los Angeles, California

Vice President of Technology at a three-person startup developing 3D computer graphics tools using Java and OpenGL on Silicon Graphics workstations and Windows PCs.

model courtesy of ElektraShock

Nichimen Graphics

1995 — 1997 Los Angeles, California

Ported the 3D content creation software NWorld (later Mirai) from IrisGL to OpenGL on Silicon Graphics workstations, then promoted to Manager of Core Software and led a team porting NWorld onto Windows NT. Responsible for “core” libraries of the system, including OpenGL, audio, licensing, user interface, video.


BBN Technologies

1994 — 1995 Cambridge, Massachusetts

Principal coder on the ARGUS data management system using Common Lisp and the Common Lisp Interface Manager and helped maintain the PRISM acoustical analysis software.

Science Applications International Corporation

1993 — 1994 Columbia, Maryland

Implemented and integrated the networking code for Distributed Integrated Simulation at the Johns Hopkins Applied Physics Laboratory, connecting rule-based and manually operated submarine simulations (essentially networked video games).

Space Telescope Science Institute

1990 - 1992 Baltimore, Maryland

Proposal preparation software for the Hubble Space Telescope, used by astronomers to submit requests for HST usage. Created an Emacs mode for editing proposals, popular enough that one person in the proposal support group requested continued support of the product after I left.

Massachusetts Institute of Technology

1989-1990 Cambridge, Massachusetts

Developed simulators and sample applications for content-addressable memory, the Database Accelerator and Content Addressable Parallel Processor, at the Microsystems Technology Laboratory, running on Macintoshes and Unix workstations.

Texas Instruments

1988 — 1989 Dallas, Texas

Worked on DROID, a VLSI CAD synthesis tool running on TI Explorer Lisp Machines. Implemented technology libraries and optimized the automated routing system.


The Johns Hopkins University

M.S. Computer Science 1993 Baltimore, Maryland

Teaching assistant for Computer Literacy 101.

Massachusetts Institute of Technology

S.B. Computer Science and Engineering 1988 Cambridge, Massachusetts

Thesis: Exploiting Parallelisism in Game-Playing Programs. Implemented a Multilisp reversi program on Concert, a 33-processor Multilisp machine.

Concentration in Political Philosophy.

West Senior High School

1984 Iowa City, Iowa

Drawing from Berkely Breathed when he visited the art class.

The first computers I programmed.

Computer History Museum

Subscribe to Technicat

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.