[IPython-dev] Live sync as a service

Brian Granger ellisonbg at gmail.com
Wed Apr 30 22:43:50 EDT 2014


> Why do you have to, given that I didn't implement OT for IPython sync
> for SageMathCloud?

Ahh, I was under the impression that you did. Thanks for clarifying this point.

> The requirement for the differential transforms approach is that you
> have a way to compute diffs and apply patches, subject to some axioms.
>  That's pretty much it.
>
> Anyway, using differential transforms is more or less like using git
> (with commits every second of activity), so conceptually it feels
> familiar.  The difference is that instead of getting merge conflicts,
> the patch application algorithm is by definition "best effort" -- you
> apply as much of the patch as you can, and that's it. Things then
> converge quickly.

This sounds simpler than OT for sure. When we get to tackling for for
real in IPython (still a ways off) we will have to dig into this.

> When I looked at
>
>    https://goinstant.com/blog/build-your-own-google-docs-with-goinstants-new-ot-api
>
> earlier today I noticed it makes the possibly dubious claim that "OT
> is the technology behind awesome products like Google Docs and
> Etherpad".   When I was researching sync approaches last year, I came
> to the conclusion that Etherpad (which is open source now, I think)
> uses OT, but that Google Docs does not.  More precisely, Google Docs
> and Google Wave *did* use the OT approach, but then Docs was switched
> to differential sync (Docs was some non-Google product that Google
> bought and rewrote over many years...).     That said, I wasn't able
> to be 100% sure, since I didn't confirm this with anybody working on
> Docs at Google, except that the main person (Neil Fraser) behind
> Differential Sync works at Google.
>
> I'm planning to do more work on simplifying/rewriting/streamlining my
> sync code in the next few days, which will make fixing some bugs
> easier, and also make it easier to make an open source single-project
> version of SMC (which will still have IPython in it, of course).

It would be great if the real time sync parts of this evolve in a way
that can be reused elsewhere.

Thanks for the comments!

Cheers,

Brian

>  -- William
>
>>
>> Brian
>>
>> On Wed, Apr 30, 2014 at 10:32 AM, Thomas Kluyver <takowl at gmail.com> wrote:
>>> I just saw that this company is offering live sync as part of their
>>> platform, using operational transforms, which from what William Stein told
>>> us is the harder but more powerful approach to the problem:
>>>
>>> https://goinstant.com/blog/build-your-own-google-docs-with-goinstants-new-ot-api
>>>
>>> I doubt that we want our live sync to rely on a third party service, but it
>>> might be worth looking at their APIs for ideas.
>>>
>>> Thomas
>>>
>>> _______________________________________________
>>> IPython-dev mailing list
>>> IPython-dev at scipy.org
>>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>>>
>>
>>
>>
>> --
>> Brian E. Granger
>> Cal Poly State University, San Luis Obispo
>> bgranger at calpoly.edu and ellisonbg at gmail.com
>> _______________________________________________
>> IPython-dev mailing list
>> IPython-dev at scipy.org
>> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
>
>
> --
> William Stein
> Professor of Mathematics
> University of Washington
> http://wstein.org
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com



More information about the IPython-dev mailing list