RSSAmplifier

Blog

LLBBL Blog

llbbl.blogRSS feed ↗25 posts

Latest posts

Markdown Is Not a Format, It's an Argument

I&rsquo;ve covered PNG and text files, and now it&rsquo;s time for Markdown, which can be thought of as a philosophy of formatting or a lifestyle of text documents more so than an actually well defined file format. It has structure, and it has specifications, plural, and nothing agrees. Here is three lines of Markdown run through five parsers: INPUT: '- outer\n - inner\n' Python-Markdown <ul>…

There Is No Such Thing as a Text File

Last time I took apart PNG, which opens with eight bytes whose entire job is to announce &ldquo;I am a PNG&rdquo;. A text file opens with nothing. No signature, no header, no length field, no version, no metadata. It is bytes, and then it stops. So this post is the opposite of the last one. Instead of walking a structure, we&rsquo;re going to look at what happens when there isn&rsquo;t one. POSIX…

How PNG Actually Stores Your Pixels

I&rsquo;m starting a series on file formats. Not &ldquo;here are the ten image formats you should know,&rdquo; but the actual bytes: what&rsquo;s in the file, in what order, and why someone decided it should be that way. Starting with PNG, because it&rsquo;s the format most developers touch every day and almost nobody has looked inside. I am likely to cover a few things that other explainer…

Deploying Hermes Agent With Ansible Without Creating a Snowflake

I have a home server with Plenty of RAM and no useful GPU, so running a local model was never the interesting part of deploying Hermes Agent . The interesting part was making the agent setup repeatable. I could have pasted a docker run command over SSH and called it finished. It would have worked. But &ldquo;it works&rdquo; and &ldquo;I can rebuild this server six months from now&rdquo; are two…

pnpm 11 Made the Safe Thing the Default

Protecting against supply chain attacks requires vigilance. You have to audit your dependencies. You have to pin your versions. You have to review your install scripts. All of these are great things to do, but they require sustained effort. pnpm 11 took the obvious thing and made it the default. They changed the waiting period. minimumReleaseAge defines the minimum number of minutes that must pass…

Onboarding a Second Engineer to an Agent-Heavy Repo

How do you onboard a new engineer to a project when most of what they need to know is not checked into the code at all? It&rsquo;s the agent configuration. It&rsquo;s the rules about commands, the conventions the agent applies automatically because it&rsquo;s stored in your memory. That isn&rsquo;t shared. I think we&rsquo;re still figuring out the answers to this. I&rsquo;m not sure that we…

Boring Is a Feature

What does boring look like in the age of AI? And I&rsquo;m not talking about uninteresting. I&rsquo;m talking about highly maintainable. JavaScript? I mean I guess models are good at it. Everybody knows it. It runs everywhere. The biggest problem with JavaScript is that TypeScript is better. Certainly it&rsquo;s better than picking a novelty language that you haven&rsquo;t built anything with…

The Best Automation Has a Manual Escape Hatch

Automation earns trust by being easy to override, not by being impossible to question. That sounds backwards. The pitch for automating something is usually that it removes the human, and a system you keep reaching into feels like a system that didn&rsquo;t finish the job. But the automation you actually trust, over years, is the one you know you can stop. Most automation that you set up is…

Cost and Latency Belong in the Score

Congratulations, the best model available passed your eval. That&rsquo;s not the question you should be answering. What other models could have achieved equivalent results? How much did it cost to run those other models? How long did it take for those other models to achieve equivalent results? All of these are the questions that you should be asking yourself. If the only thing you&rsquo;re…

Your Vibes Are Not an Agent Eval

Do you really know what you&rsquo;re doing? You swapped a model, you tuned an agentic workflow, you had the agent rewrite a chunk of a system prompt. You added a skill. Now the output feels sharper. Is that feeling a measurement? No, it&rsquo;s an impression. This is when the vibes start seeping into your agentic engineering world view. How Impressions Fail A subjective assessment isn&rsquo;t…

Start With Ten Tasks You Actually Do

Public benchmarks of large language models are a fine way to compare models in the abstract, but they&rsquo;re close to useless for answering questions about things that actually matter. Generally, it&rsquo;s helpful to know which model is the best in general at a specific benchmark, but it doesn&rsquo;t answer the question of which model is the best at that specific thing you ask it to do all day…

`updated_at` Is Not a Conflict-Resolution Strategy

In the last post we talked about the problems with a distributed system, and touched on the fact that timestamps are not as reliable as you think they are. If you have two updated_at fields and you compare them, how do you decide which side is the correct one? The updated_at field only tells you that a write happened. It doesn&rsquo;t tell you the meaning, or if it was intentional. Conflict…

The Moment You Add Sync, You Have a Distributed System

How do you keep two sets of data in sync? Like, by definition, you now have a distributed system. It could be something simple, syncing files or talking with a remote service somewhere. Maybe it&rsquo;s not a lot of code. Initially, it might not feel like a distributed system, because there&rsquo;s no cluster or consensus protocol. There&rsquo;s no leader election system. You have multiple leaders…

Your Local File Should Not Have to Argue With Your Database

Sync bugs usually all start the same way. Two copies of something, both of them mostly right, and no written rule about which one wins. The problems occur when you don&rsquo;t notice The bug. When the file says one thing and the database says another. It&rsquo;s not a problem until it is. And then you have to spend time figuring the why and when&rsquo;s of the drift. So let&rsquo;s talk about…

The Decision Log: A Lightweight Artifact for Agentic Coding

Coding agents are remarkably good at reopening decisions you already made. Imagine a content pipeline where posts live as local Markdown files and a database holds the scheduling metadata. You open a fresh session. Which one does the agent think is authoritative? It has to guess. And the database looks like the better answer, because databases usually are. So it proposes the obvious cleanup: make…

Run Your Whole Agent Stack on a $5 Box

I SSH&rsquo;d into my home server this afternoon and ran docker stats on the memory layer that every one of my coding agent sessions talks to. Here&rsquo;s what came back: mem0-qdrant 28.09MiB / 60.75GiB 2.13% mem0-neo4j 612.7MiB / 60.75GiB 0.77% 640 megabytes. Vector store and graph store, both up for three weeks straight, serving every remember and recall call my agents make. The entire…

If I Worked at Apple Again, I'd Build iApps

I worked as a contractor at Apple more than a decade ago. The specific work doesn&rsquo;t matter, but if I walked back through the doors today, I know what I&rsquo;d pitch. Call them iApps , just as a thought experiment. An iApp would be a small interactive tool generated for one specific problem. You ask Apple Intelligence for help, it gives you the research, and when the answer needs a…

Your Agent Needs a Dollar Limit, Not a Token Budget

If you let an autonomous coding agent run in an unbounded loop, I have bad news for you, or rather, your wallet. It happens easily. An agent gets handed a task, runs into an unhandled error or a failing test, and gets stuck in a retry loop. It re-reads the same files, attempts the same broken patch, and streams tokens the whole time while nobody is watching. We solved this problem in cloud…

How I Would Build Observability for an Autonomous Agent

I have not built a full production observability stack for an autonomous agent. I&rsquo;ve built lots of small wrappers around existing coding harnesses. I have a pretty good idea how quickly their output can turn into a wall of model responses, tool calls, and subprocess logs. But I have not run LangChain across a Kubernetes cluster or operated an LLM router at scale. So this is not a postmortem.…

Your Justfile Is Your Repo's API

Ask your agent to run the tests in a repo it has never seen before and watch what happens. It&rsquo;s gonna load so many things into the context to try to figure it out, digging through the repo to find the right command and what framework you&rsquo;re using. What if you could standardize on a way to run the tests no matter the language or the framework? just test It&rsquo;s a statement.…

The Human Job Is Choosing What Not to Build

Coding agents have made one word much harder to say. No. You describe a feature, and the agent can already see the model, the migration, the command, the tests, and the docs it needs to touch. The whole thing sounds like an afternoon instead of a week. So why not build it? That question used to contain its own answer. We didn&rsquo;t have the time or the people, and the feature wasn&rsquo;t worth…

When I Use a Subagent and When I Don't

Give a good harness access to subagents and everything starts looking like a team project. You&rsquo;ve got one agent working with the database layer. Another can research the API. Another can write the tests. Another can check the work. Another can manage moving the data. As work starts happening in parallel, colored dots appear, and the whole thing starts looking like an org chart. That sounds…

Where Should This Agent Knowledge Live?

Every agent has a junk drawer. It usually starts with project instructions. Then I added build commands, personal preferences, database warnings, old architecture decisions, and things to fix later. The agent could see everything if I wanted it to, but then it would have to read a small novel before touching the code, recurring workflows were buried between random facts, and completed work kept…

Not Every Agent Task Needs an Issue

I&rsquo;ve written before that your AI agent needs a task manager , and I stand by it. Chat history is not project state. Context windows compact. Sessions end. If the work matters tomorrow, it needs to live somewhere tomorrow&rsquo;s agent can find it. The part I didn&rsquo;t mention: not every task matters tomorrow. Some work should disappear with the session. Turning all of it into durable…

Tests Are Evidence, Not a Definition of Done

I&rsquo;ve watched thousands of tests run over the years. When they pass it has felt good. A huge screen of green checks in the terminal is incredibly rewarding as a software developer. But the work is never finished. The tests are always valuable. They are evidence, but they were never the definition of done. Tests Prove the Claims We Give Them I&rsquo;ve written before that testing is how we…