---
author:
   email: [email protected]
   image: https://petermolnar.net/favicon.jpg
   name: Peter Molnar
   url: https://petermolnar.net
copies:
- http://web.archive.org/web/20190624125501/https://petermolnar.net/gopher/
lang: en
published: '2019-02-26T22:00:00+00:00'
summary: Since last weekend, I'm serving my site over gopher as well. Yes, that nearly
   forgotten 90s protocol. And it's not even an april fools joke.
tags:
- internet
title: Gopher? Gopher.

---

"BBS The Documentary" from Jason Scott[^1] showed me a world I never
touched, never experienced - *Eastern Europe and dial up in the 80s...
we didn't even have a phone line until the early 90s at home*. So I
eagerly started digging on how to set up a BBS, to at least get a minor
feel from the time of WarGames[^2], only to realize, I'd most probably
need to write the whole thing from scratch. Not that is wouldn't be fun,
but it wouldn't be enough fun.

Soon I forgot about it, until about week ago an unusual entry popped up
on Hacker News[^3]: We must revive Gopherspace[^4] - from 2017.

The basis of the entry describes how ugly the web has become with all
the tracking, ads, attention driven social media, an puts it in constast
with the purity of Gopher. HTTP and HTML are absolutely fantastic pieces
of engineering - but indeed they became bloated and abused. Gopher on
the other hand, is time travel, to a time when a global network was
completely new.

After reading a bit about the Gopher protocol[^5], I have to say: of
course it's pure, it needs to be compared with HTTP 1.0 and HTML 1,
because it never got a 2.0. It certainly has that oldschool feeling of
following links around, finding bottomless servers that has been sitting
around for 20+ years with content.

I wanted to contribute to this tiny community of literally just hundreds
of servers around the world.

The Python script[^6] I generate my website with uses markdown source
content files and Pandoc[^7] creates nice HTML out of them. Apparently
it can also create 80 columns wrapped plain text just as easily. Setting
up `pygopherd`[^8] is pretty straightforward as well.

The only difference from the docs you might find in case of `pygopherd`
is that the `gophermap` files don't need the `i` in front of ordinary
text content.

An example snippet:

   petermolnar.net's gopherhole - phlog, if you prefer


   1article    /category/article   petermolnar.net 70
   1journal    /category/journal   petermolnar.net 70
   1note   /category/note  petermolnar.net 70
   1photo  /category/photo petermolnar.net 70

will look like:

![lynx browser rendering the gopherfile above](gopher-01.png)

or

   article - petermolnar.net


   0A journey to the underworld that is RDF        /web-of-the-machines/index.txt  petermolnar.net 70
   I got into an argument on Twitter - it made me realize I don’t know
   enough about RDF to argue about it. Afterwards I tried out a lot of
   different ways to drew my own conclusions on RDF(a), microdata, JSON-LD,
   vocabularies, schema.org, etc. In short: this one does not spark joy.
   Irdf-it-does-not-spark-joy      /web-of-the-machines/rdf-it-does-not-spark-joy.jpg      petermolnar.net 70
   Igsdtt_microdata_error_01       /web-of-the-machines/gsdtt_microdata_error_01.png       petermolnar.net 70
   Igsdtt_microdata_error_02       /web-of-the-machines/gsdtt_microdata_error_02.png       petermolnar.net 70
   Igsdtt_rdfa_error_01    /web-of-the-machines/gsdtt_rdfa_error_01.png    petermolnar.net 70
   Igsdtt_rdfa_error_02    /web-of-the-machines/gsdtt_rdfa_error_02.png    petermolnar.net 70

   0How to add themes to your website with manual and CSS prefers-color-scheme support     /os-theme-switcher-css-with-fallback/index.txt  petermolnar.net 70
   prefers-color-scheme is a new CSS media query feature, which propagates
   your OS level color preference. While it’s very nice, it’s way too new

![lynx rendering my articles gophermap from the snippet
above](gopher-02.png)

There are good guides out there for setting up gopher content[^9], there
is really no need for one more, but if you do have any questions, feel
free to get in touch.

[^1]: <https://www.youtube.com/watch?v=mJgRHYw9-fU&list=PLgE-9Sxs2IBVgJkY-1ZMj0tIFxsJ-vOkv>

[^2]: <https://www.imdb.com/title/tt0086567/>

[^3]: <https://news.ycombinator.com/item?id=19178885>

[^4]: <https://box.matto.nl/revivegopher.html>

[^5]: <https://www.minnpost.com/business/2016/08/rise-and-fall-gopher-protocol/>

[^6]: <http://github.com/petermolnar/nasg>

[^7]: <http://pandoc.org/>

[^8]: <https://github.com/jgoerzen/pygopherd>

[^9]: <https://davebucklin.com/play/2018/03/31/how-to-gopher.html>