Objectives
Software design, implementation, & project management, especially
Java/Swing user interfaces and components. See
Code Examples
below. Particularly good with visualizations of huge data sets. Able to
mentor junior programmers and to support and motivate senior
programmers. Note: Not a web developer but a thick-client, desktop UI,
application, and tools developer.
Degrees
- BA
with honors in Computer and Information Science with emphasis in
Computer Graphics and Animation, University of California, Santa Cruz
CA GPA: 3.8
- AA
in Liberal Arts Cabrillo College, Aptos, CA
Publications
Platforms
Java/Swing, AWT, RMI/RPC, OOD, UML, XML, HTML, VRML, UNIX, X-Windows,
DOS, MFC, C, C++, Pascal, FORTRAN, CVS, SCCS, RCS
Code Examples
My web site
Superliminal.com contains many good examples of my design and programming abilities including
- Free reusable software components
- Applets with source code
- Applications with unique user interfaces
Employment History
Software Engineer, Linden Lab, San Francisco, CA 4/12/2007 - Present
Contract Programmer/Owner Superliminal Software, San Francisco, CA 2/98 - Present
- Visualization and GUI development for RedSeal Systems.
- Taught two sessions of the Java: Discovering Its Power class for UC Berkeley Extension.
- Contracted to add real-time streaming data to Velocity, Charles Schwab's on-line trading application in Swing.
- Helped Neomorphic Software (aquired by Affymetrix) with Java Swing UI development for a genetic annotation application.
- DOOM-like multi-user Java3D game commissioned by Sun Microsystems for demos at Java One '99 and SIGGRAPH '99
- Direct3D programming for Fluid3D - a streaming 3D animation product of OZ.com
- MagicCube4D - a working four dimensional analog of Rubik's cube.
- Tutor
- a shareware wrapping of vocabulary tutoring algorithms developed to
optimize flashcard style training. Technology available for licensing.
Senior Software Engineer, SenSage Inc., San Francisco, CA 7/4/04 - 10/1/05
Principal architect and technical lead of UI group producing a
high-powered front-end to SenSage's powerful log file management and
real-time alerting system. This is a pure Java/Swing application
deployed via Java Web Start.
Member of Swing UI team designing and implementing the next-generation
version of GeneExpress, the company's flagship product. Also resident
visualization expert creating embedded and stand-alone tools for
visualizing data mined from the company's enormous database of genetic
expression data which scientists probe in order to better understand
disease processes and to find potential drugs an drug targets that
might treat particular diseases.
Senior Programmer - 3D, Perspecta, Inc. (now defunct), San Francisco, CA 9/96 - 2/98
Responsible
for all aspects of the 3D client user interface which was the signature
interface for the company. Developed several novel techniques that
allow smooth and natural display and navigation of arbitrarily deep
hierarchies or complex information graphs.
Received a patent
on one such technique. Implemented entirely in the Java programming
language, this visualization work represents a bridge between abstract
information graphs generated either automatically or human authored,
and the user who needs to be able to quickly find information of
interest and to understand the general structure of that information.
- Member
of Advanced Technology Group (ATG) as expert in 3D technology and
techniques. The ATG reported directly to the CTO and provided
consulting services to the rest of the company including business
units, marketing, PR, and OEM sales. Primary responsibility was to
assist title development groups with 3D technology which required
research, consultation, integration of 3D components into games, and
development of core components as needed.
- Most
notable achievement was as a core member on the Lego project, helping
to architect the product as a true real-time immersive 3D game with the
ability to support all VR input and display hardware. To this end,
designed and implemented a module capable of managing an outdoor 3D
environment and selecting geometry of appropriate complexity so as to
give the best possible visual experience at a guaranteed frame rate.
The real-time module was also meant become the foundation of future
Lego and other 3D Mindscape titles. The first title "Adventures on Lego
Island" was released to distributors in September of 1997 with a first
printing of 400,000 copies.
- Also developed TGL
(Thin Graphics Layer) an abstract 3D game API used initially by the
Lego product to provide a porting layer on top of Direct3D and other
rendering libraries. TGL has been placed in the public domain with the
hope of continued development by a consortium of game companies.
- Multimedia
Division 9/93 - 4/95 Developed the Cyberspace Developer's Kit (CDK), a
portable library of C++ classes which allow developers to rapidly
generate virtual reality applications. Designing and implementing new
features, documenting and testing. Developed on Windows NT/VisualC++
and UNIX platforms. Also developed techniques for interactive
navigation of arbitrarily large data sets (billions of polygons).
- Core
Technology Group 1/92 - 8/93 Basic research and prototyping for product
groups. Design and development of the Graphics Subsystem GS), a
portable, object-oriented abstraction to 3D graphics libraries.
Implemented the GS on Hoops.
Consulting in 3D Graphics 9/91 - 12/91
Ported molecular design program to the Titan using Doré. Cambridge Molecular Design, Cambridge, England
Computer Scientist - Hoechst AG, Frankfurt, Germany 8/90 - 8/91
Contracted
for one year to research techniques of visualization of
multi-dimensional data and to provide tools and instruction to assist
with research in computational chemistry.
Projects
- Created
library of routines to define and dynamically edit "molecule objects"
which efficiently maintain multiple graphic representations of
themselves.
- Designed and implemented a portable
"menu" library which provides a simple yet flexible interface that
allows applications to receive menu input and to dynamically select
from a variety of menu "devices" upon which to present them.
- Wrote
complete application to allow easy visualization of arbitrary three
dimensional data. Objects are defined hierarchically, and any node of
the hierarchy can be manipulated independently using an intuitive 3D
graphics interface. It can also be used to produce animation and
production quality renderings.
Instruction
Gave
a series of lectures covering 'C' programming, 3D graphics concepts,
and Doré programming for members of the R&D group.