Previously : What is a document? - part 2.
Back in 1983, I
interacted with computers in three main ways. First, I had access to
a cantankerous digital logic board [1] which allowed me to play around with boolean logic
via physical wires and switches.
Second I had access to a Rockwell 6502
machine with 1k of RAM (that's 1 kilobyte) which had a callous-forming keyboard and a single line (not single monitor –
single line) LED display called an Aim 65[2]. Third, at home I had a
Sinclair ZX80 [3] which I could hook up to a black and white TV set and get a whopping
256 x 192 pixel display.
Back then, I had a
fascination with the idea of printing stuff out from a computer. An early indication – that I
completely blanked on at the time – that I was genetically predisposed to an
interest in typesetting/publishing. The Aim 65 printed to a cash
register roll which was not terribly exciting (another early indicator that I
blanked on at the time). The ZX80 did not have a printer at all...home printing was not a thing back in 1984. In 1984 however, the Powers That Be in TCD gave us second year computer science newbies rationed access to a Vax 11/870, with glorious Adm3a[4] terminals.
In a small basement
terminal room on Pearst St, in Dublin, there was a clutch of these terminals and we would eagerly stumble down the stairs at the appointed times, to get at them. Beating time in
the corner of that terminal room, most days, was a huge, noisy dot matrix printer[5],
endlessly chewing boxes of green/white striped continuous computer
paper. I would stare at it as it worked. In particular, finding it
particularly fascinating that it could create bold text by the clever
trick of backing up the print head and re-doing text with a fresh
layer of ink.
We had access to a
basic e-mail system on the Vax. One day, I received an e-mail from a
classmate (sender lost in the mists of time) in which one of the
words was drawn to the screen twice in quick succession as the text
scrolled on the screen (these were 300 baud terminals - the text appeared character by character, line by line, from top to bottom). Fascinated by this, I printed out the e-mail, and found that
the twice-drawn word ended up in bold on paper.
"What magic is this?", I thought. By looking
under the hood of the text file, I found that the highlighted word – I believe it was the word “party” – came out in bold because five control characters
(Control-H [5] characters[6]) had been placed right after the word. When displayed
on screen, the ADM3a terminal drew the word, then backed up 5 spaces because of the Control-H's,
then drew the word again. When printed, the printer did the same but
because ink is cumulative, the word came out in bold. Ha!
Looking back on it,
this was the moment when it occurred to me that text files could be
more that simply text. They could also include instructions
and these instructions could do all sorts of interesting
things to a document when it was printed/displayed...As luck would have it, I also had access to a wide-carriage
Epson FX80[7] dot matrix printer through a part-time programming job
I had while in college.
Taking the Number 51 bus to
college from Clondalkin in the mornings, I read the Epson FX-80 manual from cover to cover. Armed
with a photocopy of the “escape codes”[8] page, I was soon a dab hand
at getting text to print out in bold, condensed, strike-through,
different font sizes...
After a while, my Epson FX-80 explorations ran out of steam. I basically ran out of codes to play with. There
was a finite set of them to choose from. Also, it became very
apparent to me that littering my text files with these codes was an
ugly and error prone way to get nice print outs. I began to search for a better way. The “better way”
for me had two related parts. By day, on the Vax 11/780 I found out
about a program called Runoff[9]. And by night I found out about a
word-processor called Worstar[10].
Using Runoff, I did not have to embed, say, Epson FX80 codes into my text files, I could embed
more abstract commands that the program would then translate to
printer-specific commands when needed. I remember using “.br” to create a
line break (ring any bells, HTML people?). “.bp” began a new
page, “.ad” right-aligned text. etc.
Using Wordstar on an
Apple II machine running CP/M (I forgot to mention I had access to
one of them also...I wrote my first ever spreadsheet in Visicalc on
this machine, but that is another story.) I could so something
similar. I could add in control codes for formatting and it would
translate for the current printer as required.
So far, everything I
was using to mess around with documents was based on visible coding systems. i.e. the coding added to the
documents was always visible on the screen interspersed with the
text. So far also, the codes
added to the documents where all control codes. i.e. imperative
instructions about how a document should be formatted.
The
significance of this fact only became clear to me later but before we
get there, I need to say a few words about my early time with
Wordperfect on an IBM PC XT. My first encounter with a pixel-based
user interface – it was called GEM [11] and ran on top of DOS on
IBM PCs. An early desktop publishing system called Ventura Publisher
from Ventura Software which ran on GEM. I also need to say a little
about the hernia-generating Apple Lisa[12] that I once had to carry up a spiral stair-case.
Oh, and the mind blowing
moment I first used Aldus Pagemaker[13] on a Fat Mac 512k[14] to
produce a two columned sales brochure on an Apple Laserwriter[15] and
discovered the joys of Postscript.
Next : What is a document? - Part 4.
Next : What is a document? - Part 4.
[1] Similar to this
http://microtechcorporation.net/mtc/wp-content/uploads/2016/07/scmes7.jpg
[5] Similar to this
http://bit.ly/2CFhue9