4 ms·
Been using Syncthing with graphs forever now. Probably will continue using that.
by TechDebtDevin 2y ago
Been using Syncthing with graphs forever now. Probably will continue using that.
- bachmeier 2y agoEdit: Not sure why I posted this as a comment on someone else's post, but I'll leave it since it's here. I haven't followed Logseq much since they announced the move to a database. I liked the idea when it was a regular open source project. They've taken a considerable amount of money from outside, they're moving from plain text files to a database, and they're planning to monetize by selling sync features. We've been down this road, I don't know, maybe a few thousand times before. We know how this story ends. Heck, we could write the blog posts and the defensive comments about sustainability, running a business, and all that jazz right now. (This comment is not a request for a lecture on how business models work. I understand how they work, and that's the point of my comment.)
- brunoqc 2y ago> they're moving from plain text files to a database I wonder if a database is required for CRDTs. I don't know if logseq use that, but if we had a FOSS note-taking app with CRDTs, we might have to give up the text format.
- mweidner 2y agoYou can store a text-editing CRDT's state in a standalone file instead of in a database. However, it is hard to make the file human-legible or updateable. The best you could do is probably something like a piece table (https://en.wikipedia.org/wiki/Piece_table https://en.wikipedia.org/wiki/Piece_table), or the plain text followed by some opaque CRDT metadata. If you want to preserve the ability to edit plain text files using an arbitrary program, your sync engine could be a file watcher that computes a diff each time the file is saved - like git does, but character-based instead of line-based.