	University of Oklahoma Miscellaneous

This directory contains two C programs and two subdirectories
of possibly general interest.  They are distributed with the only
proviso that the author credits and copyright notices stay intact.
They can be redistributed to anyone (licensed Unix installation) 
who agrees to these provisions.  The University of Oklahoma can
of course assume no liability whatsoever regarding the correctness
or suitability of the programs, and transport of these materials
requires the users to hold the authors in the same stead.

What that out of the way, the following describes the files.

gin -- a directory containing a program which plays a reasonable
	game of gin.  Has some explanatory text which shows
	how it displays hands and interprets them.  

homework.c -- a program implementing a "slot in the door" through
	which students can submit homework to be graded.  It is
	very necessary on a system like OU's which has 16-bit
	uid's at the expense of gid's, but if one thinks carefully,
	the group stuff does not really solve the problem either.
	The program must run suid-root but is very, very careful
	about doing ill-advised things.  The program is somewhat
	dependent on the way we structure the filesystem containing
	course-related accounts, but the only real restriction
	is that the destination directories have a full pathname
	computable independently from anything it gets told.
	We use it heavily and the instructors like it.  If it can't
	be used as is, the general model might be useful.

newid.c -- this is a program which provides "fill-in-the-blanks"
	prompting for data collection from unskilled persons
	to drive our account-generation programs.  This is certainly
	the most site-dependent, but the output of the program is
	fairly general and can probably be adapted to drive whatever
	you use to make many accounts at a time.  It currently outputs
	the initial password the same as the user-id, which we
	found was a very bad idea.  Our account generation program
	now generates an initial password by "crypt()"ing the
	current time-of-day several times.  This makes them good
	and non-guessable, but hard to remember. People probably
	change them to something obvious, but we warn them.  All
	this means is that the initial password field output is
	really not used and it is still there because we are too
	lazy to change it.

rm03driver -- this directory contains an rm03 driver which we
	have been using about 8 months now with no problems.
	There is a lot of stuff in it which is specific to
	the version of the Purdue kernel which we run, but
	most of it goes away via undefined defines.  It does
	not do ecc processing, which would be useful, because
	I have good packs and not enough time to do what must
	be done, much less what should be done.  If someone 
	improves the error recovery, adds ecc, or makes some
	other major improvement, (like multiple request lists
	for multiple drive, etc.) I should like a copy back.
	I have 2 rm03 drives on my system, but each has its
	own rh70, so I simply have two copies of the driver,
	one created by an editor script which changes all the
	"hm"'s to "hn"'s and of course, the CSR address.
	This works well and was easy to do.

setup -- this file does two mkdirs to allow tp to recover the stuff


That about does it.  Questions and comments can be directed to

	Mike O'Dell, Coordinator
	Engineeering Computer Network
	Engineering Center
	University of Oklahoma
	202 West Boyd, Room 107
	Norman, OK  73019

	Phone (405) 325-5370
	Unix dialup: (405) 325-5371
		Note: EVEN parity, 300,150, or 110 baud
		login: guest
		password: external
		send mail to: ecnstaff, mo, suz, or (last resort) root

	I am usually on ttyw, default line kill is at-sign,
	default character kill is control-U.

