Projects

Goback is a go-based wrapper around rsync for maintaining network based filesystem backups on linux. It reads a simple directory structure to infer most of its configuration and relies on preconfigured ssh access to the systems to be backed up, with rsync performing the actual file transfer. Backups are run daily by cron job in parallel and each daily backup saves space by hardlinking to previous backups on that system. Sensible defaults as to what it actually backed up (configuration and data files, not devices or /proc) are applied.

If you need a simple backup solution to avoid data loss over a small number of linux servers and workstations, and additionally want the ability to recover older versions of data files going back a few days or weeks, Goback may meet your needs.

Feedexploder is a cron-based application that reads an atom or rss feed and posts the headlinks and links to the main articles on a Twitter account. It was written because it is almost trivial and the online services expect money for doing it. It also served as a convenient way to work out how to use sql in golang. At some point, future work will put a basic web interface around the code and store configuration information (feed uris and twitter account details) in a database so it can run as a true microservice.

Implog is a log importer written in golang, designed to read standard http logs as output by Apache httpd and write those logs into a simple database format with some normalization. In theory – meaning, whenever I get bored enough to do so – a log visualizer could be written against the database to replace the popular, but privacy-invasive, google analytics offerings. Log imports are parallelized, compressed logs are automatically decompressed, partially read logs are remembered and do not produce duplicate entries if read multiple times,

Like most of my public projects, it serves my needs. It may or may not serve yours.

EntityDancer is a Java Persistence API implementation. The roots of the project go back to early 2000s, when I was tired of writing and updating SQL manually for storing and retrieving Java objects from SQL databases. Over time, it evolved to implement JPA sufficiently to run a number of small websites. However, more mature open-source alternatives became available, so the project is no longer actively maintained.

Sitemap is a simple, trivial java librarey for creating sitemaps compatible with Google’s spec.