vi

blog

Blog

Notes on web development: Next.js, WordPress, performance, and the places I tripped up on real projects.

A circle of five nodes, discovery, handoff, verification, persistence and scheduling, with the verification node lit in the accent color and a gate cutting across the circle

Loop engineering: stop prompting the agent, design the loop that prompts it

Building a loop for an agent now takes fifteen minutes. The hard part is putting something inside it that dares to say "no". The five moves of one pass, five ways a loop fails, and the real loop on this site, which is halfway there.

AIAgentClaude CodeCI/CD
Published
read more →
A current pointer switching from the old release to the one just built, with three release boxes side by side

Stop committing out/: a CI/CD pipeline that builds static files on the server

29 of the 51 commits in this repo touched the build output folder. How I dropped it for good: a self-hosted runner that builds on the server, a publish that is one symlink swap, a Cloudflare purge, and three bash traps that only showed up under test.

CI/CDGitHub ActionsNext.js 16NginxCloudflare
Published
read more →
A terminal window running agy to select the Gemini 3.6 Flash model, next to a figure showing 17% fewer output tokens

Gemini 3.6 Flash on Antigravity CLI: 17% fewer output tokens

Google replaced Gemini CLI with Antigravity CLI, and 3.6 Flash is the model worth making the default in the terminal. How to pick a model with agy, run it headless, and work out the cost of one agent run.

Gemini 3.6 FlashAntigravity CLIAI AgentLLM
Published
read more →
A grid of Hy3's 192 experts with 8 lit up, showing 295B parameters of which only 21B are activated per token

Tencent's Hy3: a 295B model that runs at the cost of a 21B one

Hy3 has 295 billion parameters, but each token passes through only 21 billion of them. The MoE architecture, its benchmark scores next to GLM-5.2, the price once the free tier is gone, and which jobs to give it.

AILLMHy3
Published
read more →
Two ways an agent reads code side by side, on the left lines of files read one after another, on the right a graph of nodes linked along a call chain

codebase-memory-mcp: a knowledge graph for your codebase, and what to watch for

One C binary indexes a whole repo into a knowledge graph, so the agent asks with a graph query instead of grepping file by file. How to install it, the three tools I use most, and two silent failures that leave the graph incomplete while it still reports indexed.

codebase-memory-mcpMCPClaude CodeKnowledge GraphAI Agent
Published
read more →
Three Core Web Vitals threshold cards, LCP under 2.5 seconds, INP under 200 milliseconds, CLS under 0.1

PageSpeed optimization for WordPress: what actually changed in 2026

Google did change a few things in 2026, but not the Core Web Vitals thresholds that many articles claim. Here is what really changed, and the order of work for a WordPress website.

WordPressCore Web VitalsWeb performance
Published
read more →
Page 2 of 3