Simple Solutions to Complex Problems
  • Simple Solutions
    • Documents Live Once
    • Good JIgs
    • Polya and Friends
  • Long Term Relations
    • Customers & Projects >
      • APU OverView >
        • APU Early Years
        • APU Middle Years
        • APU Late Years
      • AQMD >
        • DataGeneral v Hewlett Packard
      • Big Lots
      • The Federate Group >
        • Stabilizing the System
        • The Cash Register System
        • Later Projects
      • Munson Management Systems
      • National Electronics
      • Richey Electronics
      • Sierra Pacific Investments
      • Other Customers
  • Diagonal Method
    • D2-M2 >
      • Diagonal differs from Agile
      • Maintenance Projects
      • Manufacturing Projects
      • Research Projects
    • Data Structures >
      • Data Levels
      • Data Logging
      • Data Merging
      • Data Input Buffers
      • Data Sorting
      • Data Deltas
    • Readable Source Code >
      • Readable Code Modifications
      • Readable Paradigms
      • Readable Style
    • Critical Path Method >
      • CPM Data Tasks
      • CPM Menu and Security
      • CPM External Tasks
      • CPM: Early Calculations
      • CMP Stem to Stern >
        • Work Units
    • Semi-Interpretive Mindset >
      • Simple Semi-Interpretive Case Study 1
      • Semi-Interpretive Case Study 1 -- Semesters 2 and 3
      • More Thorough and Efficient
      • Software Research Northwest
    • Semi-Interpretive Methods
    • Concepts and Practices >
      • Data Changes
      • Data Stacks
      • Data Tokens and Loose Linking
    • Diagrams & Examples >
      • Venn Diagrams
      • Music Score as a Diagram
      • Cause & Effect Diagrams
    • Dictionary and Lexicon
  • Programmers
    • Tools and Languages >
      • python considerations
      • program names, like sa5comm
    • Perspectives of a Manager
    • ToDo
    • HTML testing
    • Private Thoughts
    • Leads
  • Contact Pilgrim
    • Land of the Free
    • Pilgrim Legal Status
    • Index to Pages
  • New Page
  • Stonehenge Simply Done

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.
PCC 1982 - 2014