Over the last year-and-a-bit of burnout, one of the more notable things I’ve lost was my feed-reading habits.

I’d read news via RSS/Atom daily since around 2010, and I’ve experimented with lots of software (aKregator, snownews, Google Reader, Feedly, miniflux) at various points over the last decade. I very definitely remember reading news via Reader and, later, Feedly, whilst commuting. Somewhere, I have patches for miniflux so I could read news on a Kindle — this requires a bit of work to deal with the “Experimental Browser”’s foibles.

I want to bring back the habit of reading news. And, given my recent efforts in making my GNU Emacs environment more capable, I decided to look into feed-readers for Emacs. There look to be about four options here: Newsticker, Gnus, Wanderlust, and elfeed.

Gnus seemed like it’d be a very obvious choice: it is, after all, a newsreader — albeit one originally for NNTP — and on the surface it was a really nice fit! I’ve also previously used Gnus as a mail client: when I had to deal with an ancient Windows machine that wasn’t quite up to dealing with Thunderbird, Gnus was a marvellous fit.

Similarly, Wanderlust — which I presently as my main email client — is notionally good at dealing with lots of articles, which I find particularly useful as I wade through my sea of email.

Indeed, this isn’t my first time I’ve investigated either Gnus or Wanderlust for feed-reading: I have previously tried both, in fact, but had enough issues that I gave them up. In particular, some feeds I follow aren’t well-formed enough for their tastes, and often this manifested as being unable to either load those feeds, or where every refresh caused every article to be reinserted. I’d also not yet made some of the changes that make my current Emacs environment much more amenable to long-running kitchen-sinks.

I’d not used Newsticker; but a brief look suggested it wasn’t quite up to what I wanted, either.

That left me with elfeed, and after some cajoling, I have the bare bones of a feed-reading environment again. Having gotten into a comfortable position — the easiest way I’ve found to deal with the first update of any new news-reader requires just killing every “new” article — it looks like I might be able to get reading!

The changes in my Emacs configuration are in dotfiles#e472e411. Some highlights:

I now have a framework for defining my news feeds: if/when I opt to switch to a different reader, it should still be fairly painless to switch. As a result, I have a file, ~/.feeds.el, which contains stanzas that look like:

(setq rssfeeds `(
;; [...]
,(rssfeed :title	"Jashank Jeremy"
	  :feed-url	"https://jashankj.space/blog/index.atom"
	  :site-url	"https://jashankj.space/"
	  :tags		'(blog blog/jeremy/jashank))
;; [...]
))

I took the old elfeed-cleanup implementation, split it into parts, and made them easier to compose back together. This makes it much easier to describe all the little text-fiddling transformations I want, such as cleaning up all the horrible Unicode that some feeds insist on inserting. I also purloined a compose implementation, and tidied it up a wee bit.

And eventually I may revisit reading news on a Kindle: a web front-end to elfeed exists, and optimistically it’ll be simple enough that the Kindle Experimental Browser won’t choke.