< More Posts

RSS, bookmarks, & Nitter

Published 10 January 2021 at Yours, Kewbish. 2295 words. Subscribe via RSS.


Introduction

Over the past maybe two months, I’ve been hoarding a list of nearly all the people I follow around the internet in a text file. It started out as a list of handles and websites for a small group of people, but quickly branched out as I found new ‘layers’ of interesting individuals. Through the power of The Algorithm™️ (and some branching), the list briefly expanded to a concerning length before I pruned it down to active, regular creators. Some of these people are on Twitter, others have a short writing project each week, and others put out long-form essays every so often that I find engaging. Whenever I was in need of something to productively procrastinate with, I’d pop open the file, simply named cool.md, and go check in on what people had done in the last few days or so.

With this new content regularly coming in, I’d also developed a need to bookmark articles that I wanted to read either later, or keep in mind to revisit sometime in the future. This sort of thing would usually be from a site that had one or two pieces I wanted to keep an eye on, but not a site that I’d want to consume content from regularly. To give you a sense of what fills this category, stuff like tutorials and productivity advice appears regularly. At the moment, I have a long essay by Andy Matuschak I’ve been meaning to read for the last week but haven’t gotten the time to yet there. Apparently, people call files of this sort their ‘attics’.

I’ve been meaning to collate the websites and RSS feeds of the aforementioned people for a while, but hadn’t bothered to set up an RSS reader yet. Most of the ones I’ve seen have a reader view, folders, and favouriting - while that’s certainly a must-have for some people, I was looking for something much simpler. Yet after scouring the Internet, I’ve found that the intersection of my rather specific criteria seem to be the odd Chrome extension or Android app, instead of any established site. I’d been searching for something small to work on over winter break, so I decided I may as well try to gain some insights into my content consumption1 and do a bit of programming2 as well.

This is a log of what I’ve done to build Matter, my personal (very minimalistic) RSS reader, and also keep track of all the other feeds and bookmarks as well.

RSS

I broke the contents of the cool.md up into three subsections: people (on Twitter), articles (personal websites, most with RSS feeds), and bookmarks (things I wanted to get around to reading someday). I decided to tackle the RSS reader first - I’d live without checking Twitter, and keeping a list of bookmarks in a text file was not optimal, but fine for now.

As mentioned in the introduction, I spent a while looking for RSS readers. I was leaning towards Feedly, but I also kind of wanted to work on a small project. (At least, that’s my justification for it, I really have no idea why I decided this was a good idea either.)

I wanted it to feel sort of like lobste.rs or HackerNews - just a simple collection of links. Most RSS readers were a bit overcomplicated, in my opinion, for what I wanted it to do: collect links so I could later waste time develop my personal knowledge with them. I wasn’t very interested in a reading pane or annotations - those I could do in my notes repository, just to keep everything in one place. This way, I’d avoid having to make more glue scripts to import and export and shuffle data around.

I ended up with something like this:

Figure 1. Matter, my personal RSS reader.

Matter, my personal RSS reader.

It’s basically a reskin of my blog’s archive page, but I think that the simplicity makes it feel less addicting and less complicated-for-the-sake-of-marketing-and-features. I wanted to keep the same minimalist atmosphere I get from Lobsters and HN with Matter, and while the execution (read: code) was perhaps not very clean, it works nicely.

I now find that it’s a lot easier to remember what I’ve read and where I’ve read it - I have fewer sources to scour before I find the one post I was trying to think about. It’s also nice that I can finally have one feed for everything. Reading now feels more engaging, rather than something I do purely out of boredom (which biases towards short articles and quick posts), though boredom still factors into when I read. Matter solves a lot of the annoyances I’ve had with reading blogs: it felt like too much work to go around and click through all the links in the cool.md file, and I’d often miss or re-find articles since I didn’t have a central place to keep track of them. I like it so far, and we’ll see how my usage of it changes in the future.

I’m also doing a little experiment with tracking articles over the month of January - I plan on writing a bit more about it at the end of the month.

Bookmarking

After I’d gotten the RSS parsing done and dusted (somewhat less difficult than expected), I was also looking for a place to keep my temporary bookmarks. These are usually longer articles I don’t have the time to read right this second, but that I’d like to read in the near future. I try to group reading these over the weekend whenever I have a break (which is rather infrequently, but we’re trying our best). With the cool.md file, I’d usually reach for the shortest article, and often left longer articles, and those added earlier, for ages.

I already keep a private Git repo with all my school and personal notes, and I thought this might be a good place to use it. Yes, I could have used Pocket, Evernote, or even the Chrome bookmarks bar (oh the horrors), but I wanted to sort of keep my bookmarks and my notes in the same place. The rationale was that I’d be more inclined to take notes and track things down, but more about this at the end of January. I also sort of wanted Matter to be my singular feed and source that I could check regularly, sort of like an all-encompassing life thread.

So, I slapped together a simple function to pull in the list of comments from a GitHub issue. (Note, if you’re going to do this, maybe remember to disable email notifications.) Through Matter, I can add new bookmarks (with or without a short note about its purpose), and delete ones I’ve just read. As for technical details, the GitHub API is actually surprisingly painfree with comments and issues - I just had to feed it a repo, an issue number, and a PAT.

With this, I notice that while I still kind of bias towards first reading shorter articles, I’ve also been sort of encouraged to go in a vaguely chronological order (in terms of adding said article to Matter). I definitely also remember to refer to these more, especially as they display on the top of all my other RSS feeds and articles. I also perceive it as easier to add items, even though technically opening Matter and pasting in a link takes about the same time as opening a Markdown file and editing one in.

Twitter

I’ve realized that, for someone who doesn’t even have a Twitter account, I spend a relatively disproportionate amount of time on Twitter. It’s mostly to keep up with a couple people whose work gets posted to Twitter first, as well as explore some of those branching threads that seem to come up every now and then. In the cool.md file, I kept the list of Twitter handles mixed with a list of blogs as well, and would go manually decide to check in on one whenever I was bored.

However, this was a bit annoying - for all the supposed shortcomings of the Twitter feed, I’d still say that having one place to catch up on the latest whatever is still markedly better than having to manually go through a bunch of profiles. I briefly toyed with the idea of actually creating an account and making a Twitter List for myself. However, I also realized that this would incentivize spending more time on Twitter, not streamlining the reading process, and end up not solving the problem.

I looked around for some way to make an RSS feed out of certain Twitter handles without an account - after all, I now had an RSS reader, and I thought I might as well also use that for Twitter. There were some seemingly defunct projects available - twitrss.me was one of the free ones I checked out. (It’ll throw an internal server error if you try anything; I assume the project’s a bit dead.) However, after enough searching, I found that nitter.net has an RSS feature.

Upon a cursory search, I then found out that I could generate a single RSS feed for multiple users. This was great - I’d managed to create my own pseudofeed. However, upon loading it into Matter, I realized that the formatting of the RSS feed was a bit awkward. This was to no fault of Nitter’s - what else would an expected title be besides, well, the tweet itself? The description also displayed the tweet, though, and because most tweets are longer than I’d like for a single box in Matter, it ended up being a bit clunky3.

It was at the moment I realized that Nitter was, well, an alternative Twitter interface. The same link I was using to aggregate RSS feeds could also be used to simply browse Nitter (after I removed the /rss bit). So far, it’s been pretty great - I don’t need to create an account of any sort, and I can’t really comment or try to interact with things either. I scroll through the last dayIs tweets in the morning, mark down anything worth bookmarking in Matter, and then just go about the rest of my day. With this setup, I manage to limit my ‘oh wait have I checked if xyz person’s done anything’ moments.

As I see it, Nitters’s a bit of a read-only interface, which fits my purposes well. It’s really easy to ‘follow’ and ‘unfollow’ users by removing them from the URL, and Nitter’s also pretty good for going into individual tweets and such. The only issue I’ve ever had with it is rate limiting, but that’s to be expected without requiring any sort of API key from a user. Luckily, there are tonnes of other Nitter instances, so I can just swap out the URL and continue my doomscrolling.

Conclusion

There’s a constant inflow of information that has to pass through my brain for processing: the internet, school, people, and all the other miscellaneous work I have to do. Matter, and the methods I use to read through content that I’ve written about above, are my attempts to distill things down to something that’s more manageable. I don’t want to spend ages scrolling through infinite feeds, but honestly, if I don’t have anything else to fill the time with, I’m probably going to revert to that. Matter reduces the friction that comes with reading things that actually interest me more - as a website (that I don’t have to log in to), I can access it on my phone as well. This leads me to go read things I have in my Matter backlog, instead of scrolling Reddit, for example.

I like building small things for myself (and releasing them and then realizing this fits absolutely no one except me, but that’s alright) - it’s more fun than trying to make things for people, I guess. This sort of ties into making your own tools - thesephist’s post on the topic, and Robin Sloan’s are both pretty great posts that I think encapsulate what I tried to do with Matter nicely.

Matter’s source is available at kewbish/matter on GitHub, and it’s also available at kewbi.sh/matter. Everything is client-side (I don’t have a way to, or wish to, keep any of your RSS feeds), so feel free to try it out. I’d like to clean up the code a bit more (probably unlikely given I have rather scuffed JS skills), and maybe tweak some of the bookmarking stuff. But for now, I’m happy with it, and hey - for something I made for myself anyhow, that’s enough.


  1. I used to really hate the phrase media consumption. It reminded me of that disease that novel characters always seemed to come down with, and also implied that we were being spoonfed content by a mysterious algorithm with no real choice in the matter. But really - that’s exactly what’s going on, isn’t it? The Twitter recommended box comes up with three contacts of a given person, and nudges the user to go see what those people are up to as well. You don’t have any influence over who comes up, so I suppose the only thing you can control is how you respond to that. ↩︎

  2. Admittedly somewhat unnecessary programming, since using a pre-existing reader would have worked just fine and saved a bit of winter break time, but I was looking for something to do anyhow. The experience of building this was a bit of a complementing contrast to the rest of the work I had to do. ↩︎

  3. This did lead me to add a nice truncation feature for other websites' links that would overflow though, so I suppose it wasn’t all bad. ↩︎

- Yours, Kewbish


< More Posts