I design and build software packages. I now work almost exclusively on Unix systems, but I've also worked extensively with the IBM 1401, CDC 6600, PDP-10, Poly-88, and Arduino.
My interests include software tools, languages, code generation, virtual machines, optimization, image processing, watermarking, compression, cryptography, cartography, typography, recreational mathematics, heuristics, visualization, and music.
I joined the Department of Computer Science in 1984 after receiving an M.S. degree from the University of Arizona. Before that I worked as a CDC systems programmer at the Computer Center, and in the mid-1970s I spent three years at Control Data in Sunnyvale.
I retired from the university in 2009 with a total of 36 years of service, returning temporarily for two subsequent projects.