Path: utzoo!utgpu!water!watmath!clyde!bellcore!rutgers!mit-eddie!uw-beaver!tektronix!reed!bart
From: bart@reed.UUCP (Bart Massey)
Newsgroups: comp.sources.d
Subject: Re: Improving SHAR
Message-ID: <9455@reed.UUCP>
Date: 4 Jun 88 19:47:35 GMT
References: <2277@rpp386.UUCP> <2349@bgsuvax.UUCP>
Reply-To: bart@reed.UUCP (Bart Massey)
Organization: Reed College, Portland OR
Lines: 38

In article <2349@bgsuvax.UUCP> denbeste@bgsuvax.UUCP (William C. DenBesten) writes:
> Please note that followups are directed to comp.sources.d
> 
> In article <7985@brl-smoke.ARPA> w8sdz@brl.arpa Keith Petersen writes:
> > When Usenet can guarantee error-free and non-truncated transmission of clear
> > text files  I will agree to posting clear text files.  Until that day
> > arrives (is anyone working on it?) I will continue to post them as ARC
> > files in the comp.binaries.ibm.pc newsgroup.
> 
> The solution that everyone seems to be stabbing near, but not hitting
> is that we need a shar-archiver that includes a crc check in it,
> rather than a simple character count.  I have faked up a shar below
> that demonstrates this.
> 
> There is one small problem with this idea, but it is easily solvable.
> There is not a standard unix utility that will do a crc.

Why stop at CRC?  What *I'd* really like is ECC, plus some kind of block
numbering, so that the shar can recover from short errors, and one can
request only the mangled/missing blocks in recovering from larger errors,
greatly reducing netwidth for larger errors.  Perhaps a simple line numbering
scheme, with per-line 1-byte ECC, and a simple utility for decoding this?
The same utility could also handle text substitutions for sharing/unsharing,
and non-ascii character substitution/desubstitution...  

Oops.  I'm dreaming again.  Sorry :-)  If I wrote such a program, would
anyone use it?

(UNIX challenge:  using only standard UNIX utilities (no C, Pascal, etc., no
local or system-dependent utils) write a shell script for converting ^
escapes (e.g.  ^Z == 26 decimal, ASCII SUB) and octal escapes (e.g.
177 == ASCII DEL (not a chance a backslash would make it intact
in this message :-)) into the appropriate 7-bit ASCII characters within a
text file.  BONUS:  Handle 8-bit octal escapes.  NOTE: use the escape
convention that 136 is a literal caret, and 134 is a
literal backslash in the encoded file.)

							Bart