unofficial mirror of emacs-tangents@gnu.org
 help / color / mirror / Atom feed
From: Qiantan Hong <qhong@mit.edu>
To: Jean Louis <bugs@gnu.support>
Cc: "emacs-tangents@gnu.org" <emacs-tangents@gnu.org>
Subject: Re: crdt.el: proposal that server enforces the mode\
Date: Thu, 22 Oct 2020 00:16:56 +0000	[thread overview]
Message-ID: <F7101292-2607-4B43-9E17-942417CA5B1D@mit.edu> (raw)
In-Reply-To: <X5DOU4qWQzlxB0Q2@protected.rcdrun.com>

[-- Attachment #1: Type: text/plain, Size: 1452 bytes --]

> 
>> I’m not sure about the idea of letting the server “dictate”
>> anything.  Emotionally I don’t like it — I try to avoid power
>> hierarchy. And technically, I can synchronize Boolean variable also
>> using CRDT.
> 
> dictate
> 
> * Overview of verb dictate
> 
> The verb dictate has 3 senses (first 2 from tagged texts)
> 1. (8) order, prescribe, dictate -- (issue commands or orders for)
> 2. (1) dictate -- (say out loud for the purpose of recording; "He dictated a report to his secretary")
> 3. dictate -- (rule as a dictator)
> 
> My usage of dictate is in the sense of definition 1, not 3, so when
> you press a key in Emacs you already issue some commands, if you share
> a buffer, you dictate that it is shared, right?
> 
> crdt.el shall be collaborative, with many factors in synchronization.
> 
So in this occasion particularly, I’m asking whether should the server
decide exclusively what minor-mode to enable, or values of buffer local variables,
or any client can change it?

For Boolean variables (like on/off of minor modes), I can give write access to
every peer and synchronize it using PN counter CRDT. I can also do similar
thing to some other buffer local variables with the help of some annotations.

However, (although I don’t like it very much), I think one can argue that giving
server exclusive write permission avoid communicational conflicts or even chaos.
What do you think?

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 1858 bytes --]

  reply	other threads:[~2020-10-22  0:16 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20201018092201.GG9782@protected.rcdrun.com>
     [not found] ` <2F36D10F-A179-445D-9417-65194F1CF2F1@mit.edu>
     [not found]   ` <CDA708E8-3CE4-4C8A-8FAC-7E484CCA6F95@mit.edu>
2020-10-21 23:47     ` TODO crdt-stop-session, selecting deleted buffer, fails to remove session from the list Jean Louis
     [not found]       ` <5AA05FFC-47C1-458D-AAA9-1AC63CF30858@mit.edu>
2020-10-23  8:10         ` Jean Louis
2020-10-23 10:59           ` Eli Zaretskii
2020-10-21 23:54     ` crdt.el: proposal that server enforces the mode Jean Louis
2020-10-22  0:04       ` Qiantan Hong
2020-10-22  0:12         ` crdt.el: proposal that server enforces the mode\ Jean Louis
2020-10-22  0:16           ` Qiantan Hong [this message]
2020-10-22  0:28             ` Jean Louis
2020-10-22  0:31             ` crdt.el: include chat buffer Jean Louis
2020-10-22  0:33               ` Aldric Giacomoni
2020-10-22  0:40                 ` Jean Louis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=F7101292-2607-4B43-9E17-942417CA5B1D@mit.edu \
    --to=qhong@mit.edu \
    --cc=bugs@gnu.support \
    --cc=emacs-tangents@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).