Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2

2009-06-14 Thread Bobby Powers
On Sat, Jun 13, 2009 at 3:45 PM, Benjamin M.
Schwartzbmsch...@fas.harvard.edu wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 SharedTextDemo-2 is now available at
 http://dev.laptop.org/~bemasc/SharedTextDemo-2.xo.

 This version is functionally identical to (and even protocol-compatible
 with) version 1.  However, I have redesigned the entire operational
 transformation engine.  The new algorithms are still O(N), and the demo is
 still too slow to write a whole essay.  However, I can now recommend
 Groupthink's SharedTextView to anyone who wants instant collaboration in a
 GTK TextView, and is editing less than 1 Kilobyte of text (on an XO-1, or
 proportionally more on more powerful machines).

Sounds great!  Are you expecting more performance gains in the future?
 Is there a git repository somewhere I could check out?

bobby

 Please contact me if you would like help using Groupthink in your activity.

 The new algorithms are moderately interesting.  I have completely removed
 all explicit trees, and all walking of trees.  Instead, the new algorithm
 maintains two Lists, and a Dict for their inverted index.  This allows
 determining the Nth character, locating an existing edit, or computing a
 new edit, in constant time.  Actually performing an edit requires O(N)
 time, but the O(N) component is now a small, simple loop.  I am hopeful
 that these algorithms are amenable to integration with a self-balancing
 tree (most likely a customized variant of a Rope), for log-time
 performance on all operations.  Time permitting, I may implement this.

 - --Ben
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.11 (GNU/Linux)

 iEYEARECAAYFAko0Ac8ACgkQUJT6e6HFtqTdLQCfaUT9HilltmtM0803ZGv4Ja4t
 bpQAn1LQKDMy1DvD845J8X722m6ayKuv
 =ZBzM
 -END PGP SIGNATURE-
 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2

2009-06-14 Thread Benjamin M. Schwartz
Bobby Powers wrote:
 Sounds great!  Are you expecting more performance gains in the future?

Only if someone implements them!

  Is there a git repository somewhere I could check out?

Yes! http://dev.laptop.org/git/projects/dobject/

--Ben



signature.asc
Description: OpenPGP digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2

2009-06-14 Thread Gary C Martin
On 15 Jun 2009, at 01:59, Benjamin M. Schwartz wrote:

 Bobby Powers wrote:
 Sounds great!  Are you expecting more performance gains in the  
 future?

 Only if someone implements them!

Definitely has my interest!!

Useful collaboration is _really_ tough, your Groupthink potentially  
offers a generalised sync solution for many Activity authors. Concrete  
example for me: It would seem to make a good collaboration back end  
for Labyrinth mind-maps. Mind-maps are generally fairly small (XML)  
documents (at least good ones are). Labyrinth does support adding  
drawings and images as nodes, but I can try to deal with those as  
unique hashed text identities for collaborative sessions, and transfer/ 
sync their actual raw content via other mechanisms when they change.

Would be great to have the ability for a handful of folks to  
collaborate on creating mind-maps together in realtime.

Regards,
--Gary

 Is there a git repository somewhere I could check out?

 Yes! http://dev.laptop.org/git/projects/dobject/

 --Ben

 ___
 Sugar-devel mailing list
 Sugar-devel@lists.sugarlabs.org
 http://lists.sugarlabs.org/listinfo/sugar-devel

___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel


Re: [Sugar-devel] GSoC Groupthink Update: SharedTextDemo-2

2009-06-14 Thread Benjamin M. Schwartz
Gary C Martin wrote:
 On 15 Jun 2009, at 01:59, Benjamin M. Schwartz wrote:
 
 Bobby Powers wrote:
 Sounds great!  Are you expecting more performance gains in the future?

 Only if someone implements them!
 
 Definitely has my interest!!
 
 Useful collaboration is _really_ tough, your Groupthink potentially
 offers a generalised sync solution for many Activity authors. Concrete
 example for me: It would seem to make a good collaboration back end for
 Labyrinth mind-maps. Mind-maps are generally fairly small (XML)
 documents (at least good ones are). Labyrinth does support adding
 drawings and images as nodes, but I can try to deal with those as unique
 hashed text identities for collaborative sessions, and transfer/sync
 their actual raw content via other mechanisms when they change.
 
 Would be great to have the ability for a handful of folks to collaborate
 on creating mind-maps together in realtime.

I agree.  In fact, in groupthink_base.py there's an implementation of a
shared Tree (in the graph-theoretic sense), which I wrote while trying to
add collaboration to Tomeu's mind-map activity.*  Structures for sharing
arbitrary blobs would definitely be a welcome addition to Groupthink.

--Ben

*: There's also a SharedTreeStore in gtk_tools.py, wrapping the shared
tree into the gtk TreeStore interface.  However, neither data structure is
at all tested, and both are probably full of bugs.  I never got to try
integrating this with Tomeu's activity, because I do all my testing on
XOs, and the activity wouldn't run on 0.82



signature.asc
Description: OpenPGP digital signature
___
Sugar-devel mailing list
Sugar-devel@lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel