46 min listen
99: Slipstream and Tree-Sitter with Michael Davis
99: Slipstream and Tree-Sitter with Michael Davis
ratings:
Length:
44 minutes
Released:
May 17, 2022
Format:
Podcast episode
Description
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!
Show Notes online - http://podcast.thinkingelixir.com/99 (http://podcast.thinkingelixir.com/99)
Elixir Community News
- https://twitter.com/remote_ruby/status/1522546728922226691 (https://twitter.com/remote_ruby/status/1522546728922226691) – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir.
- https://share.transistor.fm/s/7dc8e2e3 (https://share.transistor.fm/s/7dc8e2e3) – Remote Ruby podcast
- https://github.com/kipcole9/image (https://github.com/kipcole9/image) – New image-processing library called Image that leverages libvips though NIF bindings.
- https://github.com/libvips/libvips (https://github.com/libvips/libvips)
- https://github.com/lucasvegi/Elixir-Code-Smells (https://github.com/lucasvegi/Elixir-Code-Smells) – Elixir Code Smells project
- https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd (https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd) – Elixir Code Smells Livebook notebook
- https://litestream.io/ (https://litestream.io/) – Litestream project for SQLite replication
- https://fly.io/blog/all-in-on-sqlite-litestream/ (https://fly.io/blog/all-in-on-sqlite-litestream/) – Ben Johnson joined Fly.io and will continue work on Litestream
- David's wife had a baby girl! Congrats! Now has 2 kids.
- Next episode is 100 and will be the final visit José Valim in our series. Also covers future development.
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com)
Discussion Resources
- https://github.com/NFIBrokerage/slipstream (https://github.com/NFIBrokerage/slipstream) – Slipstream Phoenix channels websocket client library
- https://github.com/NFIBrokerage/mintwebsocket (https://github.com/NFIBrokerage/mint_web_socket) – Separate library that uses Mint and supports websockets.
- https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md (https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md)
- https://github.com/Azolo/websockex (https://github.com/Azolo/websockex) – Pure Elixir websockets implemented as a special OTP process
- https://github.com/ninenines/gun (https://github.com/ninenines/gun) – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix
- https://github.com/jeremyong/websocket_client (https://github.com/jeremyong/websocket_client) – WebSocket client that underlies phoneixclient and phoenixgensocketclient. Appears to be inactive and it no longer compiles on OTP25.
- https://hex.pm/packages/phoenixchannelclient (https://hex.pm/packages/phoenix_channel_client) – Retired library by Justin Schneck
- https://hex.pm/packages/phoenix_client (https://hex.pm/packages/phoenix_client) – by Justin Schneck “Elixir Phoenix Client for Channels”
- https://github.com/J0/phoenixgensocket_client (https://github.com/J0/phoenix_gen_socket_client) – Another Phoenix Channel client
- https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456 (https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456) – ElixirForum post on Slipstream
- https://github.com/nerves-hub/nerveshublink (https://github.com/nerves-hub/nerves_hub_link) – A more prominent dependent of Slipstream. Slipstr
Show Notes online - http://podcast.thinkingelixir.com/99 (http://podcast.thinkingelixir.com/99)
Elixir Community News
- https://twitter.com/remote_ruby/status/1522546728922226691 (https://twitter.com/remote_ruby/status/1522546728922226691) – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir.
- https://share.transistor.fm/s/7dc8e2e3 (https://share.transistor.fm/s/7dc8e2e3) – Remote Ruby podcast
- https://github.com/kipcole9/image (https://github.com/kipcole9/image) – New image-processing library called Image that leverages libvips though NIF bindings.
- https://github.com/libvips/libvips (https://github.com/libvips/libvips)
- https://github.com/lucasvegi/Elixir-Code-Smells (https://github.com/lucasvegi/Elixir-Code-Smells) – Elixir Code Smells project
- https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd (https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd) – Elixir Code Smells Livebook notebook
- https://litestream.io/ (https://litestream.io/) – Litestream project for SQLite replication
- https://fly.io/blog/all-in-on-sqlite-litestream/ (https://fly.io/blog/all-in-on-sqlite-litestream/) – Ben Johnson joined Fly.io and will continue work on Litestream
- David's wife had a baby girl! Congrats! Now has 2 kids.
- Next episode is 100 and will be the final visit José Valim in our series. Also covers future development.
Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com)
Discussion Resources
- https://github.com/NFIBrokerage/slipstream (https://github.com/NFIBrokerage/slipstream) – Slipstream Phoenix channels websocket client library
- https://github.com/NFIBrokerage/mintwebsocket (https://github.com/NFIBrokerage/mint_web_socket) – Separate library that uses Mint and supports websockets.
- https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md (https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md)
- https://github.com/Azolo/websockex (https://github.com/Azolo/websockex) – Pure Elixir websockets implemented as a special OTP process
- https://github.com/ninenines/gun (https://github.com/ninenines/gun) – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix
- https://github.com/jeremyong/websocket_client (https://github.com/jeremyong/websocket_client) – WebSocket client that underlies phoneixclient and phoenixgensocketclient. Appears to be inactive and it no longer compiles on OTP25.
- https://hex.pm/packages/phoenixchannelclient (https://hex.pm/packages/phoenix_channel_client) – Retired library by Justin Schneck
- https://hex.pm/packages/phoenix_client (https://hex.pm/packages/phoenix_client) – by Justin Schneck “Elixir Phoenix Client for Channels”
- https://github.com/J0/phoenixgensocket_client (https://github.com/J0/phoenix_gen_socket_client) – Another Phoenix Channel client
- https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456 (https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456) – ElixirForum post on Slipstream
- https://github.com/nerves-hub/nerveshublink (https://github.com/nerves-hub/nerves_hub_link) – A more prominent dependent of Slipstream. Slipstr
Released:
May 17, 2022
Format:
Podcast episode
Titles in the series (100)
6: Elixir at FontAwesome with Rob Madole: FontAwesome, the internet's most popular icon toolkit, uses Elixir behind the scenes. We talk with Rob Madole to learn how they got there and Rob shares insights to what goes on behind-the-scenes. We cover how they teach Elixir to their team, by Thinking Elixir Podcast