Current Status: Looking and happy to answer inquiries, open to new adventures.
Mailing Address: 830 West Parr Avenue, Los Gatos, California 95032
Education: Bachelor's Degree in mathematics with a minor in physics from U.C. Berkeley with Honors.
Principle Platforms and Languages: Windows, Visual Studio/MFC, C++, Java
State of Mind: I look for interesting "projects" rather than "positions."
Environment: For the last 25 years, my principle MO has been working at home on my own projects or contracting with companies to develop software meeting their needs. I typically do the whole thing or a substantial piece. Most of these relationships lasted for years. In fact, I still add features to the servers and design tools I did for iPrint.com. Not suprisingly, I look at the past in terms of ideas and accomplishments rather than technologies or responsibilities. You can always ask if I have experience with a particular widget. I don't need the assurance of a big committment. In fact, I prefer working somewhat less than full time on a straight hourly rate (1099 tax structure). I enjoy the challenge of having to justify the checks written to me. I have my own health insurance and whatnot.
T/Maker and T/Master: "To say T/Master is feature-rich is an understatement. I could not imagine a more powerful, truly integrated program. It seems to have all the bells and whistles of its peers as well as a unique application of the principle of software integration." -- July 89 issue of PCM Magazine
In 1979 I purchased a personal CP/M computer, worked in my basement for a year of evenings and weekends, and developed an integrated software product called T/Maker. The product gave birth to a company of the same name a few years later.
Not particularly flashy by today's Windows standards, the program offered amazing functionality and the ability to automate most any task that could be done manually. It incorporated word processing (with a spell-checker), spreadsheet, database, graphics, desktop publishing, communications, and a host of other functions. About a quarter of a million licenses of various versions were sold through 1993.
I still get the occasional compliment from a user who has stuck with it for its remarkable flexibility. And, of course, the occasional tech support call as well. Thanks to this product, I got my 15 minutes of fame by being interviewed in "Programmers At Work" by MicroSoft Press that, in theory, studied the people who shaped the industry. Remember, I said "in theory."
I Hate Algebra: "... I thought, 'This would be nice for my kids to learn math with.' Y'know a kind of get-used-to-computers-and-learn-math-too-kind-of-program. I certainly didn't expect to recreate some of my more extravagant Lotus, Wingz or Excel spreadsheets ..." -- October 92 issue of Windows & OS/2 Magazine
My first Windows product! This spreadsheet abandoned traditional symbolic algebra in favor of "calculation strips"--an ordered series of operators analogous to pushing buttons on a calculator. A two cell approach was used. The second cell held and displayed symbols, formatting information, or designators for labels and values in graphs. It was really quite simple.
The robustness of the syntax handled problems involving logical tests, iterations, and even goal seeking. And, you never had the misfortune of inadvertently referring to the wrong cell. Blocks of cells could be moved without difficulty, since the operators associated with them were relocated along with the data.
It was also possible to insert "Smart Rows" which mimicked the symbols of the row above thus leading to the easy insertion of new data rows. "Tracking" allowed the user to step through all equations--operator by operator--and watch the intermediate values. Debugging was a snap.
Chartbook System: "... the computer was, paradoxically, out of the way using this software."; "In all, the simple and uncluttered presentation, the seamless operation and the speed make Technical Tools' Chartbook system one of my favorites." -- Stock & Commodities Magazine
This was a contracting assignment I took over the course of two years. The result was a totally remade company (from DOS to Windows). The company sold stock and commodity price information over the phone lines via a BBS. I developed a complete custom server-side (including accounting) and all client products to download, display, and manipulate the data. This system assembled and filled orders much faster than any other. Even the compression algorithms (which relied more on anticipation than compression) were uniquely written for the task at hand.
Touchpoint--The Information Driveway:
With all the buzz about the "Information Superhighway," I decided to put together a BBS server with a display and screen design tool based on the concept of keeping an issue of a magazine up to date with one click on an icon and one quick download. The intent was that companies serving a local area would give away a client to their customers. A few small companies used it, but the big fish got away and jumped to the then-emerging Internet.
My Secret Weapon--A Development Environment:
An extension of Touchpoint, this product added fields in forms, full math and locic, report generation, and uploading and downloading abilities via an Intranet or the Internet.
Screens are incredibly easy to create as one right click shifted to an "edit mode" where each item on the screen was associated with an appropriate tool bar. One could just click through options for fonts, styles, justifications, effects, animations, etc. Sometimes you discovered a cool look quite by accident.
All elements were scaled to the screen size available, so the appearance was constant over all resolutions. The product has been used for a few applications including a stand-alone module developed by a lawyer that calculates alimony and child support payments from a zillion or two parameters.
ICAST Viewer and Guide:
I contracted to develop a Viewer and Guide for the client end of ICAST's streaming video products and GUIs for some other products. These incorporated the various media display and recording modules. The program had some rather unique GUI elements at the time including animated panels that slid out and in from the TV, scrollable toolbars surrounding the screen that were usable at any size, and an original and practical volume adjuster--I find sliders hard to grab and needed a square volume tool.
The Guide looked more like a real magazine than a computer program. (Excuse the poor icons; an artist was not provided, so I created or borrowed these.) Note also that the seach tool for the guide allows you to just type in the string before pushing it. I hate popping up little dialogues all over the place.
The Dot Com years were spent contracting to develop custom multi-threaded servers, design tools, and a variety of things to support this online printing business. Despite a high of 24 programmers at one point, they all worked in Perl, so C++ and java tasks went exclusively my way.
The image on the right is a java applet to design products. The overlaid window, in this case, is the dialogue to modify colors. You can see, in advance, the effect of increasing individual primary colors or adjusting the overall intensity. No standard dialogue was avialable at the time.
WildWords: "Uniquely profound. Uniquely challenging. Uniquely fun." -- Major Fun.com
As a life long lover of games, I decided Scrabble (TM Hasbro) was just not the imaginative and challenging word game it should be, so I invented and published an alternative.
There is a minimal but perfectly functional Internet version available at the WildWords site.
There have, of course, been other efforts in the world of contracting over a range of items, but I think the ones above represent a reasonable survey of what I have done for myself or as a contractor for another company..
World Bank, Washington, DC: COBOL and PL/I programming on a Burroughs mainframe and C on DEC equipment. Data Collection and Analysis. Models and Simulations. Parsers and Languages. Business and financial applications. Performance measuring tools for other programs. A few too many feasibility studies.
World Health Organization, Geneva, Switzerland: PL/I programming on an IBM mainframe. Applications fell under a variety of headings: Data Collection and Analysis. Mathematical models. Ordering and accounting applications. Financial applications. A few interesting heuristic problems. Travel and training field staff.