smilax:: Brief Résumé of Henry Strickland [Changes]   [Calendar]   [Search]   [Index]   [PhotoTags]   

[Bedstraw] *smilax*
 
[Mega-Changes]
[Mega-Calendar]

Brief Résumé of Henry Strickland

In the domain <yak.net>, my email is <strick>.
In the Atlanta area code that in HTTP means "Not Found", my cell phone is <452-5484>.

Engineer at Versant 1989-1999

Versant's flagship product was its Object Database (ODBMS). Coming straight out of Graduate School, I joined Versant in the first year of the startup, and eventually became Principal Engineer and Architect of the Programming Language bindings. I stayed 10½ years at Versant. Some highlights:

[All these dates are to the best of my memory, plus or minus a year.]

More Recently

Currently at Google

Beginning in January of 2007, I'm a programmer at Google, maintaining diagnostic information about Google's main spidering and indexing of the internet.

Education, Associations, Achievements, Honors

Languages and Platforms

Appendix: Inventions by Henry Strickland

Years are approximate. I made this list for another purpose once, and a roommate commented "That's your real résumé!". Some of these are incomplete and unpublished, but feel free to ask me about them!

  1. Homegrown Microcomputer and Machine Language monitor program (RCA 1802-based wire-wrapped computer, with 1KB ram, compare to Cosmac Elf)

  2. Homegrown Microcomputer ("OMAR", wirewrapped Motorola 6809 CPU with SAM and VDG chipset, Microprocesser Based Design Lab, Georgia Tech EE, 1983. Also there were at least three OMAR clones, by members of GT Micro Users Group)

  3. Console & Keyboard drivers, and bootrom & bootsector, and port of Microware OS/9 operating system for Homegrown Microcomputer (for OMAR, with Western Digital Floppy Disk Controller chip)

  4. Remote debugger for Operating System Kernel (client-server UDP service for Clouds Operating System, with "kadb" (on Unix) frontend, Georgia Tech ICS, 1985)

  5. Ethernet Device Driver for Minicomputer (DEC VAX/750 DEUNA device driver for Clouds Operating System, Georgia Tech ICS, 1985)

  6. Capture of type information from a compiler's abstract syntax tree & symbol tables (Schema Capture Tool "cxx2sch", using AT&T "cfront" source code, Versant ODBMS for C++, 1989)

  7. Schema definition and evolution tool (Database Schema Tool "sch2db", Versant ODBMS for C++, 1989)

  8. Persistent Object mechanism for C++ ("PObject" interface, Versant ODBMS for C++, 1990)

  9. Runtime Type Information for C++ ("PClass" mechanism, Versant ODBMS for C++, 1990)

  10. Template-expanding preprocessor for early C++ ("cxxfilt", using lex & yacc, Versant C++, 1991)

  11. Simulated try/throw/catch exception mechanism for early C++ (using cpp, Versant, 1991)

  12. Integration of persistent language tools with a GUI-based integrated development & debugging environment (Versant C++ and ParcPlace ObjectWorks for C++, 1991)

  13. Garbage Collector for Object Database (Versant, 1993)

  14. Path Query Evaluator for ODB (Versant kernel frontend & backend, 1993)

  15. Personal Firewall("infilt" for packet filter for SunOS 4.1.1, 1994, http://www.netsys.com/firewalls/firewalls-9410/0042.html ) [ cached ]

  16. Minimalist virtual machine for a subset of Java ("g.c", 1995)

  17. Capability model for database access in Java (Versant Java Capability class, 1995)

  18. Bytecode dissassembly, virtualized execution, type validation, and bytecode mutation engine (Bytecode Enhancer, Versant ODBMS for Java, 1996)

  19. Transparent persistence engine for java objects (Versnat ODB for Java, 1996)

  20. Application Framework for Java, providing object naming, navigation, diagnostics, and embedded web server for debugging (Versant "AFrame", 1997)

  21. Tiny Tcl-like configuration language interpreter (Versant 1999)

  22. Encrypted and Authenticated Virtual Private Network ("orthanz", using Linux Universal Tun/Tap Device, 2001)

  23. Internet Server with Web Server, Wiki, SMTP, POP, DNS, and file replication (Smilax in Java and Jacl, 2000)

  24. Internet Server with Web Server and Wiki (Smilax in Tcl, 2002; see http://smilax.org )

  25. Internet Server Architecture with Nested Sandboxed Safe Execution environments ( Smilax in Tcl 2003, using nested safe sub-interpreters at several levels: an outer "kernel" interpreter with full POSIX access, a safe subinterpreter for the web & wiki application and only a Smilax Kernel API available, a nested safe subinterpreter for webmasters to customize the wiki, and an innermost nested safe subinterpreter for end users to script a document such as a spreadsheet. )

  26. Mixin Mechanism in Tcl for customizing a Wiki in a safe subinterpreter (Smilax Mixins, 2003)

  27. Minimalist intermediate-code-interpreting Virtual Machines for lowlevel dynamic languages ( UniThorpe, 2004. TriThrope, 2004. )

  28. Minimalist JIT-ing Virtual Machine for a lowlevel dynamic language ( Oglethorpe, 2005. )

  29. Safe compiled language for high-performance extensions to a Scripting Language, with recursive descent compiler and runtime library ( ParentheTcl, 2004; see http://smilax.org/99 ).

  30. Tiny Tcl-like language interpreter (Terp, in Java and C#, 2004)

  31. Simple collaborative "game" in Croquet ( http://smilax.org/144 ), originally inspired by Quidditch.

  32. A Virtual Machine for Islands (vats) in Smalltalk (Cinnabar, which will compile classes in Squeak, and is designed to (but doesn't yet) run alongside of Squeak)

  33. The Lithium Toolkit for experimenting with Genetic Programming, particularly with the question of what type of programming language works best for the genome. Contains over five interpreters for GP, including a bytecode language (Grissom), a lisp dialet (Lithium4), a subset of joy, a superset of Brainf*** (BFA), and a bland statement-expression grammer-based language (EvoPerl). Interpreters built in C++, and Tcl used for for scripting. ( http://albus.yak.net/repos/lithium/ )


Cached:

  • infilt-firewalls-9410-0042.html
  • (last modified 2008-01-09)       [Login]
    (No back references.)