software developer
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
developer, publisher
Mastodon/fediverse iOS app in progress, available on Testflight
resume/images/fedicat/screenshots/profile.jpegresume/images/fedicat/screenshots/neodbhome.jpegresume/images/fedicat/screenshots/alienearth.jpeg
    tech: iOS, Swift, Mastodon, fediverse
    1/1/2014 to present
    app by Technicat
    developer, publisher
    Inspired by my attempts to order takeout at the food court during a consulting stint in Hong Kong. On the App Store.
    resume/images/talkdimsum/screenshots/talkdimsummockup.png
      tech: iOS, Swift, dim sum
      12/1/2008 to 12/1/2019
      game by Technicat
      developer, publisher, licensee
      Be the ball! A Unity reimplementation of the classic bowling game, licensed from Hyper Entertainment.
      resume/images/hyperbowl/hyperbowlforestscreenshots/hyperbowlforest.pngresume/images/hyperbowl/hyperbowlhighseasscreenshot/hyperbowlhighseas.png
      • 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
      developer
      An iPad reader for the Cinefex visual effects magazine, with extras such as videos and image galleries.
      resume/images/cinefex/screenshots/cinefex.png
      • 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
      developer
      iOS app for natural language 3D scene generator social platform.
      resume/images/wordseye/trend.avifresume/images/wordseye/workspace.avif
      • Released on the App Store
      tech: iOS, 3D, social media, Xamarin, Swift
      game by Heavy Water
      programmer
      A Playstation Home driving/shooting game with alien invader teddy bears.
      resume/images/emoray/emoraycredits.jpg
      • 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
      programmer
      A Playstation Home multiplayer racing game.
      resume/images/rcrally/RC_Rally_icon.webpresume/images/rcrally/RC_Rally_screenshot.webp
      • 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
      programmer
      A 3D virtual world implemented with CryEngine.
      resume/images/bluemars/bluemarsgolf.pngresume/images/bluemars/avatarreality.jpgresume/images/bluemars/bluemarsavatar.jpg
      • 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
      programmer
      A nifty 3D modeler originally developed at Nichimen Graphics.
      resume/images/nichimen/nendo-modeling.jpg
      • Updated to work on Windows XP.
      tech: 3D, C++
      9/1/2006 to 5/1/2007
      game by High Moon Studios
      programmer
      A vampire western for Playstation 2 and Xbox. demo builds.
      resume/images/darkwatch/darkwatch.jpg
      • 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
      developer
      Small games released as webplayers, Mac widgets, and mobile apps.
      • 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
      programmer
      A skateboarding game bundled with Tech Deck figures.
      resume/images/techdeck/techdeck.jpg
      • 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
      programmer
      A scooter game.
      resume/images/whirltour/Whirl_Tour.jpg
      • 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
      programmer
      A 3D attraction bowling game, rolling in fanciful locations.
      resume/images/hyperbowl/metreon.jpg
      • 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
      programmer
      One of the first mobile web browsers, conforming to WAP standards.
      resume/images/neomar/neomar.png
      • 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
      programmer
      Supply chain scheduling software for semiconductor fabs. Managed the group reponsible for installation, XML interoperability, and user interfaces.
      resume/images/ilc/schedlvg.jpg
        tech: Java, XML
        11/1/1998 to 12/1/1998
        enterprise by Interval Logic
        programmer
        Supply chain planning software for semiconductor fabs. Upgraded from Tcl to TclPro.
        resume/images/ilc/opplnglvg.jpg
          tech: Tcl
          9/1/1997 to 9/30/1997
          graphics by Nichimen Graphics
          consultant
          Successor to N-World
          resume/images/nichimen/mirai.png
          • 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
          programmer
          A 3D modeling and animation package descended once upon a time from the Symbolics Graphics Group (written in Lisp, shhh!).
          resume/images/nichimen/fasttrack.jpg
          • 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
          programmer
          An expert system for submarine simulation.
          • 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
          programmer
          A syntax-directed Emacs mode used by astronomers and Institute staff to prepare and edit Space Telescope observation proposals.
          • 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
          programmer
          A computer architecture based on content-addressable memories. Implemented compilers and simulators and simulations for the Database Accelerator and Content-Addressable Parallel Processor.
            tech: VLSI, CAD, Lisp
            5/31/1988 to 9/30/1989
            enterprise by Texas Instruments
            programmer
            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).
              tech: VLSI, CAD, Lisp
              9/1/1987 to 5/31/1988
              research by MIT
              student
              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.
              • 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
              student
              Part time student work on a graph display for the the START natural language parser, then running on Symbolics Lisp machines.
                tech: natural language, Lisp

                Publications

                published by Apress on 6/1/2013
                resume/images/learnunity/learnunitycoverbig.png
                published by self on 1/1/2015
                resume/images/books/bn.jpg

                Education

                9/1/1991 to 5/26/1993
                Masters degree in Computer Science
                GPA: 3.x
                resume/images/jhu/diploma.jpeg
                courses: AI, computer graphics, automata, algorithms, compilers, functional programming
                Bachelors degree in Computer Science and Engineering
                GPA: 3.x
                resume/images/mit/mit.jpg
                courses: 6.001, 6.002, 6.003, 6.004
                9/1/1981 to 5/31/1984
                High school degree in Iowa
                GPA: 3.x
                resume/images/westhigh/hacker.jpgresume/images/westhigh/diploma.jpg