Semi-Interpretive Principles accelerated programming at Richey Electronics
Jerry Nakano designed a project where web crawlers scraped information from the Advantis websites of manufactures of electronic components. Using an HP3000 computer, Jerry made processes run in the background and wait for requests from sales persons. When a sales person requested information from a manufacturer which had a process, the computer quickly navigated the site. After his three programmers had written a couple programs to glean the information within such processes, Jerry hired me as the project manager and lead programmer. At first, I followed the design and wrote three more of the sixty some required web crawlers. It became obvious that an interpreter would be faster to write and easier to maintain. Jerry was unsure.
While he pondered, I explained the need to adjust the calling parameters of the subprograms. We had one bright guy who built the initial subprograms to call IBM intrinsics from the HP3000. HP and IBM had different endians and different defaults. I re-wrote the subprograms and placed the parameters on the correct boundaries for the IBM. The strange crashes stopped.
Then we all realized that a very few logon routines, like three, would handle all of the logons. I wrote a subprogram to perform the logon for the most common kind of logon; the subprogram used data from a data table. Then I wrote simple program to maintain the table of logon credentials for each manufacturer. This removed that data from the programs and let our good secretary BrieAnna input changes as needed. Suddenly, we could log onto many of the websites. We wrote a special program to handle all three kinds of logons. Suddenly, we could reach all sixty websites just by inputting the data so that the new program could read it and logon. Jerry finally understood and voted for some interpretive features.
Next Bruce Ho and I realized that page to page navigation followed a few sequences. We added some records to our manufacturer data base and each of us wrote an interpretive program. The programs worked for navigating. Jerry was unhappy with the idea of retro-fitting the programs already written. Circumstances changed his mind. Few manufacturers changed their websites and the some early programs needed re-writing. For some of the interpretive programs, only a change of data fixed the problem. All of the non-interpreters required source code changes.
The next interpretive feature was the parsing of tables on webpages. Like typical HTML, the tables were repetitive. The interpreters could easily convert the rows to sequences of fields. The headers at the top of the columns identified the fields. Data from the data tables held literals that identified and mapped the data.
We finished the project several weeks ahead of time because writing the interpreters took much less time to write. The logons were simplified. The navigation was simplified. The extraction was simplified. The maintenance for changes by the vendors was simplified. The spike in sales at Richey had the intended effect of aggravating Avnet Electronics. The sale made a nice bundle for Jerry and for Richey's president, who had bought Rickey to implement this idea.
Jerry could be impatient, but he paid well and he found several projects for me to work on. Friday noon at our staff meetings, Jerry paid us for the week and any expected hours on Saturday.
While he pondered, I explained the need to adjust the calling parameters of the subprograms. We had one bright guy who built the initial subprograms to call IBM intrinsics from the HP3000. HP and IBM had different endians and different defaults. I re-wrote the subprograms and placed the parameters on the correct boundaries for the IBM. The strange crashes stopped.
Then we all realized that a very few logon routines, like three, would handle all of the logons. I wrote a subprogram to perform the logon for the most common kind of logon; the subprogram used data from a data table. Then I wrote simple program to maintain the table of logon credentials for each manufacturer. This removed that data from the programs and let our good secretary BrieAnna input changes as needed. Suddenly, we could log onto many of the websites. We wrote a special program to handle all three kinds of logons. Suddenly, we could reach all sixty websites just by inputting the data so that the new program could read it and logon. Jerry finally understood and voted for some interpretive features.
Next Bruce Ho and I realized that page to page navigation followed a few sequences. We added some records to our manufacturer data base and each of us wrote an interpretive program. The programs worked for navigating. Jerry was unhappy with the idea of retro-fitting the programs already written. Circumstances changed his mind. Few manufacturers changed their websites and the some early programs needed re-writing. For some of the interpretive programs, only a change of data fixed the problem. All of the non-interpreters required source code changes.
The next interpretive feature was the parsing of tables on webpages. Like typical HTML, the tables were repetitive. The interpreters could easily convert the rows to sequences of fields. The headers at the top of the columns identified the fields. Data from the data tables held literals that identified and mapped the data.
We finished the project several weeks ahead of time because writing the interpreters took much less time to write. The logons were simplified. The navigation was simplified. The extraction was simplified. The maintenance for changes by the vendors was simplified. The spike in sales at Richey had the intended effect of aggravating Avnet Electronics. The sale made a nice bundle for Jerry and for Richey's president, who had bought Rickey to implement this idea.
Jerry could be impatient, but he paid well and he found several projects for me to work on. Friday noon at our staff meetings, Jerry paid us for the week and any expected hours on Saturday.