Know your limits

I have thus far neglected to mention what source material we are reading in class. Over the past few weeks, the class has been reading “Where wizards stay up late: the origins of the Internet” by Katie Hafner and Matthew Lyon. It was written in 1996, so at this point it’s twenty years old, but it’s mostly a history text. It doesn’t try to make a lot of predictions about the future of the Internet, so it has aged well. If it had tried to make predictions, it probably would have failed. In general, futurology is very difficult because there are so many variables that we \don’t even consider that will affect the future in surprising ways. Thus most people who claim they have the answer are grossly overconfident.

By the way, the name of the class is “What is the Internet, and what will it become?” Which is not to say that either of my professors is “grossly overconfident”. We haven’t gotten to the “What will it become?” part, and I imagine our goal will be to explore different plausible futures and leave the matter unresolved but with a better understanding of it, not to settle on a specific future that will definitely happen.

I see similarities between this approach and our other reading for this week, “End-to-end arguments in system design” by J.H. Saltzer, D.P. Reed, and D. D. Clark. The authors don’t do much to promote particular ways to design systems because the nature of your approach will be altered by what you want to maximize, the limits of your hardware, etc. Instead, they raise a number of ways to think about designing systems so that you can understand the task better.

The one hard piece of advice they do give is what is now known as the end-to-end principle: basically, make the network simple and the endpoints complex. This localizes most problems, splitting up the workload and keeping the network flexible and with room to grow. In the case of the ARPANET, rather than requiring each host to learn how to communicate directly with every other host, the system only needed the hosts to communicate with their IMPs, which all spoke the same language and could easily talk to the other IMPs. The endpoints (host-IMP interaction) were complex, while the network (IMP to IMP interaction) was simple.

The end-to-end principle has specific applications, but is very general and leaves room for adaptation. This is good on the part of the authors. Recognizing your argumentative limits is very important in the world, whether it be specificity of system design principles or the uncertainty of predicting the future or other situations.

That’s all for this week. Until next week!


  1. profsmith

    September 22, 2016 @ 6:14 pm


    Nice connections! The Saltzer et al paper is not easy to grasp and you understood it well. And I’m glad to hear you don’t think Jim and I are “grossly” overconfident!

  2. school of applied science

    November 3, 2016 @ 11:25 am


    Excellent job. I did not expect this

Leave a Comment

Log in