
Is Twitter causally-consistent? - ingve
https://muratbuffalo.blogspot.com/2018/11/is-twitter-causally-consistent.html
======
snowwrestler
Isn’t this a known feature of Twitter, usually called a soft block or forced
unfollow? You block and unblock someone quickly and it forces them to unfollow
you (and more importantly, does not signal them that it happened). I have
heard of people fearing harassment to use this technique to get themselves out
of a person’s timeline (out of sight, out of mind) without the pseudo-
confrontation of a block.

~~~
michaelmrose
Isn't it weird that someone else controls this. It seems like a website
removing itself from your bookmarks.

Maybe twitter could instead work on not being a terrible way to communicate
coherent thoughts to each other instead.

~~~
wafflesraccoon
I would argue that it is closer to being unfriended on Facebook than a website
removing itself from your bookmarks.

~~~
michaelmrose
Facebook is mostly info that is scoped to a defined set of people. It makes
implicit sense to have your access to private information removed if you no
longer qualify eg no longer a friend.

Twitter is publishing data that is world visible and making it hard for
individuals who have been snubbed to keep track of what everyone including
them if they log out can in fact see by removing their bookmark to same.

The behavior of toggling block is weirder yet because the data is world
published, you can read it, you can follow it but someone else has reached out
and toggled the state of your account in some weird spooky action at a
distance fashion that works only because it confuses people.

Well designed things work in a way that is predictable to users. Who would
predict that your follow status on accounts would from the perspective of the
user toggle itself randomly.

It's even worse that twitter sees purpose built for short toxic exchanges too
short and badly organized for anyone to get each others point where the
standard protocol is to disengage from anyone who disagrees and shout at all
the people who believe exactly as you do.

------
mav3rick
I find designing for different consistency (trade offs with scale etc.) models
super interesting. Where can I find work like this ? I am assuming at big
companies this work is already done. Any distributed systems experts here that
can point me to some companies and / or small projects I ca build on the side.

~~~
pvarangot
Martin Kleppmann's book Designing Data-Intensive Applications has two chapters
where it talks about consistency (one about replication and another one about
consensus and consistency). That books reference sections for each character
are goldmines.

The work is never "completely done" because most of the known or reliable
solutions involve choosing tradeoffs with scalability, speed or data locality,
so you can always go bespoke to optimize for the current business needs, and
when they change you may need to change protocols or algorithms again.

------
d33
Could someone explain casual consistency to me? Is it just about not showing
earlier messages to someone who got blocked, or is there something more to it?

~~~
bonoboTP
Why call it causal though? It seems like temporal consistency to me. What's
the causation aspect?

~~~
beaconstudios
because the thing that needs to be maintained is the causal ordering of
events. For the example from TFA, block -> tweet and tweet -> block have the
causal effect of the blocked user seeing or not seeing the tweet respectively.
Phrasing it as causal ordering removes time from the equation, which you
aren't always able to take into account with distributed systems. Causal
ordering also allows for causally unrelated events to appear in any order, for
example updating your bio and posting a tweet. Check out the wiki article on
logical clocks for a rough starting point in delving into this topic:
[https://en.wikipedia.org/wiki/Logical_clock](https://en.wikipedia.org/wiki/Logical_clock).

~~~
kd5bjo
A more common example of causally unrelated events is two people tweeting from
different parts of the world that don’t follow each other. The order these
appear somewhere really doesn’t matter to anyone.

