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 73 posts
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.
- 27 min read
I Ran DeepSeek's dsh-superagent End to End: A Hands-On Deep Dive
A hands-on test of DeepSeek's dsh-superagent: I installed it on a Mac, had it fix a real GitHub issue end to end, and explain its two-layer authorization gate, Mandates and risks.
- 19 min read
Ghidra MCP: Install and Use GhidraMCP for AI Reverse Engineering
Ghidra MCP setup, tested: install Ghidra 12.1.4 and GhidraMCP 2.0 (GUI or headless), connect Claude Code, then find zlib's Adler-32 in a stripped binary.