I had always thought that also until Pressotto pointed out the Lesk had
used it for UUCP which was running around Bell before Seventh Edition. But
... given Bill talked about it for shell in his comments, as Warner points
out, that would have been before UUCP arrived at UCB -- so I don't think it
was from Lesk unless someone like Ken had mentioned it, or he knew about it
from another source (such as MTS from which Joy had learned/used as an
undergrad before UNIX).
As you said, Bill had an ADM3A at home (I had an H19 in those days), but as
you knew too well, there were a ton of different terminals at UCB --
whichever was cheapest usually had a run of popularity :-) So the thought
HOME keycap = home directory also is quite possible.
Of course, Mike and Bill certainly could have come up with it
independently but to me, it seems like the chance of both using the same
char is really unlikely. IIRC a tilde keycap was on the ASR-37 keyboard
but frankly, I don't remember, and can't find a pic of the keyboard detail,
plus the LCM+L is closed right now for CV-19 reasons so it's hard to check.
On Thu, Nov 19, 2020 at 12:23 PM Mary Ann Horton <mah(a)mhorton.net> wrote:
I first saw ~ as part of csh. Bill had an adm3a at
home (which is why HJKL
in vi) but there was a variety of terminals at Berkeley. I assumed ~ was
Bill's idea.
Mary Ann
On 11/18/20 2:25 PM, Clem Cole wrote:
A couple of my friends from UC Berkeley were musing on another email
thread. The question from one of them came up: *"I'm teaching the
undergrad OS course this semester ... Mention where ~ comes."*
This comment begets a discussion among the 4 of us at where it showed up
in the UNIX heritage and it if was taken from somewhere else.
Using the tilde character as a short cut for $HOME was purely a userspace
convention and not part of the nami() kernel routine when it came into
being. We know that it was supported by Mike Lesk in UUCP and by Bill Joy
in cshell. The former was first widely released as part of Seventh Edition
but was working on V6 before that inside of BTL. Joy's cshell came out as
part of 2BSD (which was V7 based), but he had released "ashell" before that
and included it in the original BSD (*a.k.a.* 1BSD) which was for V6
[what I don't remember is if it supported the convention and I can not
easily un-ar(1) the cont.a files in the 1BSD tar image in Warren's
archives.
In our exchange, someone observed suggested that Joy might have picked it
up because the HOME key was part of the tilde key on the ADM3A, which were
popular at UCB [*i.e.* the reason hjkl are the movement keys on vi is the
were embossed on the top of those keys on the ADM3A]. It also was noted
that the ASR-33 lacks a ~ key on its keyboard. But Lesk definitely needed
something to represent a remote user's home directory because each system
was different, so he was forced to use something.
It was also noted that there was plenty of cross-pollination going on as
students and researchers moved from site to site, so it could have been BTL
to UCB, vice-versa, or some other path altogether.
So two questions for this august body are:
1. Where did the ~ as $HOME convention come to UNIX?
2. Did UNIX create the idiom, or was there an earlier system such as
CTSS, TENEX, ITS, MTS, TSS, or the like supported it?