2018-11-30 Moku Pona and Gopher Feeds

I’m adding Gopher feed support to Moku Pona. In this context, a Gopher feed is a Gopher resource that returns a RSS 2.0 or Atom feed with gopher URLs as their links.

The URL could be in the text content of the link element like they do in RSS 2.0, or it could be in the href attribute like they do in Atom.

So with all of that out of the way, here are two Gopher feed URLs to look at:

  1. gopher://alexschroeder.ch:70/0do/rss
  2. gopher://gopher.leveck.us/0/phlog.atom

This should work:

alex@melanobombus:~$ moku-pona add gopher://alexschroeder.ch:70/0do/rss "Alex RSS"
alex@melanobombus:~$ moku-pona add gopher://gopher.leveck.us/0/phlog.atom "Jynx Atom"
alex@melanobombus:~$ moku-pona update
Fetching Alex RSS...updated
Fetching Jynx Atom...updated
alex@melanobombus:~$ vf1 ~/.moku-pona/updates.txt
Welcome to VF-1!
Enjoy your flight through Gopherspace...
[1] 2018-11-30 Jynx Atom/
[2] 2018-11-30 Alex RSS/
VF-1> 2
[1] Ship «Hoffnung»
[2] Comments on I don't like Bennies
[3] Influental Games
[4] Comments on Cosmic Voyage
[5] Cosmic Voyage
[6] Comments on What is Sandbox?
[7] Comments on Laptop Fan
[8] Gopher Module
[9] What is Sandbox?
[10] List of Open Books
[11] Fennel and Bussard
[12] Old Dwarf Drawings
[13] Petition
[14] Past and Current Reading
[15] 2019-02 Book Club

Now, it’s important to note that this is different from how Moku Pona worked before. Previously, it simply took the line from sites.txt and rearranged them in updates.txt. Thus, if you subscribed to alexschroeder.ch 😎 then the list of updates would also link to the same site. But this doesn’t work for feeds. If Moku Pona watches a feed, and it updates, you don’t want to get linked to the feed. You want to see a Gopher map of the links in that feed, right? So this is what Moku Pona does: it translates the feed into a Gopher Map and saves that into its cache. And when you look for the update, then it links you to the local cache.

This is what it looks like:

alex@melanobombus:~$ ls .moku-pona/
alexschroeder.ch-70-do-rss.txt       sites.txt
gopher.leveck.us-70--phlog.atom.txt  updates.txt
alex@melanobombus:~$ cat .moku-pona/sites.txt 
0Alex RSS	do/rss	alexschroeder.ch	70
0Jynx Atom	/phlog.atom	gopher.leveck.us	70
alex@melanobombus:~$ cat .moku-pona/updates.txt 
12018-11-30 Jynx Atom	/home/alex/.moku-pona/gopher.leveck.us-70--phlog.atom.txt	
12018-11-30 Alex RSS	/home/alex/.moku-pona/alexschroeder.ch-70-do-rss.txt		

This works well, locally. But if you’re sharing the updates.txt file, then people won’t be able to follow the link as the link to the updates leads to your local cache, on your local disk (in this case: /home/alex/.moku-pona). 😢



The page used to say that I was using the Gopher Module 1.0 but Tomasino convinced me that it wasn’t necessary. If you get the feed via Gopher protocol, provide a feed containing gopher links. If you get the feed via the web, provide web links. And never the twain shall meet, I guess. :)

– Alex Schroeder 2018-11-30 21:07 UTC

Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.