On 2021-11-16 09:57, Douglas McIlroy wrote:
> The following remark stirred old memories. Apologies for straying off
> the path of TUHS.
>
>> I have gotten the impression that [PL/I] was a language that was beloved by no one.
> As I was a designer of PL/I, an implementer of EPL (the preliminary
> PL/I compiler used to build Multics), and author of the first PL/I
> program to appear in the ACM Collected Algorithms, it's a bit hard to
> admit that PL/I was "insignificant". I'm proud, though, of having
> conceived the SIGNAL statement, which pioneered exception handling,
> and the USES and SETS attributes, which unfortunately sank into
> oblivion. I also spurred Bud Lawson to invent -> for pointer-chasing.
> The former notation C(B(A)) became A->B->C. This was PL/I's gift to C.
>
> After the ACM program I never wrote another line of PL/I.
> Gratification finally came forty years on when I met a retired
> programmer who, unaware of my PL/I connection, volunteered that she
> had loved PL/I above all other programming languages.
My first language was actually PL/C (and the computer centre did not
charge for runs in PL/C). I needed to use PL/I for some thesis-related
work and ran into the JLC wall -- no issues with the former, many issues
with the latter. One of the support people, upon learning that I was
using PL/I, said: "PL/I's alright!"
N.
>
> Doug
Moving to COFF ...
On Tue, Nov 16, 2021 at 10:50 AM Adam Thornton <athornton(a)gmail.com> wrote:
> I'm not even sure how much of this you can lay at the feet of teachers: I
> would argue that we see a huge efflorescence of essentially self-taught
> programming cobbled together from (in the old days) the system manuals a
>
Ouch ... this is exactly my point. In my experience in ~55 years of
programming, with greater than 45 of those being paid to do it, the best
programmers I know and have worked with were taught/mentored by a master --
not self-taught. As I said, I had to be re-educated once I got the CMU.
My Dad had done the best he knew, but much of what he taught me was
shortcuts and tricks because that is what he knew 🠪 he taught me syntax,
not how to think. I know a lot of programmers (like myself) that were
self-taught or introduced to computing by novices to start and that
experience get them excited, but all of them had real teachers/mentors who
taught them the true art form and helped them unlearn a lot of crap that
they had picked up or miss-interpreted.
Looking at my father as a teacher, he really had never been taught to think
like a programmer. In the late 1950s he was a 'computer' [see the movie
"Hidden Figures"]. He was taught FORTRAN and BASIC and told to implement
things he had been doing by hand (solving differential equations using
linear algebra). The ideas we know and loved about structured
programming and* how to do this well* were still being invented by folks
like Doug and his sisters and brothers in the research community. It's no
surprise that my Dad taught me to 'hack' because he and I had nothing to
compare to. BTW: this is not to state all HS computer teachers are bad,
but the problem is that most people that are really good at programming are
actually quite rare and they tend to end up in research or industry -- not
teaching HS. Today, the typical HS computer teacher (like one of my
nieces) takes a course or two at UMASS in the teacher's college. They are
never taught to program or take the same courses the kids in science and
engineering take 🠪 BTW I also think this is why we see so much of the
popular press talking about 'coding' not programming. They really think
learning to program is learning the syntax of a specific programming
language.
When I look at the young people I hire (and mentor) told, it's not any
different. BTW: Jon and I had a little bit of a disagreement when he
wrote his book. He uses Javascript for a lot of his examples - because of
exactly what you point out 🠪 Javascript today, like BASIC before it, has a
very high "on-screen results" factor with little work by the user. Much
is being done behind the covers to make that magic happen. I tend to
believe that creates a false sense of knowledge/understanding.
To Jon's credit, he tries to bridge that in his book. As I said, I
thought I knew a lot more about computers until I got to CMU. Boy was I in
for an education. That said, I was lucky to be around some very smart
people who helped steer me.
Clem
ᐧ
>From TUHS (to Doug McIlroy):
"Curious what you think of APL"
I'm sure what Doug thinks of APL is unprintable. Unless, of course, he has
the special type ball.
<rimshot>
On Tue, Nov 16, 2021 at 8:23 AM Richard Salz <rich.salz(a)gmail.com> wrote:
>
> The former notation C(B(A)) became A->B->C. This was PL/I's gift to C.
>>
>
> You seem to have a gift for notation. That's rare. Curious what you think
> of APL?
>
Hi,
Will someone please explain the history and usage of gpasswd / newgrp / sg?
I've run across them again recently while reading old Unix texts. I've
been aware of them for years, but I've never actually used them for
anything beyond kicking the tires. So I figured that I'd inquire of the
hive mind that is TUHS / COFF.
When was the concept of group passwords introduced?
What was the problem that group passwords were the solution for?
How common was the use of group passwords?
I ran into one comment indicating that they used newgrp to work around a
limitation in the number of (secondary) groups in relation to an NFS
implementation. Specifically that the implementation of NFS they were
using didn't support more than 16 groups. So they would switch their
primary group to work around this limit.
Does anyone have any interesting stories related to group passwords /
gpasswd / newgrp / sg?
--
Grant. . . .
unix || die
Can people **please** send posts to one of these two lists, only? Having to go
through and delete every other post (yeah, I know, I could relete _all_
messages to either list, since they are archived, but old habits are hard to
break) is _really_ annoying.
OK, I can see sending an _initial_ query to both lists, to get it to as wide
a circle as possible: _but_ BCC at least one of them, to prevent lazy people
just hitting 'reply all' and thereby sanding out multiple copies of their
reply.
Thank you.
Noel
3BSD has the V7 scheme, the new kernel code where there is a group list in
the process is not introduced until later/
ᐧ
On Mon, Nov 15, 2021 at 1:46 PM Henry Bent <henry.r.bent(a)gmail.com> wrote:
> On Mon, 15 Nov 2021 at 13:31, Clem Cole <clemc(a)ccc.com> wrote:
>
>> Grant,
>>
>> Mashey and crew basically did most of the original group work as part of
>> PWB. If you look at the Sixth Edition sources and the PWB 1.0 stuff, that
>> is one of the places you will find differences. With Seventh Edition (or I
>> believe as part of the UNIX/TS work that Ken picked up), the Mashey group
>> changes went back into the Research stream. With one of the predecessors to
>> 4.2BSD (it may have 4.1A or 4.1B but frankly I have forgotten) Joy
>> introduced the group scheme we all use today.
>>
>>
> Looking at the TUHS archives, unless I'm missing something, 3BSD has
> groups that appear to be in the modern format:
>
> % ls -l /bsd/3bsd/etc/group
> -r--r--r-- 1 root root 44 1980-01-02 22:08 /bsd/3bsd/etc/group
> % cat /bsd/3bsd/etc/group
> staff:*:10:bill,ozalp
> grad:*:20:
> prof:*:30:
> % find . -name 'chgrp*' | xargs ls -l
> -r-xr-xr-x 1 root root 6960 Dec 30 1979 ./usr/bin/chgrp
> -r--r--r-- 1 root root 26 Feb 12 1979 ./usr/man/man1/chgrp.1
> -r--r--r-- 1 root root 754 Feb 12 1979 ./usr/src/cmd/chgrp.c
>
> -Henry
>
[ Warning: you need to be an OF to understand the references ]
I don't think I've ever posted this here... And trust me, an IBM 3090 was
really big iron in those days.
I don't recall the author, but I found it on the 'net.
-----
VAXen, my children, just don't belong some places. In my business, I am
frequently called by small sites and startups having VAX problems. So when a
friend of mine in an Extremely Large Financial Institution (ELFI) called me one
day to ask for help, I was intrigued because this outfit is a really major VAX
user - they have several large herds of VAXen - and plenty of sharp VAXherds to
take care of them.
So I went to see what sort of an ELFI mess they had gotten into. It seems they
had shoved a small 750 with two RA60s running a single application, PC style,
into a data center with two IBM 3090s and just about all the rest of the disk
drives in the world. The computer room was so big it had three street
addresses. The operators had only IBM experience and, to quote my friend, they
were having "a little trouble adjusting to the VAX", were a bit hostile towards
it and probably needed some help with system management. Hmmm, hostility...
Sigh.
Well, I thought it was pretty ridiculous for an outfit with all that VAX muscle
elsewhere to isolate a dinky old 750 in their Big Blue Country, and said so
bluntly. But my friend patiently explained that although small, it was an
"extremely sensitive and confidential application." It seems that the 750 had
originally been properly clustered with the rest of a herd and in the care of
one of their best VAXherds. But the trouble started when the Chief User went
to visit his computer and its VAXherd.
He came away visibly disturbed and immediately complained to the ELFI's
Director of Data Processing that, "There are some very strange people in there
with the computers." Now since this user person was the Comptroller of this
Extremely Large Financial Institution, the 750 had been promptly hustled over
to the IBM data center which the Comptroller said, "was a more suitable place."
The people there wore shirts and ties and didn't wear head bands or cowboy
hats.
So my friend introduced me to the Comptroller, who turned out to be five feet
tall, 85 and a former gnome of Zurich. He had a young apprentice gnome who was
about 65. The two gnomes interviewed me in whispers for about an hour before
they decided my modes of dress and speech were suitable for managing their
system and I got the assignment.
There was some confusion, understandably, when I explained that I would
immediately establish a procedure for nightly backups. The senior gnome seemed
to think I was going to put the computer in reverse, but the apprentice's son
had an IBM PC and he quickly whispered that "backup" meant making a copy of a
program borrowed from a friend and why was I doing that? Sigh.
I was shortly introduced to the manager of the IBM data center, who greeted me
with joy and anything but hostility. And the operators really weren't hostile
- it just seemed that way. It's like the driver of a Mack 18 wheeler, with a
condo behind the cab, who was doing 75 when he ran over a moped doing its best
to get away at 45. He explained sadly, "I really warn't mad at mopeds but to
keep from runnin' over that'n, I'da had to slow down or change lanes!"
Now the only operation they had figured out how to do on the 750 was reboot it.
This was their universal cure for any and all problems. After all it works on a
PC, why not a VAX? Was there a difference? Sigh.
But I smiled and said, "No sweat, I'll train you. The first command you learn
is HELP" and proceeded to type it in on the console terminal. So the data
center manager, the shift supervisor and the eight day-operators watched the
LA100 buzz out the usual introductory text. When it finished they turned to me
with expectant faces and I said in an avuncular manner, "This is your most
important command!"
The shift supervisor stepped forward and studied the text for about a minute.
He then turned with a very puzzled expression on his face and asked, "What do
you use it for?" Sigh.
Well, I tried everything. I trained and I put the doc set on shelves by the
750 and I wrote a special 40 page doc set and then a four page doc set. I
designed all kinds of command files to make complex operations into simple
foreign commands and I taped a list of these simplified commands to the top of
the VAX. The most successful move was adding my home phone number.
The cheat sheets taped on the top of the CPU cabinet needed continual
maintenance, however. It seems the VAX was in the quietest part of the data
center, over behind the scratch tape racks. The operators ate lunch on the CPU
cabinet and the sheets quickly became coated with pizza drippings, etc.
But still the most used solution to hangups was a reboot and I gradually got
things organized so that during the day when the gnomes were using the system,
the operators didn't have to touch it. This smoothed things out a lot.
Meanwhile, the data center was getting new TV security cameras, a halon gas
fire extinguisher system and an immortal power source. The data center manager
apologized because the VAX had not been foreseen in the plan and so could not
be connected to immortal power. The VAX and I felt a little rejected but I
made sure that booting on power recovery was working right. At least it would
get going again quickly when power came back.
Anyway, as a consolation prize, the data center manager said he would have one
of the security cameras adjusted to cover the VAX. I thought to myself,
"Great, now we can have 24 hour video tapes of the operators eating Chinese
takeout on the CPU." I resolved to get a piece of plastic to cover the cheat
sheets.
One day, the apprentice gnome called to whisper that the senior was going to
give an extremely important demonstration. Now I must explain that what the
750 was really doing was holding our National Debt. The Reagan administration
had decided to privatize it and had quietly put it out for bid. My Extreme
Large Financial Institution had won the bid for it and was, as ELFIs are wont
to do, making an absolute bundle on the float.
On Monday the Comptroller was going to demonstrate to the board of directors
how he could move a trillion dollars from Switzerland to the Bahamas. The
apprentice whispered, "Would you please look in on our computer? I'm sure
everything will be fine, sir, but we will feel better if you are present. I'm
sure you understand?" I did.
Monday morning, I got there about five hours before the scheduled demo to check
things over. Everything was cool. I was chatting with the shift supervisor
and about to go upstairs to the Comptroller's office. Suddenly there was a
power failure.
The emergency lighting came on and the immortal power system took over the load
of the IBM 3090s. They continued smoothly, but of course the VAX, still on
city power, died. Everyone smiled and the dead 750 was no big deal because it
was 7 AM and gnomes don't work before 10 AM. I began worrying about whether I
could beg some immortal power from the data center manager in case this was a
long outage.
Immortal power in this system comes from storage batteries for the first five
minutes of an outage. Promptly at one minute into the outage we hear the gas
turbine powered generator in the sub-basement under us automatically start up
getting ready to take the load on the fifth minute. We all beam at each other.
At two minutes into the outage we hear the whine of the backup gas turbine
generator starting. The 3090s and all those disk drives are doing just fine.
Business as usual. The VAX is dead as a door nail but what the hell.
At precisely five minutes into the outage, just as the gas turbine is taking
the load, city power comes back on and the immortal power source commits
suicide. Actually it was a double murder and suicide because it took both
3090s with it.
So now the whole data center was dead, sort of. The fire alarm system had its
own battery backup and was still alive. The lead acid storage batteries of the
immortal power system had been discharging at a furious rate keeping all those
big blue boxes running and there was a significant amount of sulfuric acid
vapor. Nothing actually caught fire but the smoke detectors were convinced it
had.
The fire alarm klaxon went off and the siren warning of imminent halon gas
release was screaming. We started to panic but the data center manager shouted
over the din, "Don't worry, the halon system failed its acceptance test last
week. It's disabled and nothing will happen."
He was half right, the primary halon system indeed failed to discharge. But the
secondary halon system observed that the primary had conked and instantly did
its duty, which was to deal with Dire Disasters. It had twice the capacity and
six times the discharge rate.
Now the ear splitting gas discharge under the raised floor was so massive and
fast, it blew about half of the floor tiles up out of their framework. It came
up through the floor into a communications rack and blew the cover panels off,
decking an operator. Looking out across that vast computer room, we could see
the air shimmering as the halon mixed with it.
We stampeded for exits to the dying whine of 175 IBM disks. As I was escaping
I glanced back at the VAX, on city power, and noticed the usual flickering of
the unit select light on its system disk indicating it was happily rebooting.
Twelve firemen with air tanks and axes invaded. There were frantic phone calls
to the local IBM Field Service office because both the live and backup 3090s
were down. About twenty minutes later, seventeen IBM CEs arrived with dozens
of boxes and, so help me, a barrel. It seems they knew what to expect when an
immortal power source commits murder.
In the midst of absolute pandemonium, I crept off to the gnome office and
logged on. After extensive checking it was clear that everything was just fine
with the VAX and I began to calm down. I called the data center manager's
office to tell him the good news. His secretary answered with, "He isn't
expected to be available for some time. May I take a message?" I left a
slightly smug note to the effect that, unlike some other computers, the VAX was
intact and functioning normally.
Several hours later, the gnome was whispering his way into a demonstration of
how to flick a trillion dollars from country 2 to country 5. He was just
coming to the tricky part, where the money had been withdrawn from Switzerland
but not yet deposited in the Bahamas. He was proceeding very slowly and the
directors were spellbound. I decided I had better check up on the data center.
\Most of the floor tiles were back in place. IBM had resurrected one of the
3090s and was running tests. What looked like a bucket brigade was working on
the other one. The communication rack was still naked and a fireman was
standing guard over the immortal power corpse. Life was returning to normal,
but the Big Blue Country crew was still pretty shaky.
Smiling proudly, I headed back toward the triumphant VAX behind the tape racks
where one of the operators was eating a plump jelly bun on the 750 CPU. He saw
me coming, turned pale and screamed to the shift supervisor, "Oh my God, we
forgot about the VAX!" Then, before I could open my mouth, he rebooted it. It
was Monday, 19-Oct-1987. VAXen, my children, just don't belong some places.
-- Dave
So I have a very vanilla TOPS-10 system running.
The console is being spammed with:
[DAEMON: %AVAIL.A77 already used, can't rename AVAIL.SYS]
Somewhere, evidently, there's a directory of files that are backups of
AVAIL.SYS, and it needs cleaning out. How do I find that directory?
Adam
Dave,
No message about Charles Moore?
N.
-------- Forwarded Message --------
Subject: Re: Chuck;'s Birthday
Date: Thu, 09 Sep 2021 10:37:29 -0700
From: Paul Rubin <no.email(a)nospam.invalid>
Newsgroups: comp.lang.forth
Jurgen Pitaske <jpitaske(a)gmail.com> writes:
> It is Chuck Moore's 83rd birthday today.
> You might want to send some greetings,
> here a link to his facebook - or you might have his email address
> .https://www.facebook.com/charleshavicemoore
Happy 83rd birthday Chuck! Or perhaps I should say:
83 birthday Chuck happy
> Ah, leap seconds. I work for an observatory. Some things are in TAI
> and some are in UTC. At least now I know what to look for when
> something is 37 seconds off.
Isn't about that the transit of the Moon or something?
-- Dave