A single-page, dependency-free visualization of scaled dot-product attention with live matrix values you can re-seed and resize.
Blog
Thoughts on AI, software development, and engineering.
How LLM prompt caching works — from automatic prefix caching to explicit cache checkpoints — and how to structure prompts to take advantage of it.
Minimal, self-contained examples for querying Claude, OpenAI, and Gemini via raw HTTP, provider SDKs, and LangChain in Python, Bash, and TypeScript.
How to cut LLM costs by structuring prompts, sessions, and model routing more efficiently.
A visual walkthrough of how a decode-only LLM processes tokens in a single forward pass.
A visual breakdown of the components that make up a modern agentic AI system.
A project using an LLM to scan for OWASP vulnerabilties
LLMs are not normal
A few tips to improve your LLM coding results.
A quick reference describing the messages used in a Model Context Proocol server and client.
Three approaches to using AI models in Golang
How to clone a website layout from a screenshot
Types of Embedded Developers
How to use Go with the Github GraphQL API
Overview of CAN Bus software developers.