Building the Internet With Sendmail's Eric Allman

š **Source:** [Building the Internet With Sendmail's Eric Allman](https://share.snipd.com/episode/b44afa7f-7bb4-44cd-9c5b-192498e7278d)
## Highlights
- **Why Eric Allman Chose To Retire**
- Eric Allman retired after COVID disrupted his lab and his collaborator wanted to travel more.
- He left because grad students didn't use his code, he felt underused, and his partner's degenerative neural disease motivated travel.
Transcript:
Eric Allman
Would probably have to say it had a lot to do with, um, well, actually a lot of things. Um, basically during COVID. I was working at UC Berkeley for my third job at UC Berkeley, third and presumably last. And the last grad student on the project I was working on graduated. And the new grad students didn't show up because of COVID. But they were working together. And I had worked on a project with this group. And I had assumed they were going to leverage off the code that I had already written. And I and, you know, the other people in the group. And they didn't. They wanted to go in a totally different direction. So at some point I went, you know, they're paying me to do nothing or nothing of use. I mean, I'm available, but, and that didn't sit well with me. And I was a retirement age. Degenerative neural disease. So he's slowly losing the ability to walk and he wanted to do traveling as much as he could. Well, he still could. And so that seemed like another good reason to do it. ([TimeĀ 0:01:50](https://share.snipd.com/snip/7d6e94e0-313d-468b-abfa-cc4cc9ebd251))
- **Utopian Internet Dreams Versus Reality**
- Early internet builders imagined a utopian network that would reduce conflict by connecting everyone directly.
- That optimism faded; Eric Allman notes the reality is less utopian than early fantasies once the network became global.
Transcript:
Eric Allman
Yep. Well, I actually started on the ARPANET and, uh, that was a very different network. They only felt they needed 8-bit host addresses. Should be enough for everyone. Yeah, exactly. And what was it? Thomas Watson, I think, said the international market for computers is going to be about 100.
Scott Hanselman
Yeah. Just be a mainframe in each country, and that would be it. Each country would have their own mainframe, and maybe one per continent. It should be fine for everyone. Yeah.
Eric Allman
And so I've seen a lot of stuff happen. It's been kind of interesting. It's, you know, when the network first appeared, we, I think, had this fantasy that we were going to, you know, bring understanding to the world. When everyone could communicate with everyone else, then, you know, wars would be gone and so forth and so on. We really had a concept that this is going to be a utopian future. Now that it's the future, I don't think it looks quite as utopian as we used to think it would be. So that's kind of disappointing. ([TimeĀ 0:07:45](https://share.snipd.com/snip/0a549eab-69a0-4578-9591-98fc05b1c0c7))
- **The ARPANET Phone Book Memory**
- Eric Allman kept an early network phone book listing every ARPANET user with name, address, and phone number.
- The early community felt small and personal, resembling ham radio or FIDOnet address books Scott described.
Transcript:
Eric Allman
And I'm in it. Yeah.
Scott Hanselman
I had a FIDOnet node for a time that I ran in my bulletin board and was making local phone calls trying to not pay long distance phone calls and bouncing internet bouncing email rather Around or fido net mail at least uh for a time and i i had a a spiral notebook with kind of the 30 or 40 folks that i knew around it felt like the ham it was like ham radio you know it was very small
Eric Allman
Yeah i guess ham radio still is.
Scott Hanselman
Yeah, I guess it's because it's hard. You got to get a license, which is an interesting idea. In fact, maybe they should have given us a license to make it to send email.
Eric Allman
That would have solved a lot of problems. ([TimeĀ 0:09:43](https://share.snipd.com/snip/64f0b912-7c2d-4254-8e7e-9459b81f6888))
- **Sendmail Was Built To Be Glue**
- Sendmail was designed as glue to connect heterogeneous systems like Berknet, UUCP, and ARPANET with differing address syntaxes.
- Its heavy configurability (rules engine inspired by production systems) let it translate and route between networks internationally.
Transcript:
Eric Allman
A network known as UUCP. Right. And that was dial-up modems. And it turns out that I know the guy who first brought UUCP to Japan. I know the guy who brought the first UUCP to Europe. And so and australia actually is that is that mike lesk uh no no toast hagen in the netherlands uh robert ells in australia and why am I blanking on his name in Japan? Anyway, the point is we, yes, we were very early on thinking there's no particular reason why this can't be an international thing. Which is, I think, part of the reason we really thought it was going to make the world a smaller place and everyone would discover that we're just people and so forth. ([TimeĀ 0:11:00](https://share.snipd.com/snip/aeb64cc0-ec35-41ff-84e3-7d782e3f3171))
- **Why Sendmail Rules Were So Powerful**
- The Sendmail configuration uses a production-system style rule engine that is effectively Turing complete.
- That recursion and flexibility let it support many address formats, making adoption faster despite debugging complexity.
Transcript:
Eric Allman
And they all had different address syntaxes and different semantics and so forth. So SendMail was designed to be the glue that would hold them together. And I had taken an AI course, and one of the things we talked about was production systems. And I said, you know, I know AI is maybe overkill for an email program, but production system looks like it fits really very nicely. And in fact, that's the core of the SendMail configuration file. So it's been proven that it's Turing complete, which probably doesn't need to happen. And the truth is, it's, I mean, the world pretty much agrees now that everything should be user at sign domain. Uses host bang host bang user or you know host colon colon user or any of those others. So yeah I was basically setting up something where you could use the effectively AI technique to route email. ([TimeĀ 0:13:01](https://share.snipd.com/snip/75d0cdc5-2562-40e0-a379-70284d4ee2e3))
- **Syslog Emerged From Practical Need**
- Eric Allman implemented the first syslog as part of DeliverMail to handle logging and IPC before modern facilities existed.
- Syslog's simple design proved durable and is still the basis for many implementations today.
Transcript:
Eric Allman
Not as well known as my background with SendMail is that I also did the first implementation of Syslog. And I did that as a tool to use for DeliverMail, the predecessor to SendMail. And at the time, we didn't have interprocess communication and so forth. So I had to use things called MPX files. And then, you know, the IPC came along and I converted it to use the new technology and so forth. That's proven to have real legs. I mean, there's dozens of implementations of syslog, all basically at their core, the same thing that I did as part of the implementing send mail. ([TimeĀ 0:14:51](https://share.snipd.com/snip/733f5b9a-15d0-4704-98d3-9d7ed9249267))
- **Use AI Assistants To Find Libraries But Verify**
- Use AI tools like Claude to discover libraries and accelerate coding, but verify outputs carefully.
- Eric Allman finds Claude suggests useful libraries he hadn't known and helps coding, yet can introduce regressions if used uncritically.
Transcript:
Eric Allman
Mm-hmm.
Scott Hanselman
Have you, you said that you were doing AI, like AI had a moment and I think AI has had a branding moment, but you were thinking about AI and your compatriots and your peers in the space were Thinking about AI a very, very long time ago. Did you all in the creating and thinking about neural networks see transformers and generative pre-trained transformers coming? Was this an inevitable thing that would hit the hockey stick and then take off? Or did you wake up when chat GPT happened and you said, oh crap, they did it?
Eric Allman
I think more of the latter. When we were doing it, we were just trying to get it to run fast enough to implement a relatively small neural network. ([TimeĀ 0:17:45](https://share.snipd.com/snip/58898da5-2b66-4066-894b-89b417d0ebb2))
- **LLMs Appear Smart But Lack Understanding**
- Large language models can appear conscious but still make contradictory or regressive fixes during iterative code changes.
- Allman sees them as useful tools that lack true understanding, exemplified by fixes that reintroduce other bugs.
Transcript:
Eric Allman
Yeah, I mean, here we start getting into the realm of philosophy as opposed to computer science. You know, what is consciousness anyway?
Scott Hanselman
I think you're qualified to have an opinion, though.
Eric Allman
I'm qualified to have an opinion, but it's just my opinion, and hence it's worth the price you paid for it.
Scott Hanselman
I will take it though. No, I...
Eric Allman
So it certainly presents as though it's got some kind of consciousness. It carries on a discussion with you and so forth. But, for example, I've had cases where Claude will say, oh, to fix that bug, you do this. And then there's something else, and Claude fixes that, but puts the other bug back in. And I don't think that exhibits his consciousness. You know, Claude is very helpful as long as you use it effectively, but I can't see doing vibe coding where you just say, here, throw me some code, I'll test it and tell you if it works or Not. And if it doesn't, try again. Yeah. ([TimeĀ 0:20:39](https://share.snipd.com/snip/4e79802c-cbd3-41dd-b8e9-57e58603e5b1))
- **Home Projects Keep Eric Coding**
- In retirement Eric Allman built personal projects: a wine cellar database with a GUI and home automation using Arduino and MQTT.
- He codes mainly in Python now, using MQTT to distribute IoT data rather than monolithic hardware.
Transcript:
Eric Allman
I think this counts as making the house run better i mean we've kirk and i have a uh a wine cellar and so at some point a long time ago i started keeping a database which was just a flat file You know parsable, but flat file. And at some point I went, I want something fancier. So I built myself a wine database with a GUI interface and so forth and so on. And, you know, periodically we want to tweak that. So there's that, there's some home automation things which involve code. I find myself writing, you know, in C++ for the Arduino and usually some other higher level language for general coding, stuff that's going to run on my server and whatnot. I use MQTT a lot for getting data around. So things don't have to be all on one piece of hardware. You can just talk to the broker and get what you need. ([TimeĀ 0:23:12](https://share.snipd.com/snip/34f3c272-3a6a-407c-bc0e-8b5a161ebd79))
- **Typed Python Addresses Dynamic Uncertainty**
- Eric Allman notes Python's lack of static typing led to uncertainty about code correctness, and typed Python could mitigate that.
- He hasn't adopted typed Python yet but recognizes its benefits over pure dynamic mode.
Transcript:
Eric Allman
Python's added enough, basically a type system that it's becoming, the problem with Python when it's in pure dynamic mode is you never know for sure whether your code's debugged or Not. And a strong type system can really help that. So I haven't really made the switch to typed Python. ([TimeĀ 0:25:17](https://share.snipd.com/snip/782fe597-b30b-49ab-a1af-515ac012219d))
- **Seminars And Free Lunch Lured Eric Back**
- Eric briefly 'retired' earlier but returned to campus after being invited to seminars with free lunch, which led to paid involvement.
- Casual participation in a research group evolved into his final job because he enjoyed the people and conversations.
Transcript:
Eric Allman
Well, I actually did retire several years ago, or at least I thought I had retired and at some point got bored. And actually that was right about the time I went back to the university. I got a call from somebody I had worked with in the past who I really liked working with, and he called and said, so I'm working in a new lab up here on campus, and we've got seminars that you Might find interesting, and oh, by the way, free lunch. So I started going to those and ended up hanging out in a research group. Just, you know, they said, hang out if you want. ([TimeĀ 0:29:15](https://share.snipd.com/snip/14de56b4-39df-4c7f-b8f5-0915b7a9e290))