At present, I have a paid subscription to Inoreader. It provides both a web-interface as well as a mobile app, synchronzing read content between the two.
But, I’ve noticed that I graze on my Rich Site Summary (RSS 🔍) feed on my mobile device; Swiping through articles out of boredom.
This past week I began experimenting with Newsboat as my local RSS client. I exported my Outline Processor Markup Language (OPML 🔍) document from Inoreader. I then imported that OPML into Newsboat.
Visual Tour (for a text-based RSS Client)
First and foremost, Newsboat has a text-based command-line interface. You will not see images in your feed. I have configured Newboat so I can open any link or article in Firefox using a shell script
Instead of adding screenshots with the minimal colors, I’ll copy and paste each screen. For those curious, here is a link to my Newsboat configuration.
Feed List Dialogue
Newsboat loads a Feed List dialogue. In my configuration I have four columns
configured: Index, Read/Unread, Unread/Total, and Feed Title.
default I hide feeds I’ve already read (by the config
newsboat 2.19.0 - Your feeds (8 unread, 8 total) 1 N (1/459) Blogroll for Take on Rules 3 N (12/111) Recent articles 82 N (1/18) Alex Schroeder: Diary 198 N (3/113) Indie RPG Planet 199 N (5/206) Old School RPG Planet 590 N (1/26) Skullsword's Tower 954 N (1/26) Den of the Lizard King 1201 N (1/27) msjx q:Quit ENTER:Open n:Next Unread r:Reload R:Reload All A:Mark Read C:Mark All Read /:Search ?:Help
A Newsboat query feed populates the “Blogroll for Take on Rules”. The “Blogroll for Take on Rules” queries all feeds tagged with “blogroll” and aggregates those articles.
Here’s a sample from my urls.txt:
"query:Blogroll for Take on Rules:tags # \"blogroll\"" https://alexschroeder.ch/wiki/feed/full/ "Gaming/RPG" blogroll https://gohugo.io/index.xml "FOSS"
In the above Feed List dialogue, “Alex Schroeder: Diary” shows as its own feed (index 82) and Newsboat counts the articles from Alex’s blog in the “Blogroll for Take on Rules.”
The Article Dialog renders the textual content and footnotes each link.
Below is an excerpt from Alex Schroeder’s The effects of stats in simple games.
newsboat 2.19.0 - Your feeds (8 unread, 8 total) Feed: Alex Schroeder: Diary Title: The effects of stats in simple games Author: email@example.com (Alex Schroeder) Date: Sun, 12 Apr 2020 09:15:56 -0400 Link: https://alexschroeder.ch/wiki/2020-04-12_The_effects_of_stats_in_simple_games If you’ve played OD&D, or Swords & Wizardry, or any of the other old school games out there, you have encountered this before, regarding monster stats: monsters have hit dice (HD); this determines how many hit they can take, on average. Each hit die is 1d6, and each damage die is also 1d6. In later games, the picture is not that simple anymore. In Dungeons and Dragons: Basic/Expert (B/X 🔍) we already notice that many fighters have a strength bonus, but monsters also use 1d8 for hit dice. For the purpose of this blog post, I don’t care about the details. I care about this relationship: every extra Hit Die (HD 🔍) allows a monster to survive one more hit; every extra HD also allows a monster to hit more easily; extra HD also allow a monster to better resist spells. What does it mean to survive more hits? It means that fights take longer, or that monsters can take on more enemies. It’s not that simple because the monster is also better at hitting the opposition. Without that twist, it’d be boring: four characters hit a monster with 4 HD and it’s dead; four characters hit monster with 8 HD and it takes two rounds to kill. The difference is that the 8 HD monster probably deals more damage to the characters. Most likely it also has special abilities that make it even more dangerous. The net effect is hard to predict and that’s probably what makes the game interesting. I’m trying to apply the same kind of analysis to Just Halberds. … Links: : https://alexschroeder.ch/wiki/Just_Halberds (link) …
When reading the article, I can type
o to open the article in Firefox (as per
my configuration). I can also type
1 to open the first link (e.g.
https://alexschroeder.ch/wiki/Just_Halberds). I can also type
s to save the
article to my machine.
The saved articles are either “of future interest” or something which I may write a response. Regardless, I have a plain-text copy of the article for future reference.
Deeper Level Hacking
Newsboat stores the articles in a local SQLITE database. If I want, I can run queries against that database. Maybe I want to find all of the links to a given site throughout the articles? Easy.
As part of my publish process, I now use my URL file for Newsboat to populate the blogs in my Blog Roll. Prior to Newsboat, I manually managed the Blog Roll seperately from the Inoreader feeds.
With Newsboat, I’m able to continue using RSS. I can now consider leaving a paid subscription (which is certainly using my data as part of the surveillance capitalism paradigm). I had explored using NetWireNews, which provides a nice Graphical User Interface (GUI 🔍), but didn’t quite work for me.
I also get the ability to write scripts against the entire ecosystem. I can specify the directory for the SQLite cache database, the file to use for URLs, and where to save the plain text articles.
In other words, Newsboat gives me direct and unfettered access to the inputs and outputs of the entire RSS experience.