Live data from Hacker News

The OSI Deprogrammer

docs.google.com

21–30 of 95 posts

Re: The OSI Deprogrammer

#21
> People today can’t comprehend the original model because they have no experience with terminals and mainframes. This makes them treat OSI as a deep mystery.

In fairness, I have come to think that we should teach computer science by plopping students in front of a PDP-11 and teletype (probably actually a PiDP-11 under the hood, but the students don't need to know how we realized the machine), running v6 unix, take them through the Lions book[0], then take them through... probably early BSD? on similarly period-appropriate hardware (again, implemented however needed) to learn networking, and then catch them up on the following few decades, because it turns out a lot of modern concepts make more sense when you see them in the original context[1]. A person could also argue that we should get over the past and build systems that learn from past ideas and mistakes without having to actually include the entire history, but I've come to view this as impossible to actually implement so we might as well embrace the tree rings that are our computers.

[0] https://en.wikipedia.org/wiki/A_Commentary_on_the_UNIX_Opera...

[1] For instance, vi's key choices make perfect sense when you see the keyboard it was born on - https://en.wikipedia.org/wiki/Vi#Creation

Re: The OSI Deprogrammer

#22
post #12

Earlier quoted context omitted.

It's not great. It reads like some angsty nerd who really doesn't like the idea of something and has spent an inordinate amount of time trying to explain why it's wrong and why his solution is better. Sometimes that works, if your name is Locke or Marx or something, but this writing really doesn't say "genius" to me. Moreover, I have not heard anyone but myself utter the word "OSI" out loud in 8 or 10 years. Maybe it…

I sort of agree that "OSI" is really weakening his argument, and that he could take clearer aim at the classical Internet layering model (network, transport, application) --- even that simple layering is obsolete now. But it'd still be a straw man! We even run DNS over HTTP at this point.

I think that the "OSI" he's speaking about isn't an engineering tool, a thing people would use to construct systems; rather, this "OSI" is a way of modelling systems that exist — systems that, of course, were not implemented by people thinking about OSI. It's an analytical modelling tool, a thing applied to a system retrospectively in an attempt to understand it, break it down along abstract rather than concrete lines. Like the various flavors of literary criticism.

Except in the case of OSI, it's not a reputable analytical tool from the perspective of actual academics; it's rather a discredited one. Instead, it's only lay-people with an outdated view of the state-of-scientific-practice who attempt to apply the discredited tool. And this article is an attempt to get those lay-people to stop doing that.

Compare/contrast how the layman may often think that Freudian psychoanalysis is still in use in psychiatry — and may even try to apply it themselves to understand someone's motivations. Much to the chagrin of psychiatrists.

Re: The OSI Deprogrammer

#23
> [OSI's] negatives far outweigh its positives. OSI is not theory, it’s not a framework, it’s not helpful, it’s not a standard, it’s not anything those who use it claim it to be. Anything you teach with the OSI Model can better be taught without it.

This is a naive understanding of the OSI model, whose primary virtue is not any specific detail it expresses, but instead its ubiquity.

The only way to successfully replace a (clearly entrenched) status quo is to make the positive case for the new thing, which has to be just obviously and significantly better. Pointing out the flaws in the current thing is never convincing, and never a winning strategy.

Re: The OSI Deprogrammer

#24
post #9

This is hilarious. I happen to be preparing for a test centered around the OSI model and I don’t get why it’s set this way. Every few paragraphs the text says something like “remember that nowadays things a bit fuzzier and don’t fit within one layer” well then why are we even using this model?

As models go it’s pretty good, and no one has made a better one. Seriously. The layers are all useful concepts to know about and discuss, even if in some cases it is most practical to blur the lines or outright combine two of them into one protocol. You will at least know that you are doing so, and you will know to point out _why_ you are. But nobody has ever determined that it is _always_ best to combine two of the…

If one is going to argue for a layers based model the OSI model is still a particularly poor choice vs something with at least relevant layers such as the 4 layer model commonly referred from TCP/IP. It's been the superior model to reference for decades.

Re: The OSI Deprogrammer

#25
post #5

I mean, this isn't bad or anything, and if Rob Graham is going to write about anything with authority, this is certainly it, but it's kind of beating up a straw man, isn't it? I feel like "layering violations" went out the window with HTTP, and certainly by the time we got WebSockets.

It's not great. It reads like some angsty nerd who really doesn't like the idea of something and has spent an inordinate amount of time trying to explain why it's wrong and why his solution is better. Sometimes that works, if your name is Locke or Marx or something, but this writing really doesn't say "genius" to me. Moreover, I have not heard anyone but myself utter the word "OSI" out loud in 8 or 10 years. Maybe it…

Terminology like "layer 4", "layer 7" and sometimes "layer 3" is often used in documentation for things like load balancers, vpns or other tunnels, etc. As a specific example the documentation is for layers is split into layers 4-7 that roughly sort of match the OSI model. Except not really, because the OSI model doesn't really math tcp/ip. And the first feature listed on the overview page for an AWS ALB is that it does "Layer-7 Load Balancing".

I have no idea why we continue to use thes numbers instead of saying the protocols or a more descriptive name, like transpory layer or application layer.

Re: The OSI Deprogrammer

#26
This is the story of the programming world.

Tons of concepts that masquerade as "theory." Big words and "epiphanies" that make programmers loyal to the concept in the same way people are loyal to OSI.

Design patterns, SOLID, etc.

All bullshit akin to color theory and OSI. Big words and bullshit. At best you can use these things as rules of thumb. They work somewhat. But overall they don't.

Re: The OSI Deprogrammer

#27
post #23

> [OSI's] negatives far outweigh its positives. OSI is not theory, it’s not a framework, it’s not helpful, it’s not a standard, it’s not anything those who use it claim it to be. Anything you teach with the OSI Model can better be taught without it. This is a naive understanding of the OSI model, whose primary virtue is not any specific detail it expresses, but instead its ubiquity. The only way to successfully repla…

It's far from ubiquitous though. It breaks down as soon as you enter the real world. It's simultaneously too vague to be useful for talking about specifics and too inaccurate to be useful for talking about generalities.

Re: The OSI Deprogrammer

#28
post #23

> [OSI's] negatives far outweigh its positives. OSI is not theory, it’s not a framework, it’s not helpful, it’s not a standard, it’s not anything those who use it claim it to be. Anything you teach with the OSI Model can better be taught without it. This is a naive understanding of the OSI model, whose primary virtue is not any specific detail it expresses, but instead its ubiquity. The only way to successfully repla…

Ubiquity isn't a necessarily good thing.

It depends on the type of person you are for this analogy to work but...

Religion is ubiquitous and it is largely just inaccurate made up fantasy stories posing as truth. It's generally not good from this perspective.

OSI is religion. And like religion, it is ubiquitous. Is that a good thing? I'm not sure.

Re: The OSI Deprogrammer

#29
This quote sums up the point:

"The goal of these Wikipedia-style ontological frameworks is to describe theory, like science. But for the most part, networking is practice. It reflects engineering choices rather than scientific principles. It’s less like a biological taxonomy and more like a military hierarchy: we humans chose to put things there.

It’s a struggle choosing pure theory vs. practice. Are we describing the TCP/IP Internet that we are all using today? Or are we trying to describe theory, how networks have existed in the past and how they might exist in the future? The OSI Model pretends its theory because it’s the standard. The idea is that there would be 7 fixed layers and that over time, new standards would be invented that would upgrade a layer. All networks of the future would follow this blueprint, so it described all future networks. "

Re: The OSI Deprogrammer

#30
post #25

Earlier quoted context omitted.

It's not great. It reads like some angsty nerd who really doesn't like the idea of something and has spent an inordinate amount of time trying to explain why it's wrong and why his solution is better. Sometimes that works, if your name is Locke or Marx or something, but this writing really doesn't say "genius" to me. Moreover, I have not heard anyone but myself utter the word "OSI" out loud in 8 or 10 years. Maybe it…

Terminology like "layer 4", "layer 7" and sometimes "layer 3" is often used in documentation for things like load balancers, vpns or other tunnels, etc. As a specific example the documentation is for layers is split into layers 4-7 that roughly sort of match the OSI model. Except not really, because the OSI model doesn't really math tcp/ip. And the first feature listed on the overview page for an AWS ALB is that it d…

I try and use "application layer" and "transport layer" myself but find that people don't really understand what I mean but for some reason understand "layer 4" and "layer 7" (and sadly yeah, occasionally "layer 3".) I still insist in documents in using descriptive layer names but usually in conversation just refer to load balancers or proxies.
Post reply on HN