I'm a GReader refugee that migrated to TT-RSS, and then FreshRSS. But somewhere in there, I wrote my own version of this same idea: pulling RSS feeds server side via cron every several hours and rendering a rollup. Never put the code online, but here's a paste of it if anyone is interested. I called it "Cooler" since it was designed to surface good water cooler chat topics. It's just a single Python script with a couple of dependencies.
It tracks no state, but does color by source, and fades with age so you get a good feel of what site the post came from and how long ago. I had an idea to version control the static HTML after it was generated, so you could rewind time and see what the top stories were, but haven't gotten around to it.
If anyone cares, I'll host the full repo and share.
quaintdev · 2h ago
I read the entire article and I still have no idea what author was trying to achieve.
onli · 2h ago
Instead of a regular RSS reader he wanted to only get a notification when some target sites have new entries. He opted to implement an expanded blogroll, one that also shows the last three entries.
ehutch79 · 1h ago
I feel like per site notifications, or muting low priority feeds, should be table stakes?
geoffeg · 1h ago
I love that we're rediscovering server side rendering. It's impressive to me how quickly the industry moved away from it as the default and is now an interesting, new technique to many.
rglullis · 1h ago
Except this has nothing to do with Server side rendering.
timothyisonline · 1h ago
What makes you say this? A server is rendering/outputting HTML as output from a GitHub action that builds via Deno.
Did you think your browser was assembling the HTML?
walterbell · 18m ago
On iOS, lire caches RSS-syndicated articles and images for offline reading. One-time purchase, no subscription. There's also OSS NetNewsWire.
I remember using RSS heavily around 2007-2013 but is this still a thing?
PaulHoule · 40m ago
My YOShINon RSS reader incorporates about 110 feeds, and, unlike the majority of RSS readers, actually treats RSS feed items as items that are stored in a database so it can present those items in various ways. Most news sources ranging from The Guardian and The Bulwark and Jacobin as well as phys.org and MDPI publishing still have RSS feeds.
It has screens to view things based on database queries, full text, and embedding similarities but the main UI looks like TikTok or Tinder for text, showing me articles it thinks I will like mixed with random articles to keep it calibrated. It spins like a top. I also have another thing called "Fraxinus" which was a cut-and-paste job from it that works as a bookmark manager and image sorter, the plan eventually is to mash them back together.
drukenemo · 36m ago
It sounds interesting. Is it available for download?
owlninja · 36s ago
I was curious too so I Googled it. The hits were just similar posts in HN comments and this one on Tildes says more (assuming it is the same person):
Heck yeah! I use an RSS reader to consume news every day on both my phone and laptop. It's blissfully free of extras and distraction.
galleywest200 · 1h ago
I use RSS very frequently, it is often how I get my daily news.
Most blogs, at least in the tech space, have it. As well any major news publication worth their salt will have an RSS feed still.
jasonfrost · 1h ago
Using rn to access HN
quantadev · 1h ago
Definitely! Advertisers hate it, because it's a way of basically bypassing ADs. I used to have my own RSS reader doing what the OP's doing, but I finally just started using Liferea (on Linux) which I love. There's a file format for sharing links called "opml", and here's mine for example (below). Many RSS readers can import/export your list of links to this format.
Each day there's about 150 new articles to scroll thru. What we need in the world however is some sort of OPML Sharing social media service where people can share their FAVs. It's a shame news sites are heading in the opposite direction with closed paywalls rather than openness, but I guess they're struggling to pay the bills. My apologies for posting such a big chunk of text and eating up half your screen. I only do this when I'm pretty sure it's relevant.
I feel like you should post that on pastebin or something instead of posting such a huge piece of XML in a comment.
DannyPage · 1h ago
Interesting idea, but it mentions the idea of notifications. Is the notification when happens to be new article is at the top on the page? Or is there an external service he forgot to metnion?
rglullis · 1h ago
Tell me you are JavaScript developer who likes to reinvent the wheel, without telling me you are a JavaScript developer who likes to reinvent the wheel:
- "RSS is for notifications". No, it's for content syndication. It is right there in the name.
- "XML is complicated, JSON Feed is better". Oh, dear Lord, forgive him for he has no idea what he is saying.
- "Lets ignore all the gazillion libraries for and tools for parsing and processing OPML, Atom and XML so that we can build a system that depends on deno a f*cking GitHub actions"
dqv · 26m ago
Did you ask AI to make a roast? I'm genuinely asking.
It looks sensible to me. He's using two tools he was already using: Deno and GitHub. And he's using this RSS library: https://deno.land/x/rss@1.1.2
And he can always run that command without GitHub Actions if necessary or desired.
timeon · 37m ago
AFAIK author is not JavaScript developer.
matklad · 15m ago
I used to do frontend development ([1], [2]), now I am more of a database person ([3]), though it mostly is just prompting llvm to generate the right code!
HN seems to be having trouble understanding why this is brilliant.
Ignore the parts about JSON/XML. That's irrelevant.
Problem: you want an RSS reader, but RSS readers are annoying because they are stateful and you have to try to sync them across devices. Or, as in the case of Google Reader they may be discontinued. Best case, you have a dependency on a third party application.
Solution: make a web page on your personal site that aggregates links from your RSS feeds.
This is handy because you can now simply access your own web site as an RSS reader. As a side benefit, you can share this page with your friends to help them find nice links, and help promote stuff that you like to search engines.
PaulHoule · 37m ago
Never mind the fact that desktop apps for the birds. Microsoft won't even tell you what widget set to use post the failure of Metro, "use Electron" seems about as official as anything else.
From day one I planned to use my RSS reader on both desktop computers and a tablet (via Tailscale) and when I got a Meta Quest 3 I found it worked great on that although enlarging touch target to the AAA standard helped a lot.
ImPostingOnHN · 1h ago
Problem: you want to read your RSS feeds, but you aren't online.
Solution: use something like The Old Reader, which aggregates online, and can also be synced with an app like GReader for offline reading.
microflash · 46m ago
Yup. I’ve been using Miniflux for this for a while.
graemep · 49m ago
When are you ever offline these days though?
gerikson · 11m ago
When travelling by air it's nice to have a bunch of feeds to read.
https://textbin.net/kdhkz0nnyx
It tracks no state, but does color by source, and fades with age so you get a good feel of what site the post came from and how long ago. I had an idea to version control the static HTML after it was generated, so you could rewind time and see what the top stories were, but haven't gotten around to it.
If anyone cares, I'll host the full repo and share.
Did you think your browser was assembling the HTML?
https://blogroll.social
http://scripting.com/2014/06/02/whatIsARiverOfNewsAggregator...
It has screens to view things based on database queries, full text, and embedding similarities but the main UI looks like TikTok or Tinder for text, showing me articles it thinks I will like mixed with random articles to keep it calibrated. It spins like a top. I also have another thing called "Fraxinus" which was a cut-and-paste job from it that works as a bookmark manager and image sorter, the plan eventually is to mash them back together.
https://tildes.net/~tech/1e5n/rss_users_how_do_you_use_organ...
Most blogs, at least in the tech space, have it. As well any major news publication worth their salt will have an RSS feed still.
Each day there's about 150 new articles to scroll thru. What we need in the world however is some sort of OPML Sharing social media service where people can share their FAVs. It's a shame news sites are heading in the opposite direction with closed paywalls rather than openness, but I guess they're struggling to pay the bills. My apologies for posting such a big chunk of text and eating up half your screen. I only do this when I'm pretty sure it's relevant.
<?xml version="1.0" encoding="utf-8"?> <opml version="1.0"> <head> <title>Liferea Feed List Export</title> </head> <body> <outline title="Example Feeds" text="Example Feeds" description="Example Feeds" type="folder"> <outline title="News" text="News" description="News" type="folder"> <outline title="Ars Technica" text="Ars Technica" description="Ars Technica" type="rss" xmlUrl="https://feeds.arstechnica.com/arstechnica/index" htmlUrl="https://arstechnica.com"/> <outline title="Slashdot" text="Slashdot" description="Slashdot" type="rss" xmlUrl="https://rss.slashdot.org/Slashdot/slashdotMain" htmlUrl="https://slashdot.org/"/> <outline title="BBC" text="BBC" description="BBC" type="rss" xmlUrl="https://feeds.bbci.co.uk/news/rss.xml?edition=int" htmlUrl="https://www.bbc.co.uk/news"/> <outline title="Science" text="Science" description="Science" type="rss" xmlUrl="https://www.sciencenews.org/feed" htmlUrl="https://www.sciencenews.org"/> </outline> <outline title="Knowledge" text="Knowledge" description="Knowledge" type="folder"> <outline title="Aeon" text="Aeon" description="Aeon" type="rss" xmlUrl="https://aeon.co/feed.rss" htmlUrl="https://aeon.co"/> <outline title="Quanta Magazine" text="Quanta Magazine" description="Quanta Magazine" type="rss" xmlUrl="https://api.quantamagazine.org/feed/" htmlUrl="https://www.quantamagazine.org"/> </outline> <outline title="Open Source" text="Open Source" description="Open Source" type="folder"> <outline title="Planet Debian" text="Planet Debian" description="Planet Debian" type="rss" xmlUrl="https://planet.debian.org/rss20.xml" htmlUrl="https://planet.debian.org/"/> <outline title="Liferea Blog" text="Liferea Blog" description="Liferea Blog" type="atom" xmlUrl="https://feeds.feedburner.com/LifereaBlog" htmlUrl="https://lzone.de/liferea/blog/"/> <outline title="Planet GNOME" text="Planet GNOME" description="Planet GNOME" xmlUrl="https://planet.gnome.org/atom.xml" htmlUrl=""/> </outline> <outline title="My Feeds" text="My Feeds" description="My Feeds" type="folder"> <outline title="My RSS Feeds" text="My RSS Feeds" description="My RSS Feeds" type="folder"> <outline title="The New Stack" text="The New Stack" description="The New Stack" type="rss" xmlUrl="https://thenewstack.io/feed/" htmlUrl="https://thenewstack.io/"/> <outline title="Daily Sceptic" text="Daily Sceptic" description="Daily Sceptic" type="rss" xmlUrl="https://dailysceptic.org/feed/" htmlUrl="https://dailysceptic.org/"/> <outline title="Martin Fowler" text="Martin Fowler" description="Martin Fowler" type="atom" xmlUrl="https://martinfowler.com/feed.atom" htmlUrl="https://martinfowler.com"/> <outline title="Slashdot" text="Slashdot" description="Slashdot" type="rss" xmlUrl="http://rss.slashdot.org/Slashdot/slashdotMain" htmlUrl="https://slashdot.org/"/> <outline title="Science Daily" text="Science Daily" description="Science Daily" type="rss" xmlUrl="https://www.sciencedaily.com/rss/all.xml" htmlUrl="https://www.sciencedaily.com/news/"/> <outline title="Hackernoon" text="Hackernoon" description="Hackernoon" type="rss" xmlUrl="https://hackernoon.com/feed" htmlUrl="https://hackernoon.com"/> <outline title="RealClearDefense" text="RealClearDefense" description="RealClearDefense" type="rss" xmlUrl="https://www.realcleardefense.com/articles/index.xml" htmlUrl="https://www.realcleardefense.com/articles"/> <outline title="Mozilla Hacks" text="Mozilla Hacks" description="Mozilla Hacks" type="rss" xmlUrl="https://hacks.mozilla.org/feed/" htmlUrl="https://hacks.mozilla.org/"/> <outline title="Hollywood in Toto" text="Hollywood in Toto" description="Hollywood in Toto" type="rss" xmlUrl="https://www.hollywoodintoto.com/feed" htmlUrl="https://www.hollywoodintoto.com/"/> <outline title="David Walsh Blog" text="David Walsh Blog" description="David Walsh Blog" type="rss" xmlUrl="https://davidwalsh.name/feed" htmlUrl="https://davidwalsh.name"/> <outline title="Bongino Report" text="Bongino Report" description="Bongino Report" type="rss" xmlUrl="https://bonginoreport.com/feed" htmlUrl=""/> <outline title="Lifehacker" text="Lifehacker" description="Lifehacker" type="rss" xmlUrl="https://lifehacker.com/rss" htmlUrl="https://lifehacker.com/feed/rss"/> <outline title="Defence Blog" text="Defence Blog" description="Defence Blog" type="rss" xmlUrl="http://defence-blog.com/feed" htmlUrl="https://defence-blog.com"/> <outline title="The Cipher Brief" text="The Cipher Brief" description="The Cipher Brief" type="rss" xmlUrl="https://www.thecipherbrief.com/feed" htmlUrl="https://www.thecipherbrief.com/"/> <outline title="Reddit - World News" text="Reddit - World News" description="Reddit - World News" type="atom" xmlUrl="https://www.reddit.com/r/worldnews/.rss" htmlUrl="https://www.reddit.com/r/worldnews/"/> <outline title="NPR World" text="NPR World" description="NPR World" type="rss" xmlUrl="https://feeds.npr.org/1004/rss.xml" htmlUrl="https://www.npr.org/templates/story/story.php?storyId=1004"/> <outline title="Brookings - International Affairs" text="Brookings - International Affairs" description="Brookings - International Affairs" type="rss" xmlUrl="https://www.brookings.edu/feed/" htmlUrl=""/> <outline title="Patriot Rising" text="Patriot Rising" description="Patriot Rising" type="rss" xmlUrl="https://patriotrising.com/feed/" htmlUrl=""/> <outline title="The Verge" text="The Verge" description="The Verge" type="atom" xmlUrl="https://www.theverge.com/rss/index.xml" htmlUrl="https://www.theverge.com"/> <outline title="USNI News" text="USNI News" description="USNI News" type="rss" xmlUrl="https://news.usni.org/feed" htmlUrl="https://news.usni.org/"/> <outline title="Simon Willison's Weblog" text="Simon Willison's Weblog" description="Simon Willison's Weblog" type="atom" xmlUrl="https://simonwillison.net/atom/everything/" htmlUrl="http://simonwillison.net/"/> </outline> </outline> </outline> </body> </opml>
- "RSS is for notifications". No, it's for content syndication. It is right there in the name.
- "XML is complicated, JSON Feed is better". Oh, dear Lord, forgive him for he has no idea what he is saying.
- "Lets ignore all the gazillion libraries for and tools for parsing and processing OPML, Atom and XML so that we can build a system that depends on deno a f*cking GitHub actions"
It looks sensible to me. He's using two tools he was already using: Deno and GitHub. And he's using this RSS library: https://deno.land/x/rss@1.1.2
And he can always run that command without GitHub Actions if necessary or desired.
[1] https://github.com/intellij-rust/intellij-rust
[2] https://github.com/rust-analyzer/rust-analyzer
[3] https://github.com/tigerbeetle/tigerbeetle/
Ignore the parts about JSON/XML. That's irrelevant.
Problem: you want an RSS reader, but RSS readers are annoying because they are stateful and you have to try to sync them across devices. Or, as in the case of Google Reader they may be discontinued. Best case, you have a dependency on a third party application.
Solution: make a web page on your personal site that aggregates links from your RSS feeds.
This is handy because you can now simply access your own web site as an RSS reader. As a side benefit, you can share this page with your friends to help them find nice links, and help promote stuff that you like to search engines.
From day one I planned to use my RSS reader on both desktop computers and a tablet (via Tailscale) and when I got a Meta Quest 3 I found it worked great on that although enlarging touch target to the AAA standard helped a lot.
Solution: use something like The Old Reader, which aggregates online, and can also be synced with an app like GReader for offline reading.