Pushed another big update to the #Spritely Crystal docs: "More on conflicts and the CAP theorem" https://gitlab.com/spritely/crystal/blob/master/crystal/scribblings/intro.org
In case you want the tl;dr of this particular update:
- Spritely Crystal is vulnerable to all sorts of weird behavior if we write out conflicting revisions
- Oh no, now this seems like bad design, right?
- Oh wait a whole bunch of our technology has this problem...
- Git has this problem! Secure Scuttlebutt has this problem!! ActivityPub has this problem!!!
- It turns out there are theoretical limits that force us to make tradeoffs
- So, we should at least know what those tradeoffs are
I think Spritely Crystal is useful. Unlike Magenc, it's not as rock-solid... crystals can shatter. That doesn't mean it isn't useful. And one reason I spent all this time on it is not just because I think it's useful, but because it illustrates so well a problem many folks in our community don't even realize we have... and one born out of serious challenges.
Anyway, as always, feedback is *most welcome*. I hope people are finding these writeups enjoyable and valuable.
@cwebber I think about these things too. We might be in the same line of business!
I find that some programming languages make immutability and change more difficult than others. I like those that happily support returning a new copy with a value that differs from the original, and leave it to us to discard that original. Or keep it. So we can undo an unwanted change.
Server run by the main developers of the project It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!