> From: Clem Cole
> typing hard started to become more important in the kernel.
I can imagine! The V6 kernel had all sorts of, ah, 'unusual' typing - as I
learned to my cost when I did that hack version of 'splice()' (to allow a
process in a pipline to drop out, and join the two pipes together directly),
which I did in V6 (my familiar kernel haunt).
Since a lot of code does pointer math to generate wait 'channel' numbers,
e.g.:
sleep(ip+2, PPIPE);
when I naively (out of habit) tried to declare my pointers to be the correct
type, the math didn't work any more! ('ip', in this particular case, was
declared to be an 'int *'.)
No doubt part of this was inherited from older versions (of the system, and
C); the code was working, and there was no call to tweak it. The lack of
casts/coercion in the V6 C compiler may have been an issue, too - I had to do
some equally odd things to make my splice() code work!
Noel
This caught my attention. Did early C really have min and max? Were they used for anything? In those days I was a BCPL user, which IIRC, did not have such things.
-Larry
> Begin forwarded message:
>
> From: Leo Broukhis <leob(a)mailcom.com>
> Subject: [Simh] An abandoned piece of K&R C
> Date: 2017, November 3 at 1:14:42 AM EDT
> To: "simh(a)trailing-edge.com" <simh(a)trailing-edge.com>
>
> https://retrocomputing.stackexchange.com/q/4965/4025 <https://retrocomputing.stackexchange.com/q/4965/4025>
>
> In the UNIX V7 version of the C language, there were the /\ (min) and the \/ (max) operators. In the source of the scanner part of the compiler,
>
> case BSLASH:
> if (subseq('/', 0, 1))
> return(MAX);
> goto unkn;
>
> case DIVIDE:
> if (subseq('\\', 0, 1))
> return(MIN);
> ...
>
> However, attempting to use them reveals that the corresponding part in the code generator is missing. Trying to compile
>
> foo(a, b) { return a \/ b; }
>
> results in
>
> 1: No code table for op: \/
>
> The scanner piece survived in the copies of the compiler for various systems for several years. I tried to look for copies of the code generator table which would contain an implementation, but failed. Has anyone ever seen a working MIN/MAX operator in K&R C?
>
> Thanks,Leo
>
> _______________________________________________
> Simh mailing list
> Simh(a)trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
Am I the only one having trouble? I mirror the site, and I'm now seeing:
aneurin# tuhs
+ rsync -avz minnie.tuhs.org::UA_Root .
rsync: failed to connect to minnie.tuhs.org (45.79.103.53): Operation timed out (60)
rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]
+ rsync -avz minnie.tuhs.org::UA_Applications Applications
rsync: failed to connect to minnie.tuhs.org (45.79.103.53): Operation timed out (60)
rsync error: error in socket IO (code 10) at clientserver.c(125) [Receiver=3.1.2]
Etc.
--
Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
UNIX was half a billion (500000000) seconds old on Tue Nov 5 00:53:20
1985 GMT (measuring since the time(2) epoch) -- Andy Tannenbaum.
(Yeah, an American billion, not the old British one.)
--
Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
Date: Tue, 10 Oct 89 13:37 CDT
From: Chris Garrigues <7thSon(a)slcs.slb.com>
Subject: A quote from Interop '89
To: unix-haters(a)ai.ai.mit.edu
Cc: 7thSon(a)slcs.slb.com
"We all know that the Internet is Unix. We proved that last
November."
- David Mills, October 2, 1989
> From: Arnold Skeeve
> I suspect that he was also still young and fired up about things. :-)
> ...
> (In other words, he too probably deserves to be cut some slack.)
Much as RTM was cut some slack?
The thing is there's a key difference. RTM didn't _intend_ to melt down the
network, whereas Gene presumbly - hopefully - thought about it for a while
before he made his call to inflict severe punishment.
Did RTM do something wrong? Absolutely. Did he deserve some punishment?
Definitely. But years in jail? Yes, it caused a lot of disruption - but to any
one person, not an overwhelming amount.
Luckily, the judge was wise enough, and brave enough, to put the sentencing
guidelines (and the DoJ recommendation, IIRC) to one side.
However, that too was not without a cost; it was one more stone added to what
is admittedlyalready a mountain of precedent that judges can ignore the
legislature's recommendations - and once one does it, another will feel more
free to do so. And so we pass from a government of laws to a government of
men.
But I don't give Gene the lion's share of the blame: that has to go to Rasch,
and his superiors at the DoJ, who were apparently (as best I can understand
their motives) willing to crush a young man under a bus to make a point. The
power to prosecute and punish is an awesome one, and should be wielded
carefully and with judgement, and it was their failure to do so that really
was the root cause.
Noel
I think "classlessness" is intened as an antonym to "classy".
Spafford with high dudgeon called early for punishment. He had tempered
it somewhat by the time he wrote his CACM article, published in June
1985. But still some animus shows through, in "even-handedly"
speculating about whether the worm was intended as a lark or as
something nefarious. He evidently had mellowed a lot by the
time of the last quotation below.
In the CACM article Spaff quoted someone else as suggesting that
Morris did it to impress Jodie Foster, and he called Allman's
back door in Sendmail a debugging feature that people could
optionally turn off. As far as I know it was not disclosed that
DEBUG allowed remote control of Sendmail. In fact Sendmail was
so opaque that Dave Presotto declined to install it and wrote
his own (upas) for Research.
I don't recall the cited "contest". And Dennis's reaction to
the CaCM article seems somwhat harsh. But the context is that
Spafford's overheated initial reaction did not win friends in
research.
>
> Can anyone remember or decipher what this was about???
>
> Date: 24 Mar 90 06:52:43 GMT
> From: dmr(a)alice.att.com
> Subject: Re: Contest announcement
> To: misc-security(a)uunet.uu.net
>
> My own contest is "Most appalling display of classlessness in dealing with
> a serious subject." The nominees are:
>
> 1) National Center for Computer Crime Data, Security Magazine, and
> Gene Spafford, for their "How High Shall We Hang Robert Morris?"
> contest.
>
> 2) Gene Spafford, for the most tasteless article ever to appear in CACM
> (special credits for the Jodie Foster joke).
>
> Dennis Ritchie
>
> Some context maybe?
>>
>> “He has not tried to make any money or work in this area,” Purdue
>> University computer science professor Eugene Spafford said of Morris
>> in an interview with The Washington Post. “His behavior has been
>> consistent in supporting his defense: that it was an accident and he
>> felt badly about it. I think it’s very much to his credit that that has
>> been his behavior ever since.”
Arnold:
> OK, that I can understand. It's ages since I played with
> readline, but I think you can preload the buffer it works on
> (bash does that, no?) so ed + readline could be made to work
> that way.
====
Or, if you have moved beyond the era of simulated glass
teletypes on graphics screens, you could do the editing
in the terminal (program).
It's a real shame the mux/9term way of doing things never
caught on. I suppose it is because so many people are
wedded to programs that require cursor addressing; I'm
glad I never succumbed to that.
I use ed (or its cousin qed a la Toronto) for simple stuff.
Mostly I'll use the traditional commands, but sometimes
I will, in mux/9term style, print a line with p, type
c, edit the line on the screen, pick it up and send it,
type . return.
And of course I can do that sort of thing with any program,
whether or not it is compiled with some magic library.
All this is something of a matter of taste, but I have
sometimes amazed (in a good way) my colleagues with it.
Norman Wilson
Toronto ON
Robert T Morris (the son who committed the famous worm) was an
intern at Bell Labs for a couple of summers while I was there.
He certainly wasn't an idiot; he was a smart guy.
Like many smart guys (and not-so-smart guys for that matter),
however, he was a sloppy coder, and tended not to test enough.
One of the jokes in the UNIX Room was that, had it been Bob
Morris (the father) who did it,
a. He wouldn't have done it, because he would have seen that
it wasn't worth the potential big mess; but
b. Had he done it, no one would ever have caught him, and
probably no one would even have noticed the worm as it crept
around.
Norman Wilson
Toronto ON
> From: Doug McIlroy
> A little known fact is that the judge leaned on the prosecutor to reduce
> the charge to a misdemeanor and accepted the felony only when the
> prosecuter secured specific backing from higher echelons at DOJ.
I had a tangential role in the legal aftermath, and am interested to hear
this.
I hadn't had much to do with the actual outbreak, so I was not particularly
watching the whole saga. However, on the evening news one day, I happened to
catch video of him coming out of the court-house after his conviction: from
the look on his face (he looked like his dog had died, and then someone had
kicked him in the stomach) it was pretty clear that incareration (which is
what the sentencing guidelines called for, for that offense) was totally
inappropriate.
So I decided to weigh in. I got advice from the Washington branch of
then-Hale&Dorr (my legal people at the time), who were well connected inside
the DoJ (they had people who'd been there, and also ex-H+D people were
serving, etc). IIRC, they agreed with me that this was over-charging, given
the specifics of the offender, etc. (I forget exactly what they told me of
what they made of the prosecutor and his actions, but it was highly not
positive.)
So we organized the IESG to submit a filing in the case on the sentencing, and
got everyone to sign on; apparently in the legal system when there is an
professional organization in a field, its opinions weigh heavily, and the
IESG, representing as it did the IETF, was the closest thing to it here. I
don't know how big an effect our filing had, but the judge did depart very
considerably from the sentencing guidelines (which called, IIRC, for several
years of jail-time) and gave him probation/community-service.
Not everyone was happy about our actions (particularly some who'd had to work
on the cleanup), but I think in retrospect it was the right call - yeah, he
effed up, but several years in jail was not the right punsishment, for him,
and for this particular case (no data damaged/deleted/stolen/etc). YMMV.
Noel
> the idiot hadn't tested it on an isolated network first
That would have "proved" that the worm worked safely, for
once every host was infected, all would go quiet.
Only half in jest, I have always held that Cornell was right
to expel Morris, but their reason should have been his lack
of appreciation of exponentials.
(Full disclosure: I was a character witnesss at his trial. A
little known fact is that the judge leaned on the prosecutor
to reduce the charge to a misdemeanor and accepted the felony
only when the prosecuter secured specific backing from
higher echelons at DOJ.)
Doug McIlroy
I too remember TECO. In my TOPS-10 days I was quite a whiz at it.
Then I encountered UNIX and ed, and never looked back. Cryptic
programmability is fun, but a simple but well-chosen set of
commands including the g/v pair made me more efficient in the end.
it could just be that ed is a better fit for the shape of my brain.
C struck me similarly.
Norman Wilson
Toronto ON
(Actually in the Bay Area for a few days for LISA, in case any
UNIXtorians want to meet up.)
> From: Dave Horsfall
> I'm glad that I'm not the only one who remembers TECO
Urp. I wish I _didn't_ remember TECO!
"TECO Madness: A moment of convenience, a lifetime of regret." - Dave Moon
(For those who didn't catch the reference, here:
https://www.gammalyte.com/tag/reefer-madness/
you go.)
Noel
On Mon, Oct 16, 2017 at 12:39 PM, Jon Steinhart <jon(a)fourwinds.com> wrote:
>
> I have a similar and maybe even more extreme position. When I was a
> manager
> I placed restrictions on the tools and customizations for members of my
> team.
> My goal was to make sure that any team member could go over to any other
> team
> member's desk and get stuff done.
And I think this loops back to what started some of this threat. The idea
of a programmer with 'good taste.'
Rob (and Brian) railed on BSD in cat -v considered harmful
<http://harmful.cat-v.org/cat-v/> and ‘*Program Design in the UNIX
Environment*’ (pdf version
<http://harmful.cat-v.org/cat-v/unix_prog_design.pdf>, ps version
<http://harmful.cat-v.org/cat-v/unix_prog_design.ps>) but the points in it
was then and are still now, fresh: What is it that you need to get the job
done - to me, that is Doug's "Universal Unix" concept.
When I answer questions on quora about learning Linux and other UNIX
derivative, I still point them at their book: *The Unix Programming
Environment
<http://www.amazon.com/gp/product/013937681X?ie=UTF8&tag=catv-20&linkCode=as…>*
I would say, if the can login into the system and complete the exercises in
UPE without having to make changes, you are pretty close to Doug's
"Universal UNIX" environment. And if you can use the tools, without having
to think about them and they pretty much are what you rely upon everyday,
you are getting close to my ideal of 'good taste.'
Clem
Of interest to the old farts here...
At 22:30 (but which timezone?) on this day in 1969 the first packet got as
far as "LO" ("LOGIN"?) then crashed. More details, anyone?
--
Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
Chris Torek:
You're not perpendicular to your own surface? :-)
===
I'm not as limber as I used to be.
Besides, I'm left-handed, so what use would I have for
right angles?
Norman Wilson
Toronto ON
(I don't wish to know that)
> From: Steve Nickolas
> I personally believe a lot of code in modern operating systems is larger
> than the task requires.
The "operating" is superfluous.
Noel
George Michaelson:
wish I hadn't read "Norman Wilson" as "Norman Wisdom" (british
prat-fall comedian in the style of Jerry Lewis)
===
It's much better than the more-common typo in which
people call me normal. Neither accurate nor an
aspiration.
Norman Wilson
Toronto ON
I've always enjoyed this paper; recently I found occasion to thumb
through it again. I thought I'd pass it on; I'm curious what some on
the list think about this given their first-hand knowledge of relevant
history (Larry, I'm looking at you; especially with respect his
comments on the VM system).
- Dan C.
http://www.terzarima.net/doc/taste.pdf
As an admirer of minimalism, who has given talks that extol
Norman Wilson's streamlining of research Unix, I naturally
like Forsythe's thesis.
I noticed unintended irony in one more or less throw-away remark:
"It is dangerous to place too much hope in any improvement coming from just
following new fashions, if we lack insight into what really went wrong
before. Without that insight, I suspect that rewriting UNIX in C++,
for example, could easily become an excuse for increasing complexity
(because by using C++ `we can handle more complexity')."
Bjarne Stroustrup's avowed reason for building cfront, which
evolved into C++, was to have a tool for building an operating
system in object-oriented style. The tool took on a life of
its own, and arguably became more complex than the old-fashioned
Unix he aspired to improve on.
Doug
On Oct 22, 2017 1:39 AM, "Will Senn" <will.senn(a)gmail.com> wrote:
[...]
What is the last bootable and installable media, officially distributed by
Berkeley?
Is that image currently publicly accessible?
What is the closest version, that is currently available, that would match
the os described in "The Design and Implementation of the 4.4 BSD Operating
System"?
Probably one of the best ways to get questions about installation media
answered is to simply email Kirk McKusick. He's a really nice guy and will
probably give you an answer pretty quickly.
That said, of the three distributions you mentioned, bootable/installable
media only existed for 4.4BSD (also called the "encumbered" distribution).
-Lite and -Lite2 were "reference distributions." It didn't take *too* much
work to get -Lite working, but it wasn't something that ran out of the box
(or more properly, off of the tape). The original idea was to release
4.4BSD-encumbered to Unix source licensees, and at the same time publish
4.4BSD-Lite sans the redacted bits as an open source distribution. These
were to be the final BSD releases from UCB, but the CSRG found they had
some coin left in the coffers a few months later, so they did -Lite2 as
something of a final hurrah snapshotting some ongoing maintenance work (and
possibly some research?) before officially shutting down.
At one point, I had a copy of a bootable exabyte tape with 4.4-encumbered
installation and source images for SPARC, specifically sun4c machines, that
I had liberated from somewhere. My understanding was that the reference
hardware at Berkeley was 68030- and 68040-based HP 9000 machines, and the
SPARC bits were a contribution from Chris Torek. I got -Lite running on an
older SPARCstation 1, but it wasn't particularly reliable (the compiler
would segfault, and it panic'ed once a day or so), so we put SunOS back on
it pretty quickly.
Hope that helps.
- Dan C.
I'm wondering, with 80s and 90s era Unix being discussed, if there are
any copies of the 80s and 90s era CAD software extant in some form or
other? (Preferably free to good archive?)
IIRC it was a major driver of graphics capabilities in Unix
workstations around that time.
Wesley Parish
> macOS requires you to have a data section aligned to 4K, even if you
> don't use it. The resulting binary is a little over 8K; again, mostly
> zeros.
Not quite. The classic empty executable file for /bin/true works
on OS X. That is not just a clever trick;it's a natural consequence
of Kernighan's ancient prrecept: do nothing gracefully. Conceivably
the 4K data section is, too--if the page has no physical presence
until it is accessed.
Doug
> From: Dan Cross <crossd(a)gmail.com>
> Hope that helps.
I don't have anything to add to this discussion, but may I point out that this
is _exactly_ the kind of thing we'd like to make available at the Computer
History Wiki:
http://gunkies.org/wiki/Main_Page
I'm too busy with other tasks to add it all myself, but I hope you all will be
able to add your pearls there, where it will be available in an organized way,
rather than having to hope Google/Bing/etc can find it in the list archives
among the megatons of other dross on the Internet.
If anyone would like an account there (due to spam issues, anon editing has
been disabled), please let me know, and I'll get you set up right away - just
send me the account name you like (a lot of us use our old time-sharing system
account names :-), and the email address you'd like associated with it.
Noel