Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Uuencoding (AKA UUE) history?

5 views
Skip to first unread message

Ivan Shmakov

unread,
Mar 20, 2013, 6:23:18 AM3/20/13
to
[Prompted by a recent thread in news:fido7.ru.fidonet.today.]

I wonder if someone could comment on the Uuencoding (UUE)
origins and history?

True, there's an (English) Wikipedia article on the subject [1],
but, as it seems, it's more concerned with its design, current
use and implementations, and references /no/ sources whatsoever
(which could've otherwise been examined for historical clues.)

Also, is the documentation for the "historic" UUCP packages
(Version 7 Unix' one? HDB?) available somewhere on the Web? I
guess it could shed some light on the UUE origins. (As, as per
the Wikipedia article, UUE was designed to allow for binary
transfer over UUCP links.)

TIA.

[1] https://en.wikipedia.org/wiki/Uuencoding

--
FSF associate member #7257 np. Edge of a Dream (Firewind, + Apocalyptica)

John Levine

unread,
Mar 20, 2013, 12:33:55 PM3/20/13
to
> guess it could shed some light on the UUE origins. (As, as per
> the Wikipedia article, UUE was designed to allow for binary
> transfer over UUCP links.)

Actually, uucp could transfer arbitrary binary files just fine, and it
was quite common to transfer compressed tarballs of news or mail.

What uuencode let you do was to send a binary file disguised as a mail
message, which let you send it via multi-hop uucp routes to people on
hosts to which you didn't have a direct connection. My recollection is
that it showed up pretty soon after we started using uucp, which would
have been in about 1979.

--
Regards,
John Levine, jo...@iecc.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. http://jl.ly

Richard Kettlewell

unread,
Mar 20, 2013, 1:27:22 PM3/20/13
to
Ivan Shmakov <onei...@gmail.com> writes:
> I wonder if someone could comment on the Uuencoding (UUE)
> origins and history?

The oldest uuencode.c I have is in 4.0BSD and is timestamped October
1980. The corresponding man page mentions 6/1/80 in the .TH field
(which probably means June, going by other files in the same directory)
and credits Mark Horton as the program’s author.

> True, there's an (English) Wikipedia article on the subject [1],
> but, as it seems, it's more concerned with its design, current
> use and implementations, and references /no/ sources whatsoever
> (which could've otherwise been examined for historical clues.)
>
> Also, is the documentation for the "historic" UUCP packages
> (Version 7 Unix' one? HDB?) available somewhere on the Web? I
> guess it could shed some light on the UUE origins. (As, as per
> the Wikipedia article, UUE was designed to allow for binary
> transfer over UUCP links.)

You can find V7 at: http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7 - it
includes UUCP but not AFAICS uuencode.

--
http://www.greenend.org.uk/rjk/

Ivan Shmakov

unread,
Mar 20, 2013, 2:01:44 PM3/20/13
to
>>>>> Richard Kettlewell <r...@greenend.org.uk> writes:
>>>>> Ivan Shmakov <onei...@gmail.com> writes:

[Cross-posting to news:comp.mail.uucp and dropping
news:comp.misc from Followup-To:, for obvious reasons.]

>> I wonder if someone could comment on the Uuencoding (UUE) origins
>> and history?

> The oldest uuencode.c I have is in 4.0BSD and is timestamped October
> 1980. The corresponding man page mentions 6/1/80 in the .TH field
> (which probably means June, going by other files in the same
> directory) and credits Mark Horton as the program's author.

ACK, thanks!

Strangely enough, there's one more [1] timestamped 1983, yet
claimed to belong to 2.9BSD. Any idea why it may be like that?

[1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=2.9BSD/usr/src/cmd/uucp/uuencode.c

[...]

>> Also, is the documentation for the "historic" UUCP packages
>> (Version 7 Unix' one? HDB?) available somewhere on the Web? I guess
>> it could shed some light on the UUE origins. (As, as per the
>> Wikipedia article, UUE was designed to allow for binary transfer
>> over UUCP links.)

> You can find V7 at: http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7 -
> it includes UUCP but not AFAICS uuencode.

Indeed, I've checked that one not so long after posting.

Ivan Shmakov

unread,
Mar 21, 2013, 11:52:14 AM3/21/13
to
>>>>> John Levine <jo...@iecc.com> writes:

[Cross-posting to news:comp.mail.uucp and dropping
news:comp.misc from Followup-To:, for obvious reasons.]

>> Also, is the documentation for the "historic" UUCP packages (Version
>> 7 Unix' one? HDB?) available somewhere on the Web? I guess it could
>> shed some light on the UUE origins. (As, as per the Wikipedia
>> article, UUE was designed to allow for binary transfer over UUCP
>> links.)

> Actually, uucp could transfer arbitrary binary files just fine, and
> it was quite common to transfer compressed tarballs of news or mail.

Well, it wasn't all that long ago that I ran a couple of UUCP
links myself. And although virtually the only implementation
I'm familiar with is Taylor UUCP, I guess that they all indeed
allowed for binary transfer.

> What uuencode let you do was to send a binary file disguised as a
> mail message, which let you send it via multi-hop uucp routes to
> people on hosts to which you didn't have a direct connection.

Which matches the use of Base64 and quoted-printable encodings
to work-around the non-guaranteed 8-bit-cleanness of SMTP links.

As it seems, there's indeed some confusion between "UUCP" and
"UUCP-based mail service," much like the one between, say,
"Base64" (or "quoted-printable") and "MIME," or, occasionally,
between "Internet" and "World Wide Web..."

> My recollection is that it showed up pretty soon after we started
> using uucp, which would have been in about 1979.

ACK, thanks!

Also in line with that is that, as Richard Kettlewell has just
pointed out, 4BSD had uuencode.c [1], timestamped "October,
1980." (And unless there be objections, I'm going to add a
pointer to it on the Wikipedia article.)

I still wonder if there's some sort of changelog back from these
days to state "BSD version X.Y. Added uuencode." Or something
like that.

[1] http://minnie.tuhs.org/cgi-bin/utree.pl?file=4BSD/usr/src/cmd/uuencode.c
0 new messages