💾 Archived View for gemini.ctrl-c.club › ~stack › gemlog › 2021-11-01-gemlabels.gmi captured on 2022-03-01 at 15:51:04. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
In a previous post, I outlined an idea for creating persistent 4-character alphanumeric tags for each link seen by the browser:
I've been thinking about this for a few days now, and I still like the idea.
In a nutshell, we keep a database of each link seen by the system. Each link is assigned a 4-character alphanumeric tag (no case distinction) which is easy-enough to type or remember. We can now use these tags for navigation (like a url-shortener).
Since we have a database of links which is queried for every link, we can use it for other purposes - such as keeping a tally of number of visits - so the user can see which links are relevant. A list of most-visited sites is almost as useful as manually-maintained bookmarks!
Note that the tags are local to an installation (although it would be an interesting project to label the entire gemspace).
The most interesting sites may be manually assigned a 3-character tag.
Since this machinery is used at human speed, it really doesn't matter how it's implemented. A little key-value database, or just about anything that can keep track of a ~1.7 million key-value pairs max.
A slightly more sophisticated approach would be to factor out the sites into a separate table. This would save a lot of space and provide a bit of useful information as well.
The reason to do this is to support a modular Gemini client infrastructure I've been working on. At this point, I envision:
The separation of functionality allows a single requestor and link database to supply all the users of a single user or even a LAN-ful of users. These may be used to present an interactive UI, or as part of a spider or off-line caching system.
It just feels right.