The reports printed in 1991 on dot matrix printers are no different to today's dashboards on flat screen monitors
My first job was for the Railways. It was fun working there until I was told that I could not be a member of their pension fund because I was disabled. I didn't stay around to argue the point and moved on to work for a little networking company known as Network Interface Consultants founded by Andre Maree.
There was a two-year probation before an employee was allowed to join the railway pension fund and I slaved away in blissful ignorance in what was to come. I wrote programs in Cobol with embedded SQL. The database was DB2 which was hosted on IBM and Amdahl mainframes. I was assigned to the Information Centre and my boss delegated me to program some MIS systems.
The railway wanted some simple reports which they hadn't been able to obtain from the Information Centre for years. Little did I realize that the existing team had attempted and failed to deliver. The report requests were simple. They wanted:
- Top 20 senders of goods per station
- Top 20 receivers of goods per station
- Consolidated Top 20 senders and receivers of goods per station
- Top 20 types of goods send per station
- Top 20 types of goods received per station
- Consolidated Top 20 types of goods per station
- Everything that wasn't in the Top 20 was aggregated into a 21st item named other.
I disappeared into the sunset trying to write these reports with a few hiccups along the way. One memorable run had a logical flaw that resulted in a run of 23 hours and a bill of R250k. Ouch! Finally, I delivered the program.
The next day they phoned me and said great but they wanted additional reports. They wanted the report not by count but by financial value. Within an hour that was done and dusted.
The next request was to group all the stations into branches, i.e. stations were assigned a branch line number and the reporting was done per branch. The program took longer than what I envisaged as I had made a programming fault and couldn't spot it. It was a whole month before I had it working!
After I had delivered this version I never heard from these guys again. A good many years later I was in a remote railway office and immediately recognized my reports laying on a table. I was impressed that my program was still being used!
The lessons I learnt are:
- You do not know what it means to be humiliated or discriminated against unless you experience it!
- The most important things are limited to a small set. Although there were 12 million shipments per year, most people were interested in only a limited amount which translated to their logistical and financial concerns.
- You can stare for ages at a problem and miss seeing it. It was only when I showed someone else the program to explain the problem, that I was able to fix it.
- The life cycle of technology is longer that what you are led to believe! I assume the program would still exist and be used if the railways hadn't been state captured and screwed up
Now in modern network the reports we require are no different than these railway reports. The shipping transactions are network flow data, the senders and receivers are IP addresses, the goods are application types, the stations are routers and the branches are groups of locations or regions. I have seen a number of network flow applications but none seem to mimic the railway format and although they report on count, none have a concept of reporting on financial value.