<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Nhật ký dev</title><description>After-hours notes on AI, engineering, and the developer craft.</description><link>https://duthaho.dev/</link><language>en-us</language><item><title>We picked Redis Streams over Kafka: and what the docs don&apos;t tell you upfront</title><link>https://duthaho.dev/redis-streams-over-kafka/</link><guid isPermaLink="true">https://duthaho.dev/redis-streams-over-kafka/</guid><description>Two services needed to talk to each other, and the team&apos;s first reflex was &quot;just stand up Kafka, do it properly.&quot; But we had no Kafka, nobody had ever run it, and Redis was already in the stack. This is the story of choosing Redis Streams in the spirit of YAGNI — and an honest accounting of the costs the marketing docs never mention: everything lives in RAM, eviction wipes whole streams, failover can eat acked writes, and the day I knew we&apos;d have to go back to Kafka.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>A rate limiter isn&apos;t an algorithm-picking problem: an interview that just kept digging deeper</title><link>https://duthaho.dev/designing-a-rate-limiter/</link><guid isPermaLink="true">https://duthaho.dev/designing-a-rate-limiter/</guid><description>I walked into an architect interview and got asked to &quot;design a rate limiter.&quot; I started reciting algorithm names — and realized the interviewer didn&apos;t care which one I picked. Every answer only opened a deeper question: with twenty servers, where does the count live; whose clock do you trust; if Redis dies, do you let requests through or block them; and finally — is rate limiting even the whole story. The algorithm is the ten-minute answer; the rest of it was the interview.</description><pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Redis never gives you anything for free: the hidden price behind every layer of cache</title><link>https://duthaho.dev/caching-is-never-free/</link><guid isPermaLink="true">https://duthaho.dev/caching-is-never-free/</guid><description>When I started out, caching meant one thing to me: &quot;API slow? Throw Redis at it.&quot; Cramming for an architect interview, I finally saw what that &quot;throw it in&quot; really dragged along — invalidation, three distinct ways to crush a database, cache–DB consistency — and that it was really the Dual Write Problem wearing a disguise. Caching is never free; every layer of cache is a line of debt against consistency.</description><pubDate>Wed, 01 Jul 2026 00:00:00 GMT</pubDate></item><item><title>From monolith to idempotency:: one thread, not six flashcards</title><link>https://duthaho.dev/from-monolith-to-idempotency/</link><guid isPermaLink="true">https://duthaho.dev/from-monolith-to-idempotency/</guid><description>Prepping for an architect interview, I realized leveling up isn&apos;t about writing better code — it&apos;s about seeing the whole system. Six topics I&apos;d once memorized by rote — microservices, 2PC, Saga, CAP, Outbox, idempotency — turned out to be a single causal thread: each solution births the next problem.</description><pubDate>Tue, 30 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Two workers: inside the AI machine</title><link>https://duthaho.dev/ai-inference-engineering/</link><guid isPermaLink="true">https://duthaho.dev/ai-inference-engineering/</guid><description>Every time an AI answers, two workers with opposite temperaments take turns at the bench — and nearly every trick for speeding up inference is born from the tension between them. A trip inside the reasoning machine: prefill, decode, KV cache, batching, quantization, and why the day eventually comes to run your own servers.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Nine questions I now always ask: when I go into an interview</title><link>https://duthaho.dev/questions-i-ask-in-interviews/</link><guid isPermaLink="true">https://duthaho.dev/questions-i-ask-in-interviews/</guid><description>A piece by Louise Deason on nine questions worth turning back on your interviewer — not to impress them, but to know what you&apos;re about to walk into. Reading it, I realized that for years of interviewing I&apos;d been sitting on the wrong side of the table.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Code in large codebases: how it works and where to start</title><link>https://duthaho.dev/claude-code-large-codebases/</link><guid isPermaLink="true">https://duthaho.dev/claude-code-large-codebases/</guid><description>Claude Code operates in multi-million-line monorepos using agentic search instead of an index. This post sums up how it works, the harness layers you need to build to scale it, and a concrete roadmap for where to start in a large codebase.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Stop prompting the agent: design the loop that prompts it</title><link>https://duthaho.dev/loop-engineering/</link><guid isPermaLink="true">https://duthaho.dev/loop-engineering/</guid><description>One sentence from Peter Steinberger hit 2.2 million views and had the whole dev crowd arguing for a week. After I read it, I realized I was still stuck in the &quot;chat&quot; era — and the real cost isn&apos;t measured in tokens.</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Most of my notes died in a folder: and I spent two years fixing the wrong problem</title><link>https://duthaho.dev/notes-that-get-used/</link><guid isPermaLink="true">https://duthaho.dev/notes-that-get-used/</guid><description>I read a guide on building an Obsidian system designed from the opposite end: optimized not for the moment you save, but for the moment you use. By the time I finished it, I understood why my vault of several hundred notes had never given anything back.</description><pubDate>Fri, 29 May 2026 00:00:00 GMT</pubDate></item><item><title>What I&apos;ve learned after 5 years as an engineer: written while a little tipsy</title><link>https://duthaho.dev/things-ive-learned/</link><guid isPermaLink="true">https://duthaho.dev/things-ive-learned/</guid><description>I read an old Reddit post — a drunk data engineer being honest about ten years on the job. It was good enough that I had to sit down and rewrite it from my own angle. Not a summary, not a translation — a real reaction, from someone drinking a beer alone and agreeing with about 80% of what he said.</description><pubDate>Tue, 05 May 2026 00:00:00 GMT</pubDate></item><item><title>Prompt engineering isn&apos;t as hard as you think: and not as easy as people say</title><link>https://duthaho.dev/effective-prompt-engineering/</link><guid isPermaLink="true">https://duthaho.dev/effective-prompt-engineering/</guid><description>There are hundreds of articles about prompt engineering. Most of them re-explain the same concepts: zero-shot, few-shot, chain-of-thought. This one doesn&apos;t try to explain them differently — it says plainly why most of that advice doesn&apos;t survive contact with production, and what actually matters when you&apos;re not doing a demo but building the real thing.</description><pubDate>Fri, 01 May 2026 00:00:00 GMT</pubDate></item><item><title>I read Claude Code&apos;s leaked source: and realized I&apos;d been building agents wrong from the start</title><link>https://duthaho.dev/agentic-patterns/</link><guid isPermaLink="true">https://duthaho.dev/agentic-patterns/</guid><description>When Claude Code leaked, everyone paid attention to the drama around the leak. I paid attention to the harness. Reading it closely, I realized I was looking at a real production agentic system run at serious scale — and almost everything I&apos;d built up to that point was missing important pieces.</description><pubDate>Sat, 25 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Karpathy just described the exact thing I failed to build: and why I&apos;m going to try again</title><link>https://duthaho.dev/llm-wiki/</link><guid isPermaLink="true">https://duthaho.dev/llm-wiki/</guid><description>Andrej Karpathy just posted a gist about a pattern for building a personal knowledge base with an LLM. After reading it I sat still for a while — not because the idea was new, but because he put the right name on a problem I&apos;d been fumbling with without knowing what to call it.</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Claude doesn&apos;t count messages —: it counts tokens. And I&apos;d been getting it wrong from the start.</title><link>https://duthaho.dev/claude-token-habits/</link><guid isPermaLink="true">https://duthaho.dev/claude-token-habits/</guid><description>A thread on X from @0x_kaize about 10 habits that stop you from hitting the limit mid-session. Reading it, I realized I&apos;d been wasting tokens in at least three different ways — every single day, without ever noticing.</description><pubDate>Wed, 15 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Two hidden lines of code made Claude Code burn 4x the tokens: — and the ending nobody saw coming</title><link>https://duthaho.dev/claude-code-token-drain/</link><guid isPermaLink="true">https://duthaho.dev/claude-code-token-drain/</guid><description>A Reddit user reverse-engineered Claude Code&apos;s minified source, found a caching bug that drained tokens overnight, and patched it in exactly two lines.</description><pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate></item><item><title>AI isn&apos;t magic —: but someone is working hard to make you forget that</title><link>https://duthaho.dev/ai-hype/</link><guid isPermaLink="true">https://duthaho.dev/ai-hype/</guid><description>I read a fairly heavy-handed piece about AI hype — agreed with parts, disagreed with others. Here&apos;s my take, written from the seat of someone building real products with real AI.</description><pubDate>Wed, 01 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Claude doesn&apos;t know what it&apos;s thinking: and that&apos;s more worrying than you&apos;d guess</title><link>https://duthaho.dev/claude-interpretability/</link><guid isPermaLink="true">https://duthaho.dev/claude-interpretability/</guid><description>Anthropic just published a run of research on how Claude actually works on the inside. Not how it describes itself. How it actually operates.</description><pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Ordinary RAG is lying to you: and you haven&apos;t noticed yet</title><link>https://duthaho.dev/agentic-rag/</link><guid isPermaLink="true">https://duthaho.dev/agentic-rag/</guid><description>After a stretch of building an internal chatbot with RAG, I realized I&apos;d misunderstood the core problem from the very start.</description><pubDate>Wed, 18 Mar 2026 00:00:00 GMT</pubDate></item><item><title>I&apos;d been using AI wrong: for the better part of a year</title><link>https://duthaho.dev/using-ai-wrong/</link><guid isPermaLink="true">https://duthaho.dev/using-ai-wrong/</guid><description>I read a post by an engineer over in the US and felt a jolt of recognition — I was walking straight into the exact trap they described.</description><pubDate>Tue, 10 Mar 2026 00:00:00 GMT</pubDate></item></channel></rss>