Programming Journey
40+ years of programming, starting with slide rules and punch cards before the first line of code was ever written.
The Teknowledge Turning Point (1985)
Before the first line of professional code, the background was mechanical engineering at Rose-Hulman and R&D work at Allison Transmission (GM Division), adapting a flywheel hybrid simulation written in PL/1 by GM Tech Center engineers — tweaking it to model heavy commercial utility vehicles instead of consumer automobiles.
That simulation work, and the GM Tech Center connections it created, opened a door: a new Expert Systems project being undertaken with Teknowledge in Silicon Valley. Applied, was selected, and relocated to California.
Teknowledge provided an intensive, hands-on crash course in computer science and programming — symbolic AI, Lisp, knowledge representation, inference structures, and expert systems development on Xerox Lisp Machines running Interlisp-D. That accelerated onboarding was the true launchpad for a 40+ year software career.
The project itself eventually wound down as the broader expert systems wave began to contract, but the foundational skills and live-system philosophy it instilled — inspectable environments, code and data as fluid equals, rapid iterative development — became permanent anchors that carried through every subsequent era.
Languages (chronological)
- PL/1
- Lisp (Interlisp-D on the Xerox Dandelion)
- Oyster (Teknowledge's proprietary OOP layer on top of Interlisp-D)
- C
- Objective-C
- C++
- Smalltalk
- NewtonScript
- Display PostScript
- Java
- Lua
- ActionScript
- Ruby
- JavaScript
- TypeScript
- Rust
- Python
Scripting
- Bash
- Zsh
Notable Projects & Ports
- Maze for X11 — contributed X11 extensions to the classic maze demo; name still in the FreeBSD man page with original UUNET address
- XPM extensions for X11 — patched and temporarily shepherded libXpm when the original team lost funding, keeping the X11 icon/image ecosystem alive
- TTY screen driver for Motif — low-level display work during the OSF/Motif era
- GUI builder in Display PostScript — built on Sun's NeWS windowing system
- Quake 3 Arena for IRIX — landed NDA with id Software, shipped official IRIX binaries for SGI's wall demo room; Weta Digital emailed thanks after using it to unwind between Gollum renders
- WINTERP contributions — shipped code to the OSF/Motif Lisp widget interpreter
- Tailwind plugins — custom color system plugin (proto-tailwindcss-clrs) and others
Era Overview
| Era | Context |
|---|---|
| 1985 | Xerox Lisp Machines, expert systems at Teknowledge |
| Late 80s | C, Objective-C, X11, Motif at Consilium & SGI |
| Early 90s | C++, Smalltalk, Newton, NeXTStep, BeOS |
| Mid 90s | SGI full-time, Quake 3 port, browser wars at Netscape |
| 2000s | ActionScript, Flex, AIR, Ruby, early JavaScript |
| 2010s | JavaScript/ES6, TypeScript, React, Vue |
| 2020s | Svelte, Stencil, Lit, web components, Rust (serverless Sudoku API), Python (MCP servers), full AI-era stack |