I need to get to work visualizing this, seems fun.
Even though I know this isn’t anywhere near as complex as networking systems can get, I feel like I’m taking a fairly deep dive into networking for distributed systems. Sure, Urbit as a system takes care of a bunch of things for you, but remember that I’m still working with platform-level code here. It’s technically an application, but it needs to solve a bunch of things to be as useful to others as it can be. Nobody’s going to use a platform that slows to a crawl once you’re dealing with more than a handful of participants.
The work I’m currently doing on it is mostly just thinking. We’ve got something functional, but the way it propagates messages is kinda clunky and way inefficient. It needs to be better. How? That’s what I’m trying to think of. It’s fun though, imagining a bunch of network nodes in my head, and having them light up when receiving data. Different approaches produce vastly different patterns.
It might be fun to try and visualize these things in cute little animations. Sure, the better solutions won’t be as pretty, but that also makes them good tools to show how different choices affect the network in practice.
Then again, that’s mostly just fluff on the side. I need to focus on getting this right.