Writing
Long-form explainers and shorter notes— tech insights, performance, accessibility, product craft, AI-assisted development, and more.
- LatestAgent memory: short-term, long-term, and coordination
- AI
- Agents
- Architecture
Useful agents remember more than the current chat window. Here is a practical map of short-term working memory, long-term procedural and episodic stores, semantic knowledge, and shared coordination—what each layer does and when to reach for it.

- Cursor hooks.json: the stop event and its stdin JSON schema
- Cursor
- AI tooling
- Developer experience
Cursor's stop hook runs when Agent finishes, errors, or is aborted. Here is how to wire it in hooks.json, what JSON arrives on stdin, and how followup_message can safely continue the loop.
- Cursor subagents: specialists with their own context window
- Cursor
- Developer experience
- AI tooling
Subagents let Agent delegate heavy or parallel work to focused assistants—each with a clean context—so exploration, shell output, and browser noise do not bloat your main chat. Here is how they work, when to use them instead of skills, and how to add your own.
- Next.js inlineCss: what it does, when to try it, when to skip it
- Next.js
- Performance
- CSS
An experimental next.config flag puts your CSS in a style tag in the head instead of separate link requests—good for first paint on slow networks and small atomic CSS, less ideal for repeat visitors and huge style bundles. Here is the trade-off in plain language.
- State as a snapshot - #React guide
- React
- Learn React
- JavaScript
State can feel like a normal variable, but each render gets a frozen picture of it. Here is why setState triggers new renders, why triple setNumber(number + 1) often only adds one, and why alerts and timeouts still “see” the old value—in plain English.
- Cursor Hooks: scripts that sit on the agent loop
- Cursor
- Developer experience
- AI tooling
Hooks are small programs Cursor spawns around Agent and Tab—JSON in, JSON out—so you can format edits, audit tool use, block risky shell commands, or inject context. Here is the mental model, where configuration lives, and what to read next in the official docs.
- Why you need cross-origin isolation for powerful browser features
- Web platform
- Security
SharedArrayBuffer, fine-grained memory measurement, and high-resolution timers sit behind a safety gate. Here is how Spectre, COEP, and COOP fit together—and what to send on the wire.
- How GPUs run AI workloads
- AI
- GPU
- Hardware
Why graphics processors became the engine of modern AI—from silicon to parallelism—and how they accelerate both training and inference.
- What is Speed Index? (and how Lighthouse measures it)
- Performance
- Lighthouse
Speed Index captures how fast your page becomes visually useful—not just when the network goes quiet. Here is how Lighthouse computes it, how to read the score, and what usually moves it.