
Why CSP matters I: Keeping things in sync (2016) - tosh
https://www.reaktor.com/blog/why-csp-matters-i-keeping-things-in-sync/
======
skybrian
The FDR4 checker [1] looks pretty slick. I'm not that familiar with the area,
though, so I'm wondering how it compares to model checkers? How does using a
model checker compare to using a refinement checker? (I've read that there are
model checkers for TLA+.)

[1]
[https://www.cs.ox.ac.uk/projects/fdr/](https://www.cs.ox.ac.uk/projects/fdr/)

~~~
peteretep
I used FDR4 extensively for a week. It's as much a simple IDE as anything.

------
sdenton4
I wonder if the real solution here is just better UX... The WhatsApp model for
message delivery gives visual confirmation when a message is sent, and then
more once it's been ACK'ed by the receiver's phone. This manages the
uncertainty, instead of trying to solve it. I know that my change to the
grocery list isn't 'real' until I've gotten ACKs back from everyone.

~~~
lathiat
iMessage almost does this if the recipient turns on "Message Receipt" \- you
get sent to server, and then received by the person.

I fully understand in a privacy conscious scenario wanting to have the option
to opt out of the second step.

------
amelius
Differential sync is not a very clean solution, because it doesn't encode the
intention of differences.

If one person increments a variable from 10 to 11, and another person sets the
variable from 10 to 11 independently, does that mean that the final value
should be 11 or 12?

Of course, in practice, you can work around cases like this. It is just not
very clean and feels like a hack.

------
idle_processor
Saw "CSP" and immediately thought of constraint satisfaction problems [0].

Unfortunate acronym.

[0]
[https://en.wikipedia.org/wiki/Constraint_satisfaction_proble...](https://en.wikipedia.org/wiki/Constraint_satisfaction_problem)

~~~
atticusCr
When I saw "CSP" I thought of Content Security Policy instead
[https://developer.mozilla.org/en-
US/docs/Web/HTTP/CSP](https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP)

~~~
m0dest
Me too.

