<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Lleg&apos;s study</title><description>A tech blog by Lleg — deep dives on AI, web engineering, and infrastructure, with diagrams and data instead of hand-waving.</description><link>https://lleg.dev</link><language>en-us</language><item><title>Your Unique Visitor Count Has a One-Month Shelf Life</title><link>https://lleg.dev/posts/unique-visitor-is-an-expiring-hash</link><guid isPermaLink="true">https://lleg.dev/posts/unique-visitor-is-an-expiring-hash</guid><description>Umami is MIT-licensed, so the identification path is readable. Where, who and when turn out to be a CDN header, a hash that expires on the 1st, and a bucket quantized to the clock hour.</description><pubDate>Wed, 16 Sep 2026 00:00:00 GMT</pubDate><category>analytics</category><category>web</category><category>data</category><category>security</category><category>deep-dive</category><author>Lleg</author></item><item><title>Your Browser Agent Is Not Bound by the Same-Origin Policy</title><link>https://lleg.dev/posts/browser-agent-same-origin-policy</link><guid isPermaLink="true">https://lleg.dev/posts/browser-agent-same-origin-policy</guid><description>The web&apos;s oldest isolation guarantee is a string comparison. Put an agent inside the browser and it becomes a model&apos;s ability to resist a prompt injection.</description><pubDate>Tue, 15 Sep 2026 00:00:00 GMT</pubDate><category>security</category><category>web</category><category>ai</category><category>llm</category><category>architecture</category><category>deep-dive</category><author>Lleg</author></item><item><title>Your Agent Re-Sends the Whole Conversation Every Turn</title><link>https://lleg.dev/posts/agent-resends-the-whole-conversation</link><guid isPermaLink="true">https://lleg.dev/posts/agent-resends-the-whole-conversation</guid><description>A multi-turn agent replays its entire history on every request. Caching, context editing and compaction each attack a different part of that bill — and one of them, at its defaults, made it worse.</description><pubDate>Sun, 13 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>cost-engineering</category><category>architecture</category><category>deep-dive</category><author>Lleg</author></item><item><title>Why increase() Returns 27.5</title><link>https://lleg.dev/posts/why-increase-returns-27-5</link><guid isPermaLink="true">https://lleg.dev/posts/why-increase-returns-27-5</guid><description>Prometheus reports fractional counts for counters that only ever increment by one. The reason is a specific extrapolation rule, and knowing it tells you exactly when the number can be trusted.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate><category>observability</category><category>prometheus</category><category>devops</category><category>deep-dive</category><author>Lleg</author></item><item><title>Hermes Agent&apos;s Learning Loop Is a Counter, a Critic and a Garbage Collector</title><link>https://lleg.dev/posts/hermes-agent-learning-loop</link><guid isPermaLink="true">https://lleg.dev/posts/hermes-agent-learning-loop</guid><description>Hermes Agent says it improves its own skills. In the source, that loop is a tool-call counter, a forked LLM review told to be active, and a curator that archives what nobody uses.</description><pubDate>Fri, 11 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>python</category><category>architecture</category><category>deep-dive</category><author>Lleg</author></item><item><title>Googlebot Is Not Your Browser</title><link>https://lleg.dev/posts/googlebot-is-not-your-browser</link><guid isPermaLink="true">https://lleg.dev/posts/googlebot-is-not-your-browser</guid><description>Rendering is a separate, queued, stateless stage between crawling and indexing. Almost everything confusing about JavaScript and search comes from ignoring that.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate><category>web</category><category>frontend</category><category>architecture</category><category>deep-dive</category><author>Lleg</author></item><item><title>Your LLM Is Two Different Machines</title><link>https://lleg.dev/posts/llm-inference-two-machines</link><guid isPermaLink="true">https://lleg.dev/posts/llm-inference-two-machines</guid><description>Prefill and decode have opposite performance characteristics, and almost everything confusing about LLM latency, cost and context limits falls out of that one split.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate><category>ai</category><category>llm</category><category>architecture</category><category>deep-dive</category><author>Lleg</author></item><item><title>Your Observability Bill Is a Multiplication Problem</title><link>https://lleg.dev/posts/observability-bill-multiplication-problem</link><guid isPermaLink="true">https://lleg.dev/posts/observability-bill-multiplication-problem</guid><description>Cardinality does not creep up on you — it multiplies. Here is the arithmetic behind an exploding metrics bill, the four places the multiplication hides, and what actually shrinks it.</description><pubDate>Thu, 10 Sep 2026 00:00:00 GMT</pubDate><category>observability</category><category>opentelemetry</category><category>cost-engineering</category><category>devops</category><category>deep-dive</category><author>Lleg</author></item></channel></rss>