<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7653.38">
<TITLE>RE: [Sugar-devel] [ANNOUNCE] Groupthink 0.1 pre-alpha</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/plain format -->
<BR>

<P><FONT SIZE=2>Thanks for the link Bobby!<BR>
<BR>
Very interesting that they independently developed techniques similar to ours. We were first though :-)<BR>
<BR>
Cheers<BR>
<BR>
Martin<BR>
<BR>
<BR>
<BR>
-----Original Message-----<BR>
From: Bobby Powers [<A HREF="mailto:bobbypowers@gmail.com">mailto:bobbypowers@gmail.com</A>]<BR>
Sent: Sun 1/25/2009 7:26 PM<BR>
To: Martin Edmund Sevior<BR>
Cc: bens@alum.mit.edu; Sugar Devel; Chris Ball<BR>
Subject: Re: [Sugar-devel] [ANNOUNCE] Groupthink 0.1 pre-alpha<BR>
<BR>
I stumbled across this google tech talk today on the same subject:<BR>
<A HREF="http://www.youtube.com/watch?v=S2Hp_1jqpY8">http://www.youtube.com/watch?v=S2Hp_1jqpY8</A><BR>
<BR>
I haven't watched most of it yet, but thought others might be<BR>
interested as well.<BR>
<BR>
bobby<BR>
<BR>
On Thu, Jan 15, 2009 at 3:02 AM, Martin Edmund Sevior<BR>
&lt;martines@unimelb.edu.au&gt; wrote:<BR>
&gt;<BR>
&gt; Hi Benjamin,<BR>
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks very much! I'm very interested in looking at the source<BR>
&gt; code and data structures.<BR>
&gt;<BR>
&gt; These kind of problems are exactly what abicollab (as used by Write) solves.<BR>
&gt;<BR>
&gt; I have given some detailed presentations about this. You can find one here:<BR>
&gt;<BR>
&gt; (the ogg version)<BR>
&gt;<BR>
&gt; <A HREF="http://mirror.linux.org.au/pub/linux.conf.au/2008/Wed/mel8-083.ogg">http://mirror.linux.org.au/pub/linux.conf.au/2008/Wed/mel8-083.ogg</A><BR>
&gt;<BR>
&gt; (presentation odp)<BR>
&gt;<BR>
&gt; <A HREF="http://mirror.linux.org.au/pub/linux.conf.au/2008/slides/083-AbiCollab.odp">http://mirror.linux.org.au/pub/linux.conf.au/2008/slides/083-AbiCollab.odp</A><BR>
&gt;<BR>
&gt; and wiki write up:<BR>
&gt;<BR>
&gt; <A HREF="http://www.abisource.com/wiki/AbiCollab">http://www.abisource.com/wiki/AbiCollab</A><BR>
&gt;<BR>
&gt; Maybe these ideas can help.<BR>
&gt;<BR>
&gt; Cheers!<BR>
&gt;<BR>
&gt; Martin<BR>
&gt;<BR>
&gt;<BR>
&gt; -----Original Message-----<BR>
&gt; From: sugar-devel-bounces@lists.sugarlabs.org on behalf of Benjamin M.<BR>
&gt; Schwartz<BR>
&gt; Sent: Thu 1/15/2009 3:25 PM<BR>
&gt; To: Martin Edmund Sevior<BR>
&gt; Cc: bens@alum.mit.edu; Sugar Devel; Chris Ball<BR>
&gt; Subject: Re: [Sugar-devel] [ANNOUNCE] Groupthink 0.1 pre-alpha<BR>
&gt;<BR>
&gt; -----BEGIN PGP SIGNED MESSAGE-----<BR>
&gt; Hash: SHA1<BR>
&gt;<BR>
&gt; Martin Edmund Sevior wrote:<BR>
&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; How do you solve &quot;internet lag&quot;.<BR>
&gt;&gt;<BR>
&gt;&gt; User A puts a character &quot;A&quot; in position 10, then before user B see sees<BR>
&gt; this (because of the finite propagation time), he puts character &quot;B&quot; in<BR>
&gt; position 10?<BR>
&gt;&gt;<BR>
&gt;&gt; Who wins? You just have to make sure the the document remains the same<BR>
&gt; for both users.<BR>
&gt;<BR>
&gt; This is, indeed, the central problem.&nbsp; For the moment, the answer is:<BR>
&gt; Groupthink does not support full documents, only short snippets of text.<BR>
&gt; I have prototyped a data structure that I believe can coherently resolve<BR>
&gt; these sorts of edit conflicts in long documents without any negotiation,<BR>
&gt; but it remains to be seen if the design will work.<BR>
&gt;<BR>
&gt; In general, Groupthink's approach (described at length in docstrings in<BR>
&gt; the code) is to write each data structure in such a way that any two users<BR>
&gt; who have observed the same set of messages will arrive at the same state,<BR>
&gt; regardless of the order in which those messages are received.&nbsp; The hard<BR>
&gt; part is figuring out how to do this for each kind of data structure.<BR>
&gt; However, once it is working, the code can be reused for many purposes<BR>
&gt; without needing to understand how it works.<BR>
&gt;<BR>
&gt; - --Ben<BR>
&gt; -----BEGIN PGP SIGNATURE-----<BR>
&gt; Version: GnuPG v2.0.9 (GNU/Linux)<BR>
&gt;<BR>
&gt; iEYEARECAAYFAkluuskACgkQUJT6e6HFtqQb2QCfXnSJHwZpn6Q/OsDSs8nJEb3x<BR>
&gt; vWIAoIJYuSuEp8EFOeKynHDLctW2S5iq<BR>
&gt; =Po5R<BR>
&gt; -----END PGP SIGNATURE-----<BR>
&gt; _______________________________________________<BR>
&gt; Sugar-devel mailing list<BR>
&gt; Sugar-devel@lists.sugarlabs.org<BR>
&gt; <A HREF="http://lists.sugarlabs.org/listinfo/sugar-devel">http://lists.sugarlabs.org/listinfo/sugar-devel</A><BR>
&gt;<BR>
&gt;<BR>
&gt; _______________________________________________<BR>
&gt; Sugar-devel mailing list<BR>
&gt; Sugar-devel@lists.sugarlabs.org<BR>
&gt; <A HREF="http://lists.sugarlabs.org/listinfo/sugar-devel">http://lists.sugarlabs.org/listinfo/sugar-devel</A><BR>
&gt;<BR>
&gt;<BR>
<BR>
</FONT>
</P>

</BODY>
</HTML>