Moku Pona

These pages are about moku pona, the small Gopher update watcher. Source

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://
  2. gopher://

This should work:

alex@melanobombus:~$ moku-pona add gopher:// "Alex RSS"
alex@melanobombus:~$ moku-pona add gopher:// "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 😎 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/       sites.txt  updates.txt
alex@melanobombus:~$ cat .moku-pona/sites.txt 
0Alex RSS	do/rss	70
0Jynx Atom	/phlog.atom	70
alex@melanobombus:~$ cat .moku-pona/updates.txt 
12018-11-30 Jynx Atom	/home/alex/.moku-pona/	
12018-11-30 Alex RSS	/home/alex/.moku-pona/		

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). 😢


Comments on 2018-11-30 Moku Pona and Gopher Feeds

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

Add Comment

2018-02-07 Moku Pona Updates

I’m now hosting my moku pona subscriptions via Gopher:

Supposedly it will update twice a day. Let’s see how this goes.


Add Comment

2018-02-05 Moku Pona

Inspired by Bongusta, I wrote a simple Gopher aggregator using Perl and called it moku pona which is toki pona for good food, or tasty, in other words a translation of Bongusta.

Take a look: moku pona sources & documentation.

Its output is a gopher menu you can browse yourself or host publically. It looks a bit like the Recent Changes of a wiki. New items show up at the top and disappear from the bottom so everybody is just mentioned once.

Here’s how I added everybody who has posted to Gopher Club in 2018:

mkdir -p ~/.moku-pona
echo /phlogs/ | nc 70 \
| sed -ne "s/\[[0-9][0-9]-[A-Z][a-z][a-z]-2018\] *//p" \
>> ~/.moku-pona/sites.txt

Then I clicked through them all, trying to see whether they were actually active, and whether I felt I might want to read some more, and removed the little comments for each username, and here we are:

moku-pona add "auzymoto"
moku-pona add "bradmac"
moku-pona add "cat"
moku-pona add "cpider"
moku-pona add "daphne"
moku-pona add "gunnarfrost"
moku-pona add "imrowan"
moku-pona add "jandal"
moku-pona add "jebug29"
moku-pona add "jirka"
moku-pona add "jynx"
moku-pona add "jzp"
moku-pona add "kensanata"
moku-pona add "kvothe"
moku-pona add "logout"
moku-pona add "melton"
moku-pona add "mhj"
moku-pona add "notptr"
moku-pona add "nydel"
moku-pona add "papa"
moku-pona add "pet84rik"
moku-pona add "psztrnk"
moku-pona add "slugmax"
moku-pona add "snowdusk"
moku-pona add "solderpunk"
moku-pona add "sparcipx"
moku-pona add "sysdharma"
moku-pona add "tfurrows"
moku-pona add "tomasino"
moku-pona add "uninformativ"
moku-pona add "xmanmonk"
moku-pona add "yargo"
moku-pona add "zelbrium"
moku-pona add "zlg"
moku-pona add "defanor"
moku-pona add "solene"

Next, update the list:

moku-pona update

And then read it. You’ll get most of the benefit when you run it the next day, of course. That’s when you’ll see updated phlogs move to the top. :)

vf1 ~/.moku-pona/updates.txt

Yeah, VF-1 is the best Gopher client. :-D


Comments on 2018-02-05 Moku Pona

Things that make me sad:

$ moku-pona update
Fetching auzymoto...unchanged
Fetching bradmac...unchanged
Fetching cat...unchanged
Fetching cpider...unchanged
Fetching daphne...unchanged
Fetching gunnarfrost...unchanged
Fetching imrowan...unchanged
Fetching jandal...unchanged
Fetching jebug29...unchanged
Fetching jirka...unchanged
Fetching jynx...unchanged
Fetching jzp...unchanged
Fetching kensanata...unchanged
Fetching kvothe...unchanged
Fetching logout...unchanged
Fetching melton...unchanged
Fetching mhj...unchanged
Fetching notptr...unchanged
Fetching nydel...unchanged
Fetching papa...unchanged
Fetching pet84rik...unchanged
Fetching psztrnk...unchanged
Fetching slugmax...unchanged
Fetching snowdusk...unchanged
Fetching solderpunk...unchanged
Fetching sparcipx...unchanged
Fetching sysdharma...unchanged
Fetching tfurrows...unchanged
Fetching tomasino...unchanged
Fetching uninformativ...unchanged
Fetching xmanmonk...unchanged
Fetching yargo...unchanged
Fetching zelbrium...unchanged
Fetching zlg...unchanged

– Alex Schroeder 2018-02-05 14:18 UTC

Today I am traveling and I realized that moku pona needs to be installed online somewhere!

– Alex 2018-02-06 07:34 UTC

Thank you, kvothe, for the nice words about moku pona. This warms my heart.

– Alex 2018-02-06 17:19 UTC

Then again, psztrnk is critical of aggregating in the first place. I’m not sure what to say to that.

– Alex Schroeder 2018-02-06 20:27 UTC

What about Bongusta, asks logout. I don’t know. Bongusta was the first site where I saw phlogs from outside SDF. That was very important for me, and I imagine it will remain important in the future. Having a well known starting point is important.

Plus, if gopherspace grows, we will soon run into preferences. Perhaps I would like to avoid this phlog or that phlog, or I’ll want to add a phlog that somebody else doesn’t want to add. The freedom to do different is important to me, even if there is no immediate need for it right now.

It’s cool to have a tool that enables people to run their own aggregators without people feeling like they need to. It’s like any other freedom: you are free to service your own car, but you are also free to take a cab, or hitch a ride, or anything else. How many different kinds of public aggregators will we need in a world where 28 of 36 phlogs I follow are on SDF and I guess the total number of sites I might be interested in is not much more than that? One? Two? Three? Not much more than that is my guess. And that’s why Bongusta absolutely has a place, even if there are tools that enable other people to run similar sites. So, having the freedom to run an aggregator is super cool, even if there is just a need to run one or two.

In short, I would love for Bongusta to stay. :)

– Alex Schroeder 2018-02-06 20:50 UTC

And then there’s auzymoto’s post talking about two kinds of subscriptions: subscribe to changes to a gophermap like moku pona does. or actually spider a site and look for changes. Auzymoto also lists some pitfalls for this: links leaving the site, circular links, stuff like that. And I’d also think about all the false positives I can see. I’m not interested in all the new links, I think. I’m just looking for new day posts. Perhaps a possible compromise is to subscribe to gophermaps and list any addition to that gopher map in the aggregated view? It would only work one or two levels deep, I guess. Perhaps that is limited enough for it work.

– Alex Schroeder 2018-02-06 21:09 UTC

Add Comment


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.