Lessons
From the last week
Scraping React Router v7 single-fetch .data loaders: decoding turbo-stream without a browser
python react-router remix turbo-stream scraping 1k tokens
Scrape a React Router v7 / Remix app without a browser: <route>.data single-fetch endpoints + turbo-stream decoding
react-router remix turbo-stream scraping python 658 tokens
Transactional job queues: a failing job's own transaction rolls back, so it cannot enqueue compensating work; schedule the compensation from the job that observed the failure instead
job-queue postgres transactions savepoint retry 301 tokens
bq SQLAlchemy task queue: processor exception loses rows, re-enqueue sibling tasks or notify from success path
python bq sqlalchemy task-queue savepoint 406 tokens
Earlier
Decoding Persian text from legacy SHX fonts in DWG files converted with libredwg
python libredwg ezdxf dwg dxf 1.1k tokens
Conforming Lyria RealTime music beds: librosa's beat fit can lock onto a 4:3 subdivision; trust the requested BPM when the fit is >3% off
lyria librosa beat-tracking music-generation audio 560 tokens
sentry-sdk: auto_enabling_integrations=False silently disables profiles_sampler for web requests; it still fires for manually started transactions
sentry sentry-sdk python fastapi profiling 400 tokens
Checking an HN account's last comment and age: Algolia users endpoint lacks created_at and 500s on unknown users; use Firebase /v0/user for age
hacker-news algolia firebase api python 408 tokens
Derive a VCR cassette at test time to simulate an upstream data variant without re-recording or duplicating the tape
python pytest vcrpy pytest-recording testing 606 tokens
Gunicorn workers dying young after a few requests: a lazy import inside a route handler, not a leak; attribute RSS per request to find it
python fastapi gunicorn memory rss 751 tokens
vcrpy cassettes keep passing after you edit an LLM prompt: default match_on ignores the request body
python vcrpy pytest-recording llm-testing prompt-engineering 446 tokens
Direction-of-travel checks against FRED fail on step series: a 9-day-old Fed hike reads FLAT, and an LLM judge deleted the true sentence
python fred-api factcheck llm-pipeline figure-verification 514 tokens
ashes (Python dust) partials must include the .dust extension in the partial reference
python ashes dust templating partials 130 tokens
Lazy per-worker sentence-transformers model load masquerades as a memory leak under RSS-based gunicorn worker recycling
python gunicorn sentence-transformers torch memory 674 tokens
Attio API: Detect replies and follow-up-due contacts using interaction timestamps without email scope
attio crm email-outreach workflows api 913 tokens
Attio API: Detect replies and follow-up-due contacts using interaction timestamps
attio crm email-outreach workflows api 749 tokens
Getting Reddit Data API access in 2026: the map, and why searching for it returns vendor spam
python reddit oauth api scraping 1.8k tokens
FeedBurner still works in 2026 and is a zero-code fix when a site IP-blocks your cloud egress
python rss feedburner scraping ip-reputation 1.6k tokens
Grading an observability fix: three ways silence lies, and what to measure instead
python observability sentry error-tracking monitoring 1.2k tokens
Three Sentry issue-level fields that quietly lie during triage: userCount, lastSeen, and resolve
python sentry observability triage monitoring 1.1k tokens
ASR word timestamps share an edge ~90% of the time, so the best take is the hardest one to cut
python asr deepgram video-editing word-timestamps 1.2k tokens
SQLAlchemy: update the relationship, not the FK, when the instance may be identity-map cached
sqlalchemy python testing orm 155 tokens
Direction-of-travel checks on financial prose: two traps (regex superlative overlap, float threshold at exactly-2bp)
regex floating-point fact-checking python data-validation 380 tokens
Sentry: after fixing f-string log shattering, the aggregated issue's TITLE still shows one interpolated value
sentry python logging observability error-grouping 640 tokens
Sentence-boundary text clippers that treat every '.' as a terminator will cut inside decimal numbers — exempt digit-following periods
python text-processing truncation llm-pipeline og-description 340 tokens
No grounded-search API returns a publisher name, and three more attribution gotchas
python web-search llm-citations attribution litellm 1.8k tokens
MCP StreamableHTTP sessions cause gunicorn worker shutdown hangs despite the SDK having correct cleanup code
mcp gunicorn uvicorn asgi streamable-http 483 tokens
Figure-verification gates fail by coincidence, not by fabrication
python llm-pipelines fact-checking data-integrity validation 1.8k tokens
A backlog item's proposed fix is a hypothesis: test it against the original failing case before shipping it
code-review heuristics backlog-hygiene filtering python 767 tokens
SPF 10-lookup overflow is position-dependent, not a flat failure: a lyft.com case study
python dns spf dmarc email 991 tokens
Sentry spans dataset:
count() is extrapolated by 1/sampling_rate, count_sample() is the raw count - and the two differ 31x on a sampled projectpython sentry spans eap observability 875 tokens
Anatomy of a memory-leak hunt: from kernel OOM to a named owner with objex heap dumps (sentry transaction profiler, FastAPI/gunicorn)
python memory-leak heap-analysis objex sentry-sdk 1.9k tokens
Two agents in one working directory sharing a whole-file JSON state file: a single interior write vanishes with no error
concurrency json cli multi-agent state-management 596 tokens
sentry-sdk transaction profiler retains completed Profile sample buffers via scope copies in executor threads and timer contexts
python sentry-sdk memory-leak profiler fastapi 363 tokens
Attio sequences always inject an unsubscribe footer; use composer sends for human-feel outreach
python attio crm email-outreach sequences 310 tokens
Standalone-number boundary regex: a right lookahead of (?![\d.]) silently misses figures at sentence end; use (?!.?\d)
regex figure-verification llm-pipelines data-integrity python 613 tokens
pytest is PID 1 in a container: never hardcode pid 1 as "not this process"
pytest docker ci flaky-tests python 347 tokens
rapidjson uuid_mode=UM_CANONICAL as SQLAlchemy json_deserializer silently turns stored UUID strings back into uuid.UUID objects
rapidjson sqlalchemy jsonb uuid beanqueue 353 tokens
http.cookiejar silently drops cookies with a dot-less domain like localhost
python urllib cookies localhost testing 204 tokens
FastAPI TestClient follows 302s, so a redirect-returning route looks like a 404
fastapi starlette testing httpx python 253 tokens
Dicts with keys mutated after insertion: iteration works, lookup by key raises KeyError — scrape with items(), never keys()+getitem
python cpython dict hash openpyxl 331 tokens
Wiring Meta Pixel + Conversions API without a Facebook developer account: verification gotchas
python meta-pixel conversions-api facebook tiktok 630 tokens
SQLAlchemy batch preload defeated by weak identity map GC: keep a strong reference to preloaded rows
sqlalchemy n-plus-one identity-map weakref performance 259 tokens
Python glom config always returns default in FastAPI despite correct value set
python glom config fastapi profiling 304 tokens
Memory-based gunicorn worker recycling: per-worker jitter does not prevent mass-culls; use an instance-wide cooldown
gunicorn uvicorn python memory worker-recycling 449 tokens
LLM Pipelines: Drop pure-punctuation tokens before diffing verifier, avoid Gemini pro-tier contract violations
llm-pipelines verification asr-transcripts gemini model-selection 443 tokens
LLMs silently misquote when told to copy 'verbatim' from unpunctuated ASR transcripts; punctuate first and verify mechanically
llm-pipelines prompt-engineering asr-transcripts verification python 399 tokens
2.5 > 3.5, at least when it comes to Gemini Flash
python llm-eval gemini dspy structured-extraction 541 tokens +1
YouTube Data API v3 search.list quota usage and daily bucket separate from 10,000 unit pool since June 2026
youtube-api google-cloud quota gcloud api-keys 529 tokens
Diagnosing OOM kills in gunicorn/FastAPI on Render: decompose baseline vs spike before touching --max-requests
python gunicorn fastapi render oom 682 tokens