
software developer
programming since the 80s
Salt Lake City, Utah
Career
6/1/2001 to present
working for myself
Consulting and contract development, self-publishing apps and games.
6/1/1988 to 6/1/2001
working for the man
Wandering through the semiconductor, defense, space, computer graphics, mobile Internet, and video game industries.
Projects
3/1/2022 to present
app by Technicat
Mastodon/fediverse iOS app in progress, available on Testflightdeveloper, publisher
tech: iOS, Swift, Mastodon, fediverse
1/1/2014 to present
app by Technicat
Inspired by my attempts to order takeout at the food court during a consulting stint in Hong Kong. On the App Store.developer, publisher
tech: iOS, Swift, dim sum
12/1/2008 to 12/1/2019
game by Technicat
Be the ball! A Unity reimplementation of the classic bowling game, licensed from Hyper Entertainment.developer, publisher, licensee
- One of MacLife's Greatest iPhone Apps of 2009
- Available on the App Store and Steam
- Formerly available on the Amazon Appstore, Nook store, Itch.io, and various crappy app stores (crappstores?)
tech: bowling, 3D, Unity
4/1/2016 to 12/1/2024
app by Cinefex
An iPad reader for the Cinefex visual effects magazine, with extras such as videos and image galleries.developer
- Facilicated transfer from original developer to Cinefex LLC
- Fixed in-app-purchase issues
- Updated video player after Apple dropped support for previous API
- Updated issue download code after Apple dropped support for previous API (notice a trend?)
- Optimized startup time and browsing
- Updated to comply with ever-changing Apple requirements
tech: iOS, magazine, visual effects
4/1/2015 to 1/1/2017
app by WordsEye
iOS app for natural language 3D scene generator social platform.developer
- Released on the App Store
tech: iOS, 3D, social media, Xamarin, Swift
9/1/2011 to 12/1/2011
game by Heavy Water
A Playstation Home driving/shooting game with alien invader teddy bears.programmer
- Implemented collision physics among cars
- Programmer credit displayed in-world
tech: Playstation 3, Playstation Home, virtual world
9/1/2011 to 12/1/2011
game by Heavy Water
A Playstation Home multiplayer racing game.programmer
- Made some UI fixes just before release
tech: Playstation 3, virtual world, racing
9/1/2007 to 1/1/2011
virtual world by Avatar Reality
A 3D virtual world implemented with CryEngine.programmer
- Documented the Lua API and framework for creating minigames on the community wiki (a CryEngine wiki even copied part of it!)
- Integrated newer versions of Scaleform, including Scaleform IME for localization
- Tweaked CryEngine physics to support an in-world golf game
- Attended in-world developer meetings. Better than Zoom.
tech: CryEngine, metaverse, Lua, C++
5/1/2007 to 7/1/2007
graphics by Izware
A nifty 3D modeler originally developed at Nichimen Graphics.programmer
- Updated to work on Windows XP.
tech: 3D, C++
9/1/2006 to 5/1/2007
game by High Moon Studios
A vampire western for Playstation 2 and Xbox. demo builds.programmer
- Worked on HUD elements for health, ammo, special powers
- Implemented split-screen (multiple Renderware cameras) for multiplayer
- Added PAL support
- Integrated Lua scripting for audio effects and HUD elements
- Received programmer credit (but oddly required to list city of birth)
tech: Renderware, Xbox, Playstation 2, Lua, C++
6/1/2007 to present
game by Technicat
Small games released as webplayers, Mac widgets, and mobile apps.developer
- Fugu Maze, a suspense maze walkthrough that got twenty thousand downloads on the App Store in the first week and then a trickle after I started charging for it
- Fugu Bowl, a simple proof of concept for HyperBowl that got low ratings but was my most downloaded app (until Apple rejected upgrades).
tech: 3D, 2D, Unity, J2ME, C#
12/1/2003 to 5/31/2004
game by Visionscape Interactive
A skateboarding game bundled with Tech Deck figures.programmer
- Implemented installers so each game could be packaged separately and installed in any sequence
- Added dynamic shadows to replace the placeholder blob shadows (and then switched back to the blog shadows because the art director liked them better)
- Set up a push-button scripted build system so the producers could create a latest build from the subversion source at any time
tech: Windows, Renderware, C
7/1/2001 to 10/1/2002
game by Vivendi Universal Games
A scooter game.programmer
- Programmer for the GameCube version. Wrote a postmortem published on the Nintendo developer site and Gamasutra.
tech: GameCube, PhysX, 3D, C
1/1/2001 to 7/1/2001
game by Hyper Entertainment
A 3D attraction bowling game, rolling in fanciful locations.programmer
- Added localization support, particularly for Jillian's installations in Montreal (French)
- Implemented support for (potential) new lanes, e.g. a toy room, motocross slope...
- Profiled, optimized (those lanes kept getting bigger and bigger)
- Fixes for new graphics cards (pesky w-buffer...)
- Changes to facilitate arcade and PC versions (I'm there in the mobygames credits)
tech: 3D, Windows, arcade, attraction, C++
12/1/1999 to 7/31/2001
enterprise by Neomar
One of the first mobile web browsers, conforming to WAP standards.programmer
- Implemented an HTTP proxy in Java for the Neomar WAP gateway
- Launched on Motient's Blackberry service
- Company assets acquired by Good Technology
tech: WAP, HTTP, mobile, Java
12/1/1998 to 12/31/1999
enterprise by Interval Logic
Supply chain scheduling software for semiconductor fabs. Managed the group reponsible for installation, XML interoperability, and user interfaces.programmer
tech: Java, XML
11/1/1998 to 12/1/1998
enterprise by Interval Logic
Supply chain planning software for semiconductor fabs. Upgraded from Tcl to TclPro.programmer
tech: Tcl
9/1/1997 to 9/30/1997
graphics by Nichimen Graphics
Successor to N-Worldconsultant
- Fixed some graphics code (which I eventually realized was originally written by me)
- visited 3D hardware vendors in Silicon Valley (including a young nVidia) to get test cards and discuss OpenGL issues
- Used to make Gollum in the Lord of the Rings movies.
tech: 3D, OpenGL, Windows
12/1/1995 to 6/30/1997
graphics by Nichimen Graphics
A 3D modeling and animation package descended once upon a time from the Symbolics Graphics Group (written in Lisp, shhh!).programmer
- Ported from IrisGL to OpenGL on SGI workstations
- Ported from Irix to Windows NT
- Manager of Core Software (I made up the title)
- Used in the making of Mario 3D.
tech: 3D, OpenGL, Irix, Windows
12/1/1992 to 12/31/1993
government by JHU Applied Physics Lab
An expert system for submarine simulation.programmer
- Added support for local area network simulations (i.e. games)
- Added Distributed Interactive Simulation support for wide-area network simulations (wargames)
- Donned a submarine uniform and took part in two exercises like I was in The Hunt for Red October
tech: Distributed Interactive Simulation, Lisp, C++
11/1/1990 to 5/31/1992
government by Space Telescope Science Institute
A syntax-directed Emacs mode used by astronomers and Institute staff to prepare and edit Space Telescope observation proposals.programmer
- A member of the proposal preparation staff asked for my project to be continued after I left (but alas, no takers).
tech: space, emacs, Lisp
10/1/1989 to 10/31/1990
research by MIT
A computer architecture based on content-addressable memories. Implemented compilers and simulators and simulations for the Database Accelerator and Content-Addressable Parallel Processor.programmer
tech: VLSI, CAD, Lisp
5/31/1988 to 9/30/1989
enterprise by Texas Instruments
A VLSI layout synthesis tool, used in-house to design new products, running on TI Explorer Lisp Machines. Added optimizations and other improvements, skipped most of the meetings (also an optimization).programmer
tech: VLSI, CAD, Lisp
9/1/1987 to 5/31/1988
research by MIT
Bachelors thesis project implementing an Othello game in Multilisp (Multello) to run on the Concert 32-processor computer, trying various parallelism strategies to compare processor utilization and final performance.student
- Wrote the thesis in LaTeX on a Symbolics Lisp Machine.
- Cited in a PhD thesis.
tech: game, parallel processing, Lisp
6/1/1987 to 8/30/1987
research by MIT
Part time student work on a graph display for the the START natural language parser, then running on Symbolics Lisp machines.student
tech: natural language, Lisp
Publications
published by Apress on 6/1/2013
published by self on 1/1/2015
Education
9/1/1991 to 5/26/1993
Masters degree in Computer Science
GPA: 3.x
courses: AI, computer graphics, automata, algorithms, compilers, functional programming
9/1/1984 to 5/31/1988
Bachelors degree in Computer Science and Engineering
GPA: 3.x
courses: 6.001, 6.002, 6.003, 6.004



























