The early 1970's sure were fun. Of course, I'm not quite old enough to know that first hand – and, based on the last reader survey, neither are most of you – but, longtime reader and contributor G.R.G. certainly remembers. You see, by that time, computers were starting to become a novelty.

There was the computerized this and the computerized that - if something didn't have the adjective "computer", had no blinking lights, and couldn't even make a beeping noise, then it was booorrring. Think back to those old Computer Football or Computer Hockey games that you saw at the flea market and then quickly passed up because they were nothing more than, well, a stupid board game with a few blinking lights that occasionally beeped. It should come as no surprise that the local television news programs went computerized, too.

For the 1972 elections, one major TV station signed a deal with a certain Large Computer Company to provide "Computer Vote Totals". The idea being that viewers could tune in on election night and see the results of local, state, and national elections as they were reported. It was pretty exciting, and the TV station made sure to heavily promote the "Computer Voter Totals" for weeks leading up the election. They even made up a little computer jingle, full of bleeps and blorps.

When election night finally came, the TV station was ready to go. They had a room full of impressive computers for everyone at home to see. Not actual computers, mind you. Those were not only far too large large for the studio, but they required 1,500 kilowatts of 400 cycle power. Instead, the Large Computer Company shipped a bunch of 3000-series I/O controllers. Granted, the I/O controllers weren't actually hooked up to anything, and they had long been obsoleted by the 6600-series I/O controllers, but they were 4-to-6 foot high racks full of electronics and had lots and lots of blinky lights. Besides, the newer 6600 controllers were smaller and had grown out of the blinky-light phase.

As for the actual computers, those were back the Large Computer Company's time-share facility. Connected to the computers were a number of dumb terminals operated by a little old ladies. The plan was to have the various precincts call in their vote totals, and have the little old ladies type the numbers in the terminal. A custom-built FORTRAN program would tally up the results and display them on a dumb terminal screen, and which point the TV station would point their camera at it for all to see.

This particular company's time sharing system had a rather strange design by today's standard. The original designers assumed that keyboard input to a running program would be rare and brief - perhaps an occasional letter to select a menu option or, at most, a line of text - so, they made the curious choice of signaling an "END OF FILE" with an empty line. Just type in your text, hit "return", and then "return" again.

In FORTRAN, when a simple READ( 5, * ) from the standard input encounters an END OF FILE, this triggers a major and irrecoverable error. The reason being, FORTRAN was designed to be run in batch mode, so an unexpected EOF was a major boo boo. Of course, one could detect the EOF condition, but this would require using a fancier form of the READ() statement, something like: READ( 5, *, .END. = 600 ) LINE.

Back to election night, with the little old ladies typing in the precinct results, and the FORTRAN program crunching the numbers. Things were starting to getting exciting in a few races, and the respected local anchorman started talking faster and faster. "I think it's finally time," the anchorman said in a dramatic manner, "to bring up the Computer Vote Totals". The producer flipped over to the camera pointing to the dumb terminal, and everyone's televisions at home were filled with Computer Vote Totals, flipping through all of the different races.

Not a second later, one of the little old ladies typing in the input pressed the RETURN key before selecting the right option. Normally, this wouldn't have been a big problem, but the number-crunching programmer had forgotten to put that .END.= 600 option on the read statement. Instantaneously, the presidential election results on several millions of TV watchers screen's turned to this...

**** ERROR  *****   FATAL RUN23 ERROR 66 *******
***** RUN-TIME ERROR ******
***** READ PAST END OF FILE ON FORTRAN UNIT 5 ******

***** DETECTED BY INITI8IO$  AT  00234545
***** CALLED   BY FTNFREAD$  AT  00234667
***** CALLED   BY FTNIOMGR$  AT  00235322
***** CALLED   BY READCMD    AT  00010233
***** CALLED   BY RUNPROG    AT  00010100

  EXCHANGE PACKAGE

A0 000122      X0 0304324534342344552
A1 000122      X1 0304324534342344552
A2 000122      X2 0304324534342344552
A3 000122      X3 0304324534342344552
A4 000122      X4 0304324534342344552
A5 000127      X5 0304324534342344552

MEMORY DUMP FROM 000000    TO  177777

The TV station quickly cut to a commercial. The "Computer Vote Totals" never quite made it back up that night.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!