Fragile narrow laggy asynchronous mismatched pipes kill productivity: Difference between revisions

(Created page with "The network connection or the other end can have hardware failures, these have different implications but both manifest as just a timeout. Everything needs to handle failure....")
 
m (→‎top: replaced: ’ → ' (2))
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The network connection or the other end can have hardware failures, these have different implications but both manifest as just a timeout. Everything needs to handle failure. Bandwidth is limited so we need to carefully design protocols to only send what they need. Network latency is noticeable so we need to carefully minimize round-trips. Especially with >2 input sources (UIs count) all sorts of races and edge cases can happen and need to be thought about and handled. It’s often not possible to upgrade all systems atomically, so you need to handle different ends speaking different protocol versions. If you don’t want everything to be taken down by one malfunction you need to defend against invalid inputs and being overwhelmed. Sometimes you also need to defend against actual attackers. Everything gets packed as bytes so you need to be able to (de)serialize your data.
The network connection or the other end can have hardware failures, these have different implications but both manifest as just a timeout. Everything needs to handle failure. Bandwidth is limited so we need to carefully design protocols to only send what they need. Network latency is noticeable so we need to carefully minimize round-trips. Especially with >2 input sources (UIs count) all sorts of races and edge cases can happen and need to be thought about and handled. It's often not possible to upgrade all systems atomically, so you need to handle different ends speaking different protocol versions. If you don't want everything to be taken down by one malfunction you need to defend against invalid inputs and being overwhelmed. Sometimes you also need to defend against actual attackers. Everything gets packed as bytes so you need to be able to (de)serialize your data.


Now that you have read this, all of these things will happen to your network unless you repost this 7 times on 7 different internets in the next 7 days. Actually there are no 7 different internets so you're FUCKED HAHAHAAHAH
Now that you have read this, all of these things will happen to your network unless you repost this 7 times on 7 different internets in the next 7 days. Actually there are no 7 different internets so you're FUCKED HAHAHAAHAH
Line 9: Line 9:
[[Category:WHAT A TWIST!]]
[[Category:WHAT A TWIST!]]
[[Category:Pages with grammar that doesn't suck]]
[[Category:Pages with grammar that doesn't suck]]
[[Category:Originally on r/shittynosleep]]
{{Comments}}
{{Comments}}
[[Category:Shortpasta]]

Latest revision as of 19:27, 22 August 2023

The network connection or the other end can have hardware failures, these have different implications but both manifest as just a timeout. Everything needs to handle failure. Bandwidth is limited so we need to carefully design protocols to only send what they need. Network latency is noticeable so we need to carefully minimize round-trips. Especially with >2 input sources (UIs count) all sorts of races and edge cases can happen and need to be thought about and handled. It's often not possible to upgrade all systems atomically, so you need to handle different ends speaking different protocol versions. If you don't want everything to be taken down by one malfunction you need to defend against invalid inputs and being overwhelmed. Sometimes you also need to defend against actual attackers. Everything gets packed as bytes so you need to be able to (de)serialize your data.

Now that you have read this, all of these things will happen to your network unless you repost this 7 times on 7 different internets in the next 7 days. Actually there are no 7 different internets so you're FUCKED HAHAHAAHAH


Original author unknown

Comments • 0
Loading comments...