Dependabot minimum release age and auto-merge — the trap in a private repo
On a private repo the dependency graph is off by default, so Dependabot opened no npm pull request, and the auto-merge workflow merged 45s before CI finished.
On a private repo the dependency graph is off by default, so Dependabot opened no npm pull request, and the auto-merge workflow merged 45s before CI finished.
How this Astro blog badges its most-read articles: one Vercel Web Analytics query during the build, summed across three locales, baked into static HTML.
Claude Code treats .claude/ as a protected path, so allow rules cannot pre-approve writes there. Moving a mutable glossary out with CLAUDE_PROJECT_DIR.
Chrome DevTools MCP and Playwright MCP expose different surfaces to a coding agent. What each gives you, and why an Astro blog kept one and denied the other.
Adding a shared like counter to a fully static Astro site: one non-prerendered route, Upstash Redis key design, and the CI bugs that verifying it cost.
Pagefind navigated away while an IME conversion was open. isComposing is necessary but not sufficient: WebKit fires compositionend before the keydown.
Why width:100% blurred a 256px screenshot in Astro, and how a native dialog made every diagram readable on a phone. Seven measurements corrected the design.
Pagefind warned about missing stemming for Japanese and Chinese on every build. The real defect was a query and index tokenizer mismatch returning wrong pages.
Chasing 1.6 MB of PNG blobs in git history found a repo that had never been packed. git gc recovered 8.6 MB; the rewrite I skipped was worth 0.8 MB.
Share buttons in Astro built from intent URLs: a different target set per locale, a sticky icon rail on wide screens, and the endpoint drift found on the way.
Measuring translated SVG labels against their boxes with Playwright, and the two bugs that made the check report 37 pages clean while measuring nothing.
Follow-the-reader scrolling, a shared rail, and the ::details-content box that silently ate a mobile max-height in an Astro table of contents.
Adopting Expressive Code in Astro 7: filename tabs, per-theme file icons, a Sätteri processor trap, and 97 fences Shiki was reading as a language name.
From context to the finished LLM: the limits of RNNs, the birth of attention, the Transformer, GPT-3 scaling, RLHF alignment, and the era of efficiency.
The LLM as a by-product of unrelated problems: Turing on computability, Shannon on information, the perceptron, backpropagation, GPUs, and Word2Vec.
Whether fine-tuning can replace RAG for knowledge base search: what fine-tuning actually learns, when pure IR or long context wins, and what each costs.
Implementing RFC 10008 HTTP QUERY in Python with Starlette: safe, idempotent, cacheable requests with a structured body, and how it complements GraphQL.
AIMock mocks the whole AI stack on one port (LLM, vector DB, MCP, A2A), so an agent test suite runs in under three seconds with identical output every time.
Redesigning this blog's logo and code font with an AI agent: a broken SVG letterform, a regex bounding box, a wrong kanji, and the /logo skill it produced.
Why gpt-image-1 and DALL-E 3 differ: autoregressive tokens vs iterative denoising, the discrete-vs-continuous wall, DiT, and the three-way 2026 market.
Measuring PNG, JPEG and WebP for article figures, why re-compressing the PNG made it larger, and why converting an image git already tracks reclaims nothing.
Why this trilingual Astro blog has no CMS: the directory layout images forced, MDX over Markdown, and a tag registry standing in for foreign keys.
Why MCP alone is not enough for agent-to-agent communication: peer equality, Agent Card discovery, async task state, and why both protocols chose HTTP.