Hi Bram, I've long been a fan of your work, and have met you at a party or two in SF. I do research on synchronization in the Braid.org group, and have had a particular interest in generalizing VCS theory with OT and CRDT theory. I followed many of your old posts when learning about VCS theory, and am grateful for your work and how you write it up for the public.
In research last year I discovered a mathematical equivalence between the Weave data structure and CRDT, and between "rebase" and OT. I suspect that these fields (CRDT, OT, and VCS) are about to converge, and we can benefit from clarifying their equivalence, and borrowing techniques from one to use in the other.
In particular, the modern implementations of the CRDT and OT algorithms do something you want— they precisely track specific changes through history, and provide high-performance abilities to check out any particular version from the past, and to rebase edits on other versions, without losing track of changes through history. Maybe I could share more on this with you sometime. Are you continuing to work on this topic?
I'm glad work on this subject is ongoing and I'm happy to discuss it but I'm not actively working on version control right now. That might be a bit hard to believe given this post, but there are always things gnawing at the corners of my brain and generally when I post about them it's in an attempt to get that gnawing to stop, with either me declaring victory or someone else picking it up being the hopeful outcome.
Hi Bram, I've long been a fan of your work, and have met you at a party or two in SF. I do research on synchronization in the Braid.org group, and have had a particular interest in generalizing VCS theory with OT and CRDT theory. I followed many of your old posts when learning about VCS theory, and am grateful for your work and how you write it up for the public.
In research last year I discovered a mathematical equivalence between the Weave data structure and CRDT, and between "rebase" and OT. I suspect that these fields (CRDT, OT, and VCS) are about to converge, and we can benefit from clarifying their equivalence, and borrowing techniques from one to use in the other.
In particular, the modern implementations of the CRDT and OT algorithms do something you want— they precisely track specific changes through history, and provide high-performance abilities to check out any particular version from the past, and to rebase edits on other versions, without losing track of changes through history. Maybe I could share more on this with you sometime. Are you continuing to work on this topic?
I'm glad work on this subject is ongoing and I'm happy to discuss it but I'm not actively working on version control right now. That might be a bit hard to believe given this post, but there are always things gnawing at the corners of my brain and generally when I post about them it's in an attempt to get that gnawing to stop, with either me declaring victory or someone else picking it up being the hopeful outcome.