> From: Mark Longridge <cubexyz(a)gmail.com>
> I have a version of Unix v6 that has a file called /usr/doc/bc that
> describes bc at length
Oh, right, I missed that. I'm a source kind of person... :-)
Speaking of using a pipe to an existing command, I originally mis-read the
code to think there was only _one_ process involved, and that it was buffering
its output into the pipe before doing the exec() itself - something like this:
pipe(p);
write_stuff(p[1]);
close(0);
dup(p[0]);
close(p[0]);
close(p[1]);
execl("/bin/other", "other", arg, 0);
Which is kind of a hack, but... it does avoid using a second process, although
the amount of data that can be passed is limited. (IIRC, a pipe will hold at
most 8 blocks, at least on V6.) Did this hack ever get used in anything?
Noel
Traffic this evening on the pcc compiler list <pcc.lists.ludd.ltu.se>
alerted me to the existence of the Software Preservation Group, a
branch of the Computer History Museum, with a Web site at
http://www.softwarepreservation.org/
I do not recall hearing of it before today, and perhaps a few TUHS
list readers have not either. It may be desirable to add a link to it
from the Unix block of the http://minnie.tuhs.org/ site.
I think that it could also be good to record a link to the Bitsaver's
site at
http://bitsavers.trailing-edge.com/
and to make a list of TUHS mirrors more prominent (e.g., we have one
at
http://www.math.utah.edu/mirrors/minnie.tuhs.org/
).
-------------------------------------------------------------------------------
- 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/ -
-------------------------------------------------------------------------------
Hi folks,
I was wondering if Unix had any form of networking before uucp
appeared in Unix v7. It would be interesting to know if one could pass
a file from one Unix v5 machine to another without having to store it
on a magnetic tape.
There's some reference to a mysterious "Spider Interface" in the Unix
v5 manual. It seems to have something to do with DR-11B (which is a
general purpose direct memory access interface to the PDP-11 Unibus).
There's also reference to the "Spider line-printer" :)
Mark
> From: "Jeremy C. Reed" <reed(a)reedmedia.net>
> Later, they considered an LNI, an early token ring (if I understand
> correctly), device
Yes. See:
http://ana-3.lcs.mit.edu/~jnc/history/RingMIT.txt
for more - that's a pre-print version of an article just published in the
_IEEE Annals of the History of Computing_; slight differences with the final
version, but nothing significant.
Thumbnail: There were two versions; V1 was 1MBit/second, produced in very
limited numbers (~10 or so) at MIT, most used there, although IIRC correctly
at pair (at least - one would be of no use :-) went to UCLA (I remember flying
out to LA to help them get them going). V2 was 10Mbit/second, produced as a
commercial product by Proteon in cooperation with MIT, large numbers sold.
Noel
The 3b1 emulator now kind of boot!..
There is some issues with stuff, but for the most part, it works
http://virtuallyfun.superglobalmegacorp.com/?p=4149
-----Original Message-----
From: arnold(a)skeeve.com [mailto:arnold@skeeve.com]
Sent: Tuesday, August 26, 2014 2:17 PM
To: lyndon(a)orthanc.ca; lm(a)mcvoy.com
Cc: rob(a)bolabs.com; tuhs(a)minnie.tuhs.org
Subject: Re: [TUHS] networking on unix before uucp
Larry McVoy <lm(a)mcvoy.com> wrote:
> On Mon, Aug 25, 2014 at 01:00:45PM -0700, Lyndon Nerenberg wrote:
> > It was quite astounding to see the wide range of performance impacts
> > this had on various systems. 3B* systems would tip over and die, except
> > for the (built by Convergent Tech) 3B1.
>
> Sheesh, you people keep bringing up stuff from my past. My buddy Rob
> Netzer (used to be a prof at Brown, now works on BitKeeper with me)
> had one of those 3B1s. Neat machine. Sort of like a desktop VAX.
I had one too. (Also a trailblazer and then a worldblazer.) The 3B1 ran
SVR2; the BSD networking was available as an add-on with the ethernet
card.
I spent many happy hours working on that box, developing gawk and its
documentation; it was slow enough that you could see algorithmic
differences, e.g. standard diff vs. GNU diff.
It had one of those great AT&T keyboards (as did the blit). The UI
wasn't anything special to write home about though.
For a while there was a separate 3b1.* set of newsgroups and an
archive of stuff at Ohio State; there remains a comp.sys.3b1 group
that still has some activity as new people try to revive some of
these machines and others who had them help out. Someone was writing
an emulator, but I don't think it ever got finished.
Ah, the memories .... :-)
Arnold
_______________________________________________
TUHS mailing list
TUHS(a)minnie.tuhs.org
https://minnie.tuhs.org/mailman/listinfo/tuhs
On Mon, Aug 25, 2014 at 08:42:53AM -0600, emanuel stiebler wrote:
> On 2014-08-23 22:59, Larry McVoy wrote:
> > On Sat, Aug 23, 2014 at 03:32:45PM -0400, Clem Cole wrote:
> >> BEGIN - old guy's memories ....
> >
> > I see your old guy memories and "raise" my sort of old guy memories.
> > This is a bell labs blit story. It relies heavily on 7 bit clean stuff.
> > I'm not entirely sure this ever worked reliably but here is what we did.
> >
> > I was a grad student at UW Madison and shared an office with
> another guy. We
> > had a serial line to the computing center across the street. We
> had a blit,
> > loved it. We wanted two.
>
> Any chance, you still have any software for the BLIT?
Nope, all we were doing was muxing a serial line and that was 8051 assembler.
--
---
Larry McVoy lm at mcvoy.comhttp://www.mcvoy.com/lm
Doug McIlroy wrote:
> > I was wondering if Unix had any form of networking before uucp
>
> Right from the time Unix came up on the PDP-11 it was
> networked in the sense that it had dial-in and dial-out
> modems. Fairly early on, when Unixes appeared in other
> Bell Labs locations, Charlie Roberts provided a program
> for logging into another machine. It had an escape for
> file transfer, so it covered the basic functionality
> of rsh and ftp. It was not included in distributions,
> however, and its name escapes me. Maybe scj can add
> further details.
>
> Doug
Are you thinking of the cu (call unix) command? But that was included in v7,
and don't think it was part of uucp. The escape was ~ So a ~. to hangup,
~%put to send a file to the remote and ~%take to get one, and ~~ to send a ~
later on, there was a ct (call terminal) command, expecting a terminal at the end
of phone line instead of another machine.
On Sat, Aug 23, 2014 at 07:01:40AM +1000, Dave Horsfall wrote:
> On Fri, 22 Aug 2014, Larry McVoy wrote:
>
> > If anyone wants the stuff we use, the stuff mentioned above, I can put
> > it up on the web.
>
> Pretty please! For private use only, of course.
You'all can use it anywhere you like.
http://www.mcvoy.com/lm/tcp.shar
It's not that big a deal (other than 20 years of bug fixes :)
Somewhere I have a bigger deal, at least I think it is, I made a library
to talk to Sun RPC servers in parallel. I called it rpc vectors and Ron
Minnich used it to put a bunch of nfs servers together, he called that
bigfoot. Paper below, if someone wants that code I can ship that too.
It was pretty neat, back in the days of 10Mbit ethernet I was querying
thousands of machines in a single call. The code dealt with the fact
that you had to start eating the replies before you were done sending
the question :)
http://wenku.baidu.com/view/797c4ac62cc58bd63186bd1c.html
or for old school people
http://www.mcvoy.com/lm/bitmover/lm/papers/bigfoot.ps
The code was pretty small, pretty clever, it's a shame it didn't catch on.
--
---
Larry McVoy lm at mcvoy.comhttp://www.mcvoy.com/lm
> I was wondering if Unix had any form of networking before uucp
Right from the time Unix came up on the PDP-11 it was
networked in the sense that it had dial-in and dial-out
modems. Fairly early on, when Unixes appeared in other
Bell Labs locations, Charlie Roberts provided a program
for logging into another machine. It had an escape for
file transfer, so it covered the basic functionality
of rsh and ftp. It was not included in distributions,
however, and its name escapes me. Maybe scj can add
further details.
Doug
> From: Dan Cross <crossd(a)gmail.com>
> Unix was on the ARPAnet circa 1975 (if not earlier):
> http://tools.ietf.org/html/rfc681
Good catch; I didn't know of that document. There is a later, more extensive
document (set) about it, "A Network Unix System for the ARPANET", but that's
from several years later, and doesn't include anything about the history of
the implementation.
> it's entirely possible that the ARPAnet Unix work was done before V6
> ...
> if I had to hazard a guess I'd say they were running V5; perhaps
> heavily patched.
The RFC says this (translated to lower case since the all-upper made my
eyes hurt :-):
FOr further information concerning the different I/O calls the reader is
directed to The Unix Programmer's Manual, Fifth Edition, K. Thompson,
D. M. Ritchie, June 1974.
which I think makes it pretty definitive...
Noel
> From: Mark Longridge <cubexyz(a)gmail.com>
> I was wondering if Unix had any form of networking before uucp appeared
> in Unix v7.
In general, no, but I know of a number of networked Unixes prior to V6.
ISTR that there were a number of Unixes attached to the ARPANET; I know at
least one (at UIllinois) was - that was a V6 machine.
There were several different TCP/IP implementations done under V6; the
UIllinois guys did one (in C), BBN did one (by Jack Haverty, who ported one
done in assembler by IIRC SRI), and one was done at MIT (by Liza Martin, in
C). I don't think any of them saw significant deployment.
Noel
> From: Brian Zick <brian(a)zickzickzick.com>
> The fun of trying to do something in this now novel way is really
> great. I was thinking I might try using it for my email. The
> news-ticker idea also seems great
I suspect you'll find that the charm wears off pretty quickly, if you try and
use it for Real Stuff, day in, and day out. There's a reason this technology
is not used any more! :-)
> I'm really excited that this not only seems possible but nearly in
> reach.
I share you enthusiasm for the fun of computer archaeology. (Thanks to Milo,
I now have an 11/84 that I'm in the process of trying to get up.) Good luck!
Noel
On Fri, Aug 15, 2014 at 11:27 AM, Lyndon Nerenberg <lyndon(a)orthanc.ca>
wrote:
>
> On Aug 15, 2014, at 11:04 AM, Brian Zick <brian(a)zickzickzick.com> wrote:
>
> > Would it still be possible today for someone like me to go out, and find
> an old teletype terminal (an old ASR or DECwriter or something), set up a
> phone line and modem and get a roll of paper, and then actually use it to
> connect to other computers?
> >
> > I know it's not really practical today - but is it possible?
>
> Certainly it's possible. Although you would really only be able to do it
> with an ASCII terminal. A DECwriter would work fine. For a Teletype
> beast, you would need to make sure it used ASCII. But lacking lower case,
> I think you would find it too painful to use, even though all the current
> versions of UNIX (and Linux) I'm aware of still seem to support the
> necessary case conversion in the tty drivers.
>
Hmm. So for a TTY that old there would probably be no option for
lowercase. That does sound a little painful, especially if I wanted to edit
modern programs..
> Your biggest obstacle might be finding a host machine that still has a
> modem attached that you could dial in to :-)
>
So perhaps I could simplify it and attach to a machine sitting next to the
TTY - which then in theory could connect to the outside world via the usual
means. I wonder, has anyone tried something like this?
> And, of course, everyone KNOWS the entire universe runs in terminals that
> support ANSI escape sequences for colour and cursor positioning. Who needs
> termcap? (I'm looking at you, git. And clang.) So you might find setting
> TERM=dumb isn't quite enough.
>
> Also, ed(1) is a wonderful editor on a hardcopy terminal. Unless you run
> it on Linux, which KNOWS the whole world runs on 24 line terminal windows,
> and therefore ed needs to pause its output.
I usually use vim, but before learning vim I learned ed and used it for
about a 2 month space for editing config files and things, so that should
hopefully be the easy part. :-)
Brian Zick
zickzickzick.com
.:/
,,///;, ,;/
o:::::::;;///
>::::::::;;\\\
''\\\\\'' ';\
\
> From: Ernesto Celis <ecelis(a)sdf.org>
> I own an USRobotics modem which I've been thinking about connect to the
> home server and use it to dial in to get acces to my shell
Just out of curiousity, what are you going to dial in _with_? :-)
Noel
> From: Brian Zick <brian(a)zickzickzick.com>
> Would it still be possible today for someone like me to go out, and
> find an old teletype terminal (an old ASR or DECwriter or something),
> set up a phone line and modem and get a roll of paper, and then
> actually use it to connect to other computers?
Well, although I used ASR33's for two years (attached to an 11/20 running
RSTS :-), it was a long time ago (I was 15/16 :-), and they aren't something
I _really_ know about, but ... Here are some issues you need to watch out for:
First, I think most Teletypes used what is called '20mA current loop' serial
line electrical interface standard (although some of the later ones could use
'EIA' - the now-usual, although fast disappearing, serial line electrical
interface standard). They are logically (i.e. at the framing level) the same,
but the voltages/etc are different.
The only Teletype I see listed (in a _very_ quick search, don't take this for
gospel) that used EIA is the Model 37. So if you get a Teletype Model 33 or
35, and want to plug it into a computer, either the computer is going to have
to have an _old_ serial line interface (e.g. DL-11A/C, on a PDP-11), or you're
going to have to locate a 20mA/EIA converter (I've never seen such a thing,
but I expect they existed).
And if you want to plug it into a modem... all modems I ever heard of are EIA
(at least, the ones you could plug terminals into - e.g. in most PC modem
cards, the serial interface is entirely internal to the card).
Second, most of those Teletypes were 110 baud (mechanical hardware
limitation).
So that means that first, if you plug into a computer, your serial interface
has to be able to go that slow. Second, if you're dialing up, you need to find
a dial-up port that supports 110 baud. (I would be seriously amazed if any are
left...)
Of course, if you go with a DecWriter, some of these issues go away, but be
careful: some older DecWriters were 20mA too, and the speeds were almost as
slow on many (probably 300 baud, but I don't know much about DecWriters).
Sorry to be so much cold water, but...
As for finding one... I suggest eBay. There's a broken ASR33 there at the
moment - if you're _really_ serious, might be worth buying as a parts
source. But if you wait, I'm pretty sure one will eventually float by...
Noel
Howdy folks -
So I'm mostly a lurker here and love the history and the way things used to
be done. But being born in '91 I pretty much missed all of it, although I
did grow up with 80s machines in the house.
There is one thing that I would love to do, and may seem a curious thing to
most, but I think about it from time to time, and it's enticing. But I'm
not sure where one would get started.
Would it still be possible today for someone like me to go out, and find an
old teletype terminal (an old ASR or DECwriter or something), set up a
phone line and modem and get a roll of paper, and then actually use it to
connect to other computers?
I know it's not really practical today - but is it possible?
Brian Zick
zickzickzick.com
.:/
,,///;, ,;/
o:::::::;;///
>::::::::;;\\\
''\\\\\'' ';\
\
On Fri, Aug 1, 2014 at 8:13 AM, Andy Kosela <akosela(a)andykosela.com> wrote:
>
>
> On Friday, August 1, 2014, Dario Niedermann <dnied(a)tiscali.it> wrote:
>
>> Tim Newsham <tim.newsham(a)gmail.com> wrote:
>>
>> > just for fun, you might want to run your
>> > ancient unix in simh using this terminal:
>> > https://github.com/Swordifish90/cool-old-term
>>
>> Cool! I've been waiting for ages for something like the Cathode terminal
>> emulator
>> to appear on Linux too. Cathode is Mac OS X only, unfortunately.
>> Homepage: http://devio.us/~ndr/
>> Gopherhole: gopher://retro-net.org/1/dnied/
>>
>>
> I still prefer my old Digital VT terminal though. Nothing will beat CRT
> screen when it comes to low resolution text-only mode.
>
> --Andy
>
> _______________________________________________
> TUHS mailing list
> TUHS(a)minnie.tuhs.org
> https://minnie.tuhs.org/mailman/listinfo/tuhs
>
>
> From: John Cowan <cowan(a)mercury.ccil.org>
>> if you're dialing up, you need to find a dial-up port that supports
>> 110 baud.
> I dialed up The World's local dialup line for my area, and heard a
> large variety of tones including Bell 103-compatible FSK, which is 300
> baud. I suspect that anything that can do Bell 103 can fall back to
> Bell 101, which was 110 baud.
There are two more things one needs to have for the port to support 110: i)
the serial interface needs to support 110 (even if the modem is integrated
with the serial hardware on one board, the serial hardware might not do 110),
and ii) the software needs to be willing to go 110.
I don't know anything about how contemporary dial-up ports work, so maybe
there's some side-channel from the modem to the interface which allows the
software to find out directly what speed the modem is using. However, 'back in
the day' with multi-speed ports, there was no such mechanism (the RS-232
interface spec didn't provide for speed indication), and one had to hit BREAK
and the serial line device driver would see that, and try the next speed in a
list. You can still see this in the big table of terminal types in getty.c,
e.g.:
/* table '0'-1-2 300,150,110 */
which tried 300, 150, 110. So if the software isn't looking for 110...
Noel
Rats :( :( :(
Did they have power supplies, and did they still work?
On Fri, 15 Aug 2014, Clem Cole wrote:
> Date: Fri, 15 Aug 2014 17:07:28 -0400
> From: Clem Cole <clemc(a)ccc.com>
> To: Brian Zick <brian(a)zickzickzick.com>
> Cc: "tuhs(a)minnie.tuhs.org" <tuhs(a)minnie.tuhs.org>
> Subject: Re: [TUHS] Teletype
[...]
>
> Funny, just this AM, I put into the the electronics recycling box at work 4
> telebit "Worldblazer" modems and a POTS line emulator (and a bunch of other
> old junk). I've been clean out my basement and I knew I would never use
> those again.
>
---------------------------------------------
This message was sent using Endymion MailMan.
http://www.endymion.com/products/mailman/
Doug McIlroy:
The single-token rule meant that, if you wanted to supply an
option to wc in the pipeline
ls > wc >
you couldn't write
ls > wc -l >
as one would expect, but instead had to write
ls > "wc -l" >
Yet a quoted "wc -l" as a bare command or (I suspect) as the
first command in a pipeline would lead to "command not found".
What a mess!
======
Then as now, a quoted "wc -l" would be taken by the shell
to be a single world, so
"wc -l" file
would be a request to find a file named "wc -l" (without
the quotes but with the embedded blank) somewhere in the
search path, and execute it with argv[0] = "wc -l" and
argv[1] = "file". But the shell's parser bound only the
word following > or < to the operator, so the command had
to be quoted (if it had arguments) to make it a single word.
So in the old syntax, if you needed to quote an argument
of a command that was part of a pipeline but not at the
head, you'd have to embed quotes within quotes; e.g.
ls > "grep '[0-9]'" >
Decidedly a quick hack, just like the original implementation
of fork(2) (which was, approximately, swap the current process
out, but keep the in-core copy, and give one of the two a new
process ID and process-table entry). Though unlike the original
fork, the original pipeline syntax was rough enough to be
worth fixing early on.
As a side note, when I was writing my earlier message, I was
going to construct an example using wc -l, until I checked the
manual and discovered that when pipelines were invented wc
didn't yet take options. I also thought about an example
using grep, except grep hadn't appeared yet either. Pipelines
(especially once they were attractive and convenient to use)
made a bigger difference than we remember in how commands
worked and which commands were useful.
And of course Doug gets at least as much credit as Ken for
changing our lives with all that.
Norman Wilson
Toronto ON
> From: Mark Longridge <cubexyz(a)gmail.com>
> The first problem I had was I couldn't just cp over all the
> /usr/source/s1 files to the new drive because of "Arg list too long"
John Cowan nailed this; as an aside, I don't know about V5, but in vanilla V6
the entire argument list had to fit into one disk buffer (I would assume V5 is
the same).
The PWB changes to v6 included a rewrite of exec() to accumulate the argument
list in swap space, so it could be much longer; the maximum length was a
parameter, NCARGS, which was set to 5120 (10 blocks) by default.
Noel
Since there's a pdf of the unix v5 man pages I figured I might as well
recreate all the necessary files to have man pages in v5.
There's a very simple thompson shell script that I used from v6 to create man:
if X$2 != X"" nroff man0/naa man$1/$2.$1
if X$2 = X"" nroff man0/naa man1/$1.1
I borrowed the assembly language source from v6 to recreate nroff for
v5. After that it was just a matter of matching the date from various
files in v4 and v6. If the date was exactly the same for a given man
page file I just copied it straight into v5. If the date was different
then I used the version in v6 and just edited it until it matched what
was shown in the v5 manual pdf.
It should also help me figure out a lot of the differences between v5
and v6. When it's all done I'll put the disk images and configuration
files on archive.org and post the URL here.
I developed a sort of philosophy for adding stuff to unix v5 which
goes beyond the v5root.tar.gz files donated by Dennis Ritchie:
No changing of cc or as.
No changing of the kernel code beyond recompiling the existing v5 code.
No changing of the existing device drivers (adding new ones is OK).
No backporting of iolib or stdio into v5.
No changing libc.
Adding userland programs is OK as long as the above rules are followed.
Mark
Ok, I was just thinking that we have a lack of Unix version 5 (and
older) source code but since the Unix v5 era was the era of
teletypewriters perhaps there could be a stockpile of old teletype
printouts somewhere. Assuming they didn't run out of paper all the
time there would have been an automatic record generated of everything
Thompson and Ritchie did. Some of those printouts must have been kept
somewhere.
Mark
Firstly, I should mention I'm using simh to simulate Unix version 5.
Well I tried to reorganize the files in unix v5. Mainly I wanted more
room on rk0 so I figured I'd create a new drive and put all the source
from /usr/source/s1 on it.
The first problem I had was I couldn't just cp over all the
/usr/source/s1 files to the new drive because of "Arg list too long"
so I figured I would just create an archive file called all.a which
would include all the files in /usr/source/s1 and copy that over.
But then I got "phase error" when I tried to keep adding files to the
archive (I had to do this in stages, e.g. ar r all.a /usr/source/s1/a*
then ar u all.a /usr/source/s1/b* etc). Phase error seemed to occur
when the archive got larger than around 160,000 bytes. So I ended up
creating 3 archive files to keep from getting "phase error".
I was wondering does anyone understand what the limits are for the cp
and ar commands?
Mark
> From: Doug McIlroy <doug(a)cs.dartmouth.edu>
> Yet a quoted "wc -l" as a bare command or (I suspect) as the first
> command in a pipeline would lead to "command not found".
I don't know about earlier versions of Unix, but FWLIW on V6 it does indeed
barf in both of these cases (just tried it).
Noel
Thanks, Norman, for reminding me of the actual pipe syntax in v3.
This reinforces the title of one history item on Dennis's
website: "Why Ken had to invent |".
I'd suppressed all memory of the fact that in the pipeline
... > cmd > ...
cmd had to be a single token. That was certainly not the intent
of my original proposal. It is understandable, though, as a
minimal hack to the existing shell syntax and its parser, which
accepted occurrences of <token and >token anywhere in a command.
The single-token rule meant that, if you wanted to supply an
option to wc in the pipeline
ls > wc >
you couldn't write
ls > wc -l >
as one would expect, but instead had to write
ls > "wc -l" >
Yet a quoted "wc -l" as a bare command or (I suspect) as the
first command in a pipeline would lead to "command not found".
What a mess!
Soon after, Ken was inspired to invent the | operator, lest
he should have to describe an ugly duckling in public at an
upcoming symposium in London.
Is it possible that the ugliness of the token hack was the
precipitating factor that gave us the sublime | ? But for
the hack, perhaps we'd still be writing
ls > wc >
Doug