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
The cost incident that started this Three weeks after we put our chatbot into production, I opened the OpenAI billing dashboard on a Monday morning and stopped breathing for a second. One session — not one user, one session — had burned through roughly four times the daily budget for the entire app. Over a single afternoon. The session wasn't malicious. It was a test account someone forgot to lo
Most agency onboarding fails before the kickoff call happens. Not because the team isn't good. Not because the client is difficult. Because nobody collected the right context upfront, and the kickoff call becomes the place where everyone discovers what they don't know yet. The intake form is the fix. Not a 3-question "tell us about your project" form. A real one. Here's the framework we use — 27 q
Every few years the industry rediscovers that programming languages are not religions. Then we immediately behave like they are religions. Someone posts a benchmark. Someone else says memory safety. Someone says developer experience. A distributed systems person appears from under a bridge and whispers “Erlang solved this in 1998.” A startup founder announces they are rewriting their CRUD app in R
Just wrapped up the core setup for my e-commerce API (Impextech): Auth, Products, and Users. Everything is running on Node.js, Express, and TypeScript. Instead of just getting it to work, I spent this week focusing on security, keeping the code clean, and fixing some annoyances in my dev environment. Here’s a breakdown of what I built and a few "gotchas" I learned along the way. I split everythin