<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" encoding="UTF-8" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:atom="http://www.w3.org/2005/Atom/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:fireside="http://fireside.fm/modules/rss/fireside">
  <channel>
    <fireside:hostname>web02.fireside.fm</fireside:hostname>
    <fireside:genDate>Tue, 02 Jun 2026 03:26:55 -0500</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>Thinking Elixir Podcast - Episodes Tagged with “Plug”</title>
    <link>https://podcast.thinkingelixir.com/tags/plug</link>
    <pubDate>Tue, 19 May 2026 04:15:00 -0600</pubDate>
    <description>The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community. Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more. Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process. Subscribe to join us on this journey!</description>
    <language>en-us</language>
    <itunes:type>episodic</itunes:type>
    <itunes:subtitle>News and interviews for the Elixir community</itunes:subtitle>
    <itunes:author>ThinkingElixir.com</itunes:author>
    <itunes:summary>The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community. Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more. Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process. Subscribe to join us on this journey!</itunes:summary>
    <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/8/811c9756-babe-40ac-8c25-b3bb24e522e0/cover.jpg?v=2"/>
    <itunes:explicit>no</itunes:explicit>
    <itunes:keywords>elixir, programming, web, clustering, phoenix, liveview, news, developer</itunes:keywords>
    <itunes:owner>
      <itunes:name>ThinkingElixir.com</itunes:name>
      <itunes:email>podcast@thinkingelixir.com</itunes:email>
    </itunes:owner>
<itunes:category text="Education">
  <itunes:category text="How To"/>
</itunes:category>
<itunes:category text="News">
  <itunes:category text="Tech News"/>
</itunes:category>
<itunes:category text="Technology"/>
<item>
  <title>304: Types, CVEs, and Hot Reloads</title>
  <link>https://podcast.thinkingelixir.com/304</link>
  <guid isPermaLink="false">76d5bd37-a36c-4aae-8cc5-c1058442c42b</guid>
  <pubDate>Tue, 19 May 2026 04:15:00 -0600</pubDate>
  <author>ThinkingElixir.com</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/811c9756-babe-40ac-8c25-b3bb24e522e0/76d5bd37-a36c-4aae-8cc5-c1058442c42b.mp3" length="20107264" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>ThinkingElixir.com</itunes:author>
  <itunes:subtitle>News includes Elixir’s set-theoretic type inference completing all language constructs, OTP 29.0 released, a wave of CVEs hitting the Phoenix stack, big SWAR string performance gains, and a LiveView hot-reload tip, and more!</itunes:subtitle>
  <itunes:duration>27:30</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/8/811c9756-babe-40ac-8c25-b3bb24e522e0/cover.jpg?v=2"/>
  <description>&lt;p&gt;News includes a major milestone for Elixir's set-theoretic types as inference of all language constructs is completed and merged with Elixir v1.20.0-rc.5 hot on its heels, OTP 29.0 drops as a major release with secure-by-default SSH, post-quantum SSL key exchange, Erlang doctests, and more, a wave of high-severity CVEs hits the Elixir and Phoenix stack prompting the EEF CNA to take on a larger work load as AI-driven vulnerability reports surge, string processing in Elixir gets a serious speed boost via SWAR (SIMD Within A Register) optimizations with 1.5–5x improvements across Base and String operations, and a handy tip for enabling state-preserving hot reloads in Phoenix LiveView with just a small dev.exs config tweak, and more!&lt;/p&gt;

&lt;p&gt;Show Notes online - &lt;a href="http://podcast.thinkingelixir.com/304" target="_blank" rel="nofollow noopener"&gt;http://podcast.thinkingelixir.com/304&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elixir Community News&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://paraxial.io/?utm_source=thinkingelixir&amp;amp;utm_campaign=thinkingelixir-oct2025" target="_blank" rel="nofollow noopener"&gt;https://paraxial.io/&lt;/a&gt; – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/josevalim/status/2054202778990383152?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://x.com/josevalim/status/2054202778990383152&lt;/a&gt; – José Valim announces that "inference of all language constructs" for Elixir's set-theoretic types has been completed and merged.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-lang/elixir/issues/14558?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/elixir-lang/elixir/issues/14558&lt;/a&gt; – The meta-issue tracking set-theoretic type inference of all Elixir constructs, now wrapped up. Includes occurrence typing for high-degree precision. A new RC is expected soon on the way to Elixir v1.20.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://x.com/josevalim/status/2054631923893313662?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://x.com/josevalim/status/2054631923893313662&lt;/a&gt; – José Valim announces the release of Elixir v1.20.0-rc.5 with the latest batch of typing and performance improvements.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.5?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.5&lt;/a&gt; – Release notes for Elixir v1.20.0-rc.5. The team says they are very close to the final release and encourages users to try it and report issues.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cna.erlef.org/?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://cna.erlef.org/&lt;/a&gt; – The EEF CNA (CVE Numbering Authority) has seen a large increase in volume of CVEs, largely driven by AI tools. They are considering a funding campaign to cover the increased costs of fixing and administering CVEs.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/tylerayoung.com/post/3mlsxbdmrw22e?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://bsky.app/profile/tylerayoung.com/post/3mlsxbdmrw22e&lt;/a&gt; – Tyler Young highlights a heap of recent high-severity CVEs published against the typical Elixir + Phoenix web stack. Packages to check include cowboy &amp;lt; 2.15.0, cowlib &amp;lt; 2.16.1, plug &amp;lt; 1.19.2, bandit &amp;lt; 1.11.1, and decimal &amp;lt; 3.0.0.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cna.erlef.org/cves/?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://cna.erlef.org/cves/&lt;/a&gt; – Full list of CVEs issued by the EEF CNA.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hex.pm/packages/mix_audit?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://hex.pm/packages/mix_audit&lt;/a&gt; – The mix_audit package can be installed and run via &lt;code&gt;mix deps.audit&lt;/code&gt; to check your app against up-to-date published CVEs. Recommended to make it part of your CI pipeline.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.erlang.org/news/188?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://www.erlang.org/news/188&lt;/a&gt; – OTP 29.0 released as a new major version. Highlights include unsafe function warnings, SSH daemon now defaults to disabled shell/exec services, SFTP no longer enabled by default, post-quantum hybrid key exchange as default in SSL, ANSI terminal support, Erlang doctest support, and xref now handles ignore_xref natively. Note that 32-bit Windows builds are no longer available.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bsky.app/profile/peterullrich.com/post/3mlmb7kwgoc2w?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://bsky.app/profile/peterullrich.com/post/3mlmb7kwgoc2w&lt;/a&gt; – Peter Ullrich highlights performance improvements landing in Elixir — Base.valid(16|32|64)? is now 1.5-2.8x faster thanks to SWAR (SIMD Within A Register) optimizations.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-lang/elixir/pull/15357?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/elixir-lang/elixir/pull/15357&lt;/a&gt; – PR adding SWAR (SIMD Within A Register) versions of Base validations to Elixir. SWAR treats a CPU register like a small vector to check multiple bytes at once instead of one by one.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-lang/elixir/pull/15255?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/elixir-lang/elixir/pull/15255&lt;/a&gt; – PR applying SWAR optimization to ASCII fast paths in String.length/1 and String.slice, yielding 2-5x improvements for pure-ASCII strings.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/erlang/otp/pull/10948?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/erlang/otp/pull/10948&lt;/a&gt; – The SWAR technique was also applied to Erlang itself, accelerating binary ASCII traversal using 56-bit SWAR. Improvements range from 0x to 2x depending on the operation.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/posts/jskalec_phoenix-liveview-has-one-massive-dx-feature-share-7459520758126473216-glO8?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://www.linkedin.com/posts/jskalec_phoenix-liveview-has-one-massive-dx-feature-share-7459520758126473216-glO8&lt;/a&gt; – The creator of the live_vue project shares a tip for enabling state-preserving hot reloads in Phoenix LiveView.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you have some Elixir news to share? Tell us at &lt;a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;@ThinkingElixir&lt;/a&gt; or email at &lt;a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;show@thinkingelixir.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find us online&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Message the show - &lt;a href="https://bsky.app/profile/thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Message the show - &lt;a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Message the show on Fediverse - &lt;a href="https://genserver.social/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;@ThinkingElixir@genserver.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Email the show - &lt;a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;show@thinkingelixir.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Ericksen on X - &lt;a href="https://x.com/brainlid" target="_blank" rel="nofollow noopener"&gt;@brainlid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Ericksen on Bluesky - &lt;a href="https://bsky.app/profile/brainlid.bsky.social" target="_blank" rel="nofollow noopener"&gt;@brainlid.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Ericksen on Fediverse - &lt;a href="https://genserver.social/brainlid" target="_blank" rel="nofollow noopener"&gt;@brainlid@genserver.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David Bernheisel on Bluesky - &lt;a href="https://bsky.app/profile/david.bernheisel.com" target="_blank" rel="nofollow noopener"&gt;@david.bernheisel.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David Bernheisel on Fediverse - &lt;a href="https://genserver.social/dbern" target="_blank" rel="nofollow noopener"&gt;@dbern@genserver.social&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>elixir, news, OTP, CVE, plug, optimization, string, LiveView</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>News includes a major milestone for Elixir's set-theoretic types as inference of all language constructs is completed and merged with Elixir v1.20.0-rc.5 hot on its heels, OTP 29.0 drops as a major release with secure-by-default SSH, post-quantum SSL key exchange, Erlang doctests, and more, a wave of high-severity CVEs hits the Elixir and Phoenix stack prompting the EEF CNA to take on a larger work load as AI-driven vulnerability reports surge, string processing in Elixir gets a serious speed boost via SWAR (SIMD Within A Register) optimizations with 1.5–5x improvements across Base and String operations, and a handy tip for enabling state-preserving hot reloads in Phoenix LiveView with just a small dev.exs config tweak, and more!</p>

<p>Show Notes online - <a href="http://podcast.thinkingelixir.com/304" target="_blank" rel="nofollow noopener">http://podcast.thinkingelixir.com/304</a></p>

<p><strong>Elixir Community News</strong></p>

<ul>
<li><a href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025" target="_blank" rel="nofollow noopener">https://paraxial.io/</a> – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer.</li>
<li><a href="https://x.com/josevalim/status/2054202778990383152?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://x.com/josevalim/status/2054202778990383152</a> – José Valim announces that "inference of all language constructs" for Elixir's set-theoretic types has been completed and merged.</li>
<li><a href="https://github.com/elixir-lang/elixir/issues/14558?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/issues/14558</a> – The meta-issue tracking set-theoretic type inference of all Elixir constructs, now wrapped up. Includes occurrence typing for high-degree precision. A new RC is expected soon on the way to Elixir v1.20.</li>
<li><a href="https://x.com/josevalim/status/2054631923893313662?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://x.com/josevalim/status/2054631923893313662</a> – José Valim announces the release of Elixir v1.20.0-rc.5 with the latest batch of typing and performance improvements.</li>
<li><a href="https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.5?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.5</a> – Release notes for Elixir v1.20.0-rc.5. The team says they are very close to the final release and encourages users to try it and report issues.</li>
<li><a href="https://cna.erlef.org/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://cna.erlef.org/</a> – The EEF CNA (CVE Numbering Authority) has seen a large increase in volume of CVEs, largely driven by AI tools. They are considering a funding campaign to cover the increased costs of fixing and administering CVEs.</li>
<li><a href="https://bsky.app/profile/tylerayoung.com/post/3mlsxbdmrw22e?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://bsky.app/profile/tylerayoung.com/post/3mlsxbdmrw22e</a> – Tyler Young highlights a heap of recent high-severity CVEs published against the typical Elixir + Phoenix web stack. Packages to check include cowboy &lt; 2.15.0, cowlib &lt; 2.16.1, plug &lt; 1.19.2, bandit &lt; 1.11.1, and decimal &lt; 3.0.0.</li>
<li><a href="https://cna.erlef.org/cves/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://cna.erlef.org/cves/</a> – Full list of CVEs issued by the EEF CNA.</li>
<li><a href="https://hex.pm/packages/mix_audit?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://hex.pm/packages/mix_audit</a> – The mix_audit package can be installed and run via <code>mix deps.audit</code> to check your app against up-to-date published CVEs. Recommended to make it part of your CI pipeline.</li>
<li><a href="https://www.erlang.org/news/188?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://www.erlang.org/news/188</a> – OTP 29.0 released as a new major version. Highlights include unsafe function warnings, SSH daemon now defaults to disabled shell/exec services, SFTP no longer enabled by default, post-quantum hybrid key exchange as default in SSL, ANSI terminal support, Erlang doctest support, and xref now handles ignore_xref natively. Note that 32-bit Windows builds are no longer available.</li>
<li><a href="https://bsky.app/profile/peterullrich.com/post/3mlmb7kwgoc2w?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://bsky.app/profile/peterullrich.com/post/3mlmb7kwgoc2w</a> – Peter Ullrich highlights performance improvements landing in Elixir — Base.valid(16|32|64)? is now 1.5-2.8x faster thanks to SWAR (SIMD Within A Register) optimizations.</li>
<li><a href="https://github.com/elixir-lang/elixir/pull/15357?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/pull/15357</a> – PR adding SWAR (SIMD Within A Register) versions of Base validations to Elixir. SWAR treats a CPU register like a small vector to check multiple bytes at once instead of one by one.</li>
<li><a href="https://github.com/elixir-lang/elixir/pull/15255?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/pull/15255</a> – PR applying SWAR optimization to ASCII fast paths in String.length/1 and String.slice, yielding 2-5x improvements for pure-ASCII strings.</li>
<li><a href="https://github.com/erlang/otp/pull/10948?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/erlang/otp/pull/10948</a> – The SWAR technique was also applied to Erlang itself, accelerating binary ASCII traversal using 56-bit SWAR. Improvements range from 0x to 2x depending on the operation.</li>
<li><a href="https://www.linkedin.com/posts/jskalec_phoenix-liveview-has-one-massive-dx-feature-share-7459520758126473216-glO8?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://www.linkedin.com/posts/jskalec_phoenix-liveview-has-one-massive-dx-feature-share-7459520758126473216-glO8</a> – The creator of the live_vue project shares a tip for enabling state-preserving hot reloads in Phoenix LiveView.</li>
</ul>

<p>Do you have some Elixir news to share? Tell us at <a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a> or email at <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></p>

<p><strong>Find us online</strong></p>

<ul>
<li>Message the show - <a href="https://bsky.app/profile/thinkingelixir.com" target="_blank" rel="nofollow noopener">Bluesky</a></li>
<li>Message the show - <a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener">X</a></li>
<li>Message the show on Fediverse - <a href="https://genserver.social/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir@genserver.social</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen on X - <a href="https://x.com/brainlid" target="_blank" rel="nofollow noopener">@brainlid</a></li>
<li>Mark Ericksen on Bluesky - <a href="https://bsky.app/profile/brainlid.bsky.social" target="_blank" rel="nofollow noopener">@brainlid.bsky.social</a></li>
<li>Mark Ericksen on Fediverse - <a href="https://genserver.social/brainlid" target="_blank" rel="nofollow noopener">@brainlid@genserver.social</a></li>
<li>David Bernheisel on Bluesky - <a href="https://bsky.app/profile/david.bernheisel.com" target="_blank" rel="nofollow noopener">@david.bernheisel.com</a></li>
<li>David Bernheisel on Fediverse - <a href="https://genserver.social/dbern" target="_blank" rel="nofollow noopener">@dbern@genserver.social</a></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025">Paraxial.io</a>: <a rel="nofollow" href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025">Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer.
</a></li></ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>News includes a major milestone for Elixir's set-theoretic types as inference of all language constructs is completed and merged with Elixir v1.20.0-rc.5 hot on its heels, OTP 29.0 drops as a major release with secure-by-default SSH, post-quantum SSL key exchange, Erlang doctests, and more, a wave of high-severity CVEs hits the Elixir and Phoenix stack prompting the EEF CNA to take on a larger work load as AI-driven vulnerability reports surge, string processing in Elixir gets a serious speed boost via SWAR (SIMD Within A Register) optimizations with 1.5–5x improvements across Base and String operations, and a handy tip for enabling state-preserving hot reloads in Phoenix LiveView with just a small dev.exs config tweak, and more!</p>

<p>Show Notes online - <a href="http://podcast.thinkingelixir.com/304" target="_blank" rel="nofollow noopener">http://podcast.thinkingelixir.com/304</a></p>

<p><strong>Elixir Community News</strong></p>

<ul>
<li><a href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025" target="_blank" rel="nofollow noopener">https://paraxial.io/</a> – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer.</li>
<li><a href="https://x.com/josevalim/status/2054202778990383152?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://x.com/josevalim/status/2054202778990383152</a> – José Valim announces that "inference of all language constructs" for Elixir's set-theoretic types has been completed and merged.</li>
<li><a href="https://github.com/elixir-lang/elixir/issues/14558?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/issues/14558</a> – The meta-issue tracking set-theoretic type inference of all Elixir constructs, now wrapped up. Includes occurrence typing for high-degree precision. A new RC is expected soon on the way to Elixir v1.20.</li>
<li><a href="https://x.com/josevalim/status/2054631923893313662?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://x.com/josevalim/status/2054631923893313662</a> – José Valim announces the release of Elixir v1.20.0-rc.5 with the latest batch of typing and performance improvements.</li>
<li><a href="https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.5?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/releases/tag/v1.20.0-rc.5</a> – Release notes for Elixir v1.20.0-rc.5. The team says they are very close to the final release and encourages users to try it and report issues.</li>
<li><a href="https://cna.erlef.org/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://cna.erlef.org/</a> – The EEF CNA (CVE Numbering Authority) has seen a large increase in volume of CVEs, largely driven by AI tools. They are considering a funding campaign to cover the increased costs of fixing and administering CVEs.</li>
<li><a href="https://bsky.app/profile/tylerayoung.com/post/3mlsxbdmrw22e?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://bsky.app/profile/tylerayoung.com/post/3mlsxbdmrw22e</a> – Tyler Young highlights a heap of recent high-severity CVEs published against the typical Elixir + Phoenix web stack. Packages to check include cowboy &lt; 2.15.0, cowlib &lt; 2.16.1, plug &lt; 1.19.2, bandit &lt; 1.11.1, and decimal &lt; 3.0.0.</li>
<li><a href="https://cna.erlef.org/cves/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://cna.erlef.org/cves/</a> – Full list of CVEs issued by the EEF CNA.</li>
<li><a href="https://hex.pm/packages/mix_audit?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://hex.pm/packages/mix_audit</a> – The mix_audit package can be installed and run via <code>mix deps.audit</code> to check your app against up-to-date published CVEs. Recommended to make it part of your CI pipeline.</li>
<li><a href="https://www.erlang.org/news/188?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://www.erlang.org/news/188</a> – OTP 29.0 released as a new major version. Highlights include unsafe function warnings, SSH daemon now defaults to disabled shell/exec services, SFTP no longer enabled by default, post-quantum hybrid key exchange as default in SSL, ANSI terminal support, Erlang doctest support, and xref now handles ignore_xref natively. Note that 32-bit Windows builds are no longer available.</li>
<li><a href="https://bsky.app/profile/peterullrich.com/post/3mlmb7kwgoc2w?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://bsky.app/profile/peterullrich.com/post/3mlmb7kwgoc2w</a> – Peter Ullrich highlights performance improvements landing in Elixir — Base.valid(16|32|64)? is now 1.5-2.8x faster thanks to SWAR (SIMD Within A Register) optimizations.</li>
<li><a href="https://github.com/elixir-lang/elixir/pull/15357?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/pull/15357</a> – PR adding SWAR (SIMD Within A Register) versions of Base validations to Elixir. SWAR treats a CPU register like a small vector to check multiple bytes at once instead of one by one.</li>
<li><a href="https://github.com/elixir-lang/elixir/pull/15255?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-lang/elixir/pull/15255</a> – PR applying SWAR optimization to ASCII fast paths in String.length/1 and String.slice, yielding 2-5x improvements for pure-ASCII strings.</li>
<li><a href="https://github.com/erlang/otp/pull/10948?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/erlang/otp/pull/10948</a> – The SWAR technique was also applied to Erlang itself, accelerating binary ASCII traversal using 56-bit SWAR. Improvements range from 0x to 2x depending on the operation.</li>
<li><a href="https://www.linkedin.com/posts/jskalec_phoenix-liveview-has-one-massive-dx-feature-share-7459520758126473216-glO8?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://www.linkedin.com/posts/jskalec_phoenix-liveview-has-one-massive-dx-feature-share-7459520758126473216-glO8</a> – The creator of the live_vue project shares a tip for enabling state-preserving hot reloads in Phoenix LiveView.</li>
</ul>

<p>Do you have some Elixir news to share? Tell us at <a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a> or email at <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></p>

<p><strong>Find us online</strong></p>

<ul>
<li>Message the show - <a href="https://bsky.app/profile/thinkingelixir.com" target="_blank" rel="nofollow noopener">Bluesky</a></li>
<li>Message the show - <a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener">X</a></li>
<li>Message the show on Fediverse - <a href="https://genserver.social/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir@genserver.social</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen on X - <a href="https://x.com/brainlid" target="_blank" rel="nofollow noopener">@brainlid</a></li>
<li>Mark Ericksen on Bluesky - <a href="https://bsky.app/profile/brainlid.bsky.social" target="_blank" rel="nofollow noopener">@brainlid.bsky.social</a></li>
<li>Mark Ericksen on Fediverse - <a href="https://genserver.social/brainlid" target="_blank" rel="nofollow noopener">@brainlid@genserver.social</a></li>
<li>David Bernheisel on Bluesky - <a href="https://bsky.app/profile/david.bernheisel.com" target="_blank" rel="nofollow noopener">@david.bernheisel.com</a></li>
<li>David Bernheisel on Fediverse - <a href="https://genserver.social/dbern" target="_blank" rel="nofollow noopener">@dbern@genserver.social</a></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025">Paraxial.io</a>: <a rel="nofollow" href="https://paraxial.io/?utm_source=thinkingelixir&amp;utm_campaign=thinkingelixir-oct2025">Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a special offer.
</a></li></ul>]]>
  </itunes:summary>
</item>
<item>
  <title>246: Dark Mode Debugger and Its RAG Time</title>
  <link>https://podcast.thinkingelixir.com/246</link>
  <guid isPermaLink="false">da9a652a-ff32-4b4d-bad5-61db35185c2d</guid>
  <pubDate>Tue, 25 Mar 2025 04:15:00 -0600</pubDate>
  <author>ThinkingElixir.com</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/811c9756-babe-40ac-8c25-b3bb24e522e0/da9a652a-ff32-4b4d-bad5-61db35185c2d.mp3" length="24317952" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>ThinkingElixir.com</itunes:author>
  <itunes:subtitle>News includes Plug v1.17.0 with dark mode, a Phoenix PR for co-located hooks, a new RAG library for LLMs, the Autumn syntax highlighter, an Elixir-built YouTube downloader, and more!</itunes:subtitle>
  <itunes:duration>33:21</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/8/811c9756-babe-40ac-8c25-b3bb24e522e0/cover.jpg?v=2"/>
  <description>&lt;p&gt;News includes the release of Plug v1.17.0 with dark mode support for Plug.Debugger, an exciting Phoenix PR for co-located hooks that would place hook logic directly next to component code, a new RAG (Retrieval Augmented Generation) library from Bitcrowd for enhancing LLM interactions with document management, a syntax highlighter called Autumn powered by Tree-sitter, an Elixir-built YouTube downloader project called Pinchflat, and more!&lt;/p&gt;

&lt;p&gt;Show Notes online - &lt;a href="http://podcast.thinkingelixir.com/246" target="_blank" rel="nofollow noopener"&gt;http://podcast.thinkingelixir.com/246&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elixir Community News&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gigalixir.com/thinking?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://gigalixir.com/thinking&lt;/a&gt; – Gigalixir is sponsoring the show, offering 20% off standard tier prices for a year with promo code "Thinking".&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-plug/plug/pull/1261?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/elixir-plug/plug/pull/1261&lt;/a&gt; – Plug v1.17.0 introduces dark mode to Plug.Debugger, providing a more comfortable experience for developers working in dark environments.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-plug/plug/pull/1263?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/elixir-plug/plug/pull/1263&lt;/a&gt; – Plug.Debugger now links to function definitions in Hexdocs, making it easier to understand errors.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/phoenixframework/phoenix_live_view/pull/3705?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/phoenixframework/phoenix_live_view/pull/3705&lt;/a&gt; – Phoenix PR in progress for "Co-located Hooks" that would allow hook logic to be placed next to component code.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-nx/fine/tree/main/example?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/elixir-nx/fine/tree/main/example&lt;/a&gt; – Fine, the C++ library for Elixir NIFs, now has an example project making it easier to experiment with C++ integrations in Elixir.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://podcast.thinkingelixir.com/244?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://podcast.thinkingelixir.com/244&lt;/a&gt; – Previous episode discussing Fine and how it integrates with PythonEx for embedding Python in Elixir.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/bitcrowd/rag?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/bitcrowd/rag&lt;/a&gt; – New RAG (Retrieval Augmented Generation) library for Elixir from Bitcrowd to help with LLM context and document management.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://bitcrowd.dev/a-rag-library-for-elixir/?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://bitcrowd.dev/a-rag-library-for-elixir/&lt;/a&gt; – Blog post explaining the new RAG library and its functionality for document ingestion, retrieval, and augmentation.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://expert-lsp.org/?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://expert-lsp.org/&lt;/a&gt; – Expert LSP, the built-in Elixir LSP, now has a reserved domain, though the site is currently empty.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kieraneglin/pinchflat?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/kieraneglin/pinchflat&lt;/a&gt; – Pinchflat is an Elixir-built project for downloading YouTube content locally, ideal for media centers or archiving.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leandrocp/autumn?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/leandrocp/autumn&lt;/a&gt; – Autumn is a new Elixir/tree-sitter syntax highlighter that supports terminal and HTML outputs, powered by Tree-sitter and Neovim themes.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://autumnus.dev/?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://autumnus.dev/&lt;/a&gt; – Website for the new Autumn syntax highlighter for Elixir.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/leandrocp/mdex?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://github.com/leandrocp/mdex&lt;/a&gt; – MDEx library updated to support CommonMark, GitHub Flavored Markdown, Wiki Links, Discord Markdown tags, emoji, and syntax highlighting via Autumn.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://voidzero.dev/posts/announcing-voidzero-inc?utm_source=thinkingelixir&amp;amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener"&gt;https://voidzero.dev/posts/announcing-voidzero-inc&lt;/a&gt; – Evan You (Vue.js creator) announces Vite Plus, a comprehensive JavaScript toolchain described as "Cargo but for JavaScript."&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you have some Elixir news to share? Tell us at &lt;a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;@ThinkingElixir&lt;/a&gt; or email at &lt;a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;show@thinkingelixir.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Find us online&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Message the show - &lt;a href="https://bsky.app/profile/thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Message the show - &lt;a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;X&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Message the show on Fediverse - &lt;a href="https://genserver.social/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;@ThinkingElixir@genserver.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Email the show - &lt;a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;show@thinkingelixir.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Ericksen on X - &lt;a href="https://x.com/brainlid" target="_blank" rel="nofollow noopener"&gt;@brainlid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Ericksen on Bluesky - &lt;a href="https://bsky.app/profile/brainlid.bsky.social" target="_blank" rel="nofollow noopener"&gt;@brainlid.bsky.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Ericksen on Fediverse - &lt;a href="https://genserver.social/brainlid" target="_blank" rel="nofollow noopener"&gt;@brainlid@genserver.social&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David Bernheisel on Bluesky - &lt;a href="https://bsky.app/profile/david.bernheisel.com" target="_blank" rel="nofollow noopener"&gt;@david.bernheisel.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David Bernheisel on Fediverse - &lt;a href="https://genserver.social/dbern" target="_blank" rel="nofollow noopener"&gt;@dbern@genserver.social&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>elixir, plug, RAG, fine, pinchflat, vuejs, vite plus</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>News includes the release of Plug v1.17.0 with dark mode support for Plug.Debugger, an exciting Phoenix PR for co-located hooks that would place hook logic directly next to component code, a new RAG (Retrieval Augmented Generation) library from Bitcrowd for enhancing LLM interactions with document management, a syntax highlighter called Autumn powered by Tree-sitter, an Elixir-built YouTube downloader project called Pinchflat, and more!</p>

<p>Show Notes online - <a href="http://podcast.thinkingelixir.com/246" target="_blank" rel="nofollow noopener">http://podcast.thinkingelixir.com/246</a></p>

<p><strong>Elixir Community News</strong></p>

<ul>
<li><a href="https://gigalixir.com/thinking?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://gigalixir.com/thinking</a> – Gigalixir is sponsoring the show, offering 20% off standard tier prices for a year with promo code "Thinking".</li>
<li><a href="https://github.com/elixir-plug/plug/pull/1261?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-plug/plug/pull/1261</a> – Plug v1.17.0 introduces dark mode to Plug.Debugger, providing a more comfortable experience for developers working in dark environments.</li>
<li><a href="https://github.com/elixir-plug/plug/pull/1263?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-plug/plug/pull/1263</a> – Plug.Debugger now links to function definitions in Hexdocs, making it easier to understand errors.</li>
<li><a href="https://github.com/phoenixframework/phoenix_live_view/pull/3705?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/phoenixframework/phoenix_live_view/pull/3705</a> – Phoenix PR in progress for "Co-located Hooks" that would allow hook logic to be placed next to component code.</li>
<li><a href="https://github.com/elixir-nx/fine/tree/main/example?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-nx/fine/tree/main/example</a> – Fine, the C++ library for Elixir NIFs, now has an example project making it easier to experiment with C++ integrations in Elixir.</li>
<li><a href="https://podcast.thinkingelixir.com/244?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://podcast.thinkingelixir.com/244</a> – Previous episode discussing Fine and how it integrates with PythonEx for embedding Python in Elixir.</li>
<li><a href="https://github.com/bitcrowd/rag?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/bitcrowd/rag</a> – New RAG (Retrieval Augmented Generation) library for Elixir from Bitcrowd to help with LLM context and document management.</li>
<li><a href="https://bitcrowd.dev/a-rag-library-for-elixir/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://bitcrowd.dev/a-rag-library-for-elixir/</a> – Blog post explaining the new RAG library and its functionality for document ingestion, retrieval, and augmentation.</li>
<li><a href="https://expert-lsp.org/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://expert-lsp.org/</a> – Expert LSP, the built-in Elixir LSP, now has a reserved domain, though the site is currently empty.</li>
<li><a href="https://github.com/kieraneglin/pinchflat?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/kieraneglin/pinchflat</a> – Pinchflat is an Elixir-built project for downloading YouTube content locally, ideal for media centers or archiving.</li>
<li><a href="https://github.com/leandrocp/autumn?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/leandrocp/autumn</a> – Autumn is a new Elixir/tree-sitter syntax highlighter that supports terminal and HTML outputs, powered by Tree-sitter and Neovim themes.</li>
<li><a href="https://autumnus.dev/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://autumnus.dev/</a> – Website for the new Autumn syntax highlighter for Elixir.</li>
<li><a href="https://github.com/leandrocp/mdex?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/leandrocp/mdex</a> – MDEx library updated to support CommonMark, GitHub Flavored Markdown, Wiki Links, Discord Markdown tags, emoji, and syntax highlighting via Autumn.</li>
<li><a href="https://voidzero.dev/posts/announcing-voidzero-inc?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://voidzero.dev/posts/announcing-voidzero-inc</a> – Evan You (Vue.js creator) announces Vite Plus, a comprehensive JavaScript toolchain described as "Cargo but for JavaScript."</li>
</ul>

<p>Do you have some Elixir news to share? Tell us at <a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a> or email at <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></p>

<p><strong>Find us online</strong></p>

<ul>
<li>Message the show - <a href="https://bsky.app/profile/thinkingelixir.com" target="_blank" rel="nofollow noopener">Bluesky</a></li>
<li>Message the show - <a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener">X</a></li>
<li>Message the show on Fediverse - <a href="https://genserver.social/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir@genserver.social</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen on X - <a href="https://x.com/brainlid" target="_blank" rel="nofollow noopener">@brainlid</a></li>
<li>Mark Ericksen on Bluesky - <a href="https://bsky.app/profile/brainlid.bsky.social" target="_blank" rel="nofollow noopener">@brainlid.bsky.social</a></li>
<li>Mark Ericksen on Fediverse - <a href="https://genserver.social/brainlid" target="_blank" rel="nofollow noopener">@brainlid@genserver.social</a></li>
<li>David Bernheisel on Bluesky - <a href="https://bsky.app/profile/david.bernheisel.com" target="_blank" rel="nofollow noopener">@david.bernheisel.com</a></li>
<li>David Bernheisel on Fediverse - <a href="https://genserver.social/dbern" target="_blank" rel="nofollow noopener">@dbern@genserver.social</a></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://gigalixir.com/thinking">Gigalixir</a>: <a rel="nofollow" href="https://gigalixir.com/thinking">Today’s Thinking Elixir show is brought to you by our friends at Gigalixir, the premier deployment platform for Elixir and Phoenix projects. Use the promo code “Thinking” during signup to get 20% off the standard tier prices for an entire year. Or, visit <a href="https://gigalixir.com/thinking" target="_blank" rel="nofollow noopener">https://gigalixir.com/thinking</a> to sign up and get 20% off your first year.
</a> Promo Code: Thinking</li></ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>News includes the release of Plug v1.17.0 with dark mode support for Plug.Debugger, an exciting Phoenix PR for co-located hooks that would place hook logic directly next to component code, a new RAG (Retrieval Augmented Generation) library from Bitcrowd for enhancing LLM interactions with document management, a syntax highlighter called Autumn powered by Tree-sitter, an Elixir-built YouTube downloader project called Pinchflat, and more!</p>

<p>Show Notes online - <a href="http://podcast.thinkingelixir.com/246" target="_blank" rel="nofollow noopener">http://podcast.thinkingelixir.com/246</a></p>

<p><strong>Elixir Community News</strong></p>

<ul>
<li><a href="https://gigalixir.com/thinking?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://gigalixir.com/thinking</a> – Gigalixir is sponsoring the show, offering 20% off standard tier prices for a year with promo code "Thinking".</li>
<li><a href="https://github.com/elixir-plug/plug/pull/1261?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-plug/plug/pull/1261</a> – Plug v1.17.0 introduces dark mode to Plug.Debugger, providing a more comfortable experience for developers working in dark environments.</li>
<li><a href="https://github.com/elixir-plug/plug/pull/1263?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-plug/plug/pull/1263</a> – Plug.Debugger now links to function definitions in Hexdocs, making it easier to understand errors.</li>
<li><a href="https://github.com/phoenixframework/phoenix_live_view/pull/3705?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/phoenixframework/phoenix_live_view/pull/3705</a> – Phoenix PR in progress for "Co-located Hooks" that would allow hook logic to be placed next to component code.</li>
<li><a href="https://github.com/elixir-nx/fine/tree/main/example?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/elixir-nx/fine/tree/main/example</a> – Fine, the C++ library for Elixir NIFs, now has an example project making it easier to experiment with C++ integrations in Elixir.</li>
<li><a href="https://podcast.thinkingelixir.com/244?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://podcast.thinkingelixir.com/244</a> – Previous episode discussing Fine and how it integrates with PythonEx for embedding Python in Elixir.</li>
<li><a href="https://github.com/bitcrowd/rag?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/bitcrowd/rag</a> – New RAG (Retrieval Augmented Generation) library for Elixir from Bitcrowd to help with LLM context and document management.</li>
<li><a href="https://bitcrowd.dev/a-rag-library-for-elixir/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://bitcrowd.dev/a-rag-library-for-elixir/</a> – Blog post explaining the new RAG library and its functionality for document ingestion, retrieval, and augmentation.</li>
<li><a href="https://expert-lsp.org/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://expert-lsp.org/</a> – Expert LSP, the built-in Elixir LSP, now has a reserved domain, though the site is currently empty.</li>
<li><a href="https://github.com/kieraneglin/pinchflat?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/kieraneglin/pinchflat</a> – Pinchflat is an Elixir-built project for downloading YouTube content locally, ideal for media centers or archiving.</li>
<li><a href="https://github.com/leandrocp/autumn?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/leandrocp/autumn</a> – Autumn is a new Elixir/tree-sitter syntax highlighter that supports terminal and HTML outputs, powered by Tree-sitter and Neovim themes.</li>
<li><a href="https://autumnus.dev/?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://autumnus.dev/</a> – Website for the new Autumn syntax highlighter for Elixir.</li>
<li><a href="https://github.com/leandrocp/mdex?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://github.com/leandrocp/mdex</a> – MDEx library updated to support CommonMark, GitHub Flavored Markdown, Wiki Links, Discord Markdown tags, emoji, and syntax highlighting via Autumn.</li>
<li><a href="https://voidzero.dev/posts/announcing-voidzero-inc?utm_source=thinkingelixir&amp;utm_medium=shownotes" target="_blank" rel="nofollow noopener">https://voidzero.dev/posts/announcing-voidzero-inc</a> – Evan You (Vue.js creator) announces Vite Plus, a comprehensive JavaScript toolchain described as "Cargo but for JavaScript."</li>
</ul>

<p>Do you have some Elixir news to share? Tell us at <a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a> or email at <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></p>

<p><strong>Find us online</strong></p>

<ul>
<li>Message the show - <a href="https://bsky.app/profile/thinkingelixir.com" target="_blank" rel="nofollow noopener">Bluesky</a></li>
<li>Message the show - <a href="https://x.com/ThinkingElixir" target="_blank" rel="nofollow noopener">X</a></li>
<li>Message the show on Fediverse - <a href="https://genserver.social/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir@genserver.social</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen on X - <a href="https://x.com/brainlid" target="_blank" rel="nofollow noopener">@brainlid</a></li>
<li>Mark Ericksen on Bluesky - <a href="https://bsky.app/profile/brainlid.bsky.social" target="_blank" rel="nofollow noopener">@brainlid.bsky.social</a></li>
<li>Mark Ericksen on Fediverse - <a href="https://genserver.social/brainlid" target="_blank" rel="nofollow noopener">@brainlid@genserver.social</a></li>
<li>David Bernheisel on Bluesky - <a href="https://bsky.app/profile/david.bernheisel.com" target="_blank" rel="nofollow noopener">@david.bernheisel.com</a></li>
<li>David Bernheisel on Fediverse - <a href="https://genserver.social/dbern" target="_blank" rel="nofollow noopener">@dbern@genserver.social</a></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://gigalixir.com/thinking">Gigalixir</a>: <a rel="nofollow" href="https://gigalixir.com/thinking">Today’s Thinking Elixir show is brought to you by our friends at Gigalixir, the premier deployment platform for Elixir and Phoenix projects. Use the promo code “Thinking” during signup to get 20% off the standard tier prices for an entire year. Or, visit <a href="https://gigalixir.com/thinking" target="_blank" rel="nofollow noopener">https://gigalixir.com/thinking</a> to sign up and get 20% off your first year.
</a> Promo Code: Thinking</li></ul>]]>
  </itunes:summary>
</item>
<item>
  <title>128: Speedy like a Bandit</title>
  <link>https://podcast.thinkingelixir.com/128</link>
  <guid isPermaLink="false">8bb1434f-0a17-4e28-a133-8750c309c682</guid>
  <pubDate>Tue, 06 Dec 2022 04:15:00 -0700</pubDate>
  <author>ThinkingElixir.com</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/811c9756-babe-40ac-8c25-b3bb24e522e0/8bb1434f-0a17-4e28-a133-8750c309c682.mp3" length="43612160" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>ThinkingElixir.com</itunes:author>
  <itunes:subtitle></itunes:subtitle>
  <itunes:duration>1:00:08</itunes:duration>
  <itunes:explicit>no</itunes:explicit>
  <itunes:image href="https://media24.fireside.fm/file/fireside-images-2024/podcasts/images/8/811c9756-babe-40ac-8c25-b3bb24e522e0/cover.jpg?v=2"/>
  <description>&lt;p&gt;The Phoenix 1.7 announcement blog post mentioned the ability to swap out Cowboy for another webserver like Bandit. We talked with Mat Trudel to learn more about his pure-Elixir webserver and find out how it works with Phoenix. We learn Bandit can be up to 5x faster by narrowly focusing on turning a request into a Plug connection and much more!&lt;/p&gt;

&lt;p&gt;Show Notes online - &lt;a href="http://podcast.thinkingelixir.com/128" target="_blank" rel="nofollow noopener"&gt;http://podcast.thinkingelixir.com/128&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Elixir Community News&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/features/security/" target="_blank" rel="nofollow noopener"&gt;https://github.com/features/security/&lt;/a&gt; – Github's Dependabot now supports private hex repositories.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/sorentwo/status/1595526317436452864" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/sorentwo/status/1595526317436452864&lt;/a&gt; – Parker Selbert brought this to our attention.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository" target="_blank" rel="nofollow noopener"&gt;https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html" target="_blank" rel="nofollow noopener"&gt;https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html&lt;/a&gt; – CI tip to check for unused mix lock entries&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/RudManusachi/status/1597341690653999106" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/RudManusachi/status/1597341690653999106&lt;/a&gt; – Shared by Rudolf on Twitter&lt;/li&gt;
&lt;li&gt;mix deps.unlock --check-unused&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fly.io/phoenix-files/github-actions-for-elixir-ci/" target="_blank" rel="nofollow noopener"&gt;https://fly.io/phoenix-files/github-actions-for-elixir-ci/&lt;/a&gt; – CI resource for Elixir projects on Github&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/TechRecHayden/status/1595776257513373699" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/TechRecHayden/status/1595776257513373699&lt;/a&gt; – Hayden Evans spotted that Zoom is using Erlang in production for their chat platform.&lt;/li&gt;
&lt;li&gt;Mastadon instances to consider if looking for a Twitter alternative...&lt;/li&gt;
&lt;li&gt;&lt;a href="https://genserver.social/about" target="_blank" rel="nofollow noopener"&gt;https://genserver.social/about&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hachyderm.io/explore" target="_blank" rel="nofollow noopener"&gt;https://hachyderm.io/explore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fosstodon.org/" target="_blank" rel="nofollow noopener"&gt;https://fosstodon.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mastodon.social/explore" target="_blank" rel="nofollow noopener"&gt;https://mastodon.social/explore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lambdadays.org/lambdadays2023" target="_blank" rel="nofollow noopener"&gt;https://www.lambdadays.org/lambdadays2023&lt;/a&gt; – Lambda Days conference returns as an in-person only event to Kraków on 5-6 June 2023.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Do you have some Elixir news to share? Tell us at &lt;a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;@ThinkingElixir&lt;/a&gt; or email at &lt;a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;show@thinkingelixir.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Discussion Resources&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://phoenixframework.org/blog/phoenix-1.7-released" target="_blank" rel="nofollow noopener"&gt;https://phoenixframework.org/blog/phoenix-1.7-released&lt;/a&gt; – Phoenix 1.7 blog post described at the end - “Alternative Webserver Support”&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mtrudel/bandit" target="_blank" rel="nofollow noopener"&gt;https://github.com/mtrudel/bandit&lt;/a&gt; – “Bandit is a pure Elixir HTTP server for Plug &amp;amp; WebSock applications”&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mtrudel/thousand_island" target="_blank" rel="nofollow noopener"&gt;https://github.com/mtrudel/thousand_island&lt;/a&gt; – “Thousand Island is a pure Elixir socket server, powering the layer underneath Bandit”&lt;/li&gt;
&lt;li&gt;&lt;a href="https://ninenines.eu/docs/en/cowboy/2.9/guide/" target="_blank" rel="nofollow noopener"&gt;https://ninenines.eu/docs/en/cowboy/2.9/guide/&lt;/a&gt; – Cowboy docs&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.pagerduty.com/" target="_blank" rel="nofollow noopener"&gt;https://www.pagerduty.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ninenines/cowlib" target="_blank" rel="nofollow noopener"&gt;https://github.com/ninenines/cowlib&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=ZLjWyanLHuk" target="_blank" rel="nofollow noopener"&gt;https://www.youtube.com/watch?v=ZLjWyanLHuk&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/crossbario/autobahn-testsuite" target="_blank" rel="nofollow noopener"&gt;https://github.com/crossbario/autobahn-testsuite&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Cyclic_redundancy_check" target="_blank" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/Cyclic_redundancy_check&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm" target="_blank" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/phoenixframework/websock" target="_blank" rel="nofollow noopener"&gt;https://github.com/phoenixframework/websock&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3" target="_blank" rel="nofollow noopener"&gt;https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://podcast.thinkingelixir.com/57" target="_blank" rel="nofollow noopener"&gt;https://podcast.thinkingelixir.com/57&lt;/a&gt; – Scaling Live Chat with Cade Ward episode&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/HTTP/3" target="_blank" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/HTTP/3&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf" target="_blank" rel="nofollow noopener"&gt;https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf&lt;/a&gt; – 2022 EMPEX presentation slides&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf" target="_blank" rel="nofollow noopener"&gt;https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf&lt;/a&gt; – 2021 Elixir Conf presentation slides&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Guest Information&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/mattrudel" target="_blank" rel="nofollow noopener"&gt;https://twitter.com/mattrudel&lt;/a&gt; – on Twitter&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/mtrudel/" target="_blank" rel="nofollow noopener"&gt;https://github.com/mtrudel/&lt;/a&gt; – on Github&lt;/li&gt;
&lt;li&gt;&lt;a href="https://mat.geeky.net" target="_blank" rel="nofollow noopener"&gt;https://mat.geeky.net&lt;/a&gt; – Blog&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Find us online&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Message the show - &lt;a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener"&gt;@ThinkingElixir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Email the show - &lt;a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener"&gt;show@thinkingelixir.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Mark Ericksen - &lt;a href="https://twitter.com/brainlid" target="_blank" rel="nofollow noopener"&gt;@brainlid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David Bernheisel - &lt;a href="https://twitter.com/bernheisel" target="_blank" rel="nofollow noopener"&gt;@bernheisel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cade Ward - &lt;a href="https://twitter.com/cadebward" target="_blank" rel="nofollow noopener"&gt;@cadebward&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>elixir, web server, http, cowboy, bandit, plug, speed</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>The Phoenix 1.7 announcement blog post mentioned the ability to swap out Cowboy for another webserver like Bandit. We talked with Mat Trudel to learn more about his pure-Elixir webserver and find out how it works with Phoenix. We learn Bandit can be up to 5x faster by narrowly focusing on turning a request into a Plug connection and much more!</p>

<p>Show Notes online - <a href="http://podcast.thinkingelixir.com/128" target="_blank" rel="nofollow noopener">http://podcast.thinkingelixir.com/128</a></p>

<p><strong>Elixir Community News</strong></p>

<ul>
<li><a href="https://github.com/features/security/" target="_blank" rel="nofollow noopener">https://github.com/features/security/</a> – Github's Dependabot now supports private hex repositories.</li>
<li><a href="https://twitter.com/sorentwo/status/1595526317436452864" target="_blank" rel="nofollow noopener">https://twitter.com/sorentwo/status/1595526317436452864</a> – Parker Selbert brought this to our attention.</li>
<li><a href="https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository" target="_blank" rel="nofollow noopener">https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository</a></li>
<li><a href="https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html" target="_blank" rel="nofollow noopener">https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html</a> – CI tip to check for unused mix lock entries</li>
<li><a href="https://twitter.com/RudManusachi/status/1597341690653999106" target="_blank" rel="nofollow noopener">https://twitter.com/RudManusachi/status/1597341690653999106</a> – Shared by Rudolf on Twitter</li>
<li>mix deps.unlock --check-unused</li>
<li><a href="https://fly.io/phoenix-files/github-actions-for-elixir-ci/" target="_blank" rel="nofollow noopener">https://fly.io/phoenix-files/github-actions-for-elixir-ci/</a> – CI resource for Elixir projects on Github</li>
<li><a href="https://twitter.com/TechRecHayden/status/1595776257513373699" target="_blank" rel="nofollow noopener">https://twitter.com/TechRecHayden/status/1595776257513373699</a> – Hayden Evans spotted that Zoom is using Erlang in production for their chat platform.</li>
<li>Mastadon instances to consider if looking for a Twitter alternative...</li>
<li><a href="https://genserver.social/about" target="_blank" rel="nofollow noopener">https://genserver.social/about</a></li>
<li><a href="https://hachyderm.io/explore" target="_blank" rel="nofollow noopener">https://hachyderm.io/explore</a></li>
<li><a href="https://fosstodon.org/" target="_blank" rel="nofollow noopener">https://fosstodon.org/</a></li>
<li><a href="https://mastodon.social/explore" target="_blank" rel="nofollow noopener">https://mastodon.social/explore</a></li>
<li><a href="https://www.lambdadays.org/lambdadays2023" target="_blank" rel="nofollow noopener">https://www.lambdadays.org/lambdadays2023</a> – Lambda Days conference returns as an in-person only event to Kraków on 5-6 June 2023.</li>
</ul>

<p>Do you have some Elixir news to share? Tell us at <a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a> or email at <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></p>

<p><strong>Discussion Resources</strong></p>

<ul>
<li><a href="https://phoenixframework.org/blog/phoenix-1.7-released" target="_blank" rel="nofollow noopener">https://phoenixframework.org/blog/phoenix-1.7-released</a> – Phoenix 1.7 blog post described at the end - “Alternative Webserver Support”</li>
<li><a href="https://github.com/mtrudel/bandit" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/bandit</a> – “Bandit is a pure Elixir HTTP server for Plug &amp; WebSock applications”</li>
<li><a href="https://github.com/mtrudel/thousand_island" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/thousand_island</a> – “Thousand Island is a pure Elixir socket server, powering the layer underneath Bandit”</li>
<li><a href="https://ninenines.eu/docs/en/cowboy/2.9/guide/" target="_blank" rel="nofollow noopener">https://ninenines.eu/docs/en/cowboy/2.9/guide/</a> – Cowboy docs</li>
<li><a href="https://www.pagerduty.com/" target="_blank" rel="nofollow noopener">https://www.pagerduty.com/</a></li>
<li><a href="https://github.com/ninenines/cowlib" target="_blank" rel="nofollow noopener">https://github.com/ninenines/cowlib</a></li>
<li><a href="https://www.youtube.com/watch?v=ZLjWyanLHuk" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?v=ZLjWyanLHuk</a></li>
<li><a href="https://github.com/crossbario/autobahn-testsuite" target="_blank" rel="nofollow noopener">https://github.com/crossbario/autobahn-testsuite</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cyclic_redundancy_check" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Cyclic_redundancy_check</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm</a></li>
<li><a href="https://github.com/phoenixframework/websock" target="_blank" rel="nofollow noopener">https://github.com/phoenixframework/websock</a></li>
<li><a href="https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3" target="_blank" rel="nofollow noopener">https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3</a></li>
<li><a href="https://podcast.thinkingelixir.com/57" target="_blank" rel="nofollow noopener">https://podcast.thinkingelixir.com/57</a> – Scaling Live Chat with Cade Ward episode</li>
<li><a href="https://en.wikipedia.org/wiki/HTTP/3" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/HTTP/3</a></li>
<li><a href="https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf</a> – 2022 EMPEX presentation slides</li>
<li><a href="https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf</a> – 2021 Elixir Conf presentation slides</li>
</ul>

<p><strong>Guest Information</strong></p>

<ul>
<li><a href="https://twitter.com/mattrudel" target="_blank" rel="nofollow noopener">https://twitter.com/mattrudel</a> – on Twitter</li>
<li><a href="https://github.com/mtrudel/" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/</a> – on Github</li>
<li><a href="https://mat.geeky.net" target="_blank" rel="nofollow noopener">https://mat.geeky.net</a> – Blog</li>
</ul>

<p><strong>Find us online</strong></p>

<ul>
<li>Message the show - <a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen - <a href="https://twitter.com/brainlid" target="_blank" rel="nofollow noopener">@brainlid</a></li>
<li>David Bernheisel - <a href="https://twitter.com/bernheisel" target="_blank" rel="nofollow noopener">@bernheisel</a></li>
<li>Cade Ward - <a href="https://twitter.com/cadebward" target="_blank" rel="nofollow noopener">@cadebward</a></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://fly.io">Fly.io</a>: <a rel="nofollow" href="https://fly.io">Fly.io is a great place to deploy your next Phoenix application! Check them out!
</a></li></ul>]]>
  </content:encoded>
  <itunes:summary>
    <![CDATA[<p>The Phoenix 1.7 announcement blog post mentioned the ability to swap out Cowboy for another webserver like Bandit. We talked with Mat Trudel to learn more about his pure-Elixir webserver and find out how it works with Phoenix. We learn Bandit can be up to 5x faster by narrowly focusing on turning a request into a Plug connection and much more!</p>

<p>Show Notes online - <a href="http://podcast.thinkingelixir.com/128" target="_blank" rel="nofollow noopener">http://podcast.thinkingelixir.com/128</a></p>

<p><strong>Elixir Community News</strong></p>

<ul>
<li><a href="https://github.com/features/security/" target="_blank" rel="nofollow noopener">https://github.com/features/security/</a> – Github's Dependabot now supports private hex repositories.</li>
<li><a href="https://twitter.com/sorentwo/status/1595526317436452864" target="_blank" rel="nofollow noopener">https://twitter.com/sorentwo/status/1595526317436452864</a> – Parker Selbert brought this to our attention.</li>
<li><a href="https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository" target="_blank" rel="nofollow noopener">https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository</a></li>
<li><a href="https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html" target="_blank" rel="nofollow noopener">https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html</a> – CI tip to check for unused mix lock entries</li>
<li><a href="https://twitter.com/RudManusachi/status/1597341690653999106" target="_blank" rel="nofollow noopener">https://twitter.com/RudManusachi/status/1597341690653999106</a> – Shared by Rudolf on Twitter</li>
<li>mix deps.unlock --check-unused</li>
<li><a href="https://fly.io/phoenix-files/github-actions-for-elixir-ci/" target="_blank" rel="nofollow noopener">https://fly.io/phoenix-files/github-actions-for-elixir-ci/</a> – CI resource for Elixir projects on Github</li>
<li><a href="https://twitter.com/TechRecHayden/status/1595776257513373699" target="_blank" rel="nofollow noopener">https://twitter.com/TechRecHayden/status/1595776257513373699</a> – Hayden Evans spotted that Zoom is using Erlang in production for their chat platform.</li>
<li>Mastadon instances to consider if looking for a Twitter alternative...</li>
<li><a href="https://genserver.social/about" target="_blank" rel="nofollow noopener">https://genserver.social/about</a></li>
<li><a href="https://hachyderm.io/explore" target="_blank" rel="nofollow noopener">https://hachyderm.io/explore</a></li>
<li><a href="https://fosstodon.org/" target="_blank" rel="nofollow noopener">https://fosstodon.org/</a></li>
<li><a href="https://mastodon.social/explore" target="_blank" rel="nofollow noopener">https://mastodon.social/explore</a></li>
<li><a href="https://www.lambdadays.org/lambdadays2023" target="_blank" rel="nofollow noopener">https://www.lambdadays.org/lambdadays2023</a> – Lambda Days conference returns as an in-person only event to Kraków on 5-6 June 2023.</li>
</ul>

<p>Do you have some Elixir news to share? Tell us at <a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a> or email at <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></p>

<p><strong>Discussion Resources</strong></p>

<ul>
<li><a href="https://phoenixframework.org/blog/phoenix-1.7-released" target="_blank" rel="nofollow noopener">https://phoenixframework.org/blog/phoenix-1.7-released</a> – Phoenix 1.7 blog post described at the end - “Alternative Webserver Support”</li>
<li><a href="https://github.com/mtrudel/bandit" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/bandit</a> – “Bandit is a pure Elixir HTTP server for Plug &amp; WebSock applications”</li>
<li><a href="https://github.com/mtrudel/thousand_island" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/thousand_island</a> – “Thousand Island is a pure Elixir socket server, powering the layer underneath Bandit”</li>
<li><a href="https://ninenines.eu/docs/en/cowboy/2.9/guide/" target="_blank" rel="nofollow noopener">https://ninenines.eu/docs/en/cowboy/2.9/guide/</a> – Cowboy docs</li>
<li><a href="https://www.pagerduty.com/" target="_blank" rel="nofollow noopener">https://www.pagerduty.com/</a></li>
<li><a href="https://github.com/ninenines/cowlib" target="_blank" rel="nofollow noopener">https://github.com/ninenines/cowlib</a></li>
<li><a href="https://www.youtube.com/watch?v=ZLjWyanLHuk" target="_blank" rel="nofollow noopener">https://www.youtube.com/watch?v=ZLjWyanLHuk</a></li>
<li><a href="https://github.com/crossbario/autobahn-testsuite" target="_blank" rel="nofollow noopener">https://github.com/crossbario/autobahn-testsuite</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cyclic_redundancy_check" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Cyclic_redundancy_check</a></li>
<li><a href="https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm</a></li>
<li><a href="https://github.com/phoenixframework/websock" target="_blank" rel="nofollow noopener">https://github.com/phoenixframework/websock</a></li>
<li><a href="https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3" target="_blank" rel="nofollow noopener">https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3</a></li>
<li><a href="https://podcast.thinkingelixir.com/57" target="_blank" rel="nofollow noopener">https://podcast.thinkingelixir.com/57</a> – Scaling Live Chat with Cade Ward episode</li>
<li><a href="https://en.wikipedia.org/wiki/HTTP/3" target="_blank" rel="nofollow noopener">https://en.wikipedia.org/wiki/HTTP/3</a></li>
<li><a href="https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf</a> – 2022 EMPEX presentation slides</li>
<li><a href="https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf</a> – 2021 Elixir Conf presentation slides</li>
</ul>

<p><strong>Guest Information</strong></p>

<ul>
<li><a href="https://twitter.com/mattrudel" target="_blank" rel="nofollow noopener">https://twitter.com/mattrudel</a> – on Twitter</li>
<li><a href="https://github.com/mtrudel/" target="_blank" rel="nofollow noopener">https://github.com/mtrudel/</a> – on Github</li>
<li><a href="https://mat.geeky.net" target="_blank" rel="nofollow noopener">https://mat.geeky.net</a> – Blog</li>
</ul>

<p><strong>Find us online</strong></p>

<ul>
<li>Message the show - <a href="https://twitter.com/ThinkingElixir" target="_blank" rel="nofollow noopener">@ThinkingElixir</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" target="_blank" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen - <a href="https://twitter.com/brainlid" target="_blank" rel="nofollow noopener">@brainlid</a></li>
<li>David Bernheisel - <a href="https://twitter.com/bernheisel" target="_blank" rel="nofollow noopener">@bernheisel</a></li>
<li>Cade Ward - <a href="https://twitter.com/cadebward" target="_blank" rel="nofollow noopener">@cadebward</a></li>
</ul><p>Sponsored By:</p><ul><li><a rel="nofollow" href="https://fly.io">Fly.io</a>: <a rel="nofollow" href="https://fly.io">Fly.io is a great place to deploy your next Phoenix application! Check them out!
</a></li></ul>]]>
  </itunes:summary>
</item>
  </channel>
</rss>
