And I forgot a whole class of problems that come with the limited precision of floating points. There's a few ambiguous cases you can construct. And good look with the (or should I say "a"?) json spec not clearing those up at all. There's a bunch of implementation-specific behavior hidden in here, and it is already baked into the protocol.
I'm sorry if I sound bitter, but these are real problems with the protocol. "We'll use json, that's easier" and "We'll add timestamps, that's easier" add up to a complex mess, where not a single person, not even dominic, knows how exactly everything works. These are the reasons I have become rather inactive, and I already feel frustrated just from my last few posts.
As much as I love the design space ssb is exploring, the protocol details prevent me from committing to it. I don't even want to blame anyone. All design decisions are trade-offs, and the ssb protocol as it stands allows rapid development, high experimentations, and fast exploration of the design space. But these come at the cost of the ability to stabilize the protocol, and of long-term maintainability. I joined the community in a phase where the importance of these properties already shifted to the latter. So even if intellectually I can understand/retrace/justify the protocol design (or protocol evolution?), I mostly feel frustration.
Huh, this post turned out different than I expected... But there have been (and are) quite a few other technically-inclined users with similiar feelings, so maybe this should be discussed more. CCing a few channels/humans who might care about this meta-protocol stuff. Feel free to add more, I'm lacking the energy to go on a search right now. #butt-studies #community-gardening @corlock @Teq (you were part of the research project about people's motivation on the network, right?)