How old were you when you first started programming?
I started programming when Wang Laboratories introduced the Wang 700 Programmable Calculator for engineering applications. (When’s that, you ask?) The Wang 700 stored its microcoded instruction set in a wire-roped ROM and saved programs created in “learn mode” on a tape cassette. The 700 model had 8 kbits of core memory and cost $4,995; the later 720 had 16 kbits and cost a bit more.
How did you get started in programming?
I had sold a chemical company (Polytron Corp.) to Olin Corporation, worked for Olin during a long year of bonded indenture in New York City, and returned to live in Oakland. (Polytron was, at the time of its sale, one of the largest U.S. producers of rigid polyurethane foam chemicals. Two of the more interesting uses for Polytron’s products were producing surfboard cores and raising sunken ships.)
Having nothing better to do after I returned to the Bay Area, I designed a large-scale apple vacuum drying plant for the Vacu-Dry Company in Sebastopol, CA (now the home of O’Reilly Media.) I needed to make thousands of calculations of steam flows and pressure drops in vacuum lines, so I bought a Wang 700 to automate the calculations and a 701 Output Writer (a solenoid-driven IBM Selectric typewriter) to print the results.
While I was finishing the Vacu-Dry project, I started Fluidyne Instrumentation to produce processing equipment for polyurethane foam and elastomers (rubber), as well as fluid flowmeters, primarily for automotive and later marine fuel economy measurement. I had studied electrical engineering at UC Berkeley (in the days of the first junction transistors) and discovered the Wang 700 had an I/O connector on its back panel. I called Wang Labs to get more information about the connector and spoke to Dr. Wang, who sent me a set of specs marked up with Chinese ideograms. (In those days, Dr. Wang answered the phone after 5:00 PM.) I had a Chinese friend translate the comments and ultimately built digital interfaces to automate process measurement and control operations. Fluidyne wrote the equivalent of an API for the interface.
What was your first language?
If you don’t count Wang 700 macros, it was Wang BASIC for their first real desktop computer, the Wang 2200 “computing calculator.”
What was the first real program you wrote?
A Wang 700 program for analyzing excessive losses of Corning Corelle glass dinnerware in the production process. The Fluidyne interface had 10 cards containing 10 digital counters each which kept track of the number of plates passing production stations. Corning discovered that employees were the primary source of the losses. By that time, Wang-based data acquisition and control systems had become a major source of Fluidyne’s revenue. We ultimately started a European branch housed in Wang’s Brussels office. The Soviet Union’s Elektronorgteknika was one of our larger customers because the U.S. government classified Wang products as word-processors or calculators, not computers.
What languages have you used since you started programming?
Wang 700 macros, Wang 2200 BASIC, Commodore BASIC, IBM and Microsoft ROM BASIC, dBaseIII, dBaseIII Developer Edition, dBaseIV, Clipper, QuickBASIC, WordBASIC, TurboPascal, VB 1.0, VB 1.0 Professional Extensions (Rawhide), VB 2.0, Access Basic (a.k.a., Embedded BASIC), VB 3.0 Professional, VB 4.0 to 6.0, and all versions of VB.NET as well as C#.
What was your first professional programming gig?
My first programming-only project was an Access 1.0/1.1 project for National Semiconductor Corp. called ASK that provided their national sales force online access via a modem and TCP/IP stack to up-to-date integrated circuit sales and related data. The project used a beta version of an Information Builders’ EDA ODBC driver to connect to a DB2 data warehouse on a Hitachi mainframe and execute pass-through queries. The ASK project was featured in “A Client/Server Application: From Concept to Reality” Tech*Ed 1995 session by Microsoft’s Greg Nelson.
If you knew then what you know now, would you have started programming?
Absolutely. I’ve had several avatars over the years but programming is my favorite [a]vocation. Next is writing.
If there is one thing you learned along the way that you would tell new developers, what would it be?
Avoid architectural/language orthodoxy. There are many ways to skin a cat and there are at least as many ways to design and write scalable, performant and maintainable enterprise-level applications.
What's the most fun you've ever had ... programming?
Writing a VB.NET 1.0 program that translated the entire U.S. Code of Federal Regulations (CFR) from SGML to XML and stored it in SQL Server 2000 with Full-Text Search (1+ GB). An XML Web service delivered sections to ASP.NET Web form clients in response to search query or browse requests. The project won Microsoft’s 2002 NET Best Award for Horizontal XML Web Service Solutions, which included a $25,000 cash prize.