Software

This has been the neglected section of my Website ever since the Website was published. I have a collection of simple to complex software projects that I will open source here. While my personal software is put together without much formality, in a hurry, it might be a good starting point for something more polished or tailored to your needs.

FileSlynchy

The first open source release is a Windows utility application called FileSlynchy. FileSlynchy helps you deal with synchronizing different file trees. It deals with differences in directory structure, files that are not present in all trees, and files of the same name with different sizes. It analyzes the trees and provides tools to synchronize the directories.

There are other utilities that address differencing directory trees. The utilities that I've found for this job compare two directory trees. They don't deal with multiple directory trees. FileSlynchy provides comparison projects, which can have multiple directory comparisons. Sometimes there is a need to compare several different sets of directory trees, FileSlynchy handles that.

This all sounds good, but why write a utility like this? I have two main uses for FileSlynchy. Of course, as a generic program, it can be used to help with any appropriate synchronizing problem. In open source, it can be extended for special needs or new capability.

FileSlynchy will be very useful to coordinate development of 3 Internet applications and 2 software libraries, in 5 Visual Studio projects and Git repositories. I had been using Visual Studio shared projects, but run into problems as some features of regular Visual Studio projects are not available in shared projects. Also, it is necessary to modify the root shared project for that system to work properly. You can modify files, but files must be added under the shared project. FileSlynchy is not the best solution for this situation, but it helps prevent errors from doing updates in one project that need to be reflected in all projects in their separate file directories. I also want to make sure that the Git repository reflects only the files needed for the project in that repository. The scale of this problem becomes evident when you consider that one of the website projects has over 11,000 files.

FileSlynchy will also be super useful in curing a problem of my own making. I have my music files, picture files, and video files archived or resident on multiple computers or drives. The intent is to make the OctoServer in the basement have the gold copy of everything, archived to the 8 terabyte backup drive. But these files mainly come in over the years through the workstations, laptops, even the smart phone now. The music files are about 40 gBytes and 8,000 files. Finding new files I downloaded to my laptop years ago is basically like finding a needle in a haystack. And I would like my entire music library available on all my devices, especially the portable laptop.

GitHub Repository for FileSlynchy