🕵️ SicherheitslückenWhat continuous operational resilience looks like under DORA(09.09.2026 um 17:53 Uhr)
🔧 AI Nachrichten OpenAI seeks tougher AI rules. CIOs may feel the ripple effects(10.09.2026 um 12:11 Uhr)
🔧 AI Nachrichten Mistral valued at €21bn after €3bn Series D funding round(08.09.2026 um 10:19 Uhr)
🪟 Windows TippsWindows XP's Cursor Indicator Is Getting a Windows 11 Refresh(25.08.2026 um 13:00 Uhr)
🕵️ SicherheitslückenWhat continuous operational resilience looks like under DORA(09.09.2026 um 17:53 Uhr)
🔧 AI Nachrichten OpenAI seeks tougher AI rules. CIOs may feel the ripple effects(10.09.2026 um 12:11 Uhr)
🔧 AI Nachrichten Mistral valued at €21bn after €3bn Series D funding round(08.09.2026 um 10:19 Uhr)
🪟 Windows TippsWindows XP's Cursor Indicator Is Getting a Windows 11 Refresh(25.08.2026 um 13:00 Uhr)

🔧 Programmierung 🕛 vor 3 Monaten 2 Min Lesezeit
0

How I read 600 RSS feeds every morning in 3 minutes (pure Python, no framework)

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

Every morning I was opening 8-10 tabs — TOI, The Hindu, Indian Express, NDTV, Moneycontrol, Scroll, The Wire, FT, BBC. By the time I finished, it was 9 AM and I'd lost an hour to context-switching. So I built something to fix it.






What I built



A scheduled agent that polls ~600 RSS sources every morning, deduplicates cross-posted articles, categorizes them into 8 buckets, and emails me a clean brief before 8 AM IST.



The full skill is 293 lines of Python — pure stdlib (urllib, xml.etree, re, email.utils). No feedparser. No framework.






The architecture






CODE
17 Google News RSS queries + 30 direct publisher feeds
|
v
[fetch_all] -- parallel via concurrent.futures
|
v
[dedupe] -- 3-pass: normalize title, URL quality, jaccard token overlap
|
v
[categorize] -- 8 buckets, rule-based keyword match
|
v
[render_markdown] -- top stories + categorized sections
|
v
[send_email] -- Gmail SMTP, plain text + optional PDF









The interesting parts






Three-pass dedupe



Google News reposts the same story from 5+ outlets. Single-pass title matching misses the tricky ones (reworded headlines, different source attribution).




CODE
def normalize_title(t):
# "Modi visits US - The Hindu" -> "modi visits us"
t = re.sub(r'\s*-\s*[A-Z][a-zA-Z\s]+$', '', t)
t = t.lower().strip()
t = re.sub(r'[^\w\s]', '', t)
return t

def url_quality(url):
if 'news.google.com' in url: return 0.2
if 'toi' in url or 'thehindu' in url: return 1.0
return 0.5

def is_duplicate(a, b):
return jaccard(tokenize(a.title), tokenize(b.title)) > 0.65









Rule-based categorization beats LLM here




  • 8 buckets (Politics, Economy, World, Business, Tech, Defence, Sports, Science)

  • ~30 keywords per bucket

  • Matches in <1ms per item

  • No API cost, no rate limits

  • Predictable: "RBI rate decision" -> Economy, always






Today's actual brief (5 Jun 2026)




  • 48 stories from 600+ raw pulls (92% dedupe rate)

  • 7 top stories (FT, Al Jazeera, NDTV, India Today)

  • ~600 words, ~3 min read

  • Landed in inbox at 7:00 AM IST






Why this beats the alternatives




  • Apple News / Google Discover: too US-centric, weak India coverage

  • Twitter lists: noisy, no dedupe, no archival

  • Manual scanning: 1+ hour/day, miss stuff

  • Other RSS readers: they aggregate but don't dedupe or categorize






Stack




  • Python 3.10+, stdlib only

  • Runs as a scheduled agent on Zo Computer

  • Sends via Gmail SMTP

  • ~293 LOC total, single file



GitHub: https://github.com/AmSach/india-daily



Happy to answer questions on the dedupe logic or categorization rules. If anyone wants a different regional feed set (US, EU, SEA), drop a comment.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Sam Altman calls GPT-6 Astra rollout ‘messy’ as enterprise users wait for access
1 Quelle
Swiss government explores replacing Microsoft 365 with open-source software
1 Quelle
What continuous operational resilience looks like under DORA
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten How I read 600 RSS feeds every morning in 3 minutes (pure Python, no framework)

Thematisch verwandte Begriffe: read, feeds, every, morning · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...