This resource is about a project did between my degrees. It is quite old work.

A project to ensure I didn't loose programming skills, but a graphically configured multi-host file volume comparator and updater. I used this for a period to ensure file backups where up-do-date. I wrote this in Java as this was this most convenient language to include a GUI, to ensure adoption by other users on my LAN. I benefited from the languages strong support for threads and synchronisation.

Although I did create MANIFEST files, I don't seem to have completed the packaging process. There are temparay files all over the source directories. If you would like a copy, I will clean up the tarball ball and email it to you.

Description

This is a file volume synchroniser. While you are likely to have one of these shipped with your operating system (if it's any good), this is (a) free, and (b) designed to run with different operating systems, which proprietary ones are not likely to. The sync can ensure up-to-date-ness on file systems on the same machine, or across a LAN. The sync only transfers the absent files, and is threaded, so it runs at the speed of your network. The project is name is unlikely to clash with the traditional Unix tool 'sync', due to the implementation interpreter needing invocation first. The logical name 'rsync' has already been taken. I may move this to 'jsync' later, but this is approaching marketing whoffle ('J!sYnc', 'J-SINc', etc).

As transferring large volumes of data is a slow non interactive process, the system is mostly non interactive. The initial configuration is either provided by a GUI or a config file. If I ever write my complete virtual machine, this functionality will be subsumed (but don't hold your breath).

This tool has a GUI for pre-configuring, and is non-interactive. I don't seem to have had time to create a manual (although this would be short).

Requirements

  • A recent version of Java, and an equivalent Java compiler. This should be properly installed and on the path etc. I was also using jikes - the IBM compiler - when I was running this.
  • The source of linx itself depends on a number of libraries. These have been included in the installation bundle. If you have several of my tools, you only need one copy of each library.
  • The network to run it for (no, not run it on).

Caveats :

  • This should only be used on LANs or over private networks, as it provides no security features at all. It should be possible to use a SSH tunnel, although I haven't tried. Over the long term this type of approach is encouraged, as SSH (or similar) has vastly more testing and real world exposure.
  • Currently the compression stream is not implemented, so it costs a megabyte to transfer a megabyte. On a LAN this is not an issue.
  • Kitchen sink jokes are not normally funny.