<?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>Max Inden</title>
    <link>https://max-inden.de/</link>
    <description>Recent content on Max Inden</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Tue, 21 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://max-inden.de/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>About</title>
      <link>https://max-inden.de/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/about/</guid>
      <description>&lt;p&gt;I am Max, a &lt;a href=&#34;https://en.wikipedia.org/wiki/Strange_loop&#34;&gt;&lt;em&gt;strange loop&lt;/em&gt;&lt;/a&gt; interested in networking, distributed systems and type theory. I work at Mozilla on Firefox&amp;rsquo;s networking stack, more specifically QUIC and HTTP/3. Welcome to my little island on this wondrous thing called &lt;em&gt;The Internet&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;You might enjoy browsing through &lt;a href=&#34;https://max-inden.de/readings&#34;&gt;my list of resources I consider worth sharing&lt;/a&gt;, get some inspiration from the &lt;a href=&#34;https://max-inden.de/post&#34;&gt;numerous summaries of past reading group sessions&lt;/a&gt; that I organize or simply scroll through &lt;a href=&#34;https://max-inden.de/resume&#34;&gt;my resume&lt;/a&gt; to see what I am up to lately.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Working Draft - HTTP/3 und WebTransport mit Max Inden</title>
      <link>https://max-inden.de/post/working-draft-http3-and-webtransport-podcast/</link>
      <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/working-draft-http3-and-webtransport-podcast/</guid>
      <description>&lt;p&gt;I joined the Working Draft podcast to talk about HTTP/3 and WebTransport.&lt;/p&gt;
&lt;p&gt;We traced the evolution from HTTP/1 through HTTP/2 to HTTP/3, why head-of-line blocking pushed the web toward QUIC, and how building transport and security together enables 1-RTT and 0-RTT handshakes, connection migration, and encrypted DNS. We closed on WebTransport as a modern alternative to WebSocket, supporting both streams and datagrams.&lt;/p&gt;
&lt;p&gt;The episode is in German.&lt;/p&gt;
&lt;p&gt;Thanks for having me!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Intro to WebTransport - the next WebSocket?!&#34; @FOSDEM</title>
      <link>https://max-inden.de/post/intro-to-webtransport-the-next-websocket/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/intro-to-webtransport-the-next-websocket/</guid>
      <description>&lt;p&gt;I gave a talk on the upcoming WebTransport protocol in the Browser Devroom at FOSDEM 2026.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;WebTransport is an upcoming protocol (standardized by the IETF) and Web API (standardized by the W3C) for bidirectional communication on the web. It provides multiplexed streams and unreliable datagrams on top of HTTP/3 and HTTP/2.&lt;/p&gt;
&lt;p&gt;This talk explains how WebTransport works at the protocol level, how it maps to QUIC when run on top of HTTP/3, and how its capabilities differ from WebSocket. The session will also cover the current state of browser and server support, and where the ecosystem is heading next.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Modern Network Protocols — What’s Next for Firefox and the Web?&#34; @FOSDEM</title>
      <link>https://max-inden.de/post/modern-network-protocols-whats-next-for-firefox-and-the-web/</link>
      <pubDate>Sat, 31 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/modern-network-protocols-whats-next-for-firefox-and-the-web/</guid>
      <description>&lt;p&gt;Andrew, a colleague, and I presented an outlook for Firefox and the web.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The Web’s transport stack is changing rapidly, with QUIC, HTTP/3, and encrypted DNS seeing broad adoption. This talk gives an overview of the modern network protocols Firefox already deploys and invests in, including QUIC and HTTP/3’s growing share of Web traffic. It will highlight what Firefox actually sends on the wire today, what benefits we observe in practice, and where the Web’s protocol landscape stands in early 2026.&lt;/p&gt;</description>
    </item>
    <item>
      <title>netstack.fm - Modern networking in Firefox with Max Inden</title>
      <link>https://max-inden.de/post/modern-networking-in-firefox-podcast/</link>
      <pubDate>Wed, 29 Oct 2025 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/modern-networking-in-firefox-podcast/</guid>
      <description>&lt;p&gt;I joined Glen on the netstack.fm podcast to talk about modern networking in Firefox.&lt;/p&gt;
&lt;p&gt;We discussed Mozilla &amp;rsquo;s work on Firefox&amp;rsquo;s QUIC and HTTP/3 stack — improving UDP I/O, congestion control, and overall performance — and why QUIC matters as a fast, encrypted, and evolvable transport for HTTP/3, WebTransport, and beyond.&lt;/p&gt;
&lt;p&gt;Thanks for having me, Glen!&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://netstack.fm/#episode-11&#34;&gt;https://netstack.fm/#episode-11&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fast UDP I/O for Firefox in Rust</title>
      <link>https://max-inden.de/post/fast-udp-io-in-firefox/</link>
      <pubDate>Sun, 14 Sep 2025 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/fast-udp-io-in-firefox/</guid>
      <description>&lt;h2 id=&#34;motivation&#34;&gt;Motivation&lt;/h2&gt;
&lt;p&gt;Around 20% of Firefox&amp;rsquo;s HTTP traffic today uses HTTP/3, which runs over QUIC, which in turn runs over UDP.
This translates to substantial UDP I/O activity.&lt;/p&gt;
&lt;p&gt;Firefox uses &lt;a href=&#34;https://www-archive.mozilla.org/projects/nspr/&#34;&gt;NSPR&lt;/a&gt; for most of its network I/O.
When it comes to UDP I/O, NSPR only offers a limited set of dated APIs, most relevant here &lt;a href=&#34;https://firefox-source-docs.mozilla.org/nspr/reference/pr_sendto.html&#34;&gt;&lt;code&gt;PR_SendTo&lt;/code&gt;&lt;/a&gt; and &lt;a href=&#34;https://firefox-source-docs.mozilla.org/nspr/reference/pr_recvfrom.html&#34;&gt;&lt;code&gt;PR_RecvFrom&lt;/code&gt;&lt;/a&gt;, wrappers around POSIX&amp;rsquo;s &lt;code&gt;sendto&lt;/code&gt; and &lt;code&gt;recvfrom&lt;/code&gt;.
The N in NSPR stands for Netscape, giving you a hint of its age.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Fast UDP makes QUIC quicker - optimizing Firefox’s HTTP3 IO stack&#34; @FOSDEM</title>
      <link>https://max-inden.de/post/2025-02-02-fast-udp-makes-quic-quicker/</link>
      <pubDate>Sun, 02 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2025-02-02-fast-udp-makes-quic-quicker/</guid>
      <description>&lt;p&gt;I presented my recent work on Firefox&amp;rsquo;s HTTP3/QUIC stack in the Network Devroom at FOSDEM 2025.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;QUIC is a new transport protocol on top of UDP, transporting a large portion of the Internet traffic today. UDP I/O performance is crucial for QUIC implementations, where e.g. system call overhead can significantly impact throughput at high network speeds. To improve QUIC throughput, Firefox is switching to a modern UDP IO stack in Rust, using mechanisms like recvmmsg, and GRO across Linux, Windows, and Android.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Stepping down as a (rust-) libp2p maintainer</title>
      <link>https://max-inden.de/post/2024-02-29-stepping-down/</link>
      <pubDate>Thu, 29 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2024-02-29-stepping-down/</guid>
      <description>&lt;p&gt;I don&amp;rsquo;t see myself making major contributions to (rust-) libp2p in the near future and thus I am stepping down as a maintainer.&lt;/p&gt;
&lt;p&gt;As announced before, &lt;a href=&#34;https://github.com/libp2p/rust-libp2p/discussions/5007&#34;&gt;I have left Protocol Labs in December 2023&lt;/a&gt;.
After a 2 month re-orientation break, I have decided to move on entirely.&lt;/p&gt;
&lt;p&gt;My first commit was 5y ago, &lt;a href=&#34;https://github.com/libp2p/rust-libp2p/pull/1204&#34;&gt;a small bug fix in our address handling&lt;/a&gt;.
Since then lots happened. A couple of milestones I was involved in:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Connecting everything, everywhere, all at once&#34; @IPFS-Thing</title>
      <link>https://max-inden.de/post/2023-04-16-connecting-everything-everywhere-all-at-once/</link>
      <pubDate>Sun, 16 Apr 2023 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2023-04-16-connecting-everything-everywhere-all-at-once/</guid>
      <description>&lt;p&gt;How you can connect everything (browsers &amp;amp; non-browsers), everywhere (public or private), all at once (using libp2p).&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/4v-iIB0C9_8?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;p&gt;&lt;a href=&#34;https://bafybeidyb3fucxaq32cm6vf6q5ziaah6foe5caggwsitlm7myd4pwpcgdq.ipfs.w3s.link/connecting-everything-everywhere-all-at-once-with-libp2p.pdf&#34;&gt;Slides&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;DOS Defense - Do’s and Don’ts&#34; @IPFS-Camp</title>
      <link>https://max-inden.de/post/2022-11-02-dos-defense-dos-and-donts/</link>
      <pubDate>Sun, 05 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2022-11-02-dos-defense-dos-and-donts/</guid>
      <description>&lt;p&gt;I presented at IPFS Camp 2022 on mitigating Denial-of-Service attacks in
peer-to-peer networks. I discussed resource management strategies such as
enforcing backpressure and provided examples of coding pitfalls to avoid in Rust
and Go. You can find the recording and slides of my talk below.&lt;/p&gt;
&lt;div style=&#34;position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;&#34;&gt;
      &lt;iframe allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen&#34; loading=&#34;eager&#34; referrerpolicy=&#34;strict-origin-when-cross-origin&#34; src=&#34;https://www.youtube-nocookie.com/embed/jZrAnnFO-2c?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0&#34; style=&#34;position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;&#34; title=&#34;YouTube video&#34;&gt;&lt;/iframe&gt;
    &lt;/div&gt;

&lt;h1 id=&#34;slides&#34;&gt;Slides&lt;/h1&gt;
&lt;h2 id=&#34;dos&#34;&gt;DOS&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Denial-of-service attack&lt;/li&gt;
&lt;li&gt;Hard in peer-to-peer as identities are cheap&lt;/li&gt;
&lt;li&gt;Relevant for any scarce resource, e.g. CPU, memory(, file descriptors)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;dos-1&#34;&gt;Do&amp;rsquo;s&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Bound EVERYTHING&lt;/li&gt;
&lt;li&gt;Once a bound is exceeded:
&lt;ul&gt;
&lt;li&gt;Drop item (&lt;del&gt;good&lt;/del&gt;)&lt;/li&gt;
&lt;li&gt;Enforce backpressure (good)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;dos-2&#34;&gt;Do&amp;rsquo;s&lt;/h2&gt;
&lt;h3 id=&#34;backpressure&#34;&gt;Backpressure&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Slow consumer should slow down a fast producer&lt;/li&gt;
&lt;li&gt;Can improve resource utilization&lt;/li&gt;
&lt;li&gt;Can improve latency&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;donts&#34;&gt;Don&amp;rsquo;ts&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-rust&#34; data-lang=&#34;rust&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// Decode the length prefix of a message.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; l &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; uvi::decode::&lt;span style=&#34;color:#66d9ef&#34;&gt;usize&lt;/span&gt;(msg_len_prefix)&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// Allocate a corresponding buffer.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; buffer &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;vec!&lt;/span&gt;[&lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;; l];
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// Read message into buffer.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;socket.read_exact(&lt;span style=&#34;color:#f92672&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;mut&lt;/span&gt; buffer)&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;donts-1&#34;&gt;Don&amp;rsquo;ts&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-go&#34; data-lang=&#34;go&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// Receive a request.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#a6e22e&#34;&gt;request&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;:=&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;-&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;incomingRequests&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// Handle the request.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;go&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;handleRequest&lt;/span&gt;(&lt;span style=&#34;color:#a6e22e&#34;&gt;request&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;donts-2&#34;&gt;Don&amp;rsquo;ts&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-rust&#34; data-lang=&#34;rust&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;loop&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// Receive a request.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; request &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; incoming_requests.next().&lt;span style=&#34;color:#66d9ef&#34;&gt;await&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// Handle the request.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  spawn(&lt;span style=&#34;color:#66d9ef&#34;&gt;async&lt;/span&gt; &lt;span style=&#34;color:#66d9ef&#34;&gt;move&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      handle(request)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  });
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;donts-3&#34;&gt;Don&amp;rsquo;ts&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-rust&#34; data-lang=&#34;rust&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;loop&lt;/span&gt; {
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// Receive a request.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; request &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; incoming_requests.next().&lt;span style=&#34;color:#66d9ef&#34;&gt;await&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;// Send the request somewhere else.
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  request_channel.unbounded_send(request);
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;donts-4&#34;&gt;Don&amp;rsquo;ts&lt;/h2&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-rust&#34; data-lang=&#34;rust&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// Buffer of requests
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; to_be_handled_later &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; Vec::new();
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// ...
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;let&lt;/span&gt; request &lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt; incoming_requests.next().&lt;span style=&#34;color:#66d9ef&#34;&gt;await&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;?&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;to_be_handled_later.push(request);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Hole punching in the wild&#34; @FOSDEM</title>
      <link>https://max-inden.de/post/2023-02-05-hole-punching-in-the-wild/</link>
      <pubDate>Sun, 05 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2023-02-05-hole-punching-in-the-wild/</guid>
      <description>&lt;p&gt;Dennis and I presented &lt;em&gt;Hole punching in the wild&lt;/em&gt;, &lt;em&gt;learnings from running libp2p hole punching in production, measured from vantage points across the globe&lt;/em&gt; in the network devroom at FOSDEM 2023.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;At FOSDEM 2022 I presented libp2p&amp;rsquo;s hole punching mechanism, overcoming NATs and firewalls with no dependencies on central infrastructure. One year has passed since. We rolled it out to live networks. We launched a large measurement campaign with many volunteers deploying vantage points in their home network, punching holes across the globe.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Peer-to-peer Browser Connectivity&#34; @FOSDEM</title>
      <link>https://max-inden.de/post/2023-02-05-peer-to-peer-browser-connectivity/</link>
      <pubDate>Sun, 05 Feb 2023 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2023-02-05-peer-to-peer-browser-connectivity/</guid>
      <description>&lt;p&gt;I presented an overview on &lt;em&gt;Peer-to-peer Browser Connectivity&lt;/em&gt; options in the network devroom at FOSDEM 2023.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Connecting from the browser to a public server with a valid TLS certificate is easy. But what if the server has a self-signed certificate? What if it isn&amp;rsquo;t public? What if it is another browser?&lt;/p&gt;
&lt;p&gt;This talk covers the intricacies of browser communication beyond the standard browser-to-server use-case. I will give an overview of the many protocols available and how they can be used in a peer-to-peer fashion without sacrificing authenticity, confidentiality or integrity. We will leverage the new WebTransport for secure communication to public servers with self-signed certificates and WebRTC for secure communication to other browsers, using hole puching, without the dependency on central infrastructure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Hole punching with libp2p&#34; @p2p-paris</title>
      <link>https://max-inden.de/post/2022-04-30-hole-punching-with-libp2p/</link>
      <pubDate>Sat, 30 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2022-04-30-hole-punching-with-libp2p/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;We’ll take a closer look at the recently added decentralized hole punching
feature, allowing NAT and firewall traversal without the need for any central
coordination servers (STUN and TURN).&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://youtu.be/MCEEMrIRks8&#34;&gt;Recording&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Introduction to and State of libp2p&#34; @p2p-paris</title>
      <link>https://max-inden.de/post/2022-04-29-introduction-to-and-state-of-libp2p/</link>
      <pubDate>Fri, 29 Apr 2022 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2022-04-29-introduction-to-and-state-of-libp2p/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;We will discuss the current state of the project, eyeball the various language
implementations, take a look at the many live networks running on top of
libp2p today and finally cover the project roadmap for the years to come.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&#34;https://youtu.be/Sbd7odDFT1w&#34;&gt;Recording&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hole punching in libp2p</title>
      <link>https://max-inden.de/post/2022-03-06-libp2p-hole-punching/</link>
      <pubDate>Sun, 06 Mar 2022 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2022-03-06-libp2p-hole-punching/</guid>
      <description>&lt;p&gt;We have been working on hole punching support in libp2p for the last year. It
finally landed in the Go and Rust libp2p implementation.&lt;/p&gt;
&lt;p&gt;Read all about it on the IPFS blog:
&lt;a href=&#34;https://blog.ipfs.io/2022-01-20-libp2p-hole-punching/&#34;&gt;https://blog.ipfs.io/2022-01-20-libp2p-hole-punching/&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;Peer-to-peer hole punching without centralized infrastructure&#34; @FOSDEM</title>
      <link>https://max-inden.de/post/peer-to-peer-hole-punching-without-centralized-infrastructure/</link>
      <pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/peer-to-peer-hole-punching-without-centralized-infrastructure/</guid>
      <description>&lt;p&gt;Gave a talk on hole punching in libp2p at FOSDEM 2022.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Peer-to-peer hole punching without centralized infrastructure&lt;/p&gt;
&lt;p&gt;How libp2p can traverse NATs and firewalls without coordination through
central STUN and TURN servers.&lt;/p&gt;
&lt;p&gt;libp2p is a universal, cross-platform, multi-language, modular peer-to-peer
networking library powering multiple large-scale networks, for example IPFS.&lt;/p&gt;
&lt;p&gt;In the first part of the talk we’ll present the basic building blocks of the
library and explain how they fit together. In the second part, we’ll take a
closer look at the recently added decentralized hole punching feature,
allowing NAT and firewall traversal without the need for any central
coordination servers (STUN and TURN).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk &#34;State of libp2p&#34; @FOSDEM</title>
      <link>https://max-inden.de/post/state-of-libp2p/</link>
      <pubDate>Sun, 06 Feb 2022 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/state-of-libp2p/</guid>
      <description>&lt;p&gt;Gave a talk on the state of libp2p at FOSDEM 2022.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;State of libp2p&lt;/p&gt;
&lt;p&gt;Status quo and future roadmap of the peer-to-peer networking library libp2p.&lt;/p&gt;
&lt;p&gt;libp2p is a universal, cross-platform, multi-language, modular peer-to-peer
networking library powering multiple large-scale networks, for example IPFS,
Ethereum 2, Filecoin or Polkadot.&lt;/p&gt;
&lt;p&gt;We will discuss the current state of the project, eyeball the various language
implementations, take a look at the many live networks running on top of
libp2p today and finally cover the project roadmap for the years to come.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk Intro to libp2p</title>
      <link>https://max-inden.de/post/intro-to-libp2p/</link>
      <pubDate>Tue, 20 Jul 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/intro-to-libp2p/</guid>
      <description>&lt;p&gt;On Tuesday 20th of July I gave a talk introducing &lt;a href=&#34;https://libp2p.io/&#34;&gt;libp2p&lt;/a&gt;,
a modular network stack.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://youtu.be/7OZLImVRvro&#34;&gt;Recording&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://max-inden.de/static/introduction-to-libp2p.pdf&#34;&gt;Slides&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>35th DistSys Reading Group - Nym</title>
      <link>https://max-inden.de/post/2021-06-29-35th-reading-group/</link>
      <pubDate>Tue, 29 Jun 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-06-29-35th-reading-group/</guid>
      <description>&lt;p&gt;In our previous session we looked into Mixnets, more specifically Loopix. With
this session we stayed in the space, talking about a network adopting many
concepts from Loopix, namely Nym.&lt;/p&gt;
&lt;p&gt;As a preparation, we read section 1 through 4  of the Nym whitepaper.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Introduction&lt;/li&gt;
&lt;li&gt;Network-level surveillance&lt;/li&gt;
&lt;li&gt;The Nym Network Design&lt;/li&gt;
&lt;li&gt;Mixnet for Network-Level Privacy&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Diaz, Claudia, Harry Halpin, and Aggelos Kiayias. &amp;ldquo;The Nym Network.&amp;rdquo; (2021).&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://nymtech.net/nym-whitepaper.pdf&#34;&gt;https://nymtech.net/nym-whitepaper.pdf&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>34th DistSys Reading Group - Mixnets</title>
      <link>https://max-inden.de/post/2021-05-10-34th-reading-group/</link>
      <pubDate>Mon, 10 May 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-05-10-34th-reading-group/</guid>
      <description>&lt;p&gt;34th session was on Mixnets as lots of people suggested in the past. As a
preparation we read the Loopix paper.&lt;/p&gt;
&lt;p&gt;Piotrowska, Ania M., et al. &amp;ldquo;The loopix anonymity system.&amp;rdquo; 26th {USENIX}
Security Symposium ({USENIX} Security 17). 2017.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-piotrowska.pdf&#34;&gt;https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-piotrowska.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The corresponding talk by Ania Piotrowska is very much worth watching as an
additional resource.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=R-yEqLX_UvI&#34;&gt;https://www.youtube.com/watch?v=R-yEqLX_UvI&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>33rd DistSys Reading Group - BGP 3</title>
      <link>https://max-inden.de/post/2021-04-12-33rd-reading-group/</link>
      <pubDate>Mon, 12 Apr 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-04-12-33rd-reading-group/</guid>
      <description>&lt;p&gt;In our third BGP session we focused on BGP security, more specifically we
discussed how to perform hijack and interception attacks using BGP. The primary
paper of the session was:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.cs.princeton.edu/~jrex/papers/sico19.pdf&#34;&gt;Birge-Lee, Henry, et al. &amp;ldquo;Sico: Surgical interception attacks by manipulating
bgp communities.&amp;rdquo; Proceedings of the 2019 ACM SIGSAC Conference on Computer and
Communications Security. 2019.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A good introduction to RPKI can be found
&lt;a href=&#34;https://rpki.readthedocs.io/en/latest/rpki/introduction.html&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>32nd DistSys Reading Group - BGP 2</title>
      <link>https://max-inden.de/post/2021-03-18-32nd-reading-group/</link>
      <pubDate>Thu, 18 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-03-18-32nd-reading-group/</guid>
      <description>&lt;p&gt;After our first BGP session, introducing the protocol based on the convergence
problem of BGP, our second session on BGP covered route propagation and tuning.
The primary paper was:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://ilab-pub.imp.fu-berlin.de/papers/gmbpr-bbntb-20.pdf&#34;&gt;Gray, Caitlin, et al. &amp;ldquo;BGP Beacons, Network Tomography, and Bayesian
Computation to Locate Route Flap Damping.&amp;rdquo; Proceedings of the ACM Internet
Measurement Conference.
2020.&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Optimizing Yamux Flow Control - Sending Window Update Frames Early</title>
      <link>https://max-inden.de/post/2021-03-07-optimizing-yamux-flow-control/</link>
      <pubDate>Sun, 07 Mar 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-03-07-optimizing-yamux-flow-control/</guid>
      <description>&lt;p&gt;Below is a summary of our efforts to optimize flow control in the &lt;a href=&#34;https://github.com/paritytech/yamux&#34;&gt;Rust Yamux
implementation&lt;/a&gt;. While not a novel
approach, I still find the end result worth sharing thus my forum post.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://discuss.libp2p.io/t/optimizing-yamux-flow-control-sending-window-update-frames-early/843&#34;&gt;https://discuss.libp2p.io/t/optimizing-yamux-flow-control-sending-window-update-frames-early/843&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>31st DistSys Reading Group - BGP 1</title>
      <link>https://max-inden.de/post/2021-02-24-31st-paper-club/</link>
      <pubDate>Wed, 24 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-02-24-31st-paper-club/</guid>
      <description>&lt;p&gt;We decided to turn our interest to BGP which we will devote 3 sessions to. In
today&amp;rsquo;s session - the first one - we introduced BGP, looked at the convergence
problem, as well as the solution suggested in the paper below.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.cs.princeton.edu/~jrex/papers/sigmetrics00.long.pdf&#34;&gt;Gao, Lixin, and Jennifer Rexford. &amp;ldquo;Stable Internet routing without global
coordination.&amp;rdquo; IEEE/ACM Transactions on networking 9.6 (2001):
681-692.&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;To play around with BGP as well as general Internet routing:&lt;/p&gt;</description>
    </item>
    <item>
      <title>New GPG Key</title>
      <link>https://max-inden.de/post/2021-02-17-new-gpg-key/</link>
      <pubDate>Wed, 17 Feb 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-02-17-new-gpg-key/</guid>
      <description>&lt;p&gt;I have created a new GPG key replacing my old GPG key. I did not loose access to
the old one, nor was it, as far as I am able to tell, ever compromised. As I did
with the old key, I will use the new key both for signing my open source work as
well as securing my e-mail communication.&lt;/p&gt;
&lt;p&gt;You can find both the
&lt;a href=&#34;https://keyserver.ubuntu.com/pks/lookup?search=0x4110045ee7a432d67afac8c85403c5464810bc26&amp;amp;fingerprint=on&amp;amp;op=index&#34;&gt;old&lt;/a&gt;
and the
&lt;a href=&#34;https://keyserver.ubuntu.com/pks/lookup?search=0x080694E5D36410B9C9B62185779B0E427AFE5ABB&amp;amp;fingerprint=on&amp;amp;op=index&#34;&gt;new&lt;/a&gt;
key on all major key servers. Along with the new key &lt;a href=&#34;https://keyserver.ubuntu.com/pks/lookup?search=0x080694E5D36410B9C9B62185779B0E427AFE5ABB&amp;amp;fingerprint=on&amp;amp;op=index&#34;&gt;you find a signature of
the old key signing the new
key&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>30th DistSys Reading Group - NTP</title>
      <link>https://max-inden.de/post/2021-01-26-30th-paper-club/</link>
      <pubDate>Tue, 26 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2021-01-26-30th-paper-club/</guid>
      <description>&lt;p&gt;What better way to start a new year than with a paper discussing how to change
time?&lt;/p&gt;
&lt;p&gt;In the 30th session we discussed a paper which I think has much up its sleeves -
&lt;em&gt;Attacking the Network Time Protocol&lt;/em&gt;. First off the paper gives us a good
introduction to the inner working of the network time protocol. Next up it
examines the broader ecosystem as well as why we need accurate time in the first
place. Once we established enough background, the paper dives into how one can
attack the protocol, starting off with on-path attacks all the way to some crazy
(creative) off-path attacks. Last but not least, the list of references at the
end is a small treasure trove.&lt;/p&gt;</description>
    </item>
    <item>
      <title>28th DistSys Reading Group - Hotstuff</title>
      <link>https://max-inden.de/post/2020-09-08-28th-paper-club/</link>
      <pubDate>Tue, 08 Sep 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-09-08-28th-paper-club/</guid>
      <description>&lt;p&gt;With the 28th session we jumped into the space of byzantine fault tolerant
consensus protocols. We covered fault tolerant consensus with various Paxos
variants in the past, but this session was the first one looking into how to
solve the &lt;a href=&#34;https://en.wikipedia.org/wiki/Byzantine_fault&#34;&gt;byzantine generals
problem&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Instead of using PBFT [1] as a first paper we went with Hotstuff [2] instead.
The reasoning behind this choice was (a) Hotstuff presenting a somewhat easy
up-to-date consensus algorithm and (b) that it provides a framework enabling one
to compare other algorithms (e.g. PBFT) in the space.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Know your latencies</title>
      <link>https://max-inden.de/post/2020-06-19-latencies/</link>
      <pubDate>Fri, 19 Jun 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-06-19-latencies/</guid>
      <description>&lt;p&gt;I find it helpful to know the orders of magnitude by which certain computer
operations differ. Certainly it is not worth the effort to pay attention to
every digit or learn these by heart, especially since they differ (slightly)
across systems, but having a basic understanding of what a tiny fraction of time
a CPU cycle occupies compared to sending a TCP packet is incredibly helpful
whenever reasoning about systems performance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>26th DistSys Reading Group - Cache coherence</title>
      <link>https://max-inden.de/post/2020-05-18-26th-paper-club/</link>
      <pubDate>Mon, 18 May 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-05-18-26th-paper-club/</guid>
      <description>&lt;p&gt;We have long been planning to cover the caching mechanisms in CPUs. As a shared
knowledge base for the discussions in this session we chose the following two
articles by Martin Thompson among other things known for his work on the &lt;a href=&#34;https://lmax-exchange.github.io/disruptor/&#34;&gt;LMAX
Disruptor&lt;/a&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://mechanical-sympathy.blogspot.com/2013/02/cpu-cache-flushing-fallacy.html&#34;&gt;CPU Cache Flushing
Fallacy&lt;/a&gt;
including a good overview over the different caches in modern Intel CPUs.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://mechanical-sympathy.blogspot.com/2011/07/write-combining.html&#34;&gt;Write
Combining&lt;/a&gt;
exemplifying the advanced mechanisms one can find in today&amp;rsquo;s CPUs and how one
can make use of them.&lt;/p&gt;</description>
    </item>
    <item>
      <title>25th DistSys Reading Group - Fair queuing</title>
      <link>https://max-inden.de/post/2020-04-27-25th-paper-club/</link>
      <pubDate>Mon, 27 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-04-27-25th-paper-club/</guid>
      <description>&lt;p&gt;In the session today we covered Madhavapeddi Shreedhar and George Varghese paper
&amp;ldquo;&lt;em&gt;Efficient fair queuing using deficit round-robin&lt;/em&gt;&amp;rdquo; [1]. While the session was
not so much about the relatively simple algorithmic details of
deficit-round-robin (still worth checking out) we talked about:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Its benefits over basic FIFO queuing and thus its impact for congestion
controlled traffic (tcp) compared to not congestion controlled traffic (udp).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Its wide deployment still seen today.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Its derivatives DRR+ and DRR++ being able to handle both best-effort as well
as latency critical flows.&lt;/p&gt;</description>
    </item>
    <item>
      <title>24th DistSys Reading Group - BBR Congestion-Based Congestion Control</title>
      <link>https://max-inden.de/post/2020-04-06-24th-paper-club/</link>
      <pubDate>Mon, 06 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-04-06-24th-paper-club/</guid>
      <description>&lt;p&gt;After a bit of a break due to current pandemic we decided to carry on and
continue our meetings as virtual calls. Ignoring the usual initial hiccups and
the missing whiteboard the medium worked well for us.&lt;/p&gt;
&lt;p&gt;Topic and reading of this session was the ACM Queue article &lt;a href=&#34;https://queue.acm.org/detail.cfm?id=3022184&#34;&gt;&lt;em&gt;BBR:
Congestion-Based Congestion
Control&lt;/em&gt;&lt;/a&gt; [1], as well as the
Dropbox article &lt;a href=&#34;https://dropbox.tech/infrastructure/evaluating-bbrv2-on-the-dropbox-edge-network&#34;&gt;&lt;em&gt;Evaluating BBRv2 on the Dropbox Edge
Network&lt;/em&gt;&lt;/a&gt;
[2].&lt;/p&gt;
&lt;p&gt;We started off with a quick recap of the previous session covering why we need
congestion control, how one can view a multi-hop connection as a single hop
connection with a single bottleneck and most importantly the fact that the
Internet is the largest distributed system that most of the time &amp;ldquo;just works&amp;rdquo;
due to congestion control.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Elimination back-off stack performance</title>
      <link>https://max-inden.de/post/2020-04-01-elimination-backoff-stack-performance/</link>
      <pubDate>Wed, 01 Apr 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-04-01-elimination-backoff-stack-performance/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;All stacks from 1 thread to up to 128&#34; loading=&#34;lazy&#34; src=&#34;https://max-inden.de/static/elimination-back-off-stack/lines.svg&#34;&gt;&lt;/p&gt;
&lt;p&gt;I recently stumbled upon the idea of an &lt;em&gt;Elimination Back-off Stack&lt;/em&gt; promising
to be a &lt;strong&gt;parallel&lt;/strong&gt;, linearizable and lock-free stack. In case you are not
familiar with it, I would suggest either reading my &lt;a href=&#34;https://max-inden.de/blog/2020-03-28-elimination-backoff-stack/&#34;&gt;previous
post&lt;/a&gt; or the corresponding paper
[1] itself. Being quite intrigued by the ideas of the above stack I wrote &lt;a href=&#34;https://github.com/mxinden/elimination-backoff-stack/&#34;&gt;my
own implementation&lt;/a&gt; in
Rust with a &lt;em&gt;little&lt;/em&gt; help from
&lt;a href=&#34;https://github.com/crossbeam-rs/crossbeam&#34;&gt;crossbeam&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Elimination back-off stack</title>
      <link>https://max-inden.de/post/2020-03-28-elimination-backoff-stack/</link>
      <pubDate>Sat, 28 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-03-28-elimination-backoff-stack/</guid>
      <description>&lt;p&gt;Reading &lt;em&gt;The Art of Multiprocessor Programming&lt;/em&gt; [1] I came across the
&lt;em&gt;Elimination Back-off Stack&lt;/em&gt; [2] datastructure introduced in 2004 by Danny
Hendler, Nir Shavit, and Lena Yerushalmi. It promises to be a &lt;strong&gt;parallel&lt;/strong&gt;
lock-free stack.&lt;/p&gt;
&lt;p&gt;How can a stack allow parallel operations without going through a single
serialization point, e.g. a Mutex or an Atomic? Let&amp;rsquo;s dive into it.&lt;/p&gt;
&lt;h2 id=&#34;a-lock-free-stack&#34;&gt;A lock-free stack&lt;/h2&gt;
&lt;p&gt;A lock-free stack, also often referred to as a Treiber stack [3] due to Kent
Treiber, operates on top of a lock-free linked list. The entry point of the
stack is an atomic pointer which is either pointing to the node on the very top
of the stack or is &lt;code&gt;null&lt;/code&gt; in case of an empty stack.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Leaving the Prometheus team</title>
      <link>https://max-inden.de/post/2020-03-14-leaving-prometheus-team/</link>
      <pubDate>Sat, 14 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-03-14-leaving-prometheus-team/</guid>
      <description>&lt;p&gt;In January 2017 I joined the company CoreOS as a test-engineer helping the
monitoring team and the &lt;a href=&#34;https://github.com/rkt/rkt&#34;&gt;rkt container engine team&lt;/a&gt;
write reliable software. Eventually I joined the CoreOS&amp;rsquo; monitoring team
full-time as a software engineer and ultimately was invited to be part of the
upstream &lt;a href=&#34;https://prometheus.io/&#34;&gt;Prometheus team&lt;/a&gt; due to my contributions to
the &lt;a href=&#34;https://github.com/prometheus/alertmanager/&#34;&gt;Alertmanager&lt;/a&gt; sub-project.&lt;/p&gt;
&lt;p&gt;Over the next 2 years and 4 month I &lt;a href=&#34;https://github.com/prometheus/alertmanager/pulls?q=is%3Apr+is%3Aclosed+author%3Amxinden&#34;&gt;worked a lot on
Alertmanager&lt;/a&gt;,
e.g. writing parts of its Elm-based UI and introducing &lt;a href=&#34;https://github.com/prometheus/alertmanager/pull/1352&#34;&gt;API
v2&lt;/a&gt;, a bit on &lt;a href=&#34;https://github.com/prometheus/prometheus/pulls?q=is%3Apr+is%3Aclosed+author%3Amxinden&#34;&gt;Prometheus
itself&lt;/a&gt;
and a bunch within the overall Prometheus and Kubernetes ecosystem e.g. on
&lt;a href=&#34;https://github.com/kubernetes/kube-state-metrics/issues/498&#34;&gt;kube-state-metrics&lt;/a&gt;.
In addition being part of the open source project enabled me to speak at many
&lt;a href=&#34;https://max-inden.de/talks/&#34;&gt;conferences and meetups&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>23rd Distributed Systems Paper Club</title>
      <link>https://max-inden.de/post/2020-02-18-23rd-paper-club/</link>
      <pubDate>Tue, 18 Feb 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-02-18-23rd-paper-club/</guid>
      <description>&lt;p&gt;At the end of the previous session one of us suggested to dive into congestion
control algorithms. This has found a greater echo, thus the 23rd session covered
congestion control algorithms in general and TCP&amp;rsquo;s Reno as well as TCP&amp;rsquo;s Tahoe
in particular.&lt;/p&gt;
&lt;p&gt;This weeks reading was:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Chapter 13 &amp;ldquo;TCP Reno and Congestion Management&amp;rdquo; from the comprehensive online
book &amp;ldquo;An Introduction to Computer Networks&amp;rdquo; [1] from the Loyola University
Chicago.&lt;/p&gt;</description>
    </item>
    <item>
      <title>22nd Distributed Systems Paper Club</title>
      <link>https://max-inden.de/post/2020-01-28-22nd-paper-club/</link>
      <pubDate>Tue, 28 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-01-28-22nd-paper-club/</guid>
      <description>&lt;p&gt;In the 22nd session we took a look at &lt;code&gt;io_uring&lt;/code&gt; - a new Kernel interface for
asynchronous I/O. Tyler, who is currently implementing an &lt;code&gt;io_uring&lt;/code&gt; library in
Rust [4] for his database sled [7] guided us through the concepts as well as a
bunch of source code.&lt;/p&gt;
&lt;p&gt;Tyler started off introducing the status quo of I/O interfaces within the Linux
Kernel like read, pread and preadv, jumped over to asynchronous I/O like aio and
eventually helped us develop a sense of what the perfect asynchronous I/O
interface of the future could look like. For alll of this he used Jens Axboe&amp;rsquo;s
slides from a Kernel Recipes 2019 talk [1].&lt;/p&gt;</description>
    </item>
    <item>
      <title>21st Distributed Systems Paper Club</title>
      <link>https://max-inden.de/post/2020-01-24-21st-paper-club/</link>
      <pubDate>Fri, 24 Jan 2020 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2020-01-24-21st-paper-club/</guid>
      <description>&lt;p&gt;We started the new year with a session on &lt;em&gt;epidemic&lt;/em&gt; / &lt;em&gt;gossip&lt;/em&gt; protocols. To
decide what to read I compiled the following list of papers that I either
enjoyed reading in the past, or that were recommended to me. The &lt;em&gt;Swim (Scalable
failure detection and membership protocol)&lt;/em&gt; paper won the poll.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Das, Abhinandan, Indranil Gupta, and Ashish Motivala. &amp;ldquo;Swim: Scalable
weakly-consistent infection-style process group membership protocol.&amp;rdquo;
Proceedings International Conference on Dependable Systems and Networks. IEEE,
2002.&lt;/p&gt;</description>
    </item>
    <item>
      <title>20th Distributed Systems Paper Club</title>
      <link>https://max-inden.de/post/2019-11-28-20th-paper-club/</link>
      <pubDate>Thu, 28 Nov 2019 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2019-11-28-20th-paper-club/</guid>
      <description>&lt;p&gt;Last Tuesday we meet again to discuss different attacks and possible
countermeasures for distributed hash tables. More in particular we looked at
Kademlia and its security extension S/Kademlia [1], possible eclipse attacks on
the Ethereum network [2], a novel approach of hiding its own connection buckets
as well as using an existing social graph as a network topology in the Whanau
paper[3], security extensions to the Chord DHT [4], as well as a larger study of
different security techniques for DHTs [5].&lt;/p&gt;</description>
    </item>
    <item>
      <title>19th Distributed Systems Paper Club</title>
      <link>https://max-inden.de/post/2019-10-27-19th-paper-club/</link>
      <pubDate>Sun, 27 Oct 2019 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2019-10-27-19th-paper-club/</guid>
      <description>&lt;p&gt;I have been organizing a distributed systems paper reading group in Berlin for
the last year. We meet every other week discussing a paper in the distributed
systems space. This could be anything from &lt;em&gt;Chandy–Lamport&amp;rsquo;s algorithm for
global distributed snapshots&lt;/em&gt; [1] to things like &lt;em&gt;conflict free replicated
datatypes&lt;/em&gt; [2]. The event is open for anyone interested. I only ask people to
come prepared.&lt;/p&gt;
&lt;p&gt;In the last meeting (19th) we covered distributed hash tables. They play a
crucial role in e.g. decentralized file sharing networks for example as
directory services, simple key-value stores, or peer-to-peer membership
management protocols.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Metric driven performance optimization</title>
      <link>https://max-inden.de/post/2019-06-25-metric-driven-performance-optimization/</link>
      <pubDate>Mon, 24 Jun 2019 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2019-06-25-metric-driven-performance-optimization/</guid>
      <description>&lt;p&gt;Within my work at Red Hat and Kubernetes &lt;a href=&#34;https://github.com/kubernetes/community/tree/master/sig-instrumentation&#34;&gt; SIG instrumentation
&lt;/a&gt; I
have been working on &lt;a href=&#34;https://github.com/kubernetes/kube-state-metrics/&#34;&gt; kube-state-metrics
&lt;/a&gt;, a &lt;a href=&#34;https://github.com/prometheus/prometheus&#34;&gt; Prometheus
&lt;/a&gt; exporter exposing the state of a
Kubernetes cluster to a Prometheus monitoring system. In particular I have
focused on performance optimizing metric rendering for both latency as well as
resource usage. Below I want to describe our approach of metric driven
performance tuning, using Prometheus to monitor kube-state-metrics on top of
Kubernetes, which in itself enables Prometheus to monitor Kubernetes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk Optimizing Metric Rendering in kube-state-metrics</title>
      <link>https://max-inden.de/post/optimizing-metric-rendering-in-kube-state-metrics/</link>
      <pubDate>Wed, 22 May 2019 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/optimizing-metric-rendering-in-kube-state-metrics/</guid>
      <description>&lt;p&gt;Kube-state-metrics exposes Prometheus metrics of the state of a given Kubernetes
cluster. The project uses the standard Prometheus client Golang library, which
is not optimized for the very specific use case of kube-state-metrics.&lt;/p&gt;
&lt;p&gt;This talk covers different optimizations like metric caching and improved text
marshaling dividing CPU usage by a factor of 6 and memory and response time by a
factor of 3 through introducing an intelligent Prometheus metric cache in the
code hot path and optimizing memory allocations during response generation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk Self-Service Monitoring</title>
      <link>https://max-inden.de/post/self-service-monitoring/</link>
      <pubDate>Wed, 26 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/self-service-monitoring/</guid>
      <description>&lt;p&gt;Monitoring plays a crucial role in a microservice architecture. Restricting the
management and configuration of the monitoring stack to the operations team
results in workflow bottlenecks. Instead one could provide a self-service
monitoring platform, enabling each team to easily setup monitoring for their
applications and customize it to their needs. This gives each team the ability
to deeply introspect their application, benchmark new features and alert on
failures on their own.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk Self-healing Kubernetes</title>
      <link>https://max-inden.de/post/self-healing-k8s/</link>
      <pubDate>Sun, 22 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/self-healing-k8s/</guid>
      <description>&lt;p&gt;What If Component xxx Dies? Introducing Self-Healing Kubernetes&lt;/p&gt;
&lt;p&gt;Kubernetes promises healing your application on all kinds of failure scenarios,
but why not self-heal Kubernetes itself?&lt;/p&gt;
&lt;p&gt;This talk introduces self-hosted Kubernetes (K8s inside itself) to autonomously
recover from failure scenarios with the help of e.g. itself, systemd and
checkpointing. We will ask and answer questions like “What happens when xxx
dies”. The theory will be followed by a demo on a live cluster showcasing what
happens when we kill central Kubernetes components, like the API-Server. Let’s
see how well Kubernetes recovers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk End-to-end monitoring with the Prometheus Operator</title>
      <link>https://max-inden.de/post/end-to-end-monitoring-with-the-prometheus-operator/</link>
      <pubDate>Sat, 19 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/end-to-end-monitoring-with-the-prometheus-operator/</guid>
      <description>&lt;p&gt;Kubernetes is a powerful system to build and operate a modern cloud-native infrastructure. Monitoring with Prometheus ensures that Kubernetes stays healthy. Prometheus is a stateful application, so operating it in a cloud native environment can be a challenging task. The Prometheus Operator makes running highly available Prometheus clusters, and even an entire end to end monitoring pipeline, easily manageable. Max will explain the functionality of the Prometheus Operator and describe a desirable end-to-end monitoring stack, including alerts and dashboards.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk Intro to Kubernetes</title>
      <link>https://max-inden.de/post/introduction-to-k8s/</link>
      <pubDate>Sat, 19 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/introduction-to-k8s/</guid>
      <description>&lt;p&gt;Distributing and deploying software inside (Docker-) containers for security,
isolation and ease of use is the new big thing. But once you got all your
services nicely wrapped - who takes care of all these containers?&lt;/p&gt;
&lt;p&gt;The open source project Kubernetes, originating from Google, helps you manage
containerized applications, as the operating system of your datacenter, treating
hundreds of machines as a single resource pool. This talk introduces the core
concepts of Kubernetes, its benefits and its huge ecosystem and gives you an
idea of how Google controls parts of their gigantic infrastructure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Talk Improving user and developer experience of the Alertmanager UI</title>
      <link>https://max-inden.de/post/improving-user-and-developer-experience-of-the-alertmanager-ui/</link>
      <pubDate>Fri, 18 Aug 2017 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/improving-user-and-developer-experience-of-the-alertmanager-ui/</guid>
      <description>&lt;p&gt;Alertmanager deduplicates, groups, and routes alerts from Prometheus to all kinds of paging services. With it comes a dated UI which does not live up to the expectations of the users, nor does it attract new contributors.&lt;/p&gt;
&lt;p&gt;From this talk, you will learn how we addressed these issues when building the new UI from scratch. We made it friendlier to users by removing unnecessary domain language noise. In addition we added new power features such as filtering and grouping. As a result, it is now much easier to navigate through thousands of alerts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Triathlon</title>
      <link>https://max-inden.de/post/2017-06-11-triathlon/</link>
      <pubDate>Sun, 11 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2017-06-11-triathlon/</guid>
      <description>&lt;p&gt;Finished my very
first &lt;a href=&#34;https://connect.garmin.com/modern/activity/1792046557&#34;&gt;Triathlon&lt;/a&gt; today
here in Berlin. I survived the swimming way better than I thougt, biking wasn&amp;rsquo;t
a big problem, but the 10 k at the end were more of a stumbling then a running.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;alt text&#34; loading=&#34;lazy&#34; src=&#34;https://max-inden.de/assets/17-06-11.jpg&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Angels Island</title>
      <link>https://max-inden.de/post/2017-02-12-angels-island/</link>
      <pubDate>Sun, 12 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2017-02-12-angels-island/</guid>
      <description>&lt;p&gt;Sunday five mile hike around Angels Island. Great to get out of the city from time to time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Quick run through SF</title>
      <link>https://max-inden.de/post/2017-02-11-quick-run-through-sf/</link>
      <pubDate>Sat, 11 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2017-02-11-quick-run-through-sf/</guid>
      <description>&lt;p&gt;My first 16 miles run. Nearly blacked out at the end. Amazing route!&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;alt text&#34; loading=&#34;lazy&#34; src=&#34;https://max-inden.de/assets/17-02-11.png&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Back in Germany</title>
      <link>https://max-inden.de/post/2016-12-17-back-in-germany/</link>
      <pubDate>Sat, 17 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-12-17-back-in-germany/</guid>
      <description>&lt;p&gt;After two delayed flights, one canceled flight and two lost bags I made it back
home to Germany.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Back in San Francisco</title>
      <link>https://max-inden.de/post/2016-12-08-back-in-san-francisco/</link>
      <pubDate>Thu, 08 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-12-08-back-in-san-francisco/</guid>
      <description>&lt;p&gt;Made it back to San Francisco. Crashed on a good friends couch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flying to Las Vegas</title>
      <link>https://max-inden.de/post/2016-12-06-flying-to-las-vegas/</link>
      <pubDate>Tue, 06 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-12-06-flying-to-las-vegas/</guid>
      <description>&lt;p&gt;On my way back to San Francisco I made a quick stop in Las Vegas. A friend I
met in Austin showed me around. Visited Downtwon, the strip and the Red Rocks.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tourist Tour through Austin</title>
      <link>https://max-inden.de/post/2016-12-04-tourist-tour-through-austin/</link>
      <pubDate>Sun, 04 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-12-04-tourist-tour-through-austin/</guid>
      <description>&lt;p&gt;I went to the Texas State Capitol, learned a bunch about Texas history gaining
independence, joined a local hiking &lt;em&gt;Meetup&lt;/em&gt; and looked at the graffiti park.&lt;/p&gt;</description>
    </item>
    <item>
      <title>First Yoga Class</title>
      <link>https://max-inden.de/post/2016-12-01-first-yoga-class/</link>
      <pubDate>Thu, 01 Dec 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-12-01-first-yoga-class/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;20:20 - Hi Max, wanna join Yoga Class tonight?&lt;/li&gt;
&lt;li&gt;20:21 - Sure, never tried though.&lt;/li&gt;
&lt;li&gt;20:30 - &lt;em&gt;Class starts&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My first Yoga class. It was extremly exhausting. Definitely doing it again some time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Accomodation at Barton Springs Road</title>
      <link>https://max-inden.de/post/2016-11-30-accomodation-at-barton-springs-road/</link>
      <pubDate>Wed, 30 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-30-accomodation-at-barton-springs-road/</guid>
      <description>&lt;p&gt;I got an &lt;em&gt;AirBnB&lt;/em&gt; across the Colorado River fairly close to downtown. My hosts
are great. Looking forward to the next days. Surrounded by great restaurants.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flight to Austin</title>
      <link>https://max-inden.de/post/2016-11-28-flight-to-austin/</link>
      <pubDate>Mon, 28 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-28-flight-to-austin/</guid>
      <description>&lt;p&gt;I am going to Austin Texas for the &lt;em&gt;NodeJS Interactive&lt;/em&gt; conference. Am looking
forward to some great talks both on &lt;em&gt;NodeJS&lt;/em&gt; itself and microservice
architectures. Flying over night - saving one night of accomodation.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pierce Point</title>
      <link>https://max-inden.de/post/2016-11-27-pierce-point/</link>
      <pubDate>Sun, 27 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-27-pierce-point/</guid>
      <description>&lt;p&gt;Hiking to the &lt;em&gt;Pierce Point&lt;/em&gt;. We have seen something that looked like a fox and
plenty of Elks. It is a scenic view along the coast.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visiting Berkeley</title>
      <link>https://max-inden.de/post/2016-11-26-visiting-berkeley/</link>
      <pubDate>Sat, 26 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-26-visiting-berkeley/</guid>
      <description>&lt;p&gt;With two friends of mine I wen to
&lt;a href=&#34;https://en.wikipedia.org/wiki/Berkeley,_California&#34;&gt;&lt;em&gt;Berkeley&lt;/em&gt;&lt;/a&gt;. We started
with downtown &lt;em&gt;Berkeley&lt;/em&gt; and then made our way up to the &lt;a href=&#34;https://en.wikipedia.org/wiki/University_of_California,_Berkeley&#34;&gt;university
campus&lt;/a&gt;. We
hiked all the way up to &lt;a href=&#34;https://en.wikipedia.org/wiki/Lawrence_Hall_of_Science&#34;&gt;&lt;em&gt;Lawrence Hall of
Science&lt;/em&gt;&lt;/a&gt; from where we
had an amazing view over the entire bay.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Thanksgiving</title>
      <link>https://max-inden.de/post/2016-11-24-thanksgiving/</link>
      <pubDate>Thu, 24 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-24-thanksgiving/</guid>
      <description>&lt;p&gt;A very fun friend of mine from &lt;em&gt;Covo&lt;/em&gt; with whom I shared a lot of great
discussions on coding and code quality in particular invited me over for
Thanksgiving. I felt &lt;strong&gt;very&lt;/strong&gt; welcome. We talked a lot about politics. It is
super interesting to see an American point of view on it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Alcatraz</title>
      <link>https://max-inden.de/post/2016-11-19-alcatraz/</link>
      <pubDate>Sat, 19 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-19-alcatraz/</guid>
      <description>&lt;p&gt;I booked a tour for Alcatraz. My first time on a boat in the &lt;em&gt;Bay Area&lt;/em&gt;. The
weather was horrible - setting the perfect mood for visiting a prison.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Friday Evening Friendsgiving</title>
      <link>https://max-inden.de/post/2016-11-18-friday-evening-friendsgiving/</link>
      <pubDate>Fri, 18 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-18-friday-evening-friendsgiving/</guid>
      <description>&lt;p&gt;A cowoker / great friend of mine from &lt;em&gt;Covo&lt;/em&gt; invited me over for a
friendsgiving at his place. Like the day before, great food and a great party
in a beautiful house in &lt;em&gt;Potrero Hill&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Friendsgiving at Covo</title>
      <link>https://max-inden.de/post/2016-11-17-friendsgiving-at-covo/</link>
      <pubDate>Thu, 17 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-17-friendsgiving-at-covo/</guid>
      <description>&lt;p&gt;The coworking space I currently work at, &lt;em&gt;Covo&lt;/em&gt;, arranged a friendsgiving for
lunch. Everybody contributed to the dinner. We had plenty of food and a great
time. My first friendsgiving.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Visiting the Google Campus</title>
      <link>https://max-inden.de/post/2016-11-13-visiting-the-google-campus/</link>
      <pubDate>Sun, 13 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-13-visiting-the-google-campus/</guid>
      <description>&lt;p&gt;There was a conference at the &lt;a href=&#34;https://en.wikipedia.org/wiki/Googleplex&#34;&gt;&lt;em&gt;Google&lt;/em&gt;
campus&lt;/a&gt; on Sunday. I really enjoyed
the talks. I was especially interested in the topics architecture and
artificial intelligence.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Golden Gate Bridge</title>
      <link>https://max-inden.de/post/2016-11-12-golden-gate-bridge/</link>
      <pubDate>Sat, 12 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-12-golden-gate-bridge/</guid>
      <description>&lt;p&gt;I woke up reasonably early on Saturday to go to the Golden Gaten Bridge. The bus ride from Ingleside took me an hour. I started my hike in the &lt;a href=&#34;https://en.wikipedia.org/wiki/Presidio_of_San_Francisco&#34;&gt;Presidio&lt;/a&gt; park along the west coast. I found some lonely beaches. I felt nothing like being in a city. Afterwards I walked over the Golden Gate Bridge where two friends of mine, Simon and Marc, picked me up. We drove to &lt;a href=&#34;https://en.wikipedia.org/wiki/Muir_Beach,_California&#34;&gt;Muir Beach&lt;/a&gt;, &lt;a href=&#34;https://en.wikipedia.org/wiki/Stinson_Beach,_California&#34;&gt;Stinson Beach&lt;/a&gt;, &lt;a href=&#34;https://en.wikipedia.org/wiki/Tiburon,_California&#34;&gt;Tiboron&lt;/a&gt; and &lt;a href=&#34;https://en.wikipedia.org/wiki/Sausalito,_California&#34;&gt;Sausalito&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finding the Perfect Coworking Space</title>
      <link>https://max-inden.de/post/2016-11-02-finding-the-perfect-coworking-space/</link>
      <pubDate>Wed, 02 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-02-finding-the-perfect-coworking-space/</guid>
      <description>&lt;p&gt;As we are working from San Francisco for the rest of the month, we were looking
for a coworking space. Well, &amp;hellip; not just one coworking space, but the
coworking space. We started our search on Wednesday with the &lt;a href=&#34;href=%22http://www.parisoma.com/%22&#34;&gt;coworking
space&lt;/a&gt;, Thursday we looked at
&lt;a href=&#34;http://nextspace.us/&#34;&gt;NextSpace&lt;/a&gt;, Wework and
&lt;a href=&#34;http://www.bespokesf.co/&#34;&gt;Bespoke&lt;/a&gt; In the evening we decided to go with
Bespoken until we passed by two more coworking spaces
(&lt;a href=&#34;http://www.hellocovo.com/&#34;&gt;Covo&lt;/a&gt; and &lt;a href=&#34;http://www.hellocovo.com/&#34;&gt;Impact Hub&lt;/a&gt;)
on our way to a restaurant. Friday we visited the last two coworking spaces and
finally settled on &lt;a href=&#34;http://www.hellocovo.com/&#34;&gt;Covo&lt;/a&gt; as the perfect space for
us.&lt;/p&gt;</description>
    </item>
    <item>
      <title>MongoDB Launchpad</title>
      <link>https://max-inden.de/post/2016-11-01-mongodb-launchpad/</link>
      <pubDate>Tue, 01 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-01-mongodb-launchpad/</guid>
      <description>&lt;p&gt;Been to the MongoDB Launchpad event, a release event for their
new version. Sadly it was more of a marketing event than a nerd
event. But the location was really nice with a view on the Golden
Gate Bridge (Fort Mason 2 Marina Blvd San Francisco, CA).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Moving to San Francisco</title>
      <link>https://max-inden.de/post/2016-11-01-moving-to-san-francisco/</link>
      <pubDate>Tue, 01 Nov 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-11-01-moving-to-san-francisco/</guid>
      <description>&lt;p&gt;I moved to San Francisco to the &lt;a href=&#34;http://www.coliving.club/&#34;&gt;Coliving Club&lt;/a&gt;. I
will miss Palo Alto.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pub Crawl</title>
      <link>https://max-inden.de/post/2016-10-30-pub-crawl/</link>
      <pubDate>Sun, 30 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-30-pub-crawl/</guid>
      <description>&lt;p&gt;I went out with my roommates again - this time a pub crawl mostly
in the city center.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Halloween Party or Art Event in San Francisco</title>
      <link>https://max-inden.de/post/2016-10-29-halloween-party-or-art-event-in-san-francisco/</link>
      <pubDate>Sat, 29 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-29-halloween-party-or-art-event-in-san-francisco/</guid>
      <description>&lt;p&gt;We, my roommates and I, went to a crazy Halloween Party at&lt;a href=&#34;https://en.wikipedia.org/wiki/Pier_70,_San_Francisco&#34;&gt;Pier
70&lt;/a&gt; in San Francisco, an
old industrial complex. The costumes of the other guests were amazing. They
seemed to be inspired by the &lt;a href=&#34;https://en.wikipedia.org/wiki/Burning_Man&#34;&gt;Burning
Man&lt;/a&gt; festival.&lt;/p&gt;</description>
    </item>
    <item>
      <title>JS Meetup in San Francisco</title>
      <link>https://max-inden.de/post/2016-10-27-js-meetup-in-san-francisco/</link>
      <pubDate>Thu, 27 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-27-js-meetup-in-san-francisco/</guid>
      <description>&lt;p&gt;I have been to a JS meetup in San Francisco in the Yelp HQ. It is an impressiv
&lt;a href=&#34;https://en.wikipedia.org/wiki/140_New_Montgomery&#34;&gt;building&lt;/a&gt; from 1925 known as
the &lt;em&gt;Pacific Bell Building&lt;/em&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rooftop apartment office</title>
      <link>https://max-inden.de/post/2016-10-25-rooftop-apartment-office/</link>
      <pubDate>Tue, 25 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-25-rooftop-apartment-office/</guid>
      <description>&lt;p&gt;Worked in a rooftop apartment today with a view over entire Palo Alto and parts
of the bay area. Sadly I can&amp;rsquo;t work from there every day.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hacker House One</title>
      <link>https://max-inden.de/post/2016-10-24-hacker-house-one/</link>
      <pubDate>Mon, 24 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-24-hacker-house-one/</guid>
      <description>&lt;p&gt;My first day at the first Hacker House in Palo Alto. House cleaning
is every Tuesday. I arrived on Monday. The people here are amazing.
Many startup founders - smart people all over the place. The
location, &lt;em&gt;635 Webster St., Palo Alto&lt;/em&gt;, is awesome, right in the
center.  This makes up for sleeping in a room with six other guys,
living in an apartment with 21 guys with two bathrooms.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hearst Castle</title>
      <link>https://max-inden.de/post/2016-10-23-hearst-castle/</link>
      <pubDate>Sun, 23 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-23-hearst-castle/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Hearst_Castle&#34;&gt;Hearst Castle&lt;/a&gt; is a huge
Landmark. We did a tour with an amazing tour guide, it was like Mr. Hearst
showed us around himself.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Los Angeles and Santa Monica</title>
      <link>https://max-inden.de/post/2016-10-22-los-angeles-and-santa-monica/</link>
      <pubDate>Sat, 22 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-22-los-angeles-and-santa-monica/</guid>
      <description>&lt;p&gt;We did a very short walk through Los Angeles and I took a longer walk around
&lt;a href=&#34;https://de.wikipedia.org/wiki/Santa_Monica&#34;&gt;Santa Monica&lt;/a&gt; and
(&lt;a href=&#34;https://en.wikipedia.org/wiki/Venice,_Los_Angeles)%5BVenice&#34;&gt;https://en.wikipedia.org/wiki/Venice,_Los_Angeles)[Venice&lt;/a&gt; beach]. I liked the
last two a lot.  In the next two days I am heading back to the San Francisco
bay area.&lt;/p&gt;</description>
    </item>
    <item>
      <title>San Diego</title>
      <link>https://max-inden.de/post/2016-10-19-san-diego/</link>
      <pubDate>Wed, 19 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-19-san-diego/</guid>
      <description>&lt;p&gt;We started of at the&lt;a href=&#34;https://en.wikipedia.org/wiki/Balboa_Park_(San_Diego)&#34;&gt;Balboa
Park&lt;/a&gt;&lt;/a&gt;, walked down
to &lt;a href=&#34;https://en.wikipedia.org/wiki/Little_Italy,_San_Diego&#34;&gt;Little Italy&lt;/a&gt;,
visited the &lt;a href=&#34;https://en.wikipedia.org/wiki/USS_Midway_Museum&#34;&gt;USS Midway aircraft carrier museum
ship&lt;/a&gt; and walked back to the
car through down town. This was my first time on an aircraft carrier, these
things are huge.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Last Man Standing</title>
      <link>https://max-inden.de/post/2016-10-18-last-man-standing/</link>
      <pubDate>Tue, 18 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-18-last-man-standing/</guid>
      <description>&lt;p&gt;Signed up for audience seats at the sitcom &lt;a href=&#34;https://en.wikipedia.org/wiki/Last_Man_Standing_(U.S._TV_series)&#34;&gt;Last Man
Standing&lt;/a&gt;. We
had to arrive at 3 for the show to start at 6. They hired a comedian just to
cheer up the audience - a little strange. It is very interesting to see how
small the entire set actually is. Most of the times the actors only need 2
tries for one scene - extremly professional.&lt;/p&gt;</description>
    </item>
    <item>
      <title>University of California Riverside</title>
      <link>https://max-inden.de/post/2016-10-17-university-of-california-riverside/</link>
      <pubDate>Mon, 17 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-17-university-of-california-riverside/</guid>
      <description>&lt;p&gt;We walked over the campus of the
&lt;a href=&#34;https://en.wikipedia.org/wiki/University_of_California,_Riverside&#34;&gt;University&lt;/a&gt;,
ate in the canteen and worked outside at desks with solar powered outlets.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Palm Springs</title>
      <link>https://max-inden.de/post/2016-10-16-palm-springs/</link>
      <pubDate>Sun, 16 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-16-palm-springs/</guid>
      <description>&lt;p&gt;First night in the Los Angeles area mostly for the mexican restaurant
&lt;em&gt;El Mirasol Cocina Mexicana&lt;/em&gt; across the street. There are many
huge beautiful villas like little oasis in Palm Springs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kings Canyon National Park</title>
      <link>https://max-inden.de/post/2016-10-15-kings-canyon-national-park/</link>
      <pubDate>Sat, 15 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-15-kings-canyon-national-park/</guid>
      <description>&lt;p&gt;We did a 10 Miles hike in the &lt;i&gt;Kings Canyon National Park&lt;/i&gt; up to
the &lt;i&gt;Mist Falls&lt;/i&gt;. This has been my favourite National Park so far
because of the very untouched nature.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hana Haus</title>
      <link>https://max-inden.de/post/2016-10-13-hana-haus/</link>
      <pubDate>Thu, 13 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-13-hana-haus/</guid>
      <description>&lt;p&gt;During the day we worked in the fancy &lt;a href=&#34;http://www.hanahaus.com&#34;&gt;Hana Haus&lt;/a&gt;, a
coworking space by SAP. Afterwards we stayed for a Design Thinking Talk at the
same place and finished the evening at a steake house close to the Apple
offices.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Docker HQ</title>
      <link>https://max-inden.de/post/2016-10-12-docker-hq/</link>
      <pubDate>Wed, 12 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-12-docker-hq/</guid>
      <description>&lt;p&gt;We visited the &lt;a href=&#34;http://docker.com&#34;&gt;Docker&lt;/a&gt; HQ for a meetup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pinnacles National Park</title>
      <link>https://max-inden.de/post/2016-10-11-pinnacles-national-park/</link>
      <pubDate>Tue, 11 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-11-pinnacles-national-park/</guid>
      <description>&lt;p&gt;We did two hikes, including a cave and three scary tarantulas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fleet Week</title>
      <link>https://max-inden.de/post/2016-10-09-fleet-week/</link>
      <pubDate>Sun, 09 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-09-fleet-week/</guid>
      <description>&lt;p&gt;We went to the San Francisco &lt;a href=&#34;http://fleetweeksf.org/&#34;&gt;Fleet Week&lt;/a&gt;.  My first
time to see SF downtown during daylight and the Golden Gate Bridge. Perfect
weather in a very crowded town.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Santa Cruz</title>
      <link>https://max-inden.de/post/2016-10-09-santa-cruz/</link>
      <pubDate>Sun, 09 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-09-santa-cruz/</guid>
      <description>&lt;p&gt;Exploring the beach area with all the surfers, working in a cafe and the hotel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Computer History Museum</title>
      <link>https://max-inden.de/post/2016-10-07-the-computer-history-museum/</link>
      <pubDate>Fri, 07 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-07-the-computer-history-museum/</guid>
      <description>&lt;p&gt;First thing to do in Silicon Valley- the &lt;a href=&#34;http://www.computerhistory.org/&#34;&gt;computer history
museum&lt;/a&gt;.  It is an amazing museum with all the
hardware I have ever dreamed of.  Showed me how much I don&amp;rsquo;t know about
computers, especially anything below logic gates.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flying to San Francisco</title>
      <link>https://max-inden.de/post/2016-10-06-flying-to-san-francisco/</link>
      <pubDate>Thu, 06 Oct 2016 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/post/2016-10-06-flying-to-san-francisco/</guid>
      <description>&lt;p&gt;Düsseldorf &amp;mdash;-&amp;gt; London &amp;ndash;&lt;small&gt;A380&lt;/small&gt;&amp;ndash;&amp;gt; San Francisco&lt;/p&gt;</description>
    </item>
    <item>
      <title>Readings</title>
      <link>https://max-inden.de/readings/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/readings/</guid>
      <description>&lt;h2 id=&#34;general&#34;&gt;General&lt;/h2&gt;
&lt;p&gt;Books&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Gregg, B. (2013). &lt;strong&gt;Systems performance: enterprise and the cloud&lt;/strong&gt;. Pearson
Education.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Beyer, B., Jones, C., Petoff, J., &amp;amp; Murphy, N. R. (2016). &lt;strong&gt;Site Reliability
Engineering: How Google Runs Production Systems&lt;/strong&gt;. &amp;quot; O&amp;rsquo;Reilly Media, Inc.&amp;quot;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href=&#34;https://web.stanford.edu/~ouster/cgi-bin/book.php&#34;&gt;Ousterhout, John K. &lt;strong&gt;A philosophy of software design&lt;/strong&gt;. Vol. 98. Palo Alto, CA, USA: Yaknyam Press, 2018.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Bakhvalov, Denis. &lt;a href=&#34;https://www.goodreads.com/book/show/221589431-performance-analysis-and-tuning-on-modern-cpus&#34;&gt;Performance Analysis and Tuning of Modern CPUs&lt;/a&gt;. D. Bakhvalov, 2020.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Tanenbaum, A. S., &amp;amp; Van Steen, M. (2017). &lt;strong&gt;Distributed systems&lt;/strong&gt;: principles and
paradigms.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resume</title>
      <link>https://max-inden.de/resume/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://max-inden.de/resume/</guid>
      <description>&lt;h2 id=&#34;experience&#34;&gt;Experience&lt;/h2&gt;
&lt;h3 id=&#34;software-engineer-at-mozilla&#34;&gt;Software Engineer at Mozilla&lt;/h3&gt;
&lt;p&gt;June 2024 - now&lt;/p&gt;
&lt;p&gt;Core maintainer of Firefox&amp;rsquo;s QUIC / HTTP/3 networking stack: &lt;a href=&#34;https://github.com/mozilla/neqo&#34;&gt;&lt;code&gt;neqo&lt;/code&gt;&lt;/a&gt; (Mozilla&amp;rsquo;s Rust QUIC implementation), its integration into Firefox, and related open-source libraries.
Across both Mozilla engagements: 378 pull requests and 500+ code reviews on &lt;code&gt;neqo&lt;/code&gt;, 100+ commits to Firefox, and 17+ shepherded &lt;code&gt;neqo&lt;/code&gt; releases (v0.9.0 to v0.25.0).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multi-gigabit UDP IO: &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=1901292&#34;&gt;rewrite&lt;/a&gt; Firefox&amp;rsquo;s legacy NSPR-based UDP IO path as a modern, memory-safe Rust stack on top of &lt;a href=&#34;https://github.com/quinn-rs/quinn/tree/main/quinn-udp&#34;&gt;&lt;code&gt;quinn-udp&lt;/code&gt;&lt;/a&gt;, &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=1901295&#34;&gt;rolled out&lt;/a&gt; across Linux, Windows, macOS and Android. Multi-packet IO (&lt;code&gt;recvmmsg&lt;/code&gt;), Generic Segmentation/Receive Offload (GSO/GRO) and a &lt;a href=&#34;https://github.com/mozilla/neqo/pull/2184&#34;&gt;zero-allocation receive path&lt;/a&gt; raised CPU-bound throughput from &amp;lt; 1 Gbit/s to &lt;a href=&#34;https://max-inden.de/post/fast-udp-io-in-firefox/&#34;&gt;4 Gbit/s&lt;/a&gt;. Built &lt;a href=&#34;https://github.com/mozilla/neqo/pull/1758&#34;&gt;IO benchmarks&lt;/a&gt; with &lt;a href=&#34;https://github.com/mozilla/neqo/pull/2580&#34;&gt;CI regression detection&lt;/a&gt; to drive the work.&lt;/li&gt;
&lt;li&gt;Explicit Congestion Notification (ECN): implement &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=1902065&#34;&gt;end-to-end QUIC ECN&lt;/a&gt; covering marking, reading, RFC 9000 path validation and Congestion Experienced feedback to the congestion controller, resilient to middlebox interference. ~50% of Firefox Nightly QUIC connections now run on ECN-capable paths.&lt;/li&gt;
&lt;li&gt;Flow control: &lt;a href=&#34;https://github.com/mozilla/neqo/pull/3314&#34;&gt;stabilize stream receive-window auto-tuning&lt;/a&gt; toward the bandwidth-delay product, replacing a hard 1 MB cap (~160 Mbit/s on a 50 ms link).&lt;/li&gt;
&lt;li&gt;New protocols: implement &lt;a href=&#34;https://github.com/mozilla/neqo/pull/2796&#34;&gt;MASQUE connect-udp (RFC 9298)&lt;/a&gt; and classic HTTP CONNECT over HTTP/3, letting Firefox proxy both TCP and UDP over a single HTTP/3 connection. Improve WebTransport support.&lt;/li&gt;
&lt;li&gt;Happy Eyeballs v3: author &lt;a href=&#34;https://github.com/mozilla/happy-eyeballs&#34;&gt;&lt;code&gt;mozilla/happy-eyeballs&lt;/code&gt;&lt;/a&gt; from scratch: a protocol-agnostic Rust state machine for dual-stack connection racing (HTTPS/SVCB records, alt-svc, ECH retry configs per RFC 9849), integrated into Firefox. Contribute to the &lt;a href=&#34;https://github.com/ietf-wg-happy/draft-happy-eyeballs-v3&#34;&gt;IETF Happy Eyeballs v3 draft&lt;/a&gt; and present the work at &lt;a href=&#34;https://youtu.be/l9eId_Yjoew&#34;&gt;IETF 125&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Telemetry &amp;amp; profiling: introduce &lt;a href=&#34;https://bugzilla.mozilla.org/show_bug.cgi?id=1906853&#34;&gt;Glean metrics&lt;/a&gt; and Firefox profiler markers into the HTTP3/QUIC Rust stack.&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/quinn-rs/quinn/tree/main/quinn-udp&#34;&gt;&lt;code&gt;quinn-udp&lt;/code&gt;&lt;/a&gt; maintainer: the cross-platform UDP IO crate shared by Quinn and Firefox (45 PRs); fix platform issues (Windows ARM USO, Android &lt;code&gt;EINVAL&lt;/code&gt;, macOS address families) that benefit the wider Rust networking ecosystem.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;external-contributor-to-mozillas-http3quic-stack&#34;&gt;External contributor to Mozilla&amp;rsquo;s HTTP3/QUIC stack&lt;/h3&gt;
&lt;p&gt;December 2023 - May 2024&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
