Michael L. Davis
michael@gui.net
Professional society memberships:
Corp-to-corp contracts, usually off-site. rate depends upon
cool-factor and location. CTH and W2 possible for something at 11 on a scale of 10.
I love writing software, it is my hobby and profession, and like working with
either web 2.0 or scientific applications in particular. Funding has dried up
after six very intense and enjoyable years at Sandia National Labs, and even
worse, I am now addicted to Ruby on Rails and JavaScript. I am looking for
anything RoR, or anything on the front-end or scientific/mathematical in...
Java, JavaScript, or even C. I have a very strong 'Get Things Done' work ethic
and have been lucky enough to work for organizations that have the same approach.
Contract (off-site) - @ Brave New Films,
Culver City, California 4/08 - 8/08
Wrote several versions of an (abandoned) online Personal Video Channel
website in Ruby, Rails, TortoiseSVN, etc.
Equity (off-site) @ Speshy Corporation, Boulder, CO
7/07-4/08
Recent work includes design and development of Speshy.com
full-featured open-source webtop in JavaScript (infinite undo/redo, custom widgets, on-screen
cloning and inheritance of new widgets, in-widget source code editor, etc.) and
Zategories.com and Sendies.com [Ruby, Rails, SVN, JavaScript, Prototype, Scriptaculous].
Contract (off-site) - @ Sandia National Laboratories,
Albuquerque, New Mexico 4/01 - 7/07
Executed outsource contract to architect and build a Java thick client
application called ChileCAD. This is a full-featured commercial-quality
schematic capture ECAD design tool. It uses our Mica Graphics Framework for the
innovative UI with industry leading functionality and ease-of-use and uses XML
extensively for the configuration of plug-ins that supply the functionality for
SPICE-dialect generation and parsing, persistence, themes, symbol definitions,
file version management and conversions, simulator run setup and submission, and
object-oriented symbol parts library definitions with MVC separation of
concerns, inheritance and overloading.
Employee - @ Verge Technologies Group, Boulder, CO 10/00-3/01
Designed and implemented the 2nd and 3rd generations of a code-generation tool
and its associated templates to quickly produce EJB applications from XML files
or database schemas. Designed and implemented a report generation framework for
JunitTest. Designed and implemented an automatically generated J2EE database
browsing/editing tool. Refactored and rewrote much of on-line billing system.
Spearheaded conceptual phase, produced and gathered requirements, architected,
designed, documented, prototyped, and produced various schedules for the project
implementation phase for the productization of core service of company to be
called OpenHost. Designed and implemented graphics, workflow, and architecture
of the (JSP/Servlets) GUI and implementation for a (small, 12 screen) J2EE
network management tool.
Contract (off-site) - @ Interactive Gaming and
Wagering, Curacao 10/99 - 1/00
Wrote utilities, games and prototyped new online gambling framework.
Contract (off-site) - @ Unicom Communications, Overland
Park, Kansas 11/98 - 2/99
Produced new version of an interactive layout and management tool for
advertising copy and support materials written in Java 1.1.6. Also wrote two
applets in Java 1.0.2 used by AT&T for their 1999 online sweepstakes giveaway.
Contract (off-site) - @ Innovative Research, Denver, CO
5/96 - 5/98
Technical lead, architect, implementer, and co-designed the GUI of the
"Environment for the Analysis of Parallel and Distributed Systems" (EaPADS)
previously implemented in C++ (see below). This was written in Java 1.0.2 on top
of the Mica graphics framework (see below) and Cadabra application framework.
This application provides novel techniques for editing networks as well as a
fully modern user interface (including direct-manipulation graphics editors,
tooltips, context-sensitive help, automatic periodic backup and recovery,
drag-and-drop, right-button menus, editable drag-and-droppable treelist widgets,
and automatic GUI generation from XML-like meta-data files).
Consultant (off-site) - @ Ericsson Raynet, Menlo Park,
CA 7/94 - 10/95
Performed maintenance and support for the RIDES telecomm operations support
system (OSS), and provided technical training and mentoring to the 6 member
Raynet engineering team. The application was successfully deployed in many
European countries.
Consultant (off-site) - @ SunSoft, Colorado Springs, CO
3/94 - 6/94
Prototyped two applications (Online DiskSuite, HATool). One prototype contained
a dynamic flowchart from which windows were launched. The other prototype
included a constrained, interactive treemap editor with extensive design rule
checking. These were written (re)using a C++ framework and a C++ graphics editor
object on Motif and X Windows.
Consultant (off-site) - @ Ericsson Raynet, Menlo Park,
CA 11/92 - 11/93
As technical lead, designed a layered, object-oriented system architecture and
implemented the framework and application layer for RIDES, a large
telecommunications operations support system (OSS) targeting the international
market. This framework and application layer contains over 120 large
internationalized windows, 3 graphics editors, and over 200,000 lines of C++ and
exists between the Motif widgets designed and generated by the TeleUSE GUI
builder and a custom interface to the Ingres RDBMS.
Consultant (off-site) - @ Innovative Research, Denver,
CO 8/91 - 11/92
Designed and co-wrote an object-oriented graphics application to interactively
describe, visualize and simulate a computer network for capacity planning and
analysis. This included a direct-manipulation graphical editor and a Motif GUI
as the front end and the Sybase RDBMS as the back end and was written in C++.
Consultant (off-site) - @ Loral Data Systems, Sarasota,
FL 12/90 - 7/91
Implemented and documented several dozen `C' functions that are called from
Fortran to access the OSF/Motif user interface using a parameterized function
call interface instead of callbacks. Conceived of, wrote and delivered a product
that allows the user to combine and print areas of any X Window display using a
direct-manipulation WYSIWYG graphics editor.
Consultant - @ McDonnell Douglas, Denver, CO 2/90 - 10/90
Senior graphics advisor for a GIS project designed to assist in the retrieval
and modification of information about outside plant equipment for the
telecommunications industry. Provided expertise on the X Window System, Motif
and conventional and object-oriented graphics architectures. Designed, wrote and
documented several automatic-placement algorithms that graphically position
equipment and route their internal and external wiring.
Employee @ Cadnetix, Boulder, CO 2/86 - 11/89 Technical Lead - Graphics
Enhanced and wrote custom 80x86 graphics drivers for many PC video cards. Helped
port 2D graphics library from 680x0 assembly language on proprietary hardware to
`C' on Sun 3/60, 386i, and 4/110 workstations. Designed and implemented
multitasking interface to a custom bit-slice graphics processor. Redesigned the
2D graphics library scene graph and rewrote scene graph functions achieving an
order-of-magnitude speed increase. Ported software from SunView to the X Window
system. Provided technical mentoring and guidance in the form of documentation,
tutorials, direct assistance and assisted with product design, analysis,
feasibility studies, proposals and scheduling. Designed and implemented an
interactive graphical debugger for an ECAD router.
Employee @ Alden Research, Boulder, CO 12/85 - 2/86 Lead Developer - OCR
Software
Assisted software implementation phase of a handheld OCR. This consisted of
designing, writing, testing, profiling and redesigning several algorithms in `C'
and 8051 and 80286 assembly languages.
Employee @ Interpreter Inc., Wheat Ridge, CO 7/84 - 11/85 - Lead Developer -
Operating Systems
Inherited, enhanced and was responsible for a compact (24K) multitasking,
multi-user (6 x async/bisync) operating system written in TMS9900 assembly
language. Wrote a fullscreen PC communications package in 80x86 assembly
language.
Open-Source Developer/Speculation - Graphics/Frameworks/Tools, 11/89-Present
(1990) Designed and implemented PGL, a portable high-level 2D vector graphics
library, toolkit and GUI builder in `C' which allows applications to run
unchanged on top of SunView, the X Window System, and DOS PCs. (1992) Rewrote
graphics library using C++ (EditorObject) which encapsulates all the
machinations that direct-manipulation graphics editors require. (1993) Added a
configurable framework and associated `framework meta language' layered on top
of the EditorObject (VisualADE). (1996) Wrote a Java command-line debugger
(Zap). Re-designed and implemented the EditorObject (now called the Mica
Graphics Framework, a pre-Swing full-featured OO UI toolkit with integral
support for 2D CAD graphics) and VisualADE (now called Cadabra) in Java. (2008)
CoderToys using humor driven development methodology to achieve several hundred
orders of magnitude gains in productivity.
Developed many system utilities, DOS enhancements, business and programmer aids.
Design goals were compactness, speed, utility, and simplicity. Terminate and
stay resident (TSR) PC utilities included: hex calculator, clock, speedkey,
scroll-back, screen-saver, command line editor, ramdisk, etc. Other tools were
delete/copy directory tree, findfile, grep, diff, cmp, touch, dump, 68000
cross-assembler, full-screen debugger, and a PostScript dumper, previewer and
manipulator.
Professional languages, toolkits, tools, platforms, interests and cool museum
pieces:
ACM (SIGGRAPH, SIGCHI, SIGPLAN, SIGSOFT, SIGLINK), IEEE, IEEE Computer Society
Professional conferences attended:
ACM SIGGRAPH 89, 90, 92, 93, 96, 98; SIGCHI 92, 95; IEEE Visual Languages 96,
HCI International 97, JavaOne 99, OOPSLA 99
