Thread overview
sample collaborative notepad implementation
Oct 12, 2017
ketmar
Oct 13, 2017
Mengu
Oct 13, 2017
ketmar
October 12, 2017
in the wootedit repo[0] you can find a very simple (but working) collaborative notepad implementation, based on WOOT algorithm[1][2].

if you ever wanted to know how all those collaborative editors were done... look no further! ;-) wootedit is simple, but complete implementation of such editor, with UDP-based network communication. currently, it was tested under GNU/Linux only, but there are no platform-specific code (except some socket API), so porting it to another OS should be trivial.

you will need IV[3] and ARSD[4] libraries to build wootedit.


[0] http://repo.or.cz/wootedit.git
[1] http://hal.inria.fr/inria-00071240/
[2] https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
[3] http://repo.or.cz/iv.d.git
[4] https://github.com/adamdruppe/arsd
October 13, 2017
On Thursday, 12 October 2017 at 01:43:00 UTC, ketmar wrote:
> in the wootedit repo[0] you can find a very simple (but working) collaborative notepad implementation, based on WOOT algorithm[1][2].
>
> if you ever wanted to know how all those collaborative editors were done... look no further! ;-) wootedit is simple, but complete implementation of such editor, with UDP-based network communication. currently, it was tested under GNU/Linux only, but there are no platform-specific code (except some socket API), so porting it to another OS should be trivial.
>
> you will need IV[3] and ARSD[4] libraries to build wootedit.
>
>
> [0] http://repo.or.cz/wootedit.git
> [1] http://hal.inria.fr/inria-00071240/
> [2] https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
> [3] http://repo.or.cz/iv.d.git
> [4] https://github.com/adamdruppe/arsd

dude, didn't know you were sitting on a gold mine (iv). thanks for sharing!
October 14, 2017
Mengu wrote:

> dude, didn't know you were sitting on a gold mine (iv). thanks for sharing!

you're welcome. if you need something other than GPL on some modules, this is usually negotiable (for free ;-).