Esc
Type to search posts, tags, and more...
Skip to content
designing-a-network-mcp-service.md 13 min

Designing a Network MCP Service for Infrastructure Operations

A vendor-agnostic, YANG-model-driven MCP service that enables LLMs to safely interact with network infrastructure — with human operators always in control through structured approval flows and full auditability.

--ai--networking
the-anatomy-of-an-ai-agent.md 8 min

The anatomy of an AI agent

AI agents are starting to look like operating systems. The LLM is the CPU, the agent is the OS, and skills and MCPs are the applications — here's why that analogy holds up.

--ai--tooling
building-a-system-for-ai-assisted-engineering.md 4 min

Building a System for AI-Assisted Engineering

Moving beyond vibe coding to structured AI-assisted development — using a .ai/ directory and project constitution to give AI assistants the context they need to be genuinely useful.

--ai--devops
my-python-development-prompt-for-llms.md 3 min

My Python Development Prompt for LLMs

A system prompt for getting clean, production-grade Python from Claude Opus 4.6 and Sonnet 4.5 — with rules for type hints, error handling, design patterns, and code structure.

--ai--automation
using-an-ai-agent-for-zettelkasten-style-note-taking.md 4 min

Using an AI Agent for Zettelkasten-Style Note-Taking

An AI agent prompt that transforms raw input into atomic, Zettelkasten-style permanent notes inside Obsidian — with consistent structure, technical writing standards, and automatic link suggestions.

--ai--tooling
router# show logging | include ai
%BLOG-6-POST

The Pragmatic Engineer interviewed Mitchell Hashimoto about his new way of writing code. The bit that stuck with me: always have an agent running in the background. Don’t wait for it to finish — kick off a task, context-switch to something else, come back when it’s done. Treat agents like background jobs, not pair programmers.

It’s a subtle shift but it changes how you structure your work. You stop thinking sequentially and start thinking in parallel — like managing async workers instead of typing code yourself.

%BLOG-6-POST

Worth watching: The 5 Levels of AI Coding. A solid framework for thinking about where you actually sit on the AI-assisted development spectrum — from basic autocomplete all the way to fully autonomous agents. Honest about what each level demands from the engineer and where the real productivity gains (and risks) live.

Most of us are somewhere in the middle and kidding ourselves about it. Good gut check.

%BLOG-6-POST

Watched the Cisco Live 2026 Amsterdam opening keynote. Cisco is going full AI mode — no surprise there, but interesting to see how they’re positioning it across the portfolio. Will be following the rest of Cisco Live remotely to catch the technical sessions and see what’s actually substance vs. slide deck hype.

%BLOG-6-POST

Testing Claude Code’s new Agent Teams feature — spinning up multiple specialized agents that work in parallel. The tradeoff is clear: order of magnitude speed, order of magnitude risk of technical debt. But having multiple domain experts collaborating (instead of one generalist context-switching) does help catch things.

Already used it to build out this Astro blog. Next experiment: ChessKids — an AI-powered chess tutorial for my 6-year-old daughter. Teaching chess to kids feels like a good test case for agentic workflows: visual, structured rules, incremental difficulty.

%BLOG-6-POST

Migrated the blog from Ghost to a custom Astro site built entirely with Claude Code. Went with a Cisco CLI-inspired dark-mode design — syslog timestamps, IOS command prompts, terminal aesthetics. The goal was readability first while keeping the network engineering feel baked into the UI.

The whole process was surprisingly straightforward. Astro’s content collections handle MDX well, and having an LLM pair on layout and component decisions made it fast to iterate. Happy with where it landed.