Making RSS More Fun

2025/12/05 22:00

Making RSS More Fun

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

記事では、Timewaster Proという趣味レベルのFirefoxアドオンについて説明しています。
このアドオンはランダムな小規模ウェブサイトのコンテンツを表示し、ユーザーが投票したり(上位/下位)報告したりできるようにします。参加するには、メール認証付きでアカウントを作成する必要があります―著者はこの手順を面倒だと感じており、Appleログインやパスキーなどより簡単な方法に置き換えたいと考えています。

バックエンドはFastAPI、SQLAlchemy、およびSQLiteで構築されており、Kagiの小規模ウェブリストからRSSフィードを600秒ごとにクロールし、60万件以上のURLをデータベースに追加します。サイトの人気度が推奨に影響し、上位投票数が多いほどサイトは頻繁に表示されます。また、ユーザーの貢献はリーダーボードで追跡されます。

UI は意図的にミニマルで、Apple の「system.css」でスタイリングされており、非プロフェッショナルな性質を示しています。分析や広告は含まれていませんし、拡張機能のマニフェストは

authenticationInfo
だけを許可するように制限されています。

既知の技術的課題には、キーボードショートカットの処理、プラットフォーム固有のショートカット、および JWT 認証の複雑さが含まれます。

今後の計画としては、コンテンツをカテゴリ化(機械学習で実装する可能性あり)し、下位投票数でフィルタリングし、写真・科学・クラフトなど他のコンテンツタイプへ拡張することが挙げられます。プロジェクトは StumbleUpon からインスパイアされた非商業的なオープンソース趣味プロジェクトであり、広告収益のためにユーザーをリダイレクトするようなマネタイズ手法は回避されるよう設計されています。

本文

TL;DR

Firefox 拡張機能をダウンロードして、必要に応じてスキップしてください:
https://timewasterpro.xyz/

嫌いだったり問題がある場合は Mastodon でご連絡ください: https://c.im/@matdevdug


機能概要

  • ボタンをクリック → 新しいウェブサイトを表示。
  • 上部投票で「いいね」、下部投票で「よくない」評価、問題のあるコンテンツは報告。
  • アカウント作成(他に方法が思いつかなかったため)でリーダーボード上位になると人気投稿に対してポイントが付与されます。

バックエンドでは RSS フィードを遅延させてコストを抑えています:

  1. 600 秒ごとに 5 本のフィードを取得。
  2. 新しい記事があるか確認し、まだデータベースに無ければ SQLite に追加。
  3. 投票・報告状況を追跡。

SQLite は「趣味程度には十分」であり、暗号化されたオブジェクトストレージへのバックアップも簡単です。


技術スタック

  • バックエンド – FastAPI(API 設計が楽)、SQLAlchemy、SQLite。
  • 認証 – JWT(UX が悪くて後悔)。メール確認は実装済みですが、Apple Sign‑In やパスキーに移行したいと考えています。
  • フロントエンド – Firefox 拡張機能で System CSS ライブラリ (https://sakofchit.github.io/system.css/) を使用し、レトロで非プロフェッショナルな見た目を実現。

現状

  • 600,000 ページ以上をインデックス化。
  • キーボードショートカットは Alt キーにハードコード(プラットフォーム依存の切替は不安定)。
  • browser_specific_settings
    を含むマニフェスト JSON は Gecko 準拠ですが、必要なフィールドが揃っているか不明。

今後の計画

  1. カテゴリ分け – 機械学習でサイト内容を分類し、より関連性の高いアイテムを提示。
  2. 品質管理 – 多数の下部投票を受けたページは「キュー」に移動させるか、新規ユーザーから隠す。
  3. コンテンツ多様化 – 独立系写真、科学、クラフトサイトなどを追加。

非技術的なベータテスターは詳細に圧倒されがちなので、ドキュメントは簡潔に保ちつつ使いやすさに注力します。


まとめ

主に自分用に作ったものです。もし退屈なら試してみてください。軽量でシンプル——拡張機能には分析ツールを組み込んでいません。ご意見・フィードバックは大歓迎です!

同じ日のほかのニュース

一覧に戻る →

2025/11/30 18:11

Self-hosting my photos with Immich

## Japanese Translation: 記事では、著者が低電力Ryzen 7ミニPC(ASRock DeskMini X600)に64 GB RAM、1 TBディスクを搭載し、アイドル時の消費電力が10 W未満である環境にImmichをセットアップした手順を説明しています。Proxmox上に「photos」という名前のVMを作成し、500 GBのストレージ、4つのCPUコア、4 GB RAMを割り当てました。NixOS設定ファイルで `services.immich.enable = true` を有効化してImmichサービスを起動します。このサービスは `tailscale serve --bg http://localhost:2283` コマンドと MagicDNS/TLS によりTailscale経由で公開され、`https://photos.example.ts.net` からアクセス可能です。 公式の `immich‑cli` を使用した初期写真インポートでは、バックグラウンドジョブがタイムアウトし、Google Takeout のJSONメタデータが無視されるという問題が発生しました。第三者ツール **immich-go** が両方の問題を解決します。`immich-go upload from-google-photos …` を実行することでバックグラウンドタスクを一時停止し、Google Takeout アーカイブを正しく処理できます。その後、iPhoneアプリはTailscale URL経由でログインし、自動アップロードが有効化され、通知は無効にしてアップロードアラートを防止します。 バックアップについては、著者はsystemdタイマーを使用して `/var/lib/immich`(UPLOAD_LOCATION)ディレクトリ全体を rsync で3‑2‑1戦略で同期する予定です。これはImmichの公式ドキュメントに従った方法です。記事では、Immichには組み込みの写真編集機能がないため、ユーザーはGIMPなど外部ツールを使用しなければならず、共有もまだGoogle Photos経由で行われると指摘しています。Enteと比較して、著者は既存のTailscale VPNとLUKSディスク暗号化が十分なセキュリティを提供するため、エンドツーエンド暗号化を必要としないImmichを好んでいます。 総じて、このセットアップは小型かつ省電力マシン上で高速で信頼性の高いセルフホスト写真保存ソリューションを実現しており、外部編集ワークフローを受け入れられる趣味家や小規模ビジネスに適しています。

2025/12/06 12:32

Nook Browser

## Japanese Translation: > **概要:** > 製品「Browse」はプライバシーを最優先としたオープンソースのウェブブラウザで、ユーザーのデータが販売または追跡されることは決してないと約束しています。WebKit エンジンをベースに構築されており、高速なパフォーマンスと最小限のシステムオーバーヘッドを実現しながら、インターフェイスはクリーンで侵入的なポップアップがありません。チャット支援や要約、最新のウェブ情報などの AI 機能は、ユーザーが明示的に選択した場合のみ利用可能です。コードベース全体が公開されており、パーミッシブ ライセンスでリリースされています。また、コミュニティ主導のロードマップに従い、新しいツールを追加する前に安定性を優先しています。設定はユーザーが理解しやすく、逆行可能(戻せる)ように設計されています。FAQ セクションでは、これらのポイント以外に独自の情報は提供されていません。 このバージョンは主要なポイントをすべて保持し、業界への影響についての推測を削除し、設定の逆行性と FAQ の内容に関する欠落した詳細を追加しています。

2025/12/06 0:35

Cloudflare outage on December 5, 2025

## Japanese Translation: ``` ## Summary Cloudflare の 2025 年 12 月 5 日の障害は約 25 分間続きました。 08:47 UTC にネットワークセグメントが故障を開始し、08:50 UTC に完全な影響に達し、09:12 UTC に問題が解決しました。 全 HTTP トラフィックの約 28 %(古い FL1 プロキシと Managed Rulesets を使用している顧客)がエラーを経験しましたが、中国ネットワークトラフィックは影響を受けませんでした。 障害は、CVE‑2025‑55182(React Server Components の脆弱性)を修正するために意図された二つの急速なコード変更によって引き起こされました。 まず、WAF バッファサイズが 128 KB から 1 MB に増加し、段階的に展開されました。 次に、グローバル設定更新で内部 WAF テストツールが無効化され、FL1 のルールモジュールで Lua エラー(`attempt to index field 'execute' (a nil value)`)を引き起こし、HTTP 500 応答を生成しました。 このバグは何年も存在していましたが、「execute」ルールのキースイッチが execute フィールドが欠落した際に処理するコードを回避したために露呈しました。 同様で大規模なインシデントが 2025 年 11 月 18 日にも発生しました。 Cloudflare はロールアウト手順の強化、バージョン管理制御の追加、ブレイクグラスアクセスの簡素化、およびフェイルオープンエラーハンドリングの実装に取り組んでいます。詳細なレジリエンシー計画は来週公開される予定であり、新しい緩和策が稼働するまでネットワーク変更は停止されたままです。 この出来事は、大規模 CDN 運用における厳格な変更管理の必要性を強調し、迅速展開保護策に関する業界全体での見直しを促す可能性があります。 ```

Making RSS More Fun | そっか~ニュース