[net.cog-eng] A proposal

spaf@gatech.UUCP (Gene Spafford) (02/07/84)

I was looking through one of my archives on another system and
found the following.  I think there may be merit in the idea.
Anybody out there have any comments?

Begin Inserted Text:

# 366
From : PHIL REED                   To : USER FRIENDLIES
Subject : AN IDEA                Date : Wed. 12/09/81 10:56
Has anyone thought of grafting the pseudo-English parser of Zork
or other dungeon games onto a shell? Not only would it be a cheap
way to get the more natural syntax some people say they want,
it could provide a very amusing interface, and add glamour and
excitement to ordinary work:
 
% go to bin
you are in ~jon/bin. there are many files here.
% look
you are in ~jon/bin. the directory contains:
     date
     date.c
     readtape
     scramble
the only exit is up.
% use date to create tmp
done!
% take tmp
taken.
% open tmp
you open tmp to reveal:
     Tue. November 24, 1981 (2:00pm EST)
% take date.c
taken.
% look
you are in ~jon/bin. the directory contains:
     date
     readtape
     scramble
the only exit is up.
% inventory
you are carrying:
     date.c
     tmp
% goto src
you are in ~jon/src. there are many files here.
% drop date.c
dropped.
% throw tmp at printer
the printer catches your file, turns it into paper, and
leaves it in the basement.
% look
your are in ~jon/src. the directory contains:
     date.c
     scramble.c
     readtape.c
there are exits marked 'zshell' and 'secret'
as well as the path leading up.
% xyzzy
you are back in your home directory. there are many files here.
% run foo
the foo dumps core.
Oh dear! you seem to have gotten yourself killed.
% attack core with sdb
   .
   .
   .

(downloaded from the Original NorthStar BBS, run by Microstuf.)



End Inserted Text.

-- 
Off the Wall of Gene Spafford
The Clouds Project, School of ICS, Georgia Tech, Atlanta GA 30332
CSNet:	Spaf @ GATech		ARPA:	Spaf.GATech @ CSNet-Relay
uucp:	...!{akgua,allegra,rlgvax,sb1,unmvax,ulysses,ut-sally}!gatech!spaf

mauney@ncsu.UUCP (Jon Mauney) (02/08/84)

I am glad to see that my zshell proposal is still popular,
and has made it to all kinds of bulletin board systems.
However,  I notice that no credit is given to the author (me).
I wish that in the future people would give a short 
acknowledgment, such as:

	  This wonderful idea courtesy of
	  Jon (no middle name) Mauney
	  Assistant Professor of Computer Science
	  North Carolina State University
	  (who is available for consulting at
	   reasonable rates)

Thank you.
-- 

_Doctor_                           Jon Mauney,    mcnc!ncsu!mauney
\__Mu__/                           North Carolina State University

spaf@gatech.UUCP (Gene Spafford) (02/09/84)

I just got the following note in my mail; I believe in giving credit
where credit is due.

>    The original version of the 'adventure shell' proposal came from Jon
>    Mauney (sp?), while he was at the Univ. of Wisconsin.  (That's why the
>    directory used is "~jon".)  The article appeared in Human-Nets Digest. 
>    Jon is now at North Carolina State Univ. as a professor; ncsu!mauney.
>    
>    A version of this shell has recently been implemented by Barry Kircheval
>    (sp?), zehntel!barry.
>    
>    	Paul Lustgarten

>    	AT&T Bell Laboratories, Short Hills, NJ
>    	hlexa!pcl
>    
-- 
Off the Wall of Gene Spafford
The Clouds Project, School of ICS, Georgia Tech, Atlanta GA 30332
CSNet:	Spaf @ GATech		ARPA:	Spaf.GATech @ CSNet-Relay
uucp:	...!{akgua,allegra,rlgvax,sb1,unmvax,ulysses,ut-sally}!gatech!spaf

fair@dual.UUCP (Erik E. Fair) (02/13/84)

Actually, that's

Berry Kercheval
{ucbvax,ihnp4,tektronix,hplabs}!zehntel!berry

OK? (Paul, you should know better!)

	Erik E. Fair

	dual!fair@BERKELEY.ARPA
	{ucbvax,ihnp4,cbosgd,amd70,zehntel,fortune,unisoft,onyx,its}!dual!fair
	Dual Systems Corporation, Berkeley, California

berry@zehntel.UUCP (02/28/84)

#R:gatech:-383600:zinfandel:21200001:000:5415
zinfandel!berry    Feb 15 10:27:00 1984

OK, I guess it's time for me to come out of the closet (no, not THAT kind
of closet, this isn't net.motss... :-) and reveal the truth about my
implementation of Jon Mauney's adventure/zork shell idea.  I asked about
it at UniForum to find out who thought it up so I could give proper
credit, and the cat's now out of the bag.  I have received three requests
for distribution kits so far -- only three because our modems have
been flakey again lately.

I first read his article in (I believe) Human-Nets, and found it 
interesting, if a bit silly.  It fermented in the back of my mind for
a while until Mark Wittenberg got the Concurrent Euclid package from
U of Toronto.  He rewrote the Euclid parser-generator 'S/SL' in C,
and, I think, will talk about it in Salt Lake City (but don't quote me)
I thought it looked neat (it's a LOT faster than YACC!) and cast about for
a 'small' project that could use it, strictly as an educational project 
for myself.  Guess what I picked.

I cannot redistribute S/SL without Mark's permission, so I cannot distribute
'ash' (as I call it) in a form in which you can modify the parser, but I can
distribute the parse-table interpreter, and the rest of MY code.  It has never 
run on anything but a VAX with 4.1bsd, but should port cleanly.  It needs the
new directory stuff hacked in, I will probably do this before releasing it.
S/SL and the parse table interpreter have run on 11's with and without 
overlays, Vaxen, z8000 and 68000's.  The current source is about 500 1k
blocks, so I would rather not post it to net.sources.  Interested parties
should either send me a tape or write or call to arrange a one-time
uucp feed (YOU pay the phone bill!).  

I am not entirely satisfied with the performance of 'ash' -- syntax error 
recovery leaves something to be desired.  This is strictly 'as is'.  I was
internding to submit a paper to the summer Usenix and submit this for
the tape -- I may yet.

I make NO warranties, express or implied, as to the merchantibility or fitness 
for any purpose of this software, and expressly disclaim all responsibility for
any damages, actual, physical or virtual, done by using this software.  This
software is to be considered in the public domain and may not be redistributed
for commercial advantage unless I get a cut.  (and Jon too, what the heck.)
Noncommercial distribution is OK, if you leave the credits for Jon and
myself intact.

This program has actually been successfuly run as a login shell -- installed
in a user's '/etc/passwd' line and everything.

OK, now here is an actual session with 'ash', lightly edited to change 
filenames to preserve my privacy.  No other editing was done:


Script started on Wed Feb 15 10:12:32 1984
Warning: no access to tty; thus no job control in this shell...
Zin 1$ ash
Welcome to Zehntel Adventure UN*X

This wonderful idea courtesy of Jon (no middle name) Mauney
Assistant Professor of Computer Science
North Carolina State University
(who is available for consulting at reasonable rates)

This implementation courtesy of Berry Kercheval, who is 
available for consultation at unreasonable rates

You are in /cc/berry, a large directory.  There are many files here.
look
You are in /cc/berry.
There is a directory net here.
There is a file CLU here.
There is a file mbox here.
There is a directory src here.
There is a directory admin here.
There is a directory sys here.
There is a directory bbk here.
There is a directory bin here.
There is a directory post_office here.
There is a file uucp-project here.
There is a directory path here.
There is a directory routes here.
There is a directory UNET here.
There is a directory news here.
There is a file ar.out here.

take ar.out

GRUNT!					;The  grunt indicates the file was large
You have an ar.out.
up

You are in /cc.  There are many files here.
up

You are in /, a large directory.  There are many files here.
go to tmp

You are in /tmp.  There are many files here.
inventory

you are carrying:
   an ar.out
drop ar.out

You have dropped an ar.out.		;permissions are restored correctly
Whew!  That one was heavy!
look

You are in /tmp.
There is a file Ex25262 here.
There is a file Rx25262 here.
There is a file ,RCSt1025474 here.
There is a file nf24053 here.
There is a file ctm164234 here.
There is a file nfxmit19601 here.
There is a file ctm055275 here.
There is a file Ex25375 here.
There is a file Rx25375 here.
There is a file ,RCSci025474 here.
There is a file ar.out here.

kill ar.out

The ar.out vanishes in a puff of greasy black smoke.
goto /etc

You are in /etc, a large directory.  There are many files here.
kill passwd

The passwd deftly parries an almost certain mortal blow.	;Can't kill
								;this one!
home

You are in /cc/berry, a large directory.  There are many files here.
goto src/ash

You are in /cc/berry/src/ash, a large directory.  There are many files here.
attack ash with make			;you can remake ash inside itself --
					;actually do 'useful' work!

'ash' is up to date
Attack succeeded!

quit

You scored 14 points.  You are obviously a rank amateur.
To become a hacker you need another 42 points.
Zin 2$ 
script done on Wed Feb 15 10:15:29 1984

And of course, my address:

	Berry Kercheval
	Zehntel Inc.
	2625 Shadelands Drive
	Walnut Creek, CA 94598
	(415)932-6900
	ihnp4!zehntel!berry

(mail directed to zehntel!barry will be forwarded properly...)
Please include return postage with tapes.