I Want The Mutt Of Feed Readers

I was using Liferea for a while. That is until Liferea decided to start randomly opening links I’d click on in an infinite loop filling my browser with thousands of tabs until my browser crashed. How do you fuck that up? It’s simple: click, fucking run firefox, go back to being a reader. How do you have a fucking loop in there? Probably some idiotic GTK event handling causing me to want to strangle a puppy in revenge.

The Search Begins

I tell some friends that I can’t stand feed readers these days. That what I want is Mutt in RSS clothes. Why can’t I have a feed reader like Mutt? Mutt is awesome with its key bindings. I can tear through email fast as fuck. It’s not my main email client because it doesn’t support folders, but I love using it to glance at my email real quick. Mutt is the shit, and that’s what I fucking want for reading YC or Obie (who really has the prettiest blog once you remove his photos).

Yes, I want “The Mutt of Feed Readers” so I don’t have to look at Obie’s fat ass hold his laptop. He’s my friend, but I swear brother man is wearing lipstick. It’s disturbing.

The response from my friends is of course, “Google Reader is good. Give Google all of your data.” Fuck off, they already know about all my porn habits, my searches for Hentai (which isn’t porn but an entirely different ugly monster), and parts of my dating life, so fuck that. I don’t want google to have my fucking news reading habits. Dammit I read College Callgirl (whenever she posts) and Google should only find that out when I post it here. Fuck them.

So I tried out some new gear. Wow, this is sad. Wasting half a day to find a way to waste more time reading useless crap.

Straw

Straw fucking blows. I mean, it’s written in Python for GTK and looks reasonable at first glance. How could it suck so bad that it actually has code to find itself in the standard Python install directory? Fucking hell. How does someone write that much Python and not know how to make a module to load their code? I end up having to patch their script so that it just knows where it’s installed and still it won’t run. It bitches about NetworkManager not running on DBus. Bitch please. I run Awesome as my window manager an my total RAM footprint is 700M on a bad day (thanks to Firefox).

I ain’t running a whole Gnome desktop kit just to read some news. Next!

Blam!

Yeah, “Blamimage when I read,”Use WebKit instead of Gecko as the rendering engine.” That’s what browser for dammit. You read news. Browser read web page. Mixing bad.

Not to mention the last few times I ran “Blamimage” and die. Blam! bad. Next!

Snownews

Come on you retards. Fucking mother fuck, how can you do a feed reader that can’t do Atom? Snownews is written in Perl! That should be a 2 minute job finding something someone else already wrote on CPAN and another 2 minutes writing a single line of Perl nobody else will have to read again (because they can’t).

No, instead Snownews can’t load OPML so I have to add each feed manually. Then it can’t do Atom unless you hand it a lame script to act as a filter. You of course have to add this script for every feed that needs it after a sequence of yes/no questions and a big paused red error message yelling at you that it can’t read this feed format.

After I get a few feeds in, I think to myself, well maybe the key bindings will make up for it. There’s potential if I can just use some keys to read my news. Man was that assumption way off mark. It seems like every key is half implemented. Try to categorize a feed and it goes in this loop asking you to add a category, select a category, then repeat as if you did nothing. Change the browser and it never sets the browser. I play with it for about ten more minutes before just tossing it.

Sage

I looked at Sage, but I use Vimperator which is great but very fickle about how it plays with other plugins. Like I care though since adding a plugin to Firefox bloats it further so I avoid them. I don’t want to touch it, but I did use it in the past and wasn’t too impressed.

My general problem with the graphical feed readers is that they try to be like MS Outlook with their fancy tree panel on the left, their feed list on the top right, and the actual content on the bottom left. I call this “LL-TL-BC syndrome” for “Left List-Top List-Bottom Content”. Making me click through a tree to get to new stuff sucks. Making me scroll one fraction of my screen sucks. It’s totally unecessary.

What I like about the Mutt way of doing things (and Sylpheed too) is that there’s a key for the thing you do 99% of the time: ‘N’. What’s ‘N’ do? Why, it reads the next unread fucking thing. My email habit is litterally a string of ‘N’ characters with a rare reply or mark-thread sequence. I can track insane numbers of mailing lists and posts without any problems. It’s easy. I don’t need to click on a damn tree view to find the folder that might have the email that might be new. I just tell my MUA “show me the next new thing.”

Why can’t news be like this. I mean, it’s news assholes. Most feed readers should drop all reference to “news” and replace it with “folders”. That’d be more accurate.

Raggle

Raggle had some promise. It was console based and seemed to have the same wizzy bam keys I liked in Mutt. Then I looked at the code. 6658 lines of Ruby in a single source file. I’ve had “giant” Ruby on Rails projects that were less than that. I take a glance at the code, oh man. I run it, ok, I can probably deal with this. Nope, then it starts crashing and doing weird shit. I give up. My tolerance for shit code is just getting too low as I get older.

BTW, if you are ever working on a console program, and you get this idea to turn it into a web application at the same time, like some freak Medusa hydra, then just go shoot yourself now. The whole point of a console application is that you don’t want to deal with graphical bullshit and complexity. I know it makes the hipster assholes with their MacBookAirs pucker their sphincters when I say I don’t want graphics, but yes, sometimes, less bullshit in your face helps you focus on the things that matter.

Then again, maybe fancy graphics distracting people from the royal suckage of iTunes and their failing hardware is how Apple makes their money. Hmmm. I must research this more.

The Rest

I eventually take a look at all of these readers:

* Syndigator Right away the front page renders with some PHP include error, so fuck it.
* Newsfeed Could work, but looks like the same crap again: LL-TL-BC.
* gfeed Screenshots show a hax0r theme. Not even gonna bother.
* rsstail Hmmm, could be useful for some very restrictive setups, but a bit too far in the minimalist direction.
* Feed’N’Read Yep, “LL-TL-BC”. Fuck I hate this crap.
* Feedisto Ok, could be cool because it has bayesian filtering for the feeds, but it’s another browser based reader. Man I hate that.
* Grr.app 20+ years later and GNUstep still has all this floating random crap on the desktop. I use Awesome because it gives me my damn screen back.
* RSS Mix Tape Pulldowns for categorization? Seriously? Fucking pulldowns? You expect me to tear apart my wrists categorizing everything I read because you’re too stupid to do a simple text prompt?
* Agile RSS Sigh, “LL-TL-BC”. People, please, can you just break the fuck out of this idiom? Try something new?

Then Jackpot: Newsbeuter

Remember I want “The Mutt of Feed Readers”. Googling around for that you don’t find much. It’s all the same kind of “LL-TL-BC” readers just claiming to be like Mutt.

Then I stumble on Newsbeuter and realize this could be it. Scrolling through the screenshots I immediately think, “Uh, that looks like Mutt.” Same kind of keys, same little help bar, same kind of listing, could be the ticket.

I download it and immediately I see it’s in C++. Ok, strike against but let’s see how it works. Compilation is a little bit of a bitch because I didn’t realize you needed STFL installed first. Newsbeuter has a config.sh that finds all the dependencies, but doesn’t tell you need this. Not hard to fix, and STFL looks promising by itself as a curses lib. I may try that out actually, especially with all its bindings in other languages.

Then I run newsbeuter and it bitches that I don’t have any feeds in some text file it made, but it gives me an out by letting me load OPML. I dump my list from Liferea, hand the file to _newsbeuter -i [file]_ and it loads all my feeds for me. Hell that alone makes it better than many of the feed readers out there.

Then I start using it and I have to say it is exactly what I wanted. The keys are almost exactly what you’d get in Mutt. Screen structure and organization is the same, and even if you haven’t used Mutt it’s pretty easy to learn. Like most console applications it has a config file, with an example_config file that you copy to ~/.newsbeuter/config\ and\ then\ edit. A\ few\ quick\ edits\ of\ that\ file\ and\ I’ve\ got\ it\ configured\ how\ I\ like. Autoreload\ of\ the\ feeds,\ reload\ every\ 30\ minutes,\ use\ firefox,\ save articles\ to~/Articles, and podcasts to \~/PodCasts.

What blows me away is how quickly I can rip through feeds, search through them, and how I can save the text of articles. It has some PodCast capabilities and can queue up enclosures in feeds for later download, but I haven’t used those features yet. All I really want is to rip through my feeds periodically without much fuss.

So, to that effect I configured it to only show the feeds that have something new. Nothing else is in my way. Then I use it like this:

* I can then use ‘n’ to just read the next news item that’s available. Just keep hitting ‘n’ and then I’m done.
* When I hit something I want to see, I hit ‘o’ to pop it open in a tab in my browser, coming back to it later.
* With Vimperator and Awesome I can then just flip to the browser window with a key, hit links with a key, and close tab with a key. Done. And, all the same keys I use in Vim or Mutt.
* Sometimes I hit an article that’s relevant to some research or writing, so I hit ‘s’ and it saves a text version to disk. You don’t know how simple and awesome this is really. I use Recoll for simple desktop search, and letting it find these is great.
* If I want to look at all the links in the article, I just hit ‘u’. It lists then each, no matter where they showed up, and then I just open them in the usual way. Nice for when someone does a link blast in their feeds and I want to check out where they’re pointing me.
* It even has a Vim/Mutt style command line you can access through ‘:’, although I haven’t had to use it yet.
* Newsbeuter stores most of its data in a SQLite database, so I’m sure you could mess with it in other languages if you wanted.
* At first I hated the idea of putting my feed links into a text file, but then I whipped up a fish macro that let’s me add links I run into. Nice and simple.
* If I need to find some article I just read or a feed, rather than have all my feeds visible, I just use the ‘/’ to find what I want. Newsbeuter has a pretty decent search and lists out all the articles that match. I mean, how hard is that? Not sure why the fuck other readers can’t do that without complex dialogs and separate windows.

That’s just about all I need Newsbeuter for, but it has a few other nice features. Marking everything read is easy. Reloading is easy. All simple intuitive keystrokes. I’m curious about the PodCast feature because Newsbeuter can find the enclosures for you and just queue up what it runs into. It can also tag and categorize feeds. There’s mention of macros too which I haven’t looked at, but that could be an interesting feature to play with. I can see having a macro to remove anything mentioning “TechCrunch” or “VC”.

Correcting Flawed Marketing

Alright, so why didn’t I find Newsbeuter before? Well, they don’t have anything I can find on their page that says it’s like Mutt. Not sure why, but I’ll just help them out by saying, “Newsbeuter Is The Mutt Of Feed Readers”. Hopefully that’ll link them up with the great google.

Not For Everyone

Now, I’m sure tons of people will scoff at the idea of not having graphics in their feed. They’ve gotta have that curvy candy coated interface with the flash video about Steampunk Buttplugs posted by BoingBoing blaring right in their fucking face or else they don’t feel alive. They don’t feel young. Dammit, they want to augment that Nerd ADD with a feed reader that goes to eleven!

Fine, rock on. I just want to read some news and keep track of the stuff going on without too much hassle. I also hate reaching for my mouse. I like to try something different. If you don’t then that’s alright by me.

However, let me mention one little thing: If you learn to use console tools then you can be productive anywhere you can get internet. It’s not entirely optimal for everything, but try setting up a full environment on a remote server with these tools:

* screen I would believe in god if I found out he made screen.
* irssi Eh, it’s alright. Works well enough I guess.
* Mutt Very good, but no folders.
* mcabber Simple little Jabber client that’s not too bad. In general console chat clients either blow because they’re too simple, or blow because they’re insanely complex.
* Vim or Emacs

Yes, I know when your lame ass was in school your feeble little brain couldn’t handle even Java, but try one of these if you aren’t already a fan. Imagine a world where your editor doesn’t pop-up a giant fucking dialog whenever you try to search for something. If you find yourself grabbing dialog windows and moving them out of the way to see the code you need to reference use the dialog, then it’s time to change editors.

If ya don’t like the feeling, then cool. Stay with the graphics. I use GUI tools as well, I’ve just been trimming down my information needs by using simpler interfaces based on console based programs. I’ve found it reduces my tendency to get distracted by information if it’s in a little box with a little friction.