Too coarse. There was a huge sea change in 1979 with the release of v7. Before that, Unix was recognizably "Unix" but only barely. Process and kernel management was largely in place, you had a shell (not that shell) to compose commands with pipes (but not with the syntax we know today). The C compiler was cc and worked mostly like it does now. The Standard Editor was ed, recognizable now only because it lent its name to the "stream" variant sed, which was present already.
But then v7 shipped, and all of a sudden it was Unix! The bourne shell syntax is almost unchanged today (though the interactive features wouldn't arrive until ksh and bash cloned them from csh), and it was so powerful that "shell scripts" using the same language remain a productive environment in the next century. And if that wasn't enough, you could apply "awk" to problems that fit better into the newly en vogue world of regex processing. You could now build your software with this brilliant new tool called "make" that tracked dependencies automatically. And when it was time to share it, you could make "tape archives" with "tar" in a format that is still in use today.
Where v6 is like reading Chaucer (you can tell it's the same language, but only read it with difficulty), v7 is Shakespeare (merely crufty and old).
Though, to be fair, the standard editor in v7 was still ed. We had to wait a year or two for the Berkeley kids to save us with ex/vi.
I feel like this needs a different format, but I'm not sure what. At the very least, I need to be able to sort by "Origin" but I think a tree view might be even better, keyed on origin... or some kind of branching structure anyway.
I found myself muttering as I scrolled along, "I am almost certain there is extensive documentation of the source of each of these in obvious locations, probably wikipedia." This was more valuable as a list of utilities (etc.) than as documentation of their origins.
CUPS is currently owned by apple, but they only bought it in 2007. It actually originated as an independent project by a company calles Easy Software Products.
You can find manuals for just about every edition of UNIX AT&T released (and some they didn’t) somewhere online, but a good place to start would be here: http://doc.cat-v.org/unix/v0/
That’s a manual that predates even Edition 1 UNIX.
The thing I like the most about it: appendix A has a "detailed" description of each syscall. Is there something nearly as good as this for subsequent UNIX versions? Suppose someone plans to implement a clone of V5 or ealier UNIX, where can the list of syscalls be found?
The Dream Machine [1] gave me a deeper appreciation for how timesharing influenced Unix. Of course I've heard that idea before but never really thought much about the details. Commands like `who` which are frankly kinda useless for me are a lot more interesting and useful back in a timesharing context. E.g. `who` lets you see who else is currently logged on to the timeshared computer, and then you could use another program (I forget the name... `mail`?) to basically DM that person.
[1] This book was a slog for me. I know a lot of people here love it but it was like 2 months of tedium for me.
We used Unix machines in that multi-user way in the 1990s at university. The benefits were similar to the Cloud today: You could log on from everywhere and have your familiar environment and data there. Thanks to NFS, your files could be the same between different machines.
"write" was used to DM a person. And "mesg" was used to enable/disable messages from being displayed if you didn't want to be disturbed. I used this a lot earlier in my career. Later came "talk" which gave a fancy split screen chat session.
Notably, it did so by literally opening up the tty associated with the user's session and spitting bytes directly at it. It was a different world back then.
`stty 0 </dev/ttyxx` was briefly popular when I was in school (although setting an incorrect but nonzero baud rate would probably have been more annoying).
Too coarse. There was a huge sea change in 1979 with the release of v7. Before that, Unix was recognizably "Unix" but only barely. Process and kernel management was largely in place, you had a shell (not that shell) to compose commands with pipes (but not with the syntax we know today). The C compiler was cc and worked mostly like it does now. The Standard Editor was ed, recognizable now only because it lent its name to the "stream" variant sed, which was present already.
But then v7 shipped, and all of a sudden it was Unix! The bourne shell syntax is almost unchanged today (though the interactive features wouldn't arrive until ksh and bash cloned them from csh), and it was so powerful that "shell scripts" using the same language remain a productive environment in the next century. And if that wasn't enough, you could apply "awk" to problems that fit better into the newly en vogue world of regex processing. You could now build your software with this brilliant new tool called "make" that tracked dependencies automatically. And when it was time to share it, you could make "tape archives" with "tar" in a format that is still in use today.
Where v6 is like reading Chaucer (you can tell it's the same language, but only read it with difficulty), v7 is Shakespeare (merely crufty and old).
Though, to be fair, the standard editor in v7 was still ed. We had to wait a year or two for the Berkeley kids to save us with ex/vi.
CUPS was acquired by Apple, they did not originate it
https://www.macrumors.com/2007/07/12/apple-acquired-cups/
I feel like this needs a different format, but I'm not sure what. At the very least, I need to be able to sort by "Origin" but I think a tree view might be even better, keyed on origin... or some kind of branching structure anyway.
Also, every entry in that table should be a Wikipedia link, at least.
I found myself muttering as I scrolled along, "I am almost certain there is extensive documentation of the source of each of these in obvious locations, probably wikipedia." This was more valuable as a list of utilities (etc.) than as documentation of their origins.
Heh, maybe a link to the respective manpage would be even better.
> CUPS > Apple
CUPS is currently owned by apple, but they only bought it in 2007. It actually originated as an independent project by a company calles Easy Software Products.
And clang has no listed origin but its origin is Apple (although LLVM predates clang)
You can find manuals for just about every edition of UNIX AT&T released (and some they didn’t) somewhere online, but a good place to start would be here: http://doc.cat-v.org/unix/v0/
That’s a manual that predates even Edition 1 UNIX.
The thing I like the most about it: appendix A has a "detailed" description of each syscall. Is there something nearly as good as this for subsequent UNIX versions? Suppose someone plans to implement a clone of V5 or ealier UNIX, where can the list of syscalls be found?
Just search for the manual of any edition of UNIX you want online. You can probably find it.
Here’s 5th Edition’s on the Internet Archive: https://archive.org/details/unix-v5/mode/2up
Go to section 2 for the system calls.
In another comment here I posted a link to a manual that wasn’t originally made public which predates 1st Edition by a few months.
XFS is from SGI IRIX, not Linux. They might as well add ZFS too, which is from Sun.
The Dream Machine [1] gave me a deeper appreciation for how timesharing influenced Unix. Of course I've heard that idea before but never really thought much about the details. Commands like `who` which are frankly kinda useless for me are a lot more interesting and useful back in a timesharing context. E.g. `who` lets you see who else is currently logged on to the timeshared computer, and then you could use another program (I forget the name... `mail`?) to basically DM that person.
[1] This book was a slog for me. I know a lot of people here love it but it was like 2 months of tedium for me.
You might mean talk: https://en.wikipedia.org/wiki/Talk_(software)
We used Unix machines in that multi-user way in the 1990s at university. The benefits were similar to the Cloud today: You could log on from everywhere and have your familiar environment and data there. Thanks to NFS, your files could be the same between different machines.
"write" was used to DM a person. And "mesg" was used to enable/disable messages from being displayed if you didn't want to be disturbed. I used this a lot earlier in my career. Later came "talk" which gave a fancy split screen chat session.
> "write" was used to DM a person.
Notably, it did so by literally opening up the tty associated with the user's session and spitting bytes directly at it. It was a different world back then.
`stty 0 </dev/ttyxx` was briefly popular when I was in school (although setting an incorrect but nonzero baud rate would probably have been more annoying).
https://en.wikipedia.org/wiki/CUPS
Apple was not the original maker of CUPS according to wikipeida.
I wish the author would work on this list some more.
- Several entries are listed twice
- Lots of “unix” utilities without any attribution. Which version of Unix is it from? Who was the author?
- CUPS’ entry is incorrect
Etc, etc, etc.
[dead]
[citation needed]
There are definitely errors.
BSD man pages tend to be good about attribution, e.g. https://man.freebsd.org/cgi/man.cgi?query=cat —
Otherwise, you go to the TUHS wiki for earlier system man pages.