Show HN: OPML list of Hacker News Users Personal Blogs
github.com
github.com
I hope this list is constantly maintained and updated.
Additionally, do you have any recommendations for a good RSS reader that can properly handle this OPML file? I tried using Omea Reader, but it fails to fetch many of the feeds.
Alright.. I'm gonna build my own RSS reader then.
Edit : A kind of "decentralized" social media platform where we post on our respective personal blogs, and we may follow each other by using RSS subscriptions. If HN is one such platform, here's the chronological timeline : :https://gist.github.com/altilunium/c2fcbe1e23aeb1cb9564f2593...
While generating this list, I found at least 80 sites with inaccessible RSS link : https://gist.github.com/altilunium/8319dae345f701a2a1efd0152...
n.b. I haven't tested importing 600+ feeds!
I know I don’t have enough karma, but it seems like the log output should have logged something for that. I also wonder if you’d consider account age as an alternative to karma for anti-spam, as I’m a bit of a hardcore lurker here and I highly doubt that I’m the only one.
It's only a small Heroku server so it might well be down or about to crash, I make no promises!
Thanks to the OP for the inspiration, I did take a lot of ideas from the original codebase :)
[2]=https://demo.openmindmap.org/omm/#flow/a8d90fc15ab6990b
[3]=https://blog.openmindmap.org/example/hacker-news-personal-bl...
Uh, this made me realize I forgot to add the RSS feed link to the head tag when I recently migrated my blog to Astro, fixed now!
> <outline type="rss" title="ntietz" text="ntietz" xmlUrl="https:&#x2F;&#x2F;ntietz.com&#x2F;atom.xml" htmlUrl="https:&#x2F;&#x2F;ntietz.com&#x2F;atom.xml"/>
``` <link rel="alternate" type="application/rss+xml" title="RSS" href="https://ntietz.com/atom.xml"> ```
I missed the original thread, but would be happy when you include my blog as well :) RSS Feed (en): https://backendhance.com/en/blog/index.xml RSS Feed (de): https://backendhance.com/blog/index.xml
I installed 5 RSS reader apps in my Linux Mint machine to test the OPML. 4 of them failed to import the file: Thunderbird, Lifera, Quitrss and another one I forgot the name. Gnome RSS did import the file but it became slow and buggy.
I think the file is too long for a typical RSS feed app to process it. Also, there might be some formatting issues a couple apps threw a "incorrect format" error (Thunderbird being one of them). Now trying CPod and giving it time... I hope in 20 mins or so it can work with it. I wonder if web-based RSS readers will work better with the file.
Do you get any errors while importing it?
I believe also this XML maybe not valid. Will regenerate it a few minutes.
So you generally don't subscribe to an OPML file, it just provides a list of feeds to subscribe to.
[0] https://blogs.hn
Loaded it into Feeder from fdroid (cheers to dev if here) and although it took a while, the result is much better than Twitter et al's output.
Might add my own blog to the list one of these days if people keep coming back to this as the reference.
E.g. I am surprised to not see Julie Zhou's blog in this list--which, I believe, is one of the most influential blogs in the tech product space: https://www.juliezhuo.com/.
I saw some people asking for a good RSS reader. Personally I will use elfeed, and I also use elfeed-org so I could import the OPML file and export it into my existing RSS feeds.
The fact that FreshRSS can fetch full article contents for truncated RSS feeds is precisely the thing you need in order to make RSS useful today. Not the biggest fan of the UI but this one feature makes the whole thing so fucking good.
That OPML "outline" has no tree structure at all, except for the single top level container item:
<outline title="HN Personal Blogs" text="HN Personal Blogs">
What is the point of using OPML for a flat structure?Outlines are all well and fine, but a list of links to blogs is hardly an outline.
And isn't JSON the simplest most ubiquitous accessible standard format for outlines and even arrays of links these days, if not just raw-dogging XML?
More thoughts and opinions and history of OPML, RSS, Dave Winer, More, Frontier, Manila, Radio UserLand, XML-RPC, SOAP, Xanadu, spreadsheets, CSV, JSON, XML, etc:
https://news.ycombinator.com/item?id=21170434
https://news.ycombinator.com/item?id=16224154
https://news.ycombinator.com/item?id=20780928
According to this thread, four out of five RSS apps on Linux Mint failed to import the OPML file, and the one that did was buggy:
https://news.ycombinator.com/item?id=36627431
Maybe I'm thick, but it bewilders me that someone wouldn't simply use RSS or Atom directly, instead of abusing OPML to mis-represent it (which is itself just as terribly designed as RSS, by the same person, Dave Winer -- don't even get me started).
Is this some kind of a masochistic corrupted data ingestion challenge from TikTok that I'm not aware of, akin to eating Tide Pods or washing your clothes in Campbell's Soup?
Does anyone even ever use OPML for outlines any more? Or is it like YAML's backflip, where its original name meant "Yet Another Markup Language" until somebody pointed out to their great surprise that it WASN'T actually a markup language, so they retroactively recursively renamed it "YAML Ain't Markup Language" on opposite day?
So does OPML no longer stand for "Outline Processor Markup Language" any more, but now stands for something else like "OPML Presents Mere Lists"?
What's wrong with exporting and importing RSS as RSS? Has its meaning also changed, flipping places with OPML, so it now means "RSS Serves Structures", so you use RSS for nested trees and OPML for flat lists now?
I suppose you could recursively encode outlines as nested RSS feeds inside the text content other RSS feeds as <![CDATA[ at each level, or since those can't be nested, exponentially doubling the number of escaped entities at each level.
I Wanna Be <![CDATA[ -- Sung to the tune of “I Wanna Be Sedated”, with apologies to The Ramones:
I do wonder what's a good way of doing discovery in software, FOSS-style. Using open source client side and free APIs if needed.
Github actions is an option.
For now, I just wanted to add those 600+ blogs to my RSS and filter them out slowly if I need to.
Currently it seems there're many people fetch from original thread, which makes it ne source of truth, less confusing for anyone to submit.
I left the console.log there as well to show which blogs aren't recognized.
I am also open for PR. It was just a few hours project to get it going, but if people will find it useful, would be nice to get some tags from the blogs, so it would be possible to extract the list only for specific technology/topics.
Any details on how to do this? My blog (https://blog.nawaz.org/) has an RSS feed here (https://blog.nawaz.org/feeds/all.atom.xml) but I don't know how to set it up the way you'd need it.
<link rel="alternate" type="application/atom+xml" title="Atom feed" href="https://blog.nawaz.org/feeds/all.atom.xml">
UPD: type="application/atom+xml" for Atom, type="application/rss+xml" for RSS
I checked yours, the issue is that you are escaping + in application/rss+xml, when it should be just application/rss+xml
I have updated the code and will re-generate. I am not sure if what you are doing is allowed or not.
Are you taking care that if the <link> tag spans over multiple lines (linebreaks in between), you're still parsing it right?
You do seem to be resolving relative paths with:
feedUrl := matches[1]
if feedUrl[0] == '/' {
feedUrl = url + feedUrl
} else if !strings.HasPrefix(feedUrl, "http") {
feedUrl = url + "/" + feedUrl
}
So I think this is good. Just trying to see what could be breaking for the other users who are complaining their feed isn't listed.-> https://stackoverflow.com/questions/13327527/how-to-make-a-s...
Needs a bit of lint work still, eg: current lines 12 & 13 are dupes
<outline type="rss" title="bookofjoe" text="bookofjoe" type="rss" xmlUrl="https://www.bookofjoe.com/atom.xml" htmlUrl="https://www.bookofjoe.com/atom.xml"/>
<outline type="rss" title="bookofjoe" text="bookofjoe" type="rss" xmlUrl="https://www.bookofjoe.com/atom.xml" htmlUrl="https://www.bookofjoe.com/atom.xml"/>
but still appreciated as that's a minor quibble easily polished away.And yes, thanks for your work and sharing it!
And hope at some point to actually build something larger from that. I love RSS and this is the best way to discover new content. I actually already have found a few interested blog posts, links, information.
<link rel="alternate" type="application/rss+xml" title="XXX" href="https://blog.winricklabs.com/rss.xml">