I was fortunate enough to have lived through the formation of the Internet and its predecessors, and to have contributed in my own small way to their formation.


In 1980 I wrote a program called uuencode, which could attach binary files to email messages. These were the first email attachments.

In the early 1980s, sites on the ARPANET could send email using user@host syntax, and the network would figure out how to get it there. In our UUCP land, however, you had to give your email message directions to its destination, as in unc!research!ucbvax!mark. People had to have a map of the network in their head to send email.

Adding to the complexity was the seam between UUCP, ARPA, and Berknet in the gateway at Berkeley. Email could get through with an address like research!greg@Berkeley, but that didn’t work everywhere.

In 1984, I led the creation of a volunteer effort called the UUCP Project. Each volunteer took on responsibility for updating one portion of a UUCP map, written in a format to be used by the pathalias program to create a routing table. Adam Buchbaum and I wrote a program called smail that would send mail using pathalias tables, allowing UUCP users to send mail to addresses like mark@ucbvax.UUCP. The network was organized by network type, with addresses ending in .ARPA, .UUCP, .BITNET, and .CSNET.

In January 1986, I represented UUCP at a meeting organized by Ken Harrenstein to agree on a common name space. Rather than network type, all addresses would end in .com, .edu, .gov, .org, .net, and .mil. Steve Kille asked for 2 letter ISO country codes to be allowed as well. The UUCP Project (along with BITNET and CSNET) were authorized as the first domain registrars, allowing us to bring .com email addresses to organizations not on the ARPANET.

The first domain I registered was my employer, att.com. Since “&” was not allowed in the syntax, I had to choose between att.com and at-t.com, and that choice was mirrored in future domains. The second domain registered was stargate.com, used by the UUCP Project, the UUCP Zone (the registrar) and the Stargate project (Usenet over satellite.)

More about this effort is in the Stargate Internet Museum web site.


In 1979, Steve Bellovin, Steve Daniel, Tom Truscott, and Jim Ellis of UNC and Duke created Usenet, one of the first social media networks. Users of UNIX systems on the net could post messages, organized by newsgroup (e.g. by topic), to be see by others interested in that topic.

I installed their software at Berkeley in 1980 and evangelized the net, leading to its rapid growth. The volume outgrew the Duke/UNC “A News” software, so Matt Glickman and I created “B News” which looked much more like email, and allowed users to either reply to messages by email or “follow up” to the newsgroup, creating online discussions.

In 1983, the net needed to be better organized. I designed and recruited a group of system administrators to form the Usenet Backbone, which carried all newsgroups and made many decisions about how to run the net. Soon Rick Adams and Gene Spafford joined me to form a de facto leadership troika, leading what came to be known as the Backbone Cabal.

Spam messages first appeared on Usenet, where an off-topic commercial or nonsensical message would be posted to every newsgroup. Also, sometimes discussions could get out of hand. I created the “moderated newsgroups” mechanism which allowed only a designated person (the moderator) to post to the group. All other postings would be automatically sent to the moderator for approval.

In 1984 and 1985, Karen Summers and I published large printed Usenet maps, which were distributed at Usenix conferences. These maps were used to send email, which was not what we intended. This use led to the creation of the UUCP Project.

More about this effort is in the Stargate Internet Museum web site.