Live data from Hacker News

Network protocols for anyone who knows a programming language

destroyallsoftware.com

1–10 of 72 posts

Re: Network protocols for anyone who knows a programming language

#3
One interesting note re: 8b/10b encoding. The motivation in the article is accurate, but not the whole story (never is, in the analog world).

Nowadays, 8b/10b (or more realistically 128b/130b) is critical to enable clock recovery by making sure the signal transitions frequently enough.

> Computers can't count past 1

Reminds me of this excellent quote: "Every idiot can count to one" - Bob Widlar

Re: Network protocols for anyone who knows a programming language

#6
With the current state of generally terrible technical writing and my ever decreasing attention span it's bloody refreshing to read a concise and well written explanation of a highly technical subject!

I'll definitely have to check out the rest of their 'compendium': https://www.destroyallsoftware.com/compendium

Re: Network protocols for anyone who knows a programming language

#7

With the current state of generally terrible technical writing and my ever decreasing attention span it's bloody refreshing to read a concise and well written explanation of a highly technical subject! I'll definitely have to check out the rest of their 'compendium': https://www.destroyallsoftware.com/compendium

What do you see as an issue in technical writing, if anything past not concise or well written?

Re: Network protocols for anyone who knows a programming language

#9
post #3

One interesting note re: 8b/10b encoding. The motivation in the article is accurate, but not the whole story (never is, in the analog world). Nowadays, 8b/10b (or more realistically 128b/130b) is critical to enable clock recovery by making sure the signal transitions frequently enough. > Computers can't count past 1 Reminds me of this excellent quote: "Every idiot can count to one" - Bob Widlar

Yeah, that section is a little ropey; the real way to think of high-speed networking systems is not that they send levels but that they send edges. Levels can drift around all over the place, and in a fast system the level at one end is not the same as the level at the other.

This line of thinking makes clearer what signal reflections are and why they are a problem, and what the role of eye diagrams is.

Re: Network protocols for anyone who knows a programming language

#10

> An interpacket gap of 96 bits (12 bytes) where the line is left idle. Presumably, this is to let the devices rest because they are tired.

Kind of! They allow systems with slightly different clock rates to adjust. A system sending data nominally at 10 Gb/s can actually run slightly faster to a system running slightly slower b/c their timing bases (crystals) oscillate at slight different frequencies.
Post reply on HN