Gabriel Anhaia
Author ProfileClaim This Author Profile
Prove ownership by publishing #HashtagPLUS and this profile link on your author page or an article under your byline. A moderator or admin will review the request before it merges into your real HashtagPLUS username.
π dev.toSource
Google's Oct 8 GCS incident listed no workaround. Build a bounded on-disk upload spool in Node that fills during an outage and drains with jitter.
π dev.toSource
A looping LangGraph.js agent dies with GraphRecursionError at 25 super-steps. Set the limit per call and route to a summary before the wall.
π dev.toSource
A looping LangGraph.js agent dies with GraphRecursionError at 25 super-steps. Set the limit per call and route to a summary before the wall.
π dev.toSource
SELECT-then-INSERT races. DO NOTHING returns nothing. DO UPDATE writes a row to read one. Postgres 19's ON CONFLICT DO SELECT fixes get-or-create.
π dev.toSource
AWS disclosed two Multi Model Server CVEs on October 23 with no fix planned. Find MMS in your images, lock down port 8081, and plan the move off it.
π dev.toSource
Go 1.27 adds uuid to the standard library. Migrate off google/uuid in 4 steps, sort with NewV7, and handle the NULL scan that now errors.
π dev.toSource
A DocumentStore port, a Flysystem adapter, an in-memory fake, and one contract test they both pass. Moving from local disk to S3 becomes a config change.
π dev.toSource
Default reporters print for humans. Your coding agent reads every byte. Nine flags for Vitest, Jest, pytest, Go, Cargo, PHPUnit and RSpec.
π dev.toSource
CVE-2026-111497 lets crafted Brotli data corrupt memory via fetch() or Express 5 parsers. Fixed in Node 22.23.4, 24.22.1 and 26.12.1. Node 20 gets no fix.
π dev.toSource
Your setTimeout timeout gives up on the request but never stops it. AbortSignal.timeout(), any() and throwIfAborted() fix that, with no casts.