<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>lilhammer.fun</title>
    <description>Personal blog about technology and development</description>
    <link>https://lilhammer.fun</link>
    <language>zh-CN</language>
    <lastBuildDate>Fri, 07 Aug 2026 08:35:58 GMT</lastBuildDate>
    <atom:link href="https://lilhammer.fun/rss.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title><![CDATA[The Foundational Problem of Agent Identity]]></title>
      <link>https://lilhammer.fun/blog/agent-identity-problem/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/agent-identity-problem/</guid>
      <description><![CDATA[Agent identity is not just about giving agents accounts. The real problem is governing cross-domain composition paths created by one runtime control subject.]]></description>
      <pubDate>Wed, 24 Jun 2026 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>AI Agents</category>
      <category>Identity</category>
      <category>Security</category>
    </item>

    <item>
      <title><![CDATA[How Should a Protocol Library Handle I/O?]]></title>
      <link>https://lilhammer.fun/blog/how-should-a-protocol-library-handle-io/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/how-should-a-protocol-library-handle-io/</guid>
      <description><![CDATA[Starting from an SSH library design problem, this question dragged me through blocking, event loops, Pollable APIs, and Sans-IO. I ended up discovering two orthogonal dimensions I'd been conflating all along.]]></description>
      <pubDate>Wed, 08 Apr 2026 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Systems Programming</category>
      <category>IO</category>
      <category>Protocol Design</category>
    </item>

    <item>
      <title><![CDATA[A Key Burned into Silicon]]></title>
      <link>https://lilhammer.fun/blog/a-key-burned-into-silicon/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/a-key-burned-into-silicon/</guid>
      <description><![CDATA[A remote machine wants a decryption key to process encrypted data. Why should you trust it? The answer lives in a key fused into the CPU at the factory. This article walks through the entire TEE attestation flow, end to end.]]></description>
      <pubDate>Wed, 25 Mar 2026 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>TEE</category>
      <category>Attestation</category>
      <category>Confidential Computing</category>
      <category>Systems Programming</category>
    </item>

    <item>
      <title><![CDATA[The Wake-Up Call That Wasn't Mine]]></title>
      <link>https://lilhammer.fun/blog/the-wake-up-call-that-wasnt-mine/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/the-wake-up-call-that-wasnt-mine/</guid>
      <description><![CDATA[I used to think epoll was some kind of advanced polling. Then I understood how the ready list gets filled — and realized epoll isn't polling at all. It's just hitchhiking on someone else's wake-up call.]]></description>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Linux</category>
      <category>IO</category>
      <category>epoll</category>
      <category>Systems Programming</category>
    </item>

    <item>
      <title><![CDATA[From Bitmasks to Types: Zig's Quest for Bit-Level Order]]></title>
      <link>https://lilhammer.fun/blog/from-bitmasks-to-types-zig-rethinking-bits/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/from-bitmasks-to-types-zig-rethinking-bits/</guid>
      <description><![CDATA[While building a shell, a curious @bitCast in the Zig standard library led me down a rabbit hole involving C history, memory layouts, and the true cost of abstraction.]]></description>
      <pubDate>Fri, 06 Mar 2026 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Zig</category>
      <category>System Programming</category>
      <category>C</category>
    </item>

    <item>
      <title><![CDATA[Zig 0.15 IO Rewrite: What Changed and Why]]></title>
      <link>https://lilhammer.fun/blog/zig-015-io-rewrite/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/zig-015-io-rewrite/</guid>
      <description><![CDATA[Zig 0.15 completely rewrote its IO interface — from generic anytype to concrete types with built-in ring buffers. Here's what changed, why it matters, and what it means for your code.]]></description>
      <pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Zig</category>
      <category>IO</category>
      <category>Programming Languages</category>
    </item>

    <item>
      <title><![CDATA[Why My PR Carried Other People's Commits: A Git Detective Story]]></title>
      <link>https://lilhammer.fun/blog/why-my-pr-carried-other-peoples-commits/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/why-my-pr-carried-other-peoples-commits/</guid>
      <description><![CDATA[A deep dive into Git internals after a mysterious PR incident revealed the hidden mechanics of GitHub's merge strategies, fork syncing, and commit identity.]]></description>
      <pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Git</category>
      <category>GitHub</category>
      <category>Open Source</category>
    </item>

    <item>
      <title><![CDATA[That Strange Dot in Zig]]></title>
      <link>https://lilhammer.fun/blog/that-strange-dot-in-zig/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/that-strange-dot-in-zig/</guid>
      <description><![CDATA[The first time I saw .{"world"} in Zig, I stared at it for way too long. This is what I eventually figured out.]]></description>
      <pubDate>Thu, 12 Jun 2025 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Zig</category>
      <category>Programming Languages</category>
    </item>

    <item>
      <title><![CDATA[The Longest 44 Minutes]]></title>
      <link>https://lilhammer.fun/blog/the-longest-44-minutes/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/the-longest-44-minutes/</guid>
      <description><![CDATA[You use hash tables every day. You trust the O(1) promise. But in 2011, two researchers showed how that trust could be weaponized—and the fallout changed how we think about security by default.]]></description>
      <pubDate>Tue, 18 Mar 2025 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Security</category>
      <category>Data Structures</category>
      <category>Programming Languages</category>
    </item>

    <item>
      <title><![CDATA[Untangling Async, Event Loops, and Schedulers: A Journey from Confusion to Clarity]]></title>
      <link>https://lilhammer.fun/blog/untangling-async-event-loops-and-schedulers/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/untangling-async-event-loops-and-schedulers/</guid>
      <description><![CDATA[Async I/O, event loops, coroutines, schedulers—these terms haunted me for years. They appeared together so often that I assumed they were the same thing. They're not. Here's how I finally untangled them.]]></description>
      <pubDate>Sun, 15 Dec 2024 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Systems Programming</category>
      <category>Concurrency</category>
    </item>

    <item>
      <title><![CDATA[Wait, How Does a Program Even Run?]]></title>
      <link>https://lilhammer.fun/blog/how-programs-run/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/how-programs-run/</guid>
      <description><![CDATA[Stacks, heaps, and what actually happens when you run ./program.]]></description>
      <pubDate>Thu, 15 Aug 2024 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Systems</category>
      <category>Programming</category>
    </item>

    <item>
      <title><![CDATA[The Rise and Fall of ICOs: How Bancor's $153 Million Raise Became the Blueprint for a Revolution]]></title>
      <link>https://lilhammer.fun/blog/the-rise-and-fall-of-icos/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/the-rise-and-fall-of-icos/</guid>
      <description><![CDATA[When I first heard about Bancor raising $153 million in just three hours on June 12, 2017, I knew I was witnessing history. Not because of the amount—though it was staggering—but because of what it represented: the moment when smart contracts proved they could revolutionize fundraising forever. Today, I want to take you through the technical brilliance and human drama behind Initial Coin Offerings, using Bancor as our lens to understand how a few hundred lines of code changed venture capital forever.]]></description>
      <pubDate>Sun, 17 Sep 2023 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Blockchain</category>
    </item>

    <item>
      <title><![CDATA[There's No Magic in Tokio]]></title>
      <link>https://lilhammer.fun/blog/theres-no-magic-in-tokio/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/theres-no-magic-in-tokio/</guid>
      <description><![CDATA[.await is a function return. That's the entire mechanism. Seven steps, three layers — compiler, runtime, kernel — one round trip. Once you see it, every piece of async Rust makes immediate sense.]]></description>
      <pubDate>Mon, 20 Feb 2023 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Rust</category>
      <category>Tokio</category>
      <category>Async</category>
      <category>Systems Programming</category>
    </item>

    <item>
      <title><![CDATA[The Last Frontier of Web3: Decentralizing Human Capital]]></title>
      <link>https://lilhammer.fun/blog/the-last-frontier-of-web3-decentralizing-human-capital/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/the-last-frontier-of-web3-decentralizing-human-capital/</guid>
      <description><![CDATA[This is an exploration of a half-baked idea that won't leave me alone. It's probably naive, definitely incomplete, but I think there's something here worth thinking through.]]></description>
      <pubDate>Mon, 15 Nov 2021 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>BLOCKCHAIN</category>
      <category>EDUCATION</category>
    </item>

    <item>
      <title><![CDATA[Why I Built This Blog the Way I Did]]></title>
      <link>https://lilhammer.fun/blog/why-i-built-this-blog-the-way-i-did/</link>
      <guid isPermaLink="true">https://lilhammer.fun/blog/why-i-built-this-blog-the-way-i-did/</guid>
      <description><![CDATA[There's something deeply satisfying about a system where your words live as plain text files in a folder, tracked by Git like any other code.]]></description>
      <pubDate>Sat, 20 Mar 2021 00:00:00 GMT</pubDate>
      <author>Dylan</author>
      <category>Next.js</category>
      <category>Frontend</category>
    </item>
  </channel>
</rss>