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?
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.
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.
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.
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.
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?
CUPS was acquired by Apple, they did not originate it
https://www.macrumors.com/2007/07/12/apple-acquired-cups/
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.
> 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)
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.
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.
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.
[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.