I’ve been listening to a podcast called “Brad & Will Made a Tech Pod.” . It’s a fun geeky hour that comes out every Sunday.

In their last episode (44-alt-barney-dinosaur-die-die-die) they went back to their first contact with the Internet and this lead to a discussion of “The Gopher Space”, which is basically what the Internet was before “The Web” took over.
In my case my first trip online was a dial up educational BBS on a BBC Micro while at junior school, I dread to think how big the school phone bill must have been and how often I cut off the school Secretary off mid call by flicking the switch that hooked the line up to the acoustic coupler modem.
By the time I got to secondary school we had a 486 PC at home and I remember convincing my parents to let me buy a modem and posting 12 forward dated £12.00 cheques to Deamon Internet for a years worth of dial up access. At this point the Mosaic graphical Web browser had just turned up so I missed out on digging too deep into the Gopher Space.
But all the talk got me wondering how hard it would be to set up a gopher server to have a play with. I already run my own webserver to host this blog so why not see if I can host my posts on gopher as well.
A little bit of digging and I found pygopherd which comes ready packaged on Rasbian/RaspberryOS and just needs the servername setting in /etc/pygopherd/pygopherd.conf
and a entry in the port forwarding rules on the router to get up and running.
I can now use the command gopher gopher.hardill.me.uk
to start exploring. This is a terminal based tool which gives an authentic experience, but there are plugins for Firefox and Chrome if you want to play on the desktop.
A gopher site is sort of like a very stripped back webpage, it’s text only with no real formatting but it can contain links to other pages and to binary files that can be downloaded but not viewed inline. For example here is my “homepage” is in a file called gophermap
(a bit like index.html
) in /var/gopher
Ben's Place - Gopher
Just a place to make notes about things I've
been playing with
1Blog /blog
1Brad & Will Made a Tech Pod /podcast

The lines starting with a 1
point to another gophermap
with titles Blog
and Brad & Will Made a Tech Pod
in /var/gopher/blog
and /var/gopher/podcast
respectively. If the line had started with 0
it would have pointed to a text file. A full list of the prefixes can be found here.
The plan is to generate text versions of all the posts on the blog. I’ll probably write a script that takes the ATOM feed and do the conversion, but in the mean time, there was a small challenge thrown down in podcast to host all the podcast over gopher.
I was also looking for an excuse to start to doing some playing in Go which just seemed apt.
A quick search found a library to do the RSS download and parsing so the whole thing only took about 50 lines. You can find the code on github here.
You run the code as follows:
./gopherPodcast http://some.podcast.com/rss > gophermap
I’ll be running this every Sunday morning with a crontab entry to grab the latest episode and add it to the list.
One thought on “Gophering around”