TIL that Ethernet encodes bytes as 10 bits not as a parity / error detection mechanism as I had thought, but in order to be "DC-free" (to not accumulate too many electrons on either end of a connection)<p><a href="https://en.wikipedia.org/wiki/8b/10b_encoding#Running_disparity" rel="nofollow">https://en.wikipedia.org/wiki/8b/10b_encoding#Running_dispar...</a>
I constantly think to myself that I should make a high quality Anki deck for teaching <i>and retaining</i> the low level networking basics. Even after a college course on the subject the only way it truly clicked with me in a laying way was by Ankifying Michael W. Lucas's phenomenal <i>Networking for System Administrators</i>, and now a solid 30% of problems I run across on a daily basis are made easier by having that knowledge at my fingertips.
One fun fact I learned while at uni was that _technically_ referring to the ethernet connector as RJ45 is incorrect, and 8P8C would be the correct term [1]. But obviously, these days everyone knows what RJ45 is, and almost no one knows what 8P8C is.<p>[1]: <a href="https://en.wikipedia.org/wiki/Modular_connector#8P8C" rel="nofollow">https://en.wikipedia.org/wiki/Modular_connector#8P8C</a>
Related:<p><i>Network protocols for anyone who knows a programming language (2017)</i> - <a href="https://news.ycombinator.com/item?id=36984171">https://news.ycombinator.com/item?id=36984171</a> - Aug 2023 (39 comments)<p><i>Network protocols for anyone who knows a programming language</i> - <a href="https://news.ycombinator.com/item?id=18967387">https://news.ycombinator.com/item?id=18967387</a> - Jan 2019 (71 comments)
I love these low level/from scratch resources. Recently been doing some game development with Godot. I decided to take a break and make a toy game with just SDL2. Lots of stuff I learned (especially from Lazy Foo’s SDL2 series) helped click a lot of concepts from Godot and let me gain a deeper understanding.<p>Networking is something I find intimidating so this is a good shot to jump in and grow