Synchronized Gopherholes (18-1-11)

Happy New Year, by the way, and a warning upfront: the following post is mostly an outline of an idea!

Although I had vacation over the holidays, I was totally inactive on the phlogging side. Family consumed quite some of my time (in a good way though), and I was not that motivated anyway, although I partly followed the activity on SDF.

With the recent hiccups on SDF, I was thinking about where best to establish one's [ph|g|b]log presence to be least affected by downtime. Nothing's forever, though, and so one could establish a system of interconnected gopherholes which automatically synchronize their contents, and publish all the locations so that people could look elsewhere, if one node goes down. Actually it's not restricted to blogs etc, but one's online presence in general.

Of course neither the problem nor ideas to solve it are anything new. Think about torrents, or solutions like the InterPlanetary File System, Freenet, zeronet etc. The problem with these systems is the requirement to install some specific client or to use some kind of gateway. I want a solution working with normal clients, especially for gopher.

In principle, this might be accomplished by dynamic DNS or even a Round Robin DNS system. However, that's again a single point of failure: recently, some of my solutions temporarily broke because of (hosted by SDF) being offline.

In total, it boils down to "search all places where stuff could be and try to connect to them" which must be done either by a client (zeronet etc) or by the audience themselves (publish a set of entry points to the same content on different servers, and people try to find a working one). Currently, I don't want to use the former approach, and therefore a package for easy installation of a synchronization system seems the best solution. Obviously, the servers themselvesmcould well use some of the former systems in the background for their synchronization.

As my plog suite already contains code for git-based handling of source texts and publication into websites and gopher directories, it might be a good starting point. The final goal is an interconnected system of servers providing the following:

Perhaps I should rewrite the plog suite; currently it's a bit messy, as the functional parts are rather intermingled. It might be better to have separate scripts or functions for (git) synchronization, source text conversion, publication, and mailing.

Actually, it might even be best to completely separate the git synchronisation logic from all the other components, because it could be used for any kind of content like private repos, backups etc.

Anyway, we'll see which goals I'll manage to implement in the near future!