Remix.run Logo
gritzko 4 days ago

The author’s journey is probably just starting. I had this exact mindset about 10 years ago. Long story short: distributed systems are hard. A linear log of changes is an absolute lie, but it is a lie easy to believe in.

aleph_minus_one 4 days ago | parent | next [-]

> distributed systems are hard.

While this may be true, the central issue is a different one: most users and/or developers are not very privacy-conscious, so they don't consider it to be worth the effort to solve the problems that go in hand with such distributed systems.

Romario77 4 days ago | parent | next [-]

In the case the author presents there is one solution - last write wins. Which while simple to implement is not really satisfactory for many use cases.

Someone could write a whole slew of changes locally and someone else can eliminate all their work because they have an outdated copy locally and they made a simple update overriding the previous person's changes.

That's why git has merges and conflicts - it doesn't want to lose changes and it can't automatically figure out what should stay in case of a conflict.

fellowniusmonk 4 days ago | parent [-]

I think anyone going down the path of distributed editing would be well served to start with Loro and an instance of chatgpt to answer questions.

4 days ago | parent | prev [-]
[deleted]
MangoToupe 4 days ago | parent | prev | next [-]

> A linear log of changes is an absolute lie

Compared to what?

ainiriand 4 days ago | parent [-]

A graph of changes in a distributed system, I assume.

MangoToupe 4 days ago | parent [-]

...how is that any less of a lie? You can project a linear log into a graph trivially.

Jaxan 4 days ago | parent [-]

But not the other way around!

MangoToupe 4 days ago | parent [-]

I don't understand what you appear to view as obvious. Can you explain?

All you need is a way to resolve conflicts and you can serialize any distributed set of actions to a log.

immibis 3 days ago | parent [-]

All you need is a time machine and then you can prevent the holocaust. All you need is a philosopher's stone and then immortality is within your grasp. All you need is an infinite source of energy and then the finiteness of the universe need not concern you. All you need is a magic genie granting infinite wishes and you can end world hunger.

If all you need to solve a problem is something impossible, then you haven't solved it.

goodpoint 3 days ago | parent | prev [-]

> distributed systems are hard

Everything is hard if you don't know how to do it.