40+ years of programming, starting with slide rules and punch cards before the first line of code was ever written.
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.
| 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 |