RSS (Really Simple Syndication) is a standardized protocol for creating and sharing web feeds. An RSS feed is an XML file consisting of entries, each of them usually corresponding to an article. Programs called “RSS readers” parse these files and provide a nice display where you can nagivate through each entry as if it were a news feed. This is a very convenient way to “follow” websites and have everything in one place, because all you have to do is grab their RSS URL, add it to your reader.

On the website owner’s end, a new RSS entry needs to be added whenever a new article is published. The entry usually includes a short summary of the article, or as is the case for my website, the whole article, so that you can read all of it through your RSS reader, without having to pull up the website.
Why bother
RSS is an open protocol, it’s decentralized, and very simple both in terms of parsing and maintaining. Because RSS is such a simple protocol, it can adapt to everyone’s workflow. There are RSS readers for Android, Windows, UNIX, web browsers, email clients, etc.
Apart from the technical advantages RSS provides, it’s also a great way to have a personal, curated, and uncensored feed, following only the websites you want — even YouTube channels — without ads and additional noise and distractions.
I personally use sfeed_curses as an RSS reader, because I like the simplicity and extensibility it offers. I’ve written a small patch, so that I can automatically bookmark feed entry URLs to a predefined file. I use this mostly to queue videos and podcasts and then stream them through mpv using a very simple script I created, which, all it does is read the “queue” file and pipe the URLs to mpv.
How to create and maintain an RSS feed
Below is a very basic RSS feed. Inside the <channel> tags is the whole feed,
and inside <item> is each individual entry. The rest of the tags are pretty
self-explanatory, if not, feel free to read the
specification. The article/summary
is placed inside <description> and can be in plain text or encoded
HTML:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Example Org</title>
<description>Example Org's RSS feed</description>
<link>http://www.example.org/rss.xml</link>
<item>
<title>Example entry</title>
<link>http://www.example.org/blog/post.html</link>
<pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate>
<description>
Here is some text containing an interesting description.
</description>
</item>
</channel>
</rss>
To create a new entry, you can either handwrite it in the XML file yourself, make a script to do it automatically, or use some existing tool. Most website generators have this functionality built-in, so you do not need to worry.
To share the feed, simply add the XML file’s URL to your website and tell people to subscribe to it. For example, my website’s RSS feed can be obtained from: https://margiolis.net/w/rss.xml.
RSS for some popular platforms
YouTube
GitHub
You can get an RSS feed for each new commit that happens in a given branch.
Replace username, repo and branch with the appropriate values:
https://github.com/username/repo/commits/branch.atom
Similarly, there are RSS feeds for new releases, among others.