Marvelous Programs: Syncthing
I present to you a themed-blog-series called Marvelous Programs, in which I share various computer programs that make a big difference in my day to day life. Syncthing is a great one to pick as my inaugural post. I've used it on and off for probably six or seven years. More recently since setting up a new home server, it's a mainstay in connecting several computers 1 together.
Following in the tradition of most Go programs, it works across multiple platforms as a single binary with everything contained. Using Syncthing is very similar to using a program like Dropbox. However, there isn't necessarily a centralized UI that coordinates multiple computers so much as there are multiple computers all running their own instance of Syncthing.
I use Syncthing with the "PARA" methodology for organizing folders. I don’t sync my entire PARA folder-set so much as the projects I’m currently working on and any frequently accessed files. Syncthing is efficient enough that I can stop working on one computer and by the time I walk over to another it's usually synced everything I need to continue whatever task I was working on.
Occasionally, while working in a git repository I will notice that I have a couple sync-thing conflict files but I haven't looked into what's causing this when it occurs as I've not actually encountered any corrupted files yet.
Footnotes
At one point I was able to sync to my Android no problem, but when I switched to iOS, I did not have as much luck using syncthing, and have not been back to check how well it works on mobile since then.