Hi All.
A while back I found the Caldera release of awk, grep and
libregex from 2001. The tar file is dated 2012, but the
actual code is from earlier.
Warren has put it in the archive:
> Date: Mon, 17 Mar 2025 08:07:12 +1000
> From: Warren Toomey <wkt(a)tuhs.org>
> To: Aharon Robbins <arnold(a)skeeve.com>
> Cc: Warren Toomey <wkt(a)tuhs.org>
> Subject: Re: Caldera release of awk, grep, and libregex from 2001
>
> On Mon, Feb 24, 2025 at 06:42:50PM +0200, Aharon Robbins wrote:
> > I'm looking through my Downloads directory to try to clean it up
> > a bit. I found this:
> >
> > $ ls -l osutils.tar.gz
> > -rw-rw-r-- 1 arnold arnold 101072 Nov 25 2012 osutils.tar.gz
>
> Thanks for this as well, it's now at:
> https://www.tuhs.org/Archive/Applications/Awk_Grep/
>
> Cheers, Warren
Thanks Warren!
Arnold
Hello all , Here I am again , Maybe my ? might be relative to the
community .
I grabbed an archive of precompiled gnu software , During the
extraction I got a 'warning' from a gzip'd tar & decided to dig into the
underlying tarball to see if it was trully corrupted or repairable .
Tada , I did a silly and less'd one of the binary files and noticed
that the underlying file was 'ar'd by /usr/local/alphaev6-dec-osf5.1b/bin/ar ,
well all said and done My ol' as100 ain't a ev6 .
So my Question , Could I use these programs that were created on a ev6 cpu
system on my ev4 ?
Tia , JimL
--
+---------------------------------------------------------------------+
| James W. Laferriere | System Techniques | Give me VMS |
| Network & System Engineer | 3237 Holden Road | Give me Linux |
| jiml(a)system-techniques.com | Fairbanks, AK. 99709 | only on AXP |
+---------------------------------------------------------------------+
Hi,
This was seen on Dave Farber's IP list; with many of
the Dramatis Personae on this list it seems worthwhile
to share it here, too:
"What I Saw at the Evolution of Plan 9" by Geoff Collyer
https://adi.onl/oral.pdf
-Jan
As part of a discusion on the Linux kernel mailing list, there was an
assertion that ctime was orginally "creation time".
From the v7 sources in TUHS, we can see:
struct dinode
{
unsigned short di_mode; /* mode and type of file */
short di_nlink; /* number of links to file */
short di_uid; /* owner's user id */
short di_gid; /* owner's group id */
off_t di_size; /* number of bytes in file */
char di_addr[40]; /* disk block addresses */
time_t di_atime; /* time last accessed */
time_t di_mtime; /* time last modified */
time_t di_ctime; /* time created */
};
... although the v7 kernel sources does seem to update ctime when the
inode metadata changes, regardless of what the coment in
/usr/src/sys/h/ino.h might say.
More interestingly, this comment seems to continue in newer versions
up to 3BSD, and then the comments becomes "change time" in BSD 4.2,
probably coincident with the File System Implementation?
The best we can guess is that the change from "creation time" to
"inode change time" happened sometime between 1979 and 1982. Does
anyone who was around can give the story about how and when this
happened?
- Ted
In July 1974 I visited Bell Labs Murray Hill, and Ken & Dennis showed me
around. I was very impressed because we (Univ of Nijmegen, NL) had a
PDP-11/45 just like theirs and I knew that machine quite well.
It was clear that their software kicked the machine much heavier than
our (DEC-original) DOS-system did. But I was a naive student so I wanted
more information and asked Ken: are there many UNIX users in Europe?
Ken brought us to the library where a Ms. Irma B. Biren, librarian, kept
the record of licenses. We found prof. Colouris in London... When I
asked whether maybe somebody closer by our place was present, Ken found
Gideon Yuval in Tel Aviv. Nobody closer....
Hendrik-Jan Thomassen
> everyone should write for their first compiler in Pascal for a
> simple language and no cheating using YACC. You need to write the whole
> thing if you want to understand how parsing really works.
Yacc certainly makes it easier to write parsers for big grammars, but
it's far from cheating. You need to know a lot more about parsing to use
Yacc than you need to roll your own.
Hand parsing of a tiny grammar is almost a necessary step on the way to
understanding Yacc. But I think hand-building the whole parser for a
compiler is unnecessary torture--like doing trigonometry with log tables.
Doug
Found out today that we lost George Coulouris about a month ago, he was at QMC (then QMW, now Queen Mary, University of London) in CompSci and an old Unix hand (but not only).
Obituary from his PhD student (who wrote a Unix editor called “ded”):
https://www.theguardian.com/education/2025/jan/19/george-coulouris-obituary
Someone I know is seeking the original version of an internal Bell Labs
memo from 1974 titled "Webster's Second on the Head of a Pin" by Morris and
Thompson. The topic appears to be related to improving the speed of lookups
or search. It's cited in a few papers as "Unpublished Technical Memo, Bell
Laboratories, Murray Hill, NJ 1974." All I can find online is citations.
Any leads appreciated!
--
Royce
As I mentioned in the discussion about C, it's easy to look back with
a modern perspective and cast aspersions on C. But this got me
thinking, what would possible alternatives have been? In the context
of the very late 1960s heading into the early 70s, and given the
constraints of the PDP-7 and early PDP-11s, what languages would one
consider for implementing a system like early Unix? Dennis's history
paper mentioned a very short-lived effort at Fortran, and I asked
about that a few years ago, but no one really remembered much about
it; I gather this was an experiment that lasted a few days or weeks
and was quickly abandoned. But what else?
My short list included PL/1, Algol/W, Fortran, and Pascal. Fortran was
already mentioned. I don't think PL/1 (or PL/I) could have fit on
those machines. Pascal was really targeted towards teaching and would
have required pretty extensive work to be usable. The big question
mark in my mind is Algol/W; how well known was it at the time? Was any
consideration for it made?
Obviously, the decision to go with BCPL (as the basis for B, which
beget C) was made and the rest is history. But I'm really curious
about how, in the research culture at the time, information about new
programming languages made its way through the community.
- Dan C.
On Mar 10, 2025, at 7:26 PM, John Levine <johnl(a)taugh.com> wrote:
>
> In my 1971 compiler course at Yale, Alan Perlis made us try to write a compiler
> that translated a subset of APL into Basic. He suggested we write it in APL,
> which was a terrible idea, so I wrote it in Trac, for which I happened to have
> written my own interpreter.
>
> I think my compiler was the only one that worked, and it was pretty clever,
> turning the APL array expressions into structures with array boundaries and
> example expressions, with no array temporaries. It only generated the loops to
> evaluate the expressions when storing into another array.
>
> Someone got a PhD in 1978 for a similar compiling technique but in 1971 I was a
> 17 year old twerp so what did I know?
>
> R's,
> John
Pretty impressive for a 17yo!
Isn’t APL syntax rather context sensitive[1]? Neither yacc nor
a RD parser would’ve helped! Unless the subset was limited to a
context free subset.
Tim Budd in his 1978 work made quite a few changes to APL to
ease compilation and used yacc. [I have the book somewhere....]
[1] I do not recall if Iverson's original APL had a context sensitive
grammar but modern APLs do.
Given an expression ‘x y z’, its parse depends on the types of
x, y & z. Example: y(x,z) if y is a dyadic verb, x & z are values,
x(y(z)) if x & y are monadic verbs, z a value etc.