Kicks Condor


fragile narrow laggy asynchronous mismatched untrusted pipes

fragile narrow laggy asynchronous mismatched untrusted pipes

This term comes from a May 2020 thoughtdump by Tristan Hume, in which the problems of modern day hacking are blamed (mostly) on our flakey - no wait, our flanalagamu - distributed network. (And yet, our current network is still too centralized!)

But I find that this is true. Literal computers hate exceptions. And exposure to the network is like connecting to a nozzle spewing failure.

From the article:

  • Fragile: 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.
  • Narrow: Bandwidth is limited so we need to carefully design protocols to only send what they need.
  • Laggy: Network latency is noticeable so we need to carefully minimize round-trips.
  • Asynchronous: Especially with >2 input sources (UIs count) all sorts of races and edge cases can happen and need to be thought about and handled.
  • Mismatched: It’s often not possible to upgrade all systems atomically, so you need to handle different ends speaking different protocol versions.
  • Untrusted: 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.
  • Pipes: Everything gets packed as bytes so you need to be able to (de)serialize your data.

It’s tough to know how to deal with all of these simultaneously - the mismatched bullet has me troubled.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.


This page is also at kickscofbk2xcp5g.onion and on hyper:// and ipns://.