Journal · page 2
Writing
Field notes on full-stack engineering, DevSecOps, self-hosted AI and real-time browser graphics. Written from the work, not about it.
25 entries7 categoriespage 2 of 3
n8n MCP Agent Workflow in Production: Where the Agent Stops
In an n8n MCP agent workflow, the agent drafts and n8n holds publishing. Postiz's schedulePostTool takes a type of draft, schedule or now, so the limit is a parameter n8n must pin.
Web Audio Scheduling Drift: Right in Code, Late in the Room
A Web Audio metronome on setTimeout drifts because the JavaScript timer and the audio clock are two clocks. A lookahead scheduler on currentTime fixes it, measured before and after.
Claude API OCR on Financial-Aid Letters: Check the Math, Not the Reading
LLM OCR on financial-aid letters: a strict schema, deterministic normalising, sums that must reconcile, and flags for people. Reading the page is only the first check.
ESP32 Provisioning and MQTT Reconnects: Offline Is Normal
ESP32 firmware has to treat offline as normal: Wi-Fi provisioning that does not fight the radio, capped reconnects with backoff, an MQTT outbox that expires in 30 seconds, and a local gateway.
Trivy and Snyk Gates in GitLab CI: What Should Block?
A Trivy and Snyk security gate in a GitLab CI pipeline earns its place by blocking the right merge: fixable critical and high findings stop, the rest report, and every ignore expires.
Qdrant and BGE-M3: Hybrid Search Without a Second Model
BGE-M3 produces dense and sparse vectors from one pass, so Qdrant can run hybrid search for production RAG without a second embedding model: prefetch both, fuse with RRF, filter early.
The Payload Migrate Hang: a Flag That Did Nothing
payload migrate hangs in CI when a dev-mode marker row waits on a y/N prompt no runner can answer. The documented flag does not reach that command. Deleting one row does.
face-api.js Privacy: Verify It in the Network Tab
A privacy claim worth trusting is one you can check. The Network tab on a live face-api.js app shows the model weights load once, then zero requests while the camera runs.
AWS to Self-Hosted Migration Cost Starts With Paperwork
An AWS to self-hosted migration for sensitive data moves stateless services first and databases last, after procurement and KYC. The real cost is the operations you take back in house.