💾 Archived View for gemini.circumlunar.space › ~solderpunk › gemlog › identity-crisis.gmi captured on 2022-05-22 at 21:18:19. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2020-09-24)

➡️ Next capture (2022-05-22)

🚧 View Differences

-=-=-=-=-=-=-

Identity crisis

I've really been struggling lately with where and how to organise my public online identity.

For many years now, my only non-trivial public presence under the "solderpunk" name has been:

my gopherhole at the Zaibatsu.

I also have:

a small website

but it's basically just a cute little place-holder thing to stick some contact details and minor stuff and mostly just points people at my gopherhole. In general, I really, really like this approach of having exactly one primary and substantial presence and making everything else small, disposable, and with a clear pointer back to the main event. I know a lot of people who have accounts on half a dozen pubnixes or more and have different content about different subjects hosted in different places on different protocols. I understand some of the advantages of this, but it's not for me.

My first presence in Geminispace which was my own personal presence, not just the public face of the Gemini project, was a Gemini mirror of my gopherhole, powered by

GeGoBi, the Gemini-Gopher-Bihoster.

In the early days of the project I imagined that a lot of the earliest content in Geminispace would be mirrored from Gopher, but this has actually turned out to be something not many people are doing. My mirror is still up, though, meaning you can use Gemini to read stuff I wrote on Gopher years before Gemini existed:

My gopherhole, mirrored in Geminispace

Note that the above link goes down a lot. GeGoBi is written in Python, so its memory footprint is not small, relative to the Zaibatsu's available RAM. Every few weeks the Linux OOM killer brutally murders either GeGoBi or the tor daemon and sometimes it takes me a while to notice.

I'm generally happy with this idea of my one main presence being available on two protocols simultaneously with URLs at the same domain and identical content at either one.

A little later in the Gemini project, but still before things really "took off", I realised that by just mirroring my Gopherhole with GeGoBi, I wasn't actually getting any first hand experience writing text/gemini content myself, and that seemed a pretty crazy state of affairs. It's a terrible idea to design something without regularly using it yourself. So I set up two small gemlogs here, one about Gemini itself, which it seemed like a pretty sensible thing to talk about on Gemini but not on Gopher, and one on cycling, which I guess I just identified as one theme of my phlog that it was easy to factor out to a separate location. My mentality was still that my phlog was and would remain my "one true" online presence and these two gemlogs were little "side presences" to help kick the tyres of text/gemini and Molly Brown.

Since then I've thrown my album reviewing gemlog and also a little "pikkulog" on the pile, and the whole thing is starting to feel like a bit of a mess. I still don't have an outlet on Gemini for replying to stuff in Geminispace, unless it happens to fit neatly into one of my defined gemlogs. It's killing me not being able to more widely engage with the Gemini community via Gemini itself. At the same time, I'm also neglecting my phlog by trying so hard to do my part to fill Geminispace with good content, and that's not something I ever consciously descided I wanted to do. Over a year ago in my phlog I wrote:

The web is surely a dumpster fire, but let's not pretend gopher is perfect and cannot be improved. Those of us fleeing the web have just fallen back here because it's about the only off-the-shelf vaguely web-like thing that there is to fall back to. Some of us may be truly comfy here, and that's absolutely fine. Increasingly I think I'd like to use gopher as a temporary base of operations to build something even better.

That was an easy thing to say back when nothing else existed, but now that I could, in principle, migrate from Gopher to Gemini without looking back, I'm not at all sure I want to (though I know others who have, and that's very gratifying!). I have a strong sentimental attachment to Gopher: not the protocol, but the community surrounding it. Not everybody in that community would follow me if I were to leave, and I'd miss being in the same online space as them. I'm also the admin of a pubnix whose raison d'être was to provide better free gopher hosting, and I strongly believe pubnix admins should make active use of the services their systems provide to their users. Maybe this will change over time, but right now I'm not ready to leave Gopherspace.

Thus, my current plan is that I'll do something like this:

This will give me a relatively unified online presence. People who prefer Gopher can access everything via Gopher, at my one and only Gopher URL, and people who prefer Gemini can access everything via Gemini, at my one and only Gemini URL (turning off GeGoBi is necessary for there to be a one and only Gemini URL), and whichever you choose you'll get all of my content, except for stuff addressed specifically to the other protocol's community. This feels sensible, and like an improvement over scattering content in different places in an arbitrary way based on subjects matter. I also kind of like that old phlog content I wrote before Gemini existed will only be available via Gopher. That somehow feels appropriate. Respectful, even.

Unfortunately, this is not going to be easy in practice. For one thing, it means everything has to be uploaded to two separate hosts. But there's also the problem of format conversion. GeGoBi was easy to write because translating Gopher content into Gemini is easy. Item type 1 is just plain text, so you serve it with text/plain in the header, bang, done. Item type 0 has links to other Gopher content in it, but Gopher menus are strictly line-oriented, just like text/gemini is (not a coincidence!), so you can translate them into Gemini links, easy. Going the other way is another story. You can certainly do it, but only by serving all Gopher content as item type 0 so it can contain links - people do this, but it's an ugly hack with non-trivial network overhead, and the fact that so many people are doing this to work around Gopher's strict directory/content dichotomy was part of my motivation for erasing that distinction in Gemini, so it would pain me to start doing it myself! But it would make no sense for me to deprive myself of the nice features of Gemtext just to make this dual-protocol-hosting easier, and this means I'm going to have to write a script to convert text/gemini documents into text/plain which will be convenient to use in a Gopher client. This, combined with the separate host thing, means I really am going to have to write some kind of micro CMS-ish thing to automate the whole shebang, which sucks.

It's not going to be a big or hard project, at all, but I bristle at the need. Publishing textual content to the internet should be the easiest thing in the world. It should be so easy that automating it is not worth the trouble it would take. Nothing about my phlog was ever automated. I wrote each entry locally in vim, manually scp'ed the file up to the Zaibatsu, then ssh'ed in and manually added it to the gophermap. The uploading process takes me less than a minute, which is very little time indeed compared to how long writing the content takes, and only involves using tools (scp, ssh, vi) which I already use for other purposes all the time and don't have to think about, so why bother automating it? It's not exactly a fun or interesting problem to write code for.

Then, of course, there's the issue of doing the whole "collapse all my separate, single-subject gemlogs into a single gemlog" thing in a way that breaks as few links, feeds, etc. as possible. Gemini's support for redirects will make this possible, but it'll be tedious. All this crap is exactly the kind of stuff that I love the "small internet" for letting me get the hell away from, so it's pretty ironic that I've created a bunch of this work for myself. I guess this is the price I have to pay for not making a clean break from Gopher to Gemini, and/or for not having enough foresight to see all this potentially coming.

Anyway, consider this advanced notice to expect, perhaps, a little bit of breakage or confusion here in the near future, despite my best efforts.