12 comments

[ 4.2 ms ] story [ 31.7 ms ] thread
There was a discussion of a self-built dropbox on the frontpage (https://news.ycombinator.com/item?id=47673394). This is just to show that dropbox is thoroughly tested for all kinds of wierd interactions and behaviours across OS using a very formal testing framework.
This is the kind of thing I think about when i see the mindset of “we’ll just replace all the SaaS with vibe code” pitches.

Not everything is a CRUD app website.

I was running my own hacky sync thing to the cloud a decade ago. I would never in my boldest dreams compared it to dropbox.

Even if you know the use cases, the edge cases could be 99% of the work. POCs are 100x easier than working production multi-user applications. Don’t confuse getting to a POC in 2 hours with getting a final product in 4 hours.

I was lead on Syncplicity's desktop client. File synchronization has a myriad of corner cases that are difficult and non-intuitive to think through; and non-programmers often thoroughly underestimate just how difficult these are to anticipate and mitigate.

The fact that they found bugs that rely on sensitive timing doesn't surprise me.

Great paper! I’m glad I avoided OwnCloud after discovering how much of a hot PHP mess it is (and that it was about 10x slower for LAN sync than Seafile on a same machine).

I would love to have all the file sync solutions tested with this suite.

ownCloud (and NextCloud today) aren't slow because it's PHP. Other PHP webdav solutions work at line speed just fine.

They're slow because they're poorly written. The mobile apps or the js webui are no different. It's jank from top to bottom. I try it once a year, because I want this product so bad. But I keep getting hurt by the speed, by the bugs, by the stability. I've even tried a hosted instance, just in case my hubris prevented me from seeing blatant issue in my server setup. But alas...

Yet they have a large userbase. So I'm forced to come to the conclusion that I must be doing something wrong... The speed issues are usually acknowledged by fellow nextcloud users but the bugs are brushed away, so my conclusion is that I must be having an unusual workflow that hits all the corner cases at once.

BTW ownCloud pivoted to Go almost 5 years ago, they call it ownCloud Infinite Scale.

Thank you for enduring the pain and reporting, I will continue avoiding :).
So from what I am seeing in this with a brief look over it, the only cases in which data loss seemed to occur were when two clients were editing the same file temporally close to each other? I.e. you end up creating something similar to a git merge conflict, which cannot be solved automatically well, and thus can generate loss of data.
(comment deleted)
Anything written by John Hughes is worth a read. He also also wrote quickcheck.
One of the authors, John Hughes did a talk on property-based testing at Clojure West some number of years back. Worth a watch if you're interested: https://www.youtube.com/watch?v=zi0rHwfiX1Q
John Hughes is also one of the investors of property based testing
Business idea- a file sync software run by a company that promises to fire any employee who suggests adding a "feature."