histbackup makes incremental backups of a directory tree in a set of directories named by dates, or date-time if the date already exists. Its companion script histbackup-prune controls the archive growth. The new backup is prepopulated by hardlinks of each file from the previous backup and then updated with rsync(1). This arranges that the only new content of each new backup is fresh copies of the changed files. In this way each backup directory is a full copy of the source directory but the disk space cost is that of an incremental backup. Because it uses rsync, it is possible to efficiently backup remote directories in this manner.
gtkdialog is a GUI creation utility that can be used with an arbitrary interpreter. It enables the programmer to describe a graphical user interface in a simple XML language, and create callbacks with any interpreter that supports either files, standard I/O, or environment variables. It can be called as an external program from the interpreter, but can be used as a stand-alone framework for the application as well. Stand-alone, bash, and awk examples are provided.