Clem Cole:
> Apologies to TUHS - other than please don't think Fortran did not
> impact UNIX and its peers.
Fortran had an important (if indirect) influence in early Unix. From
Dennis's memories of the early days of Unix on the PDP-7:
Soon after TMG became available, Thompson decided that we could not
pretend to offer a real computing service without Fortran, so he sat
down to write a Fortran in TMG. As I recall, the intent to handle
Fortran lasted about a week. What he produced instead was a definition
of and a compiler for the new language B.
(The Evolution of the Unix Time-Sharing System; see the 1984
UNIX System issue of the BLTJ for the whole thing, or just read
https://www.bell-labs.com/usr/dmr/www/hist.html)
Now let's move on to the name `rc'. Not the shell, but the
usage as part of a file name. Those two characters appear
at the end of the many annoying, and mostly pointless, configuration
files that litter one's home directory these days, apparently
copied from the old system-startup script /etc/rc as if the
name means `startup commands' (or something beginning with r,
I suppose, instead of startup). But I recall reading somewhere
that it just stood for `runcom,' a Multics-derived term for what
we now call a shell script.
I can't find a citation to back up that claim, though. Anyone
else remember where to look?
Norman Wilson
Toronto ON
>I thought it was pretty well known that it [BSS] stands for, "Block Started (by) Symbol"?
BSS was a "pseudo-operation" in SAP (SHARE assembly program) for the
IBM 704. My recollection is that the assembler manual called it "block
starting at symbol". There was also a BES (block ending at symbol)
pseudo-op. Both reserved a block of memory, with the assembler
assigning the appropriate value to the pseudo-op's label.
The reason for BES was that index registers were subtractive. There
was a loop-ending instruction ,TIX (transfer on index), that decreased
the index by a specified amount and transferred to a specified
location unless the index hit zero, in which case the instruction
counter continued in sequence. BES was originally conceived for
addressing an array stored by increasing subscript but indexed by a
register that counted down. BES was also useful for FORTRAN object
code, which stored arrays backward and kept the true, uncomplemented
subscript in an index register.
Doug
> As far as I see it, EQN input is made of things where a thing is one of
> mathematical or troff or eqn symbol
> mathematical punctuation
> delimiter, these being space, '~', '^', '{', '}', or newline
> a character surrounded by punctuation or delimiters
> - with/without users errors
> a word surrounded by punctuation or delimiters
> - with/without users errors
> EQN keywords (which are special words???)
> That is way too long winded!! I want something tight.
Quotes take precedence over all other things.
What is a "troff symbol"? I can only think of troff escapes, which can
only appear in quotes , so are not eqn things in their own right. (In
user errors they may be seen as punctuation, etc.)
Ditto for "eqn symbol"? Perhaps the union of some or all of the things
that follow in the list?
Ditto again for "mathematical punctuation". Comma is one example I can
think of. Apostrophe, read as "prime", may be another. Are there
more?
Is "surrounded by" inclusive or exclusive? Why is "character"
distinguished from "word"?
The ??? question bears on the issue of whether sintheta is one thing
or two. The word "maximal" will probably figure in the answer
Another (sticky) point is how punctuation sticks to an adjacent thing.
For example, eqn inserts space in (a,b), but keeps the whole thing(?)
together in 2 sup (a,b).
Doug
Thanks to Unix document recovery work by some TUHS list members that
has been recently added to the archives at minnie.tuhs.org, a large
Bell Labs bibliography about Unix has been uncovered and is now
available online. I have spent time this week converting the 59-page
PDF file to a somewhat searchable OCR'ed PDF, and from a text
conversion of that file, to relatively clean BibTeX entries in
https://www.math.utah.edu/pub/tex/bib/unix.bib
[change .bib to .html for similar view with hypertext links].
The bibliography recorded in entry Scheiderman:1980:UB, with a long
remark field, has 457 entries, from the years 1972 to 1980, but due to
splitting into subject-specific sections, there are some duplications:
448 remain after data merger.
Much work remains to be done, including locating electronic copies of
those reports, correcting truncated data, and getting suitable URLs
retrofitted into their BibTeX entries. However, I prefer a
release-early-and-often approach to bibliographic data distribution,
whence this announcement to the TUHS list and others.
For searching convenience, I have created an SQLite3 portable
database file at
https://www.math.utah.edu/pub/tex/bib/unix.db
There is a tutorial on SQL searching of BibTeX data in a paper and
talk slides at
BibTeX meets relational databases
https://www.math.utah.edu/~beebe/talks/#2009
and further documentation about BibTeX itself at
BibTeX Information and Tutorial
https://www.math.utah.edu/pub/bibnet/bibtex-info.html
Below are some samples of searches to find the earliest mention of
selected topics in the Bell Labs technical memoranda. Even if you have
never used SQL queries, they should be fairly understandable, and the
new entries all carry identical bibtimestamp values to make their
identification and selection easy.
% sqlite3 unix.db
.headers on
.mode table
-- Find the earliest entries
select label, year, author from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
order by year, label
limit 10;
+--------------------+------+-------------------------------------+
| label | year | author |
+--------------------+------+-------------------------------------+
| McIlroy:1972:MTC | 1972 | M. Douglas McIlroy |
| Ritchie:1972:UAR | 1972 | Dennis M. Ritchie |
| McIlroy:1973:SES | 1973 | M. Douglas McIlroy |
| Olsson:1973:GCC | 1973 | S. B. Olsson |
| Remde:1973:CCS | 1973 | J. R. Remde |
| Kernighan:1974:PCT | 1974 | Brian W. Kernighan |
| Lycklama:1974:ILC | 1974 | Heinz Lycklama |
| Morris:1974:CDT | 1974 | Robert Morris and Lorinda L. Cherry |
| Morris:1974:WSH | 1974 | Robert Morris and Ken Thompson |
| Swanson:1974:GFC | 1974 | G. K. Swanson |
+--------------------+------+-------------------------------------+
-- Find earliest mentions of IBM mainframes
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%ibm%')
order by year, label;
------------------+------+--------------------------------------------------------------+
| label | year | title |
+------------------+------+--------------------------------------------------------------+
| Roberts:1975:UIU | 1975 | UNIXLIST --- An IBM / 370 Utility Program to List a UNIX Fil |
| | | e Stored on a 9-Track Magnetic Tape. |
+------------------+------+--------------------------------------------------------------+
| Bach:1979:PAD | 1979 | Porting the ADAPT Data Translation System to the IBM 370 |
+------------------+------+--------------------------------------------------------------+
| Grampp:1979:SCI | 1979 | Support for C on IBM Computers |
+------------------+------+--------------------------------------------------------------+
| Huber:1979:ULD | 1979 | UNIX Line Discipline for IBM 2740-1 Protocol |
+------------------+------+--------------------------------------------------------------+
-- Find earliest mention of porting work to Intel 808x family
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and ((title like '%intel %') or (title like '%z80%'))
order by year, label
limit 5;
+--------------------+------+--------------------------------------------------------------+
| label | year | title |
+--------------------+------+--------------------------------------------------------------+
| Molinelli:1977:UAI | 1977 | UNIX Assembler For The Intel 8080 Microprocessor |
+--------------------+------+--------------------------------------------------------------+
| Bradley:1978:EMS | 1978 | Evaluation of Microprocessors Supporting the C Language: LSI |
| | | -11, MAC-8, Z80 |
+--------------------+------+--------------------------------------------------------------+
| Farrell:1978:UGS | 1978 | User's Guide to the SMAL2 Language for the Zilog Z80 Micropr |
| | | ocessor |
+--------------------+------+--------------------------------------------------------------+
| Vogel:1978:ZAR | 1978 | 8080 / Z80 Assembler Reference Manual |
+--------------------+------+--------------------------------------------------------------+
| Blumer:1979:UUI | 1979 | UNIX / 86: UNIX on the Intel 8086 |
+--------------------+------+--------------------------------------------------------------+
-- Find earliest mentions of port to Interdata machines [note the full
-- text search of entry, rather than just of the title]
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (entry like '%interdata%')
order by year, label
limit 5;
+------------------+------+---------------------------------+
| label | year | title |
+------------------+------+---------------------------------+
| Johnson:1977:CLC | 1977 | The C Language Calling Sequence |
+------------------+------+---------------------------------+
-- Find earliest mentions of 36-bit Univac Unix
select label, year, author from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%univac%')
order by year, label;
+----------------+------+---------------------------------+
| label | year | author |
+----------------+------+---------------------------------+
| Lyons:1976:GUR | 1976 | T. G. Lyons |
| Graaf:1979:PPE | 1979 | D. A. De Graaf and Jerome Feder |
+----------------+------+---------------------------------+
-- Find authors of earliest mentions of Programmer's Workbench (PWB)
select label, year, author from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and ((title like '%PWB%') or (title like '%workbench%'))
order by year, label
limit 5;
+------------------+------+-------------------------------+
| label | year | author |
+------------------+------+-------------------------------+
| Dolotta:1975:PWP | 1975 | T. A. Dolotta and others |
| Dolotta:1976:PWP | 1976 | T. A. Dolotta and others |
| Lyons:1976:GUR | 1976 | T. G. Lyons |
| Smith:1976:NTF | 1976 | D. W. Smith |
| Dolotta:1977:PUV | 1977 | T. A. Dolotta and D. W. Smith |
+------------------+------+-------------------------------+
-- Find titles of earliest mentions of Programmer's Workbench (PWB)
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and ((title like '%PWB%') or (title like '%workbench%'))
order by year, label
limit 5;
+------------------+------+--------------------------------------------------------------+
| label | year | title |
+------------------+------+--------------------------------------------------------------+
| Dolotta:1975:PWP | 1975 | Programmer's Workbench Papers From The Second International |
| | | Conference On Software Engineering (G.4) |
+------------------+------+--------------------------------------------------------------+
| Dolotta:1976:PWP | 1976 | Programmer's Workbench Papers From The Second International |
| | | Conference on Software Engineering. (G.4) |
+------------------+------+--------------------------------------------------------------+
| Lyons:1976:GUR | 1976 | Guide to UNIVAC Remote Job Entry for Programmer's Workbench |
| | | Users |
+------------------+------+--------------------------------------------------------------+
| Smith:1976:NTF | 1976 | NROFF / TROFF Formatting Codes For Departmental Organization |
| | | Directories On PWB / UNIX |
+------------------+------+--------------------------------------------------------------+
| Dolotta:1977:PUV | 1977 | PWB / UNIX View Graph and Slide Macros (T.9) |
+------------------+------+--------------------------------------------------------------+
-- Find earliest mentions of nroff and troff
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%roff%')
order by year, label
limit 5;
+---------------------+------+--------------------------------------------------------------+
| label | year | title |
+---------------------+------+--------------------------------------------------------------+
| Smith:1976:NTF | 1976 | NROFF / TROFF Formatting Codes For Departmental Organization |
| | | Directories On PWB / UNIX |
+---------------------+------+--------------------------------------------------------------+
| Cummingham:1977:NPG | 1977 | NROFF For Producing Generic Program Documentation |
+---------------------+------+--------------------------------------------------------------+
| Kernighan:1978:TT | 1978 | A TROFF Tutorial |
+---------------------+------+--------------------------------------------------------------+
| Lesk:1978:TDU | 1978 | Typing Documents on the UNIX System: Using the tt -ms Macros |
| | | with Troff and Nroff |
+---------------------+------+--------------------------------------------------------------+
| Ossanna:1979:NTU | 1979 | NROFF / TROFF User's Manual |
+---------------------+------+--------------------------------------------------------------+
-- Find earliest mentions of typesetting
select label, year, title from bibtab
where (filename = 'unix.bib')
and (bibtimestamp like '2023.06.06%')
and (title like '%typeset%')
order by year, label
limit 5;
+--------------------+------+-------------------------------------------------------+
| label | year | title |
+--------------------+------+-------------------------------------------------------+
| Lesk:1976:CTTa | 1976 | Computer Typesetting of Technical Journals on UNIX |
| Edelson:1977:TAA | 1977 | Typesetting ACS and APS Meeting Abstracts --- Issue 2 |
| Vogel:1977:EPV | 1977 | Easy Phototypeset View Graphs on UNIX |
| Kernighan:1978:TMU | 1978 | Typesetting Mathematics --- User's Guide |
| Kernighan:1979:STM | 1979 | A System for Typesetting Mathematics |
+--------------------+------+-------------------------------------------------------+
As always, comments on, corrections for, and addenda to, unix.bib are
most welcome: just send me e-mail.
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
After talking with the folks I bought the recent documents from, they let me know they are also selling a piece of hardware: https://www.ebay.com/itm/125714380860
After the link is an auction for an Instrumentation Laboratory Pixel 100/AP. A small booklet included with the many documents I received indicates as of 1982 the Pixel 100/AP ran a System III derivative. The booklet goes on to present a summary of user commands and options. Despite the System III basis, included among these are the C shell and ex/vi.
I have no room for hardware or honestly at that price point it'd be worth the preservation effort. Hopefully it finds a good home, it includes an almost complete documentation set save for the small booklet I've got (which could be separate promo material for all I know)
In any case, there were a few letters amongst the documents suggesting the original owner was involved in the production of this system, particularly in the area of OS details. If I find any noteworthy information I'll pass it along.
- Matt G.
P.S. If anyone knows of a preservation effort accepting new machines I can pass this along.
Hello, I've just today received another box from the person I got that set of UNIX manual binders from and hoo boy there's some cool stuff in here. It'll probably be a bit before I scan it all, but among the many bits is a folder bearing "Software by the Bell System" on the front cover with a photo of some tape reels lying around. The back is a simple black 70's Bell system logo. Flipping to the interior, the left panel of the folder bears facsimile AT&T letterhead with a "letter" from Otis L. Wilson, Technology Licensing Manager, denoting what promotional materials are enclosed. Among the various terms of the licenses mentioned is:
'all software comes "as is" -- with no maintenance agreements or technical support'
Between this and the Bell logos all over this stuff, I presume it is prior to 1982.
As for the contents themselves, there are pages for V6, V7, Mini-UNIX, PWB, 32V, and System III, the last of which is a photocopy whereas all the others are on some nice glossy cardstock, so I presume this was hot out the door on the heels of System III as a commercial release. Aside from pages describing each of these UNIX versions, there is a separate page describing "The Phototypesetter Package", in other words, pre-DWB distribution of TROFF and friends. Aside from the UNIX stuff, there are also various utilities amongst IBM 360/370 and Honeywell 600/6000 systems and some various scientific and mathematical systems. Also included is "Summary of UNIX System III" which looks to be a bit of an amalgamation of info from some of the "Documents for UNIX 3.0" set distributed with System III. Unfortunately, being for external release, the document is very of the mindset of "here's what changes from V7/32V to System III" rather than that sweet sweet "here's what changes from PWB 2.0 to 3.0" that I hope to find (or create) sometime. Anywho, finally amongst the promo material was an (undated) letter from M.B. Wicker (Technology Licensing, AT&T) to an unlisted recipient, obviously just copy they sent to everyone, essentially communicating the terms of UNIX System III in more detail. Between all of these materials, the following are UNIX-related prices I could find:
UNIX Sixth Edition
- Initial CPU - $20,000
- Additional CPUs - $6,700
- UNIX Programmer's Manual - $30
- Documents for Use with UNIX - $30
- System III upgrade - $26,000
- System III add CPU - $10,300
PWB/UNIX
- Initial CPU - $30,000
- Additional CPUs - $10,000
- PWB/UNIX User's Manual - $40
- Documents for PWB/UNIX - $40
- System III upgrade - $16,000
- System III add CPU - $7,000
Mini-UNIX
- Initial CPU - $12,000
- Additional CPUs - $4,000
- UNIX Programmer's Manual - $30
- Doucments for Use with Mini-UNIX - $30
UNIX/V7
- Initial CPU - $28,000
- Additional CPUs - $9,400
- UNIX Programmer's Manual, Vol. 1 - $40
- UNIX Programmer's Manual, Vols. 2A and 2B - $60
- System III upgrade - $18,000
- System III add CPU - $7,600
UNIX/32V
- Initial CPU - $40,000
- Additional CPUs - $15,000
- UNIX/32V Programmer's Manual - $40
- UNIX/32V Programmer's Manual, Vols. 2A and 2B - $60
- System III upgrade - $6,000
- System III add CPU - $2,000
UNIX System III
- Initial CPU - $43,000
- Additional CPUs - $16,000
- UNIX User's Manual - $40
- Programmer's Manual for UNIX System III, Volume 2A and 2B - $40 each
- The separate page detailing System III further goes on to break down that a non-refundable payment of $25,000 to sublicense object code
Phototypesetter (Version 7)
- Initial CPU - $3,300
- Additional CPUs - $1,100
- Documents for Use with Phototypesetter - Version Seven - $20
Additionally there are options to upgrade a V6&V7 supporting license to System III for $14,000 and add additional CPUs to those terms for $6,300. The same for a group of V7 and PWB for $4,000 and $3,000 for first CPU and addtional CPUs respectively.
Of note is that all documents listed above could be purchased from the Computing Information Service in Murray Hill *except* those issued for UNIX System III, which instead were to be ordered from the Western Electric Patent Licensing Organization. This reflects the shift to WECo distribution from Bell Labs themselves, as would continue to be the case for 3B20S shipments of 4.1 and the eventual 5.0 and System V releases. In addition to the promotional materials are also "Specimen Copy" blanks of the various licenses involved in at least System III, perhaps other versions (there are blanks where LICENSED SOFTWARE is supposed to be written/typed in).
Finally, in the same folder is also a nice stack of UNIX summary documents spanning different versions. There are summaries for PWB, Mini-UNIX, V7, and 32V. Additionally, there is a document "Proposal to Provide VAX UNIX system support at Berkeley" by Bob Fabry. A quick internet search didn't turn up a PDF of this, so I have to wonder if it's preserved somewhere. If not, it will be. The other document here may prove even more interesting though: "The UNIX Time-Sharing System for UNIVAC 1100 Series Systems - 7th Edition Summary", dated October 19th, 1981. Can't say I've seen this anywhere, just mention of the UNIVAC version in the BSTJ article on UNIX porting experiences. A quick perusal yields a document very similar to the V7 and 32V summaries, but with UNIVAC-isms pointed out.
Anywho, there's more material in this box than just this stuff, but this floated to the top as particularly significant. Among other contents are a "UNIX System and 'C' Language" "Training from the Source" foldout from WECo's Corporate Education group, listing 16 courses available at various training centers. There is a copy (nicely produced) of the 1984 draft /usr/group standard along with a stapled, standard printer document titled "Reviewer's Guide to the PROPOSED /usr/group Standard" dated March 14, 1984. I must say, the publication quality for this being a proposed standard is quite nice, I'd expect a draft to be lucky to have staples if not being just paper-clipped together, but it has a nice printed cover with a logo and all. There is one other thing but I'm making a separate thread for that one, might warrant quite different feedback than this stuff.
- Matt G.
As promised in the other email, I had one other tidbit worth sharing some detail on but that is very different from WECo promo and informational material. What I've got here are two documents pertaining to the "Department of Defence Kernelized Secure Operating System" project as undertaken by Ford's Western Development Laboratories Division.
The documents in question are https://apps.dtic.mil/sti/pdfs/ADA111577.pdf and https://apps.dtic.mil/sti/pdfs/ADA111566.pdf and represent the User's Manuals and Final Report respectively on this KSOS system. These appear to be from the same microfiche as the documents linked based on splotches on the last page's date frame, although the copies I have here have the full frame, the PDFs linked seem to have the last panel cropped to a small square in the middle. Not super significant, but sometimes it's the little details.
Anywho, unfortunately I don't have much to report, I got a bit excited while looking for these at first because I was having a hard time turning up PDFs, thought I had stumbled upon something unseen for some time, but in the gulf between last email and this I found them. Silver lining is one less set of documents to scan, but nothing to really expose that isn't already a click away.
- Matt G.
Rather an aside, but the alt.sysadmin.recovery message referenced
in https://www.tuhs.org/pipermail/tuhs/1999-November/001203.html
chimes interesting chords for me.
If you care only about technical stuff, you should skip to
your next e-mail message now.
On one hand, the doubly-embedded net.unix-wizards message
from Dennis, dated 1984-12-08, containing the original dsw.s:
that was posted a few months after I joined Bell Labs, and
may even have been partly my fault. 1984 was the nominal
15th anniversary of UNIX; as a member of the steering committee
of the recently-formed UNIX* Special Interest Group in US DECUS,
I convinced Dennis to attend the Fall 1984 Symposium, in Anaheim
in early December, as part of a celebration. As another part, I
made copies of the V1-V7 manuals in the UNIX Room and had them
shipped out so people could leaf through the history. I think
Dennis dug out the PDP-7 source-code books as a contribution to
that effort; I am all but certain we brought copies of those too.
Of course I had the copies returned not to the Labs but to my
home address. I still have them, now on a shelf in my home office.
A good friend offered to take care of shipping them back to New
Jersey, of course making her own copies in return.
I also recall that the conference hotel happened to give me
room 127. I offered to swap with Dennis, since he deserved
that number more than I did (the extra digit had already been
prepended before I joined) but he cheerfully declined.
On the other hand--not as historic except to me--the author
of the singly-embedded 1999-11-23 alt.sysadmin.recovery message
is now (and has for some years been) a co-worker and a good
friend.
So this single 1999 TUHS posting touches points near both
the beginning and the end (so far) of my career, and two
different groups of smart people who are fun to work with.
Norman Wilson
Toronto ON
While performing my CB-UNIX 2.3 manual separation, among the many curious things I came across was this manual page: https://www.tuhs.org/Archive/Distributions/USDL/CB_Unix/man/man1/dsw.1l.pdf
The dsw(I) pages I've seen in the various UNIX manuals are all for the interactive delete utility, but make brief mention of the history of the command being amusing. I've seen some communication on the matter of the years here, but had never come across a manual page for the former version of dsw.
In the linked page up there is the actual "delete from switches" version of dsw. What I find particularly interesting is that the footer indicates this was printed 8/11/81, but likewise indicates the command is "PDP-7 local".
This raises a couple of questions:
- Did Columbus ever touch PDP-7 UNIX?
- Did dsw(I) as "delete from switches" ever make it to PDP-11 UNIX? Even the V1 manual lists the "delete interactively" utility, not this.
- If neither are true, that begs the question of where this page came from, if there was ever a formalized PDP-7 manual that it would've descended from or not, etc.
Finally, this page plainly spells out the history of the command in the bugs section:
"This command was written in 2 minutes to delete a particular file that managed to get an 0200 bit in its name. It should work by printing the name of each file in a specified directory and requestion a 'y' or 'n' answer. Better, it should be an option of rm(1). The name is mnemonic, but likely to cause trouble in the future."
So the first bug is eventually mitigated by transforming this into the more familiar dsw. I can't say what the latter means, whether it's a concern of "dsw" colliding with some reserved word eventually or is more poking fun at the other folk etymology of "delete s__t work".
In any case, I hadn't seen the etymology explained to this degree in the mailing list references I found while searching around, so figured I'd share this analysis.
- Matt G.
P.S. There is mention here that Dennis Ritchie shared the original dsw manpage at some point https://www.tuhs.org/pipermail/tuhs/1999-November/001203.html however the link in question appears to be dead. In any case, the source for the PDP-7 version is in that email if anyone wants to look at it, although looks to be the same as what is in the archive.