My half of year on Gemini

If you are browsing from HTTP. You really should get youself a Gemini Browser and browse this on Gemini. I recommend Lagrange. Or feel free to keep using HTTP.


I've been on Gemini for more than half a year now. I genuinely feel the geminispace is a great place to be. And to publish my thoughts. The gemtext markup is also doing it's job of forcing me to write better articles. Not gonna lie. I was skeptical about not supporting inline links at first. But now I am not against it anymore. Solderpunk is right.

Note: For those reading this over HTTP. Solderpunk is the creator of the Gemini project. And this server was a Gemini server. I only added HTTP support later.

I also saw WordPress.com's recent pricing changes[1]. I feel so lucky that I decided to ditch WordPress. In fact I shall start by ranting how horrible their editing experience is.

The WordPress™ experience

Making personal blog on WordPress is horrible. Here's a few bugs that I can think right off the bat.

  • Not escaping <> in paragraphs correctly
  • Not escaping <> in code blocks correctly
  • Backticks doesn't turn into inline code depending on the order of typing
  • Undo sometimes mess up and changes the document

And major annoyances.

  • Defaulting all links to open in current tab
  • No free markdown support
  • Syntax highlighted and non-syntax highlighted blocks have different styles
  • High load time

WordPress's dashboard also made it unsuitable for a (truly personal) blog. I remember when I first started blogging, I checked the dashboard every day. To know how many people were reading my blog. Trying to figure out what content was more popular. Every time I made a long post and shared it around with my friends. I feel the kick when view counts going up and up. Encouraging me to make more big projects and make longer posts. In hindsight, that was - at least partially - a mistake. It discouraged me from writing more, smaller posts. Which, technology and personal growth wise, may have been as important as the longer ones.

I would never make a post like this one on WordPress. But writing it allows me to retrace my thought process and learn from it.

Though I can't blame WordPress for that. Their design makes a lot of sense for ecommerce and company websites. Where they earn their profits. Companies ought to be able to do more with their own content. A/B testing, geographical breakdown, etc..

Gemini and the old internet

When I first got on Gemini I was both amazed and horrified by how simple it is. There's no fancy layout. Just text and ASCII art. Quickly I found medusae.space[2] and from there, piles upon piles of gemlogs. Then suddenly I felt that this was what the internet was about. The internet when I was too young to experience. These aren't corporate created sites designed to sell products. These are genuine humans sharing their hobby. Through a medium not well known to the world; and admittedly, not that easy to work with.

A month later I was DuckDuckGo-ing some obscure problem. I came across old personal website hosted on some university server. It shocked me how close it resembled sites on Gemini. Some pationate (I assume) professor writing down this perspective on BSD. I suddenly understand what blogs are intended for. Unlike what I assumed it being a place to dump my projects and showcase my work. It's more than that, a place to condense and share my thoughts with the internet.

Gemtext editing experience

Editing gemtext feels much better than common WISIWYG editors. In a WISIWYG I often have to move my hand between keyboard and mouse. Which gets destracing quickly when I'm deeply thinking about something. On Gemini, I just use VIM, kakoune or VSCode w/ VIM mode. I'm also able to easily insert links and images using the => syntax. It's better than Makrdown's [text](uri://) syntax. With markdown some URLs are super long and makes the source document hard to read.

Another plus side of gemtext is it's dead simple. I can write an efficient parser in 100 lines of C++. And all styling is (nicely) done by the browser. If I would write a HTML page as simple as my gemini one. It would be ugly AF.

Also I'm able to git my posts! Woohoo!

The great Antenna

Antenna[3] is a really cool idea. One that absolutely won't work on the common web. Antenna instead of having a list of sites it polls for new content. Capsule owners submit atom or twtxt feeds to once they have new content. To me, this is a way for capsule owners who cares to publish their own content. Or for people to share other's content. This is bound to be abused AF on the common web. But works perfectly on Gemini.

This capsule (gemini.clehaxze.tw)

Initially I use Drew DeVault's gmnisrv[4] as my server. It was great, but I feel updating the gemlog index every time is too combersome. And I wish to also share the content over HTTP. So I switched to using dremini[5] and made a proper backend for it. Now the gemlog index and atom feed is generated by walking the directory. It also handles Gemtext to HTML conversion among other quality of life improvements. Security is also improved by new machinisms that I put inplace.

I quite like how this capsule turns out. Everything is automatic and uses basically 0 resource.

TLGS gemini search

I started TLGS as a fun project. I have wanted to build a web crawler of some sort for a very long time. I'll be a good exercise for my system design skills and pushing me to write new, difficult libraries. But I never got motivated. There's too many pages on the web to be indexed. And waht fun is it to eventually failing at beating Google. One day surfing on Gemini I though to my self "I should just make my own search engine". Gemini seems small enought to be indexed by my home server. Turns out quite successful. In the process I made dremini[5] and upstreamed a few changes to trantor (the TCP abstraction library I use).

I don't know how many people is using TLGS. I don't keep enough logs to track that. But I know some people are using it from server activity. I'm glad for that. Thanks for using my side project.

Station - where capsuleers hang out

I hang out on Station[6] quite a lot. Think it like Twitter but without the "algorithms". It's cool to find so many variety of people who are willing to post and comment on such a neach platform.

Station is likely the top 1# reason why I'm still using Gemini. It feels like an actual community with real human interactions.

Lagrange

Lagrange, the best GUI gemini browser. It's lightweight and fast. I started by using Fossil and Kristal. They are a meh.. Amfora is very nice for a terminal sessions. Lagrange on the other hand is a great GUI browser. With all the bells and whistles. Emoji support, bookmarks, search, client certificates, atom feeds, optional inline image/audio, etc.. everything the protocol and the community has to offer.

Lagrange also supports Gopher. An early internet protocol that competed with HTTP. Lagrange is like the swiss army knife of the small internet. I love it.

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