Michael L. Davis
Palo Alto (SF Bay Area), California or Telecommuting U.S. Citizen
Facebook - LinkedIn - GitHub - Twitter - Consulting - My other hobby
This resume / CV as a two page PDF
HELPING SOFTWARE HELP PEOPLE
Building big ambitious tools to solve big, intimidating problems.
Started coding at 14. Professional for 30 years. I have enjoyed working for startups, large corporations and the U.S. government; typically with scientists and academics, leading some of the smartest, most professional engineers in the world. I have a very strong 'Get Things Done' work ethic and have been lucky enough to work for organizations that share the same philosophy. The common thread of these applications has been innovative human-computer interfaces that make complex functionality tractable. Research interests: Machine learning, science / engineering tools, human-computer interaction, innovative user interfaces, software architecture, direct manipulation 2D graphics.
Umbrella "C" corp for (few) successful and (many) unsuccessful startups and midnight projects.
- github.com/justacoder Mica 2D graphics framework and UI widget toolkit in Java
- MICA GRAPHICS FRAMEWORK. Mica (successor to my EditorObject), now on GitHub, is a Java OO UI widget toolkit, 2D scene graph library, suite of editor objects and UI and network graph layout managers. It distills ideas from many toolkits and research papers (Mica was pre Java Swing).
- EDITOROBJECT. a bigger better PGL in C++. I was attending a lot of ACM Siggraph, CHI, OOPSLA, Visual Language conferences. OO, UIs, and direct-manipulation were ascendant. I was having to write a new graphics editor it seemed for every new contract. 'new Editor()' creates a full function editor.
- UI FRAMEWORKS. VisualADE, a declarative UI/data-binding builder. Cadabra and Obsidian: Aristotelian category-like declarative DSLs with behavioral and constraint metadata for e.g. auto test, repair, discovery. LUE (Life Universe Everything) used the data-flow paradigm to graphically build live UIs. C++. Java.
- PGL (Portable Graphics Library), in object-oriented 'C', rendered high-performance 2D scene graphs and windows on top of SunView, X-Windows and standard PC-graphics cards. C.
- Senior Staff Software Engineer, Full-stack: Verge Technolgies Group. Designed and implemented 1) 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, 2) a report generation framework for JUnit Test, 3) an automatically generated J2EE database browsing/editing tool, 4) the (JSP/Servlets) GUI for a (small, 12 screen) J2EE network management tool, 5) rewrote much of online billing system, 6) Spearheaded, architected, and prototyped a datacenter (cloud) management service called OpenHost (along with its Enterprise Service Bus called SoapBar).
- Frontend (remote): Unicom. Interactive graphical layout and management for advertising copy and support materials. Java
- Frontend (remote): Sun Microsystems. (Now Oracle). 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 made use of my EditorObject. C++.
- Frontend: McDonnell Douglas (now Boeing). Wrote a highly constrained logical placement, route and display tool for telecom outside-plant equipment (mimicking the hand-drawn diagrams they had been using). C++.
- Frontend: Cadnetix. Technical-lead for the graphics group for 4 years, which was responsible for the UI and 2D graphics for the company's products. My refactoring of the graphics library sped up the rendering and graphics database query language by a factor of 10X to 100X. ECAD. C. 80x86. 68000.
My first love, I studied Applied Math at the University of Colorado, Boulder. Differential equations, difference equations, pde, vector calculus, linear algebra, EE, physics, and graduate courses in probability, abstract algebra and space flight dynamics. Left and joined the personal computer revolution. Previous member of ACM, IEEE, and IEEE Computer Society. Enjoyed many tech conferences and read literally dozens of monthly trade mags and journals for 20 years, back when they still published these.