nox.im · All Posts · All in Simplicity · All in Privacy · All in My Take

Gemini: Revival of Simplicity and the Old Internet

Prior to the 80s, scientists that were working with computers, were trying to solve real problems. Over time, computers became faster and we got more leeway in terms of how to solve problems. We didn’t need to be that efficient anymore and could get “creative”. This quickly descended into solving problems with belief structures. Belief structures that brought us the likes of C++ and Java with their interpretation of “object oriented”. Nowadays we live in a world where an 11 line npm package called “left-pad” can break half the internet on one side of the spectrum. On another we have communities recycling the same content every few weeks given their short attention spans on the likes of Reddit and Twitter, getting attention mined for micro transactions and engagement commercialization.

Complexity

There are countless examples that we’re reaching peak complexity in technology. While our parents could fix all parts in their automobile, one generation later no single person can understand nor build an iPhone by himself. It literally takes thousands of people to manufacture marvels like this and a huge consumer market to make producing it economical. I recently watched the excellent talk by Jonathan Blow on “Preventing the Collapse of Civilization”.

Technology doesn’t automatically improve. For many years the US space program was in steep decline until Elon Musk came along and changed course. It takes tremendous commitment and resource to maintain the status quo and even more to make new advances. Over time, technology degrades and knowledge can be lost and most of us don’t appreciate that we’re living in a privileged time.

Jonathan Blow makes the argument that software is in decline. It is free riding performance wise on hardware advances and (most) innovation in software is gone. We learn through working and building, but today we’re doing so on a very high level of abstraction. Those choices, over time, aid the loss of capabilities.

There’s a difference between simplifying and making a higher level of abstraction. – Jonathan Blow

A lot of people and “engineers” don’t ever see or do anything low level anymore and few have a good grasp on basics such as CPU architecture, embedded systems, cache coherence, operating systems, compilers. The idea of abstraction is that it makes us more productive. As a second order effect, deep knowledge is replaced by trivia. The tools we use shape the way we think and create mental models. When we’re operating on a high level of abstraction, we operate in that context and often are no longer capable of seeing the low level consequences of our actions, as those are “abstracted away” from us.

Remember that Ken Thompson built the Unix operating system including kernel in 3 weeks, after the initial design ideas revealed themselves. Nowadays we spend man years building new “apps” for everything. Apps that utilize thousands of libraries, abstractions and sometimes require the stars to be aligned to even work. The problems our apps are solving are often trivial or shallow entertainment, out for attention mining and micro transactions to monetize every last bit of what users can bring to the table in the short lifespan software has these days.

The amount of complexity that we can sustain over time, is less than what individuals can do today. We deal with complex deployments, complex application setups, complex configuration management and complex apps. Where a lot here is superfluous complexity.

The Modern Web

Considering what we’re exposing ourselves to in the modern web, it’s offensive what we spend our brainpower on. Good information is drowned by noise and it appears only a small percentage of people try to understand something complex. This is nothing like the internet we had 20 years ago, where there was actual discovery with every session and websites that didn’t try to monetize your visits.

Quality text is also becoming more rare and even authoritative sources are breaking lines with scrolling ads every few paragraphs. When we Google search “how to do XYZ” we get a list of video results first for very trivial things or shallow explanations. Content from people like Grant Sanderson is the exception to the rule of course.

Usually video is shallow and possibly good for quick overview type material, if you can get past the “like and subscribe” mentality. But video doesn’t allow for application of skills like skipping and browsing through text which used to be actually taught in school. Spend half an hour on YouTube and you feel the attention mining. Entertainment is quickly optimized for your likings, and interests if you have such a thing, and furthers addictive behavior through skinner box type content revelations. All aimed to exploit and commercialize.

With the advent of Facebook, real names became a thing on the modern web too. Instead of caring about the content we share and produce we have to care about our identity and carefully walk between self-censorship to avoid the cancel mob and not losing our jobs for what our actual opinions are. The sort of content you get from the short attention span, blue check mark Twitter crowd.

Criticism of these takes

You may rightfully accuse me of conservatism, loss avoidance and fear of change. Wanting to live through the nostalgia from the past and tossing lessons and progress. Maybe I really am committing creative bankruptcy. Quite possibly there is some truth in this. There is no money in it, no power, but only passion. I would love to see the revitalization of what we lost in the transition from Web 1.0 to 2.0. The old internet was different and less homogeneous. Each individual website had a list of links and often a guestbook where people with similar mind sets could share. Links that lead you deeper and deeper down a path of completely unique content. Humans created those thoughtful content, often anonymously, because of passion. Not for profit or attention. It was a time when the internet was more exciting, there was more to discover and overall the internet had more personality. Not some recycled threads or magazine style news bites of what modernity is mostly about.

Enter Gemini

All this made me want to go back to the basics, relearn what I lost from the ground up. When I looked around earlier in the year there is to my surprise a community of like minded folks. The Gopher protocol seems to be undergoing a renaissance with a community of “phloggers” and then I discovered the Gemini protocol.

Shortly after I launched this blog the old school way on one of my spare domains through https, I coded up a server and launched the Gemlog version under gemini://nox.im.

To visit with Gemini, install a client such as lagrange.

Lagrange nox.im Gemini page

The protocol is an alternative to http. Instead of compiling and serving html, the document format is called Gemtext. Gemini could be seen as an evolution of Gopher and the protocol remains very simple. It specifies a the request response format between clients and server. TLS is required to establish encrypted connections. Certificates are not authoritative but a concept of TOFU, touch on first use, is employed. If authentication is required, it can be accomplished with client certificates. Clients often allow you to manage identities as a list of private keys for this reason. TLS client certificates are a first class citizen, which is pretty cool! Input is accomplished by response codes followed by a request with the reponse in the URL query string.

Functionality is aggressively removed from the web and strips down the serving of documents to the bare minimum. A lot of typography is tossed and there are no tables or formulas. Just simple text and not even bold or italic styles. This allows developers to create clients (browsers) and servers without concerns for device compatibility. Privacy and simplicity is baked in. There is no room in the protocol to commercialize or track users. It’s designed for the general consumption of written material.

Granted there are some downsides, query strings could convey a tracking key though it would be obvious. It also is up to the client implementation on what to do with potentially malicious octet-streams that may get sent through links.

Gemini’s goal is not to replace the modern web and neither to provide an alternative. It has clarity of purpose which may be described as privacy, anonymity of identity, compatibility, a reset on aimless tech “growth” and exploitation. It is consciously rejecting the modern web and its trajectory

Gemini is a hard reset, serving the goals of few like minded people that develop this internet sub culture. The love for simplicity is a behavior, not a belief. Gemini is art.


Published on Saturday, Jul 3, 2021. Last modified on Sunday, Feb 20, 2022.
Go back

If you’d like to support me, follow me on Twitter or buy me a coffee. Use Bitcoin
BTC address: bc1q6zjzekdjhp44aws36hdavzc5hhf9p9xnx9j7cv