When you automate backups, you eventually discover the backup was not the hard part. The hard part was everything around it. This week I got a nice little reminder from my self-hosted agent setup: the backup job can be logically correct, authenticated, scheduled, and still fail because of two very boring constraints: Docker-owned files are not always readable by the user running cron. GitHub Relea
Every week, another breathless headline declares software engineering dead. Another AI demo shows a chatbot building a full-stack app in 90 seconds. Another LinkedIn thought leader posts a funeral wreath emoji next to the words "traditional coding." And every week, I watch senior engineers at real companies quietly doing something that looks nothing like those demos. They're not typing code line b
Cuando una aplicación necesita leer un archivo, escribir en una conexión TCP o esperar datos de un disco, el kernel de Linux ofrece tradicionalmente dos caminos: bloquear el proceso hasta que la operación termine, o usar interfaces como epoll y Linux AIO para manejar múltiples operaciones concurrentes. Durante casi tres décadas, esas fueron las opciones dominantes. Pero desde la versión 5.1 del ke
When Google announced the Manifest V3 deadline, the developer community had a lot to say — most of it negative. The service worker model was rightly criticized as a regression for ad blockers and complex extensions. I've now migrated 18 extensions from MV2 to MV3, or built them MV3-native from the start. The commonly documented issues (no persistent background pages, limited webRequest) are real.
Something shifted in the last ninety days. While the headlines talk about 1.9% tech growth, those of us in the trenches are seeing a different reality: The floor has been hit. We are no longer in the "automation at all costs" era. We have entered the era of Human-Led Resilience. The Reality of 27-Second Breakouts In my day job in public safety communications, "uptime" isn't a KPI; it's a lif
The math isn't complicated. It's just that nobody runs it until they get the bill. An AI agent handling a 10-turn workflow — reading files, calling tools, revising output — doesn't cost 10x a single query. Because transformer inference processes the entire context on every call, cost compounds with each additional turn. The tenth turn carries everything that preceded it: the original file reads, e
So far, we’ve covered: why MCP exists what MCP is what tools are Now let’s answer a key question: When the model decides to use a tool… who actually runs it? An MCP server is: The component that exposes tools and executes them. An MCP server is not just your backend. It is: a layer on top of your backend designed specifically for LLM interaction It has three main responsibilities: It tells the sys
Lately, I’ve been reflecting on something: The question for most developers is no longer "Are you using AI?", but rather "How and why are you using AI?". I’ve noticed AI tooling becoming increasingly embedded in my daily workflow. At this time last year, my usage of AI was limited to code autocomplete suggestions in my IDE that I would manually validate. Now I am using coding assistants to help id