<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>weichengyi.com</title>
    <link>https://weichengyi.com/</link>
    <description>Notes on systems programming.</description>
    <language>en</language>
    <lastBuildDate>Sat, 12 Sep 2026 06:18:32 +0000</lastBuildDate>
    <atom:link href="https://weichengyi.com/feed.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>Monomorphisation is why your binary is big</title>
      <link>https://weichengyi.com/posts/monomorphisation-is-why-your-binary-is-big.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/monomorphisation-is-why-your-binary-is-big.html</guid>
      <pubDate>Sun, 05 Jul 2026 00:00:00 +0000</pubDate>
      <description>Zero-cost at runtime is not zero-cost at build time, and the bill arrives in bytes.</description>
    </item>
    <item>
      <title>What Pin actually guarantees</title>
      <link>https://weichengyi.com/posts/what-pin-actually-guarantees.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/what-pin-actually-guarantees.html</guid>
      <pubDate>Mon, 27 Apr 2026 00:00:00 +0000</pubDate>
      <description>Less than people assume, and precisely enough to make self-referential futures sound.</description>
    </item>
    <item>
      <title>Rust&#x27;s ? is not exception handling</title>
      <link>https://weichengyi.com/posts/the-question-mark-is-not-exception-handling.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/the-question-mark-is-not-exception-handling.html</guid>
      <pubDate>Wed, 11 Feb 2026 00:00:00 +0000</pubDate>
      <description>It looks like a throw. It is a return.</description>
    </item>
    <item>
      <title>Who ends up in TIME_WAIT</title>
      <link>https://weichengyi.com/posts/who-ends-up-in-time-wait.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/who-ends-up-in-time-wait.html</guid>
      <pubDate>Wed, 03 Dec 2025 00:00:00 +0000</pubDate>
      <description>Not whoever you think. It is decided by who closes first, and that decides whose problem it is.</description>
    </item>
    <item>
      <title>False sharing costs more than you think</title>
      <link>https://weichengyi.com/posts/false-sharing-costs-more-than-you-think.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/false-sharing-costs-more-than-you-think.html</guid>
      <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
      <description>Two counters that have nothing to do with each other, sharing 64 bytes, can cost you an order of magnitude.</description>
    </item>
    <item>
      <title>epoll: edge-triggered is a contract, not an optimisation</title>
      <link>https://weichengyi.com/posts/edge-triggered-is-a-contract.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/edge-triggered-is-a-contract.html</guid>
      <pubDate>Sat, 09 Aug 2025 00:00:00 +0000</pubDate>
      <description>EPOLLET does not make epoll faster by itself. It moves an obligation onto you.</description>
    </item>
    <item>
      <title>Slow start is not slow</title>
      <link>https://weichengyi.com/posts/slow-start-is-not-slow.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/slow-start-is-not-slow.html</guid>
      <pubDate>Sat, 21 Jun 2025 00:00:00 +0000</pubDate>
      <description>The name describes where it begins, not how fast it moves.</description>
    </item>
    <item>
      <title>SO_REUSEADDR is not SO_REUSEPORT</title>
      <link>https://weichengyi.com/posts/so-reuseaddr-is-not-so-reuseport.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/so-reuseaddr-is-not-so-reuseport.html</guid>
      <pubDate>Fri, 02 May 2025 00:00:00 +0000</pubDate>
      <description>Two socket options, one letter apart in conversation, solving completely different problems.</description>
    </item>
    <item>
      <title>Why a binary says GLIBC_2.34 not found</title>
      <link>https://weichengyi.com/posts/why-a-binary-says-glibc-2-34-not-found.html</link>
      <guid isPermaLink="true">https://weichengyi.com/posts/why-a-binary-says-glibc-2-34-not-found.html</guid>
      <pubDate>Tue, 18 Mar 2025 00:00:00 +0000</pubDate>
      <description>The first time you copy a working binary to an older server and it refuses to start, the error looks like a broken build. It is not.</description>
    </item>
  </channel>
</rss>
