Computers as I used to love them
tonsky.me
tonsky.me
The author's baffling reaction to iCloud and Dropbox's warning just makes my point. Those warnings are super clear to people who use those services for backup - remove this file and it won't be backed up, hence not available elsewhere. That isn't those platforms begging for attention (???). Remove those warnings and see how many normies complain to Apple/Dropbox that they didn't know removing a file from their synced folder meant it wouldn't be synced anymore. This also applies to the bizarre complaint about cloud storage space limits - of course you need storage space on the service if those files have to live elsewhere!
Device to device sync was literally the value prop for Dropbox when it launched > 10 years ago. That's why I started using it.
Dropbox does now allow a more cloud-native file system / cloud backup usage pattern, but its roots are absolutely "keep my files in sync across several computers."
That's exactly what the article author is saying.
There's a criticism in there that I share because I miss when things were more modular, but I also understand and appreciate the value and opportunities that modern tech is bringing to people.
The back and forth chaos of progress and foundation-building is important but frustrating.
> SSDs in MacBooks are still crazy expensive.
It sounds like an archival usage rather than syncing or sharing usage.
When you click to open such file or folder, it will immediately download back to your disk and you can use it again. You will lose maybe a few seconds once in a blue moon when you need one of them. But you easily gain hundreds of gigabytes of space on your SSD. Just yesterday I right-clicked some folders to mark them "online only" and immediately gained +300GB free space..
Plus of course you can access those files from your phone or ipad too, when needed. Basically I personally have all my work files in Dropbox and don't use additional backup (used Backblaze in the past).
Personally I tried using several different cloud backup solutions, but I gave up on them. A few encrypted external hard drives, updated every month or two in a repeatable way (e.g. a bash script), one at home, one at work ... and backup is a solved problem. Of course, to each their own.
The only drawback is that you have to carry it around anywhere you want to access it. A modern external drive is the size of a phone though, so that's hardly a dealbreaker even if you do want to carry it around. Although frankly, cloud storage is much better for filesharing.
> Device to device sync was literally the value prop for Dropbox when it launched > 10 years ago.
It's what was advertised. I find it interesting that its initial reception on HN is so frequently slammed for saying "we could already do this, if we wanted to", and then... 10+ years later, Dropbox has had to switch to doing something people want.
The only value I ever saw people getting from Dropbox was in using it as a way to hand off files to someone else across the internet. Which is a use case Dropbox has spent many years fighting against.
A work of poetry.
> A major initial motivation for both the ARPANET and the Internet was resource sharing.
Your exposure to Dropbox users is very very limited, then. I only very, very rarely use it as a medium to share. OTOH, I use it CONSTANTLY as a every-device file system, i.e. across my main machine, my backup, my iOS devices, and remote systems I work from. The sync is everything to me.
It's great, it's even better than cloud storage, since the VPS never has access to the encryption key.
[1] https://docs.syncthing.net/branch/untrusted/html/users/untru...
Syncing is not a square peg, monetisation is.
There is no reason why syncthing cannot work on both a server in the "cloud" and an end-user device. Syncing files is a well researched and solved problem, at this point dropbox et al are not selling syncing, they are reselling IaaS + integration and gaffataping on anything else tangentially related they can conceive of to squeeze money out of users.
The fundamental value is already there to have for free and at a much higher UX quality, while paying for the IaaS directly... if only non-technical users were aware of it, and could access it as easily.
Dropbox is the entity who tries to fit the "extract money from the users" peg to this file sync functionality.
The cloud aspect of their solution can also be interpreted as "we need an excuse to examine all of your files while we are at it". So we can also get money from NSA or other three letter agencies.
* keep x previous revisions, or
* keep old revisions for x time, or
* diy with hook script
Dropbox has become a real pain over the years (I've also been a paid Dropbox customer for a long time):
* adding bloat and features that I don't want or need
* constantly nagging me for upgrades
* lying that the admin password is required (it isn't)
* consuming large amounts of CPU when anything changes anywhere in the filesystem
If Dropbox had a subscription plan where I could pay to get just the basic file sync functionality, with no nagging, no prompting, and optimized CPU usage, I would be happy to hand over my money. But it seems the company is run by the marketing team now.
I highly recommend syncthing as a very, very capable replacement.
> over the last week, syncthing has corrupted my git repository twice. I reported this as an issue, but the issue was immediately closed with an explanation I disagree with.
> I no longer trust syncthing until this gets resolved, unfortunately.
https://news.ycombinator.com/item?id=23660438
—
I would absolutely be syncing directories containing git repos, for better or worse
My takeaway was „never keep git repos in a system that does its own distributed versioning”. I just do git push around so my remotes are up to date. Git is sort of dropbox with a manual gearbox, after all (and more, but that’s not the point).
I’m really unsure that this is a kind of easily solvable problem for either dropbox or syncthing. Unless your syncing product gets smart enough to understand what a git repository is and how some files have to be checked in in lockstep, that is. Otherwise, expect race conditions.
https://github.com/anishathalye/git-remote-dropbox
For me, it solved all of the corruption problems with using Dropbox for git storage. In the end, I decided it was too heavy weight, and wanted to be able to clone my repo on machines that might not have anything other than "git" installed, but until I reached that point, I was a happy user of it.
I'm not aware of a similar tool for syncthing.
As an example problem-case, say your first device checks out branch A and your second device checks out branch B. Some files conflict, which is likely reasonably handled as any filesync application needs to handle conflicting updates. But any files that are changed in one and not in the other end up getting sync'ed over into the other, including inside your GIT directory, which will very likely lead to an illegal GIT directory state.
As a toy example, pretend that the .git internals require that at any given time, `.git/activebranch/` must contain exactly one file whose filename is the name of the active branch, and git maintains this invariant. By syncing changed files, any filesync utility would break this invariant by resulting in `.git/activebranch/` containing two files, due to each side seeing a new file that the other side needs to acquire. Depending on how such a problem might manifest in real life as a result of performing a file-based sync on two instances of a git directory, this could lead to your .git directory entering a state in which git doesn't know how to interpret it.
--
This isn't a syncthing problem as such, it's a problem of trying to use a file syncing application on the internal state of an application on two different machines with two different states, and expecting the result to be a valid state.
I think that we can narrow the problem down to the fact that git's internal state is represented in a way that is transparent to syncthing (a folder of files), that it will attempt to sync, but only partially succeed. If git's internal state was a single database file, you wouldn't get corruption, just a syncthing conflict file.
@jwr can you link the issue you reported?
The only major issue I had was performance on TrueNAS/FreeBSD, Syncthing tends to keep a lot of files open. Increasing maxfiles/maxvnodes fixed it. [0]
On a sidenote, what's the point of these limits if your entire system becomes unusable if you reach them?
Not offering reasonable storage for a reasonable price is a way to keep users that they don’t want away from their service.
Just like 1Password. They are extremely non subtle in pushing users that want local vault away from their customer base.
I don’t understand how this still hasn’t been addressed. On macOS at least (not sure about other platforms), rather than subscribing to filesystem events for the synced folders, it subscribes to FS events for literally everything and checks to see if each is relevant to the folders it should sync.
I love it, and turned on in Signal as well. Otherwise I'll forget it eventually.
https://news.ycombinator.com/item?id=23537243 (June 2020, 159 comments)
---
Recent discussion about the software: "Syncthing – a continuous file synchronization program"
https://news.ycombinator.com/item?id=28859521 (85 days ago, 230 comments)
I haven’t used Dropbox in years (because it sucks now and I use ZFS), but this is not a fair comparison.
Syncthing is great. However, in comparison with Dropbox, if I look past the differences in what it does, I find that it’s just not suitable for most users. Remember that most users are barely able to operate their internet browser. Even seasoned users may have trouble setting it up on, say, Windows.
I recently tried moving my family over to a password manager. Something that can be understood and managed by my SO even if I should die etc. Something also usable for my 12 yo kid.
Not as simple as it sounds. Across iPad/Pixel Phone/Edge Browser/Surface Book for my kid for example.
If you had to run an install wizard, use a key, and upload a photograph of yourself everytime you wanted to, say, put orange juice in the fridge, your average user would scream bloody murder and rightly call your product bloody garbage.
What you might see is a caretaker sign documents for a terminally disabled patient who need assisted living services and then put orange juice in the fridge...which is where the mistake comes from.
This is the software equivalent of getting a lawyer and a caretaker involved every damn time you put orange juice in the fridge - because it works for the disabled few corporations mistake 'accesibilty' for good design... And then you realize this is 'standard practice' and finally understand how abhorrently terrible pretty much every damn website, app, and program on the planet is...
Dropbox is absolute garbage. So is Apple. They need to remove 95 percent of their garbage for the average user - the option to use the assisted living features should be available but not turned on by default.
I want my notes as plain text files (or Markdown files to be specific), and I'd like to sync them with my phone. I'd also like to use the text editor of my choice to edit said text files. Cool, I just install Dropbox on my desktop, sync the files, and edit the files with Sublime Text. Oh but huh -- I can only edit the files on my phone using the Dropbox app, which doesn't work when I'm offline or have spotty reception.
I install Syncthing on my Windows PC (it runs the syncthing.exe on startup), install Syncthing and Editor[1] on my phone, and bam, now all my notes are synced directly to the filesystem of my Android phone and editable by any text editor I choose. As an added benefit, I still have a cloud sync on my PC, so the files are still backed up to a cloud service!
[1] https://f-droid.org/en/packages/org.billthefarmer.editor/
With iCloud and Dropbox (and SaaS in general), everything is linked to your user account. They assume that each computer is used by exactly one user.
But that just doesn't match my reality! At home we have a shared computer in the living room, and at work we have build servers shared by multiple people.
I really don't want to sign in with my personal Apple ID or Dropbox account on a shared computer.
With Syncthing that doesn't matter. I can just sync a single folder, and syncthing doesn't care who that folder belongs to and doesn't require granting access to unrelated folders that happen to belong to the same user.
It's not so much that they assume it.. they leave that feature out deliberately so they can up-sell you to 'Dropbox Family' or 'Dropbox Business'. This is a great example of the commercial incentives for Dropbox degrading the user experience.
Syncthing, on the other hand, is far too geeky and easy to ruin things if you somehow sync a rapidly updated folder. I've moved a few people to Syncthing and in the end they all were not very happy with it for one reason or another. It also isn't as clear on the sync state of a file.
Do you have a link/resource elaborating on these questions?
They certainly can be. They can be stored wherever you like, either if you are using a modding/hacking launcher (both are very popular for non-technical players, e.g. kids who aren't programmers) or if you are running a minecraft server (the vanilla server jar runs wherever you decide to put it, and doing this is not exactly an esoteric feat; again, nontechnical kids do it.)
So I myself simply sync just one folder with Syncthing, Dropbox style.
The corruption was something like this:
- I recursively renamed all files from a folder from uppercase to lower case. Suddenly I duplicated files, uppercase and lower case.
- I did not use a device for a long time (a year or so). After switching the old device on, it "recovers" deleted files.
- I put a git repository into a sync folder. It stopped working after a while.
This, however, could be a solved problem by now, as it is 2+ years ago, that I tried syncthing.
Am I the only one with that kind of Problems? Has the situation improved?
Resilio worked pretty well for me for years but now gets stuck with a weird SQLite error
If a synchronization software can't handle a git repository, what else is it not able to handle? After all, a git repository is just a bunch of files and in my case not particular big once.
If you use Syncthing peer-to-peer and/or have concurrent modifications to different peers before a full sync, you can run into problems. It’s not really designed for that, it’s optimised from the single user sharing individual files on multiple devices case.
Doing anything better here is incredibly hard in a peer-to-peer system on the level of abstraction that Syncthing operates on.
I think renames might be/may have been problematic because it tries to be smart and handle them efficiently. If it did the naive thing of delete followed by creation, consistency would be better, but performance would be worse.
I also love Nik Tonsky's writing but he's serious misrepresenting the ease of Syncthing in this post. He initially describes it as:
You download a single binary executable. You run it. There’s no step three.
No, seriously. It’s so simple I thought I missed something. But no. After you run that binary, you have a fully operational node of Syncthing. It’s ready to sync with any other Syncthing node, no other setup necessary.
He then goes on to describe the definitely horrendous process of getting Dropbox going with the official client[1].BUT, then he goes on and explains the complex setup involved with Syncthing, which if it were explained screen by screen, like he did with Dropbox, would look even more tedious and complex.
You're not going to switch to Syncthing because it's so much easier.
1. Maestral: For those who use macOS or Linux and want to stick with Dropbox for some reason, give Maestral a try. It's a free, open source app that does what Dropbox originally did: sync a folder.
Dropbox has a completely different scope that goes beyond what Syncthing is offering. If you don't require the features Dropbox offers, it's the wrong tool in the first place.
If all you want to do is syncing folders across devices, use a tool that does just that. Just to emphasize how this is relevant, here's what Dropbox says about what it is [0].
> What is Dropbox?
> Dropbox is a place where all your team’s content comes together.
There's nothing in that very first sentence of their own description of the product that suggests syncing folders across devices as a use case.
Just because you can do that, too, doesn't mean it's the primary use case. Dropbox sees their product as a solution for collaborating across teams.
But that's only one side, so let's look at the "Personal Use"-section [1]:
> Back up your big ideas, your best memories and your family traditions.
And again, syncing folders across devices isn't mentioned - they see Dropbox as a centralised backup solution.
> Centralise your storage, declutter your life
So they tell the user exactly how they see their product and the laborious installation process is a consequence of that.
So while you see a product for syncing across devices, the product is advertised as a collaboration solution or a centralised storage for backup and device-independent global access.
That's not me claiming this either, this is straight from the horse's mouth and what users are told.
From my experience though, their users (and not just the tech bubble) don't care. Someone who even opens the Web interface to access a file without a client/app installed counts as a power user. In fact as more people use aaS that hide the concept of files, a lot of those users are dropping off as they have all their docs in Google docs or photos in iCloud or whatever
Perhaps the author is coming from a similar place. History matters. If someone sells you a product, and then completely changes the scope of said product, it's a bit odd for people to complain when you start looking for alternatives that fit the scope of the product you initially bought, no?
There are lots of ways to sync or backup files and folders, each with their own quirks, advantages, and disadvantages. There's git, mercurial, OneDrive, Sharepoint, Dropbox, Google Drive/Google One, rsync, scp, NFS, Owncloud, Nextcloud, Crashplan, unison, snapback, Amanda, bacula, IDrive, Carbonite, Barracuda Backup, Veam, duplicity, DAR, bup, Acronis TrueImage, Veritas Backup Exec, HP Data Protector, Borg backup, Commodo Backup, and Windows/SAMBA shares over CIFS to name a minority of options. If every attempt met every need, there'd be far fewer tools for this.
And although I agree with people saying that Syncthing and Dropbox are different things, truth is that Dropbox is unbearably bloated nowadays. The app breaks a lot, it's full of shiny useless stuff and it's not intuitive anymore. The other day I wanted to pause a big sync and spent a good minute trying to figure out where the button was hidden.
Another example on how Syncthing is better than Dropbox at solving real problems: .stignore vs .... nothing.
The most similar experience I had to this in recent years was using a program called wormhole for peer to peer file transfer: https://github.com/Jacalz/wormhole-gui
It was refreshing in a similar way; I download and open up the program, a friend does the same, and we can send files to each other, with a code genereated from the program. None of all this accounts stuff.
(For what it's worth, file sending has a similar issue as backup/sync that the author described -- most modern services are some centralized/cloud form, as opposed to the old days of ICQ/AIM/etc. where you could actually establish a direct connection to a friend and send files.)
The author is right. When you get rid of corporate cruft, computers are just computers. They belong to you and they perform computation (and network operations). I use almost exclusively FOSS, and I hear the scary points like you'll be out of the loop, won't be able to talk to some friends, it's more maintenance, etc. Some of that is true some of the time, but the trade off is your machine does what you want it to do and only what you want it to do. It is well worth it.
Asking as a Nextcloud (file only) user considering making a switch.
To be fair, I still would really like an official, open source iOS client, instead of some closed source thing I need to trust; I'm still a bit uneasy about using it.
The post aludes to this notion of not trusting dropbox to just do the one thing well, and instead expecting them to grab more and more (because they are financially driven to do so), which resonated very hard. It's so common for a good piece of software to get worse and worse, bit by bit, as the marketing and business downsides consume the technical upsides.
Obviously the moment it stops just sitting there backing up my files and keeping them in sync across my devices I’d be bothered, but whatever they’re trying to force on people hasn’t really registered with me in a decade of use.
As long as cloud storage needs to grow exponentially at any cost, feature bloat of the kind Nikita is describing will continue. Most likely Syncthing is so good exactly because they do not have these extrinsic pressures.
Add to that the fact that in a bigger product org, the way you get promoted is by shipping "your" feature. Quite often it would be a feature no user would ever want, but it is much more the problem of selling "your" feature to management internally versus selling it directly to the user.
A great example of a solution which is local-first, allows you BYO cloud storage (of multiple kinds) and simply offers its own cloud storage at a small markup is Arq, and we are blessed that it does not have the pressures I have described above.
Have a picture in your Dropbox you want to send as a message on Android? Well, just click Share button of course! Wait, no, that just shares a link not the image itself...
No, you gotta do "Open with...", find suitable image app (gallery or picture viewer), wait for it to download and open the image, and share from that app...
Though I imagine Dropbox would be glad to get rid of me, not being a paying customer. I don't need 2TB so $10/mo is way too much.
I don't use garbage bloatware that constantly nags. If I have to, I imprison it into the confines of a browser sandbox.
Just found this in the FAQ:
> If you see outgoing connections to odd and unexpected addresses these are most likely connections to relay servers. Relay servers are run by volunteers all over the world. They usually listen on ports 443 or 22067, though this is controlled by the user running it. You can compare the address you are concernced about with the current list of active relays. Relays do not and can not see the data transmitted via them.
"P2P swarm" sounds about right?
https://docs.syncthing.net/users/stdiscosrv.html
"Syncthing relies on a discovery server to find peers on the internet. Anyone can run a discovery server and point Syncthing installations to it. The Syncthing project also maintains a global cluster for public use."
- being able to store way more data in the cloud than my computer can fit
- Seamlessly being able to browse all the files and seamlessly opening them even if they are not stored on my computer
- Being able to save a bunch of files. Turn off my computer, open those files on another computer later without even thinking about it.
- Having a really nice mobile experience for backing up my photos and browsing all my files, if I need to.
- Knowing that if all my computers get destroyed by a volcano all my files are still available if I decide to then buy a new computer.
- Being able to share individual files with people
There's honestly probably more that I'm forgetting.
It does require to setup a server, I agree with you. I wonder if a Syncthing as a service would work?
One cool feature is also encrypted syncing where some nodes dont even have the key (ie VPS syncs but doesnt know what it syncs, and only your devices have the key)
Also, performance (read bandwidth usage) isn't all that great with NextCloud. PHP-FPM was more designed for concurrent execution of multiple stateless requests server-side (PHP) than for sending raw bytes as soon as possible to the disk.
I believe this sentence summarizes why computing has gotten truly annoying in the last 20 years.
My most recent bout of frustration:
- bought an M1 mac mini to play with new apple chips
- tried to install wireguard on it
- the only sane way to do this is to install from the Apple store
- not happy, but I tried to create an account on the Apple store without them knowing what size underwear I need
- then they asked for my credit card
So in summary: you need a credit card to run wireguard on an effing mac.I'd be happy to be proven wrong and know if there was a way to install OSS software on a bloody cupertino box without giving them the key to the kingdom, but even if that exists, the point still stands: the level of annoying and invasiveness of modern computing is simply astounding.
(I'm not saying this as a Go fanboy; having used it professionally for 3 years, I don't think I'll ever touch it again. But I don't think it's fair to say that the architecture support is bad.)
This is a silly conclusion.
The actual problem he has zeroed in on js when marketers are the primary influencers in product design. Every company I’ve worked for while leading UX and who had a marketing/MBA are product manager had made me do useless things like add the “share this on Facebook and Twitter” links that no one has ever click on.
I’ve also worked at companies that are run and put engineers first and the experience was products the total opposite of what the OP experienced.
Believe it or not corporations can be run by tech people. They are just organizations. They are what you you make of them. The only difference is OSS products tend to be run and designed by tech guys, not marketing people.
The other major problem is marketers in tech companies mostly suck at their jobs. I’m not being elitist, who knows software better that the nerds who obsessively spent their youth learning how they work.
This can change at any time.
I store/stream all my music there (use presigned URLs for playback).
I find that most cloud storage deviate too much from a simple file management interface.
I'd rather avoid Google if I could so I don't get further locked-in with them, but its a minor issue, and if they do end up being the best whilst keeping out my way then that sounds like a good deal to me
When I drop all my files in my OneDrive folder, there's no confusion on what I'm getting. I'm getting a fully managed backup solution.
I'm not getting complete control, or the ability to do strange superuser stuff. I have no interest in managing my own backup servers, I have no interest in installing my own sync up tools, I want a multi-billion dollar company to run it.
There's no way to get around it, either. Even if you want to roll your own, you're still ultimately using AWS or another cloud provider.
I make music, and being able to make a song on my iPad, drop it in one drive folder is amazing. Even better, since I make a ton of sampled music, I can find cool samples and use them on my iPad within seconds.
If you have any awareness of how difficult loading new samples is on an MPC you'll respect how great this is.
This is like arguing your Ford Fiesta can't go off-road.
You don’t seem to have read the article. It expressly states there that Syncthing uses disk storage.
And you’re strangely proud about not getting this whole thing and wanting a multi-billion dollar company to do it all for you, but you’d be first to cry muh freedome muh human rights when the company’s TOCs change and you start getting censored and you lose ownership of your own files, which already happens today.
https://aws.amazon.com/marketplace/pp/prodview-insise5hc6mm2
It's just what it is, so let's say AWS suspends your account, for some mysterious reason. You'll lose access to your EC2 instances
I can do this with time machine, or by just copying to a network drive.
But if the author did want a third party server storing data they could choose any cloud provider on the planet and run syncthing. You could also do the same thing with Dropbox however one of those third party servers will always be the actual Dropbox server. But if they decide they don't like you anymore and block you from that server nothing else will work anymore.
So in summary syncthing gives you the same thing with more control so you aren't at the mercy of one money hungry corporation.
There's an Indian proverb which says something along the lines of don't judge an elephant for being unable to climb trees. I think it applies here
I've lost patience with such products, and instead I tradeoff fewer features for more control. This applies to hardware too.
Location: Norway.
I won't be moving to Windows 11 unless DRM forces my hand.
I just checked Syncthing, seems pretty old also (8 year for 0.1) !
for the binaries stuff, I would use maybe sometime syncthing but that's more a backup thing, i don't usually need all of them available on all my laptops/ws
for real backup i just incrementally dump my btrfs snapshot to a remote USB disk every hour.
works well for me so far,
Those kind of cloud storage services were never intended for code. One has to be crazy to put workspaces in a Xcloud directory.
Git is here for this purpose. And if you want a central repo you use GitHub, GitLab or a self-hosted platform.
IIRC some alternatives to Xcloud are even based on Git.
One day a colleague was complaining that OneDrive was taking lots of CPU and showing lots of errors. This guy had checkouted a project in their OneDrive directory with the .git and node_modules...
Still, it's fun to roll along now and then like we did when we didn't know what was coming.
Somewhere in the last 15 years we "web-i-fied" every app and made the entire desktop UX dog slow.
People just expect that every click and tap on a UI has a spinner – even in their car.
Also a big fan of Syncthing, and have now found something better: Bvckup 2. It has the same download -run experience, more controllable options, and runs a LOT faster by design. No commercial connection other than being a satisfied customer.
There is also a pricing scheme so you have to constantly have to check to see what features you have. The cheapest $30 version doesn't even come with a background service. That's only in the Pro version. And it's the same with the command line tool. I also find it weird that they market it as a backup tool when clearly it's just for syncing.
This product seems to be pretty much exactly what the author was complaining about.
I don't think opensource or the platform was an issue, since the original article was on a Mac.
I'm happy to pay for good software, and Bvckup2 does an excellent job of backups for me. It's easy to point it to an empty directory tree and have it replicate the entire volume rapidly, or point it to a previous backup and update only the diffs. Fancier backup systems are of course available, but I prefer lightweight and straight copies, not extra compression or other formats. If you have something better, please let me know (definitely more helpful than merely complaining about features you don't like).
1. My usage got to terabytes range and the scans are unbearably slow compared to dropbox.
2. Due to slow scan, I went on to syncthing's support forum to read some posts. One of the developers was very bitter or emotionally charged against suggestions or bug reports.
Now I use it but not loving it.
As stated in the OP Dropbox has become far too bloated, and just feels wrong. iCloud Drive only works 90% of the time, and doesn't play nice with apps that use absolute paths (even many Cocoa MacOS apps, which do this under the hood).
OneDrive is the only client that gets out of my way, just works, and even can automatically move unused files to the cloud without them disappearing from the filesystem entirely. It's crazy to think that Microsoft are making better Mac OS software than Apple.
I haven't considered going the self-hosted route yet, but Syncthing looks promising if you don't need folder sharing or robust iOS support.
Im more worried about my gmail reliance to be honest.
I really only treat these cloud storage services as a sync and as an additional convenience backup. I don't ever think of them as primary storage.
Box is another popular one, which has SSO and other options to allow it's use in more restricted environments. It's at about the same annoyance level as OneDeive.
This guy mentions Drop Box being good in 2012...that's when I stopped using it due to the various bloat and annoyances.
I'd rather have reliable syncing with an Electron wrapper than a fully native UI with broken sync.
I would say Linux-developers and script-wranglers targeting others of the same kin, being allowed to exist within their own bubble, never being exposed to a real/“normal” user.
And I say that as a Linux-user, script-wrangler and developer. In 2022 this still being a thing at all is quite embarrassing.
1. Dropbox and Syncthing are two different tools with two different use cases targeting two different kinds of users. I doubt they even see themselves in competition as surely the users are quite different. I stopped caring about direct sync when workstation computers were no longer the hub of my computer use…
2. …seriously it’s a mobile first world and you expect people to take Syncthing seriously as a Dropbox replacement?
3. The author is mad about things like “accounts” and “2FA” and “Gatekeeper”. Sounds like they should go back to XP. I’m sure it works the way they used to love. Once again, comparing modern best practices with your power user impatience and impetuousness doesn’t prove your point in any capacity.
4. This assumed power user is complaining about making an alias for the iCloud folder? And uses spaces in pathnames? If you’re a programmer this isn’t unusable because if you’re a programmer you should know better. I agree with the author that the iCloud folder should be more visible on the CLI, but unusable? Strange how I’ve been using it daily. Guess I’m not a True Programmer.
5. What Dropbox UI is the author complaining about in the “Power Mode” section? A file picker directly copied from MacOS Finder but with checkboxes? This has to be a troll.
6. The author is mad about calendar sync because apparently they can’t read basic copy on the Dropbox website that never markets the app as a “FILE SYNCHRONIZATION” service (boomer-level emphasis theirs). I don’t use Dropbox either because it turns out I don’t need a full teamwork collaboration tool - what Dropbox actually markets themselves as. This is a platform of work related tooling, not simply “commercial Syncthing.” I imagine calendar tools as being part of this (clearly) stated goal.
7. “Wait there’s more!” Please no. I think that’s quite enough.
Everyone can like what they like, but this is encroaching on “old man yells at cloud” territory.
Is there an easy way to sync via FTP to a cloud folder on a managed or shared server?
Is there a sync to AWS S3 option?
I switched from Dropbox to a mix of OneDrive and SyncThing in 2020 due to the bloat in their client app:
switch: https://taoofmac.com/space/blog/2020/06/21/1600
later: https://taoofmac.com/space/blog/2020/08/08/1900
What I did, in a nutshell, was to remove the Dropbox client from all of my machines, link my Synology NAS to my Dropbox account (and to my OneDrive account, too, but for snapshotting) and then using the SyncThing client to sync all my git working trees while keeping Office docs and archives in OneDrive.
I split things this way because I've worked across various machines and OSes since 2010 and wanted a way to have a consistent filesystem layout in all of them. I split things across two services because:
- Both OneDrive and Dropbox have trouble with very high cardinality folders (like my 2.1GB git repos) that have hundreds of thousands (if not actual millions) of tiny files that change frequently (and that I may not want to have outside my LAN anyway).
- OneDrive integrates with Office apps and is a pretty decent way to have off-site storage and shared online editing of a few hundred thousand "beefier" files (in my case, mostly personal and legal docs), as well as having a very generous 1TB free tier for each family member.
Neither replaces backups, but (more to the point), neither is perfect. In SyncThing's case, I have a container running on my NAS as an introducer/master replica, and three different machines accessing it (Windows, Mac and Linux), and I keep having sync issues and conflicts in my git repos even though all versions are in lockstep.
Ironically, I _never_ had a git repo corrupted while using Dropbox since... 2015? (I did when trying OneDrive, but that was mostly because I was using an OpenSource Linux client and it had sync issues). And yet, SyncThing keeps doing it every couple of months, to the extent where I need to reset some repos every now and then.
SyncThing is pretty great in that I can switch off external discovery and be absolutely sure my stuff never leaves my LAN _and_ have things sync very quickly, but it's definitely not fully baked yet, and I wouldn't recommend using it without a good backup strategy (all my personal projects live in a gitea instance and that is backed up off-site as well).
Also, there are hardly any good mobile clients (I have an iOS one, but it has trouble syncing large folders while running in the background and its Files integration is flaky). I could use just about any mobile editing app with Dropbox, and I have much more limited choices right now (OneDrive "works", but the Files provider also has issues).
Syncing git repos using a tool other than git seems like you're asking for trouble. Git is already meant to be used for distributing a repo to multiple computers. It's responsible for the "syncing".
Let's say you have to computers. Both go offline. Then you make a guy commit on each computer. Then they go back online. What do you expect to happen? Even if there are no conflicts in the commits, your .git directory is going to be messed up.
Sshfs doesn't sync files. You go offline and your files are gone.
It amounts to about the same difference as the difference between DropBox and syncthing (e.g. they are not close to the same thing either but as far as a certain use case which is that of the vast majority of users...they are the same)
the only reason why apple even became a reasonable option was because they went back to nextstep which was built on mach and various FOSS userland (rebranded as darwin).
Most open source software is like that. In this very article you see exactly what capitalism and the profit motive does to software.
Ancaps will constantly say the refrain “this is due to government, and corporatism, which is very different from capitalism” but I insist — do get into the details of how “pure” capitalism wouldn’t lead to this.
It is similar to how socialists always say about living in state socialism “it’s not REAL socialism, if we ever reached REAL communism all these problems of the ovebearing government bureaucrat class would go away”
Anyway… we do need an economic model to properly compensate open source, journalism and other work on digital content. I think that we can move past these issues with cryptocurrency, which can enable a form of socialism (the network is owned by the users) while compensating people fairly for their work. See for example https://qbix.com/QBUX/whitepaper.html#Monetizing-Open-Source for details on how a micropayment system could actually work !
When you twist "socialism" into some libertarian ideal of flat & free markets, you lose a lot of meaning.
Public blockchains behave similar to free markets, and have the same oft-ignored flaws. Namely, you need to trust that the market/blockchain is not de facto ruled by a shadowy cartel. This is often a poor assumption, because power consolidates over time. You also need to trust that the underlying currencies and protocols are secure. This is easier to do than the former, but still a significant vulnerability.
Here is the first definition of Socialism from Google: a political and economic theory of social organization which advocates that the means of production, distribution, and exchange should be owned or regulated by the community as a whole.
Here is what Wikipedia says: Socialism is a political, social, and economic philosophy encompassing a range of economic and social systems characterised by social ownership[1][2][3][4] of the means of production.[5][6][7][8] It includes the political theories and movements associated with such systems.[9] Social ownership can be public, collective, cooperative, or of equity.[10] While no single definition encapsulates the many types of socialism,[11] social ownership is the one common element.
Sounds to me like this definition fits many Web3 crypto projects (like FileCoin etc) almost like a glove. Compare that to Web2 (basically all Big Tech companies) in which venture capitalists make early investments in shares (instead of tokens), prop up money-losing unit economics fo years, then dump the shares on the public in an IPO and Wall Street bigwigs who buy shares (instead of tokens) can thus force management to keep their backend source closed, their server farms centralized and extract rents forever, from users and advertisers etc. in order to satisfy wall street quarterly earnings goals.
It is fashionable in the USA to associate Socialism with State Socialism — and impugn to Socialism all the famines etc. done by governments claiming to enforce it (like holodomor and China’s famines under Mao due to enforced collectivization)
…while dissociating Capitalism from State Capitalism — neatly blaming it on “Corporatism” — and avoid having to answer for similar things done by governments to enforce it (like the various famines under the British Raj in India and Begal region, and the Irish Potato famine which was perpetuated primarily BECAUSE of government enforcing the private property rights of landlords even over the basic survival needs of peasant tenants).
https://en.wikipedia.org/wiki/Great_Famine_(Ireland)
Both capitalism and socialism taken too far and using too much force to enforce the system can have bad consequences. But there are libertarian versions of both. Google “libertarian socialism” to find things like kibbutzim, moshavim, housing cooperatives, food cooperatives, as well as credit unions etc. These are all examples of socialism without the state. And many times they have far better outcomes than their capitalist counterparts (landlord-owned buildings, commercial banks etc.)
Remember that socialism can be embedded in markets. But socialist organizations have no profit motive and no class warfare between landlords and tenants, shareholders and customers, because they are one and the same. So the organization tends to have some democratic governance mechanism (governance tokens, DAOs… are you starting to get it now?)
I have no use for Dropbox at this point in my life. Once upon a time I used it and I even considered paying for it (but didn't). But at this point it's a commodity that does not solve a problem I have and is not worth anything to me because I have better alternatives that are also freemium. If I want to share files, I have multiple zero cost options that will work without too much hassle.
My theory of software is that over time any good feature either becomes a commodity thing that adds negative value if you do it poorly (or fail to do it entirely) but does not add value if you do it well; or a niche thing that costs money that nobody cares about enough to do well for free. Usually the cheapest way to do those features well is through open source. You have to in order not to differentiate negatively. OSS is this pacman thing that gobbles up all good things in software and converges on a best possible implementation for those things and provides it for 0$. You can pay to make it go faster, for support, for convenience, etc. But the basic feature is there forever in the form of good old, free speech, OSS. And if you don't like it, you can grab the code and fix it. All good software is doomed to become a commodity.
The vast majority of things people care about ultimately end up being grabbed by one or more OSS projects and replicated. The UX isn't always great. But you can get the thing for 0$ and it will work and it will have a commodity of people nurturing and caring about it. If you are smart, you can build an entire company without ever buying any software. And many multi billion $ companies exist purely to act as a convenient facade for open source. Convenience is worth money. Features are not.
So-called unicorn companies are not based on value creation but on using investor money to "get there first" before the window to do so runs out. Timing is everything. So, you get rushed, easy to copy products. As soon as the investment happens, a dozen competitors get funded as well and typically ship competing products within months. After that the OSS pacman catches up if the thing is at all relevant. The problem (for investors) with that is that the window inevitably runs out and it is short. Also, most of these companies are one trick ponies that never had any IP worth protecting long term. So, the value payoff needs to be huge or there needs to be some kind of moat that stretches the window.
Basically, Dropbox is similar to rsync with a UI and a not even a particularly fancy/good implementation. So, as soon as there was a hint of success, people copied their rather trivial feature set and from then on it was a race to the bottom in terms of pricing. The ultimate of which is of course 0$. Such is the fate of all good ideas in software: they get copied.
Dropbox built a commodity and the obvious things happened. Copying files over a network was a solved problem long before Dropbox existed. All they did was show how it could be done more conveniently. Now numerous things exist that provide a similar level of convenience. End of story (for drop box). They might limp along for another few years but it won't matter. At this point, who even cares?
Could it be configured to sync to blob storage on s3 since ingest is free?
Why would anyone trust that, over paying Apple or DropBox to send your data only to Amazon S3? How long before "oops, for years anyone who joins the Syncthing mesh has been able to request your data and nobody noticed until now"?
From the syncthing website "Private. None of your data is ever stored anywhere else other than on your computers". From their open protocol page "Relay is a service which relays data between two devices which are not able to connect to each other directly otherwise." How can they claim "None of your data is ever stored anywhere else" if any relay node could save your data as it's transferred through them?
Fine it's "Encrypted. All communication is secured using TLS". But we know that TLS encryption can be flawed (see deprecation of TLS1.3), and we know it can be implemented poorly (see OpenSSL vulnerabilities) and we know metadata and protocol analysis is a thing (analysing how much syncs to/from each node, how often, etc).
What does "Authenticated. Every device is identified by a strong cryptographic certificate." mean if you don't have to setup a certificate authority or buy a verified SSL certificate or use LetsEncrypt or generate a public/private keypair? Would you recognise your SyncThing certificate if you saw it?
How well do you know the SyncThing protocol? Do you know someone in a far away country cannot find a flaw in the implementation which allows them to sync to your device, or insert themselves as a relay node?
> (see deprecation of TLS1.3)
The what now?
> What does "Authenticated. Every device is identified by a strong cryptographic certificate." mean if you don't have to setup a certificate authority or buy a verified SSL certificate or use LetsEncrypt or generate a public/private keypair? Would you recognise your SyncThing certificate if you saw it?
It is a public/private keypair, and if you're doing the initial setup over an untrusted network, yes you should copy-paste the fingerprint and email it to yourself or whatever.
> How well do you know the SyncThing protocol? Do you know someone in a far away country cannot find a flaw in the implementation which allows them to sync to your device, or insert themselves as a relay node?
How well do you know the dropbox/icloud/gdrive/whatever protocol? Do you know that somewhat in a far away country cannot find a flaw in the implementation which allows them to sync to your device, or insert themselves as a relay node? Also, inserting themselves as a relay would not be a security break, since "Anyone can run a relay server, and it will automatically join the relay pool and be available to Syncthing users. The current list of relays can be found at https://relays.syncthing.net/." (https://docs.syncthing.net/users/strelaysrv.html)