Perhaps the best irrefutable source for Lorinda's contribution
to dc is that cited by https://en.wikipedia.org/wiki/Lorinda_Cherry?
It is, by the way, Doug's A Research UNIX Reader. Those who
subscribe to this list and haven't read it ought to do so; it's
full of tidbits of history.
Norman Wilson
Toronto ON
All,
1. I have a physical copy of the V7 UPM published by Holt, Rinehart and
Winston (HRW) from 1983 (2 volume phone book). In it, there is a C
Reference Manual (pp. 247-277, reprinted with minor changes from the
first C book by K&R and including a Recent Changes to C addendum). I
also have a PDF that was supposedly created from sources that has a C
Reference Manual in it, but, in /usr/doc/cman, there's an inscription
that reads, "Sorry, but for copyright reasons, the source for the
C Reference Manual is not distributed." and the one in the pdf appears
to be identical to the one in the V6 UPM (which I have a print-on-demand
version of). Are the *roff sources (or a clean PDF) available for the
reprint? I have located a PDF copy of the HRW edition, but it's got the
usual deficiencies of being a scanned copy.
2. In same manual, there is an article entitled, UNIX Programming --
Second Edition by K&R. Where is the first edition located? It isn't in
the V6 UPM.
Regards,
Will
I got his from a friend today (15 February):
===========
I'm sorry to report that Lorinda passed away a few days ago. I got a call
from her sister today. Apparently the dog walker hadn't seen her for a few
days and called the police. The police entered the house and found her
there. Her sister says they are assuming either a heart attack or a stroke.
A week or so after spending an entire day meticulously mapping manpages
from version 0 to version 7, I came across Doug's combined table of
contents. I love recreating the wheel <<shakes head, ruefully>>, only
saving grace is that the geniuses who came before, in this case Doug,
had the same idea :). In it, he mentions an addendum for v7 that has
pages for unexported software for local use: apl, cflow, cpio, cref, and
a slew of other usefull commands get mentioned. By unexported, I'm
gathering this means not included on the distro tapes -- I certainly
don't see them in my installed system. Were they distributed at all, or
just used internally at Bell, or what? Are there extant copies around?
To be clear, I'm talking about the unexported versions, not later
versions that might be fitted onto v7. Oh, and a bonus question, why
weren't they exported.
Will
All,
I have been doing some language exploration in v7/4.3bsd and came across
Software Tools (not the pascal version). It's written using ratfor,
which I had seen in the v7 UPM. I fired up v7 and tried my hand at the
first example:
# copy - copy input characters to output
integer getc
integer c
while(getc(c) != EOF)
call putc(c)
stop
end
The first thing I noticed was that it read more like C than Fortran (I
know C quite well, Fortran just a smidge)... awesome, right? So I ran
the preprocessor on it and got the following f77 code:
c copy - copy input characters to output
integer getc
integer c
c while
23000 if(.not.(getc(c) .ne. eof))goto 23001
call putc(c)
goto 23000
c endwhile
23001 continue
stop
end
Cool. The way it translated the EOF test is weird, but ok. Trying to
compile it results in complaints about missing getc and putc:
$ f77 copy.f
copy.f:
MAIN:
Undefined:
_getc_
_putc_
_end
Ah well, no worries. I know that they're in the c lib, but don't about
fortran libs... Meanwhile, over on 4.3BSD, it compiles without issue.
But running it is no joy:
$ ./a.out
This is a test
$
I remembered that the authors mentioned something about EOF, so I
tweaked the code (changed EOF to -1) and rebuilt/reran:
$ ./a.out
This is a test
This is a test
$
Fascinating. Dunno why no complaints from F77 about the undefined EOF
(or maybe mis-defined), but hey, it works and it's fun.
I'm curious how much ratfor was used in bell labs and other locations
running v6, v7, and the BSD's. When I first came across it, I was under
the impression that it was a wrapper to make f66 bearable, but the
manpage says it's best used with f77, so that's not quite right. As
someone coming from c, I totally appreciate what it does to make the
control structures I know and love available, but that wasn't the case
back then, was it? C was pretty new... Was it just a temporary fix to a
problem that just went away, or is there tons of ratfor out there in the
wild that I just haven't seen? I found ratfor77 and it runs just fine on
my mac with a few tweaks, so it's not dead:
ratfor77 -C copy.r | tee copy.f
C Output from Public domain Ratfor, version 1.0
C copy - copy input characters to output
integer getc
integer c
23000 if(getc(c) .ne. eof)then
call putc(c)
goto 23000
endif
23001 continue
stop
end
What's the story? Oh, and in v6 it looks like it was rc - ratfor
compiler, which is not present in v7 or 4.3BSD - is there a backstory
there, too?
Will
I'm reading in, Kernighan & Plauger's 1981 edition of Software Tools in
Pascal and in the book, the author's mention Bill Joy's Pascal and Andy
Tanenbaum's as being rock solid. So, a few related questions:
1. What edition of UNIX were they likely to be using?
2. What versions of "Standard Pascal" were in vogue on UNIX at the time
(1981)?
3. What combinations of UNIX/Pascal were popular?
Thanks,
Will
All,
I did my research on this, but it's still a bit fuzzy (why is it that
people's memories from 40 years ago are so malleable?).
1. What are y'all's recollections regarding BSD 4.1's releases, vis a
vis the VAX. In McKusick's piece, Twenty Years of Berkeley Unix, I get
one perspective, and from Sokolov's Quasijarus project, I get quite
another. In terms of popularity and in terms of stable performance, what
say you? Was 4.1 that much better than 4BSD? Was 4.1as obsolete
immediately as McKusick says? 4.1b sounds good with FFS, was it? 4.1c's
the last pre 4.2 release, but it sounds like it was nearly a beta
version of 4.2...
2. Sokolov implies that the CSRG mission started going off the rails
with the 4.3/4.3BSD-Tahoe and it all went pear shaped with the 4.3-Reno
release, and that Quasijarus puts the mission back on track, is that so?
3. I've gotten BSD 4.2 and BSD 4.3 releases built from tape and working
very well. I just can't decide whether to go back to one of the 4.x
releases (hence question 1), or go get Quasijarus0c - thoughts on why
one might be more interesting than another?
4. Is Quasijarus0c end of the line for VAX 4.xBSD? Why does tuhs only
have Quasijarus0 and 0a, was there something wrong with 0b and 0c?
5. Has anyone unearthed an original 4.1 tape, or is Haertel's
reconstruction of the 1981 tape 1 release as close as it gets?
Later,
Will
Back in September I was having serious DNS issues with my MX records. Finally was able to move to a new DNS provider.
Could someone add me (jra(a)andrusk.com) back to the mailing list?
Thanks,
Justin
Sent from ProtonMail mobile
the discussion of why the CSRG disbanded in 1995 has come up elsewhere.
My memory is that the reason was pretty simple: DARPA ended their
funding at that time.
Hoping for corrections to my memory :-)
> From: Clem Cole
> So by the late 70s/early 80s, [except for MIT where LISP/Scheme reigned]
Not quite. The picture is complicated, because outside the EECS department,
they all did their own thing - e.g. in the mid-70's I took a programming
intro couse in the Civil Engineering department which used Fortran. But in
EECS, in the mid-70's, their intro programming course used assembler
(PDP-11), Algol, and LISP - very roughly, a third of the time in each. Later
on, I think it used CLU (hey, that was MIT-grown :-). I think Scheme was used
later. In both of these cases, I have no idea if it was _only_ CLU/Scheme, or
if they did part of it in other languages.
Noel
Some of the folks here might like this FB group...
Internet Old Farts Club
https://www.facebook.com/groups/internetoldfarts/
> This group is for self-declared Internet Old Farts, who want to discuss any aspect of the the Internet or its history. People in this group had their bits walk up hill both ways.
> Welcome to the Internet Old Farts group.
The purpose of this group is both social and technical. Feel free to revisit the past, explore the future, grouse about technical problems that you or others created. Feel free to self-aggrandize, complain about your least favorite standards organization or its politics, and how those young whippersnappers are running the show today.
By participating in this group you are admitting or proclaiming that you are indeed an Internet Old Fart. Perhaps we should give a prize for the youngest and oldest Old Fart.
-r
There is a new book from MIT Press, edited by Harry Lewis, with a
collection of classic papers in computer science, among them
37: The Unix Time-Sharing System (1974)
Dennis Ritchie, Kenneth Thompson
DOI: https://doi.org/10.7551/mitpress/12274.003.0039
The book Web site is at
https://direct.mit.edu/books/book/5003/Ideas-That-Created-the-FutureClassic…
-------------------------------------------------------------------------------
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
-------------------------------------------------------------------------------
Has anyone seen Fraser's original ratfor source for the s editor for unix on the PDP-11. It was a screen editor front-end built on top of Software Tools's edit. I've seen a c version, but I'm interested in the 375 line version :).
Will
Sent from my iPhone
Resending this as realised accidentally replied off list
Silas
On 30 Jan 2022, at 18:39, silas poulson <silas8642(a)hotmail.co.uk<mailto:silas8642@hotmail.co.uk>> wrote:
On 30 Jan 2022, at 18:07, Dan Stromberg <drsalists(a)gmail.com<mailto:drsalists@gmail.com>> wrote:
And is Java? They both have a byte code interpreter.
My understanding is Java is both a compiled and interpreted language -
with javac compiling java code to byte code and then JVM interpreting
and executing the byte code.
And then there's the CPython implementation of Python. <snip>
Granted, it has an implicit, cached compilation step, but is it less compiled for that?
I would so no - in my mind compiling analyses the entire source and
then translates it whilst interpreters only explore a single line or
expression. Simply because the compilation happens only Just In Time,
doesn’t make it any less of a compilation step.
Hope that helps,
Silas
One of architechture supported by 4.4BSD, luna68k's compiled binary is
now available.
http://www.netside.co.jp/~mochid/comp/bsd44-build/
luna68k is OMRON LUNA, m68k cpu workstation. This binary set works on
"nono" emulator software.
http://www.pastel-flower.jp/~isaki/nono/
It's author, Isaki-san have done some minor modification for 4.4BSD,
binary set for luna68k run rather well.
OMRON, already dropped thier workstation products. LUNA-I, LUNA-II
equipped with m68k, same CPU as CSRG's main target arch hp300.
So userland programs may binary compatible.
-mochid
I'm working through 4.3BSD setup and configuration and came across this:
"There is no equivalent service for network names yet. The full host and network name databases are normally derived from a file retrieved from Internet Network Information Center at SRI... use gettable to retrieve the NIC host database and htable to convert it to the format used by the libraries."
Does this mean I should expect functionality like resolv.conf and ping yahoo.com not to work in 4.3, or by some miracle is gettable still a functional system?
Will
Sent from my iPhone
Hi all,
I've been hard at work on my retro-fuse project over the past few
months, and so I thought I'd update the list with my progress.
I have just released version 7 of retro-fuse on github
(https://github.com/jaylogue/retro-fuse) This version adds support for
initializing and mounting 2.9 and 2.11BSD filesystems on modern
systems. It also includes fixes for a number of bugs in v6 and v7 support.
Beyond the work on 2.11 support, I also spent a significant amount of
time building an automated test framework. I'm a pretty big fan of
automated testing. So I'm happy to say that the project now includes a
series of tests verifying basic file I/O functionality as seen from the
modern system. While not exhaustive (because filesystem testing is
/hard/) the new tests give me reasonable confidence that things are
behaving as they should.
Additionally (in what was perhaps the most fun part of the project to
date) I have also created tests to verify the integrity of the generated
filesystems as seen from the historical systems. In particular, for each
of the supported Unix versions I've built tests that: launch the os
under simulation (simh), mount the generated filesystems, verify the
filesystems using the original integrity check tools (icheck/fsck), and
enumerate and compare the filesystem contents to that generated on the
modern system. As you might imagine, this involved a lot of
learning--from how to build size-reduced system images from the original
distribution tapes, to how to implement a modern POSIX cksum command
with old dev tools. All thoroughly enjoyable.
With this under my belt, I'll probably take a break from retro-fuse to
concentrate on other things. If anyone has any problems (or successes!)
using it, please drop me a line.
--Jay
Wow. Brings back memories
On Mon, Jan 24, 2022 at 1:32 PM Robert Diamond <rob(a)robdiamond.com> wrote:
> Just found this program from 1979 of an Explorer Club (aka “The Scouts”)
> Family Night, which included a talk from Ken Thompson on Computer Chess.
> There’s a few notable names in there.
>
> See PDF at
> https://drive.google.com/file/d/15fXhkk9KlmJNrhGlFnWuH23XQ09vLG4o/view?usp=…
--
Aaron Cohen
908-759-9069
> Did roff do all of what troff and nroff did?
No way. Ossanna deserves all the praise you give him. Roff extended
runoff in various ways:
relative numeric operators, e.g. .in +8
tabbing (left, right and centered)
underlining
tripartite headers and footers
arabic and roman page numbering
adjustable head and foot margins
automatic hyphenation, thanks to Molly Wagner
footnotes
merge patterns for change marks, column separators, etc.
various special requests: .ne, .ti, .tr, .po, .op (odd page)
But roff did NOT have conditionals, traps, special characters,
environments, or arbitrary motion control. Crucially (and ironically,
because I was Mr. Macro), it did not have anything like macros,
strings and diversions until after Joe pioneered them in nroff.
So there was a gaping disparity: nroff was Turing complete, roff
wasn't. Roff merely added features to runoff; nroff leapt into a
different universe.
-----------------------
The features listed above are in the January 1971 manual for BCPL
roff, which is probably the anonymous reference cited in the November
1971 v1 manual. The v1 manual lists Osanna, Ken and Dennis as authors
of the Unix implementation. I believe Ossanna is named because he
added line-numbering--and maybe more--to entice the patent department
to switch to roff.
BCPL roff allowed all four arithmetic operators in contexts like .ls
*3. Only + and - were allowed in nroff. Eventually both BCPL roff and
nroff got number registers (defined by different commands); I don't
recall which came first. BCPL roff also got a weak macro facility,
definitely after nroff.
Doug