[Unison-hackers] A rant about problems with dropbox -- thank you Unison!

Benjamin C. Pierce bcpierce at cis.upenn.edu
Wed Feb 23 21:32:32 EST 2011


> ... is the
> state of affairs still as laid out in the manual.  Namely, that the
> implementation polls a watchfile every few seconds:
> 
>    http://www.cis.upenn.edu/~bcpierce/unison/download/releases/beta/unison-manual.html
> 
> Is there a reason that it polls and then sleeps for a few seconds?  If
> the watchfile were a pipe couldn't the unison process just do blocking
> reads against it to achieve better latency?  (Usually I use "-repeat
> 1" when I'm editing on one machine and compiling on another.)

It could, but then the file watcher process might get blocked if the pipe filled up, which might cause it to miss some updates...

"Every few seconds" could be every second, if you like.  Or less.

   - Benjamin


> 
> 
> 
> On Tue, Feb 22, 2011 at 2:56 PM, Pierce Benjamin C.
> <bcpierce at cis.upenn.edu> wrote:
>>> I'm convinced that Unison could be the kernel of a great solution
>>> here.  But in the past its been too much work for anyone to get
>>> excited about doing cross-platform inotify-style file system
>>> monitoring in particular.  Are there other open source projects from
>>> which this functionality could be borrowed?  iFolder?
>> 
>> Actually, this functionality is pretty close to working -- what it needs is for someone who cares about a particular platform to take it on and polish off a few remaining rough edges.  Moreover, this can be done with minimal OCaml knowledge, as the actual FS monitoring code is written in Python...
>> 
>>    - B
>> 
>> 
>> On Feb 21, 2011, at 8:58 AM, Ryan Newton wrote:
>> 
>>> Thank you unison for *correctness*.
>>> 
>>> We had a thread discussing dropbox back in October.  I was cautiously
>>> optimistic then but now am more jaded after the abysmal way they
>>> handle symlinks:
>>>    http://parfunk.blogspot.com/2011/02/dropbox-semantics-oh-that-there-were.html
>>> 
>>> Ironically, I end up recommending periodic unison to get the symlinks
>>> right and then dropbox for day to day synchronization!  (Not a
>>> pleasant solution.)  It's exactly as Benjamin Pierce says in the
>>> message below -- unison fails safely and gets cross-platform right.
>>> I've seen dropbox break both these rules so far.
>>> 
>>> Ranting about the low quality of commercial synchronization solutions
>>> has become a bit of a hobby.  For the sake of confirmation bias I
>>> would love to hear other people's bad stories about commercial
>>> synchronization solutions ;-) -- e.g. apple's iSync both lost my data
>>> and got into a failure mode exhibiting exponential duplication.  It
>>> seems as though many companies treat synchronization as just another
>>> programming task and not worthy of deeper thought.
>>> 
>>> BUT, Dropbox in particular still has a lot of draw -- super easy
>>> setup, cloud storage, and the wonderful file-browser-as-GUI
>>> methodology.
>>> 
>>> I'm convinced that Unison could be the kernel of a great solution
>>> here.  But in the past its been too much work for anyone to get
>>> excited about doing cross-platform inotify-style file system
>>> monitoring in particular.  Are there other open source projects from
>>> which this functionality could be borrowed?  iFolder?
>>> 
>>> -Ryan
>>> 
>>> P.S. Also, if anyone were interested the nautilus-plugin for dropbox
>>> is open-source and could be a starting point for file-browser
>>> integration.
>>> 
>>> P.P.S. I don't know about cloud storage.  I assume that S3 and google
>>> storage use APIs that would make it difficult to ever unison-to-cloud
>>> directly.  (Without maybe running an EC2 instance with a unison server
>>> or something.)
>>> 
>>> 
>>> On Mon, Oct 5, 2009 at 10:02 AM, Benjamin Pierce <bcpierce at cis.upenn.edu> wrote:
>>>> I've been hearing some good things about DropBox too.  I'd love to
>>>> know more about people's experiences with it, especially compared to
>>>> Unison.
>>>> 
>>>> Two things Unison is pretty good at are (1) failing safely when things
>>>> go wrong and (2) getting the details of cross-platform synchronization
>>>> right.  I doubt if I'll personally want switch to anything that
>>>> doesn't do at least as good a job on both counts, so comments on these
>>>> aspects of DropBox would be particularly interesting.
>>>> 
>>>>    - Benjamin
>>> _______________________________________________
>>> Unison-hackers mailing list
>>> Unison-hackers at lists.seas.upenn.edu
>>> http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers
>> 
>> _______________________________________________
>> Unison-hackers mailing list
>> Unison-hackers at lists.seas.upenn.edu
>> http://lists.seas.upenn.edu/mailman/listinfo/unison-hackers
>> 



More information about the Unison-hackers mailing list