<?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>Mon, 15 Jun 2026 03:48:15 -0500</fireside:genDate>
    <generator>Fireside (https://fireside.fm)</generator>
    <title>Thinking Elixir Podcast - Episodes Tagged with “Parser”</title>
    <link>https://podcast.thinkingelixir.com/tags/parser</link>
    <pubDate>Tue, 17 May 2022 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>99: Slipstream and Tree-Sitter with Michael Davis</title>
  <link>https://podcast.thinkingelixir.com/99</link>
  <guid isPermaLink="false">48948804-4c15-4d05-85dc-efad47f0c5cc</guid>
  <pubDate>Tue, 17 May 2022 04:15:00 -0600</pubDate>
  <author>ThinkingElixir.com</author>
  <enclosure url="https://aphid.fireside.fm/d/1437767933/811c9756-babe-40ac-8c25-b3bb24e522e0/48948804-4c15-4d05-85dc-efad47f0c5cc.mp3" length="31764480" type="audio/mpeg"/>
  <itunes:episodeType>full</itunes:episodeType>
  <itunes:author>ThinkingElixir.com</itunes:author>
  <itunes:subtitle></itunes:subtitle>
  <itunes:duration>43:49</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;Michael Davis explains Slipstream, a Phoenix channels websocket client library that enables Elixir applications to become a client of a Phoenix channel on another server. Out of this work, an underlying websocket library was created built on mint, which has now officially become part of the mint project. We talk about other libraries in the same space and why Slipstream was created. Michael was also involved in the recent Tree-Sitter Elixir work that Github celebrated and he shares some insight into that work as well!&lt;/p&gt;

&lt;p&gt;Show Notes online - &lt;a href="http://podcast.thinkingelixir.com/99" rel="nofollow noopener"&gt;http://podcast.thinkingelixir.com/99&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://twitter.com/remote_ruby/status/1522546728922226691" rel="nofollow noopener"&gt;https://twitter.com/remote_ruby/status/1522546728922226691&lt;/a&gt; – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://share.transistor.fm/s/7dc8e2e3" rel="nofollow noopener"&gt;https://share.transistor.fm/s/7dc8e2e3&lt;/a&gt; – Remote Ruby podcast&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/kipcole9/image" rel="nofollow noopener"&gt;https://github.com/kipcole9/image&lt;/a&gt; – New image-processing library called Image that leverages libvips though NIF bindings.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/libvips/libvips" rel="nofollow noopener"&gt;https://github.com/libvips/libvips&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lucasvegi/Elixir-Code-Smells" rel="nofollow noopener"&gt;https://github.com/lucasvegi/Elixir-Code-Smells&lt;/a&gt; – Elixir Code Smells project&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd" rel="nofollow noopener"&gt;https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd&lt;/a&gt; – Elixir Code Smells Livebook notebook&lt;/li&gt;
&lt;li&gt;&lt;a href="https://litestream.io/" rel="nofollow noopener"&gt;https://litestream.io/&lt;/a&gt; – Litestream project for SQLite replication&lt;/li&gt;
&lt;li&gt;&lt;a href="https://fly.io/blog/all-in-on-sqlite-litestream/" rel="nofollow noopener"&gt;https://fly.io/blog/all-in-on-sqlite-litestream/&lt;/a&gt; – Ben Johnson joined Fly.io and will continue work on Litestream&lt;/li&gt;
&lt;li&gt;David's wife had a baby girl! Congrats! Now has 2 kids.&lt;/li&gt;
&lt;li&gt;Next episode is 100 and will be the final visit José Valim in our series. Also covers future development.&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" rel="nofollow noopener"&gt;@ThinkingElixir&lt;/a&gt; or email at &lt;a href="mailto:show@thinkingelixir.com" 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://github.com/NFIBrokerage/slipstream" rel="nofollow noopener"&gt;https://github.com/NFIBrokerage/slipstream&lt;/a&gt; – Slipstream Phoenix channels websocket client library&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NFIBrokerage/mint_web_socket" rel="nofollow noopener"&gt;https://github.com/NFIBrokerage/mint_web_socket&lt;/a&gt; – Separate library that uses Mint and supports websockets.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md" rel="nofollow noopener"&gt;https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Azolo/websockex" rel="nofollow noopener"&gt;https://github.com/Azolo/websockex&lt;/a&gt; – Pure Elixir websockets implemented as a special OTP process&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ninenines/gun" rel="nofollow noopener"&gt;https://github.com/ninenines/gun&lt;/a&gt; – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jeremyong/websocket_client" rel="nofollow noopener"&gt;https://github.com/jeremyong/websocket_client&lt;/a&gt; – WebSocket client that underlies phoneix_client and phoenix_gen_socket_client. Appears to be inactive and it no longer compiles on OTP25.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hex.pm/packages/phoenix_channel_client" rel="nofollow noopener"&gt;https://hex.pm/packages/phoenix_channel_client&lt;/a&gt; – Retired library by Justin Schneck&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hex.pm/packages/phoenix_client" rel="nofollow noopener"&gt;https://hex.pm/packages/phoenix_client&lt;/a&gt; – by Justin Schneck “Elixir Phoenix Client for Channels”&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/J0/phoenix_gen_socket_client" rel="nofollow noopener"&gt;https://github.com/J0/phoenix_gen_socket_client&lt;/a&gt; – Another Phoenix Channel client&lt;/li&gt;
&lt;li&gt;&lt;a href="https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456" rel="nofollow noopener"&gt;https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456&lt;/a&gt; – ElixirForum post on Slipstream&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nerves-hub/nerves_hub_link" rel="nofollow noopener"&gt;https://github.com/nerves-hub/nerves_hub_link&lt;/a&gt; – A more prominent dependent of Slipstream. Slipstream is used as the default communication system for embedded devices to talk to the nerves hub (which provides firmware updates)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/whatyouhide/status/1521381183229210624" rel="nofollow noopener"&gt;https://twitter.com/whatyouhide/status/1521381183229210624&lt;/a&gt; – mint_web_socket was just moved under the elixir-mint organization&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/josevalim/status/1521390714025758720" rel="nofollow noopener"&gt;https://twitter.com/josevalim/status/1521390714025758720&lt;/a&gt; – Jose Valim recently credited NFIBrokerage for bringing even more contributions to the Elixir community&lt;/li&gt;
&lt;li&gt;&lt;a href="https://helix-editor.com/" rel="nofollow noopener"&gt;https://helix-editor.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://clojure.org/" rel="nofollow noopener"&gt;https://clojure.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NFIBrokerage" rel="nofollow noopener"&gt;https://github.com/NFIBrokerage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.eventstore.com/eventstoredb" rel="nofollow noopener"&gt;https://www.eventstore.com/eventstoredb&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-mint/mint" rel="nofollow noopener"&gt;https://github.com/elixir-mint/mint&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-lang/gen_stage" rel="nofollow noopener"&gt;https://github.com/elixir-lang/gen_stage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://grpc.io/" rel="nofollow noopener"&gt;https://grpc.io/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/tree-sitter/tree-sitter" rel="nofollow noopener"&gt;https://github.com/tree-sitter/tree-sitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/elixir-lang/tree-sitter-elixir" rel="nofollow noopener"&gt;https://github.com/elixir-lang/tree-sitter-elixir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://elixir-lang.org/tree-sitter-elixir/" rel="nofollow noopener"&gt;https://elixir-lang.org/tree-sitter-elixir/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/jonatanklosko" rel="nofollow noopener"&gt;https://github.com/jonatanklosko&lt;/a&gt; – Jonatan Kłosko did the majority of the work on the Elixir Tree-Sitter library&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/gleam-lang/tree-sitter-gleam/" rel="nofollow noopener"&gt;https://github.com/gleam-lang/tree-sitter-gleam/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ninenines/gun" rel="nofollow noopener"&gt;https://github.com/ninenines/gun&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Azolo/websockex" rel="nofollow noopener"&gt;https://github.com/Azolo/websockex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://hex.pm/packages/phoenix_client" rel="nofollow noopener"&gt;https://hex.pm/packages/phoenix_client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/nerves-hub/nerves_hub_link" rel="nofollow noopener"&gt;https://github.com/nerves-hub/nerves_hub_link&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/HTTP/2" rel="nofollow noopener"&gt;https://en.wikipedia.org/wiki/HTTP/2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NFIBrokerage/spear" rel="nofollow noopener"&gt;https://github.com/NFIBrokerage/spear&lt;/a&gt;&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://github.com/the-mikedavis" rel="nofollow noopener"&gt;https://github.com/the-mikedavis&lt;/a&gt; – on Github&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/NFIBrokerage" rel="nofollow noopener"&gt;https://github.com/NFIBrokerage&lt;/a&gt; – Work Github organization&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" rel="nofollow noopener"&gt;@ThinkingElixir&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Email the show - &lt;a href="mailto:show@thinkingelixir.com" 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" rel="nofollow noopener"&gt;@brainlid&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;David Bernheisel - &lt;a href="https://twitter.com/bernheisel" rel="nofollow noopener"&gt;@bernheisel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Cade Ward - &lt;a href="https://twitter.com/cadebward" rel="nofollow noopener"&gt;@cadebward&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
</description>
  <itunes:keywords>elixir, websockets, phoenix, channels, tree-sitter, syntax, parser</itunes:keywords>
  <content:encoded>
    <![CDATA[<p>Michael Davis explains Slipstream, a Phoenix channels websocket client library that enables Elixir applications to become a client of a Phoenix channel on another server. Out of this work, an underlying websocket library was created built on mint, which has now officially become part of the mint project. We talk about other libraries in the same space and why Slipstream was created. Michael was also involved in the recent Tree-Sitter Elixir work that Github celebrated and he shares some insight into that work as well!</p>

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

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

<ul>
<li><a href="https://twitter.com/remote_ruby/status/1522546728922226691" rel="nofollow noopener">https://twitter.com/remote_ruby/status/1522546728922226691</a> – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir.</li>
<li><a href="https://share.transistor.fm/s/7dc8e2e3" rel="nofollow noopener">https://share.transistor.fm/s/7dc8e2e3</a> – Remote Ruby podcast</li>
<li><a href="https://github.com/kipcole9/image" rel="nofollow noopener">https://github.com/kipcole9/image</a> – New image-processing library called Image that leverages libvips though NIF bindings.</li>
<li><a href="https://github.com/libvips/libvips" rel="nofollow noopener">https://github.com/libvips/libvips</a></li>
<li><a href="https://github.com/lucasvegi/Elixir-Code-Smells" rel="nofollow noopener">https://github.com/lucasvegi/Elixir-Code-Smells</a> – Elixir Code Smells project</li>
<li><a href="https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd" rel="nofollow noopener">https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd</a> – Elixir Code Smells Livebook notebook</li>
<li><a href="https://litestream.io/" rel="nofollow noopener">https://litestream.io/</a> – Litestream project for SQLite replication</li>
<li><a href="https://fly.io/blog/all-in-on-sqlite-litestream/" rel="nofollow noopener">https://fly.io/blog/all-in-on-sqlite-litestream/</a> – Ben Johnson joined Fly.io and will continue work on Litestream</li>
<li>David's wife had a baby girl! Congrats! Now has 2 kids.</li>
<li>Next episode is 100 and will be the final visit José Valim in our series. Also covers future development.</li>
</ul>

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

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

<ul>
<li><a href="https://github.com/NFIBrokerage/slipstream" rel="nofollow noopener">https://github.com/NFIBrokerage/slipstream</a> – Slipstream Phoenix channels websocket client library</li>
<li><a href="https://github.com/NFIBrokerage/mint_web_socket" rel="nofollow noopener">https://github.com/NFIBrokerage/mint_web_socket</a> – Separate library that uses Mint and supports websockets.</li>
<li><a href="https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md" rel="nofollow noopener">https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md</a></li>
<li><a href="https://github.com/Azolo/websockex" rel="nofollow noopener">https://github.com/Azolo/websockex</a> – Pure Elixir websockets implemented as a special OTP process</li>
<li><a href="https://github.com/ninenines/gun" rel="nofollow noopener">https://github.com/ninenines/gun</a> – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix</li>
<li><a href="https://github.com/jeremyong/websocket_client" rel="nofollow noopener">https://github.com/jeremyong/websocket_client</a> – WebSocket client that underlies phoneix_client and phoenix_gen_socket_client. Appears to be inactive and it no longer compiles on OTP25.</li>
<li><a href="https://hex.pm/packages/phoenix_channel_client" rel="nofollow noopener">https://hex.pm/packages/phoenix_channel_client</a> – Retired library by Justin Schneck</li>
<li><a href="https://hex.pm/packages/phoenix_client" rel="nofollow noopener">https://hex.pm/packages/phoenix_client</a> – by Justin Schneck “Elixir Phoenix Client for Channels”</li>
<li><a href="https://github.com/J0/phoenix_gen_socket_client" rel="nofollow noopener">https://github.com/J0/phoenix_gen_socket_client</a> – Another Phoenix Channel client</li>
<li><a href="https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456" rel="nofollow noopener">https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456</a> – ElixirForum post on Slipstream</li>
<li><a href="https://github.com/nerves-hub/nerves_hub_link" rel="nofollow noopener">https://github.com/nerves-hub/nerves_hub_link</a> – A more prominent dependent of Slipstream. Slipstream is used as the default communication system for embedded devices to talk to the nerves hub (which provides firmware updates)</li>
<li><a href="https://twitter.com/whatyouhide/status/1521381183229210624" rel="nofollow noopener">https://twitter.com/whatyouhide/status/1521381183229210624</a> – mint_web_socket was just moved under the elixir-mint organization</li>
<li><a href="https://twitter.com/josevalim/status/1521390714025758720" rel="nofollow noopener">https://twitter.com/josevalim/status/1521390714025758720</a> – Jose Valim recently credited NFIBrokerage for bringing even more contributions to the Elixir community</li>
<li><a href="https://helix-editor.com/" rel="nofollow noopener">https://helix-editor.com/</a></li>
<li><a href="https://clojure.org/" rel="nofollow noopener">https://clojure.org/</a></li>
<li><a href="https://github.com/NFIBrokerage" rel="nofollow noopener">https://github.com/NFIBrokerage</a></li>
<li><a href="https://www.eventstore.com/eventstoredb" rel="nofollow noopener">https://www.eventstore.com/eventstoredb</a></li>
<li><a href="https://github.com/elixir-mint/mint" rel="nofollow noopener">https://github.com/elixir-mint/mint</a></li>
<li><a href="https://github.com/elixir-lang/gen_stage" rel="nofollow noopener">https://github.com/elixir-lang/gen_stage</a></li>
<li><a href="https://grpc.io/" rel="nofollow noopener">https://grpc.io/</a></li>
<li><a href="https://github.com/tree-sitter/tree-sitter" rel="nofollow noopener">https://github.com/tree-sitter/tree-sitter</a></li>
<li><a href="https://github.com/elixir-lang/tree-sitter-elixir" rel="nofollow noopener">https://github.com/elixir-lang/tree-sitter-elixir</a></li>
<li><a href="https://elixir-lang.org/tree-sitter-elixir/" rel="nofollow noopener">https://elixir-lang.org/tree-sitter-elixir/</a></li>
<li><a href="https://github.com/jonatanklosko" rel="nofollow noopener">https://github.com/jonatanklosko</a> – Jonatan Kłosko did the majority of the work on the Elixir Tree-Sitter library</li>
<li><a href="https://github.com/gleam-lang/tree-sitter-gleam/" rel="nofollow noopener">https://github.com/gleam-lang/tree-sitter-gleam/</a></li>
<li><a href="https://github.com/ninenines/gun" rel="nofollow noopener">https://github.com/ninenines/gun</a></li>
<li><a href="https://github.com/Azolo/websockex" rel="nofollow noopener">https://github.com/Azolo/websockex</a></li>
<li><a href="https://hex.pm/packages/phoenix_client" rel="nofollow noopener">https://hex.pm/packages/phoenix_client</a></li>
<li><a href="https://github.com/nerves-hub/nerves_hub_link" rel="nofollow noopener">https://github.com/nerves-hub/nerves_hub_link</a></li>
<li><a href="https://en.wikipedia.org/wiki/HTTP/2" rel="nofollow noopener">https://en.wikipedia.org/wiki/HTTP/2</a></li>
<li><a href="https://github.com/NFIBrokerage/spear" rel="nofollow noopener">https://github.com/NFIBrokerage/spear</a></li>
</ul>

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

<ul>
<li><a href="https://github.com/the-mikedavis" rel="nofollow noopener">https://github.com/the-mikedavis</a> – on Github</li>
<li><a href="https://github.com/NFIBrokerage" rel="nofollow noopener">https://github.com/NFIBrokerage</a> – Work Github organization</li>
</ul>

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

<ul>
<li>Message the show - <a href="https://twitter.com/ThinkingElixir" rel="nofollow noopener">@ThinkingElixir</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen - <a href="https://twitter.com/brainlid" rel="nofollow noopener">@brainlid</a></li>
<li>David Bernheisel - <a href="https://twitter.com/bernheisel" rel="nofollow noopener">@bernheisel</a></li>
<li>Cade Ward - <a href="https://twitter.com/cadebward" 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>Michael Davis explains Slipstream, a Phoenix channels websocket client library that enables Elixir applications to become a client of a Phoenix channel on another server. Out of this work, an underlying websocket library was created built on mint, which has now officially become part of the mint project. We talk about other libraries in the same space and why Slipstream was created. Michael was also involved in the recent Tree-Sitter Elixir work that Github celebrated and he shares some insight into that work as well!</p>

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

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

<ul>
<li><a href="https://twitter.com/remote_ruby/status/1522546728922226691" rel="nofollow noopener">https://twitter.com/remote_ruby/status/1522546728922226691</a> – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir.</li>
<li><a href="https://share.transistor.fm/s/7dc8e2e3" rel="nofollow noopener">https://share.transistor.fm/s/7dc8e2e3</a> – Remote Ruby podcast</li>
<li><a href="https://github.com/kipcole9/image" rel="nofollow noopener">https://github.com/kipcole9/image</a> – New image-processing library called Image that leverages libvips though NIF bindings.</li>
<li><a href="https://github.com/libvips/libvips" rel="nofollow noopener">https://github.com/libvips/libvips</a></li>
<li><a href="https://github.com/lucasvegi/Elixir-Code-Smells" rel="nofollow noopener">https://github.com/lucasvegi/Elixir-Code-Smells</a> – Elixir Code Smells project</li>
<li><a href="https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd" rel="nofollow noopener">https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd</a> – Elixir Code Smells Livebook notebook</li>
<li><a href="https://litestream.io/" rel="nofollow noopener">https://litestream.io/</a> – Litestream project for SQLite replication</li>
<li><a href="https://fly.io/blog/all-in-on-sqlite-litestream/" rel="nofollow noopener">https://fly.io/blog/all-in-on-sqlite-litestream/</a> – Ben Johnson joined Fly.io and will continue work on Litestream</li>
<li>David's wife had a baby girl! Congrats! Now has 2 kids.</li>
<li>Next episode is 100 and will be the final visit José Valim in our series. Also covers future development.</li>
</ul>

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

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

<ul>
<li><a href="https://github.com/NFIBrokerage/slipstream" rel="nofollow noopener">https://github.com/NFIBrokerage/slipstream</a> – Slipstream Phoenix channels websocket client library</li>
<li><a href="https://github.com/NFIBrokerage/mint_web_socket" rel="nofollow noopener">https://github.com/NFIBrokerage/mint_web_socket</a> – Separate library that uses Mint and supports websockets.</li>
<li><a href="https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md" rel="nofollow noopener">https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md</a></li>
<li><a href="https://github.com/Azolo/websockex" rel="nofollow noopener">https://github.com/Azolo/websockex</a> – Pure Elixir websockets implemented as a special OTP process</li>
<li><a href="https://github.com/ninenines/gun" rel="nofollow noopener">https://github.com/ninenines/gun</a> – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix</li>
<li><a href="https://github.com/jeremyong/websocket_client" rel="nofollow noopener">https://github.com/jeremyong/websocket_client</a> – WebSocket client that underlies phoneix_client and phoenix_gen_socket_client. Appears to be inactive and it no longer compiles on OTP25.</li>
<li><a href="https://hex.pm/packages/phoenix_channel_client" rel="nofollow noopener">https://hex.pm/packages/phoenix_channel_client</a> – Retired library by Justin Schneck</li>
<li><a href="https://hex.pm/packages/phoenix_client" rel="nofollow noopener">https://hex.pm/packages/phoenix_client</a> – by Justin Schneck “Elixir Phoenix Client for Channels”</li>
<li><a href="https://github.com/J0/phoenix_gen_socket_client" rel="nofollow noopener">https://github.com/J0/phoenix_gen_socket_client</a> – Another Phoenix Channel client</li>
<li><a href="https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456" rel="nofollow noopener">https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456</a> – ElixirForum post on Slipstream</li>
<li><a href="https://github.com/nerves-hub/nerves_hub_link" rel="nofollow noopener">https://github.com/nerves-hub/nerves_hub_link</a> – A more prominent dependent of Slipstream. Slipstream is used as the default communication system for embedded devices to talk to the nerves hub (which provides firmware updates)</li>
<li><a href="https://twitter.com/whatyouhide/status/1521381183229210624" rel="nofollow noopener">https://twitter.com/whatyouhide/status/1521381183229210624</a> – mint_web_socket was just moved under the elixir-mint organization</li>
<li><a href="https://twitter.com/josevalim/status/1521390714025758720" rel="nofollow noopener">https://twitter.com/josevalim/status/1521390714025758720</a> – Jose Valim recently credited NFIBrokerage for bringing even more contributions to the Elixir community</li>
<li><a href="https://helix-editor.com/" rel="nofollow noopener">https://helix-editor.com/</a></li>
<li><a href="https://clojure.org/" rel="nofollow noopener">https://clojure.org/</a></li>
<li><a href="https://github.com/NFIBrokerage" rel="nofollow noopener">https://github.com/NFIBrokerage</a></li>
<li><a href="https://www.eventstore.com/eventstoredb" rel="nofollow noopener">https://www.eventstore.com/eventstoredb</a></li>
<li><a href="https://github.com/elixir-mint/mint" rel="nofollow noopener">https://github.com/elixir-mint/mint</a></li>
<li><a href="https://github.com/elixir-lang/gen_stage" rel="nofollow noopener">https://github.com/elixir-lang/gen_stage</a></li>
<li><a href="https://grpc.io/" rel="nofollow noopener">https://grpc.io/</a></li>
<li><a href="https://github.com/tree-sitter/tree-sitter" rel="nofollow noopener">https://github.com/tree-sitter/tree-sitter</a></li>
<li><a href="https://github.com/elixir-lang/tree-sitter-elixir" rel="nofollow noopener">https://github.com/elixir-lang/tree-sitter-elixir</a></li>
<li><a href="https://elixir-lang.org/tree-sitter-elixir/" rel="nofollow noopener">https://elixir-lang.org/tree-sitter-elixir/</a></li>
<li><a href="https://github.com/jonatanklosko" rel="nofollow noopener">https://github.com/jonatanklosko</a> – Jonatan Kłosko did the majority of the work on the Elixir Tree-Sitter library</li>
<li><a href="https://github.com/gleam-lang/tree-sitter-gleam/" rel="nofollow noopener">https://github.com/gleam-lang/tree-sitter-gleam/</a></li>
<li><a href="https://github.com/ninenines/gun" rel="nofollow noopener">https://github.com/ninenines/gun</a></li>
<li><a href="https://github.com/Azolo/websockex" rel="nofollow noopener">https://github.com/Azolo/websockex</a></li>
<li><a href="https://hex.pm/packages/phoenix_client" rel="nofollow noopener">https://hex.pm/packages/phoenix_client</a></li>
<li><a href="https://github.com/nerves-hub/nerves_hub_link" rel="nofollow noopener">https://github.com/nerves-hub/nerves_hub_link</a></li>
<li><a href="https://en.wikipedia.org/wiki/HTTP/2" rel="nofollow noopener">https://en.wikipedia.org/wiki/HTTP/2</a></li>
<li><a href="https://github.com/NFIBrokerage/spear" rel="nofollow noopener">https://github.com/NFIBrokerage/spear</a></li>
</ul>

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

<ul>
<li><a href="https://github.com/the-mikedavis" rel="nofollow noopener">https://github.com/the-mikedavis</a> – on Github</li>
<li><a href="https://github.com/NFIBrokerage" rel="nofollow noopener">https://github.com/NFIBrokerage</a> – Work Github organization</li>
</ul>

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

<ul>
<li>Message the show - <a href="https://twitter.com/ThinkingElixir" rel="nofollow noopener">@ThinkingElixir</a></li>
<li>Email the show - <a href="mailto:show@thinkingelixir.com" rel="nofollow noopener">show@thinkingelixir.com</a></li>
<li>Mark Ericksen - <a href="https://twitter.com/brainlid" rel="nofollow noopener">@brainlid</a></li>
<li>David Bernheisel - <a href="https://twitter.com/bernheisel" rel="nofollow noopener">@bernheisel</a></li>
<li>Cade Ward - <a href="https://twitter.com/cadebward" 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>
