Henrik Carlsson's Blog

How I manage what goes into my news rivers

Almost a year ago I wrote about WordPress’ Link Manager. It’s an old feature of WP that seems to get very little use these days. But it is a way to collect links to websites and, this is the important part, their corresponding RSS/Atom feeds, and get an OPML file os the websites in question.

Collected links can be put in categories and every category has its own OPML. You can find the OPML for all my links here.

OPML is one of the file formats that can feed a river in River 5. As far as I know the OPML that River 5 reads needs to be in the lists folder in your River 5 installation, so at first glance that seems to rule out using WordPress’ OPML feature.

The not so secret sauce that makes it work is the ”include” node in OPML. In my lists folder I have and OPML file for each and every river I want River 5 to generate. Each of those files contain a single <outline> node that links to the corresponding category among my WP links.

For example, my ”Everything feed”:

This tells River 5 to include everything it finds at the URL http://blog.henrikcarlsson.se/wp-links-opml.php which, as I just mentioned, is the full list of links that I collect in my sites link manager.

So whenever I want to add or remove a link (site/blog/etc) I just use WordPress’ link manager. That makes it very simple to add and remove stuff and therefore I’m more likely to try to add new sites to the mix and see if they add to my satisfaction or not.

Keeping up with the news using River 5

River 5 has been running on one of my servers now for about twenty-four hours and so far things seem to work perfectly. Order is restored and I feel connected with the news again.

River 5 is a feed reader that generate rivers of news. A river of news is a way of displaying items of feeds that presents the items in one or more feeds as a reverse-chronological list with a headline (if present), short text and a link to the original post. It’s very similar to the Twitter timeline. The main difference is that news rivers uses RSS and Atom feeds for their content, not a proprietary plattform, hence they are part of the open web.

You can see and use my rivers in the native views that’s included with River 5 here, or you can checkout my own simplified version of the viewer, that’s more optimized for my smartphone.1

As I’ve mentioned before, I’m currently not using Twitter. I stopped mostly because I don’t like the debate-climate there. The limitations of Twitter that once made it interesting has turned it into a great megaphone for anti-intellectualism and it effects all of us when we’re using it. However, I did started to feel disconnected from the news of the world when my old, River 4-based, rivers stopped working right around the time i quit Twitter.

So I rebooted using River 5 and now I feel connected again. The river is basically my timeline. I decide what goes into it, the same way I did on Twitter. The difference is that the articles on news sites and the posts on people’s blogs are more thought-through than the quips we throw around Twitter. The same goes for the microblogs I include in the rivers. Even though they are basically the same as tweets, I don’t think they are as hamstrung by the format.


  1. This is very much a work in progress, but it’s the way I’m currently getting most news. 
I just installed and launched River5. No time to really test it now, but it does seems to be running properly.

The basic building blocks of Twitter

At its core, Twitter is just three fairly simple things.

  1. A simple way to post short status updates.
  2. A list of people who’s post you follow.
  3. A timeline that mashes the posts from those people together into one stream.

Every piece of the puzzle was there long before Twitter. For posting we had, and still have, blogs. For following we have things logs blogrolls, remember those? And the timeline is just a river style feed reader.

The indie web movement are trying to recreate this, but I think what they/we lack is a turn-key solution for new users to get all this. The pieces are there, but they need to be combined.

Today I learned more about an upcoming service that I’ve been keeping my eye on for some time, that will bring these pieces together in what looks like a great way. Exciting times!

Turning off Twitter seems to result in me missing out on some news. Minor new, but still. I need to get my news rivers up and running again.

Newsriver howto for publishers. (Scripting News)

Newsriver howto for publishers. (Scripting News)

My frustration with Twitter, succinctly summarized by Dave Winer (and than commented way too rambly by me)

Yesterday Dave Winer made a harsh comment regarding twitter.

Everyone: When you ask ”Isn’t that what Twitter already does?” the answer is no. Twitter does nothing well because of the 140-char limit.

You might even say Twitter does nothing. The Seinfeld of social networks.The province of snorts and gusts. Miscreant sarcasm and trollery.

– Dave Winer on Twitter, 2016-05-13. (first paragraph, second paragraph)

At first this might sound like an oversimplification but it resonated with me. Twitter is making me increasingly frustrated these days. The 140 character limit might, might, have been a good thing to differentiate it at first but today I think that it’s one of the core problems of the service.

A hundred-and-forty character limit is actively harming nuanced discussions. Once you start tweeting directly to one person it gets even worse since precious characters are eaten up by the username of that person. So instead of discussion we get people screaming simplified messages into the void, we get Trump, we get people calling someone who tries to argue for something a racist, or a sexist, or a social justice warrior, a communist, a fascist, etc. Whatever name you find is properly insulting you use to smear the those who seems to not agree with you. When there’s not enough room to question or to debate you get name-calling.

I’m guilty of this as well. I’m also guilty of not speaking up and not questioning in a lot of cases. There have been so many times that I thought of something that I wanted to express, so many times that I wanted to ask follow-up questions to someone who wrote something that I didn’t agree with and so many of those times I chose not to. Because I couldn’t fit it within the limits of twitter without botching the message completely. So instead I kept shut.

So why do I keep using twitter? Probably because so many of my friends and people whose opinions I care about are there, and so much of the news that I read comes to me this way.

Fortunately the latter obstacle is not that much of a problem. I’m still an avid RSS user and I could replace a lot of my news sources on Twitter with various RSS feeds and readers. In part I am doing that already since I’ve more or less unfollowed every single account tweeting about Swedish politics or Swedish news. Instead I keep the RSS feed of some Swedish newspapers in my river of news.

Same thing goes for a lot of tech news as well.

The first problem, that so many of my friends and people who’s voices I care about is on Twitter is a bigger issue. I am actually after all these years contemplating joining Facebook. Maybe that would help me to keep up with my friends. In a way, I think it would be better for this than Twitter is.

As for the people who I’m not a real-life friend, who might not even follow and/or be interested in me, with but whose opinions matter to me, I think all of us – everyone who’s expressing strong opinions on the internet – should be better at expressing us on our own publishing space as well. More blogs, more of the indieweb.

This post got a lot more rambly than I planned. I’d actually only planned to quote Dave and to leave a sentence or two as a comment but things doesn’t always turn out the way we’ve planned.

So I have no great way of ending the post. No call to action for you, the reader or for myself. I guess I’ll get back on this topic.

Introducing River5

Dave Winer has now formally announced River5. I’m a user of River4, and I’m really liking it. If you don’t yet have a River of News you should check it out.

RSS is alive and kicking and ready to act as the open distribution format for news for many years to come.

Introducing River5

I think Dave is right. RSS is definitely not dead, as some people has implied. It’s more alive and more important now than it has been for a long time. It’s an important piece of the puzzle that let us breath new life into the open web.

Dave Winer has released a new river version, River5. Nothing on his website about it yet but it’s on GitHub.

Installing River4 on Ubuntu.

A much better and less chatty take on the problem than what I wrote yesterday. – Installing River4 on Ubuntu.http://river4.smallpict.com/2015/08/04/installingRiver4OnUbuntu.html

Installing River4 on Ubuntu

I just installed River4 on a headless Ubuntu server. Unfortunately it was not as straight forward as it was installing it on my Mac.

If you’re trying to install River4 on Ubuntu, please read this whole article. Don’t do things as you read. Reading it in its entirety will likely spare you some headaches.

Dave Winer, the creator of River4, has an easy to follow guide on how to install River4 on a Mac. To install it on Ubuntu you need to be able to wing it a bit.

The first order of business for me was to install Node.js. I tried to do that simply by running

It seems to work fine so I uploaded the River4 files via my FTP-client of choise. I then navigated to the River4 folder and tried running

And hit a big snag. It turns out installing Node via apt-get does not install NPM. So I tried

Okay, NPM got installed and I tried npm install once again. Still no luck. NPM itself ran but couldn’t download the specified packages.

After doing a bit of searching I found a Stack Overflow post that instructed me to change the way NPM got its data. I managed to do that and it seemed like the install process got further but it still ended up failing, now with and error message telling me my version of Node was too old for River4.

WTF?!? I just installed it. How can it be too old?

Well, after som more searching I found an article titled Node.js v0.12, io.js, and the NodeSource Linux Repositories. I did not read every word of it but the gist of it is that the latest versions of Node is not accessible via apt-get(!). Instead the article gives us the following command-line instructions to run:

# Note the new setup script name for Node.js v0.12
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -

# Then install with:
sudo apt-get install -y nodejs

I’m sure someone smarter than me will know the exact details of what this does. To me it was enough to know that it would allow me to install version 0.12 of Node. So I ran it and then tried to install the River4 dependencies again. Once again it didn’t work.

Out of frustration I removed the entire River4-folder from the machine, re-uploaded it via FTP and tried NPM again. This time it worked and the app could be launched with node river4.js.

When I logged out of the server it stopped working so I learned the hard way that I needed to launch it using nohup node river4.js > /dev/null 2>&1 &. This way it’ll continue running in the background indefinitely.

What to do

This is an attempt of telling you how to go about installing River4 on Ubuntu. I leave absolutely no guarantees. It might not work. It might blow up your server. It might make you sad.

  1. Install the latest version of Node.js using
    > # Note the new setup script name for Node.js v0.12
    > curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
    > # Then install with:
    > sudo apt-get install -y nodejs
  2. Install NPM using sudo apt-get install npm.
  3. Upload the River4 app via FTP.
  4. Run npm install in the River4 folder.
  5. Start the app and server using nohup node river4.js > /dev/null 2>&1 &.

If NPM gives you problems in step 4, try changing where it gets its data:

How to install River4 on a system running Node.js.

How to install River4 on a system running Node.js.https://www.youtube.com/watch?v=2wIs2gkFmWk

What should I do? How should I prioritize my free time?

I’m having a problem. I currently feel like I need to ”accomplish” something, and that I haven’t done that in quite a while.

In reality this is so not true. For the last five weeks I’ve been on vacation and most of that time have been spent raising my baby daughter. Before that I worked and raised my baby daughter. So off course I’ve accomplished something. I’m in the middle of raising a human being!

But that doesn’t make the feeling of needing to accomplish something less urgent. What I mean in this case is that I feel that I should create something, something that is visible online.

I have a lot of ideas of things to do and a lot of started projects that doesn’t seem to ever go anywhere. Here are some of the things I want to do/have begun doing:

Make and iOS app and publish it to the App Store.

Last summer I finally managed to carve out the time to learn how to use Objective-C and how to code iOS apps.

I’ve made two apps that kind of works that’s only been used by me and my girlfriend.1 However I’ve not managed to get them polished up to the point where I’ve felt comfortable posting them to the App Store.

This is very common for me. I start something and it gets ”good enough” for me to use it, but then I never make it good enough for others to use.#

The apps are a photo app to create time-lapse photos of something that slowly changes (like a pregnant woman’s belly) and a private photo sharing app that uses WordPress as a backend.

I also have an idea for a River of News based RSS reader.

Remake this blog/website.

Lately I’ve been really interested in the idea of owning your content, in ”POSSE” and the whole indie web, or silo-less web or whatever you want to call it. That has gotten me to start changing things around on this blog to accommodate ”microblog”, ”link blogs” etc. etc. (I’m also highly anticipating Manton Reece’s upcoming microblogging service.)

This has led to some progress but also to a cluttered site, both in terms of the content but mostly in terms of the underlying code and the services I use (for instance IFTTT and Radio3) to make this happen.

I would like to clean up the code and at the same time move forward in adding functionality, like webmentions and some sort of backfeed of comments from Twitter and App.Net.

At the moment it seems like it would be faster to actually start creating a new theme from scratch (although with the same basic look) rather than refactoring the one I’m using. But it also feels like a drag to do that. It feels like I once again start over in something rather then polishing something up. (Do you see a pattern here?)

On the other hand, working on the theme might result in some open source code and that would really be me making something.

Do something cool with one or more River(s) of News

A couple of days ago I installed a River of News aggregator on my computer and I got blown away by it. Unlike other forms of RSS aggregation this seems like the perfect way to consume a large number of current topics via RSS. I also have a strong feeling that rivers of news will be important in a possible future with a more open web. Hell, Twitter is basically a bunch of rivers of news!

Today I also read a post that, among other things, requested a better way for blogs to recommend each other to readers and to curate content from each others blogs. This is likely accomplished by rivers and the OPML files that are the foundations of the rivers.

So I have multiple ideas of things to do involving rivers.

Playing Zelda

Or, I could just continue to Zelda: Majora’s Mask 3D. Sometimes playing a video game can feel like I’m accomplishing things.

Read a book

I really, really, love to read but I read way to seldom. So maybe I should just continue reading Spook Country.

So, what do I do?

I don’t know. Hopefully something productive. I guess time will tell.


  1. Or should I call Linn my domestic partner? Or my fiancé? We are engaged but have no actual plans of getting married. We’ve been a couple for well over a decade, we’ve lived together for eight years and we have a daughter. I this case the English language is really lacking for not having an equivalent to the Swedish word ”sambo”. 
Jag håller på att sammanställa en lista på svenska nyhetsflöden (RSS/Atom etc.) för en ”River of News”. Tips på sajter att inkludera?