Hacker News new | ask | show | jobs
by asjo 1211 days ago
I haven't released the source code, it's an ungodly mix of Perl and Haskell, but maybe I will try and clean it up a little and make it public - it's quite hardcoded, eg the domain, currently.

How do you keep up with 1000+ feeds now? I feel using Gnus is quite efficient, but of the 664 feeds on Feedbase currently I'm subscribed to "only" 304.

2 comments

Well, perl is my jam and I was a big haskell user back in university. But I understand how personal stuff can get quite hardcoded. Just knowing you're thinking about it is cool.

I don't neccessarily, or ever, read all of my feeds. I just quickly scan through the headlines in categories I'm currently feeling interested in. And most feeds don't update weekly or even monthly. It's kind of like how you can 'read' reddit, or HN, but not actually visit every site or read every comment thread. Except I don't depend on third parties for aggregation or moderation.

Jam: haha, cool, I will let you know when there is something to look at.
I'm curious about how the project evolved, since "an ungodly mix of Perl and Haskell" is not a phrase one might expect to see very often. If not open-sourced, can you say more about which pieces are where?

In any case, I quite like the idea. I self-host TT-RSS, and flip back and forth between using the native web UI, and Elfeed with the TT-RSS API as a back-end.

I had been wanting to learn Haskell for a long time, and came to the conclusion that without an actual project, I would never get anywhere.

However when I started working on Feedbase (2015) I wasn't really good enough at Haskell to accomplish the task before I giving up in frustration, so I fell back to my usual preferred scripting language, Perl, for the part that fetches the feeds and updates the database and for the nntp server - I only implemented the (quite simple) website in Haskell.

I've gotten a little better since then, so my little blog-engine, Lantern, which also uses nntp as the main "interface", is written completely in (beginner) Haskell.

Thanks for the update! I find myself in a similar boat for small projects.

One approach that I have found useful is to make sure that any stored data is in a form that is approachable from a portable standpoint, not coupled tightly to any one language. It's also helped if I want to try re-implementing some existing solution, because I have that known data as a starting point for comparing what I know with what I want to learn.