<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Ramazan Yavuz: Articles</title>
  <subtitle>Long-form writing on local LLMs, retrieval, Linux tools, AI agents, and the engineering behind each.</subtitle>
  <link href="https://ramazan-yavuz.tr/articles.html" />
  <link rel="self" href="https://ramazan-yavuz.tr/feed.xml" />
  <id>https://ramazan-yavuz.tr/</id>
  <updated>2026-06-25T10:00:00+02:00</updated>
  <author><name>Ramazan Yavuz</name><uri>https://ramazan-yavuz.tr/</uri></author>
  <entry>
    <title>The Token Meter: Why AI Agents Are Rewarded for Wasting Tokens</title>
    <link href="https://ramazan-yavuz.tr/articles/the-token-meter-why-ai-agents-are-paid-to-waste-your-tokens.html" />
    <id>https://ramazan-yavuz.tr/articles/the-token-meter-why-ai-agents-are-paid-to-waste-your-tokens.html</id>
    <updated>2026-06-25T10:00:00+02:00</updated>
    <published>2026-06-25T10:00:00+02:00</published>
    <summary>Coding agents are billed by the token, output costs five times more than input, and the training rewards length. Whether or not anyone planned it, the incentives point one way: more output. A look at the numbers, with the math laid out so you can redo it.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Two Agents, One Channel: Building agent-doublethink</title>
    <link href="https://ramazan-yavuz.tr/articles/agent-doublethink-two-agents-one-channel.html" />
    <id>https://ramazan-yavuz.tr/articles/agent-doublethink-two-agents-one-channel.html</id>
    <updated>2026-06-20T18:00:00+02:00</updated>
    <published>2026-06-20T18:00:00+02:00</published>
    <summary>How I built agent-doublethink, an agent-agnostic MCP server that lets two coding agents on two machines coordinate over an end-to-end-encrypted channel: the design, the assumption I got wrong, and the bugs only a live test could catch.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>doublethink, Told in Commits: How the Broker Got Built</title>
    <link href="https://ramazan-yavuz.tr/articles/doublethink-a-broker-told-in-commits.html" />
    <id>https://ramazan-yavuz.tr/articles/doublethink-a-broker-told-in-commits.html</id>
    <updated>2026-06-19T14:00:00+02:00</updated>
    <published>2026-06-19T14:00:00+02:00</published>
    <summary>The development of doublethink read straight from its git history: the first commit, the milestones, the over-engineered keypair design I deleted, the Redis swap, going public, and a live demo you can run in your browser.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>The Web Revival: the Internet Didn't Die, I Just Wasn't On It</title>
    <link href="https://ramazan-yavuz.tr/articles/web-revival-the-internet-didnt-die.html" />
    <id>https://ramazan-yavuz.tr/articles/web-revival-the-internet-didnt-die.html</id>
    <updated>2026-06-19T10:00:00+02:00</updated>
    <published>2026-06-19T10:00:00+02:00</published>
    <summary>A video sent me down a rabbit hole into the web revival: thousands of hand-made personal sites, the XXIIVV webring, the Merveilles community, and a quieter, more intentional internet that has been growing since 2016.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>doublethink: ntfy You Can Trust With Private Data</title>
    <link href="https://ramazan-yavuz.tr/articles/doublethink-ntfy-you-can-trust-with-private-data.html" />
    <id>https://ramazan-yavuz.tr/articles/doublethink-ntfy-you-can-trust-with-private-data.html</id>
    <updated>2026-06-17T20:30:00+02:00</updated>
    <published>2026-06-17T20:30:00+02:00</published>
    <summary>Why I built doublethink: a pub/sub broker as easy to stand up as ntfy, but with genuinely private, end-to-end-encrypted channels. The stepping stones, the over-engineered dead end I threw away, and how I use it to debug Android APKs and wire tools and agents together.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Making Claude Code Talk Back</title>
    <link href="https://ramazan-yavuz.tr/articles/claude-can-speak-making-claude-code-talk-back.html" />
    <id>https://ramazan-yavuz.tr/articles/claude-can-speak-making-claude-code-talk-back.html</id>
    <updated>2026-06-04T20:00:00+03:00</updated>
    <published>2026-06-04T20:00:00+03:00</published>
    <summary>How I built claude-can-speak: speech-out for Claude Code. A concept-to-release story, including the TTS engine bake-off (Kokoro vs Piper vs XTTS), why I dropped multilingual for naturalness, the two-modes design, and shipping it on npm.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Substance over polish: a guide to the DACH Lebenslauf</title>
    <link href="https://ramazan-yavuz.tr/articles/cv-that-actually-works-in-dach.html" />
    <id>https://ramazan-yavuz.tr/articles/cv-that-actually-works-in-dach.html</id>
    <updated>2026-05-11T10:00:00+02:00</updated>
    <published>2026-05-11T10:00:00+02:00</published>
    <summary>What a Lebenslauf in the DACH market really gets judged on in 2026, for both salaried applicants (Bewerbungsmappe with Anschreiben and Arbeitszeugnisse) and freelance contractors (Projektliste-led Profil). Covers scanning, typography, cognitive load, ATS and AI matching, anti-patterns, plus a downloadable template. Substance over polish.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Retrieval-Augmented Generation: What RAG Is and How It Actually Works</title>
    <link href="https://ramazan-yavuz.tr/articles/retrieval-augmented-generation-how-rag-works.html" />
    <id>https://ramazan-yavuz.tr/articles/retrieval-augmented-generation-how-rag-works.html</id>
    <updated>2026-05-03T11:00:00+02:00</updated>
    <published>2026-05-03T11:00:00+02:00</published>
    <summary>A clear, in-depth introduction to retrieval-augmented generation (RAG): how it differs from plain LLM inference, how embeddings, vector search, and prompt assembly fit together, and how a local stack like hydra-llm puts the whole loop on your own machine.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>lillycoder: A Local-First Coder REPL With Permission Gates</title>
    <link href="https://ramazan-yavuz.tr/articles/lillycoder-a-local-coder-repl-with-permission-gates.html" />
    <id>https://ramazan-yavuz.tr/articles/lillycoder-a-local-coder-repl-with-permission-gates.html</id>
    <updated>2026-04-19T10:00:00+02:00</updated>
    <published>2026-04-19T10:00:00+02:00</published>
    <summary>How lillycoder turns any local LLM into a coding agent: file and shell tools, a per-tool permission prompt, a hard-deny safety classifier, and an OpenAI-compatible /v1 endpoint as the only thing it talks to.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>LLM Quantization Explained: What Q4_K_M, Q5_K_S, and IQ3_XXS Actually Mean</title>
    <link href="https://ramazan-yavuz.tr/articles/quantization-what-the-numbers-mean.html" />
    <id>https://ramazan-yavuz.tr/articles/quantization-what-the-numbers-mean.html</id>
    <updated>2026-04-04T14:30:00+02:00</updated>
    <published>2026-04-04T14:30:00+02:00</published>
    <summary>A practical guide to LLM quantization: what the numbers and letters mean (Q4_K_M, Q5_K_S, IQ3_XXS, F16), how to pick a quantization for your hardware, and what trade-offs you are actually making.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Why Clauding Was Built: Enabling Real Workflows for AI Agents Without Compromising Control</title>
    <link href="https://ramazan-yavuz.tr/articles/clauding-enabling-real-workflows-for-ai-agents-without-compromising-control.html" />
    <id>https://ramazan-yavuz.tr/articles/clauding-enabling-real-workflows-for-ai-agents-without-compromising-control.html</id>
    <updated>2026-03-21T19:33:00+02:00</updated>
    <published>2026-03-21T19:33:00+02:00</published>
    <summary>How Clauding solves the gap between what AI agents can do and what they can safely be allowed to do, by isolating execution inside containers.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>How a Stubborn AI Agent Led Me to Redesign How APIs Talk to Machines</title>
    <link href="https://ramazan-yavuz.tr/articles/tekir-how-a-stubborn-ai-agent-led-me-to-redesign-how-apis-talk-to-machines.html" />
    <id>https://ramazan-yavuz.tr/articles/tekir-how-a-stubborn-ai-agent-led-me-to-redesign-how-apis-talk-to-machines.html</id>
    <updated>2026-03-08T08:45:00+02:00</updated>
    <published>2026-03-08T08:45:00+02:00</published>
    <summary>The story behind TEKIR: how a misbehaving AI agent exposed a fundamental gap in API design and led to an open standard for agent-friendly HTTP responses.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>The ThinkPad That Changed My Mind About Local LLMs</title>
    <link href="https://ramazan-yavuz.tr/articles/thinkpad-strix-halo-the-laptop-that-changed-my-mind.html" />
    <id>https://ramazan-yavuz.tr/articles/thinkpad-strix-halo-the-laptop-that-changed-my-mind.html</id>
    <updated>2026-02-28T17:20:00+02:00</updated>
    <published>2026-02-28T17:20:00+02:00</published>
    <summary>A review of a Strix Halo ThinkPad with unified memory, written from the perspective of someone who used to think local LLMs needed a discrete GPU. They don't, and the laptop costs less than I expected.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>A Quote at the Top of Every Terminal</title>
    <link href="https://ramazan-yavuz.tr/articles/herald-a-quote-at-the-top-of-every-terminal.html" />
    <id>https://ramazan-yavuz.tr/articles/herald-a-quote-at-the-top-of-every-terminal.html</id>
    <updated>2026-02-15T13:55:00+02:00</updated>
    <published>2026-02-15T13:55:00+02:00</published>
    <summary>Notes on herald: a small Linux daemon that prints a daily quote at the top of every new terminal and at login. Cache, fallback pool, and the boring decisions that make it pleasant to live with.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>An Emoji That Gossips About Your Machine</title>
    <link href="https://ramazan-yavuz.tr/articles/meowtrics-an-emoji-that-gossips-about-your-machine.html" />
    <id>https://ramazan-yavuz.tr/articles/meowtrics-an-emoji-that-gossips-about-your-machine.html</id>
    <updated>2026-02-07T22:08:00+02:00</updated>
    <published>2026-02-07T22:08:00+02:00</published>
    <summary>Notes on meowtrics: a tiny Linux tray daemon that turns system telemetry into an animated emoji and a hover-line, with a debounced state machine doing the unglamorous work.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Parking a Laptop Battery Properly</title>
    <link href="https://ramazan-yavuz.tr/articles/inhibit-charge-parking-a-laptop-battery-properly.html" />
    <id>https://ramazan-yavuz.tr/articles/inhibit-charge-parking-a-laptop-battery-properly.html</id>
    <updated>2026-01-25T15:30:00+02:00</updated>
    <published>2026-01-25T15:30:00+02:00</published>
    <summary>Notes on inhibit-charge: a small Linux daemon that uses the kernel's inhibit-charge mode to hold a laptop battery at a target percentage instead of cycling it.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Running Local LLMs Without the Rituals</title>
    <link href="https://ramazan-yavuz.tr/articles/hydra-llm-running-local-llms-without-the-rituals.html" />
    <id>https://ramazan-yavuz.tr/articles/hydra-llm-running-local-llms-without-the-rituals.html</id>
    <updated>2026-01-11T09:15:00+02:00</updated>
    <published>2026-01-11T09:15:00+02:00</published>
    <summary>Notes on hydra-llm: a small CLI and Plasma widget that wraps llama.cpp in Docker, picks a model that fits your machine, and stays out of the way.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
  <entry>
    <title>Text Adventures with an AI Parser</title>
    <link href="https://ramazan-yavuz.tr/articles/baseline-engine-text-adventures-with-an-ai-parser.html" />
    <id>https://ramazan-yavuz.tr/articles/baseline-engine-text-adventures-with-an-ai-parser.html</id>
    <updated>2026-01-03T11:42:00+02:00</updated>
    <published>2026-01-03T11:42:00+02:00</published>
    <summary>Notes on baseline-engine: an interactive fiction engine that uses LLMs to map free-form player input to structured story intents, with a node-based editor and a player-driven correction loop.</summary>
    <author><name>Ramazan Yavuz</name></author>
  </entry>
</feed>
