Hands-on notes on AI agents, LLMs and security.
I build it, run it, and read the logs before I write about it. Tutorials and teardowns on Claude and other models, OAuth and identity, Kubernetes, and the tools in between.
Latest posts
All 75 posts
Claude Code Skills: What They Are and How to Write a SKILL.md
Claude Code skills are folders with a SKILL.md that Claude loads on demand or you run as a slash command. See where they live, the frontmatter, and a worked example.
- 9 min read
What Is Salting? Password Salting Explained With Python Code
What is salting? A salt is a unique random value added to each password before hashing. See why plain SHA-256 leaks, then salt by hand and with Argon2id.
- 9 min read
MCP vs API: What Actually Differs, With a Side-by-Side Demo
MCP vs API: an API is a contract for programmers, MCP is a protocol that lets AI apps discover and call tools. Same notes search built both ways, compared.
- 7 min read
kubectl Set Context: Switch Clusters and Namespaces Safely
kubectl set context explained: create or edit a context with kubectl config set-context, switch with use-context, change the namespace, and avoid the wrong cluster.
- 8 min read
Claude Fable 5.2 Effort Levels, Tested: 26 Runs vs Opus 5.5 and Fable 5.1
Anthropic says Fable 5.2 at High matches Opus 5.5 for half the cost; an independent test found it 4.5x pricier. I ran 26 runs on three models at medium, high and xhigh, with costs from transcripts.
- 9 min read
ID Token vs Access Token: What Each One Is For (with a Demo)
ID token vs access token: the ID token tells your app who signed in, the access token tells your API what the caller may do. Real decode and validation runs.
- 9 min read
MCP Authorization: Protect an MCP Server with OAuth 2.1
How MCP authorization works: the 401, protected resource metadata and OAuth 2.1 flow, plus a runnable Python SDK server that rejects requests without a valid token.
- 11 min read
Claude --dangerously-skip-permissions: What It Does and When to Use It
What claude --dangerously-skip-permissions really does, why it refuses to run as root, the six Claude Code permission modes, and safer ways to stop the prompts: allow rules, sandbox, auto mode.