IBM were thinking of launching the 360
series computers that would be byte
addressable. In the early 60s there
was a well-known committee that decided
the character codes we use today - the
ASCII committee (American Standard Code
for Information Interchange). [In the] early
60s IBM approved of it - they even
had delegates on the Board. So then the
embarrassing questions start coming in.
OK, so there's these 8-bit characters
where are they going to come from?
They're gonna be ASCII aren't they? And
IBM coughed and blushed and spluttered
and said: "We'll make a statement in due 
course". And a lot of us saw what was going to
come up here. They'd had half a century
of evolving their own codes, which were
based on BCD - binary coded decimal.
(More about that, possibly, later). And they
just, kind of, evolved. 
The salespeople were going bananas saying: 
"Look, boss, this 360 series. Right?! If you're
saying it can't use our existing codings on our
card punch -  which we've been using for
years ... because BCD had become EBCDIC:
Extended Binary Coded Decimal
Interchange Code. And that was the IBM
way. But it came along with six versions of that
for historical reasons. Shh!! Even now I
don't know if you can get out of IBM
that document, that shamefacedly owns up
to six different versions of EBCDIC.
Look it up on Wikipedia. It's hilarious!
It really is. So, basically, the salesmen said:
"Look, if we can still use our peripherals
with this new machinery, we can ship
quickly. If we start messing about saying:
'We will be totally ASCII tested and
compliant before we ship', we're going to
lose a huge segment, potentially, of our
market to our competitors". So, why not
just say: "You know where you are with IBM.
You're not really interested in these
technical details. We'll hold your hand".
But, under the hood, we will carry on using 
EBCDIC as our characters, and I've no
doubt the comments will be full of
'Typical IBM Attitudes!' about
this. But you could see that, commercially
for them, it made sense. Oh! by the way
Sean, have you noticed. It has an
unforeseen side effect, this! It locks
people into using IBM machinery for 
evermore, because they'll be utterly
non-standard! Everybody else will be
using ASCII! Is this a bug, or is it a
feature, you know. And I do believe - and 
I think while we discussed it before - I
do believe that, even now,
IBM replacement mainframes will be using
EBCDIC inside. But did they eventually
get the message and come properly into
the modern world? Yes, they did,  but it
took a time, because, as far as I know,
some of the earliest machines [apart from the IBM PC]
to actually use ASCII - that were IBM - was
when IBM discovered UNIX,  and decided:
"Oh! there's all these servers...  UNIX ... other
people doing it - let's do it the IBM way,
at great expense". But for our customers,
who don't mind spending money with us:
"We'll say: ' Here's the IBM way to do Unix' ".
Well, their AIX - I think it's called -
servers, do of course use ASCII. Life would
be intolerable for them if it didn't! So,
in a way, the EBCDICity of it could be
confined to the mainframes and kept
behind the IBM wall, as it were. But just
occasionally problems from EBCDIC
leapt out into the outside world,
sometimes as a result of IBM trying to
be "helpful". Would you like to have your
ASCII-based PDF accidentally, or
deliberately, stored and forwarded by an
EBCDIC machine, that probably thought it
was part of its duty to translate all
this rogue ASCII into EBCDIC, for
internal use, and then translate it back
into ASCII again. on the way out?
I remember Jim King, of Adobe, telling me it
was his biggest nightmare for ages was
this. Y' know IBM trying to be "helpful"
Yeah! store-and-forward EBCDIC-based
machines. He said:  "Y'know I tried to
discover what the common characters were
between ASCII and EBCDIC. How much
commonality is there? [There's] got to be a lot. There
must be 100-odd characters which are in
different mapped positions, but
nevertheless they correspond one-to-one.
Well, first problem is, for C programmers,
there's no curly braces  {  }  in EBCDIC.
I don't know how they got around that? I'm
guessing something like: "Use
\(, or something, for { " ?
I don't know. And anyway Jim
said: "We finally decided at Adobe
there were 80 safe characters that
were inter-mappable between the two. We
were wrong! It depends which of the six
versions of EBCDIC you were using!
I think in the end they decided there
were only 64 absolutely safe characters,
that could be interconverted between the
two. So I think the moral of all this is
that, of course, increasingly EBCDIC is
now utterly confined to the - I guess -
" ... replacement hardware why bother to
re-program it. It was written in COBOL
in 1965, it's still working, we just want
faster hardware to run it on". Good old
IBM. Supply what the customers want - just
sign here!  I mean, I speak as one who's
seen a Meg-In-A-Box delivered by IBM.
It was a 360/70 (?),  I think it
was? And a lot of very worthy people
were doing very good data processing
using COBOL, and all this kind of stuff.
And the thing was so unbelievably slow
and two IBM salesman came, buttoned up,
holding ... well, we here in England .. only the
Chancellor holds up a red box with a
budget statement. These [IBM] guys were holding
this box. I just happened to be there and
I think think the computer center
manager's name was Don.  The luckless 
Don was faced with these guys holding
this black box and they said: "Don we hear,
via back-channels from your users, they
are not happy with the performance of
your machine. on the ... " - is it called `IAS' 
[actually IMS] their database system? I forget now.
"Anyway, they're not happy Don! We have the
solution for you! "What's that?!", says the luckless
Don, the blood draining from his face. 
"Don - it's a Meg-in-A-Box"
And they took out two things that
look more like television cabling with
coaxial plugs on the end, they plug them into the Meg-
in-A-Box and they say: "Open up the CPU case, Don!"
- who's watching all this happening. They
put these things in there: "OK, Re-gen -  I
think that's the IBM word is it? -  Re-gen
the system [and] tell it it's got a
megabyte more memory". So the Re-gen was
done. Honestly the thing went off like a
Lamborghini compared to what it was doing before.
And the next thing, almost literally, was  the
queue of users outside the door ... because
of course then the IBM salesmen depart!
"Hey, just leave it there!
Let your users get used to it, Don ! Yeah! and
all this, and  the users are outside Don's door in a
matter of nanoseconds, saying:
"Don! -  that memory stays! [If] that memory goes
you die!  This machine's wonderful this is
the way it should have been!".  And, of
course, the bill was presented for the
Meg-in-A-Box, but of course could now
be done as a properly supplied unit. But,
just for now, I think it was something
like $10,000 [probably a lot more ...]  $10,000 for a 
Meg of .... but it was IBM memory, Sean, it was so fast!
The users were happy, I actually saw it in
operation. That's the way it worked, you
know: "You've got a lot of money. You know
it makes sense. Don't take chances!"
They won't sack [=US "fire"] you Don, for 
spending $10,000 on a Meg, so long as it's 
with IBM.  There we are.
