Childhood
I taught myself to program on a TRS-80 Model III in 1981. Later I had an Atari 400, a Sanyo MBC-550 (IBM clone), and an Amiga 1000. I taught myself the C programming language on the Amiga, and began a long career as a software and design consultant.
Middle School
High School
As a sophomore at Franklin County High School (and SW Virginia Governer’s School for Science & Technology) in 1986, I wrote a molecuar modelling program for the school science fair. I ended up going all the way to the International Science and Engineering fair in Puerto Rico, where I won first place in the Computer Science division.
College
Initially I went into Industrial Design at N.C. State, but after a semester I realized I wanted to stick with programming, so transferred to Virginia Tech in Blacksburg, VA.
Image Processing Technologies
While in college at Virginia Tech, I began work at Image Processing Technologies, where I created a custom GUI toolkit that ran on DOS, and several programs built on top of that, mostly as part of a CIA contract that involved automated scanning and OCR of cold-war era Russian books.
ASDG/Elastic Reality
In 1992 I moved to Wisconsin to work for ASDG, a small company working out of a converted auto shop. It made Amiga graphics software, known best for AdPro and Morph Plus. For some reason they had an SGI Indigo R3K sitting in the corner and my boss said “learn that”. I taught myself UNIX and Motif, and ended up writing several graphics programs that became indespensible tools in the fairly new digital post production industry: Elastic Reality, Image Independence, lightning generator LFX & No Strings Attached, a wire-removal/digital painting system.
Avid Technology
Avid bought Elastic Reality in 1995 and we got to move out of the garage and into an actual office. Eventually Avid closed down our office and asked us to move to the Boston area. While at Avid I continued working on Elasticy Reality, introduced a marketing-induced upgrade called Beyond Reality, created the AVX plugin architecture, and was the project lead on Avid Titan/Marquee, a real-time 3D titler.
Digital Film Tools
Once the AVX plugin architecture became wide-spread within the Avid product line, I began getting contracting offers for companies wanting to put their tech into Avid sytems. Digital Film Tools was an offshoot of post-production company Digital Film Works who wanted to move some of their custom VFX processes into effects plugins. I wrote their plugin suite and later became a Partner, doing all software development that included DFT/Tiffen DFX (now BorisFX Optics), Light, zMatte keyer and Composite Suite.
Profound Effects
After returning to Madison in 2001 I formed Profound Effects with my ex-boss from Elastic Reality. We created plugins for Avid and Adobe After Effects, namely Useful Things. UT was a 2D/3D rendering engine with a Python scripting interface bolted onto it. Effects could easily be created in Python and ran in real-time within After Effects.
Later we spun off a set of interactive camera/VFX HUDs for Avid/AE called Camera POV that was built on the UT engine. We also produce Useful Assistants, a suite of Python scripting extensions that was very successful until Adobe added JavaScript to AE.
Silhouette FX
Silhouette FX was formed in 2004 and was a joint partnership between Profound Effects and Digital Film Tools, with the common element of me doing the programming. The goal was to make a node-based high-end rotoscoping, painting, and compositing system.
We begin with Silhouette Roto which was purpose-built for complex rotoscoping tasks (first used by Weta on King Kong), followed immediately by Silhouette Paint. These two products were built on the same engine, and were eventually merged into Silhouette.
In 2019 I won an Academy Award and an Emmy, both for my work on Silhouette.
Boris FX
In 2019 Silhouette FX was purchased by Boris FX, where I still work on Silhouette and Optics (formerly DFX/DFT).