I started out as a self-taught coder on an Apple II+ in high school, then, armed with CS degrees from MIT and Johns Hopkins, wandered through the semiconductor, government/defense, internet, and game industries before setting up shop as Technicat LLC, providing contract development and consulting services 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.
My own projects are fun, but contract and consulting work pays the bills. Some of the projects that I collaborated on (and that saw the light of day):
The Windows XP update of Nendo, a 3D modeling tool by Izware
Learn Unity 4 for iOS Game Development, published by Apress
2001 Burbank, California
Taking over for the original lead programmer, continued maintenance and development of the HyperBowl arcade and attraction 3D bowling game (now reimplemented and republished by me under license by Absolute Certainty). 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. I left when they pivoted from b2c to b2b. They eventually sold their assets to Good Technologies. All I got was this lousy stock certificate.
1998 — 1999 Redwood City, Califonia
Joined my old boss from the Space Telescope Science Institute, at a startup applying his telescope scheduling algorithm to semiconductor manufacturing. As Principal Senior Software Engineer, 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.
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.
1995 — 1997 Los Angeles, California
First dip into the startup pool, joined what was originally the Symbolics Graphics division after it was acquired by Nichimen. 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.
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. Started using this new thing called HTML and the World Wide Web for project documentation.
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) Received several letters of commendation from SAIC and APL management (government work, great at awards in lieu of cash)
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 (but was denied). Got this cool poster, flown on the repair mission!
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.
1988 — 1989 Dallas, Texas
M.S. Computer Science 1993 Baltimore, Maryland
Teaching assistant for Computer Literacy 101.
S.B. Computer Science and Engineering 1988 Cambridge, Massachusetts
Concentration in Political Philosophy.
Odd jobs included research assistant developing machine vision and natural language displays in the MIT AI Lab on Symbolics Lisp machines, sales rep in the MIT Microcomputer Center, tech support in a Mac lab, and writing technical press releases for a public relations firm.
1984 Iowa City, Iowa
Winner of the local soil conservation essay contest.
Drawing from Berkely Breathed when he visited the art class.
The first computers I programmed.