Today, as I was tooling around on stack overflow, I decided to ask a
question on meta. For those of you who don't know, stack overflow is
supposedly a q&a site. There are zillions of answers to quite a few "how
to do i do x" style questions. Folks upvote and downvote the answers and
the site is a goto for a lot of developers. I've used it since it came
online - back in the late 2000's. I have a love hate relationship with
the site. When there's a good answer to a question that I have, I love
it. When they downvote fringe cases that I care about to the point where
they effectively become gray literature that is near on impossible to
locate - I hate it. Meta is supposedly where you go to ask questions
about the stack.
Yesterday, I asked this question:
Do you know of any studies that have been done around downvoted
content, specifically on stack overflow or stack exchange?
By way of background - I find any questions or answers that are on
the border (+1, 0, -1) as dubiously helpful, but when the downvotes
pile up, much like upvotes, the answers become interesting to me
again as they give me insights I might miss otherwise.
After a slew of why would you think that was interesting, there's no
value with upvotes and downvotes, and your question is unclear responses
along with, as of now, 31 downvotes net, the question was closed for
lack of clarity. My answer, which was informed by some of the comments was:
There don't appear to be any papers on downvoting specific to Stack
Overflow. You can find a good list of known academic papers using
Stack Exchange data in the list hosted on Stack Exchange Meta
(link). It is an attempt to keep a current list of works up to date.
The Stack Exchange Data Explorer (link) is an open API for doing
data research, if you want to dig into the data yourself.
Which was quickly downvoted 9 times net.
To see the entire debacle:
Anyhow, other than what I perceive to be a decidely hostile environment
for asking questions, it is still actually a useful resource.
Wow, have times changed though on the hostility front.
So, it got me thinking...
What was it like in the very beginning of things (well, ok, maybe not
the very beginning, but around and after the advent of v6 and when it
was at or around 50 sites) for folks needing answers to questions
related to unix?
The questions... and for the love of Pete, don't downvote me anymore
today, I'm a fragile snowflake, and I might just cry...
What was the mechanism - phone, email, dropbox of questions, snail mail,
saint bernardnet, what?
What was the mood - did folks quickly tire of answering questions and
get snippy, or was it all roses?
When did those individual inquiries get too much and what change was
made to aggregate things?
I'm thinking there may have been overlap between unix users and
usenet... Also, I remember using fidonet for some of my early question
about linux, but that was 1991, many years after the rise of unix.
There was recent discussion here about the Typesetter C compiler; I don't
have the energy to look through the tons of opinion posts about recent
programming styles, to find the posts about actual Unix history which related
to that compiler, but I seem to recall that there was interest in locating
the source for it? I had strted to look, but then got distracted by some
other high-pri stuff; here are a few notes that I had accumulated to reply -
I hope they aren't too out-of-date by now.
I have a copy of it, from the dump of the CSR machine (I can't make the whole
dump public, sorry; it has personal material from a bunch of people mixed in).
I was pretty sure the C compiler from Mini-Unix, here:
was from the right timeframe to be the Typesetter C, but a quick check of
c0.h, shows that it's not; that one seems to be more like the V6 one. (Ditto
The PWB1 one:
seems, from a very quick look at c0.h (using that nice side-by-side compare
feature on the TUHS archive - thanks, Warren!), to be somewhat close to the
Typesetter C. It would be interesting to compare that one to the CSR one
(which definitely is) to be sure.
Also, the V7 C compiler (not pcc, but the PDP-11 one) seems to be a fairly
close relative, too.
Herewith some interesting (somewhat) contemporary papers on early windowing systems:
1. There was a conference in the UK early in 1985 discussing the state of window systems on Unix. Much interesting discussion and two talks by James Gosling, one about NeWS (then still called SunDew), and one about what seems to be SunWindows. It would seem then that these were developed almost in parallel.
2. Then there is a 1986 paper by James Gettys, discussing the 18 month journey towards X10. In particular it focuses on the constraints that Unix set on the design of the X system.
3. Next is the 1989 NeWS book that has a nice overview and history of windowing systems in its chapter 3:
Both the UK conference and the NeWS book mention a Unix kernel-based windowing system done at MIT in 1981 or 1982, “NU" or “NUnix”, by Jack Test. That one had not been mentioned before here and may have been the first graphical windowing work on Unix, preceding the Blit. Who remembers this one?
4. Finally, an undated paper by Stephen Uhler discussing the design of MGR is here:
I’ve not included Rob Pike’s papers, as I assume they are well known on this list.
Some of the above papers may be worthy of stable archiving.
Firstly, thanks to Warren for adding me to the list!
The 6th Edition manual refers to 'cron', not 'crond' (even though
cron was indeed referred to as a 'daemon'). By 4.2BSD, however, we
have things like 'telnetd' and 'tftpd'.
Does anyone have any pointers as to when and where the '-d'
convention started to be used?
Thanks in anticipation,
I just saw this over on dragonflydigest.com:
It's an article from 2007 about the history and genesis of the Colossal
Cave Adventure game - replete with lots of pics. What I found
fascinating was that the game is based on the author's actual cave
explorations vis a vis the real Colossal Cave. Gives you a whole new
appreciation for the game.
My question is do y'all know of any interesting backstories about games
that were developed and or gained traction on unix? I like some of the
early stuff (wumpus, in particular), but know nothing of origins. Or,
was it all just mindless entertainment designed to wile away the time?
Spacewar, I know a bit about, but not the story, if there is one...
Maybe, somebody needed to develop a new program to simulate the use of
fuel in rockets against gravity and... so... lunar lander was born? I
dunno, as somebody who grew up playing text games, I'd like to think
there was more behind the fun that mindless entertainment... So, how
about it, was your officemate at bell labs tooling away nights writing a
game that had the whole office addicted to playing it, while little did
they know the characters were characterizations of his annoying neighbors?
If you don't mind, if you take the thread off into the distance and away
from unix game origins, please rename the thread quickly :).
> In the annals of UNIX gaming, have there ever been notable games that have operated as multiple processes, perhaps using formal IPC or even just pipes or shared files for communication between separate processes
I don't know any Unix examples, but DTSS (Dartmouth Time Sharing
System) "communication files" were used for the purpose. For a fuller
story see https://www.cs.dartmouth.edu/~doug/DTSS/commfiles.pdf
> This is probably a bit more Plan 9-ish than UNIX-ish
So it was with communication files, which allowed IO system calls to
be handled in userland. Unfortunately, communication files were
complicated and turned out to be an evolutionary dead end. They had
had no ancestral connection to successors like pipes and Plan 9.
Equally unfortunately, 9P, the very foundation of Plan 9, seems to
have met the same fate.
> segaloco wrote:
> In the annals of UNIX gaming, have there ever been notable games that
> have operated as multiple processes, perhaps using formal IPC or even
> just pipes or shared files for communication between separate processes
> (games with networking notwithstanding)?
The machine of the DSSR/RTS group at MIT-LCS, Steve Ward's group (an -11/70
running roughly PWB1) had an implementation of a form of Perquackey:
that was a multi-player game; I'm pretty sure there was a process per player,
and they communicated, I'm pretty sure, through pipes, not files - there was
certainly no IPC in that system.
IIIRC, the way it worked was that there was a parent process, and it spawned
a child process for each terminal that was playing, and the children could
all communicate through pipes. (They had to communicate because in that
version, all the players shared a single set of dice, and once one person had
played a word, the other players couldn't play that word. So speed was
important in playing; people got really addicted to it.)
Alas, although their machine was very similar to CSR's (although ours was an
-11/45 with an Able ENABLE and a lot of memory, making it a lot more like a
/70), and we shared most code between the machines, and I have a full dump of
the CSR machine, we apparently didn't have any of the games on the CSR
machine, so I can't look at the source to confirm exactly how it worked.
I did not want to disrupt the FD 2 discussion, but I could not really let
this comment go unanswered:
"Smells like C++ to me. Rust in essence is a re-implementation of C++ not
C. It tries to pack as much features as it possibly can. "
It's hard for me to see how you can say this if you have done any work in
Rust and C++.
But, short form: Rust is not C++. Full stop.
I did not feel that comment should go unanswered, lest people believe it.