Foxtrot is an easy and powerful API to use threads with the JavaTM Foundation Classes (JFC/Swing).
The Foxtrot API are based on a new concept, the Synchronous Model, that allow you to easily integrate in your Swing code time-consuming operations without incurring in "GUI-freeze" problem, typical of Swing applications.
While other solutions have been developed to solve this problem, being the SwingWorker (see also here for an update) the most known, they are all based on the Asynchronous Model which, for non-trivial Swing applications, carries several problems such as code asymmetry, bad code readability and difficult exception handling.
The Foxtrot API cleanly solves the problems that solutions based on the Asynchronous Model have, and it's simpler to use.
Your Swing code will immediately benefit of:
* code symmetry and readability
* easy exception handling
* improved mantainability
What is FreeFileSync?
FreeFileSync is an Open-Source folder comparison and synchronization tool. It is optimized for highest performance and usability without restricted or overloaded UI interfaces.
Key Features
Compare files (bytewise or by date) and synchronize them.
No limitations: An arbitrary number of files can be synchronized.
Unicode support.
Network support.
Built-in support for very long filenames (more than MAX_PATH = 260 characters).
Synchronization database for propagation of deleted files and conflict detection
Support for multiple folder pairs with distinct configuration
Full support for Windows/Linux Symbolic Links and Windows Junction Points.
Lean & easily accessible UI: Highly optimized for speed and huge sets of data.
Algorithms coded in C++ completely.
All progress indicators optimized for maximum performance!
Create Batch Jobs for automated synchronization with or without GUI.
Focus on usability:
Only necessary functionality on UI: no overloaded menus or icon jungle.
Select all folders via drag & drop.
Last used configuration and screen settings are saved automatically.
Maintain and load different configurations by drag & drop, load-button or commandline.
Double-click to start external application (e.g. show file in Windows Explorer)
Copy & paste all grid data as text
Delete superfluous/temporary files directly on main grid.
Right-click context menu.
Comprehensive status information and error reporting
Sort file-lists by name, size or date.
Support for filesizes larger than 4 GB.
Option to move files to Recycle Bin instead of deleting/overwriting them.
Ignore directories "\RECYCLER" and "\System Volume Information" with default Filter. (Windows only)
Localized versions are available for many languages.
Delete before copy: Avoid disc space shortages for large sync-jobs.
Filter functionality to include/exclude files from synchronization (without requiring a re-compare!).
Include/exclude specific files from synchronization temporarily.
Automatically handle daylight saving time changes on FAT/FAT32 volumes.
Portable version available (selectable via installer).
Native 64-Bit version.
Check for updates from within FreeFileSync automatically.
Copy locked files using Windows Volume Shadow Copy Service. (Windows only)
Create regular backups with macros %time%, %date% within directory names
Copy file and folder create/access/modification times when synchronizing
Advanced locking strategy to allow multiple synchronization processes (e.g. multiple writers, same network share)
The NTP Time Server Monitor, available for the operating systems Windows NT/2000/XP/2003 Server, allows the user to configure and control the local NTP service with a userfriendly graphical user interface.
The big issue is the Linux connectivity which became worse an worse over the time as Linux distribution getting more and more complicated. As matter of fact I did not find one instruction in the Internet on how to connect it to Linux via a cradle. Here is How!