| ▲ | Show HN: Opbox – CRDT based sync for text files on disk(opbox.dev) | |||||||
| 10 points by sensodine 12 hours ago | 2 comments | ||||||||
Hi! I’m one of the founders of s2.dev, and recently have been hacking on opbox, which is an open-source daemon that turns directories of text files (code, markdown, etc) into collaborative, multi-player workspaces. This started as a bit of an intellectual curiosity, to see if it was possible to do real-time sync at the filesystem level (i.e., in an editor-agnostic way). The idea is pretty simple:
This has worked surprisingly well for sharing things like Obsidian graphs in real-time.It’s most helpful in cases where you want the ability to edit local files from arbitrary editors, but still collaborate live. The experience is best from editors where you can configure an aggressive autosave policy, and where edits to an open file are reflected in the editor in a timely way. To gain confidence in the correctness of the core opbox flows (particularly all the nuances around bidirectional sync) I invested in wiring up deterministic simulation testing using the turmoil library, which has been incredibly helpful (see the opbox-sim crate in the repo). | ||||||||
| ▲ | miguel_martin 7 hours ago | parent [-] | |||||||
This is super cool! This seems super useful for pairing and multiple machine work. Honestly I wish something like this could replace git, but my guess is you’d need to build specialized editors for this. In the direction of: https://www.inkandswitch.com/upwelling/ I was wondering if I could use this for multiple processes (codex, nvim) on the same machine, but then I realized this use case is unnecessary (brain fart). | ||||||||
| ||||||||