1 ポイント 投稿者 GN⁺ 2023-07-09 | 1件のコメント | WhatsAppで共有
  • Hacker Newsの Ask HN: Could you share your personal blog here? スレッドで集まった個人ブログをまとめ、よく使うRSSリーダーに取り込みやすい OPML 形式で提供
  • 利用方法は list.opml をダウンロードしてRSSリーダーにインポートする流れで、HN投稿後に追加されたブログは listx.opml で別途提供
  • リスト作成時には karma が1以下のユーザーを除外しており、スパムや使い捨てアカウントを無視するための基準としている
  • リストは Hacker Newsユーザーの karma を基準に並べ替えられており、先頭のブログほど karma が高いユーザーのもの
  • ユーザーはエディタでリストを編集し、上位10件または100件のブログだけを残したり、興味のないブログを削除したりできる
  • すべてのコメントからブログURLを抽出できたわけではなく、正しく認識されたURLのみを解析しているため、リストは完全ではない
  • 一部のブログはRSSフィードがない、または <link rel="alternate" type="application/rss+xml" href="...">, <link rel="alternate" type="application/atom+xml" href="..."> タグ内にRSSフィードがなく、漏れている可能性がある
  • 結果として1100件以上のブログが集まっており、ブログ内容の品質、業務中の閲覧安全性、使用言語は確認されていない
  • リストの再生成は go run ./main.go | tee > console.log で実行し、各ユーザーの karma と各ブログのRSSフィードを取得する必要があるため時間がかかる
  • コントリビューション方法は listx.opml にブログを手動追加する形で、list.opml は上書きされるため直接追加しない仕組み
  • ライセンスは MIT

1件のコメント

 
GN⁺ 2023-07-09
Hacker News のコメント
  • 以前の RSSルネサンス のスレッドもあわせて見るとよい: https://news.ycombinator.com/item?id=16907298
    このリストが継続的に維持・更新されるといいし、この OPML ファイルをきちんと扱える良い RSS リーダーのおすすめも気になる
    Omea Reader を試したが、多くのフィードを取り込めなかった

    • 600 個のフィードをいきなりリーダーに入れるよりもう少し軽く試したいなら、IndieBlog.page のフィードオプションも悪くない
      最近のスレッドの 600 個の URL だけでなく、昨年 4 月の似たスレッドや複数の インディーソース から毎日ランダムな記事を提供している: https://indieblog.page/rss
    • Inoreader にはこのリストを簡単に取り込めた
  • 自分のブログはしばらくスレッドにあったのに、コンソール出力にはまったく含まれていないようだ: https://news.ycombinator.com/item?id=36596022
    カルマが足りないのは分かるが、だとしたらその事実くらいはログ出力に残っているべきだった気がする
    スパム防止の基準としてカルマの代わりに アカウント年齢 も考慮できるのか気になる。ここではかなり長く ROM ってきたし、自分のような人は珍しくないと思う

  • しばらく Node-RED[1] をいじっていて、Node-RED が好きなのでこれを Node-RED で作り直してみた
    フロー[2]、つまりコードはオンラインで見られ、編集もできるが、デプロイはできない。フィード[3] はキャッシュされ、おおよそ 1 時間ごとに更新される
    小さな Heroku サーバーなので落ちていたり、そのうち落ちるかもしれないが保証はできない
    元のコードベースから多くのアイデアを借りた :)

    [1]=https://nodered.org

    [2]=https://demo.openmindmap.org/omm/#flow/a8d90fc15ab6990b

    [3]=https://blog.openmindmap.org/example/hacker-news-personal-bl...

  • No feed: [https://tommasoamici.com](<https://tommasoamici.com>;) by tommasoamici ( 216 ) no feed found for [https://tommasoamici.com](<https://tommasoamici.com>;)
    これを見て、最近ブログを Astro に移行した際に RSSフィードのリンクhead タグに入れるのを忘れていたことに気づき、今は修正した

    • 似た問題がある人向けに、フィード公開のチェックリストとして使える文書を書いておいた: https://kevincox.ca/2022/05/06/rss-feed-best-practices/
    • 自分も RSS を自作したときに、見落としていた点に気づく助けになった
  • ここには 不正な形式の URL がいくつかあるようだ

    • 残念ながらこれは u/ntietz 側の問題だ。https://ntietz.com を見ると、なぜか href がエンコードされている
  • リストに [https://url.com//feed.xml](<https://url.com//feed.xml>;) 形式が多いのを見ると、スクレイピングロジック を見直したほうがよさそうだ
    単に [https://url.com/](<https://url.com/>;)/feed.xml を連結しているのだろうか?

    • ブログサイトの HEAD にある代替リンクから URL を抽出していた
      問題は、//example.com/feed.rss と書く人もいれば、feed.rss/feed.rss のように書く人もいることだ
      そのためかなり間抜けな URL 解決ロジックを書いてしまったが、実際には Go ランタイムの ResolveReference を使うべきだった。最終版のリストではこの問題を修正する予定
    • それも良い方法ではない。https://andinfinity.eu/ にはそのヘッダーがあり、RSS フィードが index.html にあることを明確に指している
      おそらく Hugo の標準動作だと思う
  • 元のスレッドは見逃したが、自分のブログも含めてもらえるとうれしい
    RSS Feed (en): https://backendhance.com/en/blog/index.xml
    RSS Feed (de): https://backendhance.com/blog/index.xml

  • Linux Mint で OPML をテストするために RSS リーダーアプリ 5 個 をインストールしたが、Thunderbird、Liferea、Quitrss、それに名前を忘れたものを含む 4 つがファイルのインポートに失敗した
    Gnome RSS は取り込み自体はできたが、遅く、しかもかなりバグっぽかった
    一般的な RSS アプリが処理するにはファイルが長すぎるようで、一部のアプリは “incorrect format” エラーを出したので、フォーマットにも少し問題があるのかもしれない。Thunderbird もその一つだった
    今は CPod を試していて、少し時間を与えている。20 分ほど経てば動くといいのだが
    Web ベースの RSS リーダーならこのファイルをよりうまく扱えるのかも気になる

    • feedbin.com で取り込んでみたところ、598 個中 524 個 が正常に入った
      失敗したものには、見つからないもの、接続エラー、不正な URL エラーがいくつか混ざっていた
    • sfeed では問題なかった。https://codemadness.org から入手できる
    • freshrss を運用しているが、そこには取り込めた
      取り込み時にエラーが出るのか気になる
      この XML は無効かもしれないので、数分後に再生成してみる
  • カルマがあと 20 万あればよいのだが、Hacker News でどうやってカルマを貯めるのかはよく分からない
    もしかするとフォークして、ユーザーがブログ収集に必要な 最小カルマ を自分で指定できるようにすべきかもしれない

    • リストを カルマ 2 以上 を基準にして再生成する
      気に入るかどうかは各自で判断すればよさそうだ。100 は何が良いのか悪いのか分からないまま適当に置いた数字だった
  • これらのフィードをまとめた フィードのフィード を簡単に作る方法はあるだろうか? 全体を 1 つの RSS フィードとして見るような形だ

    • ちょうど似たようなものを作った。ただしフィードサイズが 100MB 近くになったので、年ごとに分割する必要があった: https://news.ycombinator.com/item?id=36643086
    • 良いアイデアだ。ただ、RSS フィードを更新するには実際にサーバーか GitHub Actions を動かす必要があるので、あとでやるかもしれない