4 ms·
> There’s a lot room for vagueness and potential for miscommunication hidden behind the word “arbitrary” - it can be a shorthand for too many or too complex or
by titzer 5y ago
> There’s a lot room for vagueness and potential for miscommunication hidden behind the word “arbitrary” - it can be a shorthand for too many or too complex or too ad hoc to account for.
Yeah, I get that, and of course everything is a spectrum, including the level of arbitrariness. But I am just going by the definition of arbitrary in a dictionary:
> arbitrary, adj. based on random choice or personal whim, rather than any reason or system.
Whereas my analogy with rocket engines was meant to illustrate that IP was designed to solve a very specific problem given a set of constraints. Most (let's say, liquid-fueled) rocket engines end up with very similar designs and engineering decisions are made to optimize performance rather than whim. It's a very empirically-driven engineering exercise.
And for the OP's mentioning of the TCP packet format, I still think we shouldn't regard that as arbitrary. The location of the source and destination fields, for example, was carefully chosen so that routers of the time could minimize the logic necessary to decode them and start to make routing decisions before even most of the header had arrived. It was literally optimized down to the bit position. Now, the choice of byte order (big endian), we might be considered somewhat arbitrary (maybe even wrong) now, but even that was motivated by the machines of the time, as most were big endian while nowadays almost all remaining architectures are little endian (causing no end of confusion to poor networking students).
I don't disagree that history overall, and computer history in particular is full of arbitrary choice points, but I think TCP/IP isn't a good example of that.
- dahart 5y agoFWIW, I didn’t read the top comment as saying anything about the TCP format being arbitrary. I could be wrong, but wearing my glasses with benefit-of-the-doubt strongest-plausible-interpretation lenses, here’s what I see above. It’s two separate clauses in the last sentence: > It's not like there's an intrinsic reason TCP packets are the way they are now This to me invokes the idea of mathematical intrinsic properties. For example the idea of the number zero didn’t always exist, but to this day we don’t have multiple representations or any alternatives. Something about the number zero feels intrinsic. Addition, multiplication, derivatives and integrals seem like operations that might have different notations, but are unchanging intrinsic concepts. TCP formats don’t seem to share this intrinsicness. It is in that sense that I agree with the top comment; there is nothing intrinsic about the TCP format, it is the result of conscious engineering choices, and today there are reasonable alternatives. In this sense I see your argument as supporting this idea that there’s nothing intrinsic about TCP. > it's largely an arbitrary choice that we standardized on. The word “arbitrary” was applied to the choice of standard, not the format. I’m choosing to see a second, different idea in that second clause. I see how and why it implies the format itself is being called arbitrary to you and others, but my defense of the comment is based on interpreting it differently than what you saw. BTW, the dictionary definition starts with “based on random choice”. If we stop there, it still adequately matches what I was talking about, and it also unfortunately doesn’t add much color either. Then the keyword becomes “random” rather than “arbitrary”, but “random” is also commonly used to mean the reason is unknown or complex. Total tangent, but being a fan of Monte Carlo methods, I frequently use “arbitrary” to disambiguate from truly “random”. When people are asked to pick random numbers, the results are arbitrary but not random in the mathematical sense. ;)