Michael L. Davis
michael@gui.net
 


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:

  • Ruby, Javascript, CSS, JSP, MySQL, Java, XML, PHP, SOAP, UML, DOM, HTML, XMI, C++, C, 80x86, 68000 and TMS9900 assembly, PostScript, PDF
  • Rails, MySQL, Servlets, ANT, Java JDK 1.0+, AWT, JFC/Swing, Resin, Apache/Tomcat, JDOM, JUnitTest, X Window System, OSF/Motif, Xt Toolkit, SunView
  • Photoshop, FrameMaker, MS Word, Visual CAFE, UIM/X, TeleUSE, Builder Xcessory, FrontPage, DBX, RCS, SCCS, VCS, CVS, Subversion, DDTS, Bugzilla
  • Solaris 11, Sun workstations running Solaris 1, 2.x (Unix), Windows 2000, Windows NT, Windows XP
  • User-interface management systems, frameworks, visual programming languages, programming tools, usability, aesthetics
  • TI 99/4A; IBM PC, ALR 386/16, Gateway 486/66, Pentium/133; Sun 3/60, IPX, SparcStation 10/30; NeXTstation Turbo

Professional society memberships:
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