Regardless of standards considerations, if there's any advice
that needs to be hammered into man authors, it's to be concise
and accurate, but not pedantic. As Will Strunk commanded,
"Omit needless words."
The most needless words of all are promotional. No man page
should utter words like "powerful", "extraordinarily versatile",
"user-friendly", or "has a wide range of options".
As another instance of the rule, it would be better to recommend
short subtitles than to help make them long by recommending
quotes. If anything is said about limited-length macros, it
would best be under BUGS.
As editor for v7-v10, I would not offer v7 as a canonical
model. It owed its use of boldface in SYNOPIS to the limited
number of fonts (Typically R,F,I,S) that could be on our
typesetter at the same time. For v9 we were able to follow
Kernighan and adopt a distinct literals font (L, which happened
to be Courier but could have been identified with bold had we
wished). I still think this is the best choice.
As for options, v7 is a very poor model. It has many pages
that describe options in line, just as v1 had done for its
few options (called flags pre-v7). By v10 all options were
displayed in a list format.
For nagging reasons of verbal continuity, the options displays
were prefaced by *needless words* like, "The following options
are recognized". A simple OPTIONS heading would be better.
Unfortunately, an OPTIONS heading would intrude between the
basic description and less important details that follow
the options. (I don't agree that it would come too closely
after DESCRIPTION; a majority of man pages already have even
shorter sections.) OPTIONS could be moved to the end of
DESCRIPTION. However, options may well be the biggest reason
for quick peeks at man pages; they should be easy to spot. It
has reasonably been suggested that OPTIONS should be a .SS
subsection. That might be followed by .SS DETAILS.
Doug
Grant:
Sorry, I mistook the context to be that you wrote something to write the
cf file / language for you.
===
Yep, evidently I didn't write clearly enough. Sorry about that.
(Which links us nicely back to the Subject: line, and
the concise clarity of the original manual-entry style!)
Norman Wilson
Toronto ON
WIlliam Cheswick <ches(a)cheswick.com> wrote:
> As for the configuration: when Norman Wilson moved to Toronto, he
> implemented some form of little language for configuring sendmail,
> treating it somewhat as an assembly language.
Bill's half right. I didn't invent a language; I used what was there.
I decided that the best way to deal with Sendmail's own configuration
language was to treat it as I would the assembly language for a
specialized, irregularly-designed microprocessor:
1. Understand as well as possible what the instructions actually do;
2. Write the simplest possible program that will get the job done;
3. Avoid extra layers of macros and so on that hide the details, because
that also hides the irregularities and makes it harder to understand
and debug;
4. By the same reason, don't just copy someone else's program that
does something complicated; write your own and do things simply.
Sendmail has plenty of design flaws (not just in the language), as
I'm sure Eric will acknowledge; but I think the biggest problem
people have had with it that most people copied the rather-complicated
sample configuration files shipped with the source rather than just
reading the manual, doing a few experiments to understand the behaviour,
and writing something simple.
On the other hand, I've never quite understood why so many people
treat device drivers as scary and untouchable, copying an existing
one and hacking it until it seems to work rather than understanding
what the device actually does and writing a simple program to control
it. So perhaps my brain just doesn't work normally.
Norman Wilson
Toronto ON
On 2018-11-29 1:04 PM, Ken Thompson wrote:
> its name became astro and it is on the old backup tapes.
> written in c. it has old elements for everything. published
Thanks.
Was it rewritten? Your story has it dating at least back to 1966, which
made me think it might not have been C.
--Toby
> elements are now in a different form and a different time
> base, so it needs updating to bring it into the 21st century.
> if all you want is the earth, moon, and sun, then it might
> be ok. the earth rotation fudge (delta-t) might need to be
> re-estimated to get second accuracy.
>
>
> On Thu, Nov 29, 2018 at 9:54 AM, Toby Thain <toby(a)telegraphics.com.au> wrote:
>> On 2018-11-27 11:48 PM, Ken Thompson via TUHS wrote:
>>> ...
>>> a version of azel was maintained all the time
>>> i was at bell labs.
>>
>> As soon as I read this it's been on my mind to ask: Does this program
>> survive? Presumably it was Fortran? What did it run on?
>>
>> --Toby
>>
>
> Joe sold the (not really existent) UNIX system to the patent department of AT&T,
> which in turn bought the urgently needed PDP11. Without that there would be no
> UNIX. Without Joe there would be no UNIX.
That one's an urban legend. The PDP-11 was indeed a gift from another department,
thanks to a year-end budget surplus. Unix was up and running on that machine when
Joe corralled the patent department.
Nevertheless the story is consistent with Joe's talent for playing (or skirting)
the system to get things done. After Joe, the talent resurfaced in the
person of Fred Grampp. Lots of tales await Grampp's popping up from Dave
Horsford's calendar.
> Runoff was moved to Multics fairly early: here's its entry from the Multics
> glossary: "A Multics BCPL version of runoff was written by Doug McIlroy
> and Bob Morris."
Morris did one port and called it roff. I did the BCPL one, adding registers,
but not macros. Molly Wagner contributed a hyphenation algorithm. Ken
and/or Dennis redid roff in PDP-11 assembler. Joe started afresh for the
grander nroff, including macros. Then Joe bought a phototypesetter ...
> Sun was sort of the Bell Labs of the time ... I wanted to go there and had
> to work at it a bit but I got there. Was Bell Labs in the 60's like that?
Yes, in desirability. But Bell Labs had far more diverse interests. Telephones,
theoretical physics, submarine cables, music, speech, fiber optics, Apollo.
Wahtever you wanted to know or work on, you were likely to find kindred
types and willing management.
> was that voice synthesizer a votrax or some other thing?
Yes. Credit Joe again. He had a penchant for hooking up novel equipment.
When the Votrax arrived, its output was made accessible by phone and also
by loudspeaker in the Unix lab. You had to feed it a stream of ASCII-
encoded phonemes. Lee McMahon promptly became adept at writing them
down. After a couple of days' play in the lab, Lee was working in his
office with the Votrax on speakerphone in the background. Giving no
notice, he typed the phonemes for "It sounds better over the telephone".
Everyone in the lab heard it clearly--our own "Watson, come here" moment.
But phonemes are tedious. Believing that it could ease the
task of phonetic transcription, I wrote a phonics program, "speak",
through which you could feed English text for conversion to
phonemes. At speak's inaugural run, Bob Morris typed one word,
"oarlock", and pronounced the program a success. Luckily he didn't
try "coworker", which the program would have rendered as "cow orker".
Max Matthews from acoustics research called it a breakthrough.
The acoustics folks could synthesize much better speech, but it
took minutes of computing to synthesize seconds of sounds. So
the Unix lab heard more synthetic speech in a few days than the
experts had created over all time.
One thing we learned is that people quickly get used
to poor synthetic speech just like they get used to
foreign accents. In fact, non-native speakers opined
that the Votrax was easier to understand than real people,
probably due to the bit of silence that the speak program
inserted between words to help with mental segmentation.
One evening someone in the Unix room playing with the
synthesizer noticed a night janitor listening in from
the corridor. In a questionable abuse of a non-exempt
employee, the Unix person typed, "Stop hanging around
around and get back to work." The poor janitor fled.
AT&T installed speak for the public to play with at Epcot.
Worried that folks would enter bad words that everybody
standing around could hear, they asked if I could filter them
out. Sure, I said, just provide me with a list of what to
delete. Duly, I received on letterhead from the VP for
public relations a list of perhaps twenty bad words. (I have
always wondered about the politics of asking a secretary to
type that letter.) It was reported that girls would try the
machine on people's names, while boys would discover that
the machine "didn't know" bad words (though it would happily
pronounce phonetic misspellings). Alas, I mistakenly discarded
the infamous letter in cleaning house to leave Bell Labs.
Doug
We lost J.F. Ossanna on this day in 1977; he had a hand in developing
Unix, and was responsible for "roff" and its descendants. Remember him,
the next time you see "jfo" in Unix documentation.
-- Dave
Hello,
For your information (and to reduce my guilt for posting off topic
sometimes), I have 4.1BSD running with Chaosnet patches from MIT. I'm
adding a Unibus CH11 network interface to SIMH. It's not working fully
yet, but it's close.
Best regards,
Lars Brinkhoff
> From: Larry McVoy
> (*) I know that nroff was "new run off" and it came from somewhere, MIT?
> Some old system ... I've never seen docs for the previous system and I
> kinda think Joe took it to the next level.
Definitely!
The original 'runoff' was on CTSS, written by Jerry Saltzer. It had a
companion program, 'typset', which was an editor for preparing runoff input. A
memo describing them is available here:
http://web.mit.edu/Saltzer/www/publications/ctss/AH.9.01.html
>From the look of things, it didn't have any macro capability.
Runoff was moved to Multics fairly early: here's its entry from the Multics
glossary:
A Multics BCPL version of runoff was written by Doug McIlroy and Bob
Morris. A version of runoff in PL/I was written by Dennis Capps in
1974.
...
Multics documentation was transitioned from the Flexowriters to use of
runoff when the system became self-hosting about 1968. runoff was used for
manuals, release bulletins, internal memos and other documentation for most
of the 70s. To support this use, Multics runoff had many features such as
multi-pass execution and variable definition and expansion that went far
beyond the CTSS version. Multics manuals were formatted with complex macros,
included by the document source, that handled tables of contents and
standard formatting, and supported the single sourcing of the commands
manual and the info files for commands.
So the BCPL version would have been before Bell exited the project. I'm not
sure if the 'macros' comment refers to the BCPL version, or the PL/I. Here's
the Multics 'info' segment about runoff:
http://web.mit.edu/multics-history/source/Multics/doc/info_segments/runoff.…
which doesn't mention macros, but lists a few things that might be used for
macros. It refers to "the runoff command in the MPM Commands" volume (a
reference to "Multics Programmer's manual: Commands and Active Functions") for
details; this is available on bitsavers, see page 3-619 in "AG92-03A",
February 1980 edition.
Noel
> From: Lars Brinkhoff
> Emacs is very much divorced from the Unix philosopy. However, it's
> perfectly in synch with how things are done in ITS.
Hmm. It is complicated, but... the vast majority of my keystrokes are typed
into Epsilon (a wonderful, small, fast EMACS-type editor for Windows, etc
which one can customize in C) - especially since I started, very early on (V6)
to run my shell in an EMACS window, so I could edit commands, and thus I was
pretty much always typing to EMACS. So, it makes sense to me to have it be
powerful - albeit potentially a bit complex.
I say 'potentially' because one could after all restrict oneself to the 4
basic motion commands, and 'delete character'; you don't have to learn what
CRTL-ALT-SHIFT-Q does.
> Stallman .. developing GNU Emacs (from Gosling's version)
Err, I'm not sure how much influence Gosling's was. He had, after all, done
the original EMACS on ITS; I got the impression he just set off on his own
path to do GNU Emacs. (Why else would it be implemented in LISP? :-).
Noel
Hello, everyone:
Recommend a few c language to write on the computer that do not have a network, best can compile to run with GCC. This will kill my time. I like to play with greedy snake written in c language, which is really interesting. Thank you very much!
Caipenghui
Nov 17, 2018
> From: Clem Cole
> Actually I blame the VAX and larger address spaces for much of that and
> no enough real teaching of what I refer to as 'good taste.' When you
> had to think about keeping it small and decomposable, you did. ...
> Truth is, it is a tough call, learning when 'good enough' is all you
> need. ... The argument of course is - "well look how well it works and I
> can do this X" -- sorry not good enough.
Exactly; the bloat in the later Unix versions killed what I feel was the
_single best thing_ about early Unix - which was its awesome, un-matched
bang/buck ratio.
_That_ is what made me such a huge fan of Unix, even though as an operating
system person, I was, and remain, a big fan of Multics (maybe the only person
in the world who really likes both :-), which I still think was a better
long-term path for OSes (long discussion of why elided to keep this short).
I mean, as an operating system, I don't find Unix that memorable; it's (until
recently) a monolithic kernel, with all that entails. Doing networking work on
it was a total PITA! When I looked across as what Dave Clark was able to do on
Multics, with its single-level memory, and layered OS, doing TCP/IP, I was
sky-blue pink with envy.
Noel
Sorry about the recent post. It may seem peripherally
connected to tuhs, but it got there due to overtrained
fingers (or overaged mind). It was intended for another list.
Doug
Hi All.
In https://www.youtube.com/watch?v=_2NI6t2r_Hs&feature=youtu.be Rob Pike
mentions that DMR and Norman Wilson ported Unix to the Cray 1 and that
it was not straightforward.
This sounds interesting. Norman: would you be kind enough to elaborate
on this?
Thanks,
Arnold
On Wed, 14 Nov 2018, Warren Toomey wrote:
>> Hell, I wish I still had that "CSU Tape"; it was Edition 6 with as much
>> of Edition 7 (and AUSAM) that I could shoe-horn in, such as XON/XOFF
>> for the TTY driver. I was known as "Mr Unix 6-1/2" at the time...
>
> Definitely look at the UNSW tapes I have:
> https://minnie.tuhs.org/cgi-bin/utree.pl?file=AUSAM
> and https://www.tuhs.org/Archive/Distributions/UNSW/
> in case any of these are what you are looking for.
I think I did before, but I confess I didn't spend much time on it. My
pride and joy was certainly the rewritten ei.c driver (implementing the
200-UT batch protocol), and the clever workaround to an egregious KRONOS
bug where it would get stuck in a POLL/REJECT loop (I merely sent a dummy
command viz "Q,I" -- discarding the response -- because KRONOS was
expecting a command instead of the correct REJECT being nothing to send
from the batch emulator).
At the time, Unix got blamed because the smaller non-Unix /40s (running a
standalone program) worked fine for some reason; my guess is that it
implemented the broken protocol somehow.
-- Dave
Rob:
I rewrote cat to use just read and write, as
nature intended. I don't recall if my version is in any of v8 v9 v10 ...
====
It is. It was /bin/cat when I arrived at Murray Hill in 1984.
I remember being delighted with the elegant way to get rid of
a flag I had never really liked either.
I never knew Dennis had dragged his heels at it. It was (to me)
so obviously the right answer that I never asked!
Norman Wilson
Toronto ON
really appreciate videos of talks like this as someone who wasn't lucky
enough to be around to experience this in person but benefits from the
things your generation built for us:
https://www.youtube.com/watch?v=_2NI6t2r_Hs&feature=youtu.be
thanks rob!
-pete
--
Pete Wright
pete(a)nomadlogic.org
@nomadlogicLA
All, for a while now there have been some weird multi-hour long delays
between e-mail arriving at TUHS and being forwarded on. I've just removed
a pile of queued messages which I think were causing mailman to have
palpitations. If you posted something on TUHS in the last few hours,
could you re-send it. Apologies for this.
Thanks, Warren
> SunOS 4 definitely had YP.
SunOS 2.0 had YP.
-- Richard
--
The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.
> My favorite anecdote that I've read regarding Belle was when Ken
> Thompson took it out of the country for a competition. Someone,
> I'm assuming with customs, asked him if Belle could be
> classified as munitions in any way. He replied, "Only if you
> drop it out the window."
That's not the half of it. Ken had been invited by Botvinnik,
a past world champion, to demonstrate Belle in Russia. Customs
spotted it in baggage and impounded it without Ken's knowledge.
When he arrived empty-handed in Moscow, his hosts abandoned
him to his own devices.
Late that fateful Friday afteroon, customs called Bell Labs
security, which in turn called Ken's department head--me. That
evening I called Bill Baker, the Labs' presi7, at home,
hoping he might use his high-level Washington connections
to spring Belle. No luck. Ken was in the dark about the whole
affair until Joe Condon managed to reach him at his hotel.
Customs kept the machine a month and released it only after the
Labs agreed to pay a modest fine. I believe Ken's remark about
the military potential of Belle was made in reply to a reporter.
Doug
I was wondering, what was the /crp mount point in early UNIX used for?
And what does "crp" mean? Does it mean what I think it does?
It is only mentioned in V3 it seems:
./v4man/manx/unspk.8:unspk lives in /crp/vs (v4/manx means pre-v4)
./v3man/man6/yacc.6:SYNOPSIS /crp/scj/yacc [ <grammar ]
./v3man/man4/rk.4:/dev/rk3 /crp file system
I suppose scj, doug or ken can help out.
aap
Peter Adams, who photographed many Unix folks for his
"Faces of open source" series (http://facesofopensource.com/)
found trinkets from the Unix lab in the Bell Labs archives:
http://www.peteradamsphoto.com/unix-folklore/.
One item is more than a trinket. Belle, built by
Ken Thompson and Joe Condon, won the world computer
chess championship in 1980 and became the first
machine to gain a chess master rating. Physically,
it's about a two-foot cube.
Doug
Spurred by the recent discussion of NIS, NIS+, LDAP et al, I'm curious what
the landscape was like for distributing administrative information in early
Unix networks.
Specifically I'm thinking about things like the Newcastle Connection, etc.
I imagine that PDP-11's connected to the ARPAnet running Unix would (e.g.,
RFC 681 style) would have adapted the HOSTS.TXT format somehow. What about
CHAOS? Newcastle? Datakit?
What was the introduction of DNS into the mix like? I can imagine that that
changed all sorts of assumptions about failure modes and the like.
NIS and playing around with Hesiod are probably the earliest such things I
ever saw, but I know there must have been prior art.
Supposedly field 5 from /etc/passwd is the GECOS username for remote job
entry (or printing)? How did that work?
- Dan C.