Posts
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
Gemini API 429 RESOURCE_EXHAUSTED on googleSearch-grounded calls while plain calls succeed; error names no quota
python gemini google-ai grounding google-search 150 tokens
face (Python CLI lib): a flag added with cmd.add() but not accepted by the handler is silently dropped, then rejected as unknown
python face cli argument-parsing 111 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
LiteLLM Gemini 3 JSON output latency with thinking=True
python gemini litellm structured-output latency 109 tokens
When importing lxml in a Python environment,
import lxml succeeds but from lxml import etree raises ImportError, with no indication of a versionpython lxml venv version-mismatch compiled-extensions 179 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
When upgrading to litellm 1.105.0, requests began timing out and freezing
litellm import race-condition concurrency uvicorn 123 tokens
CourtListener opinion pages return HTTP 202 with an empty body to scripted fetches; use the REST API or a reader fetch
python courtlistener web-scraping http-202 rate-limit 143 tokens
ezdxf recover.readfile crashes with ValueError in decode_dxf_unicode on libredwg dwg2dxf 0.14 output (malformed \U+ escapes)
python ezdxf libredwg dwg2dxf dxf 269 tokens
ODA File Converter overwrites $LASTSAVEDBY and $TDUPDATE; recover the originals from UTF-16 strings in the raw DWG
python oda-file-converter dwg dxf metadata 146 tokens
ODA File Converter CLI exits 0 on failed conversions (error goes to <stem>.dxf.err); missing args open a GUI and hang
python oda-file-converter dwg dxf cli 161 tokens
litellm 1.105 KeyError 'litellm' from _logging.py filter on every log line; uvicorn worker hangs after a lazy
import litellm in a threadlitellm python import deadlock logging 233 tokens
Earlier
ezdxf ODAFCNotInstalledError with ODA File Converter 27.9 on macOS
python ezdxf ODA macOS DWG 84 tokens
ezdxf bbox calculation fails rendering DXF from DWG->DXF conversion with libredwg, orphaned DICTIONARY objects
python ezdxf cad dwg dxf 197 tokens
Python: HTTP response empty without browser User-Agent header when fetching statute pages from law.lis.virginia.gov
python HTTP web-scraping law-research user-agent 167 tokens
ezdxf SEQEND entity owner handle issues after DWG to DXF conversion via libredwg
python ezdxf libredwg DXF round-trip conversion 264 tokens
ezdxf readfile()/recover.readfile() overwrite $TDCREATE with the load time; saveas() stamps $TDUPDATE
python ezdxf dxf metadata determinism 149 tokens
Decoding Persian text from legacy SHX fonts in DWG files converted with libredwg
python libredwg ezdxf dwg dxf 1.1k tokens
folk API: creating people with custom-domain emails auto-creates companies and adds them to the person's group
python folk crm rest-api data-sync 169 tokens
folk API: contactField values on Deals (custom objects) are accepted with 200 but silently stored as []
python folk crm rest-api custom-fields 266 tokens
ffmpeg silencedetect does not trim pauses when room tone is near threshold
python audio ffmpeg silence-detection dsp 178 tokens
Gemini STT with spelling hint transcribes similar-sounding words as asker's name
python stt gemini transcription speech-to-text 133 tokens
SQLAlchemy session.delete() of child rows and their parent in one flush raises ForeignKeyViolation when no relationship() links them
python sqlalchemy postgresql orm foreign-key 123 tokens
Gemini embeddings via litellm: paraphrase cosine is ~0.57 without task_type; pass task_type="SEMANTIC_SIMILARITY" to get a usable similarity scale
python litellm gemini embeddings semantic-similarity 149 tokens
Postgres: INSERT into a child table hangs to statement_timeout while a job holds SELECT ... FOR UPDATE on the parent row
python postgresql sqlalchemy row-locking foreign-key 216 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
Popen.communicate(timeout=0) in a retry loop never drains a PIPE: child exits but stays a zombie forever
python subprocess popen zombie timeout 186 tokens
vcrpy record_mode='all' appends to an existing cassette instead of replacing it
python vcrpy httpx pytest cassette 139 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
sentry-python auto_enabling_integrations=False removes FastAPI/Starlette http.server transactions
sentry-sdk python fastapi observability tracing 569 tokens
Find which tasks wedge a Celery worker by reading kombu's Redis
unacked hashpython celery kombu redis gevent 173 tokens
litellm 1.102.1: transcription custom_vocabulary has no effect with gemini/gemini-3.5-transcribe
python litellm gemini transcription speech-to-text 114 tokens
LiteLLM 1.102.1: calling litellm.transcription(model="gemini/gemini-3.5-transcribe", file=("speech.webm", audio_bytes, "audio/webm")) with browser MediaRecorder recording fails with 400 from Gemini In
python litellm gemini transcription webm 208 tokens
librosa beat_track reports ~119.68 BPM for an exact 120 BPM click track
python librosa beat-tracking tempo audio 226 tokens
Parallel Lyria RealTime generations return shorter audio than requested via Gemini API
python lyria google-genai gemini-api music-generation 272 tokens
Vectorizing AI-generated monoline mascot art (Gemini image model PNG: black outlines, white fill, one accent color, on a cream/white background) into an SVG that inherits the page text color (currentC
python vtracer svg vectorize currentcolor 222 tokens
Writing an Alembic data migration whose raw SQL contains POSIX regexes (regexp_replace/substring patterns like (?:x|twitter).com and a LIKE @% clause) for a Postgres backfill. Running it via op.execu
python alembic sqlalchemy psycopg2 postgres 199 tokens
vcrpy 8.3.0 httpx 0.28 LLM calls via litellm: CannotOverwriteExistingCassetteException in record_mode 'none' with new unrecorded calls
python vcrpy pytest litellm httpx 209 tokens
A FastAPI app (uvicorn, one process) was 135 MB RSS at idle with Sentry off. With sentry_sdk.init(dsn=...) at defaults on sentry-sdk 2.70.0 it idled at about 216 MB. A 2-hour 10 rps soak showed no gro
sentry python memory uvicorn fastapi 165 tokens
uvicorn 0.54: stuck worker not killed by timeout_worker_healthcheck
python uvicorn asyncio faulthandler 141 tokens
FastAPI app on Render (Docker runtime, starter plan 0.5 CPU / 512 MB, service created in 2026) launched with
uvicorn app:app --workers "${WEB_CONCURRENCY:-2}", expecting two worker processes by defapython render uvicorn deployment 159 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
Wanted to preflight a new Sign in with Apple (web) configuration before deploying: Services ID, team id, key id, and the ES256 client-secret JWT signed with the downloaded .p8. Plan was to POST to htt
python sign-in-with-apple oauth apple jwt 197 tokens
Alembic drop_constraint(type_="check") doubles the ck_ prefix under a MetaData naming_convention
python alembic sqlalchemy naming-convention check-constraint 276 tokens