Michael Wimble
1144 Snowberry Court, Sunnyvale, CA 94087
(408) 739-6114
email: mike at wimble.org
web site: www.wimble.org
download resume in pdf format
download resume in text format
download resume in Microsoft doc format
I am currently consulting, studying new technologies, building a prototype for a consumer wireless device, and writing a book. I would like a position as a technologist, or an opportunity to manage a small team.
Background
- Senior scientist and engineer.
- Most successful roles are in discovering and solving strategic problems for a company, and as a tactical team member in implementing large systems within a tight schedule.
- Invent new technologies before they become common practice.
- Generate patents (see patent section below).
- Architect and implement major, revenue generating products as well as perform normal code maintenance and testing.
- Particular expertise in program correctness and solving complex problems, especially where wide domain expertise is required, spanning both hardware and software.
- Demonstrated ability to rapidly develop expertise in new technology.
- Created several inventions not reflected below, such as a 3D bicycle computer that captures and displays a bicyclists path, a paper and work on spam elimination that has resulted in over 70% of spamming sites being removed from the web, a new ubiquitous communication consumer device, or a knowledge engineering and office automation product for nearly every aspect of law practice.
Senior staff engineer
Sun Microsystems, Menlo Park, California 20002002
- Architected, implemented and shipped a debugger data visualization system for netbeans that provided highly customizable display of data, similar to the Mathematica visualization model, for Java and classic languages (e.g., FORTRAN, C, C++). This increased the marketability and potential user base for what was previously, a Java-only product.
- Architected remote services, allowing a developer on, say, a Linux or Wintel box to develop locally, yet compile, debug, deploy, and execute on a set of remote machines. This would greatly increase the number of developers who could immediately begin creating Sun-based products.
- Lectured various groups in the company on use of goal-directed problem solving methods, especially for use in debugging and as an expert system for customer support.
Senior engineer, web indexer group
AltaVista, San Mateo, California 19982000
- As Project manager for improved relevance, created the methodology of using regression to improve the ranking algorithm. Relevance increased more than 10% as a result.
- In order to create a useful regression set of data, I designed, implemented, and administered an online user survey. The result was a large database of queries and corresponding collaboratively-ranked search results.
- With diminished opportunities for increased relevance via ranking modification, was project lead for 3 simultaneous strategic projects to define the next generation of search technologies. These projects increased relevance via specific, goal-directed strategies, and improved the user experience by providing task-oriented guidance in the use of advance search strategies.
- Created a site visualization tool that provided a graphical overview of the status of all the machines involved in building, maintaining, and serving of search results.
- Created the technology to support site compression of query results.
- Created new algorithms to improve the performance and relevance in the search engine.
Consultant
Winbond Systems Laboratory, San Jose, California 1998
- To release Winbond from dependence on third-parties for critical technology, designed and implemented an ASN compiler that parsed H.245 specifications (Control Protocol for Multimedia Communication) and created a portable, customizable C-language handler for H.245 messages.
Senior Engineer
Newton, Inc., Cupertino, California 19971998
- During the last few months of Newtons existence, was toolsmith. Analyzed the debugging needs for the group. Contributed to the overall design and engineering effort.
Senior engineer
Apple Computer, Cupertino, California 19961997
- To significantly speedup program startup, rearchitected "load on demand" in the debugger.
- To remove deprecated, devolved code from the expression evaluator, rearchitected the module using recursive-descent parsing technology.
- To best leverage my background in program correctness, produced numerous analyses of problems and proposed solutions for a simpler, more robust product.
- To increase coding efficiency in a team environment, and to reduce common programming errors, drove the production of a coding style and design pattern guide.
- To ensure that Java debuggers would support modern debugging requirements, played a cross-group role in the definition of debugging requirements.
- Responsible for cross group communication between debugger, compiler, operating system, and Java groups.
- Acted as consultant in the C++ language, its use, and ensured the ability to debug all features of the language so that the future product would support all the required customer features.
Chief architect
Taligent, Cupertino, California 19921996
- Culminating over 10 years of research, design, and implementation effort, I created a new paradigm for debugging, using goal-directed problem solving to deliver a debugger which was able to significantly reduce software errors, implementation bottlenecks, and schedule risk. This work led to 5 patents, with 4 more in progress when the company was acquired.
- In order to further reduce software cost and time-to-market, the tool also supported debugging of severely optimized code, design rule checking, performance analysis, coverage analysis, and new models of team debugging (e.g., cooperative and competitive debugging).
- Designed and implemented the compiler/debugger communications, expression handling, core logic, data imaging and formatting, data read/write, language adapter, architecture adapter, register state, stack state, and stack viewer portions of the debugger while still acting as architect and project leader for the team.
Principle engineer
Rational, Santa Clara, California 19871992
- In order to create a second-generation product with a rich revenue stream, contributed to the design and implementation of debugging of multi-networked, multi-processor, multi-tasking programs with severe code optimization and unreliable communication.
- Created a new, large revenue stream by designing and implementing the run-time system/cross machine debugger for Rationals Ada product targeting Sun Unix, HP Unix, Apple Unix, IBM Rs6000 AIX, and the 80386 running MS-DOS.
- In order to open a potential, new source of revenue, designed portions of a POSIX threads-based kernel to supporting a hard real-time scheduling, Ada run-time systema feature not well supported by other companies at the time.
- To leverage my wide domain expertise, contributed to the writing of Ethernet device drivers and in the debugging of both hardware and software for other components of the product. Also contributed to the design and implementation of storage management, exception handling, and task management for all of the cross machine products, using my wide domain knowledge to provide feature-rich, robust products.
- Scheduled and trained several junior team members.
- Aided in the design and implementation of a version of the X.25 communication protocol over low speed serial.
- Responsible for debugging TCP/IP communication software from other vendors.
Manager of the languages and environment group
Ebnek, Inc., Wichita, Kansas 19851986
- One of four principle architects a new super computer and super microcomputer.
- Wrote a parser generator and compilers for Modula-2, Pascal, C, and Ada. Also created LISP compilers/interpreters.
- Wrote several architectural simulators for the various super computer designs.
- Designed code optimization strategies for the very long instruction word architectures.
Apollo Computers, Chelmsford, Massachusetts 19831985
Iowa Mountain Software, Hiawatha, Iowa 19811983
Legal Data System, Houston, Texas 19771982
Wimble Robotics, Marion, Iowa 19771983
Patents
Five software patents for my work in the design of the Taligent cpProfessional debugger product.
- US06067641 Demand-based generation of symbolic information
- US05956479 Demand based generation of symbolic information
- US05815653 Debugging system with portable debug environment-independent client and non-portable platform-specific server
- US05812850 Object-oriented symbolic debugger using a compiler driven database and state modeling to control program execution
- US05778230 Goal directed object-oriented debugging system
The patents cover the architecture and components involved in portable, cross machine debugging; the grammar used to communicate between the compiler and debuggerparticularly how the compiler describes the effects of code optimization; and the goal-directed problem solving paradigm used in the core.
Languages
Ada, ALGOL, APL, Assembly (various), BASIC, C, C++, CLOS, COBOL, FORTRAN, DHTML, DOM, HTML, Java, Javascript, Lisp, Modula-2, NesC, Pascal, Perl, Php, PL/1, Prolog, RPG, SmallTalk, SMPL, SNOBOL 3, XHTML, XML, XPATH, XSLT, WML
Hardware
1750A, 2901 family, 74S482 family, Apollo Systems, Atmel Atmega 128, DEC Alpha, DEC PDP-8I, DEC PDP-10, DEC VAX, Fairchild F8, HP 9000, IBM 1130, IBM 360/44, IBM 370/145, IBM 370/168, IBM PC, IBM PowerPC, IBM System 3, IBM Rs6000, Intel 8008, Intel 808x, Intel 80x86, MOS Technology 6502, Motorola 6800, Motorola 6809, Motorola 680x0, National 32000, National COPS, National SCAMP, Rational R1000, TI 9900, Wang 720C, WD Pascal Microengine, Xerox Sigma 6
Education
BS in mathematics with electronics minor, University of Vermont. Partial completion of Master's degree program at Wichita State University.
Various courses in J2EE and XML.