I've assembled some notes from old manuals and other sources
on the formats used for on-disk file systems through the
Additional notes, comments on style, and whatnot are welcome.
(It may be sensible to send anything in the last two categories
directly to me, rather than to the whole list.)
I had been lurking this list for long, this is my first post to this
I read with a lot of interest, an old Usenix paper by the late Richard
Stevens on a system called "Portals":
It explores a lot of ideas that found itself in Plan 9, like a
filesystem interface for sockets etc. Wondering if this survived in any
existing, so called "modern" Unix. I have always felt the need to have
something like this in Unix.
On 2016-04-02 04:00, Greg 'groggy' Lehey <grog(a)lemis.com> wrote:
> On Saturday, 2 April 2016 at 1:06:58 +1100, Dave Horsfall wrote:
>> On Mon, 28 Mar 2016, scj(a)yaccman.com wrote:
>>> ... and I once heard an old-timer growl at a young programmer "I've
>>> written boot loaders that were shorter than your variable names!"
>> Ah, the 512-byte boot blocks... We got pretty inventive in those days
>> (and this was before secondary loaders!) with line editing etc.
> I was thinking more of the RIM loader on the PDP-8. 16 words or 24
Bah! The RK8E bootloader for OS/8: 2 words... :-)
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt(a)softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
For a long time now, I have had a theory that I've never seen
substantiated (or disproved) in print. After Steve Johnson's recollection
of how hard it was to type on the Teletype terminals, I'm going to throw
this thought out for consideration.
One of Unix's signature hallmarks is its terseness: short command names
like mv, ln, cp, cc, ed; short options (a dash and a single letter),
programs with just a few, if any, options at all, and short path names:
"usr" instead of "user", "src" instead of "source" and so on.
I have long theorized that the reason for the short names is that since
typing was so physically demanding, it was natural to make the command
names (and all the rest) be short and easier to type. I don't know if
this was a conscious decision, but I suspect it more likely to have been
an unconscious / natural one.
Today, I started wondering if this wasn't at least part of the reason
for commands being simple, with few if any options. After all, if I
have to type 'man foo' to remember how foo works, I don't want to wait
for 85 pages of printout (at 110 characters per second!) to finally see
what option -z does after wading through the descriptions of options -a
I certainly think there's some truth to this idea; longer command
names and especially GNU style long options didn't appear until the
video terminal era when terminals were faster (9600 or 19200 baud!) and
much less physically demanding to use. How MUCH correlation is there,
I don't claim to know, but I think there's definitely some.
For the record, I did use the paper teletypes some, mainly at a university
where I took summer classes, connected to a Univac system. I remember
how hard it was to use them. You could almost set your watch by when
it would crash around noon time, as the load went up. :-) On Unix I
only used VDTs, except if I was at a console DECwriter.
Anyway, that's my thought. :-) Comments and or insights, especially from
those who were there, would be welcome.
The Unix History repository on GitHub  aims to provide the evolution
of Unix from the 1970s until today under Git revision control. Through
a few changes recently made  it's now possible for individual
contributors to have their GitHub profile linked to their early Unix
contributions. Ken Thompson graciously made this move last week
following a personal email invitation. I think it would be really cool
if more followed. This would send a powerful message of continuity and
tradition in computing to youngsters joining GitHub today.
What you need to do is the following.
- Create a GitHub profile (if you haven't already got one)
- Click on https://github.com/settings/emails
- Add the email address(es) associated with your early Unix commits
(e.g. foo(a)research.uucp or bar(a)ucbvax.berkeley.edu). You can easily find
an author's commits and email addresses recorded in the repository
through the web search form http://www.spinellis.gr/cgi-bin/namegrep.pl
- GitHub will tell you that a verification email has been sent to your
(probably defunct) email address. Don't worry. Your account will be
linked to the address even without the verification step.
- Adding your photograph to your profile will increase the vividness of
GitHub's revision listings.
If you're in contact with Unix contributors who are not on this list,
please forward them this message. Also, if your name isn't properly
associated with the repository's commits, drop me an email message (or a
GitHub pull request for the corresponding file ), and I'll add it.
 The modifications involved the change of UUCP addresses to use the
.uucp pseudo-domain rather than a ! path and the listing of co-authors
within the commit message.
Diomidis - http://www.spinellis.gr