Michael L. Davis
michael@gui.net
Boulder, Colorado
or SF Bay Area, California
or Telecommuting U.S. Citizen


Looking for cool applications built with cool tools. Specialize in corp-to-corp contracts, usually off-site, but anything is possible for something really interesting.

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 desire.

What I bring to your project is the ability to 'get it done, your way' quickly, and with enthusiasm and professionalism. I believe in paying massive amounts of attention to the details that make your project and your business succeed, using relevant technologies, and avoiding spending valuable time on ‘fun’ technologies that do not contribute to the bottom line.


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, SVN, JavaScript, and MySQL.

Equity (off-site) @ Speshy Corporation, Boulder, CO 7/07-present
Recent work includes design, implementation and deployment of Zategories.com (in about 2 weeks) and Sendies.com (including an infinite, zoomable HTML editable, drag-and-drop canvas, in about 1 month) and Magazines.me (ongoing) [Ruby, Rails, SVN, JavaScript, MySQL, Apache, Passenger, Prototype, Scriptaculous, Solaris, Capistrano]. Magazines.me is a SaaS that generates magazine-like webpages that are searchable, linkable, sociable, commentable with modern capabilities like video, multiple-column text, text-wrapping around arbitrary obstacles (not just those on the left or right), text flow from page to page, and automatic resize of text, images and video to fit any window size (including iPhone and Mini PC). It provides a Page Maker-like WYSIWYG drag-and-drop editor that has most of the power of Adobe InDesign, but runs in a browser and outputs industry standard HTML and JavaScript.

Previously, in Java, was responsible for the design and development Speshy.com (about 5 months) full-featured open-source webtop in JavaScript (infinite undo/redo, custom widgets, on-screen interactive cloning and inheritance of new widgets, in-widget source code editor, with RSS and ATOM feed display widgets for PageFlakes/NetVibes-like functionality, etc.) and an ancillary wikipedia-like interface to reference, rate, and comment on people’s special items running as a Amazon.com store [Java, JSP, Resin, Apache, CentOS].


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. XML is used extensively for the configuration of the application, including: plug-ins that supply the functionality for SPICE-dialect generation and parsing, conversion of SPICE to/from graphical schematics, persistence, themes, file version management and conversions, simulator setup and job submission. The tool also used XML to define object-oriented parts (symbol) library definitions with each able to take advantage of 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 in Java (called the Mica Graphics Framework, a pre-Swing VERY full-featured OO UI toolkit with integral support for 2D CAD graphics that allowed our clients to have the first Java applications in the world with all the trimmings of a Windows application) and (2000) similarly designed and wrote generation 2 of VisualADE in Java (called Cadabra) with runtime composition of objects (composed of very-well-defined attributes supporting full automatic test and verification of assigned values) and their relationships to each other (from sharing data to sharing methods to part/container hierarchies to life-cycle dependencies). (2008) Founded CoderToys, which advocates humor driven development methodology to achieve several hundred orders of magnitude gains in productivity.

(mid-80s) 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