[net.unix] INFO-UNIX Digest V1#116

Fbrown@usarec-2.ARPA (07/30/85)

Please remove Fbrown@MICOM from the INFO-UNIX mailing list.

dbercel@ucb-vax.ARPA (07/31/85)

From unix-wizards-request@BRL-TGR.ARPA Tue Jul 30 20:43:00 1985
Received: from sun.uucp by sunshine.sun.uucp (4.24/3.14)
	id AA18140; Tue, 30 Jul 85 20:42:47 pdt
Received: by sun.uucp (3.0DEV4/SMI-1.2)
	id AA06899; Tue, 30 Jul 85 20:36:00 PDT
Received: from BRL-TGR.ARPA (brl-tgr.arpa.ARPA) by UCB-VAX.ARPA (4.24/5.3)
	id AA05514; Tue, 30 Jul 85 19:31:34 pdt
Message-Id: <8507310231.AA05514@UCB-VAX.ARPA>
Received: from brl-tgr.arpa by TGR.BRL.ARPA id a011690; 30 Jul 85 4:47 EDT
Date:       Tue, 30 Jul 85 04:46:50 EST
From: The Moderator (Mike Muuss) <Info-Unix-Request@BRL.ARPA>
To: INFO-UNIX@BRL.ARPA
Reply-To:   INFO-UNIX@BRL.ARPA
Subject:    INFO-UNIX Digest  V1#116
Status: R

INFO-UNIX Digest          Tue, 30 Jul 1985              V1#116

Today's Topics:
                Re: Disillusionment with Usenix tutorial
                              Xinu anyone?
                    Sendmail queuing bugs revisited
                            database systems
                              C-64 -> UNIX
     Re: Ken Arnold Curses "primer" - Here's uuencode/decode source
     Wanted: information (and cassette) for booting 4.2 on VAX 725
                          Re: unix file system
            Re: Wanted: Ultra-fast fortran compiler for UNIX
                         Re: International UNIX
              Results of query for fast fortran under UNIX
            Re: Wanted: Ultra-fast fortran compiler for UNIX
                     Re: Ken Arnold Curses "primer"
            Re: Wanted: Ultra-fast fortran compiler for UNIX
 cursor sensing in termcap (Re: dam (draughts, continental checkers...
-----------------------------------------------------------------

From: rpk@ecsvax.UUCP (Richard Kelley)
Subject: Re: Disillusionment with Usenix tutorial
Date: 27 Jul 85 19:36:32 GMT
To:       info-unix@brl-tgr.arpa


(the following are only my opinions. )

If you can say anything about the tutorials put on by Usenix it is that
they vary wildly in sophistication.  At the Dallas meeting for example
I signed up for a course in System Admin that was taught by an ill-prepared
instructor that rambled on and on and never said anything of use to real-life
system admin.  I found out that he had never done any real system
administration and that he wasn't going to address issues such as security
backups, staffing, and user admin except in general terms ("security is
important, you should consider it...backups are important, try to do them,...
etc, etc).  I left this foolishness and changed my ticket to an Advanced
Shell Programming course taught by Mark Sobel that was very interesting
and professionally done. 

Moral: Usenix doesn't appear to screen the instructors so you should.  I
haven't attended any since that I haven't talked with the instructor
beforehand.  The amount of money wasted is trival -- the time is anything
but.

#include <disclaim>    /* does your system have this file ?  */


       -Dick                                       --- ecsvax!rpk
                                                  /
USENET: {decvax, ihnp4, the_known_world}!mcnc! ---                      --- root
                                                  \                    /
                                                   --- rti-sel!flan ---
                                                                       \
                                                                        --- rpk
ARPA: decvax!mcnc!ecsvax!rpk@BERKELEY

-----------------------------

From: jr@sesame.UUCP (Jim Rosenberg)
Subject: Xinu anyone?
Date: 28 Jul 85 05:12:42 GMT
To:       info-unix@brl-tgr.arpa

My news address is somewhat unstable, so please excuse if this question was
just answered on the net.  I seem to recall someone asking about Xinu a few
weeks back.  I would like to get in touch with anyone hacking Xinu.  I
understand that there is a tape with the source code available, but you need a
Unix source license (which I don't have) because the cross-development tools
have AT&T code in them.  Does anyone have a machine readable form of just the
published code?  Am particularly interested in a port to the 8086 instruction
set.
     Is there such a thing as a Xinu users group?  Any interest in one?  I'm
intrigued by the idea of somehow making Xinu and MS-DOS co-resident in some
fashion -- and just using the native DOS file system as is.  If anyone is
doing this I'd love to be in touch.
     If you know where I can get the Xinu code, or just want to correspond,
please reply by uucp-mail to the address below because I read news on
out-of-town machines by long distance.  Thanks.

 Jim Rosenberg
 Voice: (412) 785-2806
 uucp: {decvax!idis,allegra}!pitt!amanuen!jr
 CIS: 71515,124
 USsnail: R. D. #1 Box 236, Grindstone, PA 15442

-----------------------------

From: dave@uwvax.UUCP (Dave Cohrs)
Subject: Sendmail queuing bugs revisited
Date: 28 Jul 85 16:22:02 GMT
To:       info-unix@brl-tgr.arpa

[ Last week I sent this to unix-wizards alone and got no responses.  So, don't
be shy, send in your fixes!  I won't mind if I get 50 copies of the fix. ]

A long (and I mean long) time ago mods were posted for sendmail which
fixed a problem where sendmail threw away some messages when it was
sending them from it's queue.  At the time it didn't look like we had this
problem, and I assumed that our version already had the fix.  Unfortunatly,
we have the problem now, and, especially on my SLOWWW microvax, I need the
queueing feature working.  Could someone send me the fix?  Thanks.

-- 
Dave Cohrs
(608) 262-1204
 ...!{harvard,ihnp4,seismo,topaz}!uwvax!dave
dave@wisc-romano.arpa

-----------------------------

From: massar@think.ARPA (JP Massar)
Subject: database systems
Date: 28 Jul 85 14:06:11 GMT
To:       info-unix@brl-tgr.arpa

Could someone mail me a list of reasonable database systems along
with companies' names and addresses or phone numbers that run        
under Unix?  If anyone knows of a system that runs both under Unix
and VMS that would be helpful also.

By reasonable I mean pretty complete, with naive-user interface,
C and/or other language interfaces, forms data entry package, security...

Recommendations are also welcome.  I will summarize.
Thanks.
-- 
-- JP Massar, Thinking Machines Corporation, Cambridge, MA
-- mit-eddie!godot!massar, ihnp4!godot!massar, massar@think, massar@cca-unix

-----------------------------

From: mrs@hlwpc.UUCP (M.R. Shilling)
Subject: C-64 -> UNIX
Date: 26 Jul 85 18:46:22 GMT
To:       info-unix@brl-tgr.arpa

I would like to communicate as a UNIX user from a Commodore 64 computer system  (1 disk drive, 1 printer, and the Commodore itself).  I welcome any information  which will help me accomplish this task, including terminal software, modems,  80-character s
reen cards, RS-232 interfaces (if needed by the modem) and any   other information which would be helpful.
                                         Mike Shilling
                                         hlwpc!mrs

-----------------------------

From: wcs@ho95e.UUCP (x0705)
Subject: Re: Ken Arnold Curses "primer" - Here's uuencode/decode source
Date: 26 Jul 85 22:12:26 GMT
To:       info-unix@brl-tgr.arpa

##> I'm really glad that this primer was posted.  Now how about someone posting
##> (or mailing) uuencode/uudecode for those of us who don't have them and would
##> like to read this thing?
# Here you go - it's in shar format, so delete everything before the cut line.
# Then run /bin/sh on the file
#############  ---- Cut here --- #######
#!/bin/sh
cat >uuencode.c <<EOF
#ifndef lint
static char sccsid[] = "@(#)uuencode.c	5.1 (Berkeley) 7/2/83";
#endif

/*
 * uuencode [input] output
 *
 * Encode a file so it can be mailed to a remote system.
 */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>

/* ENC is the basic 1 character encoding function to make a char printing */
#define ENC(c) (((c) & 077) + ' ')

main(argc, argv)
char **argv;
{
	FILE *in;
	struct stat sbuf;
	int mode;

	/* optional 1st argument */
	if (argc > 2) {
		if ((in = fopen(argv[1], "r")) == NULL) {
			perror(argv[1]);
			exit(1);
		}
		argv++; argc--;
	} else
		in = stdin;

	if (argc != 2) {
		printf("Usage: uuencode [infile] remotefile\n");
		exit(2);
	}

	/* figure out the input file mode */
	fstat(fileno(in), &sbuf);
	mode = sbuf.st_mode & 0777;
	printf("begin %o %s\n", mode, argv[1]);

	encode(in, stdout);

	printf("end\n");
	exit(0);
}

/*
 * copy from in to out, encoding as you go along.
 */
encode(in, out)
FILE *in;
FILE *out;
{
	char buf[80];
	int i, n;

	for (;;) {
		/* 1 (up to) 45 character line */
		n = fr(in, buf, 45);
		putc(ENC(n), out);

		for (i=0; i<n; i += 3)
			outdec(&buf[i], out);

		putc('\n', out);
		if (n <= 0)
			break;
	}
}

/*
 * output one group of 3 bytes, pointed at by p, on file f.
 */
outdec(p, f)
char *p;
FILE *f;
{
	int c1, c2, c3, c4;

	c1 = *p >> 2;
	c2 = (*p << 4) & 060 | (p[1] >> 4) & 017;
	c3 = (p[1] << 2) & 074 | (p[2] >> 6) & 03;
	c4 = p[2] & 077;
	putc(ENC(c1), f);
	putc(ENC(c2), f);
	putc(ENC(c3), f);
	putc(ENC(c4), f);
}

/* fr: like read but stdio */
int
fr(fd, buf, cnt)
FILE *fd;
char *buf;
int cnt;
{
	int c, i;

	for (i=0; i<cnt; i++) {
		c = getc(fd);
		if (c == EOF)
			return(i);
		buf[i] = c;
	}
	return (cnt);
}
EOF
###########################################
cat >uudecode.c <<EOF
#ifndef lint
static char sccsid[] = "@(#)uudecode.c	5.1 (Berkeley) 7/2/83";
#endif

/*
 * uudecode [input]
 *
 * create the specified file, decoding as you go.
 * used with uuencode.
 */
#include <stdio.h>
#include <pwd.h>
#include <sys/types.h>
#include <sys/stat.h>

/* single character decode */
#define DEC(c)	(((c) - ' ') & 077)

main(argc, argv)
char **argv;
{
	FILE *in, *out;
	struct stat sbuf;
	int mode;
	char dest[128];
	char buf[80];

	/* optional input arg */
	if (argc > 1) {
		if ((in = fopen(argv[1], "r")) == NULL) {
			perror(argv[1]);
			exit(1);
		}
		argv++; argc--;
	} else
		in = stdin;

	if (argc != 1) {
		printf("Usage: uudecode [infile]\n");
		exit(2);
	}

	/* search for header line */
	for (;;) {
		if (fgets(buf, sizeof buf, in) == NULL) {
			fprintf(stderr, "No begin line\n");
			exit(3);
		}
		if (strncmp(buf, "begin ", 6) == 0)
			break;
	}
	sscanf(buf, "begin %o %s", &mode, dest);

	/* handle ~user/file format */
	if (dest[0] == '~') {
		char *sl;
		struct passwd *getpwnam();
		char *index();
		struct passwd *user;
		char dnbuf[100];

		sl = index(dest, '/');
		if (sl == NULL) {
			fprintf(stderr, "Illegal ~user\n");
			exit(3);
		}
		*sl++ = 0;
		user = getpwnam(dest+1);
		if (user == NULL) {
			fprintf(stderr, "No such user as %s\n", dest);
			exit(4);
		}
		strcpy(dnbuf, user->pw_dir);
		strcat(dnbuf, "/");
		strcat(dnbuf, sl);
		strcpy(dest, dnbuf);
	}

	/* create output file */
	out = fopen(dest, "w");
	if (out == NULL) {
		perror(dest);
		exit(4);
	}
	chmod(dest, mode);

	decode(in, out);

	if (fgets(buf, sizeof buf, in) == NULL || strcmp(buf, "end\n")) {
		fprintf(stderr, "No end line\n");
		exit(5);
	}
	exit(0);
}

/*
 * copy from in to out, decoding as you go along.
 */
decode(in, out)
FILE *in;
FILE *out;
{
	char buf[80];
	char *bp;
	int n;

	for (;;) {
		/* for each input line */
		if (fgets(buf, sizeof buf, in) == NULL) {
			printf("Short file\n");
			exit(10);
		}
		n = DEC(buf[0]);
		if (n <= 0)
			break;

		bp = &buf[1];
		while (n > 0) {
			outdec(bp, out, n);
			bp += 4;
			n -= 3;
		}
	}
}

/*
 * output a group of 3 bytes (4 input characters).
 * the input chars are pointed to by p, they are to
 * be output to file f.  n is used to tell us not to
 * output all of them at the end of the file.
 */
outdec(p, f, n)
char *p;
FILE *f;
{
	int c1, c2, c3;

	c1 = DEC(*p) << 2 | DEC(p[1]) >> 4;
	c2 = DEC(p[1]) << 4 | DEC(p[2]) >> 2;
	c3 = DEC(p[2]) << 6 | DEC(p[3]);
	if (n >= 1)
		putc(c1, f);
	if (n >= 2)
		putc(c2, f);
	if (n >= 3)
		putc(c3, f);
}


/* fr: like read but stdio */
int
fr(fd, buf, cnt)
FILE *fd;
char *buf;
int cnt;
{
	int c, i;

	for (i=0; i<cnt; i++) {
		c = getc(fd);
		if (c == EOF)
			return(i);
		buf[i] = c;
	}
	return (cnt);
}

/*
 * Return the ptr in sp at which the character c appears;
 * NULL if not found
 */

#define	NULL	0

char *
index(sp, c)
register char *sp, c;
{
	do {
		if (*sp == c)
			return(sp);
	} while (*sp++);
	return(NULL);
}
EOF
#######################
cat <<!
About to do wc uuencode.c uudecode.c
Answers should be:
    184    513   2949 uudecode.c
    109    310   1707 uuencode.c
    293    823   4656 total
Word count really is:
!
wc uudecode.c uuencode.c 
##################
echo Ignore any other stuff it prints
-- 
## Bill Stewart, AT&T Bell Labs, Holmdel NJ 1-201-949-0705 ihnp4!ho95c!wcs

-----------------------------

From: narten@CS-Mordred (Thomas Narten)
Subject: Wanted: information (and cassette) for booting 4.2 on VAX 725
Date: 26 Jul 85 20:16:03 GMT
To:       info-unix@brl-tgr.arpa

I am looking for information (and hopefully a cassette) that can be used to
get 4.2 running on a VAX 725.  If anyone has had any experience with 725s
I would like very much to hear from you.  

Thomas Narten
(317) 494-7768

{ decvax, icalqa, inuxc, sequent, uiucdcs  } !pur-ee!purdue!narten
{ decwrl, hplabs, ihnp4, icase, psuvax1, siemens, ucbvax } !purdue!narten

narten@purdue.ARPA

-----------------------------

From: alb@alice.UUCP (Adam L. Buchsbaum)
Subject: Re: unix file system
Date: 26 Jul 85 13:46:16 GMT
To:       info-unix@brl-tgr.arpa

One's spine shivers at the thought of putting utility/program/etc
support into the kernel itself.  

-----------------------------

From: ark@alice.UUCP (Andrew Koenig)
Subject: Re: unix file system
Date: 26 Jul 85 15:17:20 GMT
To:       info-unix@brl-tgr.arpa

> Some of us at Digital think we have found a basic problem with the  UNIX
> file  system  for FORTRAN.  The problem is that there is no place to put
> various kinds of information about  the  contents  of  the  file.

The place to put information about the contents of the file
is in the file itself.

If you are unmoved by that philosophical argument, consider this:

If you expand Unix files to include additional information that is
not really part of the file, will that information be copied automatically
if you use "cp" to copy the file?  Any answer causes problems.

If the answer is "no," the information isn't really useful.
If it is "yes," then you must rewrite "cp."  You must also rewrite
"cat," because I can copy a file by saying      cat a >b .  You will
find that you must also rewrite dozens of other commands, as well
as writing many new ones.

-----------------------------

From: pavlov@hscfvax.UUCP (840033@G.Pavlov)
Subject: Re: Wanted: Ultra-fast fortran compiler for UNIX
Date: 29 Jul 85 02:30:55 GMT
To:       info-unix@brl-tgr.arpa


 Fortran (unfortunately ?) is important to us; we've looked at Fortran execu-
 tion times closely on our Sys III derivative, compared to BSD 4.2, Tops 20,
 and VAX VMS. 
 
 The primary problems are most definitely in the math libraries. A loop such
 as
    DO .....

     j = j+k
     r = a*b
       ......

will stay within the 30% performance range mentioned previously. But insert
cos(), atan(), etc, and Unix Fortran slows to a crawl.

I/O isn't much better .................


  greg pavlov, FSTRF, Amherst, N.Y.

-----------------------------

From: zap@ttds.UUCP (Svante Lindahl)
Subject: Re: International UNIX
Date: 25 Jul 85 19:18:57 GMT
Keywords: Internationalization
To:       info-unix@brl-tgr.arpa

["For you, for you, for you, I came for you" -- Bruce Springsteen, "For you"]

In article <93@decvax.UUCP> minow@decvax.UUCP (Martin minow) writes:
>Keld Joern Simonsen suggests, probably with tongue in cheek,
>that C would be a useful programming languge if only European users
>could use their full national character set in identifiers.
>
>To my knowledge, no commercially available computer language --
>including a few developed in Scandinavia such as Algol 60 (for
>Trask and Besk), Algol-Genius (for the Datasaab machines) and
>Simula (for Dec PDP10s) permit national letters in variable
>names, so the marketplace hasn't exactly mandated their inclusion.

The PDP-10 Simula compiler does allow the lowercase national
characters { (a w/ umlaut, :a), | (o w/ umlaut, :o) and }
(a with a circle on top, Oa).

>Martin Minow (fil.kand. Stockholms Universitet)
>decvax!minow

Svante Lindahl (fil.kand. Stockholms Universitet)

-- 
Svante Lindahl, NADA, KTH (Dept of Numerical Analysis and Computer Science 
			   at the Royal Institute of Technology)
UUCP:	{decvax,philabs,seismo}!{mcvax,ukc,unido}!enea!ttds!zap
ARPA:	mcvax!enea!ttds!zap@seismo.ARPA
or 	Svante_Lindahl_NADA%QZCOM.MAILNET@MIT-MULTICS.ARPA

-----------------------------

From: richmon@astrovax.UUCP (Michael Richmond)
Subject: Results of query for fast fortran under UNIX
Date: 28 Jul 85 16:15:19 GMT
To:       info-unix@brl-tgr.arpa


  About three weeks ago, I posted a message asking whether anyone knew
of a fortran compiler that would run under 4.2 BSD on a VAX and was faster
than the standard f77. I have received no positive responses, which seems
quite puzzling: here at astrovax, and at many other places, there is great
demand for such a product. About all I did learn, and it can be taken as
either good news or bad news, is that f77 runs about 20-30% slower than
the VMS compiler, a "fast" one.
  If, on the other hand, the Obfuscated Fortran Company puts out a compiler 
that blows the doors off f77, please let me know - I'd love to be proved
wrong.

-- 
Michael Richmond			Princeton University, Astrophysics

{allegra,akgua,burl,cbosgd,decvax,ihnp4,noao,princeton,vax135}!astrovax!richmon

-----------------------------

From: richmon@astrovax.UUCP (Michael Richmond)
Subject: Re: Wanted: Ultra-fast fortran compiler for UNIX
Date: 29 Jul 85 03:41:08 GMT
To:       info-unix@brl-tgr.arpa

>
>Now I really understand the motivation behind the original
>posting.  The only one I know about for unix is Green
>Hills.  They have C, Pascal, ForTran (and P/LM?) for
>assorted machines especially unix VAXen.
>
>Doug Freyburger		DOUG@JPL-VLSI, DOUG@JPL-ROBOTICS

  sorry, but in the course of my search I called up Green Hills. Although
they advertise such a compiler, or seem to, anyway, I was told that
they had nothing of the sort for market now. Any other ideas?
 

-- 
Michael Richmond			Princeton University, Astrophysics

{allegra,akgua,burl,cbosgd,decvax,ihnp4,noao,princeton,vax135}!astrovax!richmon

-----------------------------

From: kvk@ihlpm.UUCP (Kevin)
Subject: Re: Ken Arnold Curses "primer"
Date: 24 Jul 85 22:20:26 GMT
To:       info-unix@brl-tgr.arpa

> I'm really glad that this primer was posted.  Now how about someone posting
> (or mailing) uuencode/uudecode for those of us who don't have them and would
> like to read this thing?
> 

I also need uudecode to read the primer and would appreciate a copy. Thanks.

					Kevin Kinder
					!ihlpm!kvk

-----------------------------

From: doug@escher.UUCP (Douglas J Freyburger)
Subject: Re: Wanted: Ultra-fast fortran compiler for UNIX
Date: 28 Jul 85 00:38:51 GMT
To:       info-unix@brl-tgr.arpa

> >Can anyone point to a company that supplies a UNIX Fortran compiler which
> >executes much faster than f77 (say, on par with the VMS compilers or better)?
> 
> Actually there is limited room for improvement.  The 4.2BSD compiler is
> considerably better than the original f77 in that respect.  Published
> work (by Jack Dongarra at Argonne National Laboratory
> [dongarra@anl-mcs]) shows about 25-30% slower runtimes for the 4.2BSD
> compiler over the VMS 4.1 compiler, for dense linear algebra.  I've
> also coded some sparse linear algebra (essentially Yalepack) in
> assembly and found only 30-35% speed up.  Let's give credit where
> credit is due!
> 

I'm sorry, but I have troubles giving credit to a compiler
that is fully 30% slower than a competitors compiler for the
same machine architecture in the same language.  Does going
from blind translation into assembler really cost 30% more
execution time?  I always thought that good optimization was
less than that.  Does the Berkeley compiler do no
loop-invarient migration, common expression elimination or
ANYTHING?  It is true that DEC worked very hard optimizing
its ForTran's output, but 30%?  I haven't done ForTran work
on any on my unix machines yet, just C and Pascal, and this
makes me pretty happy about it.

Now I really understand the motivation behind the original
posting.  The only one I know about for unix is Green
Hills.  They have C, Pascal, ForTran (and P/LM?) for
assorted machines especially unix VAXen.

Doug Freyburger		DOUG@JPL-VLSI, DOUG@JPL-ROBOTICS
JPL 171-235		...escher!doug, doug@aerospace
Pasadena, CA 91106	etc.

-----------------------------

From: guido@boring.UUCP
Subject: cursor sensing in termcap (Re: dam (draughts, continental checkers...
Date: 29 Jul 85 23:09:44 GMT
Followup-To: net.unix
Keywords: termcap, standard, cursor sensing
Apparently-To: rnews@mcvax.LOCAL
To:       info-unix@brl-tgr.arpa

[This is cross-posted from net.games to net.unix because it really
belongs there.  Follow-up only to net.unix please.]

In article <774@mcvax.UUCP> aeb@mcvax.UUCP (Andries Brouwer) writes:
>(Unfortunately, not all the nice
>features can be expressed in this way: there is no standard capability to
>ask for the position of the cursor.)

Hmm.  I once needed this feature and added two capabilities to termcap:
sp= the escape sequence to send to the terminal (\E`\021 for HP's),
cp= what it returns, using the same % escapes as the 'cm' capability
(\E&a%r%3c%3Y^M for HP's).  In the absence of a standard way to do it,
this could as well be declared the standard -- unless there are conflicts
with other local additions of which I am not aware.  Since termcap is
slowly being replaced by terminfo, does anyone bother?  (Is that true
altogether?  What will be in 4.3BSD?)

	Guido van Rossum, CWI, Amsterdam
	guido@mcvax.UUCP

-----------------------------


End of INFO-UNIX Digest
***********************