[net.unix-wizards] CACM Article on Unix Consultant System

gwyn@BRL-VLD.ARPA (06/18/84)

From:      Doug Gwyn (VLD/VMB) <gwyn@BRL-VLD.ARPA>

By "rm *" the authors meant an actual asterisk character.  However,
this example was meant to illustrate the pitfalls of a naive user
interface.  This example makes sense in the context of the original
article, which you should read rather than guess about.

jer%vanderbilt.csnet@CSNET-RELAY.ARPA (06/18/84)

From:      Eric Roskos <jer%vanderbilt.csnet@CSNET-RELAY.ARPA>

In Ygal Arens and Martin R. Lyons' recent comments on a June CACM article
about the Unix Consultant system, it is my impression that the original
article may be misinterpreting the message given by the hypothetical
program NI.

The present debate centers around the fact that when a user tells the con-
sultant system "I need some more file space," the program replies
"type   rm *".

What this really reflects is one of the fundamental problems with natural
language recognition: even human beings have problems with the ambiguity
of the language.  Suppose I were writing a reference manual for some hypo-
thetical Unix utility, and I wrote

	The spooler's temporary files are named [lcd]f[ABC]splfile.

Would you think the name of the file was "[lcd]f[ABC]splfile"?  What I
meant to say was that the files may be named

	lfAsplfile
	cfAsplfile
	cfBsplfile

etc.  (In fact, maybe I meant "splfile" to be replaced by some other
string which is not expressible in the language I am trying to use, as well.)

My point is that I think the message "type   rm *" meant "type rm followed
by some valid filename".  Of course, this does not free the program from
blame; the naive user could make the same mistake the naive language recog-
niser is accused of making, and type the string literally, deleting everything
in his directory (unless the directory was so big he ran out of space to
expand the * prior to invoking rm, of course).

Where human beings recover from this error is either by prompting for clar-
ification ("You don't seriously mean for me to use a *, do you?") or, and
this is indeed a possibility, by observing the user start to delete his
entire directory and shouting "WAIT! Don't do that, I meant...".

However, since the article speaks in terms of a hypothetical language NI, it
is not clear whether the author accidentally used a notation that produced
this interesting ambiguity, or whether some actual program was misinterpreted
as doing so.

				-- J. Eric Roskos
				   Vanderbilt University

mats@dual.UUCP (Mats Wichmann) (06/27/84)

Just a quick note to avoid further confusion - the name of the program
is `UC', which *stands* for UNIX Consultant. UNIX Consultant is not the
actual name.  There is a company (Elite Corp.) that makes a couple of UNIX 
System boxes named Consultant I and Consultant II (one is 16032-based, the 
other has a 32032). They probably have the name trademarked, although
who knows..

	    Mats Wichmann
	    Dual Systems Corp.
	    ...{ucbvax,amd70,ihnp4,cbosgd,decwrl,fortune}!dual!mats