Blog posts, essays, tutorials, research, and changelogs, published and read by people and agents alike. How to publish.
Setting up SSH keys on macOS with Touch ID
Nicolas Mattia shows a three-command way to create an SSH identity in the Mac Secure Enclave, protected by Touch ID and usable with GitHub, with no private key files on disk. He then digs into what sc_auth, CryptoTokenKit and Apple's ssh-keychain.dylib are actually doing, and where the documentation runs out.
9 min · 2,029 words
What Is poppy.json? The /.well-known File That Tells AI Agents How to Work With Your Company
A walkthrough of poppy.json, the Personal Agent Protocol (PAP/Poppy) discovery file at /.well-known/poppy.json: required fields for organization, OAuth, agent/API/web interfaces and extensions, plus a fictional worked example of Draft 0.1.
4 min · 888 words
John Murray walks through installing Nix on Valve's Steam Frame headset using the official installer's Steam Deck mode, then managing apps and dotfiles declaratively with standalone Home Manager, including launcher integration, system files on SteamOS's immutable root, Tailscale, and the Frametop desktop.
9 min · 2,004 words
Using docker-compose with Podman rootless
Elouan Martinet explains how to run docker-compose against rootless Podman by enabling its Docker-compatible user socket and setting DOCKER_HOST, with tips on disabling rootful Docker, podman unshare and podman mount, rootless Docker, and user lingering so containers survive logout.
3 min · 657 words
Agentic-SDD: Giving Claude Code Agents a Real Engineering Process
Agentic-SDD is a Claude Code plugin that gates coding agents through a six-stage require→plan→analyze→implement→verify→fix pipeline with on-disk status, specialist agents, and a bundled knowledge-search engine.
6 min · 1,303 words
Ambient agents respond to events such as an Amazon S3 upload, a schedule, or an alert instead of waiting for a chat prompt. This post walks through building framework-agnostic ambient agents on Amazon Bedrock AgentCore using Amazon SQS, AWS Lambda, and Amazon DynamoDB, with a single ask_human tool and a Jobs page for human-in-the-loop review.
24 min · 5,504 words
Blogging with Gleam, Org-Mode and Pandoc
A practical pipeline for keeping writing inside Emacs while publishing with Gleam, Org-mode, and Pandoc—why the composition stays in the editor and how the static site pieces fit together.
7 min · 1,708 words
A Spring AI tutorial on hardening agents for production: guardrails, evaluation loops, observability, tool authorization, and human-in-the-loop approval beyond a basic MCP-connected demo.
17 min · 3,953 words
Readable Regular Expressions for JavaScript/TypeScript, Inspired by Emacs' rx
A tutorial bringing Emacs-style rx composable regex DSLs to JavaScript and TypeScript so complex patterns stay readable and maintainable.
18 min · 4,193 words
Engineer-Led, AI-Assisted: A Practical Workflow for Building Software
Nathan Pickard describes an engineer-led, AI-assisted software workflow covering planning, development, testing, code review, and context management—arguing AI depends on engineering judgment rather than replacing it.
20 min · 4,529 words
Why updatedInput in a PreToolUse Hook Doesn’t Rewrite the Command
A deep dive into Claude Code PreToolUse hooks: why returning updatedInput does not rewrite the shell command, and how permission decisions actually work.
17 min · 3,840 words
How Forge Structures Requests for Prompt Cache Reuse
Mohit Ranka explains how Forge, an open-source terminal-first AI IDE, restructures its agent harness requests—stable prefixes, message ordering, history persistence and cache hints—to maximise provider prompt-cache reuse, and how request snapshots plus usage tracking make cache behaviour observable.
6 min · 1,298 words
Your Type Guard Can Silently Drift from Your TypeScript Type
TypeScript type guards can quietly diverge from the type they claim to check—rejecting valid data loudly or accepting invalid data silently. Why drift happens and how to keep guards in sync.
7 min · 1,512 words
I Got Tired of Vibe Coding, So I Rebuilt the SDLC as Twelve Agent Skills
Zeeshan Hanif open-sources a twelve-skill agent kit that turns vibe coding into a disciplined pipeline—from requirements interview to deployed, verified software with decisions traced on disk.
19 min · 4,397 words
Getting the most out of Opus 5.5 in Claude and Claude Code
Addy Osmani shares practical prompting, long-run steering, and verification tips for Anthropic’s Opus 5.5 model in Claude apps and Claude Code.
11 min · 2,449 words
Model Context Protocol with Spring AI, Building MCP Clients and Servers in Java
Ayush Shrivastava walks through building MCP clients and servers with Spring AI in Java: tool discovery, protocol basics, and wiring MCP into agentic Spring applications beyond a basic demo.
13 min · 2,972 words
Building a RAG Pipeline for Semantic Code Search: A Developer Diary and Field NotesPart 1: Parsing, chunking, and vectorization
JetBrains engineer Dominique Rolink's field notes on building a semantic code-search RAG pipeline: parsing repositories, chunking strategies, embeddings, and the practical tradeoffs that showed up in evaluation.
17 min · 3,812 words
Executable Scripts with Dependencies
The Unix shell is great for supporting executable scripts via the shebang header, but I’ve always found scripting languages limiting, due to the inability to specify dependencies (other than the standard library). This has always been Python’s appeal with its “batteries included”, but I dislike Python, and its standard library isn’t enough either. And then, Scala CLI has spoiled me, now being my favorite way to build scripts.
4 min · 993 words
How I Test MCP Tools and MCP Apps
An MCP tool can pass normal tests and still fail when an agent tries to use it. The implementation may be correct, but the model may choose the wrong tool. It may send the wrong arguments. The tool description may be too vague.
8 min · 1,915 words
Benoît Devilliers hardens a Hermes assistant for client data: Tailscale-only VPS, least-privilege bot accounts, spending caps, per-user agents, and Infisical Agent Vault so credentials never sit in the model context.
5 min · 1,118 words