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