The Verge
Google killed Reader in 2013, shutting down its RSS reader after years of neglect. Now, the team that built it reflects on what they made and how the web has changed in the decade since.
Well now I’m mad all over again. Reader was probably good because it was neglected by management not in spite of it. The community sharing and notes are what made it good—not very different from what I'm still doing here.

Update: See also: Chris Coyier on Social RSS.
"…it turns out that at some point I'd previously set up Feedly, the app I chose (likely in a post-Reader hunt for a replacement), and so after I logged in, it pulled in news from sites I cared about back in the late 2000s. It was a nice moment to revisit the person I was then, but also it was a lightbulb going off in my head: Here was a feed! Of news! That's current! It felt familiar in a way that felt good, but also decidedly did not feel like Twitter."
100 emoji! I have been spending more and more time in my RSS reader after changing up the feeds a bit recently and it really is great seemingly secret old tech that still works.

How I Consume RSS in 2021

I was just looking at my iOS Screen Time report and noticed that I spend a good portion of my phone time reading RSS feeds. I'm guessing that's unusual and I thought it might be good to share my latest setup.

When Google Reader shut down in 2013 I installed Tiny Tiny RSS on an AWS server and used that regularly in a desktop browser without really touching it again until 2018. (Beyond regular OS updates.) I wrote about that update—Newsreader Update—which opened up reading feeds in a nice interface on my iPhone. I figured I'd go another five years without touching it, but no. Some quirk of the app was annoying enough that I looked at updating tt-rss and there has been a big improvement: Dockerization.

The salty folks who created and maintain tt-rss have packaged everything up with Docker so it's easier to maintain. Here's the tt-rss docker compose version. Now I have this running on a $5/month Digital Ocean server and the code updates with every reboot. The one piece I wasn't sure about was configuring the web server inside Docker. But it turned out to be pretty easy by setting up a reverse proxy on the host OS.

Anyway, I realize that not everyone is going to want to reverse proxy their way to reading RSS on their iPhone. But you can consume RSS feeds in 2021 with a little work. I still think having control of your primary news feed without all of the sorting, attention, and social alogrithms is the best way keep up with the web.
Substack Blog
So it turns out I subscribe to ~30 Substack newsletters and their new inbox tool is helpful. You can also add arbitrary RSS feeds into the mix if you want, but with no organization tools you probably aren't going to use this as a full-time feed reader. Neat though!
Gizmodo Gizmodo
image from Gizmodo
"I’d start with, at most, 10 news sites to subscribe to. This will give you a feel for how fast you want the feed to move. Too slow? Add more. To fast? Delete a few. I try to narrow things down even further: Instead of subscribing to the New York Times, which publishes dozens of items per day, I subscribe specifically to the Times’ tech section, which means I get a much more curated selection."
Seconded. And hey, I could have written this. This article has great advice for embracing the decentralized lifestyle. I personally use a self-hosted Tiny Tiny RSS with Reeder on iOS which costs about $8/month at AWS. Instead of limiting feeds, I subscribe liberally and put them in folders by subject. Then I browse by subject periodically instead of the full list of feeds and tune from there.

Newsreader Update

After the demise of Google Reader in 2013 I found the open source clone Tiny Tiny RSS and I've been using it to subscribe to websites ever since. I installed it on my own server, customized the interface quite a bit, and wrote a few plugins. And because I had put a lot of time into modifying it by editing the source files directly, I didn't upgrade it. Ever.

Tiny Tiny RSS has been evolving over the years and it's pretty ridiculous that I didn't upgrade. I probably missed 1,000+ bug fixes and performance enhancements releases in the last five years.

Earlier this week I was looking at the latest version and found that the PHP requirements changed. One does not simply upgrade PHP. "We're in the future now," I thought, "Shouldn't this all be serverless?" It's not. I did find something neat in the process though.

A company called Bitnami has an AWS image with Tiny Tiny RSS installed along with everything you need to run it. I threw this on the smallest AWS instance (a t2.micro) and had a more recent version up and running in minutes. It took a few more minutes to get a free LetsEncrypt cert going for SSL, a trifling more to run the feed updater as a service, and finally a smattering more minutes to export/import my subscriptions. But minutes none the less!

The new version means I can finally use a real iOS app to read as well. Reeder 3 for iOS is free now and works with Tiny Tiny RSS if you use the Fever API plugin. (Although it seems like the project is abandoned and I needed to add a couple lines of code to get it working; hooray open source life.)

And to top it all off I only directly edited one source file. So I'm learning. Here's to another five years of this particular version of Tiny Tiny RSS!

Amazon Feed Generator Reborn

Today I fired up a new version of the Amazon Feed Generator. It creates an RSS feed from Amazon search results so you can subscribe to them. That way you'll be alerted to new products that show up in those results.

This feed generator is one of the tools that used to live at this site. I put the original together around the time I wrote Amazon Hacks. The feed generator eventually became unnecessary because during the RSS boom of the mid-to-late 2000s, Amazon embraced feeds and offered them for many of their pages. These days they've scaled the feeds they offer way back and I still think it's handy to able to subscribe to them.

The feeds this tool generates are very simple. Each feed entry has the product name, a big image, and the new (non-used) price for the item. For example, there probably aren't too many new Bob Dylan albums coming out on vinyl, but why not subscribe to this feed just to be sure. There are a few more examples on the feed generator page.

Amazon's API has changed quite a bit over the years. My server development environment changed. Let's face it, we've all changed. So to get this running again I built it anew. I used node.js and a couple of existing packages: amazon-product-api and rss. (Those rely on other packages, which use others, and it's packages all the way down.) Thanks for sharing your code everyone! I put the code for this on Github, so you too can run your own feed generator and tweak it if you want.

There are probably bugs and I have a to-do list for things I want to clean up. So let me know if you spot something off. I'm happy another little piece of onfocus infrastructure is up and running again.

Scraping Together RSS with Node.js

The other day I was sitting around thinking about scraping a website (as one does) and I was frustrated by the complicated regex I was going to have to write to pick the data I wanted out of HTML. (Your classic two-problems problem.) So I started daydreaming about being able to scrape sites using jQuery selectors to get the elements I needed.

Then I thought, how about using a pure JavaScript environment like Node.js? I like servers and I like JavaScript, so it seems like I should like Node.js just fine. With a bit of searching I came across a great tutorial: Scraping the Web with Node.js and I was off and scraping. The cheerio module had already solved my jQuery selection problem.

At this point I could easily grab the data, but I was frustrated thinking about wrangling it into a consumable format. I was starting to get in the Node.js mindset and thought, "I bet there's a module that can help with this." A few minutes of searching later, node-rss was installed.

It took a bit of wrangling to get my first RSS feed going, but I was surprised at how quickly it all came together. It's not so different from firing up cpan and including modules in Perl scripts. But npm is just friendlier. Being able to run npm install in a new environment takes some the tedium out of your day.

So yeah, the Node.js script I wrote goes out and fetches Likes (favs, stars, hearts, etc.) from Medium, Twitter, GitHub, and Hacker News and returns RSS feeds with those likes. This lets me bring all of my favorites from those places into one spot where I can then do other things with them, hooray! I put the code up on GitHub: Recommended RSS.

Then with the help of forever I set it up as a service and I'm aggregating away. My to-do list for this little app includes caching and handling dates. I wonder if there are modules for those.

Really nice to see PRX's RadioPublic using RSS and open standards to extend podcasting rather than working to lock people into a particular client.
  • Excellent Google Reader rant. "We need to keep pushing forward without them, and do what we’ve always done before: route around the obstructions and maintain what’s great about the web."
« Older posts