Posts by Jack Klimov
- ·
agents · 16 min
When Not to Use RAG: Log Your Misses First
Most empty searches in my agent's memory were plumbing, not meaning. When not to use RAG: a week of logs, and bge-m3 against an LLM judge.
- ·
claude-code · 7 min
A Claude Code Mod So I Never Miss My Agent's Questions
A Claude Code mod that keeps your agent's open questions above the prompt: about 250 lines, written by Claude itself, and how to build your own.
- ·
claude-code · 19 min
Claude Code Hooks: The Deterministic Layer You're Not Using Yet
Claude Code hooks guide: all 33 lifecycle events, exit code 2 blocking, PreToolUse examples, the stop_hook_active trap, and the patterns worth shipping.
- ·
claude-code · 15 min
Claude Code SKILL.md Frontmatter: Every Field Explained
Claude Code SKILL.md frontmatter reference: all 20 fields, the context: fork and agent pair, body templating, and the bugs you'll hit in practice.
- ·
claude-code · 9 min
ForgeCode vs Claude Code: What Happened to the 81.8% Benchmark
ForgeCode vs Claude Code: how ForgeCode's 81.8% Terminal-Bench score got rescored, where both agents stand on Terminal-Bench 4.0, and which CLI to pick now.
- ·
claude-code · 10 min
Claude Code Source Leak: What It Revealed and What Shipped Since
The Claude Code source leak, six months on: what the 2.1.88 source map exposed, which hidden features shipped, which died, and how the agent really works.
- ·
protocols · 11 min
MCP vs A2A: Which AI Agent Protocols Survived the Wild West
MCP vs A2A in 2026: what each AI agent protocol does, when you need A2A, and what happened to ACP, ANP, Agora, and the rest of the 2025 protocol rush.
- ·
rust · 3 min
Rust Smart Pointers Cheat Sheet: Box, Rc, Arc, RefCell, Cow
Rust smart pointers cheat sheet: Box, Rc, Arc, RefCell, Cell, Cow, Mutex, and RwLock, with examples and a table of when to use each one.
- ·
databases · 6 min
Database Replication: Statement vs WAL vs Logical vs Trigger
Database replication methods compared: statement-based, write-ahead log (WAL), logical log, and trigger-based replication, with the pros and cons of each.
- ·
management · 7 min
Kotter's 8-Step Change Model: An Engineering Leader's Take
Kotter's 8-step change model in practice: an engineering leader's take on each step, from creating urgency to anchoring change in team culture.
- ·
pycharm · 5 min
How to Roll Back PyCharm or Any JetBrains IDE Settings
Roll back PyCharm or any JetBrains IDE settings after a bad cloud sync: find the settingsSync Git history and restore your settings to a specific date.
- ·
python · 9 min
Python Threading, Semaphores, and Barriers
Python threading, semaphores, and barriers explained with runnable code: limit concurrent workers, sync threads at a checkpoint, and avoid common pitfalls.
- ·
databases · 12 min
CAP Theorem for Developers: What It Says and Why PACELC Matters More
CAP theorem for developers: what a network partition forces you to choose, why CA isn't an option, how Spanner, DynamoDB, and Cassandra behave, and PACELC.
- ·
solidity · 6 min
Understanding Variable Types in Solidity
Solidity variable types explained: value vs reference types, storage, memory, and calldata, constant vs immutable, slot packing, and pragma versions.
- ·
solidity · 13 min
Solidity Gas Optimization: What Saves Gas and What's Folklore
Solidity gas optimization measured on solc 0.8.37: storage caching, calldata, custom errors, immutable, transient storage, optimizer settings, and the myths.
- ·
solidity · 5 min
Pull Over Push Pattern in Solidity: Safe ETH Withdrawals
Pull over push in Solidity: why paying users in a loop breaks, and how to let them withdraw with call, checks-effects-interactions, and ReentrancyGuard.
- ·
python · 2 min
Python Deadlocks: Causes, Examples and How to Avoid Them
Python deadlocks explained with examples: circular wait, self-deadlock, and starvation, plus 7 ways to avoid them, from lock ordering to timeouts.