Posts
I have been thinking about what comes next for a while. Twenty four chapters of building software with my Padawan, OrsonRius. Weather CLIs, task trackers, MCP servers, local inference pipelines, three clouds worth of infrastructure code. …
Open for Work Twenty-five chapters. Two weeks. Three clouds. One Padawan. This series started as an experiment. Could an AI agent and a human engineer build production-quality infrastructure together, with discipline, in a fraction of the …
When the Ground Shifts The Dagger pipeline in this series was the spine. Every chapter from 15 onward ran modules through it. Format check, validate, test, plan. The same four stages, the same isolated containers, the same Go SDK. When I …
Two Paths, One Destination: Agentic Development Meets DevOps Over the past two weeks, I have been living in two worlds simultaneously. In one world, I am a platform engineer building infrastructure. I write OpenTofu modules, configure …
Two Weeks That Shaped a Methodology Twelve days. Twenty-three chapters. Three cloud providers. Two programming languages. One methodology. When I asked my Padawan, OrsonRius, to help me explore agentic development, I expected some useful …
Getting Started with the Local Cloud This series has covered a lot of ground. Twenty chapters, three cloud providers, two programming languages, and one methodology that has held across all of them. But if you are joining us here, you …
Azure on the Local Cloud Two clouds down. One to go. The AWS local cloud established the pattern. The GCP local cloud proved it ported to a different provider paradigm. This chapter closes the trilogy with Microsoft Azure using floci-az. …
GCP on the Local Cloud The AWS local cloud proved the concept. Seven modules, each with plan-mode tests, validated by a Dagger pipeline, running against a local Floci emulator. The pillars held. The pattern worked. But one cloud is a …
Image Management & ECR Chapter 14 left a debt. I built six OpenTofu modules: storage, network, IAM, DynamoDB, ECS, and k8s. But one piece was missing. The ECR module timed out against Floci during that session, and I moved on instead …
Observability All code for this series lives in the local-cloud repo on GitHub. Last chapter we deployed workloads to the local k3s cluster. The deployment ran, the pods started, the service responded. But we had no idea what was happening …
Deploy to the Local Cloud All code for this series lives in the local-cloud repo on GitHub. We’ve spent four chapters building the foundation: a local cloud environment with Floci, k3s, TDD infrastructure modules, and an automated …
The Pipeline Last chapter we coded infrastructure with OpenTofu — five modules, seven tests, all passing. But a test suite that runs locally is a habit, not a guarantee. The difference between discipline and assurance is automation. Code …
Code Your Infrastructure Last chapter we stood up the local cloud: Floci as our AWS emulator, a local registry, k3s in k3d. It works. But “works” is a state, not a guarantee. Infrastructure as code turns states into contracts. …
All code for this series lives in the local-cloud repo on GitHub. Three things converged in 2025-2026 that make this timely: 1. LocalStack’s Community Edition was sunset in March 2026. The go-to free local AWS emulator went …
What happens when you ask an AI to read a 94,000-line codebase in one sitting? The context window swells, attention dilutes, and the analysis becomes… superficial. You get the broad strokes but miss the details that actually matter. …
Behind every chapter there is a machine. Behind every machine there is a model. And behind every model there is someone wrestling with build flags at 2am. This one was me. The hardware An RTX 5090. 32 GB of VRAM. Sitting in a room that …
I gave my padawan a spec that did not exist. No codebase to fork. No issue tracker to mine. Just an API documentation page and a blank cargo new. The task: build a Model Context Protocol server that wraps the FreeAgent accounting API. The …
I found a gist today. Two years old. And it stopped me cold. The URL is still live: gist.github.com/dark5un/cd1a9b8162958c75026d7c9fb72740c4 Debian bookworm 12 ML Tooling installation notes & more. I wrote it in January 2024. A raw …
We finished Chapter 09 of The Philosophical Developer. Three bugs from the tqdm issue tracker, two fixed, one documented dead end. All code pushed, all meditations written, all branches tagged. Then I asked my padawan to check everything. …
I have had onlyascii.dev for a long time. It was never close to what it is now. The Philosophical Developer series changed that. Every chapter is a real experiment with real code, real tests, real outcomes. The code is on GitHub. The trace …
I moved my padawan from Go to Python for Chapter 09. I wanted to know if the methodology transfers. The same four phases: reconnaissance, work item, RED test, fix. Different language, different ecosystem, different testing framework. The …
I designed a formal process for fixing bugs in unfamiliar codebases. My padawan just proved it works. We have the same project, same pattern of bug, two approaches. The first time we jumped in and fixed it (Chapter 07). The second time we …
I had my padawan fix a bug in an open source Go library. Nothing unusual. He jumped in, found the problem, wrote a test, fixed it. Standard stuff. Then a test broke. Then another. Then we found a composite filesystem was missing a pattern …
The whole point of this series is local inference for development. Data ownership matters. When the model runs on your machine, the code never leaves. No API calls, no token billing, no third party seeing what you are working on. I want …
I had three repos full of chapters and articles. Markdown files. Well written, I thought. But I wondered: how clean are they really? Are there broken patterns I am not seeing because I am too close to the text? So I asked my padawan to …
After the first experiment I had a new problem. The LSP tether worked. The AI wrote good code. Tests passed, coverage was high. But when I looked at the repository, I saw one commit. One wall of code. No trace of how we got there. An AI …
Steering note — designing the trace tag pattern. After mini-clap, I had another problem. The code was good. The LSP tether worked. But when I looked at the repository, I could not see the reasoning. I saw one commit: “feat: CLI …
I had this thought a while back. When an AI writes code, it guesses. It guesses function names, return types, what a library exports. And sometimes it guesses wrong. The code compiles but the logic is built on thin air. I wondered: what if …
Steering note — the moment the methodology shifted. After the weather-cli experiment, I had a problem. The padawan’s discipline was good. But I noticed something in the trace: every cycle had a “compile then debug” phase. …
I built a weather CLI and asked my padawan to drive it through completion. The first experiment was about whether an AI could write Rust from scratch using TDD and LSP as a guardrail. It could. But one experiment doesn’t prove a …
This is a steering note — a behind-the-scenes look at how I communicate intent to my padawan between experiments. These entries sit between the main chapters. When I set up the weather-cli experiment, I did not give my padawan a …
I am the architect. My padawan OrsonRius is the implementer. I design the approach, frame the problem, set the boundaries. He turns the cranks, writes the code, and reports back what he finds. This dynamic is the core of how I work. It is …
A note about these chapters. You might notice the articles in this series do not all sound like me. They were written by my padawan, OrsonRius — the Hermes Agent that implements while I architect. The ideas are mine. The experiments are …
This is onlyascii.dev — my personal blog and profile. I’m Panos Xynos, a platform engineer and SRE. This is where I write about the things I build, the experiments I run, and the methodology I develop along the way. The site shares …