99: Slipstream and Tree-Sitter with Michael Davis
Thinking Elixir Podcast - A podcast by ThinkingElixir.com - Martedì
Categorie:
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 Elixir Community News 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 – Remote Ruby podcast 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/lucasvegi/Elixir-Code-Smells – Elixir Code Smells project https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd – Elixir Code Smells Livebook notebook https://litestream.io/ – Litestream project for SQLite replication 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 or email at [email protected] Discussion Resources https://github.com/NFIBrokerage/slipstream – Slipstream Phoenix channels websocket client library 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/Azolo/websockex – Pure Elixir websockets implemented as a special OTP process 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 – WebSocket client that underlies phoneix_client and phoenix_gen_socket_client. Appears to be inactive and it no longer compiles on OTP25. https://hex.pm/packages/phoenix_channel_client – Retired library by Justin Schneck https://hex.pm/packages/phoenix_client – by Justin Schneck “Elixir Phoenix Client for Channels” 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 – ElixirForum post on Slipstream https://github.com/nerves-hub/nerves_hub_link – 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) https://twitter.com/whatyouhide/status/1521381183229210624 – mint_web_socket was just moved under the elixir-mint organization https://twitter.com/josevalim/status/1521390714025758720 – Jose Valim recently credited NFIBrokerage for bringing even more contributions to the Elixir community https://helix-editor.com/ https://clojure.org/ https://github.com/NFIBrokerage https://www.eventstore.com/eventstoredb https://github.com/elixir-mint/mint https://github.com/elixir-lang/gen_stage https://grpc.io/ https://github.com/tree-sitter/tree-sitter https://github.com/elixir-lang/tree-sitter-elixir https://elixir-lang.org/tree-sitter-elixir/ https://github.com/jonatanklosko – Jonatan Kłosko did the majority of the work on the Elixir Tree-Sitter library https://github.com/gleam-lang/tree-sitter-gleam/ https://github.com/ninenines/gun https://github.com/Azolo/websockex https://hex.pm/packages/phoenix_client https://github.com/nerves-hub/nerves_hub_link https://en.wikipedia.org/wiki/HTTP/2 https://github.com/NFIBrokerage/spear Guest Information https://github.com/the-mikedavis – on Github https://github.com/NFIBrokerage – Work Github organization Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!