Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


> 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.


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.


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.


> A linear log of changes is an absolute lie

Compared to what?


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


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


But not the other way around!


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.


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.


> distributed systems are hard

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




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

Search: