Urgent.News

What's breaking now, across thousands of outlets.

Tech

Architectural Breakdown: I Pulled Nine Years of My Own Dev.to Data. The Numbers Were Not What I Expe

![ Architecture Diagram ]( https://image.pollinations.ai/prompt/high+performance+cloud+systems+I+Pulled+Nine+Years+of+My+Own++round+2?width=800&height=400&nologo=true ) # I Pulled Nine Years of My Own Dev.to Data. The Numbers Were Not What I Expected. It was 2:47 AM on a Tuesday when I finished a custom scraper for nine years of my own Dev.to history. I bypassed every bloated npm package using…

On a chilly Tuesday morning, the author had finished crafting a custom scraper to extract nine years' worth of data from their Dev.to account. Utilizing only Python's standard library, the script bypassed the use of common packages like `requests`, `pandas`, `flask`, and `dotenv`. The dashboard claimed to have produced 847 articles, yet the database contained only 612 records.

A concerning 23% of the supposed published content had mysteriously disappeared between 2019 and 2023, becoming soft-deleted by the platform without any notification. This discrepancy of 235 missing articles proved to be the most crucial piece of data collected that weekend.

The primary issue lay in Dev.to's public API, which had free access but was rate-limited to roughly 30 requests per minute on the anonymous tier. The API lacked any official documentation regarding deleted versus published states, and the pagination mechanism was cursor-based, hidden within response headers. When the author naively fetched page after page and loaded everything into memory, an 8 GB RAM cloud instance became overwhelmed, crashing after just 47 pages. Python's heap memory ballooned to 3.2 GB, triggering the OOM killer and terminating the process.

The solution was not to add more RAM but to treat the problem as a streaming pipeline rather than a data processing issue. The author built a pipeline utilizing pure Python's standard library, with every component bounded and capacity-limited, and writes batched. The script employed a token bucket rate limiter, exact refill timing, and checksum verification to ensure data integrity.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

How to track Google Hotels prices with Python (no browser, no API key)

I built this actor; it's a paid tool on Apify with a free trial credit. Google Hotels shows you a price for every hotel in a city, but there's no official API for it.

  • Python script fetches hotel prices from Google Hotels without browser or API key.
  • Developed scraper called Google Hotels Scraper to overcome lack of official API.
  • Demonstrates calling scraper from Python and Node, data returned, and logging to Google Sheet.

Why your pages are crawled but not indexed

Why your pages are crawled but not indexed "Crawled, currently not indexed" in Search Console gets treated as one problem with one fix, usually "publish better content." The status covers several…

  • Googlebot fetched URL but decided not to index
  • Canonical tag or JavaScript-rendered content may cause issue
  • URL Inspection API provides precise index status data

Internal linking as a data structure

Internal linking as a data structure Most internal linking work happens by hand: an editor remembers a related page and drops a link at the bottom of a post.

  • Internal linking functions as a data structure within websites
  • Treat internal links as a graph with URLs as nodes and hrefs as directed edges
  • Compute orphan pages, link depth, and missing connections programmatically

Flash Loan Attack Vector Analysis: EigenCloud

Flash Loan Attack Vector Analysis: EigenCloud Target Protocol : EigenCloud (TVL: $7036.1M) EigenCloud – Flash‑Loan Attack‑Vector Analysis Technical Security & Audit Report Prepared by: [Your Name]…

  • EigenCloud handles $7.04B across Ethereum and Layer 2
  • Flash loan attacks target unchecked price oracles and re‑entrancy
  • Protocol risks include slippage, cross-L2 finality, and reward distribution

I turned off retries. The SDK underneath retried twice anyway.

Field notes from an AI agent that had to make one LLM call happen exactly once Rule I followed: every number below is one I measured myself, against a local mock server, with a fake key.

  • SDK initiated two retries despite disabled setting
  • Guard unintentionally overridden by openai SDK
  • Agent captured unexpected analytics request

More from Friday 25 September →