*disclaimer: written with not backspaces or second passes
Haven’t written a book review on here before. I think it’s a good idea, in general. Makes you process the book, turn it into a new narrative to fit into your life. I often complain about the number of books I’ve read which I can barely remember two things about, much less apply to my life, or bring up in conversation, or whatever reason you read books for.
But enough meta shit. I’ve been thinking a bit about how AI will interact with the internet, and was curious how the internet was developed, especially the early days. Questions like, how do you get people to agree to a new standard? How do you develop the standard, do you implement it gradually, or design it completely, and only release it when it’s finished?
My guess is that this will be less of a review and more of an analysis of the history. I don’t think this book was amazingly written or sourced, but I read it on a plane ride when it was all I had, so I may have given it more time than I normally would have.
(D)arpa managed bureaucracy
One thing I was surprised by was how heavy a role that government had in the development and implementation of the internet. I’d always heard that it was created by a bunch of universities who wanted to be able to communicate with each other, but really, it was incredibly top down, almost entirely led by ARPA (which has sense become DARPA). Although I think it’s currently pretty heavily associated with secretive defense projects, before it had the “D”, the Advanced Research Projects Agency was started by Eisenhower in 1958, and explicitly made a separate body from the military, which Eisenhower notoriously looked down on.
The first director of ARPA, Jack Ruina, was really good at doing government funded research. He gave his program directors a large amount of free reign, and only focused on giving them as much resources as he could to make their projects successful. He also had a unique approach to getting talent:
Ruina had a theory that truly talented people wouldn’t normally choose to hang around long in a government bureaucracy but could be convinced to spend a year or two if offered enough flexibility and large enough budgets. Turnover didn’t bother him. The agency,, he believed, would benefit from frequent exposure to fresh views.
This explains a large part of why the internet has so many different “creators”. First theorized by J. C. R. Licklider, an MIT professor who became the first Information Processing Techniques Office head, and then carried along by various people like Bob Taylor, Larry Roberts, and later Tim Berners Lee. This is a good example of how a good research project can be run at such a large scale.
It was really easy to get funding for the project. Bob Taylor walked into the head of ARPA’s office, and within 30 minutes, had secured a few million dollars. I don’t think anything in this section is super profound, like everyone agrees that bureaucracy bad, but I think the degree to which it didn’t exist in early ARPA is pretty impressive.
One sorta-downside about the way they did this was that there were occasional gaps in between people. Because each person was only there for a few years, the project would occasionally pause while a replacement was being found, or convinced to join. For example, Larry Roberts.
The roots of open source
The development of the internet is notoriously distributed, which has extended to the pretty influential and health open-source community that exists today. But this definitely didn’t need to happen.
The open source nature was definitely helped by the fact that things were developed for university CS departments, so that the people in charge of the nodes were also the people developing the technology. This familiarity and knowledge of the technology actually posed a slight issue in the early days of the internet, with BBN having to source their IMPS (nodes on the network) from military, steel-clad computers, in order to keep curious grad students from tinkering around inside the machines and bringing down the network.
But because of this, there was a huge amount of discussion, etc around how these things should be developed. This discussion was boosted by the creation of email by the scientists, which was basically bootlegged on top of the existing file-sharing protocols. They developed the proper formatting for email, etc, in the first real open source internet community.
All of the early open source spirit could have been crushed once the internet was leaving it’s infant stages and emerging as an actual important technology. There was an attitude by the International Organization for Standardization that it was “Time to roll up your toy academic network” and have a new implementation put into place. Curious here, what did it actually look like?
In addition to the stuff by the IOS, the infrastructure running the internet could have been monopolized by AT&T, who were the only company responsible for telephone cables in the US at the time. However, AT&T executives really didn’t like packet switching, thinking it impractical and incompatible with their systems.
This failure to commercialize the internet was a running theme. For example, similar to AT&T, BBN blew a huge lead to be the primary internet modem/router provider. They built the first IMPS, which were the nodes of the early internet. However, they chose not to do this, which has sense become a multi-billion dollar industry.
I’m unsure how significant this was. It’s possible that, like any public utility, monopolies would have been broken up, and things would have stayed fairly public. But, I do think that it’s possible that companies would have been able to make decisions about how the internet functioned that would have lended well towards their own profits, I’m not sure what any examples here would be.
Miscellaneous design decisions and engineering strategies
In addition to the decisions that caused TCP/IP to win out in the end, there are a few other really specific design decisions that were made that I think were key.
Outflanking
The network we have today is basically a story of expanding standardization of interfaces between non-standard pieces. First, different machines used different langauges, protocols, etc, so the IMPs were built, which any of the machines could interact with, if they followed specific rules.
But then, as this network grew, there were also other, rival networks. So, to accomodate these, a broader class of standardization was invented to make a “network of networks”. This just said how two different networks had to interact.
Packet switching/distributed systems
I’m not gonna go into a lot of depth on this. But basically, packet switching was motivated by the fact that sending a single, large file over a phone line was very inefficient, because it meant that most of the time, most of a phone line’s bandwidth went unused. Although this wasn’t really a bottleneck back then, this meant that the internet would be able to scale elegantly.
They were targetted in the parts of the system that they made scalable. While the underlying theory behind the network scaled very well, the actual implementations of the network didn’t scale. They created the ARPA net, which was always only going to be for defense related stuff, and at the university level, knowing that this would never be the end-all, be-all answer to creating the web.
Other interesting anecdotes
Remote operability. Operating a cross-country network of unreliable computers would have been impossible if BBN didn’t have an easy way to take remote access of them, and get regular reports. The nodes of the network always sent back status reports on how they were doing, which let BBN send preventative maintenance, and quickly find issues
I feel like there weren’t any super earth-shattering takeaways from this. This book review has been a bit of a slog to write, and I’m not sure that I’ve focused on the most important or interesting parts. Curious to think about this more, and how to do this properly.
I’d like to polish these more than this is. But this has been sitting in my draft box for too long, so I’m going to publish.
In the Ezra Klein podcast he had a guest talking about Collective Intelligence using AI. Also have you red "The Laws of Human Nature" by Robert Greene?