.%*.                                                        .-.
               .%@@@+.                                                .--=%@@@-
               =@@@@@@-                                         :--+@@@@@@@@@*
               *@%@@@@@%:                               :--=#@@@@@@@@@@@@#@@+
               @@::%@@@@@@-:                   :::-=%@@@@@@@@@@@@@@%#*-  :@*
              .@@   =@@@@@@@@@+-:::::::-=*@@@@@@@@@@@@@@@@@@@%##-        @@:
              #@#     +%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@%%#*:              -@@
              #@-        *%@@@@@@@@@@@@@@@@@%%%#=                       %@=
              @@:             -=+++==     ..                            @@:
              @@        .               -@@@                           +@@
             #@%     =@@@@-            +@@@@#              *+          %@#
             #@-   -@@@@@@@.          +@@@@@%           .%@@@@=        @@:
             @@:  +@@@@@@@@@         +@+ +@@@         %@@@@@@@@@      -@@
             @@  *@%@*  :@@@        *@+  -@@@       %@@@@@@@@@@@#     @@@
            #@% %@ @%    %@@       *@*   .@@@     =@@@*@@   :@@@@     @@:
            %@:## *@+    :@@      :@@     @@@    %@@: @#     .@@@    .@@
            @@:.  @@:    .@@      @@      @@@   %@:  @@       @@%    @@%
            @@   -@@.    =@@     @@.      @@@  %@.  #@-       @@#    @@.
           %@%   +@@.    @@.    %@-       @@@ #@    @@.      :@@    -@@
           %@:   +@@+   .@%    #@=        @@@.@    *@@       +@+    @@*
           @@:   +@@%. .%%    *@+         @@@      %@@      -@#     @@
           @@    :@@@@@@%    :@@          @@%      %@@      @#     *@@
          %@@     #@@@@*     @@           @@%      %@@.    %@.     @@:
          @@:      ===:     @@.           @@%      %@@:  =@%.     .@@
          @@.              #@=            @@%      %@@%+%@#.      @@%
          @@              +@*             @@#      -@@@@@*       .@@
         %@@             :@@              @@#       %@@#:        =@@
         @@:            .@@               @@#        :           @@=
         @@.            @@.               @@#                   :@@
         @@            #@=                @@%                   %@%
        #@@           +@+                 #@%                  .@@
        @@:          =@#                  +@%                  =@%
        @@          :@%                   -@@                  @@+
        @@         .@@                    -@:                 -@@
       -@@         @%                     .:                  *@#
       @@*         #                                          @@.
       @@                                                    =@@
      .@@                                                    @@*
      .@@                                                   .@@
      *@@                                                   =@#
      @@*                                                   @@*
      @@                                                   -@@
     .@@                                                   +@*
     .@@                                                   @@-
     -@@                                                  =@@
     %@%                                                  #@*
     @@                                                   @@:
     @@                                                  +@@
    .@@                                                  %@+
    :@%                                                  @@.
    :@%                                                 *@%
    -@.                                                 %@=
    %@                                                  @@.
    @@                                                 *@%
    @@                                                 %@=
    @%                                                 @@:
   :@%                                                +@@
   :@*                =+-                             #@+
   :@:              .%@@@.                            @@-
   -@              =@@@@@#                           :@@
   =@             *@#.=@@%                           #@%
   *@            #@-  -@@%                           %@-
   @@           #@:   :@@%                           @@:
   @@          #%     .@@%               .#@@*      -@@
   @%         #%      .@@%              +@@@@@-     %@%
   @#        %@       :@@%            .@@@@@@@@     %@:
   @#       %@        :@@%           +@@% .@@@@     @@:
   @#      %@         :@@%          #@@:   :@@@    -@@
   @#     @@.         .@@@        .@@%     .@@@=   %@%
   @#    @@.          .@@@:      %@@-       @@@%   %@:
   @#   @@             @@@@    %@@@         *@@@   @@:
   @# .@@              @@@@@@@@@@=          :@@@   @@
   * @@@               :@@@@@@@@.           :@@@  *@@
.@@@@@%                 -@@@@@.             .@@@  @@=
@@@@@:                    ..                 @@@  @@.
-@%:                                         @@@  @@.
                                             @@@  @@
                                             -@@ =@@
                                             .@@ @@+
                                             .@@:@@.
                                              @@#@-
                                              @@@.
                                              +@-
                                               -
      
mediocregopher's lil web corner

Home  //  Posts  /  Follow  /  RSS  //  License

A Tour of Gemspace

- Buckle up!


HTTP and HTML have been powering the internet for the last 50 years. If you have used a web browser you have used them, knowningly or not. HTTP is the protocol which transfers data between your browser and the web server, and HTML is the file format used to render web pages. Together, along with JS and CSS, they form the foundation of the modern internet.

And yet, the modern web is in many ways terrible. This is a premise which I won't spend much time delving into, but the gist is that HTTP/HTML/JS/CSS have all grown so complex that:

I could go on, but this isn't really what this is about. This post is about Gemini!

Gemini

Gemini is a new protocol, which acts as a replacement for HTTP. Its accompanying markup language, Gemtext, is an extremely stripped down version of markdown and acts as a replacement for HTML.

The goal of gemini is to define a new web protocol which will allow anyone to set up their own "capsule" (gemini's name for what we call a "website" in HTTP-land) and deliver content using a simple text format which can be written by hand. Gemini pages can link to other pages, just like in HTTP-land, and gemini servers can even deliver images and other non-text content as well (though with constraints on how it's presented, to prevent abuse).

However, unlike the modern web, gemini aims to be user-friendly. Pages are always simple text pages, there's no ability for popups or tracking, and no ever-growing blobs of JS/CSS which require you to buy new hardware every few years to keep up with.

The spec for gemini/gemtext is fairly short and worth reading if you're interested in the details.

The spec

I'll stop trying to sell gemini for now, because really the proof is in the pudding. If gemspace is so great, let's see it!

Preparing For The Voyage

The simplicity of the spec, coupled with its deliberately inextensible design, has allowed a profileration of gemini client and server software to be developed rapidly. You can find a somewhat complete list here:

Client/Server list

As you can see, it's immense. Here's some recommendations:

Lagrange is a popular client for Mac/Linux/Windows

Buran is a featureful open-source client for Android

Elaho is an iOS client which others vouch for (I haven't tried it)

Amfora is a great terminal client

But if you don't feel like downloading one of these you can instead browse gemspace right here in your browser! There are a multitude of HTTP gateways to gemspace, but all of them work roughly the same way: you simply append a gemini URL onto the URL of the gateway. For example, to use Nightfall City's gateway to view the homepage of the gemini project, you can navigate to:

https://nightfall.city/x/gemini.circumlunar.space/

Where gemini://gemini.circumlunar.space is the URL being proxied to.

Nightfall City is a cool project I'll talk about later, but I prefer to use their proxy because of its aesthetics. You can find other proxies listed on the gemini project's home page, but there's also many others out there. You could also make your own quite easily!

Blast Off!

Now that we're in gemspace, let's start looking around. And by "look around" I mean that I'm going to dump a bunch of links on you. Feel free to skip whatever you're not interested in.

Feed aggregators

Most content in gemspace takes the form of small individual blogs and journals that people host themselves or host on geocities-like services like gemlog.blue.

gemlog.blue

There's a few popular aggregators of these blogs which are worth knowing about.

gmisub aggregates all gemlogs which conform to a minimal spec

Antenna can have content submitted by anyone, anytime

CAPCOM picks 100 feeds monthly to act as its content source

SPACEWALK tracks changes to the index pages of capsules

Cosmos attempts to join interlinking pages into coherent threads, exposing conversations which are happening in gemspace

SoCiAl MeDiA

There's also quite a few capsules which acts as conversational platforms, similar to the social media platforms on the modern web, but for now less toxic (usually).

The Midnight Pub, the scribblings of pub patrons

Geddit, a reddit-like link service with comments

And finally there's quite a few link tree sites which simply catalog links which have been submitted or found.

"The Treeblue Review curates themed feeds and lists of links aggregated from across Geminispace."

Nightfall City, a "vibrant metropolis in an uncharted internet territory"

I personally love Nightfall City. It's full of whacky little sites, mostly in gemspace but also in HTTP-land, which really bring out what was best in the old internet. If you have nothing else to do, go explore Nightfall City.

What Is Gemspace Like

Having been hanging out in gemspace for a while, the thing which strikes me is how cozy it is. You quickly begin to recognize people who post frequently, you see conversations play out on interesting topics, and in general everyone is just cordial and pleasant. There's not much toxicity, everyone is just doing their own thing and enjoying each other's company.

Another interesting aspect of gemspace, in comparison to the modern web, is just how ephemeral everything is. Even on the gemini project's homepage there is a broken link! Capsules come and go as people gain and lose interest, since it does require some actual effort (or money) to host a capsule. On the one hand this acts as a kind of filter to weed out low effort, low commitment content, and on the other acts as a kind of very low-strength engagement mechanism. I want to check things out and explore, because things are happening now which might not be able to be found later.

The Hottest Capsule in Gemspace

As you could probably guess, this post doubles as an announcement. This site can now be found on gemini!

gemini://mediocregopher.com/

I had been planning this for quite some time, so in general the architecture of the site didn't get in my way too much. I'll be writing content in gemtext from now on, and it will display both on the HTTP and gemini sites. Older content, written in markdown, is translated to gemtext for the gemini site.

Good bye web 2.0, I'm goin to fuckin space!

Published 2023-01-22


This site can also be accessed via the gemini protocol: gemini://mediocregopher.com/

What is gemini?