<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Posts on Enrico&#39;s notes</title>
    <link>https://rikettsie.github.io/posts/</link>
    <description>Recent content in Posts on Enrico&#39;s notes</description>
    <generator>Hugo -- 0.161.1</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 25 May 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://rikettsie.github.io/posts/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Extending the resource access permission model on iroh-rings</title>
      <link>https://rikettsie.github.io/posts/iroh-rings-access-permission-data-model/</link>
      <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/iroh-rings-access-permission-data-model/</guid>
      <description>iroh-rings started with a binary ALLOWED/DENIED access model. Reasoning here the transition to a READ/WRITE/DELETE permission model.</description>
    </item>
    <item>
      <title>ringdrop: composing iroh, iroh-blobs, and iroh-rings into a P2P file drop</title>
      <link>https://rikettsie.github.io/posts/ringdrop-p2p-file-drop/</link>
      <pubDate>Thu, 21 May 2026 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/ringdrop-p2p-file-drop/</guid>
      <description>How to compose iroh&amp;rsquo;s transport, content-addressed blob storage, and ring-based access control into a permission-aware P2P file drop.</description>
    </item>
    <item>
      <title>iroh-rings: ring-based access control for P2P resources</title>
      <link>https://rikettsie.github.io/posts/iroh-rings-p2p-access-control/</link>
      <pubDate>Fri, 15 May 2026 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/iroh-rings-p2p-access-control/</guid>
      <description>How I designed a ring-based access control library on top of iroh — and why the Registry trait is the most important design decision in it.</description>
    </item>
    <item>
      <title>Why encrypted protocols need three layers to stay in sync</title>
      <link>https://rikettsie.github.io/posts/encrypted-protocols-three-layers/</link>
      <pubDate>Thu, 09 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/encrypted-protocols-three-layers/</guid>
      <description>How two peers exchanging encrypted frames can synchronize with each other — and why byte stuffing exists.</description>
    </item>
    <item>
      <title>BAO: verified streaming over content-addressed blobs</title>
      <link>https://rikettsie.github.io/posts/bao-verified-streaming/</link>
      <pubDate>Sat, 28 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/bao-verified-streaming/</guid>
      <description>How BAO makes BLAKE3 hashes useful for streaming: verifying data without buffering the whole file.</description>
    </item>
    <item>
      <title>NAT traversal and hole punching: from UDP to QUIC with iroh</title>
      <link>https://rikettsie.github.io/posts/nat-traversal-hole-punching-iroh/</link>
      <pubDate>Sat, 08 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/nat-traversal-hole-punching-iroh/</guid>
      <description>How hole punching works, why TCP and plain UDP fall short, and how QUIC and iroh make direct P2P connections reliable.</description>
    </item>
    <item>
      <title>Bloom filters: probabilistic membership at scale</title>
      <link>https://rikettsie.github.io/posts/bloom-filters/</link>
      <pubDate>Mon, 25 Aug 2025 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/bloom-filters/</guid>
      <description>How to use a Bloom filter to check membership across 100 million URLs without blowing up RAM — and why a hash set wouldn&amp;rsquo;t cut it.</description>
    </item>
    <item>
      <title>External merge sort: sorting datasets that don&#39;t fit in RAM</title>
      <link>https://rikettsie.github.io/posts/external-merge-sort/</link>
      <pubDate>Sun, 18 May 2025 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/external-merge-sort/</guid>
      <description>How external merge sort handles datasets larger than RAM, using sorted runs and k-way merging.</description>
    </item>
    <item>
      <title>The Signal protocol: X3DH vs PQXDH, and the Double Ratchet</title>
      <link>https://rikettsie.github.io/posts/signal-x3dh-pqxdh-double-ratchet/</link>
      <pubDate>Fri, 20 Oct 2023 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/signal-x3dh-pqxdh-double-ratchet/</guid>
      <description>How Signal achieves forward secrecy, break-in recovery, and deniability — from X3DH to PQXDH and the Double Ratchet.</description>
    </item>
    <item>
      <title>The beauty of Kademlia: the XOR distance</title>
      <link>https://rikettsie.github.io/posts/kademlia-xor-distance/</link>
      <pubDate>Mon, 10 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://rikettsie.github.io/posts/kademlia-xor-distance/</guid>
      <description>The working principle of Kademlia, in particular relating to the XOR distance metric.</description>
    </item>
  </channel>
</rss>
