mdw
--
Matt Welsh m...@tc.cornell.edu +1 607 253 2737
Systems Programmer, Cornell Theory Center
"Yow! Up ahead! It's a DONUT HUT!!"
>...when you've been working on VMS for a few hours, decide to take a break and
>switch on the TV set. "Ren and Stimpy" is on, and you wonder what the Stimpy
>command does...
What has VMS got to do with this?
--
____ Tim Pierce / "You are just naive and repressed because
\ / twpi...@unix.amherst.edu / penis envy is here and it's now and it's
\/ (BITnet: TWPIERCE@AMHERST) / all around you." -- Neal C. Wickham
I think that Ren is VMS for rename.... but I could be wrong. Been a few
months.
--
Rob McCool, NCSA STG System Administrator
ro...@ncsa.uiuc.edu r-mc...@uiuc.edu ro...@imsa.edu
It was working ten minutes ago, I swear...
Actually, VMS for rename is RENAME--but VMS has a really nice feature--
it lets you type in part of a command and fills in the rest--or complains
about "ambiguous commands"...
--
Dave Brown
dagb...@undergrad.math.uwaterloo.ca
Phone: (519) 438-0530
"What God want, God gets. God help us all." --Roger Waters
>In article <Bvy74...@news.cso.uiuc.edu> ro...@void.ncsa.uiuc.edu (Rob McCool) writes:
>>twpi...@unix.amherst.edu (Tim Pierce) writes:
>>: What has VMS got to do with this?
>>
>>I think that Ren is VMS for rename.... but I could be wrong. Been a few
>> months.
>Actually, VMS for rename is RENAME--but VMS has a really nice feature--
>it lets you type in part of a command and fills in the rest--or complains
>about "ambiguous commands"...
Some unix shells do that too...
Aj.
--
-------------------------------[ The Eno ]------------------------------------.
JANET : da...@uk.ac.city da...@uk.ac.city.cs
I'net : da...@city.ac.uk da...@cs.city.ac.uk
BITNET: da188%city....@cunyvm.cuny.edu da188%cs.cit...@cunyvm.cuny.edu
>dagb...@napier.uwaterloo.ca (Dave Brown) writes:
>>Actually, VMS for rename is RENAME--but VMS has a really nice feature--
>>it lets you type in part of a command and fills in the rest--or complains
>>about "ambiguous commands"...
>Some unix shells do that too...
These days, if the UN*X shell you are using doesn't let you do file
completion (a la csh, bash, mshell, ksh, etc etc) then you know you
are using an old (ok, mid-80s at least) machine..
Chris
--
Christopher Samuel, c/o Computer Unit, UCW Aberystwyth, Aberystwyth, WALES
RFC: c...@aber.ac.uk UUCP: *!mcsun!uknet!aber!ccs JNT: c...@uk.ac.aber
Deddf Iaith Newydd i Gymru | New Language Act for Wales
> Ah, you're all talking about file completion. DCL had
> _implied_ VMS command completion--with all the UN*X shells I've seen,
> you have to _tell_ 'em to find your file for you. That one
> of the two things that VMS does better than UN*X.
> The other one is the way it handles file ownership...
Sometimes this is a slight advantage of VMS. But adding a new command to the DCL tables
is a hell of a lot more complicated than just putting an executable somewhere in $PATH.
(Yes you can use "sym*bol := $imagename" to make sym, symb, symbol all run imagename,
but then treatment of arguments is different from builtin commands. Also if you mispell
something so the leading part of it is a command, you get to run that command).
And the interaction of protection and ACLs is hardly the cleanest system possible. Does
have obvious advantages over Unix though.
--
Alan Braggins, al...@sdl.mdcbbs.com, abra...@cix.compulink.co.uk
Shape Data - A division of EDS-Scicon Limited. Cambridge, UK +44-223-316673
"Any technology distinguishable from magic is insufficiently advanced."
"My employer does not necessarily share my views - but I'm working on it."
Yes, however, the point was made a couple of notes back that such support would
not be hard to add. At least if you don't like it, you can rewrite it with
UNIX. Does DCL have fileNAME completion? I never had saw it... but that was
a few months ago.
No, modern sane Unix shells (eg bash, zsh, probably-ksh-but-I-don't-
have-one-to-test-right-now) do command completion as well as filename
completion. Modern insane Unix shells (tcsh) do this *and* let you
customize the filename completion (eg "if I start a command line with
``cc -c'', then consider only files ending with ``.c'' as possible
completions"). This is tcsh's main claim to fame as an interactive
shell.
Jonathan H.
Oh. Good. Tell me immediately how I configure tcsh for automatic command
completion. At the moment I have to press <TAB> for tcsh to know that I mean
'rmdir' when I type 'rmd'.
File completion is EVIL. That means you have to run in RAW mode, which means
your process gets scheduled on EVERY key press. Why, you could end up using a
significant fraction of the CPU just servicing input, and heavens help you if
you're SWAPPED OUT!
(now you know *how* we got 65 users on an 11/70. When the load average got down
to 13 you could actually complete login in before login timed out)
--
Peter da Silva. <pe...@sugar.neosoft.com>.
`-_-' "Megőlegetted ma már a farkasodat ?"
'U`
Dette kan umulig vaere mitt rom, eftersom jeg ikke puster ammoniakk.
RTFM tcsh(1), sections 1 and 4, to find out how. It took me 5 minutes
to figure it out in zsh, and 5 minutes more to test it in tcsh. I
could have spent another 5 minutes configuring noise levels in tcsh,
if I had actually wanted to (a) use tcsh, and (b) use the binding.
Hint: for zero-argument commands, you need to bind another key.
Jonathan H.
> (now you know *how* we got 65 users on an 11/70. When the load
> average got down to 13 you could actually complete login in before
> login timed out)
You don't need 65 users for that. When I took my first Unix
introductory course, there were about 15 - 20 interactive users (most
of them doing lots of compiles) on a Sun 3/280, which was in addition
to that serving at least 8 diskless 3/50s.
You could already login when the load dropped to 15.
--
Juergen Nickelsen
Have a look at "set correct" and "set autocorrect", I think they're the
appropriate variables.
Steve
>
--
Steve McKinty
SUN Microsystems ICNC
38240 Meylan, France
email: smck...@france.sun.com BIX: smckinty
Ack! As if UNIX wasn't cryptic enough already...Imagine how shell-scripts
made by the average lazy hacker would look... 8)
Instead of wasting cycles on calculating filecompletion, UNIX was
designed from the start using the shortest possible command names... 8)
-Frank.
Oh God. You should see some of the DCL scripts I've seen. Full of
commands like PU [...]/NOC, SPA/NOW/OUT=R.R DIR [...]/NOH/NOT,
PR/QUE=SYS$PRINT/NOF R.R, etc. You get the idea. And they say UNIX
is cryptic and VMS isn't....
I guess the difference is that the VMS commands can be typed out such that
they are no longer cryptic. Unix, on the other hand, cannot be made
'uncryptic' (unless you do a lot of aliasing, and then try to remember
that such things as 'dir' don't work under a different account).
By the way, command 'PR' and the qualifiers '/NOF' '/NOC' and '/NOT' do
not work under VMS V5.5. You get an unknown command and ambiguous
qualifier errors... It's amazing how many DCL scripts have been broken
by this type of thing. Especially when SUB no longer meant just 'SUBMIT'...
Chris
--
Chris Kalisiak | "Pound for pound, lame puns are your best
kali...@acsu.buffalo.edu | entertainment value." -- Gogo Dodo, Tiny Toons
V076...@ubvms.cc.buffalo.edu| "Stimpy, your wealth of ignorance astounds me."
V076...@ubvms.bitnet | -- Ren Hoek, Ren and Stimpy
--
Chris Kalisiak | "Pound for pound, lame puns are your best
kali...@acsu.buffalo.edu | entertainment value." -- Gogo Dodo, Tiny Toons
V076...@ubvms.cc.buffalo.edu| "Stimpy, your wealth of ignorance astounds me."
V076...@ubvms.bitnet | -- Ren Hoek, Ren and Stimpy
>In article <Bwn64...@undergrad.math.waterloo.edu> dagb...@undergrad.math.waterloo.edu (Dave Brown) writes:
>>Oh God. You should see some of the DCL scripts I've seen. Full of
>>commands like PU [...]/NOC, SPA/NOW/OUT=R.R DIR [...]/NOH/NOT,
>>PR/QUE=SYS$PRINT/NOF R.R, etc. You get the idea. And they say UNIX
>>is cryptic and VMS isn't....
>I guess the difference is that the VMS commands can be typed out such that
>they are no longer cryptic.
Actually VMS commands can be typed out such that they look cute:
$ EDITORIAL NOTE
$ DELEGATE NOTE..
$ CANCER KILLS
$ PHONY SYSTEM
- Andi
+-----------
Andi Karrer, Communication Systems, ETH Zuerich, Switzerland
kar...@bernina.ethz.ch - Objects in mirror are closer than they appear
Come to think if it, I recall seeing some DECUS article a while back that
was making stupid (but syntactically correct) sentences using DCL. Does
anybody know any such sentences (or more accurately, does anyone know what
I am referring to)?
Yuk. That clearly ignores DECs guidelines on writing DCL, and is just
waiting to catch out some poor future user when another command
beginning 'PR' appears.
The book says "commands are guaranteed to be unique to 4 letters". Why
doesn't anyone ever RTFM.
Because they just RT, and trust that it will expand to RTFM, when in fact it
expands to RT-11. :-)
>Steve
Seth L. Blumberg | "Once again, fear and superstition triumphed over
sl...@cunixb.columbia.edu | science and technology."
se...@ctr.columbia.edu | -- Anton Braun Quist, quoting Ed Whitaker
> No one I know shares my opinions, least of all Columbia University. <
>dagb...@undergrad.math.waterloo.edu (Dave Brown) writes:
>>Oh God. You should see some of the DCL scripts I've seen. Full of
>>commands like PU [...]/NOC, SPA/NOW/OUT=R.R DIR [...]/NOH/NOT,
>>PR/QUE=SYS$PRINT/NOF R.R, etc. You get the idea. And they say UNIX
>>is cryptic and VMS isn't....
>
>I guess the difference is that the VMS commands can be typed out such that
>they are no longer cryptic. Unix, on the other hand, cannot be made
>'uncryptic' (unless you do a lot of aliasing, and then try to remember
>that such things as 'dir' don't work under a different account).
Most of the GNU software allows use of long option names.
For example, instead of
cp -var foo bar
you can use
cp --verbose --archive --recursive foo bar
>By the way, command 'PR' and the qualifiers '/NOF' '/NOC' and '/NOT' do
>not work under VMS V5.5. You get an unknown command and ambiguous
>qualifier errors... It's amazing how many DCL scripts have been broken
>by this type of thing. Especially when SUB no longer meant just 'SUBMIT'...
Yes, I can see how that would be a problem :-)
--
Fergus Henderson f...@munta.cs.mu.OZ.AU
This .signature virus is a self-referential statement that is true - but
you will only be able to consistently believe it if you copy it to your own
.signature file!
Hmmm... Some people call me sick, but I love VMS. My nickname for it for
people who havent used it is 'Mr. Friendly'. Meaning such that it allows
for command completion as above, and also gives you rather explicit
error messages... (ever look up an error message in the error message
manual? It basiclly repeats itself).
Anyways, I learned early on, not to abbreviate DCL commands, mostly
for documention, but other reasons. When I am hacking at DCL, I use
abbrs. to an extreme, but all my command procedures use the full command
(with some exceptions... I dont know anyone who types DIRECTORY)
I think VMS is great, and wish there was such as thing as PC-VMS. I
know one company, who used to make TSX for RT-11, has a couple of
products, DCL for DOS, and DCL for Unix (not too sure about that last
one).
I mean, who cant make sense of the following command:
$ dir/since=yesterday/before=today/size/out=my_files.txt
Of course, my favorite part of it all is filenaming conventions
NODE::DEVICE:[DIRECTORY]FILENAME.FILETYPE;VERSION
Version has to be the BEST file handling mechinasm ever. For those
who may not know, when you change a file, and save it, it gets the same
name, but the version is incrimented (sp?), its the old MS-DOS thing
where it would save the file under a .BAK, but taken even further:
foo.bar;1
foo.bar;2
foo.bar;3
Easy to go back to a previous version, so long as you dont have a
PURGE [*...] in your daily routines :-)
I babble...
--
Billy D'Augustine az...@spatula.rent.com
"I am the politician, and I decide your fate"
I mean, who cant make sense of the following command:
$ dir/since=yesterday/before=today/size/out=my_files.txt
Hmmmm. Well, it is a bit ambiguous. Obviously this is a multiple
assignment statement involving several fractions. Since I don't know
enough about the language, it's not clear in what order the divisions
will be done when calculating the last of the fractions, today/size/out.
On the other hand, perhaps these aren't assignments but a compound
comparison statement. Still, I don't know about evaluating that last
fraction.
David Sibley
sib...@math.psu.edu
^^^^^^^^
Fraction? FRACTION? Duh. This is so obvious. The slashes are like the -
in unix. So think of it this way:
%dir my_files.txt -since yesterday -before today -sort size
To paraphrase the syntax a lot. Fractions? MORON.
Daniel Max P. Drucker
=============== mertwig!xy...@jaflrn.uucp ==========================
Difficulty! It's the single simplest machine in the entire Universe!
Hi, I'm a .sig virus! Copy me into your .sig and spread the fun!
=========== uupsi!utoday!jaflrn!mertwig!xyzzy ======================
ANY 1 SEEN BIFF L-8-LY? MY VIC-20'S MISSING!!!!!!!!!!!!!!!!!!!!!!!!!
>Daniel Max P. Drucker
>=============== mertwig!xy...@jaflrn.uucp ==========================
>Difficulty! It's the single simplest machine in the entire Universe!
>Hi, I'm a .sig virus! Copy me into your .sig and spread the fun!
un! un! un! un! un! un!
A bug in the virus?
PJC
>> az...@spatula.rent.com (Billy D'Augustine) writes:
>>
>>
>> I mean, who cant make sense of the following command:
>>
>> $ dir/since=yesterday/before=today/size/out=my_files.txt
>>
[...]
>> On the other hand, perhaps these aren't assignments but a compound
>> comparison statement. Still, I don't know about evaluating that last
>> fraction.
> ^^^^^^^^
> Fraction? FRACTION? Duh. This is so obvious. The slashes are like the -
> in unix. So think of it this way:
Ummm, I think that this was a CUT on VMS, and DCLisms, not
moronity. You should start drinking decaf.
--
Tig Stone
(old...@titan.ucc.umass.edu)
> I think VMS is great, and wish there was such as thing as PC-VMS.
There is (or was a few years ago). It wasn't that great, but then I was
playing with it on a real 4.77 MHz PC/XT... I can't remember who did
it, it will probably come back to me as soon as I hit the 'send' button.
They did a PC/Unix as well, which worked a bit better (probably because it
was simpler).
It gave you a DCL interface, and a set of libraries which emulated most of the
VMS system services. You could even log in multiple times via terminals on
serial ports. No real process-level protection though, since it was just
sitting on top of DOS.
> Version has to be the BEST file handling mechinasm ever.
Yes, does it get used anywhere outside the DEC world? Pity it never made it
into other OSes.
> > Version has to be the BEST file handling mechinasm ever.
> Yes, does it get used anywhere outside the DEC world? Pity it never made it
> into other OSes.
I recollect vaguely that Norsk Data had file versions in SINTRAN III,
but I'm not really sure. Can someone confirm this?
Similar to VMS it had the feature that you could abbreviate commands
as long as they sayed unique, but the command names usually had
several parts separated by dashes and each part could be abbreviated.
So "delete-user-files" could be written as "del-us-fi", and
"copy-file" as "cop-fi" or even "co-fi".
"copy-file" had also the very interesting property that the order of
parameters was "copy-file <destination>,<source>" (I'm not sure about
the comma). I was attending a FORTRAN course then, and several people
did not always remember this order when printing their source files,
which was done by a "copy-file" to the printer. This resulted in
copying the printer to the source file and resulted in an empty
FORTRAN program.
--
Juergen Nickelsen
Christian
--
-------------------------------------------------------------------------------
| Christian Longshore Claiborn |c...@kepler.unh.edu | Friend of the Great |
| Chuck Woolery's Protege |Chri...@unh.edu | Eater of Souls |
| Future UNH Sysadmin |chri...@turing.org| Ask about group rates! |
|-----------------------------------------------------------------------------|
|"It was all very well to say 'Drink Me,' but the wise little Alice wasn't |
| going to do THAT in a hurry." -- The Reverend Charles Dodgson |
-------------------------------------------------------------------------------
> > Version has to be the BEST file handling mechinasm ever.
> Yes, does it get used anywhere outside the DEC world? Pity it never made it
> into other OSes.
What do you mean, "never made it into other OSes"? C-h v version-control
in emacs and you get:
*Control use of version numbers for backup files.
t means make numeric backup versions unconditionally.
nil means make them for files that have some already.
never means do not make them.
Emacs: it's not just a text editor any more.
--
Jin Choi
j...@athena.mit.edu
You bring up some not-so-fond memories...
A quick look in the manuals I stol^H^H^H^Hsalvaged from the terminal
room when our ND system was decommissioned (read: sold to Poland)
confirms that there was indeed a mechanism for versions. It worked a
bit different from VMS, though: By default, there only was one version
of each file. If you wanted more versions, you had to create them
explicitly, for example with
CREATE-FILE FOO:SYMB;3,0
Note that SINTRAN used a colon to separate the "name" from the
four-character "type" parts of the filename. The 3 means "create 3
versions", the 0 that it is to be an indexed file. The type SYMB was
used for all source code (regardless of language, except for the C
compiler - a late addition), and was the default for the editor.
Similar to VMS, the versions would then be named
FOO:SYMB;1
FOO:SYMB;2
FOO:SYMB;3
Unlike VMS, version 1 would always be the latest one, 2 the next to
latest, and so on.
>Similar to VMS it had the feature that you could abbreviate commands
>as long as they sayed unique, but the command names usually had
>several parts separated by dashes and each part could be abbreviated.
>So "delete-user-files" could be written as "del-us-fi", and
>"copy-file" as "cop-fi" or even "co-fi".
This was quite useful, since SINTRAN was rather the opposite of Unix
when it came to naming commands: the command names were looong, like
LIST-SPOOLING-QUEUE, LIST-OPEN-FILES and WHO-IS-ON (the alst one could
mercifully be abbreviated to the familiar WHO).
What was less nice was that you could abbreviate *filenames* as well
as command names. And I'm not speaking of filename completion, as in
modern Unix shells, but automatic abbreviation - abbreviated filenames
were expanded without your asking for it. Of course, this won't work
when creating new files, so SITNRAN demanded that you put the exact
filename in quotes to create a new file. (The exception was commands
like CREATE-FILE, where you know the file doesn't exist, so the quotes
weren't needed).
There was no wildcard processing, BTW, so to delete more than one file
at a time, you had to use a specail command - DELETE-USERS-FILES.
Though convenient, this filename-abbreviation feature could be
extremely dangerous. I've told the following horror story before, but
I think a.f.c regulars can bear with me if I repeat it.
In my first year here in Lund, the physics training lab had an
undergraduate terminal room, with an assortment of old terminals
nobody else wanted (one of them was a TI silentype *hardcopy*
terminal, with a max speed of 300 bps, the others were late-seventies
smart terminals that we weren't allowed to run at higher speeds than
1200 bps). These were connected to a ND100 (16 bit mini with small
memory - 64K bytes per user process) running SINTRAN III. This
computer was so overloaded that it generally crashed three or four
times a week. All the physics undergrads shared *one* account. To make
matters worse, SINTRAN had a flat file system, with max 256
files/user, so we weren't allowed to keep more than two files each.
Anyway, I was working on a Fortran program and wanted to save it to
a file called LEN:SYMB (I don't remember why it had that name). Now,
since the file didn't exist, I should have given the filename as
"LEN". However, I forgot the quotes, upon which the system decided I
meant the existing file LENNANDER:SYMB, happily overwriting the
results of four hours' work by two other people.
The lesson: Don't write systems that believe they're smarter than the
user!
>"copy-file" had also the very interesting property that the order of
>parameters was "copy-file <destination>,<source>" (I'm not sure about
>the comma). I was attending a FORTRAN course then, and several people
>did not always remember this order when printing their source files,
>which was done by a "copy-file" to the printer. This resulted in
>copying the printer to the source file and resulted in an empty
>FORTRAN program.
Yes, being used to VMS, I lost many files to that. <Shudder>.
You also had commands like RENAME-FILE new-name,old-name.
I suppose this syntax was totally logical from the view of the SINTRAN
designers - the trouble was that VMS, MS-DOS, Unix and lots of other
systems have it the other way around. But I believe the old PIP syntax
(CP/M, various PDP OS's) was PIP destination=source, wasn't it?
And it can get even worse: In VMS, you have two different ways of
redirecting the output of a program:
$ DEFINE sys$output foo.lis
and
$ ASSIGN foo.lis sys$output
Both of these are perfectly logical, since you "(re)define sys$output as
foo.lis", but you "assign foo.lis to sys$output", but the combined
effect is less than perfect...
I could go on reminiscing about SINTRAN for quite a while, but I have
no doubt there are people reading this who know much more about it
than I (who never got past "power user" status).
Norsk Data (aka ND, aka Nord) were quite successful with their
hardware around 1980 - they sold a lot of ND100's to CERN to control
particle accelerators, and their 32-bit ND500 series could compete
favourably with VAXen before the advent of RISC machines. What amazes
me is that they could be so totally brain dead on the software side -
SINTRAN III may have been quite a good OS for small 16-bit minis in
the mid 70's, but it was definitely *not* adequate for 32-bit
superminis in the early 80's. The rest of the software was pretty
pathetic as well - they had a reasonably decent word processor called
NOTIS (some people at the physics department referred to this as "the
best editor ever made", which says rather more about them than about
NOTIS), and the Fortran compiler was quite good, but the rest is best
forgotten.
They did finally get a Unix version running on the 500 series
machines in the mid 80's, but IMAO that was at least five years too
late, and couldn't save the company. They're still in business, I
think, but in deep trouble.
BTW, does anybody know what SINTRAN actually means?
Magnus Olsson | \e+ /_
Dept. of Theoretical Physics | \ Z / q
University of Lund, Sweden | >----<
Internet: mag...@thep.lu.se | / \===== g
Bitnet: THEPMO@SELDC52 | /e- \q
Yeah, that's a nifty feature, but it's still a feature of a particular
application program (emacs), and *not* of the OS.
>Emacs: it's not just a text editor any more.
For many people, it's a shell. But it's not an OS - yet.
BTW, which version of emacs are you using? Our installation of GNU
emacs 18.55.2 (BSD) doesn't have that command.
I shouldn't comment on my own comments, but I now remember another OS
which had that: George VI on ICL 1900 machines allowed you to create
files with generation numbers, in the range 1-4095. For an OS written
in the 60s George was quite a bit ahead of its time, some of its
nicer features (like explicit user-based file protection) only appeared
in VMS as ACLs in the early 80's, and I think they've just appeared in
some Unixes.
One reason I remember the generation number scheme was that when you
logged in it created a file called B1B0 which was a sort of joblog. If two
people logged into the same account simultaneously the second user
was given a B1B0 file one generation number higher. I remember the day
some still-undiscovered user created a B1B0 file of generation 4095.
We couldn't work out why the modem hung up every time we tried to log
in, until an absolutely apoplectic system manager phoned our boss to
demand that we be immediately fired for crashing his machine three times
in an afternoon. It seems that 4095 + 1 = <smoke>
>
> Similar to VMS it had the feature that you could abbreviate commands
> as long as they sayed unique, but the command names usually had
> several parts separated by dashes and each part could be abbreviated.
> So "delete-user-files" could be written as "del-us-fi", and
> "copy-file" as "cop-fi" or even "co-fi".
Oh dear. I remember that. I really wish I didn't, SINTRAN had some very
'different' features.
>
> "copy-file" had also the very interesting property that the order of
> parameters was "copy-file <destination>,<source>"
Yes, that was one of them...
Are you saying it was only in VMS, or only in DEC OSes on various hardware?
--
Rich Alderson 'I wish life was not so short,' he thought. 'Languages take
such a time, and so do all the things one wants to know about.'
--J. R. R. Tolkien,
alde...@leland.stanford.edu _The Lost Road_
I think it was in all the DEC OSes which used Files-11 disks. RSX certainly had
it, although with subtle differences in things like the PURGE command. On
VMS, PURGE/KEEP=3 means 'keep the last three versions', but on RSX it means
'keep the current version, and up to three consecutive numbers back'.
If you had files with numbers ;6 ;4 and ;3, VMS will keep them all, RSX
will discard ;3.
I can't remember about RSTS/E
Some other versiong file systems come to mind - of course there is the
ITS convention - files had two 6 char names, if you made the second
filename numeric, you got versioning. name a file "foo >", and emacs
would write out foo 1 then foo 2, etc (filenames were packed into
memory in rad 40 or something similar - you had the letters, the
numbers and $ if I remember correctly. Directories were 1K 36 bit
words, and would hold 256 files - remember this was written in the
late 60's, the days of a washing machine sized 20mb drive so it wasn't
as bad an idea as it might appear from our perspective (rumor also has
it that RG (richard greenblat) wrote the file system in a single
marathon weekend hack)
All the decendents of the MIT lisp machines (LMI, TI, and (sorry RMS)
Symbolics) had versioning file systems. They also had soft delete,
inheritable retention counts, and a backup system that would tell you
what tape the file you wanted to retrive lived on. Some had access
control lists on a per file basis. The file system could link a
number of physical volumes into a single logical volume with load
balancing across the drives. The file access software even had a
logical pathname system that hid all the details of foreign file
systems from your program - thus your program could ask for
machine:dir1;dir2;dir3;foo-bar.baz.3, and if machine was a eunix box,
it would fire up NFS and ask for /machine/dir1/dir3/dir3/foo-bar.baz~3
if "machine" was a vms node, it would fire up dreknet, and ask for
machine"account password"::logical$disk:[dir1.dir2.dir3]foo_bar.baz;3
(is this lumpy or what)
if it lived on a MS-loss machine it would go "the big hand is on the
12, and the little hand...")
All of this seemed to be a bit too far ahead of the world - LMI is
dead (the alumni assoc holds an annual picnic), TI proably doesn't
make non military contract versions of the explorer, and Symbolics is
> I shouldn't comment on my own comments, but I now remember another OS
> which had that: George VI on ICL 1900 machines allowed you to create
> files with generation numbers, in the range 1-4095.
Oh, man, that brings back memories.
People used to constant forget about version numbers. I remember a
(math) grad student who was complaining about the system not letting
him create another file. A look at his directory showed one file. Not
a big one either, except that he had 197 versions of it around :-).
Anyway, talking about versioning file systems, the ex-Apollo's
DomainOS (a Unix look-alike) had a typed file system in which you
could tell the OS to version specific files. The Apollo Domain
Software Eng. Env. (DSEE) used to use this feature as the foundation
for its configuration management implementation.
Among today's Unixes, you can get a product called "ClearCase" from
Atria systems (I'm told they're a bunch of ex-Apollo types), which
creates a "versioned file system" that you can mount somewhat like
mounting an NFS file system. The server maintains a versioned object
base, and client systems mount the versioned object base and
transparently see versioned files (you can say access "somedir/foo"
and get a default version of foo, usually the latest, or you can
access "somedir/foo@@/main/branch/2" or something similar to get a
specific version).
> We couldn't work out why the modem hung up every time we tried to log
> in, until an absolutely apoplectic system manager phoned our boss to
> demand that we be immediately fired for crashing his machine three times
> in an afternoon. It seems that 4095 + 1 = <smoke>
Oh yeah, that brings back even more memories..
The version we had had 4MB of memory in two banks, with 20 users using
the system. Every so often, one of the banks would get "locked out" or
something by the OS, at which point the sys mgr would come running out
of his room pointing at users - "you, you, you and you - log off
immediately!" (a random set).
Oh yes, it had the worst editor on earth - a transcribing
line-oriented editor, in which you could only move forward (there was
no way to move backwards in the file - you had to abort the editing
session and start over). Arrghhh. "Ed" seemed like heaven compared to
it..
--
Shankar Unni E-Mail: sha...@sgi.com
Silicon Graphics Inc. Phone: +1-415-390-2072
>Oh dear. I remember that. I really wish I didn't, SINTRAN had some very
>'different' features.
>>
>> "copy-file" had also the very interesting property that the order of
>> parameters was "copy-file <destination>,<source>"
shades of the dreaded pip command of CP/M and DEC fame - this also was a
copy command which was pip <destination> <source>
Things like this make using more than one operating system at a time fun!!
Cheers
John
--
_--_|\ John Lamp, originating in Hobart, Tasmania
/ \ Phone: 002 23 1366 - Fax: 002 34 5685
\_.--._/ email: u73...@bruny.cc.utas.edu.au
v <-----------------------------------------------------
I agree that the PIP syntax seems backwards, but in all fairness, you
left out the equals sign. It's "PIP destination = source". It really
isn't much stranger than "x = 1".
--
Jay Rouman (j...@dexter.mi.org j...@ais.org)
It was also in Tops-20, derived from TENEX, which ran on the PDP-10. As well
as in ITS on the PDP-6 and PDP-10.
The front-end processor on a -20 was an 11/40, running a version of RSX-11M
called RSX-20F, so we had both the Twenex file system and FILES-11.
Actually, even longer ago, it was
pip dest <- source
where the left arrow was a valid character on KSR38s and other wild machines.
Daan Sandee san...@think.com
Thinking Machines Corporation
Cambridge, Mass 02142 (617) 234-5044
> >>Actually, even longer ago, it was
> >> pip dest <- source
> >>where the left arrow was a valid character on KSR38s and other wild machines.
> >
> >[...] about two thirds of our teletypes (ASR33's mostly) had the
> >back-arrow as the shift-O character.
>
> So, on those ASR-33's that *didn't* have the mutant shift-O, you would type
> pip dest _ source
If any of you is familiar with the SPL language on the old HP3000's,
it too used "<-" (the back-arrow, I mean) as an alternate assignment
operator in addition to ":=". It was quite popular in the early days
before people moved away from the old TTYs to more modern terminals.
Which meant that on later displays and printers one ended up reading
old code that looked like:
x _ x + 1;
(Shudder..) Worse, some of the *really* *crusty* old-timers continued
to write code like that, too..
(Another digression: the original X11 font called "variable" had a
back-arrow where one would expect an "_").
Yeah, back when I was programming on a PDP-10 in the early 70's, about two
thirds of our teletypes (ASR33's mostly) had the back-arrow as the shift-O
character. PIP was not the only thing that used it: I saw at least one
ALGOL variant that used it for assignment.
-tony
>>usual disclaimer<<
It still is, it's just that all these young whippersnappers insist on
writing it as "_".
--
Peter da Silva. <pe...@sugar.neosoft.com>.
`-_-' "Megölelted már ma a farkasodat ?"
'U` "Zure otsoa besarkatu al duzu gaur?"
Das kann nicht mein Zimmer sein, denn ich atme kein Ammoniak.
Yep. It was ugly.
(actually, prior to 1970 or so, I think that _ was the mutant shift O
character and <- was standard, though I'm not absolutely sure since before
working on the PDP-10 I did my typing on an 029 keypunch. Maybe someone
older than me can clarify this point :-) ).
-tony
When I started with the PDP-10, the model 33 teletypes had a left-arrow
key and it was used as described. But it became an under-score, and the
up-arrow became a caret. The caret isn't too far removed from up-arrow,
so up-arrow-C and the like was still acceptable, and is usually read as
"control-C" anyway. A print option to this effect was even called "arrow
mode".
But the underscore was unacceptable, so someone decided to use = as an
alternate character. Newer stuff dropped the underscore altogether, and
just use = (CP/M PIP).
Newer still systems just use <command> <input> <output> without
any separators at all, on the theory that it flows that way, so
you don't need it. (Also some systems used = as a separator in this order
which totally confuses one who switches.)
In my proprietary system for the PDP-8 (P?S/8) I allow a dual command syntax:
.PAL BAR<FOO or
.PAL FOO>BAR
The brackets "point" at the output side, so "FOO" is input and "BAR" is output
in both examples. You must supply either. IF there is no output, then:
.PAL FOO
is acceptable, but the only way to have output without input would be:
.PAL>BAR or
.PAL BAR<
DEC's OS/8 family generally uses the .PAL BAR<FOO variety only. Some versions
allow = as well as <. Originally it was intended to be the back-arrow
character, but when it became underscore, this was abandoned.
cjl
So, on those ASR-33's that *didn't* have the mutant shift-O, you would type
pip dest _ source
?!?
Seth "the Lesser"
Seth L. Blumberg \ Warning: This posting has been determined to cause
sl...@columbia.edu (play) \ cancer in laboratory animals. Therefore, please
se...@ctr.columbia.edu (work) \ do not let your white rat read it. Thank you.
> No one I know shares my opinions, least of all Columbia University. <
Would that have been SAIL, perhaps?
Huh. I'm an assistant system manager (read: work-study slave) here at
Columbia U. (in CTR, for all you locals), and I've just recently been learning
perl, where $_ is the default operand of a lot of commands, and @_ is the
array in which subroutine parameters are passed. D'you suppose Larry Wall
might've spent some time programming in SPL...?
Seth "the Lesser"
Seth L. Blumberg \ Warning: This posting has been determined to cause
sl...@columbia.edu (play) \ cancer in laboratory animals. Please make sure
se...@ctr.columbia.edu (work) \ that no white mice are allowed to read it.
> So, on those ASR-33's that *didn't* have the mutant shift-O, you would type
> pip dest _ source
> ?!?
For some strange reason, the X11 font called "variable" has a left arrow for
"_" and the up arrow for "^" (I think -- not sure about the caret). Shades
of the C64!
--
lrwx------ 1 aldavi01 emacsstu 9 Jun 6 12:43 .signature -> /dev/null
Unlikely, he'd surely adopted the SPL's usage of 's as word separators
in identifiers (instead of now-common underscores) :-)
It was great to write C'MON, DARLING in a parameters list :-)
--vadim
Ah, but he uses ' as the separator between a package name and the name of the
packaged variable. Does that count??
>--vadim
I don't think so. But you never know in these days of uncertainty... :-)
The closest I've come to SPL is that my boss at Seattle Pacific University,
John Kropf, used to work for HP. About the time I was taking a Cobol class
(in my defense, I should point out that I did nothing in the class
except read the IBM Cobol manual the night before the final, and got the
top score), we were discussing why Cobol used a verb like "perform", when
a shorter word like "do" would be much better. He told me that SPL (or maybe
some other HP-ish language) used "do". So I put it into a language I was
writing at the time called JAM (not to be confused with a completely
separate product of the same name what you see advertised nowadays). From
there "do" eventually made its way into Perl, although as a subroutine
call it is now deprecated.
$_ (and later, by analogy, @_ and _) were picked primarily for the pun
between "underline" and "underlying". Humor aside, this has some small
mnemonic value. Secondary considerations were that $_ is visually
quite distinctive, and that an initial underscore already conveys
strong feelings of magicalness to a C programmer.
Ambiguous Pronouncement of the Week:
Some analysts think they understand synthesis. Nobody else does.
Larry Wall
lw...@netlabs.com
> > PIP was not the only thing that used it: I saw at least one
> >ALGOL variant that used it for assignment.
>
> Would that have been SAIL, perhaps?
Yes.
-tony
The S language uses "<-" (not a back arrow, those two characters) as an
assignment. "_" is a valid substitute, so "x _ x + 1;" is correct.
----
"Oh Life's a Cabaret
Like Berlin, 1930,
All I crave is my escape" --Dead Kennedys, "Saturday Night Holocaust"
rgds-- TA (uucp: uunet!fed!m1tca00 | internet: m1t...@fed.frb.gov)
[implied disclaimer]
Tony
What do you get when you divide a Language by an OS?
Frank R. Borger - Physicist __ Internet: Fr...@rover.uchicago.edu
Michael Reese - Univ. of Chicago |___ Phone : 312-791-8075 fax : 567-7455
Center for Radiation Therapy | |_) _ I'ts a recession when your neighbor
| \|_) losses his job; it's a depression
"Birthplace of Softball" |_) when you loose yours. - H. Truman
>In article <BxK1p...@vcd.hp.com>, al...@vcd.hp.com (Anthony Long) writes...
>>...
>> What the hell, I'll vote for the fraction idea! But seriously,
>>when I ran this lie on my machine using a Universal Language/OS Cross-
>>Compiler ...
> What do you get when you divide a Language by an OS?
Why - the universal constant: C
--
Paul Tomblin, p...@geovision.gvc.com
(This is not an official opinion of GeoVision Systems Inc.)
"I need that trephination stuff like I need another hole in the head"
-- Kim L. Greer in alt.folklore.urban
And the original TRS-80 had a back arrow in place of the _. In fact, it had
a full set of arrows, replaced the [\]_ group. [ was an up arrow, and, of
course, Tandy's programmers used the up arrow for exponentetiation, so, instead
of saying (as in C) x**y to mean x to the power y, on the TRS-80 you said
X[Y (of course, that was an up arrow there! And the TRS-80 is uppercase only
(at least unmodified model I's))... Made things REAL interesting when the model
III came along with [\]_ instead of the four arrows....
> Shankar Unni E-Mail: sha...@sgi.com
--
Lamar Owen, Systems Consultant, GE Lighting Systems, Hendersonville, NC
***********************************************************************
Opinions expressed herein are the author's and do not reflect policy
or opinions of the General Electric Company or its subsidiaries.
***********************************************************************
Uh - which version of 'C' did you use? Perhaps one called 'IBM FORTRAN-G'?
Almost as bad as somebody I knew who said, when I told him I programmed in
C: "Oh I've heard of C - Structured Cobol, right?"!
--
Paul Tomblin - speaking from but not for GeoVision Systems Inc.
There are 2656 unread articles in 46 groups - don't you think you read too
much news?
Actually, not quite. Some of the earliest TRS-80s (e.g. mine, bought in
December 1977) had a char. generator with the [\]_ instead of the arrows.
Made the Basic exponentiation operator look not so pretty (i.e. instead of the
up-arrow you saw '['), but it was *awfully* nice when it became feasible to
run Small-C on the TRS-80.....
--
Richard Todd rmt...@uokmax.ecn.uoknor.edu rmt...@chinet.chi.il.us
rmt...@servalan.uucp New Improved Domain: rmt...@servalan.servalan.com
"If your terminal is on fire, unplug it." -- from an official USGS memo.
The original ASCII standard assigned the up-arrow to (octal) 136 and
the backarrow to (octal) 137. A revision to the ASCII standard sometime
in the late 1960s changed these to the caret and underscore, respectively.
Naturally, not everyone changed over immediately.
--
Phil Hees
he...@cubic.com
If I recall correctly, BLISS-10 used the back arrow for assignment.
SAIL is of approximately the same vintage.
--
Phil Hees
he...@cubic.com
Agreed. The first copy command I ever used was the PIP command on a
PDP-8, and it has always seemed the most natural syntax since the
assignment operator works the same way (right-to-left).
In addition, the standard C library routines use the same ordering.
For example:
strcpy(dest, source);
I always use the (dest [,dest], src [,src]) ordering for my own function
calls, and really get locked into this mindset, to the point that I often
find myself checking the man page to reassure myself that I am using the
correct order for the cp (Unix) or copy (VMS, DOS) commands.
--
Phil Hees
he...@cubic.com
| I always use the (dest [,dest], src [,src]) ordering for my own function
| calls, and really get locked into this mindset, to the point that I often
| find myself checking the man page to reassure myself that I am using the
| correct order for the cp (Unix) or copy (VMS, DOS) commands.
|
You are seriously deranged!
--
This signature is copyright 12/6/1992 Simon Oke. All rights reserved. If you
like it and keep a copy for your own use, you owe me $20. Please pass it on
to your friends with all documentation. Email ok...@essex.ac.uk.
----------------------------------------------------------------------------
80% of statistics are wrong.
What are some of the methods that individuals use to "get things out" of their
heads?
--Jason Balicki
ko...@mentor.cc.purdue.edu
>What are some of the methods that individuals use to "get things out" of their
>heads?
Easily done; Explain it to someone else so that they end up unable to
get it out of *their* heads.
Gavin.(Who spent two months with the "Wombles" theme tune in his head)
>--Jason Balicki
>ko...@mentor.cc.purdue.edu
--
------------------------------------------------------------------------------
"Huh?"
Gavin Doherty, Computer Science, Trinity College Dublin, gdoh...@unix1.tcd.ie
Bully for you.
>
>| I always use the (dest [,dest], src [,src]) ordering for my own function
>| calls, and really get locked into this mindset, to the point that I often
>| find myself checking the man page to reassure myself that I am using the
>| correct order for the cp (Unix) or copy (VMS, DOS) commands.
>|
>You are seriously deranged!
No, you are. Let him use whatever way he can consistently remember. I
could take you to task on the notion that just because you like copy
commands that go source -> destination doesn't make it "right" for any
other usage.
I started on systems that go the other way, such as TOPS10. I seldom had to
copy files, so that incidental usage was implemented consistently with the
rest of the command structure, which seemed fine at the time going as
destination <- source.
More recently I wrote my own proprietary system for the PDP-8 (with the
help of others) and made all relevant commands go both ways. You have to
use either < or > to make it clear which way you are using, unless there
is no destination in the command. Thus, a typical assembly might look like:
PAL BIN<SRC or
PAL SRC>BIN
Take your pick of what makes sense to you.
cjl
And yet another reason why I love VMS. Dunno of anyone pointed this out
yet, but if you give an incomplete command, DCL will prompt you for the
rest of the info. For instance:
$ copy
From: foo.bar
To: extreme_fooness.bar
Or:
$ copy foo.bar
To:
(of course, since I have the memory retention of a sieve, I may have the
prompts wrong, but you get the idea)
--
Billy D'Augustine az...@spatula.rent.com
No lord shall stand before myself.
>I always use the (dest [,dest], src [,src]) ordering for my own function
>calls, and really get locked into this mindset, to the point that I often
>find myself checking the man page to reassure myself that I am using the
>correct order for the cp (Unix) or copy (VMS, DOS) commands.
Zilog got it right (LoaD dest,src)
Motorola got it right (MOVE src,dest)
Intel got it wrong (MOVe dest,src)
You can have the operands either way around, but *please*, at least get the
name right. strcpy should be src,dest (copy THIS to THAT).
Oh dear. Is this called a religious issue?
John West
--
For the humour impaired: Insert a :-) after every third word
If you wake up with a fresh insight you can jot it on the same pad
and go back to sleep.
Mind you, its more fun to delegate the responsibility
(ie: take a secretary to bed ;)
Ciao,
Stu Savory
But you need to realise *why* strcpy is there.
strcpy(t, s)
is semantically equal in other languages to:
t := s;
That is, it is an assignment, and as such it should have its operands in the
same order as an assignment. Since strings in C are not a primative type,
but the assignment operator is still a requirement, strcpy is necessary.
Now I grant you it might have been better to call is strassign...
> Oh dear. Is this called a religious issue?
Yep.
Regards,
Phil.
--
_-_|\ Phil Kernick "Sleep all day,
/ \ University of Adelaide Party all night,
\_.-*_/ E-Mail: ph...@adam.adelaide.edu.au It's fun to be a
v Phone: +61 8 228 5914 Vampire!"