Turn Hacker News into an RSS feed

HN hijacks your brain

You're an engineer who looks at Hacker News 2-5 times a day. HN is a good way to fill the gaps in time. You scan the front page- repeatedly- for links of interest... reading titles, eyeing scores... often jumping directly to the (overtly contrarian) comments to see if a link is even worth the energy.

Sound familiar?

That cycle hits a sickening 5/10 of Tristan Harris's list of mind hijacks:

  • (1) Control the Menu, Control the Choices
  • (3) Fear of missing something important
  • (4) Social Approval (upvotes)
  • (6) Bottomless bowl
  • (10) Forecasting

These hijacks aren't intentional, they're just a byproduct of link aggregation platforms.

Stoics are turning in their graves, where instead of knowing what's important, the links on HN become what's important, no matter how trivial, pedantic, hyped, or irrelevant.

So if you want help breaking this negative feedback loop, I encourage you to reclaim your attention by turning HN into and RSS feed;

Get more done. Ignore the comments and the mooks. Set limits. It's incredibly liberating to finish your RSS feed and think to yourself, now what?

How RSS can prevent the hijacks

Declaring what deserves your attention is the defining feature of RSS, so it's important to declare what aspect of HN you like. Generally people look at high scores. Fortunately HN already has a url specifically for its most "important" (i.e. upvoted) links: /best.

So if we can subscribe to the links from that page, we'll get the bulk of the links that deserve our attention.

For me, it's critically important for RSS to be a self-hosted solution. No third parties (I'm looking at you, Feedly).

Otherwise, what's the point of retaking control, you're just shunting control to yet another third party.

My personal setup goes like this:

  • Get the Raspberry Pi you bought but never used
  • Install Docker
  • Run FreshRSS
  • Add HN /best as an RSS feed
  • (Optional) Port forwarding and DNS setup
  • (Optional) Pick out a smartphone app to sync with

This is just the first thing that worked for me, so by no means is it the guaranteed best. Recommendations and alternatives are welcome! You can, of course, tailor the following guide if you'd like to use a VPS.

FreshRSS installation on a Pi

Prepare the Pi

Install git

Do a standard Raspbian setup the with internet/ssh/hostname. Then install git:

sudo apt-get install git

Install Docker

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi && sudo reboot

Install Docker-compose

This method is specifically for Raspbian, if you're using a VPS or non-ARM machine, install docker-compose the conventional way.

sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python3 python3-pip
sudo apt-get remove python-configparser
sudo pip3 install docker-compose

Run FreshRSS

git clone https://github.com/FreshRSS/FreshRSS

cd FreshRSS/Docker

We're using a Raspberry Pi, so you'll need to pick out the ARM image! Use your favorite editor to modify these lines of the docker-compose.yml file:

# docker-compose.yml
-    image: freshrss/freshrss:latest
+    image: freshrss/freshrss:arm

Now you're ready to execute FreshRSS:

docker-compose up -d

Once that's complete, head to your Pi's IP address (or hostname, if you opted for that) on port 8080 in your laptop's/desktop's browser (something like http://1.2.3.4:8080), and go through the initial setup.

Add HN as RSS

Add https://hnrss.org/best as an RSS feed (from hnrss.github.io).

Congratulations! You've officially RSS-ified HN!

(Optional) Port forwarding and DNS setup

Unless you went with the VPS route, you're probably behind a LAN, so if you want to access your RSS outside your LAN, you'll need to set up port forwarding and/or DNS. That's beyond the scope of this guide, but there are many guides online that can get you there.

(Optional) Pick out an app

You could just expose the pi to the internet, and read RSS directly from the browser, but I think having an app is a nice touch.

First you'll need to enable API access in FreshRSS. Go to Authentication and check the box to allow API access:

fresh-rss-screenshot1

Then create an API key under Profile:

fresh-rss-screenshot2

Now you can use the API url and the API key in your selected app to pull data down locally. Nice!

Here's a non-exhaustive list of open-source (Android) apps to get you started.

Truth be told, a lot of the closed source RSS apps I've checked out tend to be slightly higher in quality, so if you're willing to compromise on that front then they are worth exploring.

What did we gain?

It may not seem like it, but we've gained a lot by doing this!

  • Defeated the mind hijacks:
    • (1) Gained leverage over the "menu"
    • (3) Declared which things are important up front, and view them only once
    • (4) Ignore comments. Scores only matter in that they are relatively high
    • (6) Created a bottom (of the bowl) by grabbing a limited number of links
    • (10) Easily defer time intensive links for later
  • Time
    • Prevent re-reads of HN
    • Make it easier to pick out the most interesting links and discard irrelevant ones
    • If you really want to read comments, you'll need to go out of your way
    • Star or bookmark links to read more in-depth at a later time
  • Data sovereignty
    • We control our own data; no relying on third parties (e.g. Feedly)
  • Cloud Resilience
    • Lose a phone? Upgrade computers? Need to sync between phone and desktop? No problem!
  • The ability to add other RSS feeds
    • We've opened up the ability to use RSS in other feeds
      • For reddit, just append .rss to any url
      • For youtube, plug in the URL to any channel!
  • Costs nothing
    • Put an otherwise dusty Raspberry Pi to good use
  • RSS adoption
    • If you really want an RSS resurgence, start using it