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. 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 aggreated 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 250k. 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 asigned a branch line number and the reporting was done per branch. The program took longer than what I invisaged 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 discrimated 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 limted 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 lifecycle of technology is longer that what you are led to beleive!
Now in modern network the reports we require are no different than these railway reports. The shipping transactions are netflow 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 Netflow applications but none seem to mimic the railway format and although they report on count, none have a concept of reporting on financial value.