How I use RSS Feeds

This are not very useful thoughts, but it helps getting back into blogging.

Introduction

In the past I used Thunderbird for mail and feeds, but somewhen ago I switched do Evolution because it feelt (and sill feels) some-what neater integrated with Gnome, which is my Desktop Environment since some time now. But unfortunately Evolution does not support feeds, so I did not move those and soon forgot about them. Partly because there was only a small number of feeds and all of them of YouTube channels I remembered to look after anyway.

Not that long ago I then decided to start using feeds again. Mainly because I set up an IFTTT recipe for a web comic that started to clutter my Inbox. I could have disabled it, but I always forgot which page was the last one I read, so I would keep all the mails for the pages I hadn’t read yet marked as unread. I already created a filter for the mails sent for the web comic, so my Inbox was a little bit less cluttered afterwards, but I wanted my feeds back now.

I also started to follow some (more) blogs and did not want to look after all of them each time. I might could have abused IFTTT via mail for this again, but why should I do such a thing if there is software out there specialized for this use-case?!

After some time I decided to start using Liferea (The Linux Feed Reader). Most of the things I followed already had RSS or Atom feeds, but some not or not the way I liked it. So let me outline two of this cases here, my GitHub notifications and YouTube. For the third one, the Ava’s Demon web comic, there will be a own post because the things around that are bigger than just turning something into a feed.

GitHub Notifications

While GitHub has a feed for activities, there is no feed for your notifications. My “implementation” of the notification feed lacks some features and I currently do not use it, but it was still interesting to implement.

It is fully leveraging GitHub’s API. While there is a simple endpoint listing all your notifications, it does not contain the link to the HTML version to the notification (issue, PR, etc), so I needed to make more requests to get them. And because I like to over-engineer things, I did this using Ruby and Typhoeus with parallel requests. So far, so good.

youtube-viewer Integration

Since YouTube switched to Polymer its too slow for me in my Waterfox with many Addons. The issue is with my machines setup, not with Waterfox. It’s also not that slow, but slow enough for me. To circumvent this, I started using youtube-viewer.

But this means that for each video I have to manually copy the link to the video and paste it into youtube-viewer. That’s at least 4 actions for each video: 2 clicks to copy, at least one ALT-TAB to get the right terminal running youtube-viewer and one paste! I omit starting youtube-viewer here, because I only do this once and keep it open afterwards, I always have an running instance in my tmux. It just came to my mind that I have to add a youtube-viewer session that starts with tmux to my configuration, so for the future I just need a new terminal (one shortcut) and a tmux a vid (vid because it’s more obvious and easier to type than ytv).

Anyway, for Liferea I decided to transform the feed via XSLT to create links that I can open directly via youtube-viewer. I did this by “inventing” a new URL scheme for opening YT videos by ID and binding it to youtube-viewer --videoids. This requires a small wrapper to cut back the invented scheme and start youtube-viewer with the id, putting a .desktop file for that handler into ~/.local/share/applications and setting that as a scheme handler in ~/.local/share/application/mimeapps.list.

Somewhat straight-forward unless you configured your environment only in your .bashrc and not in your .profile so that Gnome cannot pick up youtube-viewer from ~/.local (where I installed it) and you need to hard-code the path. Also, the path to the handler is hard-coded (with my username), because I was too lazy to create a good install script. Maybe some time in the future if I change my distribution.

Sources

All sources are freely available in my 2feed Git repo. (Oops, no license there yet. Consider it GPLv3.)

Directly jump to the generator for the GitHub Notifications Feed or the XSLT stylesheet for YouTube Feed with youtube-viewer.

The End.

Blah.

Christoph Schulz

Christoph Schulz

Christoph Schulz
I am Dev. Maybe.

How to deal with the meaninglessness of the world?

*A draft I've created some weeks ago. I've polished it a little bit andpublished it now.*God is Dead, Individualism won't save us, Social...… Continue reading