Fortran (Was Re: PDP-8 Straight 8 restoration)
nw.johnson at ieee.org
Mon Mar 30 11:35:47 CDT 2020
Since we are all at home exchanging stories, I thought I would regale
you with my best punch card one:
My first job out of school was at Bell Canada in Downtown Toronto.
I was trained as an FE on their Univac 418 II systems that ran a
Canada-wide store-and-forward MSDS - Message Switching Data Service
(MSDS - means something else now!) I also got trained on the PDP11,
then PDP8, and Interdata 50.
The year was 1972 or '73 I think.
Since there was very little operating to do with a real-time system, we
didn't have operators and did all the operating ourselves. One system
ran H23 (it had to be shutdown for maintenance over midnight because the
system would crash if the time went backwards after midnight), the
other, use by stockbrokers and the T. Eaton Company started at 0600 and
was turned down at 2100.
Being critical real time (after all, it fed about a thousand 110 baud
teletypes across Canada :-) ) it would crash sometimes due to racing
conditions that had not been forecast. Instead of re-assembling the
system (about four hours), the programmers would issue us with PARLO
(PARameter LOader) cards to make patches after we loaded the enterprise
code and before we started it. This fixed the bugs by binary changes.
One morning, I was on duty as the 0600 system crashed immediately after
I started it. As trained, I switched all the peripherals over to the
backup machine and loaded the program on there, carrying the PARLO cards
over and running them before I started that system. Same crash
happened, while the panic dump was still running between the first
computer and the Uniservo VI C.
Lots more attempts happened, including running heavy cables across the
floor to patch in spares that were not on the transfer switch, until
first, second, and finally third level managers were standing behind me
as I tried new things. "A 20-year old does not need this kind of
stress", I thought!
Upper management wanted to 'get somebody else' to work the computer by
my boss told me to stand fast. Suddenly, I had an idea. We had an old
IBM 028 punch sitting at the back of the room.
"Go and copy these PARLO cards" I said to the programmer. She scowled
at being told what to do by this young kid, especially since she was
management and I was not. But as nobody had any better ideas the
managers told her to do it.
Thankfully, my idea that the PARLO cards were worn thin so that the
photo readers could see holes where there were not, was accurate. The
028 used fingers to feel for the holes and so made a perfect copy!
After that they instituted a policy of changing the PARLO cards or
re-assembling on a regular basis!
The attachment is a picture of where this happened.
On 30/03/2020 11:41, Diane Bruce wrote:
> On Mon, Mar 30, 2020 at 09:31:56AM -0600, Warner Losh wrote:
>> On Mon, Mar 30, 2020 at 8:13 AM Diane Bruce <db at db.net> wrote:
>>> On Sun, Mar 29, 2020 at 05:33:35PM -0600, Warner Losh wrote:
>>>> On Sun, Mar 29, 2020, 5:10 PM Diane Bruce via cctalk <
>>> cctalk at classiccmp.org>
>>> A dropped card deck was disaster and how many folks filled in columns 73
>>> to 80
>>> with an index? Not very many. :-(
>> Worse: 80% of the cards had that, but the other 20% didn't since they were
>> later bug fixes.
>> The decks that I had to verify were from the "in the barn" days of the
>> company and had sat in storage for a few years. People would remove cards
>> from the top box in the stack to show visitors and weren't great about
>> putting them back exactly in order... So when the boss, who was sure he
> And the cards bent due to humidity and stuck together while you read them right?
>> semi-real editor (visual TECO at a glorious 4800 baud). and I learned a lot
>> about FORTRAN and just how bad it could be (the boss was a great
>> businessman, much better than his FORTRAN prowess).
> The worst Fortran I remember was from Scientists. I got to fix some of that
> back in the day. Nowadays a lot of them learn C/C++ and are not horrible
> coders now. Early Fortran as you remember was pretty easy to turn into spaghetti
> code. WATFOR and IFTRAN helped.
>>> Ah yes the LARGE array with indexes used as pointers trick. *ugh* I
>> Yea. And ugly tricks to overlay/alias heap1, heap2 and heap4 (which were
>> for byte, word and longword access respectively). And converting between
>> the different "pointer" types. It was helle ugly... But pointers in C that
> Yep. yep.
>> I learned a few years later were a piece of cake in comparison...
> Pointers were a treat compared to the horrible Fortran mess and was very
>> Ha! We had some assembler for the most time critical bits, but we wrote
>> that in MACRO-11 directly and linked it in.
> Yep. BTDT I did a lot of 'raw' MACRO-11 too.
Amateur Radio, the origin of the open-source concept!
You can reach me by voice on Skype: TILBURY2591
If time travel ever will be possible, it already is. Ask me again yesterday
This e-mail is not and cannot, by its nature, be confidential. En route from me to you, it will pass across the public Internet, easily readable by any number of system administrators along the way.
Nigel Johnson <nw.johnson at ieee.org>
Please consider the environment when deciding if you really need to print this message
More information about the cctalk