Hacker News new | past | comments | ask | show | jobs | submit login

BTW, that strategy is known as "operational transformation". Here's an article about it if you're interested in some of the science behind it: https://en.wikipedia.org/wiki/Operational_transformation



Not entirely, OT does intention resolution on a centralized server - while the described method doesn't need a resolution server.

So in that regard, the above description is more elegant, yet somewhat irrelevant to text/rich-text merging that OT does.

You can trivially extend the above description to handle multi-user functionality by:

- Putting an upper bound on the time skew to (A) increase resolution of sync while (B) not needing to trust that clock drift is non-trivial.

- Using a state machine to resolve updates outside the bounds of the current machine's current context (including any erroneous clock drift).

- Running a P2P NTP algorithm to reduce clock drift where possible, without needing intermediary servers.

- Deterministically fallback to a naive algorithm, like lexical sort, if & only if updates collide on the same vector on the same timestamp. This is important as a lot of CRDTs don't handle conflicts that happen on vector collisions.

We've learned a lot implementing these things in production (it runs on Internet Archive, plus a lot of "dApps" that are doing terabytes of daily traffic) with our system - a good overview is a "comic strip explainer" I did that explains more thoroughly the reasoning behind thes various choices ( http://gun.js.org/distributed/matters.html ).


I find the description of state transition and Einstein's relationship to quantum mechanics distorted to the point of being offensive!

Why would anyone take the gross simplification that is the orbital picture and then have a problem with particles physically moving between the levels? Why invent this silly notion of "teleportation", if you want quantum mechanics to get spooky just draw the proper probability clouds for Dirac's sake!


Because my last reply to this got flagged (perhaps because "Wat?" wasn't specific enough):

What does this have to do with anything we're discussing? Did you accidentally post your reply in the wrong tab?




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: