C: 30 years, Lisp: 10 years, C++: 5 years, Fortran: 5 years, Perl: 3 years, Java: 2 years, SQL 1 year. I have written over a million lines of C/C++/Java, and have a working knowledge of many other languages, e.g. microprogramming the Pixar Machine.
Compilers: 10+ years. Wrote two C compilers from scratch and spent five years rewriting SML/NJ; also extensive work on implementations of LISP, FORTH, Assembly, Smalltalk etc.
Assembly code: 5 years. Over a quarter million lines of assembly code for machines ranging from eight-bit microcontrollers to supercomputers.
Firmware and Embedded Systems: 5 years. Cisco IOS, also PIC microcontroller firmware, Atmel firmware etc.
Operating Systems: Linux 20 years Unix (Irix) 10 years, Cisco IOS 5 years. Also Windows, CP/M, DOS, RSX11, SCOPE, TOPS-10, IRIX, HP/UX, NeXT, Solaris, AIX, etc.
Version control systems: CVS, Git, SourceSafe, ClearCase, darcs.
OpenGL: 20 years. I have been using OpenGL since the '80s when it was called GL. My complete line of scientific visualization packages Skandha1 through Skandha5 are based on it.
YACC/LEX/etc: Since the '70s, starting on a PDP-11. For the Loglan parser project, I ported AT&T YACC to CP/M.
Other Skills: Excellent writing skills, broad technical background ranging from math and physics to electronics and aerodynamics.
While still an undergraduate, I was hired by the UW Physics department Visual Techniques Lab to oversee all computer operations plus manage the student neutrino-event scanner team.
After graduation, working with neuroanatomist John W Sundsten of the University of Washington Health Sciences Biological Structures Department, I created the Digital Anatomist project and with it the field of computer reconstruction and visualization of human anatomy. I authored a number of peer-reviewed papers on this work.
It would be tedious to list all my short-term contracting work; I limit myself to post-graduation salaried positions.
Developer with Cisco's elite Gigabit Systems Group co-founded by Andy Bechtolsheim.
My initiatives there included writing their complete internal developer's documentation (when I arrived, it was all word of mouth) and writing their complete daily build system (when I arrived engineers were manually generating up to a dozen different image builds a day for external use).
I also worked upon their 250Kloc C++ codebase and of course the main Cisco 13Mloc IOS C-language codebase.
My hiring supervisor there commented, "This guy has written more useful code than anyone I've ever heard of."
Developer with Activerse, a start-up developing an intra-corporation cross-platform instant messaging client/server solution in Java. My contributions included Java applet coding, Java GUI and networking coding, doing the Solaris port of the product, and doing QA liaison and coding.
Creating and building the UW Health Sciences Biological Structure Department Digital Anatomist Program. This included developing from scratch a series of half a dozen scientific visualization packages on platforms ranging from S-100 CP/M to SGI RISC boxes. My supervisor there, Stanford Artificial Intelligence Laboratory PhD (and UW MD) James F Brinkley, calls me "the best programmer I've ever met" — and adds that anyone who doesn't hire me is an idiot. :-)
For the last six years I have been concentrating on open source work:
- To provide an evolutionary upgrade path from the C/C++/Java language paradigm (whose core design concepts date from circa 1970) I have been morphing the SML/NJ research compiler (Bell Labs, CMU, NYU...) into Mythryl, a production-oriented compiler engineered for minimum retraining cost. (This has absorbed the bulk of my time over this period.)
- I have also been getting involved with computer vision,
robotics and CNC machining:
- Computer vision and control for Sandy's Fan Club installation art piece.
- PCB milling gerber-to-gcode converter
- Demo Linux computer vision app + X widget
- Categorized collection of computer vision papers
- Ruminations on same
- R/C model airplane construction, operation and instrumentation
- Maintainer on OpenCV
- PIC/Atmel based "squirmy guy" installation piece shown various places.
- Unreleased gcode synthesis library.
BS in Computer Science 1986, University of Washington.
I am author of a number of peer-reviewed papers starting with "Three-dimensional reconstruction from serial sections IV: The reassembly problem", Computers and Biomedical Research, 1986 — do a Google Scholar search if interested.
I am currently available for work in the Bay Area. I occasionally accept telecommute work from elsewhere.
HS chess champ, National Merit Scholar, Mensa, 999, ISPE, ACM, IEEE.