-- Leo's gemini proxy

-- Connecting to gemini.dimakrasner.com:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

My Gemini Retrospective


In my mind, browsing Geminispace or Gopherspace is the internet equivalent of de Certeau's idea of walking in the city. The veteran geminaut knows the best way from capsule A to capsule B, gems like a games and shortcuts like aggregators. The veteran geminaut navigates deliberately and mindfully, and this is an empowering experience that allows people to pursue their interests, find adjucent topics of interest and exchange ideas with like-minded people, without fear of tracking or ads that gently bend and push one's stream of consciousness. Gemini allows people to talk to the void without FOMO and without expecting "coins" such as "likes" in return, and that is very liberating once you get used to it.


Gemini is a good lesson for people who believe that work is never "done" and deny the "perma" in "permacomputing". My most influential and inspiring teachers taught me that there's always something I can do when I'm done with my current task: if you don't see anything to do or improve, you're probably not looking: you're a lazy bum, incompetent, or both. When I was younger, confidence in my ability to fix and improve things made me a calm and productive person. Gemini helped me realize that this hunt for problems and solution made me stressed: my attempt to restore what I preceived as lost harmony in the world, helped me find peace and win this silly zero sum game. Writing my own Gemini client taught me that the work can be "done" if you decide so, and I feel more peaceful knowing that my primary content retrieval tool won't change.


I accept my client won't "improve" over time by gaining major features and it may contain known issues, but I accept that, because it's a tool that fullfils its purpose. Gemini taught me that I should be more pragmatic. Gemini clients and servers are tools and infrastructure *for humans*: some humans don't like change and some just want a quiet place where they can hide from all the noise outside. I hope Gemini won't change much, because much like Tom Cruise in The Last Samurai, I came to like this place and the values it embodies, once I got used to it. Standards live in a parallel universe, like Plato's forms, and mortals like us can only experience the pseudo-standard that emerges when the standard has a group of commonly-used implementations that guide future pratical use. It's super hard to write a detailed specification that covers all corner cases, and implementers will challenge the specification in various ways, if the specification changes or if the specification isn't ... specific. For example, close_notify is still optional in real-world Gemini, contrary to what the specification says, and my client can only *warn* users about possibly truncated pages. Even if the Gemini protocol won't change, the gap between Gemini-the-standard and Gemini-the-implemented-standard can change, and I hope things will slow down as Geminispace enters its Gartner-esque "trough of disillusionment".


I enjoy simple solutions to complex problems, but to enjoy Gemini, I had had to change my view on software minimalism. The suckless community was an early source of inspiration for me. Antoine de Saint-Exupéry said that "perfection is achieved [...] when there is nothing left to take away", and the things these people achieved with few lines of code were amazing to me, something to aspire to as a young programmer. While in many cases, good things happen when this proverb is translated into action, the older me thinks that sometimes too much is too much. Nowadays, I find suckless tools too limited and annoying to use. A hours long ride through the desert, with spotty signal, convinced me that the "request per view" and "remember the previous page" mantras are simply wrong: the obsession with LOC reduction cannot be the top priority in an interactive application for reading. A truly minimalistic Gemini client is painful to use. The way most popular clients behave and the expectations of users define a higher minimum-viable-client standard, compared to Gopher clients or (obviously) something like curl. In addition, Gemini has this for-humans, DIY ethos: sometimes, a hackable or well-behaved client needs more LOC, and privacy requires encryption (that consts LOC), so "fewer lines" can't be the right answer every time one needs to decide how write or improve a Gemini client.

-- Response ended

-- Page fetched on Fri May 10 06:18:36 2024