The way of the command line

コマンドライン道

So you see how a simple thing like wanting to bastardise some Japanese for the sake of a grandiose title can lead to quite a lot of wasted time.

But let us move on with business. As some of you may be aware, Google is shutting down their self-titled “reader” on July 1, or sometime thereabouts, and since this date rapidly approaches I have found myself in need of an alternative method of accessing my now-beloved RSS feeds. I read about quite a few, though I can’t be bothered going back to think about them again now for the sake of this post. Suffice it to say I remained unimpressed by any of them.

And so I decided that I should just go back to the fundamentals. I use Ubuntu at the office, so a Linux-based open-source RSS reader of some kind was appealling on philosophical grounds. I thus came across newsbeuter. It is terminal based, but hey, this is Linux! The terminal is your friend.

Oh yeah...

Oh yeah…

I have to say, I am pretty happy with it so far! It is totally straightforward, has no junk attached, and if I need to see images or other rich content I just press “o” and it opens in a browser (which is similar to what I did a lot from Google reader anyway). The down side is of course the lack of syncing, which is what Google reader was good for. I feel like I can probably hook some database file or other up to dropbox and achieve the same thing with newsbeuter though. Have not tried yet.

So after my success with this, I started to think, what else can I abandon in favour of a command line version? Turns out I can Tweet from the command line perfectly well with Twidge:

Down with GUIs!

Down with GUIs!

And I can even read my email with Mutt! (Though I may not stick with this one, it might be taking things too far :p. We’ll see if I can get used to it.)

Beautiful beautiful plain text.

Beautiful beautiful plain text.

The next thing on my hit-list was Facebook. Now certainly I cannot abandon it entirely –Facebook have made sure we can’t interact much with their content without going through their web page– but it turns out we can do a bit, and perhaps more than they would like. They are currently kind enough to supply an RSS feed for your notifications in a url something like this:
http://www.facebook.com/feeds/notifications.php?id=YOURID&viewer=710466528&key=YOURKEY&format=rss20
which you can easily obtain by clicking “See all” in your notifications list, at the top of the ensuing page at “Get notifications via: Text message . RSS”.

So they seem happy for you to grab that, presumably because it may cause you to come back and look at some Facebook ads when you get a notification. But what about the news feed? That would be handy to have in RSS form!

But no, Facebook seem to not want you to do that. Yet, we can achieve something at least a bit similar in spirit…

The plan will be this: we will grab the RSS feeds from a bunch of our friends with the most interesting status updates (turns out we can get feeds of these), combine them all together into one feed with Yahoo Pipes (and also tag them with their origins so we know whose status is whose) and grab this single feed into our RSS reader so that we only have to look at the one feed for everyone.

First, one needs to install the Facebook app FB RSS, which will give you url feeds of every one of your friends’ status updates, individually. Also it gives you feeds from pages you are a “fan” of, and possibly something else I am forgetting.

Anyway these are pretty terrible to deal with all individually. So we want to combine them together! To do this we can use Yahoo Pipes, which I had never heard of before yesterday but turns out is a very powerful tool that lets you harvest all kinds of stuff from all over the internet and transform it into an RSS feed, all using a visual “piping” programming language that reminds me a lot of SpaceChem.

The method I cooked up for my purposes was to grab the urls I wanted from FB RSS and put them into a csv file, in a series of “feed name”:”url” pairs, dumping this file into my public dropbox folder, and then telling Yahoo Pipes to grab the data out of this file. It took me a while to figure out the piping (but if you want to see or use the pipes I invented they are here: Main pipe, Sub-pipe).

So, now we just give the combined feed to newsbeuter and huzzah, status updates without having to look at Facebook!

Suck it Zuckerburg!

Suck it Zuckerburg!

I’m feeling pretty good about this new setup, though I will admit that it took an obscenely long time to figure out that piping business. But now that I did it once I am sure there must be some other junk on the internet that would be handy to pipe together…

Time to go home! Peace out.

Update: I have now added my YouTube “subscriptions” RSS feed to newsbeuter, with some more help from Yahoo Pipes to modify the item titles to contain the authors and video durations (pipe here). Gotta say I like looking at my subscriptions feed this way much better than the usual way!

youtubefeed

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s