A Web Audio metronome on setTimeout can log a perfect beat and still play late: the timer and AudioContext.currentTime are two clocks. Measured in headless Chromium 151: up to 2.8 s off under stalls. A lookahead scheduler on the audio clock: 0.01 ms. #javascript #webdev #webaudio
ABee
@abchaudary.me
I build the systems businesses scale on. Systems Engineer · Full-Stack · DevSecOps · Cloud · Kubernetes · AI/ML · IoT. 12+ years turning fragile software into infrastructure that holds under growth: secure, observable, fast. abchaudary.me
Denmark's CPR breach: 8.8 million people exposed through a two-person vendor's legitimate access, an admin password of 123456, and a former employee's login. It surfaced through an invoice for about 14 million searches. Offboarding and usage limits are security controls. #infosec #cybersecurity
OCR is the first failure boundary, not the last. On financial-aid letters, the @anthropic.com Claude API read the page fine. The numbers were the risk: loans counted as grants, semesters read as years. Schema, rules in code, sums that reconcile: abchaudary.me/blog/claude-... #AI #LLM #EdTech
LLM OCR for Financial-Aid Letters: Evaluating Extraction
How to evaluate LLM OCR extraction on financial-aid letters with the Claude API: a strict schema, normalised amounts, net-price checks and human review flags.
abchaudary.me
Deno is joining Cloudflare, says @tinyclouds.org: a year of monthly runtime fixes, then development ends. Deno Deploy gets six months. Every platform has an end date. The ones you can self-host make it survivable. What's your exit plan? #Deno #JavaScript #WebDev blog.cloudflare.com/deno-joins-c...
Deno is joining Cloudflare
The Deno team is joining Cloudflare to radically simplify self-hosting Workers and Durable Objects, so developers can use the same primitives in more places.
blog.cloudflare.com
ESP32 firmware spends more time offline than its happy path admits. ESP-MQTT drops queued QoS 1 messages after 30 s by default, ESP-IDF leaves Wi-Fi reconnects to you, and a clean session forgets its subscriptions. abchaudary.me/blog/esp32-w... #esp32 #iot #embedded
ESP32 Wi-Fi Provisioning and MQTT Reconnect Design
ESP32 Wi-Fi provisioning and MQTT reconnect design that treats offline as normal: BLE or SoftAP setup, capped retries, the 30-second outbox, and a gateway.
abchaudary.me
Let's Encrypt moves to 64-day certificates on 10 Feb 2027. Staging: 14 Oct. ARI clients are fine. Hard-coded renewal logic is not. Short lifetimes reward finished automation: renew, reload, alert. Is your reload wired to renewal? #devops #infosec #selfhosted letsencrypt.org/2026/10/07/6...
Chrome is shipping JPEG XL with jxl-rs, a pure Rust decoder, because image decoders are ""one of the most critical and targeted attack surfaces"" in a browser. Memory safety at the source; the sandbox as backup. #rust #infosec #webdev developer.chrome.com/blog/jpeg-xl...
Block the right merge, not every merge. A Trivy and Snyk gate for GitLab CI: fixable critical and high findings stop the merge, the rest report, and every ignore carries an expiry date. The YAML and @gitlab.com 's merge checks: abchaudary.me/blog/trivy-s... #devsecops #devops #infosec
Trivy and Snyk Security Gate in GitLab CI Pipelines
A Trivy and Snyk security gate in GitLab CI: what each scanner covers, which findings block a merge, how overrides expire, and the traps that disarm a gate.
abchaudary.me
Most RAG problems are retrieval problems wearing an LLM costume. BGE-M3 gives dense and sparse vectors from one pass; Qdrant fuses both with RRF. #rag #vectorsearch #llm abchaudary.me/blog/qdrant-...
Qdrant and BGE-M3 Hybrid Search for Production RAG
How to run Qdrant hybrid search with BGE-M3 for production RAG: dense and sparse vectors from one model, RRF fusion, payload filters, and retrieval checks.
abchaudary.me
Mistral previewed Large 4 today, weights due by month's end. Their pitch to defenders: ""losing access to a capability mid-incident can itself become a critical security risk."" That's the self-hosting argument, applied to models. #ai #infosec mistral.ai/news/mistral...
payload migrate hung 17 minutes in CI: a leftover dev row made it ask ""Would you like to proceed?"" No runner can answer. The flag never reaches it. One row did. #payloadcms #devops abchaudary.me/blog/payload...
Payload CMS Migrate Hang in Docker and Postgres CI: the Fix
Why Payload CMS migrate hangs in CI with Docker and Postgres: a dev-mode marker row triggers a y/N prompt the documented flag never reaches. One row fixes it.
abchaudary.me
My face-api.js app: model weights load once, then 0 requests in the 20 s after the camera starts. A privacy claim you can check beats one you have to trust. #privacy #javascript abchaudary.me/blog/face-ap...
face-api.js Privacy, Verified in the Network Tab
Verify face-api.js privacy in the Network tab: on a live app, the model weights load once from the same domain, then zero requests while the camera runs.
abchaudary.me
Health and research data belongs on hardware the client owns. The playbook for leaving AWS: paperwork first, databases last. #selfhosted #devops #cloudmigration abchaudary.me/blog/aws-sel...
AWS to Self-Hosted Migration Cost: A Sensitive-Data Playbook
The AWS to self-hosted migration cost for health, education and research data: the paperwork, the move order, zero-downtime cutover and the operations.
abchaudary.me
@cloudflare.social open-sourced Clef and Clef-flash (9B) this week: Apache 2.0 decision models, no free-form text. Triage, routing, classification: jobs a small open-weight model can run on hardware you control. #localllm #opensource blog.cloudflare.com/clef-decisio...
A Web MIDI input that disconnects mid-note sends no note-off. The app must release it. Key voices by the port that started them; free them on statechange. #webmidi #javascript #webaudio abchaudary.me/blog/web-mid...
Web MIDI Permission, Device State and statechange
How Web MIDI permission, the statechange event and a port's pending state decide whether a JavaScript synth survives a device disconnecting mid-note.
abchaudary.me
Five layers, one VPS: Cloudflare, nginx, Next.js and Payload in one container, Postgres, S3 media. Why the build needs a self-hosted runner, and what broke. #nextjs #selfhosting abchaudary.me/blog/one-vps...
One VPS: Next.js, Payload, Cloudflare and nginx
How a self-hosted Next.js and Payload site runs on one VPS with Docker, nginx and Cloudflare: the request path, the build runner, and scheduled publishing.
abchaudary.me
Always-on agents are here: OpenAI's Dots keep reading connected apps between conversations. OpenAI says its defences reduce prompt-injection risk, not remove it. Treat model output as untrusted input. Put the limits in code. #aisecurity #llm #ai news.ycombinator.com/item?id=4989...
My AGENTS.md held 678 bytes of framework boilerplate and none of the project's rules. The real rules lived behind a CLAUDE.md symlink. One shared rules file fixes where AI coding tools look. Only CI fixes whether they comply. abchaudary.me/blog/agents-... #ai #devtools #claudecode
AGENTS.md Rulebook for Claude Code, Cursor and Cline
A team's AGENTS.md rules file, read by Claude Code, Cursor, Cline, Gemini CLI and Copilot. What goes in it, what CI must catch, and what it never enforces.
abchaudary.me
Someone split a 0.5B language model across seven ESP32-S3 boards: ternary 1.58-bit layers, KV cache in PSRAM, hidden states hopping down an SPI daisy chain. Having written ESP32 firmware, the part I would watch is the SPI hop, not the math. #esp32 #edgeai #llm github.com/Low-Zi-Hong/...
Claude went down. guess it's time to take a walk. #claude #outage #claudecode
Spongebob Squarepants Walk Cycle
ALT: Spongebob Squarepants Walk Cycle
static.klipy.com
The obvious suspect for a stale Next.js page after a deploy is the Next.js cache. On my Docker deploy it was not. next build read the database, and Docker's layer cache only sees the Dockerfile and copied files, so every layer was a cache hit. abchaudary.me/blog/nextjs-...
Stale Page After Deploy: Docker Cache, Not Next.js
A deploy that built, migrated and passed health checks still served the old site. The cause was Docker's layer cache, not any Next.js cache. Here's the fix.
abchaudary.me
Question for anyone building Next.js in Docker: do you check content freshness after a deploy, or only that the homepage returns 200?
Agents made code abundant. Understanding it is now the scarce part. John Allspaw argues review was never only defect detection: it is where a human notices what is missing from the diff. What did your team change about review once agents arrived? www.adaptivecapacitylabs.com/2026/08/24/t...