emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Question collaborative editing - Wikipedia reference


From: Karl Fogel
Subject: Re: Question collaborative editing - Wikipedia reference
Date: Sun, 04 Oct 2020 20:08:54 -0500
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

>Note that there’s some calls to CRDT-VERIFY-BUFFER
>which is just for debug purpose (it scan the whole buffer and 
>verify integrity). For a performance evaluation replace
>it with an empty function or just comment out those calls.

Note to those who looking for that string in crdt.el:  The symbol is actually 
`crdt--verify-buffer'.

Qiantan, I'm very excited that you've started this work!  I'll look at the code 
try it out right away.

May I suggest putting a copyright notice at the top of the file, so it's clear 
that this is free software?  Please see the attached patch for an example of 
how to do it.

Best regards,
-Karl

>> On Oct 4, 2020, at 7:59 PM, Qiantan Hong <qhong@mit.edu> wrote:
>> 
>> I’ve finished the initial work for a CRDT based
>> collaborative editing Elisp package. The .el is attached.
>> 
>> The focus is on implementing the core algorithm
>> and evaluating performance, so no cursor indicator,
>> username display etc was implemented. However,
>> they should be easy to add and not relevant to performance
>> concern.
>> 
>> I’ve tested it with my friends and the performance seems 
>> reasonable. Using LogootSplit algorithm, the number of
>> text property changes are relatively small.
>> 
>> M-x crdt-test-server starts a local server at port 1333,
>> and M-x crdt-test-client connects to 127.0.0.1:1333.
>> Or use crdt-serve-buffer and crdt-connect for arbitrary
>> address/port.
>> <crdt.el>

--- crdt.el     2020-10-04 19:59:06.345935516 -0500
+++ crdt.el     2020-10-04 20:06:29.778398189 -0500
@@ -1,3 +1,24 @@
+;;; crdt.el: collaborative editing using Conflict-free Replicated Data Types
+;; 
+;; Copyright (C) 2020 Qiantan Hong
+;; 
+;; Author: Qiantan Hong <qhong@mit.edu>
+;; Maintainer: Qiantan Hong <qhong@mit.edu>
+;; Keywords: collaboration crdt
+;; 
+;; CRDT is is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;; 
+;; CRDT is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;; 
+;; You should have received a copy of the GNU General Public License
+;; along with CRDT.  If not, see <https://www.gnu.org/licenses/>.
+
 (require 'cl-lib)
 
 ;; Loogoot split algorithm

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]