A year on Gemini

Note: This post is designed to be viewed over the Gemini protocol. If you are visiting via https://clehaxze.tw/ , you should consider visiting gemini://gemini.clehaxze.tw/ instead.

It has been about a year that I'm been on Gemini. I feel this is a good time to share my experience with the community. A, or two post about my search engine is coming soon. So I won't be talking about that here. But general Gemini and Internet stuff.

How I started

I learned about Gemini from MentalOutlaw's Gemini video[1]. Saying it's a minimalist protocol with strong privacy and no tracking what so ever. I though the idea is cool. But why would someone use something that practically no one is using? I put the idea into the attic of my mind. Until a week or two later. I was too boarded and decided to look into Gemini.

Youtube video: [1]: MentalOutlaw - Gemini - An Even Better Internet Protocol

First I grabbed the Kristall browser because it's written in C++ - the language I love. Then I landed on geminisspace.info - most people have Google as their homepage. Why not start exploring from a search engine too? From there I quickly discovered medusae.space from searching. This is the first time I encounter a web directory. I was amazed by what it holds - links to other capsules. Some are dead links. But a good portion of them are active Gemlogs. blogs but on Gemini.

Quickly I switched to the Lagrange browser. I like it's UI and being much more user friendly. Reading gemlog feels like a fresh air that I haven't seen on the internet for ages. That people are actually expression their thought and opinion, voluntarily and without social pressure. I'm sold on the idea of the small, right, smol internet.

At this point I still dislike the fact Gemtext is so limited. No layout and styling? You gotta be kidding me.

Exploring the Gemini Space

Out of the same boring-ness I wrote my own Gemini server and client library. That grown out of control and turned into a search engine - it's a story for another time. In the process I discovered many capsules that I still visit today. Mostly Station and Cosmos. Station first drew me in as it's an active community of people actively posting their day - Twitter but Gemini if you like. I learned about client certificates and joined. It's more then refreshing to see an actual community of people (interested in the same stuff) instead of corporate social media.

I used to use CAPCOM and Gemsub hosted by others to discover new contents. Then Cosmos and Antenna stood out. Especially Cosmos, instead of asking users to submit their Atom feeds for digestion. Cosmos polls Atom feeds periodically, parses new content to figure out if they are thread (some really nice guess work). Then it's all shows to the user. Really nice.

Drew DeVault's leave

Drew DeVault is a crazy good developer. He wrote a lot about low-level tech development. I use his tools (gmni Gemini client and gmnisvr Gemini server) often in debug and hosting content. It's surprising to see him leave the Gemini community. He expressed his view on expecting Gemini to become some discussion ground for developers and dev blogs. Which kinda, sorta happens. But if you head over Cosmos, you see most contents are tech reviews/rants. And personal expressions.

I partially agree on his view. I, too, wish there more hard core developers on Gemini. Working on low level stuff that no one talks about today. Going back to the 90s where that's all the rage. But that's no weakness of Gemini.

My own capsule

I started my own capsule at about the same time TLGS is publicly lunched. At the beginning it runs on the gmnisvr server. I'm too lazy to make a systemd service for it, so it ran in tmux. Few months later. I thought to myself, I had my simple website running for ages and now I'm writing all these content for Gemini. Can I repurpose them and turn my basic website into a blog? So I did.

Luck would have it. I wrote my own Gemini server and client in C++ for another hobby project. And it happens that my website is also running in C++, using the same underlying web framework. So I hacked pieces together. Reskin my website and added more functionality. Repurposed the Gemtext parser for my search engine to spit out HTML.. And voila. I have a blog.

Nevertheless, I assume most (technical) readers of my content are Gemini users. At least I got several mails from other Gemi-nuts and 0 from the common web.

This is also when I started to appreciate the simplicity of Gemtext. It's very easy to parse and not too hard to hack. The base Gemtext spec does not support italic and bold text. It's because parsing them is hard (not context free grammar). Yet, the Markdown way of using **bold text** is readable in plaintext as well as rendered. So I added support for it. Likewise, Gemtext does not support inline media. But again, some basic hacking gets me inline pictures when rendered into HTML.

Atom support

In order to be able to submit my posts to the great Antenna. I need Atom support. For those who don't know. Atom is a better and simpler version of RSS. Having my own backend gave me the oppertunity to easily generate Atom feeds. I was hesitant to implement at first as reading RFCs is not my favorite thing to do. Then it turns out Atom is really easy. No wonder Solderpunk uses it in the spec.

Though Atom still has it's flaws. The published attribute is an optional tag while updated is required. This causes browsers, namely Lagrange, to sort posts based on updated instead of published. This is a problem as I want my posts to show up in publication order. Lagrange just overwrites any data information with updated. I think some aggregator also does this. So I had to hack around it. updated is set to the publication date. Sad not able to provide proper information.

My vision

I don't know how Gemini would expand from here on. I do agree with what Jeff said in his log (link in the following). Gemini can grow. And I expect the main need to for more serivces to be avaliable over Gemini. But what can we do under Gemini's limited interactivity? Pretty much the only acceptable input is a line of text. And maybe a few button clicks via links. I'm very intrested in what developers will come up with.

As of now, the two most impressive project I saw is News Waffle and Station. Station managed to create a entire social media just with text. News Waffel uses a ton of black magic to extract contents from news sites. Basically proxying news into Gemini in the form of the "reader mode" on browsers.

With that, I see Gemini keep being a blog space for it's inhabitants. Although making services for Gemini is challenging. I trust the developers will come up with new and exciting capsules. My best wishes.

A Curated List of Gemini resources

Right. Some resources I use weekly if not daily. The TL;DR and appendex of this post.

  • Social Media

  • Browsers

  • Search Engines

You bet I'm gonna recommend my own search engine. I'm proud to develop something I as well as others uses daily.

  • Aggregators

  • Content

  • News

Author's profile. Photo taken in VRChat by my friend Tast+
Martin Chang
Systems software, HPC, GPGPU and AI. I mostly write stupid C++ code. Sometimes does AI research. Chronic VRChat addict

I run TLGS, a major search engine on Gemini. Used by Buran by default.

  • marty1885 \at protonmail.com
  • Matrix: @clehaxze:matrix.clehaxze.tw
  • Jami: a72b62ac04a958ca57739247aa1ed4fe0d11d2df