PLAY PODCASTS
Thinking Elixir Podcast

Thinking Elixir Podcast

303 episodes — Page 5 of 7

103: Vaxine.io and CRDT DBs with James Arthur

James Arthur shares his project Vaxine.io, an Elixir layer built on top of a CRDT based distributed Erlang database called Antidote DB. We cover what CRDTs are and introduce how they work. We learn more about Antidote DB, the CURE protocol and especially the Vaxine.io project that adds Ecto types and makes it more approachable to Elixir applications. As applications become more global, the need for strongly consistent distributed writes becomes much more important. Show Notes online - http://podcast.thinkingelixir.com/103 Elixir Community News https://www.elixirconf.eu/talks/typecheck-effortless-runtime-type-checking/ – Marten shared an update on the TypeCheck project from ElixirConf.EU (June 9-10) https://podcast.thinkingelixir.com/72 – Episode with Martin about TypeCheck https://twitter.com/elixirphoenix/status/1532707770415325185 https://twitter.com/wojtekmach/status/1532662628077785088 – Screenshot showing the single-file LiveView page https://github.com/wojtekmach/mix_install_examples/blob/main/phoenix_live_view.exs [Mix Install Examples - Phoenix LiveView app in ~70 LOC](Mix Install Examples - Phoenix LiveView app in ~70 LOC) https://twitter.com/polvalente/status/1532439823964946432 – New Nx library called nx-signal was shared by the author, Paulo Valente https://github.com/polvalente/nx-signal https://twitter.com/josevalim/status/1533136904736198656 – José's cryptic tweet about Torchvision, ONNX, and a LiveView app https://pytorch.org/vision/stable/index.html – Torchvision docs https://onnx.ai/ – ONNX a format for transporting trained machine learning models https://github.com/thehaigo/live_onnx – LiveOnnx project that combines the previous things with Axon and LiveView https://github.com/oestrich/aino – Aino released 0.5 https://twitter.com/ericoestrich/status/1533995968793919488 – Eric explained v0.5 Aino changes https://twitter.com/josevalim/status/1533907809942880261 – José Valim tweeted a new graphic, teasing something new in Nx land. https://twitter.com/josevalim/status/1534120503182602240 – José mentioned that there are 3 major announcements this month starting at ElixirConfEU. Stay tuned! Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://vaxine.io – Vaxine.io website https://antidotedb.eu – Antidote DB website https://crdt.tech – CRDT information website https://vaxine.io/tech/how-it-works https://github.com/vaxine-io https://github.com/AntidoteDB/antidote – Erlang project by a different group "A planet scale, highly available, transactional database built on CRDT technology" https://www.antidotedb.eu/ https://github.com/vaxine-io/vaxine https://github.com/vaxine-io/vax – Data access library and Ecto integration https://github.com/vaxine-io/examples – Example and demo apps https://www.foundationdb.org/ https://riak.com/index.html https://www.cockroachlabs.com/ https://en.wikipedia.org/wiki/CockroachDB https://supabase.com/ https://lunar.vc/ Guest Information https://twitter.com/VaxineIO – Vaxine.io on Twitter https://github.com/vaxine-io/ – Vaxine Github Organization https://vaxine.io – Vaxine.io website https://vaxine.io/blog – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jun 14, 202254 min

102: Machine Learning in Elixir with Sean Moriarity

Sean Moriarity, the author of Genetic Algorithms in Elixir, lays out Machine Learning in the Elixir space. We talk about where it is today and where it's going in the future. Sean talks more about his book, how that led to working with José Valim which then led to the creation of Nx. He fills us in on recent ML events with Google and Facebook and shows us how Elixir fits into the bigger picture. It's a fast developing area and Sean helps us follow the important points even if we aren't doing ML ourselves… because our teams may still need it. Show Notes online - http://podcast.thinkingelixir.com/102 Elixir Community News https://github.com/phoenixframework/phoenix_live_view/blob/v0.17.10/CHANGELOG.md – Phoenix LiveView gets a minor release v0.17.10 with formatting improvements https://www.rakeroutes.com/2022/05/18/let-s-write-an-elixir-livebook-smart-cell – Creating custom Livebook Smart Cells https://twitter.com/evadne/status/1527651328188723209 – Etso was updated to work with the latest Ecto https://github.com/evadne/etso – Etso library Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ – Genetic Algorithms in Elixir https://github.com/elixir-nx/nx – Numerical Elixir (Nx) https://github.com/elixir-nx/axon – Nx-powered Neural Networks for Elixir. https://pragprog.com/titles/smgaelixir/genetic-algorithms-in-elixir/ – Book - Genetic Algorithms in Elixir https://scala-lang.org/ https://www.quora.com/ https://pragprog.com/titles/elixir16/programming-elixir-1-6/ https://pragprog.com/titles/phoenix14/programming-phoenix-1-4/ https://www.linkedin.com/in/briancardarella/ https://dockyard.com/ https://dockyard.com/blog/authors/sean-moriarity – Sean's blog posts on Dockyard blog https://numpy.org/ https://llvm.org/ https://en.wikipedia.org/wiki/Softmax_function https://en.wikipedia.org/wiki/Natural_language_processing https://xkcd.com/1897/ – XKCD comic https://www.image-net.org/ https://www.deeplearningbook.org/ https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html https://erlef.org/wg/machine-learning – Erlang Eco-system foundation machine working group Guest Information https://twitter.com/sean_moriarity – on Twitter https://github.com/seanmor5/ – on Github https://seanmoriarity.com – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jun 7, 202242 min

101: Replicating SQLite using Litestream with Ben Johnson

Ben Johnson explains his project Litestream.io, an OpenSource tool that replicates SQLite databases to remote servers and to backup locations like S3 for durability. We talk about how moving data out to the user creates true edge applications. We discuss what types of problems this helps solve, the architectures that become possible, and how a globally distributed Phoenix application could use this. He shares how Fly.io acquired the project and brought him on full-time to continue his work on it. Fascinating discussion that challenges many of the assumptions about how we've been building “web” systems for years. Show Notes online - http://podcast.thinkingelixir.com/101 Elixir Community News https://www.erlang.org/blog/my-otp-25-highlights/ – OTP 25 was officially released https://www.erlang.org/eeps/eep-0049 – EEP document discussing the “maybe” expression https://www.erlang.org/doc/reference_manual/expressions.html#maybe – Official docs for “maybe” feature https://www.erlang.org/blog/faster-rand/ – A new fast Pseudo Random Generator https://jobs.ericsson.com/job/Stockholm-Open-SourceErlang-Developer-Stoc/746811902/ – Ericsson, the company behind Erlang, is hiring for an OpenSource developer to join the Erlang team. https://www.bbc.com/news/business-61562651 – Klarna layoffs https://hexdocs.pm/elixir/main/PartitionSupervisor.html – PartitionManager feature coming in Elixir v1.14 has docs online so you can learn about it early. https://twitter.com/DNAutics/status/1528434291872505856 – Isaac Yonemoto made the JavaScript engine in Zig accessible through Zigler and therefore Elixir https://podcast.thinkingelixir.com/98 – Follow-up from episode 98 with Dominic Letz about writing an Elixir application that runs on mobile devices and can be installed from the iOS AppStore. https://ionicframework.com/ https://twitter.com/ElixirConf/status/1526654041626923008 – ElixirConf 2022 in Colorado - CFP is open https://2022.elixirconf.com/speaker-cfp – Where to submit your talk proposal https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10 https://elixirconf.com/events – ElixirConf US in Colorado on August 30-Sep2 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://litestream.io/ https://fly.io/blog/all-in-on-sqlite-litestream/ https://github.com/benbjohnson/litestream – Project on Github https://sqlite.org/index.html https://sqlite.org/whentouse.html – SQLite guide on "when to use" it https://github.com/elixir-sqlite/ecto_sqlite3 https://github.com/boltdb/bolt https://en.wikipedia.org/wiki/Write-ahead_logging https://raft.github.io/ https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type https://litestream.io/tips/ – Page covers tips https://www.kernel.org/doc/html/latest/filesystems/fuse.html – Understanding what a FUSE filesystem is Guest Information https://twitter.com/benbjohnson – on Twitter https://github.com/benbjohnson/ – on Github https://github.com/benbjohnson/litestream – Project on Github Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

May 31, 20221h 2m

100: 10 Years of Elixir with José Valim

Our 100th episode is spent with José Valim celebrating 10 years of Elixir. We close out our 5-part series talking about the recent 1.13 release, the upcoming 1.14 release and looking into the future and v2.0. We learn that many features were created with Nx in mind but are still broadly helpful to Elixir developers. José gives a 1-minute explanation of how ex_unit works, explains what usually makes it into a point release, and how adding stepped ranges meant changes to many Enum functions and so much more! In addition to Elixir, we talk about his journey with Dashbit and we end up learning how the song "The Final Countdown" by Europe might actually be teaching functional programming and recursion?? A super packed episode! Show Notes online - http://podcast.thinkingelixir.com/100 Elixir Community News https://news.livebook.dev/v0.6-automate-and-learn-with-smart-cells-mxJJe – Livebook v0.6 released with new "Smart Cells" https://twitter.com/josevalim/status/1524761086880276482 – Livebook Twitter thread https://www.youtube.com/watch?v=4hVIxyHxwK8 – Livebook announcement and demonstration video https://youtu.be/4hVIxyHxwK8?t=409 – Time signature for talking about making custom Smart Cells https://github.com/livebook-dev/nerves_livebook – Nerves Livebook v0.6 was also released https://stackoverflow.blog/2022/05/11/stack-overflow-2022-developer-survey-is-open/ – Stack Overflow - 2022 Developer Survey is open until June 1st. https://meta.stackoverflow.com/questions/417991/take-the-2022-developer-survey – More information about the survey https://twitter.com/DNAutics/status/1526358294016794624 – Zig adds the ability to execute Javascript from Zig https://github.com/wojtekmach/req – Wojtek Mach is working on Req and is adding some pretty cool features https://github.com/wojtekmach/req_easyhtml https://github.com/wojtekmach/req_hex https://twitter.com/wojtekmach/status/1525226000283467776 – Wojtek teasing a new Req feature https://twitter.com/wojtekmach/status/1525972732680232960 – Wojtek teasing another new Req feature https://www.youtube.com/playlist?list=PLyO-58-sOapwMYqvLRtvV8AGPdREu5Wg7 – Empex MTN presentation videos are up! https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10 https://elixirconf.com/events – ElixirConf US in Colorado on August 30 - Sep 2 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://podcast.thinkingelixir.com/82 – Reviewing Elixir with José Valim - Part 1 https://podcast.thinkingelixir.com/87 – Reviewing Elixir with José Valim - Part 2 https://podcast.thinkingelixir.com/91 – Reviewing Elixir with José Valim - Part 3 https://podcast.thinkingelixir.com/96 – Reviewing Elixir with José Valim - Part 4 https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md – v1.13 https://podcast.thinkingelixir.com/60 – 60 - Compile Faster with Marc-André Lafortune mix xref trace FILE https://podcast.thinkingelixir.com/54 – AST Parsing using Sourceror with Lucas San Román New power operator "**" mix test supports --profile-require=time https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md – v1.14 Dashbit as a company and growth over time. Elixir v2.0? https://podcast.thinkingelixir.com/54 – AST Parsing using Sourceror with Lucas San Román https://talonvoice.com/ https://www.erlang.org/eeps/eep-0054.html https://www.elixirconf.eu/ – ElixirConf EU - hybrid conference 9-10 June 2022 https://livebook.dev/ https://github.com/elixir-nx/explorer https://github.com/elixir-nx/scholar https://github.com/elixir-nx/axon/ https://podcast.thinkingelixir.com/95 – Rustler Precompiled with Philip Sampaio https://github.com/lukaszsamson https://github.com/elixir-lsp/elixir-ls https://github.com/elixir-lang/elixir/issues?q=is%3Aopen+is%3Aissue+milestone%3Av2.0 https://www.youtube.com/watch?v=9jK-NcRmVcw – Europe - The Final Countdown Guest Information https://twitter.com/josevalim – on Twitter https://github.com/josevalim – on Github https://dashbit.co/ – Dashbit website and blog https://erlef.org/news/ – The Erlang Ecosystem Foundation news Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

May 24, 20221h 31m

99: Slipstream and Tree-Sitter with Michael Davis

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

May 17, 202243 min

98: Elixir in the iOS App Store with Dominic Letz

Dominic Letz did something I thought was impossible. He got an Elixir application packaged up, approved, and available through the Apple App Store on iOS devices. The application runs Elixir on the device, creates a web view, and hosts Phoenix LiveView pages. They went further and created a bridge to integrate with more of the platform specific features of the device. Is Android your preferred platform? They have it running there as well and in the Google Play Store. We talk about how it works, challenges overcome, and where it is now. They also created several Github projects that show how to do this yourself to create a cross-platform desktop application and apps for Apple and Android mobile devices. Very cool! They want your help to make it even better. Show Notes online - http://podcast.thinkingelixir.com/98 Elixir Community News https://twitter.com/whatyouhide/status/1521381183229210624 – Mint now has an official WebSocket client https://github.com/elixir-mint/mint_web_socket https://github.com/NFIBrokerage https://github.com/NFIBrokerage/slipstream https://twitter.com/josevalim/status/1519377962063249409 – José Valim announced Dashbit is sponsoring part-time development of sonic_pi for the next 6 months https://sonic-pi.net/ – Sonic Pi website https://github.com/sonic-pi-net/sonic-pi – Sonic Pi project https://github.blog/2022-04-29-bringing-code-navigation-to-communities/ – Github gave Elixir another shout-out in a recent blog post “Bringing code navigation to communities”. https://twitter.com/josevalim/status/1519630932583632897 – The Nx project reaches two major milestones at the same time. https://github.com/elixir-nx/nx https://hex.pm/packages/exla – EXLA package now on Hex.pm https://hex.pm/packages/torchx – Torchx package now on Hex.pm https://twitter.com/robertoaloi/status/1520395745064542209 – WhatsApp's Erlang implementation of the Raft consensus algorithm is now open source https://github.com/WhatsApp/waraft – WARaft is a Raft library in Erlang by WhatsApp. It provides an Erlang implementation to obtain consensus among replicated state machines. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://apps.apple.com/us/app/diode-drive/id1605222443 – Diode Drive iOS app https://play.google.com/store/apps/details?id=io.diode.drive – Google Play listing https://github.com/elixir-desktop/desktop https://github.com/elixir-desktop/ios-example-app – iOS example app https://github.com/elixir-desktop/android-example-app – Android example app https://github.com/elixir-desktop/runtimes – Prepared runtimes for android and iOS devices. https://github.com/elixir-desktop/bridge – Used by “desktop” - does native integrations https://podcast.thinkingelixir.com/69 – Previous interview - episode 69 https://diode.io/diode%20drive/self-custody-for-data-22032/ – Why you should care about Self-Custody for data now https://github.com/couchbaselabs/iErl14 https://podcast.thinkingelixir.com/81 – Elixir in a Burrito with Quinn and Digit https://www.wxwidgets.org/ Guest Information https://twitter.com/DominicLetz – on Twitter https://github.com/dominicletz/ – on Github https://diode.io/ – Diode.io website https://github.com/diodechain – Diode Github organization Elixir Slack's desktop channel Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

May 10, 202247 min

97: Avro and Elixir with Dave Lucia

Dave Lucia released version 2.0 of AvroEx, an Elixir library for working with Avro protocols and schemas. To understand Avro, we need an overview of the whole Kafka-centric flow! He gives us a taste of the Enterprise soup of JVM tools used for populating data lakes, all for the business benefit of data analysis and machine learning. We may work on Elixir systems that are tasked with hooking into this other Enterprise-y world and getting an overview of the pieces and awareness of the tools available can really help out! Dave also shares his goal of creating a new Markdown parser for Elixir and updates us on the next chapter of his professional journey. Show Notes online - http://podcast.thinkingelixir.com/97 Elixir Community News https://twitter.com/wojtekmach/status/1516533938977705990 – Wojtek Mach shared some additional reasons for using NIFs to work with Rust or Zig that aren't performance related. https://twitter.com/atyborska93/status/1516773412848422919 – Angelika Tyborska shared that the Elixir track on Exercism.io got two new fun practice exercises http://exercism.org/tracks/elixir/exercises/killer-sudoku-helper – Exercism.io Elixir puzzle - Killer Sudoku Helper https://exercism.org/tracks/elixir/exercises/state-of-tic-tac-toe – Exercism.io Elixir puzzle - State of Tic Tac Toe https://gleam.run/news/v0.21-introducing-the-gleam-language-server/ – Gleam now has a language server https://twitter.com/cigrainger/status/1518896955921154048 – Nx Explorer project reaches a new milestone and was released to Hex. https://hexdocs.pm/explorer/exploring_explorer.html – Includes a “Ten Minutes to Explorer” Livebook guide https://twitter.com/MozillaHubs/status/1516469058849312768 – Mozilla hiring for a Senior Elixir Engineer to help work on their Hubs Team to help build open social spaces for the web. https://hubs.mozilla.com/ https://github.com/mozilla/hubs https://github.com/mozilla/reticulum https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla – Elixir blog post from a year ago about the Mozilla Hubs Elixir project. https://github.com/elixir-makeup/makeup_diff – Parker Selbert created makeup_diff for displaying diff markup in ExDocs https://www.erlang.org/blog/type-based-optimizations-in-the-jit/ – Blog post on the Erlang blog looked interesting. About OTP 25 type optimizations for the JIT compiler. https://codesync.global/conferences/code-beam-sto-2022/#schedule – CodeBeam in Stockholm Sweden speaker lineup and schedule are out. https://www.empex.co/mtn – Empex MTN in Salt Lake City on May 6 https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10 https://elixirconf.com/events – ElixirConf US in Colorado on August 30-Sep2 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://davelucia.com/blog/avro-2.0 https://github.com/beam-community/avro_ex https://avro.apache.org/ https://kafka.apache.org/ https://podcast.thinkingelixir.com/75 – Previous discussion https://www.bloomberg.com/professional/solution/bloomberg-terminal/ https://theoutline.com/ https://elm-lang.org/ https://developers.google.com/protocol-buffers/ https://thrift.apache.org/ https://github.com/klarna/erlavro https://databricks.com/ https://spark.apache.org/ https://en.wikipedia.org/wiki/Extract,_transform,_load https://databricks.com/glossary/what-is-parquet https://www.snowflake.com/workloads/data-lake/ https://github.com/beam-community https://github.com/doomspork https://github.com/surface-ui/surface https://github.com/pragdave/earmark https://github.com/pragdave https://github.com/davydog187/marx https://www.youtube.com/watch?v=dmBdFh5N1g4 – Migrating from Kafka to RabbitMQ at SimpleBet - Why and How https://twitter.com/davydog187/status/1512393866653011968 – Announced leaving SimpleBet and co-founding something new. https://twitter.com/davydog187/status/1512393877575110668 – Co-Founding Bitfo as the CTO. https://www.bitfo.com/ https://ethereumprice.org/ https://www.bitcoinprice.com/ https://defirate.com/ Guest Information https://twitter.com/davydog187 – on Twitter https://github.com/davydog187/ – on Github https://davelucia.com – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

May 3, 202248 min

96: Reviewing Elixir with José Valim - Part 4

José Valim returns for part 4 in our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love! In Part 4, we talk through the Elixir releases of 1.10, 1.11, and 1.12. We go deeper on the philosophy of “explicit vs implicit” and how that informs many design decisions about the language. We learn about how Elixir and Erlang loggers were unified, how matching on map keys in guards enabled receives block enhancements, how common date sorting bugs were solved with Enum.sort improvements (that you should really listen to), the improvements to application config, how exceptions work in Erlang and Elixir and much more! A packed episode! Show Notes online - http://podcast.thinkingelixir.com/96 Elixir Community News https://github.com/livebook-dev/livebook/pull/1115 – Livebook adds “Code Focus Mode” making it easier to focus on the code cells. https://github.com/livebook-dev/livebook/discussions – Livebook project announced and opened a Github Discussions section to the project. https://github.com/phoenixframework/phoenix_live_dashboard/pull/367 – Full screen mode contribution added to Phoenix LiveDashboard project. https://podcast.thinkingelixir.com/92 – Mitch Hanberg talked with us previously about Temple https://github.com/mhanberg/eex_compiler_visualizer – Mitch Hanberg created an “EEX Compiler Visualizer” project. https://twitter.com/mitchellh/status/1515369637726224385?s=12&t=so7B66NTrJKPwDWLqMxpJA – The Zig language reached the milestone of being self-hosted https://github.com/ziglang/zig/pull/11442 – Zig being self-hosted means the compiler is capable of building itself. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/elixir-lang/elixir/blob/v1.10/CHANGELOG.md – Elixir 1.10 changelog https://elixirforum.com/t/discussion-incorporating-erlang-otp-21-map-guards-in-elixir/14816 – Incorporating Erlang/OTP 21 map guards in Elixir https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md – Elixir 1.11 changelog https://github.com/elixir-lang/elixir/blob/v1.12/CHANGELOG.md – Elixir 1.12 changelog https://www.erlang.org/eeps/eep-0054.html – EEP 54 - Provide more information about errors https://github.com/sasa1977/boundary https://hexdocs.pm/elixir/Enum.html#sort/2-sorting-structs – Improvements to sort-based APIs in Enum - Enum.sort(dates, Date) https://hexdocs.pm/elixir/Calendar.html#strftime/3 https://github.com/elixir-nx/nx https://livebook.dev/ https://hexdocs.pm/mix/Mix.html#install/2 CMD+\ or CTRL+\ https://github.com/doawoo/teex https://hexdocs.pm/elixir/Kernel.html https://hexdocs.pm/elixir/Kernel.html#then/2 https://hexdocs.pm/elixir/Kernel.html#tap/2 https://hexdocs.pm/elixir/Range.html https://hexdocs.pm/elixir/Range.html#disjoint?/2 https://github.com/elixir-lang/elixir/blob/a64d42f5d3cb6c32752af9d3312897e8cd5bb7ec/lib/elixir/lib/range.ex#L249-L251 https://math.stackexchange.com/questions/1656120/formula-to-find-the-first-intersection-of-two-arithmetic-progressions Guest Information https://twitter.com/josevalim – on Twitter https://github.com/josevalim – on Github https://dashbit.co/ – Dashbit website and blog https://erlef.org/news/ – The Erlang Ecosystem Foundation news Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Apr 26, 20221h 18m

95: Rustler Precompiled with Philip Sampaio

The recent announcement of Rustler Precompiled prompted a lot of interest and questions. We talk with Philip Sampaio to understand what he created and what problem it helps solve. The project helps lower the bar for using Rust libraries for NIFs in Elixir making it possible to see more libraries using Rustler in the future. He explains what prompted the work initially and how projects can benefit from it. We discuss what it means for internal company projects and especially for libraries. He explains how the project addresses the many architecture and platform combinations too. We end with learning about his sample CI project that shows us how to set up our own CI systems to use it. Show Notes online - http://podcast.thinkingelixir.com/95 Elixir Community News https://github.com/phoenixframework/phoenix/pull/4742 – Phoenix presence client https://twitter.com/elixirphoenix/status/1511393478873427982 – Twitter thread discussing the Phoenix presence client https://hexdocs.pm/phoenix_live_view/changelog.html#0-17-8-2022-04-06 – LiveView 0.17.8 released. Includes the HEEx template formatter https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.HTMLFormatter.html – Docs on how to set it up Issues discussing VS Code problems https://github.com/elixir-lsp/vscode-elixir-ls/issues/242 https://github.com/elixir-lsp/vscode-elixir-ls/issues/241 https://github.com/DockYard/flame_on – flame_on library updated https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on – Original flame_on announcement post for more info https://twitter.com/sorentwo/status/1513630468490645509 – Oban adds “inline mode” to make testing more straightforward https://www.mitchellhanberg.com/how-eex-turns-your-template-into-html/ – Mitchell Hanberg wrote an article about how EEx works https://podcast.thinkingelixir.com/92 – Previous interview with Mitchell Hanberg https://exercism.org/tracks/elixir/exercises/take-a-number-deluxe – Exercism.io GenServer learning exercise was added. https://twitter.com/atyborska93/status/1513807461043552256 – Angelika shares about the Exercism.io update https://twitter.com/whatyouhide/status/1512100896653590535 – Andrea Leopardi is working at Apple now on their Environment team. https://www.apple.com/environment/ – More about the Apple Environment team https://www.youtube.com/watch?v=R7t7zca8SyM – “Elixir in 100 seconds” video Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://dashbit.co/blog/rustler-precompiled https://twitter.com/philipsampaio/status/1503809314489831441 https://github.com/philss/rustler_precompiled https://github.com/philss/rustler_precompilation_example https://github.com/philss/floki https://github.com/rusterlium/rustler https://github.com/servo/html5ever https://github.com/elixir-nx/nx https://hex.pm/packages?search=depends%3Ahexpm%3Arustler&sort=total_downloads – Current Hex packages using rustler https://github.com/elixir-nx/nx/tree/main/nx#readme https://elixir-nx.github.io/explorer/Explorer.DataFrame.html https://www.pola.rs/ https://github.com/discord/sorted_set_nif https://ziglang.org/ https://github.com/ityonemo/zigler https://github.com/philss/rustler_precompiled/blob/main/PRECOMPILATION_GUIDE.md https://github.com/philss/rustler_precompilation_example Guest Information https://twitter.com/philipsampaio – on Twitter https://github.com/philss/ – on Github https://dashbit.co/blog – Dashbit blog where he writes https://phils.dev – Personal blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Apr 19, 202238 min

94: Benchee and OpenSource with Tobias Pfeiffer

We talk with Tobias Pfeiffer about his popular performance benchmarking tool Benchee. We learn about why he created it, what's special about it, and the big features in the latest release. It was 2 years between this release and the previous one. Tobi talks openly about the technical challenges that compounded with personal challenges, feelings of obligation, anxiety, and the drive for perfection. As developers, many of us struggle with these same issues and it helps just hearing that we're not alone. Show Notes online - http://podcast.thinkingelixir.com/94 Elixir Community News https://www.devsforukraine.io/ – Devs for Ukraine online conference, April 25-26 https://github.com/sorentwo/oban/pull/677 – Oban library putting effort into documentation guides. Testing is the first out. https://medium.com/membraneframework/introducing-auto-demands-release-of-membrane-v0-9-0-c0213d8efa51 – Membrane Framework release v0.9.0 was announced https://podcast.thinkingelixir.com/43 – Previous show covering more about Membrane https://supabase.com/blog/2022/03/30/supabase-enterprise#elixir-livebooks – Supabase announced Livebooks for Supabase https://github.com/supabase/livebooks https://podcast.thinkingelixir.com/73 – Previous show with Paul Copplestone about Supabase Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/bencheeorg/benchee https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/ http://www.pragtob.info/ https://github.com/PragTob?tab=repositories – List of current github repositories https://remote.com/ https://nextjs.org/ – NextJS is react https://spawnfest.org/ https://github.com/github/scientist – Scientist ruby gem https://github.com/cwbriones/scientist – Elixir port of the library [Application Performance Monitoring (APM)](Application Performance Monitoring (APM)) https://en.wikipedia.org/wiki/Garbage_collection_(computer_science) https://www.youtube.com/watch?v=aqLujfzvUgM – Devon Estes - Digging through the garbage https://github.com/OvermindDL1 https://github.com/whatyouhide/stream_data https://www.rug-b.de/ https://github.com/bencheeorg/benchee/issues/313 – Benchee Mac issue https://www.shopify.com/ https://rubygems.org/gems/simplecov https://github.com/alco/benchfella https://rubygems.org/gems/benchmark-ips https://github.com/bencheeorg/benchee#hooks-setup-teardown-etc Guest Information https://twitter.com/PragTob – on Twitter https://github.com/PragTob/ – on Github http://www.pragtob.info/ – Blog https://pragtob.wordpress.com/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Apr 12, 20221h 0m

93: Preventing Service Abuse with Michael Lubas

We talk with Michael Lubas about steps we can take to protect our Phoenix applications from common automated bot attacks. We cover API abuse to send email spam, carding attacks, and credential stuffing. We learn how Michael started paraxial.io which aims to specifically serve the Elixir community and more! Show Notes online - http://podcast.thinkingelixir.com/93 Elixir Community News https://erlef.org/blog/eef/election-2022-results – Erlang Ecosystem Foundation board election voting results https://erlef.org/blog/eef/election-2022 – Previous election notice and explanations https://hexdocs.pm/ex_doc/changelog.html – ExDoc v0.28.3 was released https://twitter.com/josevalim/status/1508528099973120004 – Call to help move ExDoc away from webpack to esbuild https://twitter.com/dominicletz/status/1506675402059792388 – iOS app store now has an Elixir application deployed in it! https://podcast.thinkingelixir.com/69 – Previous interview with Dominic Letz about doing Elixir on the desktop and mobile. https://www.erlang.org/news/155 – Erlang 25.0 rc-2 was released and requesting feedback https://twitter.com/josevalim/status/1507443537851392007 – Jose Valim's experience compiling Elixir from scratch on Apple's new MacStudio M1 Max Conference reminders https://www.empex.co/mtn – Empex MTN in Salt Lake City on May 6 https://codesync.global/conferences/code-beam-sto-2022/ – CodeBEAM in Stockholm on May 19-20 https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10 https://elixirconf.com/events – ElixirConf US in Colorado on August 30-Sep2 https://github.com/lucasvegi/Elixir-Code-Smells – Elixir Code Smells - public project https://fly.io/phoenix-files/safe-ecto-migrations/ – Safe Ecto Migrations https://twitter.com/TylerAYoung/status/1508413319178297352 – Today I Learned about doctests and importing Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://www.paraxial.io/blog/throttle-requests https://github.com/michalmuskala/plug_attack https://owasp.org/Top10/ https://github.com/magento/magento2/issues/28614 – What is a carding attack? https://owasp.org/www-project-automated-threats-to-web-applications/ http://paraxial.io/ https://frame.io/ https://news.adobe.com/news/news-details/2021/Adobe-Completes-Acquisition-of-Frame.io/default.aspx https://www.metasploit.com/ https://www.crunchbase.com/ https://owasp.org/www-community/attacks/Credential_stuffing https://en.wikipedia.org/wiki/Web_application_firewall Guest Information https://twitter.com/paraxialio – on Twitter https://github.com/paraxialio/ – on Github https://paraxial.io/ – Website [email protected] Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Apr 5, 202252 min

92: Temple with Mitchell Hanberg

We talk with Mitchell Hanberg and learn about why he created the alternate Phoenix templating language called “Temple”. He explains how Temple works, some of its unique benefits and where he's going with it in the future. Mitchell also took over maintenance of the testing project Wallaby from Chris Keathley. We revisit what Wallaby is and the special place it can have when building automated full system tests for our projects. Show Notes online - http://podcast.thinkingelixir.com/92 Elixir Community News https://twitter.com/josevalim/status/1506248906979659782 – José shared his personal definition of a reduction as "energy". https://twitter.com/thibaut_barrere/status/1501909747854942212 – PSA for people whose app fails to start on port 5000 when running on the new macOS. https://dashbit.co/blog/rustler-precompiled – Rustler Precompiled project was announced on the Dashbit blog by Philip Sampaio https://twitter.com/nervesproject/status/1504821571524964357 – Lots of update Nerves releases on Hex https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/ – A popular NPM package was maliciously updated by the maintainer as an act of protest. Impacted Vue.js projects. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/mhanberg/temple https://github.com/mhanberg/tableau https://github.com/mhanberg/blog/tree/mh/tableau https://github.com/elixir-wallaby/wallaby https://twitter.com/elixir_wallaby https://www.selenium.dev/documentation/webdriver/ https://github.com/markaby/markaby https://crystal-lang.org/ https://luckyframework.org/ https://laravel.com/ https://laravel.com/docs/9.x/blade https://github.com/elixir-lsp/elixir_sense https://surface-ui.org/template_syntax https://surface-ui.org/ https://teamcapybara.github.io/capybara/ https://hexdocs.pm/hound/readme.html https://www.selenium.dev/ https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html https://github.com/elixir-wallaby/wallaby/discussions https://github.com/puppeteer/puppeteer Guest Information https://twitter.com/mitchhanberg – on Twitter https://github.com/mhanberg/ – on Github https://www.mitchellhanberg.com – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Mar 29, 202248 min

91: Reviewing Elixir with José Valim - Part 3

José Valim returns to continue with part 3 of our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 3, we talk through the Elixir releases of 1.7, 1.8, and 1.9. We talk about the unification efforts between Elixir and Erlang. These came through changes to error stacktraces, how documentation is stored, a unified logger, and more. We learn how features like Mix.target made a big difference for the Nerves project. We also hear the call for contributors to help bring a few remaining date/time features to Elixir. The big feature in Elixir 1.9 was the addition of deployment releases and the early efforts at managing config for releases. We thought this would be a short episode but found there was a lot to talk about and learn! Show Notes online - http://podcast.thinkingelixir.com/91 Elixir Community News https://github.com/bencheeorg/benchee – Benchee 1.1.0 release https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/ – Blog post on Benchee release and why the release took so long https://twitter.com/josevalim/status/1501482561511510018 – ExDoc gets a new minor feature that lets us syntax highlight HEEx templates https://elixirpatterns.dev/ – “Elixir Patterns” book is being pre-launched by the authors, Alex Koutmos and Hugo Baraúna. https://davelucia.com/blog/avro-2.0 – AvroEx 2.0 released https://www.functionalconf.com/ – Functional Conference 2022 - Asia's Premier Functional Programming Conference Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://podcast.thinkingelixir.com/82 – Part 1 https://podcast.thinkingelixir.com/87 – Part 2 https://github.com/elixir-lang/elixir/blob/v1.7/CHANGELOG.md – Elixir changelog for v1.7 https://www.erlang.org/eeps/eep-0048 – EEP 48 https://hexdocs.pm/nx/Nx.html https://github.com/elixir-lang/elixir/blob/v1.8/CHANGELOG.md – Elixir changelog for v1.8 https://hexdocs.pm/elixir/Kernel.html#guards – Elixir docs on guards “dunder“ = a Double Underscore https://hexdocs.pm/elixir/Protocol.html#derive/3 – Protocol derive https://hexdocs.pm/elixir/Inspect.html#module-deriving – Deriving for inspect https://github.com/elixir-lang/elixir/blob/v1.9/CHANGELOG.md – Elixir changelog for v1.9 https://hexdocs.pm/ecto/Ecto.Schema.html#field/3-options https://hex.pm/packages/date_time_parser https://github.com/bitwalker/distillery – Mix package used for releases before it was built into Elixir. Guest Information https://twitter.com/josevalim – on Twitter https://github.com/josevalim – on Github https://dashbit.co/ – Dashbit website and blog https://erlef.org/news/ – The Erlang Ecosystem Foundation news Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Mar 22, 202259 min

90: Elixir Cards with Tetiana Dushenkivska

We talk with Tetiana Dushenkivska, the creator of Elixir Cards, a series of Elixir flashcards with multiple ways to use them. We talk about why she created the cards, how they helped her, and how others have used them. We talk about learning models and the importance of repetition for memorizing things. Tetiana shares how LiveView is used in the creation of the cards and more! David shares how he used the cards for fun drills at meetups and Tetiana fondly recalls a tournament held at a previous Elixir conf. She also shares what she's working on now for a future online learning system. Show Notes online - http://podcast.thinkingelixir.com/90 Elixir Community News https://lu.ma/elixir-social – Elixir lunch is now Elixir social https://twitter.com/josevalim/status/1499132873114361872 – The Phoenix HEEX template formatter now merged in to LiveView https://twitter.com/nivenhuh/status/1483895710932078593 – Apple was hiring for an Elixir developer to join their Environment team. Position is closed, but an insight to Elixir usage at the company. https://www.apple.com/environment/ – Apple environment initiative https://twitter.com/emjii/status/1500574395936485384 – Performance work continues for Apple's M1 chips and Elixir. This tweet is about slow package unpacking during mix deps.get https://github.com/akoutmos/prom_ex/pull/122 – Alex Koutmos shared that PromEx now allows you to bundle Grafana's Agent so you can push metrics to Prometheus. https://fly.io/blog/intro-to-accessibility/ – An intro to Accessibility on the web. LiveBeats will continue to get enhancements so we can see an example. https://twitter.com/fhunleth/status/1500521232965451776 – Frank Hunleth tuning Nerves for the new Grisp 2 board. Can get pre-built binaries to play with. https://www.grisp.org/ – Grisp 2 is a hardware device built with Elixir and Erlang in mind https://github.com/erlang/otp/pull/4750#issuecomment-823816722 – Correction about constant time and :crypto.hash_equals Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://twitter.com/elixircards – Elixir Cards Twitter account https://twitter.com/gitcards – Git Cards Twitter account https://www.elixircards.co.uk/ – Website for sales/marketing of Elixir Cards https://gitflashcards.com/ – Git cards website https://pragprog.com/titles/elixir16/programming-elixir-1-6/ https://hexdocs.pm/elixir/Enum.html https://www.eng.auburn.edu/current-students/documents/forgetting-curve.pdf https://kapeli.com/dash – Dash tool on MacOS for combined documentation searching https://zealdocs.org/ – Zeal is a Dash-like tool that is OpenSource and cross platform for Linux and Windows. https://xkcd.com/1168/ – Comic about remembering Tar commands [email protected] Guest Information https://twitter.com/Tetiana12345678 – on Twitter https://github.com/tetiana12345678 – on Github [email protected] Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Mar 15, 202242 min

89: Reducing the Friction in Your Flow

We talk about how designing applications with lower friction points is a valuable goal. LiveView plays a powerful role in that mission. Mark pitches why he thinks it's time to take another look at LiveView if you haven't lately. We talk over some of the business benefits, efficiencies gained and we address some common reasons given for "why it can't work." We also cover some remaining areas of improvement for LiveView. Then we talk about how moving your servers closer to users removes additional friction both for deployment and application design. Mark shares how the fly_postgres library works and how it enables people to build "normal" Phoenix applications using Postgres read-replicas across multiple regions. A fun discussion! Show Notes online - http://podcast.thinkingelixir.com/89 Elixir Community News https://erlef.org/blog/eef/election-2022 – Erlang Ecosystem Foundation is holding elections soon. You can get involved! https://gleam.run/news/gleam-v0.20-released/ – Gleam 0.20 released https://twitter.com/louispilfold/status/1496108145185337344 – Gleam source code is recognized as a language on GitHub and gets syntax highlighting https://twitter.com/louispilfold/status/1497320401461993473 – Work has begun on a Gleam Language Server https://github.com/DockYard/flame_on – New performance analyzing library released by Dockyard called "flame_on" https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on – Post explains more about the flame_on library Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://www.youtube.com/watch?v=IqnZnFpxLjI – Mark's 2021 Elixir Conf talk https://github.com/readme/featured/server-side-languages-for-front-end – GitHub article "Move over JavaScript - Back-end languages are coming to the front-end" https://utils.zest.dev/gendiff – David's Phoenix version diffing tool https://github.com/superfly/fly_rpc_elixir https://github.com/superfly/fly_postgres_elixir https://fly.io/docs/getting-started/elixir/ https://fly.io/docs/reference/regions/ https://podcast.thinkingelixir.com/20 – Caleb Porzio interview https://plausible.io/ Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Mar 8, 202249 min

88: Phoenix Debug Toolbar and LiveView Forms with Michael Crumm

We talk with Michael Crumm, the primary author of the Phoenix Live Dashboard, about a new project of his. He is working on a development toolbar that is rendered on your pages and helps profile performance, expose route info, show crash info and more. It’s called PhoenixProfiler and it ties into Telemetry events for data. While still early, it can be a great tool for teams. We also talk about another goal of his, to improve working with forms in LiveView! Show Notes online - http://podcast.thinkingelixir.com/88 Elixir Community News https://github.com/J3RN/tree-sitter-gleam – Gleam gets tree-sitter support https://www.erlang.org/news/153 – Erlang/OTP 25.0-rc1, (Release Candidate 1) https://twitter.com/stfnlptk/status/1494329717259837443 – Speed improvements for compiling on M1 chips New ETS table option {write_concurrency, auto} https://github.com/erlang/otp/pull/4719 – erlang:float_to_binary/2 has new short option https://www.erlang.org/eeps/eep-0049 – Improved the JIT’s support for tools perf and gdb https://hexdocs.pm/ex_doc/readme.html#admonition-blocks – New "Admonition Blocks" feature added to ExDoc https://twitter.com/brooklinjmyers/status/1494813972750483457 – Brooklin Myers working on a Livebook "carousel" feature Ability to create custom Livebook controls using Kino.JS.Live and Kino.JS https://github.com/cocoa-xu/otter – Otter project - "Call C functions in a shared library without writing a NIF" https://podcast.thinkingelixir.com/85 – Interview with Cocoa Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/mcrumm/phoenix_profiler – Phoenix debug toolbar profiler https://github.com/phoenixframework/phoenix_live_dashboard – Live Dashboard project https://www.cargosense.com/ https://www.manning.com/books/the-little-elixir-and-otp-guidebook https://hexdocs.pm/iex/IEx.Pry.html https://symfony.com/ https://symfony.com/doc/current/profiler.html https://github.com/jazzband/django-debug-toolbar https://github.com/MiniProfiler/rack-mini-profiler https://github.com/dejan/rails_panel Guest Information Michael Allen Crumm Jr. https://twitter.com/mcrumm – on Twitter https://github.com/mcrumm/ – on Github Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Mar 1, 202253 min

87: Reviewing Elixir with José Valim - Part 2

José Valim returns to continue with part 2 of our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 2, we talk through the Elixir releases of 1.4, 1.5, and 1.6. We still manage to sneak in discussions about some new things in Elixir 1.13 and the upcoming release. We go deeper on GenStage, Registry, and growing up through production releases. We also learn about the history with unicode while touching on the recent unicode security issues that hit everywhere. We get some behind the scenes insights about the Elixir formatter and the complex logic required to bring ExUnit's pretty diff features, and much more! Show Notes online - http://podcast.thinkingelixir.com/87 Elixir Community News https://twitter.com/importantshock/status/1491835261705199620 – GitHub code search based navigation now works with Elixir https://twitter.com/josevalim/status/1491833991401463809 – José Valim credits the work and says the 10th language to get this feature. https://github.com/github/roadmap/issues/445 – GitHub public roadmap item - Advisory Database, Elixir/mix support https://github.com/dependabot/elixir-security-advisories – Dependabot Elixir security advisories https://github.com/readme/featured/server-side-languages-for-front-end – GitHub published an article feature Elixir and LiveView https://anchor.fm/helloerlang – New Erlang focused podcast called “Hello Erlang!” https://twitter.com/josevalim/status/1492464780480856069 – New versions of makeup, flow, nimble_parsec, nimble_pool, and plug were released. https://github.com/elixir-makeup/makeup – Makeup is a "generic syntax highlighter" used in ExDoc https://github.com/dashbitco/nimble_parsec https://github.com/dashbitco/flow https://github.com/elixir-plug/plug Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://podcast.thinkingelixir.com/82 – Part 1 - Episode 82 https://github.com/elixir-lang/elixir/blob/v1.4/CHANGELOG.md – CHANGELOG v1.4 https://elixirforum.com/ https://en.wikipedia.org/wiki/Embarrassingly_parallel https://hexdocs.pm/flow/Flow.html https://hexdocs.pm/elixir/Task.html#async_stream/3 https://hexdocs.pm/elixir/Registry.html https://github.com/bitwalker/distillery https://github.com/elixir-lang/elixir/blob/v1.5/CHANGELOG.md – CHANGELOG v1.5 https://github.com/phoenixframework/phoenix/blob/v1.3/CHANGELOG.md – Phoenix 1.3 released https://trojansource.codes/ https://hexdocs.pm/iex/IEx.Pry.html https://www.youtube.com/watch?v=p4uE-jTB_Uk – The Feature That No One Knew About in Elixir 1.5 - José Valim https://github.com/rrrene/credo https://github.com/elixir-lang/elixir/blob/v1.6/CHANGELOG.md – CHANGELOG v1.6 https://medium.com/@JakeBeckerCode/introducing-elixirls-the-elixir-language-server-d449bbbdfc01 mix test --slowest 3 CMD+\ or CTRL+\ Guest Information https://twitter.com/josevalim – on Twitter https://github.com/josevalim – on Github https://dashbit.co/ – Dashbit website and blog https://erlef.org/news/ – The Erlang Ecosystem Foundation news Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Feb 22, 20221h 6m

86: SavvyCal and Indie SaaS with Derrick Reimer

We talk with Derrick Reimer about his product SavvyCal. He used Elixir as a solo dev to create a service that can take on an 800lb gorilla like Calendly. He shares what competitive advantages he feels he has both from Elixir but also in being more nimble. We also talk about creating a company as an independent, solo developer and how that can work. Derrick shares some tips and resources that were helpful for him on his journey. We feel the PETAL stack positions Elixir developers well for optionally taking that Indie path if desired. Check it out! Lots of nuggets here! Show Notes online - http://podcast.thinkingelixir.com/86 Elixir Community News https://twitter.com/josevalim/status/1488640181364273160 – Livebook Kino gets a new Youtube control feature https://twitter.com/josevalim/status/1489234959592214531 – Only display LiveView topbar progress animation after a delay https://github.com/phoenixframework/phoenix_live_view/commit/22ac99b108a167c324182f22be369aeea9eff346 – Commit showing the topbar changes to add delay https://fly.io/phoenix-files/make-your-liveview-feel-faster/ – Mark's blog post about the topbar progress delay https://twitter.com/josevalim/status/1489522409426325504 – Ecto minimal cheatsheet https://twitter.com/innovation_code/status/1490729612892069889 – Grisp2 boards are shipping https://www.kickstarter.com/projects/peerstritzinger/grisp-2 – Grisp2 Kickstarter project https://medium.com/opentelemetry/opentelemetry-erlang-elixir-javascript-and-ruby-v1-0-3a0c32e0add4 – OpenTelemetry for Elixir/Erlang reached 1.0 https://hex.pm/orgs/opentelemetry – OpenTelemetry group https://www.germanvelasco.com/blog/starting-elixir-lunch – German Velasco is starting a remote Elixir lunch https://github.com/fly-apps/live_beats – LiveBeats project works great as an example Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://twitter.com/derrickreimer https://twitter.com/savvycal https://savvycal.com/ https://twitter.com/frigidcode/status/1477656247772094467 https://artofproductpodcast.com/ – Podcast Derrick co-hosts https://www.drip.com/ https://github.com/whitfin/cachex https://www.amazon.com/Lost-Founder-Painfully-Honest-Startup/dp/0735213321 https://tinyseed.com/ https://microconf.com/ https://www.indiehackers.com/ https://www.derrickreimer.com/books-for-founders – List of books Derrick recommends Guest Information https://twitter.com/derrickreimer – on Twitter https://github.com/derrickreimer/ – on Github http://derrickreimer.com/ – Blog http://savvycal.com/ – SavvyCal website Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Feb 15, 202250 min

85: Computer Vision in Elixir with Cocoa Xu

We talk with Cocoa Xu about his PhD robotics project and his related Evision project that creates Elixir bindings to the OpenCV library. The project enables computer vision in Elixir much easier by building on existing projects. We learn about the kinds of features this enables and how it can target embedded devices as well. His goal of a clustered, collaborative, hoard of Elixir robots is terrifyingly fascinating! 😄 Show Notes online - http://podcast.thinkingelixir.com/85 Elixir Community News https://github.com/livebook-dev/livebook/pull/948 – New feature added to Livebook draws red squiggly lines under syntax errors. https://tecnoblog.net/noticias/2022/01/24/as-5-linguagens-de-programacao-mais-usadas-no-brasil-segundo-o-github/ – Elixir is the 5th most growing programming language in Brazil in 2021 on GitHub. Article in Portuguese. https://pragprog.com/titles/liveview/programming-phoenix-liveview/ – Updated version of the book "Programming Phoenix LiveView" https://twitter.com/akoutmos/status/1487545038632628245 – Inspired by episode 81 about "burrito", Alex Koutmos created a json terminal tool in Elixir https://gist.github.com/akoutmos/f14e0f719b4efbee2526858b34869004 – Alex shared a Gist so people can do this themselves https://github.com/elixir-lang/elixir/releases/tag/v1.13.2 – Elixir v1.13.2 with enhanced "mix format" support and more https://github.com/feliperenan/heex_formatter – New alpha state library is a HEEx formatter https://fly.io/blog/free-postgres/ – Hosting provider Fly.io announced free Postgres databases. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/cocoa-xu/evision https://twitter.com/brainlid/status/1470588461371568129 https://github.com/opencv/opencv https://pypi.org/project/opencv-python/ https://github.com/cocoa-xu/evision/tree/main/examples – Usage examples that part of the repo https://cocoa-xu.github.io/evision/ – Online docs at the moment https://twitter.com/_uwu_cocoa/status/1466898968164679696 https://github.com/opencv/opencv – Open Source Computer Vision Guest Information https://twitter.com/_uwu_cocoa – on Twitter https://github.com/cocoa-xu/ – on Github https://cocoa-research.works/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Feb 8, 202227 min

84: LiveBeats with Chris McCord

We talk with Chris McCord about the LiveBeats project he created. It’s a high-quality, showcase, open source project that highlights new and powerful features in LiveView. LiveBeats is a social music playing application that challenges current ideas about what LiveView is able to do. It uses presence, new JS features, defines reusable Tailwind styled components, includes accessibility and more! An exciting project that people can actually use in addition to being a great community resource. We also get into what’s coming out in Phoenix 1.7 that may interest people getting ready to start a new project! Show Notes online - http://podcast.thinkingelixir.com/84 Elixir Community News https://news.livebook.dev/v0.5-flowcharts-custom-widgets-intellisense-and-ui-improvements-4FcvbG – Livebook 0.5 released blog post https://twitter.com/josevalim/status/1483907938590810118 – José Valim's Twitter thread announcing the release https://twitter.com/josevalim/status/1484915718223286276 – Livebook future release will include BEAM memory display on the sidebar https://github.com/mcrumm/live_upload_example/commit/8be00c0d451f94ad82860a9b85ab020092e2a8b7 – Michael Crumm shared his PR that updated the live_view_upload example to HEEx templates as an example https://www.empex.co/mtn – Empex MTN is Elixir conference in Salt Lake City, UT on May 6, 2022 https://twitter.com/sorentwo/status/1478021043486928896 – Oban Pro feature makes it easy to get the result of an async job Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://fly.io/blog/livebeats/ – Blog post by Chris where he talks about the project. https://github.com/fly-apps/live_beats – Source code for the project. https://livebeats.fly.dev/ – Visit the running hosted app. https://livebeats.fly.dev/signin https://fly.io/phoenix-files/tailwind-standalone/ https://github.com/phoenixframework/tailwind https://fly.io/phoenix-files/live-render-sticky-option/ https://github.com/petalframework/petal_components https://milligram.io/ https://github.com/phoenixframework/phoenix/pull/4100 https://surface-ui.org/getting_started Guest Information https://twitter.com/chris_mccord – on Twitter https://github.com/chrismccord – on Github http://chrismccord.com/ – Blog https://twitter.com/flydotio – Fly.io on Twitter Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Feb 2, 202257 min

83: Zig and Zigler with Isaac Yonemoto

We talk with Isaac Yonemoto about the Zig language and his Zigler Elixir library. We learn where Zig came from, why it is capturing people's interest, and how Zigler makes it easy to write native, cross-compiled NIFs in Elixir! At the end we shift into talking about his OpenAPI Elixir project that comes at the problem from a different direction than others. A fun get-to-know-you with Isaac and a great look into Zig and where it might go with Elixir in the future. Show Notes online - http://podcast.thinkingelixir.com/83 Elixir Community News https://gleam.run/news/gleam-v0.19-released/ – Gleam release v0.19 enables publishing Gleam packages to Hex as Erlang libraries. https://github.com/gleam-lang/mix_gleam – Mix Gleam makes it easier to integrate Gleam into your Elixir project Brooklin Myers joined DockYard as a full time employee to help build an open Elixir bootcamp. https://github.com/lpil/thoas/ – Jason library ported to Erlang https://www.irif.fr/~gc/stageElixir.en.html – Masters project working to add "Set-theoretic types" to Elixir https://github.com/nvim-treesitter/nvim-treesitter/issues/1957 – Neovim performance impact from tree-sitter regression https://github.com/tree-sitter/tree-sitter/issues/1510 – Link to the tree-sitter issue https://twitter.com/pragprog/status/1481287351376629766 – The Elixir and Nerves book "Build a Weather Station with Elixir and Nerves" is now out of beta and available at PragProg https://www.lambdadays.org/lambdadays2022/#register – LambdaDays rescheduled dates are Thu, 28 Jul 2022 - Fri, 29 Jul 2022 https://github.com/livebook-dev/kino/issues/72 – Using Livebook for interviewing https://podcast.thinkingelixir.com/75 – Our interview with Dave Lucia at SimpleBet Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://twitter.com/DNAutics/status/1425819709895806976 https://ziglang.org/ https://github.com/ityonemo/zigler https://www.youtube.com/watch?v=lDfjdGva3NE&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=31 – Isaac's Elixir Conf 2021 Presentation about Zig https://julialang.org/ https://www.ruby-lang.org/en/ https://llvm.org/ https://gcc.gnu.org/ https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html https://gohugo.io/ https://www.openapis.org/ https://www.merriam-webster.com/dictionary/apiarist https://github.com/ityonemo/exonerate https://hexdocs.pm/exonerate/Exonerate.html Guest Information https://twitter.com/DNAutics – on Twitter https://github.com/ityonemo/ – on Github https://www.youtube.com/channel/UCarZZW7eavljSdGRQx9kkSA/featured – Isaac's YouTube channel Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jan 25, 202245 min

82: Reviewing Elixir with José Valim - Part 1

José Valim joins us to kick off part 1 of a 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 1, we talk through the Elixir releases of 1.1, 1.2, and 1.3. We cover the significant changes in each release, what instigated the change, the thinking behind it, and more. We cover some long-present features that people may not be aware of and recall what these changes meant to us. Show Notes online - http://podcast.thinkingelixir.com/82 Elixir Community News https://dashbit.co/blog/elixir-and-machine-learning-nx-v0.1 – Nx (Numerical Elixir) v0.1 released https://twitter.com/peterlodewijk/status/1479838598790893571 – Project called Numerl is announced for Erlang. https://www.info.ucl.ac.be/~pvr/Losseau_45781400_2022.pdf – PDF to the Numerl paper titled "Efficient Vector and Matrix Computation for Erlang" https://twitter.com/theerlef/status/1480632969140310017 – Lambda Days conference moved to July 2022 https://github.com/KronicDeth/intellij-elixir/releases/tag/v12.1.0 – Updates to the IntelliJ plugin that supports Elixir https://twitter.com/kronicdeth/status/1479538579298820098 – IntelliJ Elixir plugin tweet announcement https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md#v0270-2022-01-11 – ExDoc v0.27 was released https://twitter.com/josevalim/status/1480815810503495683 – Tweet threat about ExDoc v0.27 showing features https://hexdocs.pm/nx/Nx.html – Nx library docs using the new ExDoc https://twitter.com/brooklinjmyers/status/1480614054360018951 – Brooklin Myers announced he's joining DockYard to help create an Elixir Developer Bootcamp https://www.elixirnewbie.com/ – Brooklin Myers Elixir Newbie Podcast Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/elixir-lang/elixir/blob/v1.1/CHANGELOG.md – Changelog for v1.1 https://groups.google.com/g/elixir-lang-core/c/yd90kWN99FE/m/x2WZu7iqPcgJ – Discussion thread about maps in Elixir https://github.com/elixir-lang/elixir/blob/v1.2/CHANGELOG.md – Changelog for v1.2 https://www.youtube.com/watch?v=X25xOhntr6s – ElixirConf 2015 - Keynote - Elixir Should Take Over the World by Jessica Kerr https://hexdocs.pm/elixir/Protocol.html#module-consolidation – Protocol consolidation https://github.com/elixir-lang/elixir/blob/v1.3/CHANGELOG.md – Changelog for v1.3 https://github.com/elixir-lang/elixir/blob/v1.3/CHANGELOG.md#mix-escriptinstall – Mix escript install mix test --stale https://elixirforum.com/t/how-to-describe-many-contexts-in-exunit-without-a-hierarchy/1551 – How to Describe Many Contexts in ExUnit without a Hierarchy Guest Information https://twitter.com/josevalim – on Twitter https://github.com/josevalim – on Github https://dashbit.co/ – Dashbit website and blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jan 18, 20221h 0m

81: Elixir in a Burrito with Quinn and Digit

We talk with Digit and Quinn Wilton about the Burrito project. It wraps up Elixir to a single binary, enables cross-platform builds, and uses Zig to help while also enabling NIFs! They share how the security focused software they create uses this to run in isolated environments where Elixir can’t be installed. A really cool project that can be used for one-off scripts, long running CLI applications with full OTP features and more. They share some of the challenges they had to overcome in creating Burrito and how it being OpenSource helps the company and their project. Show Notes online - http://podcast.thinkingelixir.com/81 Elixir Community News https://github.com/elixir-lang/elixir/releases/tag/v1.13.1 – Elixir 1.13.1 released. Bug fixes. https://github.com/BeaconCMS/beacon – BeaconCMS announced by Dockyard https://twitter.com/1stAvenger/status/1474167882946957313 – Mike Binns talks about his work on BeaconCMS https://github.com/cloveapp/notion_renderer – Steve Bussey released a Notion renderer for Phoenix https://ziglang.org/download/0.9.0/release-notes.html – Zig release updates https://twitter.com/wojtekmach/status/1477196958179680256 – Wojtek Mach gives context to the Zig release for Elixir https://github.com/nerves-project/nerves_system_br/blob/main/CHANGELOG.md#v1180 – Nerves updates in time for the New Year https://twitter.com/NervesProject/status/1477054737921060869 – Nerves update announcement on Twitter https://www.kickstarter.com/projects/peerstritzinger/grisp-2/posts/3394103 – Grisp 2 Boards Kickstarter update Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/burrito-elixir/burrito https://github.com/wojtekmach/elixir-run – Wojtek Mach's experiment https://github.com/spawnfest/bakeware https://github.com/bake-bake-bake/bakeware – Bakeware project https://www.youtube.com/watch?v=y8-9yZlye30 – Quinn's talk https://www.youtube.com/watch?v=gQb58bqwDOc – Digit's talk https://www.synopsys.com/ https://hex.pm/packages/teex https://github.com/elixir-lang/elixir_make https://github.com/ndreynolds/ratatouille https://github.com/nsf/termbox https://ziglang.org/ https://llvm.org/ https://invisible-island.net/ncurses/ Guest Information https://twitter.com/wilton_quinn – Quinn on Twitter https://github.com/QuinnWilton/ – Quinn on Github https://quinnwilton.com/ – Quinn's Site https://twitter.com/doawoo – Digit on Twitter https://github.com/doawoo – Digit on Github https://puppy.surf – Digit's Site Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jan 11, 202253 min

80: Waffle Making with Boris Kuznetsov

We talk with Boris Kuznetsov to learn about the Waffle library and how it is used to attach images, video, and audio to your Ecto records while also processing the attachments for thumbnails, encodings, and more. We learn about the history of the project having forked from Arc, which is no longer maintained. We cover the challenges of supporting and maintaining a library created as a fork. We talk about Second System Syndrome and the desire we often feel that it would be easier to just start over. All this and more! Show Notes online - http://podcast.thinkingelixir.com/80 Elixir Community News https://github.com/phoenixframework/tailwind – New Phoenix library makes adding TailwindCSS support easier https://fly.io/phoenix-files/tailwind-standalone/ – Chris McCord's blog post on how to add it to your existing projects now https://github.com/akoutmos/prom_ex/pull/39 – Alex Koutmos added Broadway support into PromEx https://twitter.com/akoutmos/status/1473784677521633282 – Alex Koutmos tweet about it, shared a screenshot https://hexdocs.pm/rebar3_ex_doc – Erlang projects can more easily publish documentation using ExDoc using a hex package called rebar3_ex_doc https://tutorials.membraneframework.org/tutorials/videoroom/ – Membrane Framework put out a multi-part tutorial for creating your own video conference room Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/elixir-waffle/waffle https://curiosum.com/blog/how-upload-file-elixir-waffle https://github.com/stavro/arc – Arc is the project that waffle forked from https://github.com/elixir-waffle – Github organization with 3 waffle projects https://github.com/stavro/arc https://rubygems.org/gems/paperclip https://rubygems.org/gems/carrierwave https://en.wikipedia.org/wiki/Second-system_effect https://elixircasts.io/file-uploads-with-waffle https://elixirforum.com/t/emacs-like-text-editor-in-elixir/44676 https://notepad-plus-plus.org/ https://elixirforum.com/ https://github.com/achempion/alice – Text editor prototype written in Elixir https://elixirforum.com/t/emacs-like-text-editor-in-elixir/44676 – Announcement and discussion of Alice on ElixirForum https://www.twitch.tv/achempion – Boris' TwitchTV channel Guest Information https://github.com/achempion/ – on Github https://achempion.com/ – Blog https://www.twitch.tv/achempion – on Twitch https://www.youtube.com/channel/UCGP7X21WMpxbq9QJP9PCGjQ – Youtube Channel Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jan 4, 202232 min

79: Collaborative Music in LiveView with Nathan Willson

We talk with Nathan Willson about GEMS, his collaborative music generator written in LiveView. He explains how it's built, the JS sound library integrations, what could be done by Phoenix and what is done in the browser. Nathan shares how he deployed it globally to 10 regions using Fly.io. We go over some of the challenges he overcame creating an audio focused web application. It's a fun open-source project that pushes the boundaries of what we think LiveView apps can do! Show Notes online - http://podcast.thinkingelixir.com/79 Elixir Community News https://twitter.com/josevalim/status/1472956310207533057 – José Valim concluded his Advent of Code live streaming. https://www.twitch.tv/josevalim – Find them all on his Twitch Channel. https://groups.google.com/g/elixir-lang-core/c/jesGwAl8E1s – New Elixir proposal for "for" comprehensions https://gist.github.com/josevalim/fe6b0bcc728539a5adf9b2821bd4a0f5 – Github gist showing proposed change https://twitter.com/guieevc/status/1002494428748140544 – Presentation picture about ~90% of all internet traffic goes through Erlang-controlled nodes, with Cisco alone shipping 2 million devices a year that use Erlang. https://erlef.org/wg/machine-learning – The Machine Learning working group has worked on many projects this year. You can get involved. https://twitter.com/sean_moriarity/status/1473017611994734593 – Dockyard sponsoring Sean Moriarity's work on Nx and Axon https://twitter.com/importantshock/status/1471585318658793485 – GitHub's syntax highlighting now uses the Tree-sitter grammar for Elixir https://twitter.com/wilton_quinn/status/1471803799064887300 – Quinn Wilton's explanation on significance https://github.com/michalmuskala/jason/releases/tag/v1.3.0 – Jason 1.3 released with new features https://www.lambdadays.org/lambdadays2022/ – Lambda Days conference will be Feb 10-11, 2022 and will be a hybrid conference Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://twitter.com/nathanwillson/status/1466389153503866892 https://gems.nathanwillson.com/ – Play with it online https://github.com/nbw/gems – Source code https://en.wikipedia.org/wiki/Yukihiro_Matsumoto https://tonejs.github.io/ https://webassembly.org/ – WASM https://www.ableton.com/en/ https://en.wikipedia.org/wiki/MIDI https://webaudio.github.io/web-midi-api/ https://medicalxpress.com/news/2021-06-human-ear-half-millisecond.html – The human ear detects a half-millisecond delay in sound https://fly.io/docs/reference/regions/ – The set of global regions that Fly.io supports https://github.com/bitwalker/libcluster https://twitter.com/gotbones – Bitwalker on Twitter https://www.erlang.org/doc/man/pg.html Guest Information https://twitter.com/nathanwillson – on Twitter https://github.com/nbw/ – on Github https://nathanwillson.com – Blog https://gems.nathanwillson.com – GEMS project running online Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Dec 28, 202144 min

78: Logflare with Chase Granberry

We talk with Chase Granberry about Logflare. We learn why Chase started the company, what Logflare does, how it's built on Elixir, about their custom Elixir logger, where the data is stored, how it's queried, and more! We talk about dealing with the constant stream of log data, how Logflare is collecting and displaying metrics, and talk more about Supabase acquiring the company! Show Notes online - http://podcast.thinkingelixir.com/78 Elixir Community News https://www.twitch.tv/josevalim – José Valim still live streaming Advent of Code solutions https://github.com/josevalim/aoc – Source code for his solutions. https://github.com/miladamilli/Advent_of_Code_2021/blob/master/day09.livemd#L103 – Others like Milada are sharing their solutions. She used VegaLite for graphing a solution. https://twitter.com/chris_mccord/status/1468998944009166849 – Launch a new Elixir app on Fly.io in two commands! mix phx.new and fly launch https://github.com/phoenixframework/phoenix/pull/4609 – Chris McCord added phx.gen.release --docker in Phoenix 1.6.4 making it easier to deploy your Elixir app anywhere that uses Docker. https://community.fly.io/t/introducing-dashboard-logs-page/3371 – Fly.io LiveView dashboard added live streaming logs https://hex.pm/blog/hex-v1.0-released-and-the-future-of-hex – Hex v1.0 released along with a description for their roadmap and backward compatibility. https://twitter.com/elixirmembrane/status/1468941532589867017 – Membrane Framework introducing BEAMchmark https://twitter.com/ZachSDaniel1/status/1470512859629170688 – ElixirSense gets support for plugins https://github.com/ash-project/ash – ElixirSense feature driven by Zach Daniel of the Ash Framework http://podcast.thinkingelixir.com/27 – Our earlier interview with Zach Daniel about the Ash Framework https://www.erlang-solutions.com/blog/twenty-years-of-open-source-erlang/ – Happy Birthday Open Source Erlang! 23 years ago! Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://logflare.app https://datastudio.google.com/u/0/reporting/1OiXkL1AOTJw4-dpudE1y_AGQc_mThGm-/page/kcvr?s=gIAFsUMbDS4 – When clicked “Backend Status (Elixir)” https://github.com/Logflare/logflare_logger_backend – Elixir Logger backend https://github.com/Logflare/logflare_erl – Erlang Logflare client https://www.elastic.co/what-is/elk-stack https://dev.splunk.com/enterprise/ https://vercel.com/ https://cloud.google.com/bigquery/ https://elixir-broadway.org/ https://hexdocs.pm/phoenix_pubsub/Phoenix.PubSub.html https://www.loom.com/share/22ed1613d1f74c15b9beac88ee6705f9 – Supabase Logs & Logflare Endpoints https://supabase.com/blog/2021/12/02/supabase-acquires-logflare – Supabase acquires Logflare Guest Information https://twitter.com/chasers – Chase on Twitter https://github.com/Logflare/logflare – Logflare on Github https://github.com/chasers – Chase on Github https://logflare.app – Logflare website https://supabase.com/blog – Supabase blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Dec 21, 202140 min

77: EMPEX Mtn and Starting Knock with Chris Bell

We talk with Chris Bell, host of the Elixir Talk podcast and EMPEX conference organizer. Chris tells us about a new EMPEX chapter in the US Western states. EMPEX MTN will be in Salt Lake City, Utah. Chris started a new company called Knock using Elixir. We hear what problems it helps solve and more about his startup journey. A fun discussion with some tech insights, architecture overviews, and more on the rollercoaster of starting your own thing! Show Notes online - http://podcast.thinkingelixir.com/77 Elixir Community News https://www.twitch.tv/josevalim – José Valim started the Advent of Code live streams on Twitch https://github.com/josevalim/aoc/tree/main/2021 – Livebook solution source code https://www.youtube.com/playlist?list=PLNP8vc86_-SOV1ZEvX_q9BLYWL586zWnF – Playlist of edited live streams that are shorter to watch with chapter breaks https://twitter.com/_uwu_cocoa/status/1467078512293130243 – Computer vision in Livebook using OpenCV https://github.com/cocoa-xu/evision – evision pulls OpenCV source code from GitHub, parse and automatically generates corresponding OpenCV-Elixir bindings. https://twitter.com/_uwu_cocoa/status/1466675653072371717 – The extra steps were taken to make a reduced set of OpenCV functionality work on Nerves. https://elixir-lang.org/blog/2021/12/03/elixir-v1-13-0-released/ – Elixir 1.13 released - blog post highlighting features https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md – The more detailed changelog that identifies the new language features. https://twitter.com/atyborska93/status/1467520341023068162 – Angelika Tyborska updated her Elixir Enum Cheatsheet that visually explains what functions do. https://angelika.me/elixir-enum-cheatsheet/#slide/3 – Angelika's update cheatsheet and the slide function https://gleam.run/news/gleam-v0.18-released/ – Gleam v0.18 released https://blog.rentpathcode.com/introducing-eflamb%C3%A9-3065e70f9eb – eFlambé by Trevor Brown - a SpawnFest winner https://github.com/livebook-dev/livebook/blob/main/CHANGELOG.md#v040-2021-12-05 – Livebook v0.4 was released https://twitter.com/dorgan_/status/1467189972847452169 – The Sourceror library got a new release. V0.9.0. http://podcast.thinkingelixir.com/54 – Our previous interview with Lucas San Román about Sourceror https://github.com/supabase/supabase/tree/master/studio – Supabase recently open sourced their Dashboard. https://thinkingelixir.fireside.fm/73 – Our previous interview with Paul Copplestone at Supabase https://www.elixirconf.eu/ – ElixirConf EU 2022 is happening in London/virtual on April 6-8 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://www.empex.co/mtn – EMPEX MTN - Salt Lake City, UT - May 6, 2022 https://www.youtube.com/channel/UCIYiFWyuEytDzyju6uXW40Q – YouTube Playlists for previous EMPEX Conferences https://knock.app/ https://podcasts.apple.com/us/podcast/elixir-talk/id1298287048 – Elixir Talk podcast https://knock.app/about https://www.twilio.com/ https://sendgrid.com/ https://www.frame.io/ https://mux.com/ https://twitter.com/codevisuals/status/838881724016787457?lang=en – Flowchart for how Slack decides whether to send a notification or not. https://github.com/sorentwo/oban Guest Information https://twitter.com/cjbell_ – on Twitter https://github.com/cjbell/ – on Github https://twitter.com/empexco – Empex on Twitter Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Dec 14, 202153 min

76: Safe Ecto Migrations with David Bernheisel

We talk with host David Bernheisel about his Safe Ecto Migrations guide that was recently released. Intended as a resource for the community, it’s a 4-part series covering how Ecto migrations work, running migrations on production, provides a set of common-task recipes and strategies for migrating data in addition to DB structure. We discuss ideas around migrations like avoiding table locks on production, how to safely add DB check constraints, separating data migrations from structure changes, painful learning experiences and much more! Show Notes online - http://podcast.thinkingelixir.com/76 Elixir Community News https://github.com/elixir-nx/nx/pull/558 – Implement hooks and tokens for Nx https://twitter.com/josevalim/status/1463239485685129216 – José Valim's explanation and excitement for the Nx PR https://twitter.com/chris_mccord/status/1462851686352015361 – Chris McCord teased a fully accessible Tailwind UI styled dropdown component along with something he's working on. https://twitter.com/josevalim/status/1463605416861081602 – José shares what Philip Sampaio is doing with R&D towards precompiled NIFs https://twitter.com/philipsampaio/status/1463602239558270980 – Philip Sampaio is working on precompiled NIFs using Rustler https://www.empex.co/mtn – Empex Mountain Conference - Held in Salt Lake City, Utah on May 6th 2022 - CFP is open https://www.twitch.tv/josevalim – Advent of Code is getting started. Jose Valim will be live-coding solutions using Elixir on Twitch. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/fly-apps/safe-ecto-migrations https://fly.io/phoenix-files/safe-ecto-migrations/ https://fly.io/phoenix-files/ https://elixirmix.com/68 – ElixirMix - Contributing to the Elixir Community with David Bernheisel & Cory Schmitt https://elixirmix.com/92 – ElixirMix - Managing Change with Ecto with David Bernheisel Guest Information https://twitter.com/bernheisel – on Twitter https://github.com/dbernheisel – on Github https://bernheisel.com/blog – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Dec 7, 202136 min

75: RabbitMQ and Commanded at Simplebet with Dave Lucia

We talk with Dave Lucia about Simplebet’s use of RabbitMQ and Commanded for solving unique real-time problems. We learn how Simplebet uses Elixir when creating real-time sports betting markets. We also learn what CQRS systems are, how the Commanded library supports that in Elixir, and how Commanded pairs well with RabbitMQ. Dave talks about moving away from Kafka to RabbitMQ and how that made sense for their use cases. Also valuable, Dave shares where they have found the “dragons” in their design. A helpful discussion that helps identify when CQRS systems might be a tool to use when solving our own problems. Also, Simplebet is betting on SurfaceUI for front-end design in a big and interesting way as well! Show Notes online - http://podcast.thinkingelixir.com/75 Elixir Community News https://fly.io/phoenix-files/ – Phoenix focused section of Fly.io blog https://fly.io/phoenix-files/safe-ecto-migrations/ – Safe Ecto Migrations multi-part guide https://github.com/erlang/otp/pull/5292 – Erlang 25 is documenting all the built-in types https://twitter.com/theerlef/status/1460683487317577734 – Erlang Ecosystem Foundation shared that they reached the milestone of 1000 members! https://www.youtube.com/watch?v=y8-9yZlye30 – Quinn Wilton's "100 years of Erlang" Code Beam America presentation https://slides.com/rc-6/100-years-of-erlang-slimmed – Quinn's slides https://github.com/spawnfest/eep49ers/ – SpawnFest Overall Winner https://github.com/spawnfest/eArangoDB – SpawnFest Maintainability Winner https://github.com/spawnfest/beamoji – SpawnFest Innovation Winner https://www.twitch.tv/josevalim – Advent of Code problems will be solved by Jose Valim on Twitch https://github.com/rrrene/credo/blob/master/CHANGELOG.md – Credo 1.6 release includes mix credo --first-run feature https://github.com/livebook-dev/kino/pull/50 – Jonathan's Kino PR that adds "controls" and is demonstrated by playing multi-player Pong in a Livebook notebook! https://github.com/pprzetacznik/IElixir – Jupyter's kernel for Elixir https://github.com/elixir-lang/ex_doc/blob/main/CHANGELOG.md – ExDoc v0.26.0 is out with new usability features https://twitter.com/josevalim/status/1462436734285795340 – José Valim highlights several new ExDoc features https://vimeo.com/647867227 – Oban Web v2.8.0 is out along with Oban Pro v0.9.3 and a video demonstrates the changes Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://www.youtube.com/watch?v=dmBdFh5N1g4 – Migrating from Kafka to RabbitMQ at SimpleBet: Why and How | David Lucia | RabbitMQ Summit 21 https://medium.com/@davelucia/two-years-of-elixir-at-the-outline-ad671a56c9ce https://medium.com/@davelucia/beyond-functions-in-elixir-refactoring-for-maintainability-5c73daba77f3 https://medium.com/@davelucia/battleship-elixir-json-sunk-my-float-dc3df46447db https://soundcloud.com/elixirtalk/episode-153-feat-dave-lucia-the-dream-stack-with-rust-elixir https://www.youtube.com/watch?v=xmUfTl33-fU – Rustling up predictive sporting betting models on the BEAM - DAVID LUCIA https://www.youtube.com/watch?v=wvfhrvAFOoQ – David Lucia - Refactoring Elixir for maintainability | Code BEAM SF 19 https://www.youtube.com/watch?v=Lh5rA1pgWCk – ElixirConf 2021 - Dave Lucia - Surface - a bridge to the Javascript community https://github.com/davydog187/migrating_from_kafka https://speakerdeck.com/davydog187/betting-on-observability-at-simplebet https://lightstep.com/case-studies/simplebet/ https://theoutline.com/ https://www.bloomberg.com/ https://www.theverge.com/ https://www.bdg.com/ https://www.draftkings.com/ https://www.amqp.org/ https://www.rabbitmq.com/ https://github.com/commanded/commanded https://opencollective.com/commanded https://microservices.io/patterns/data/cqrs.html https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type https://www.confluent.io/blog/avro-kafka-data/ https://kafka.apache.org/ https://www.linkedin.com/in/joseph-lozano/ https://en.wikipedia.org/wiki/Synthetic_monitoring https://github.com/surface-ui/surface Guest Information https://twitter.com/davydog187 – Dave Lucia on Twitter https://twitter.com/sb_engineers – Simplebet Engineering on Twitter https://twitter.com/simplebethq – Simplebet on Twitter https://github.com/davydog187/ – on Github https://davelucia.com – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Nov 30, 202155 min

74: New to Elixir and Women in Tech with Miki and Kate Rezentes

We talk with mother/daughter team Miki and Kate Rezentes about their experiences learning and working with Elixir and as women in the tech industry. Miki presented “Greasing the Wheel of Adoption” at ElixirConf. Her focus was on the people aspect of adoption and we had a great time going deeper on that topic here. Kate, who is just starting her career as a developer, talks about ways we can share tech with the young people around us. We get their ideas and suggestions for ways to support women in tech, young people learning tech, and more! Show Notes online - http://podcast.thinkingelixir.com/74 Elixir Community News https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md – Elixir 1.13's final RC? https://twitter.com/tylerayoung/status/1458075015098814477 – Tyler Young drew our attention to some new Elixir 1.13 features that went largely unnoticed https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#map/2 – Map.map/2 https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#filter/2 – Map.filter/2 https://hexdocs.pm/elixir/1.13.0-rc.0/Map.html#reject/2 – Map.reject/2 https://twitter.com/josevalim/status/1458888727980388360 – Mac M1 Max chips and anecdotal speed improvements for Elixir https://github.com/erlang/otp/pull/4869 – Erlang OTP 25 PR for JIT optimizations for ARM chips https://elixir-lang.org/blog/2021/11/10/embracing-open-data-with-elixir-at-the-ministry-of-ecological-transition-in-france/ – New Case Study on the Elixir Lang website https://techcrunch.com/2021/11/15/utahs-podium-raises-pre-ipo-round-boosting-its-valuation-to-3-billion/ – Podium, a Utah-based company that heavily uses Elixir, was highlighted in TechCrunch recently https://twitter.com/elixirmembrane/status/1458109629985013761 – Membrane Framework updated to 0.8.0 https://thinkingelixir.com/podcast-episodes/043-membrane-with-marcin-lewandowski/ – Previous discussion about Membrane Framework https://twitter.com/chriskeathley/status/1458215357433454596 – Chris Keathley to continue Elixir usage but stepping back from public contributions https://sonic-pi.net/ – Sonic Pi project https://github.com/sonic-pi-net/sonic-pi/commit/ed04519d38e1c0be90915f1c4ee5c1534ccec3cb – Sonic Pi gets Phoenix support merged into project https://github.com/nerves-project/nerves/releases/tag/v1.7.12 – Nerves v1.7.12 released. Elixir 1.13.0-rc.0 now can be used to build projects. https://github.com/livebook-dev/nerves_livebook/blob/main/CHANGELOG.md#v032---2021-11-13 – Nerves Livebook v0.3.2 includes Livebook v0.3.2 release and adds support for Raspberry Pi Zero 2 W https://github.com/elixir-lang/ex_doc#rendering-mermaid-graphs – Mermaid Graphs are supported in ExDoc https://github.com/phoenixframework/phoenix_live_view/pull/1747 – Declarative API for LiveView Components Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://www.youtube.com/watch?v=xxS8VLhuKGY&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=32&t=42s – Kate Rezentes lighting talk https://www.youtube.com/watch?v=YVI_8V2ULXM – Miki Rezentes talk “Greasing the Wheel of Adoption” https://pragprog.com/titles/elixir16/programming-elixir-1-6/ https://pragprog.com/titles/liveview/programming-phoenix-liveview/ https://www.shift5.io/ https://en.wikipedia.org/wiki/Peter_principle https://www.youtube.com/watch?v=PXzuDXZwZtI – Incubus - Pardon Me https://www.playpiper.com/products/piper-computer-kit-3 [Probably the same company https://www.amazon.com/Piper-Computer-Kit-Minecraft-Raspberry/dp/B07HPFF3KC](Probably the same company https://www.amazon.com/Piper-Computer-Kit-Minecraft-Raspberry/dp/B07HPFF3KC) https://www.youtube.com/watch?v=LpuPe81bc2w – Binary Numbers and Base Systems as Fast as Possible Guest Information https://twitter.com/mikirez – Miki Rezentes on Twitter https://github.com/mrezentes – Miki on Github https://www.linkedin.com/in/miki-rezentes-823ba02a/ – Miki on LinkedIn https://twitter.com/RezKate – Kate Rezentes on Twitter https://github.com/KateRezentes – Kate on Github https://www.linkedin.com/in/kfrezent/ – Kate on LinkedIn Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Nov 23, 20211h 3m

73: Elixir at Supabase with Paul Copplestone

We talk with Paul Copplestone, founder and CEO of Supabase. Supabase leverages the power of Elixir, Postgres, and more to create an OpenSource Firebase alternative that brings these powers to the Jamstack community. We cover TechCrunch’s coverage of their funding and how Paul considers Supabase as “the easiest way to use Postgres”. They offer a row-level security feature and we dig in to understand that. We go deeper on how an OpenSource company got VC funding and how their business model works. Paul shares how Elixir, Phoenix and PubSub solve some hard problems that other ecosystems just don’t handle and how Supabase helps those other communities get some of those benefits using the tools they already selected. Some interesting features are that you can self-host if you want, swap out different components, and the permissive licenses. It really seems to embody the OSS ethos. Great to learn about another company using Elixir to create a lot of business value! Show Notes online - http://podcast.thinkingelixir.com/73 Elixir Community News https://github.com/elixir-protobuf/protobuf – Updates to the pure-Elixir Protobuf implementation https://twitter.com/whatyouhide/status/1455812251517063169 – Andrea Leopardi shares what's new and that the work done by Community.com https://www.erlang.org/news/151 – New Erlang website was launched https://www.erlang.org/doc/search – Check out the new full text documentation search! https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md – PromEx was updated to v1.5 with new dashboard panels for Ecto and Phoenix https://twitter.com/wojtekmach/status/1457276012539138049 – Wojtek Mach shared a helpful PSA for macOS users and the new OpenSSL 3 version support issues https://github.com/wojtekmach/notebooks/blob/main/req_0.2.0.livemd – Req HTTP client library updated to v0.2.0. Includes new "Run in Livebook" button to demo usage. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://supabase.io/ https://techcrunch.com/2021/09/09/supabase-raises-30m-for-its-open-source-insta-backend/ https://github.com/supabase/supabase https://github.com/supabase/realtime – Elixir project https://coldfusion.adobe.com/ https://firebase.google.com/ https://jamstack.org/what-is-jamstack/ https://www.postgresql.org/docs/current/datatype-json.html https://github.com/cainophile/cainophile https://github.com/PostgREST/postgrest https://postgrest.org/en/v8.0/ https://aws.amazon.com/amplify/ https://plausible.io/ Guest Information https://twitter.com/kiwicopple – on Twitter https://github.com/kiwicopple/ – on Github https://paul.copplest.one/ – Blog https://supabase.io/ – Supabase website Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Nov 16, 202145 min

72: TypeCheck with Wiebe-Marten Wijnja

We talk with Wiebe-Marten Wijnja about his project TypeCheck that provides a new kind of runtime type checking for Elixir applications. The syntax builds on your existing spec types so it still works for dialyzer but adds additional compile time created checks. It also works for generating property based test data. This feature comes out in a new ability called "spectest". Like doctests, you can have automated checks that verify the function adheres to the spec! We also cover how TypeCheck allows writing type declarations for other libraries like Ecto and Plug. There are some interesting ways for people to contribute! A very interesting library! Show Notes online - http://podcast.thinkingelixir.com/72 Elixir Community News https://twitter.com/erlang_org/status/1453018514617475074 – Ericsson OTP Team announced the launch of the brand new Erlang Forums https://hello.erlangforums.com – New Erlang Forum https://github.com/elixir-lang/elixir/releases/tag/v1.13.0-rc.0 – Elixir 1.13 RC was released https://twitter.com/wojtekmach/status/1453671121820192770 – Ability to globally customize inspect. https://groups.google.com/g/elixir-lang-core/c/LYmkUopaWN4/m/SwBzRt2zBQAJ – Mailing list discussion https://github.com/elixir-lang/elixir/pull/11349 – PR discussion https://twitter.com/tylerayoung/status/1454780291374096384 – Tyler Young's comment thread about the process https://twitter.com/livebookdev/status/1455236497960013836 – Livebook 0.3 released https://www.youtube.com/watch?v=4lNkiACemM0 – Jose Valim's video demonstrating new features Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/Qqwy/elixir-type_check – TypeCheck GitHub repo https://hexdocs.pm/type_check/type-checking-and-spec-testing-with-typecheck.html – Introductory article https://elixirforum.com/t/typecheck-fast-and-flexible-runtime-type-checking-for-your-elixir-projects/32886 – Forum topic with many examples and updates https://hexdocs.pm/type_check/comparing-typecheck-and-norm.html – Comparison with Norm https://twitter.com/strzibnyj/status/1438393349644464130 https://hexdocs.pm/type_check/comparing-typecheck-and-elixir-typespecs.html – Feature-parity of TypeCheck with Elixir's builtin typespecs https://www.youtube.com/watch?v=6sNmJtoKDCo – Clarity - Saša Jurić - ElixirConf EU 2021 https://racket-lang.org/ Guest Information https://twitter.com/wiebemarten – on Twitter https://github.com/Qqwy/ – on Github https://wmcode.nl/ – Personal site https://resilia.nl/ – Work site Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Nov 9, 202146 min

71: LiveView and the 7-GUI Tasks with German Velasco

We catch up with German Velasco then talk about how he learned of the 7-GUI Tasks online challenge and how he wanted to see how LiveView could approach it. We talk about his ElixirConf presentation and how the idea of modeling state impacted his solutions to these problems. We go over what these common UI patterns are and how LiveView is able to approach them differently. We talk about Chris McCord’s idea of “Live Apps” and how LiveView really is different from what other languages and communities can do. We discuss using LiveView to implement UI patterns that it wasn’t designed for and how that process has gotten better over time and much more! Show Notes online - http://podcast.thinkingelixir.com/71 Elixir Community News https://fly.io/blog/how-safari-ruined-my-tuesday/ – How Safari Ruined My Tuesday by Chris McCord https://github.com/phoenixframework/phoenix_live_view/commit/7205df526863b8f391a432ff93700d06e951dfc0 – LiveView PR for dealing with Safari bug https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md#0172-2021-10-22 – Phoenix LV 0.17 https://twitter.com/josevalim/status/1450484094383665156 – Run in Livebook showing up online https://thinkingelixir.com/podcast-episodes/066-tracing-production-with-kai-wern-choong/ – Episode 66 - Tracing Production with Kai Wern Choong https://twitter.com/fhunleth/status/1450496248847519755 – Nerves Livebook 0.3.0 also released https://twitter.com/wojtekmach/status/1452669971323047947 – Wojtek Mach teased a picture showing the Livebook graphic on a macOS dock https://twitter.com/josevalim/status/1450823190477955080 – ExDoc v0.25.5 is out with .livemd support https://www.youtube.com/playlist?list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv – ElixirConf 2021 videos are all up! https://www.youtube.com/watch?v=IqnZnFpxLjI&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=28 – Mark Ericksen's presentation about Globally Distributed Elixir Apps on Fly.io https://twitter.com/josevalim/status/1451639067989397514 – Elixir 1.13 RC should be out https://twitter.com/louispilfold/status/1452305571047251970 – Gleam now has the ability to publish hex.pm packages https://twitter.com/dashbit/status/1452638207271600129 – New Phoenix project called PLDS (Phoenix LiveDashboard Standalone) https://www.youtube.com/watch?v=Rzl5BH8nb8M – Youtube video showing PLDS usage https://twitter.com/scenicframework/status/1451276015041343502 – Scenic v0.11.0-beta.0 is published https://codesync.global/conferences/code-beam-sf-2021/ – Code BEAM America - 3-5 November 2021 https://www.thebigelixir.com/ – Big Elixir - March 24-25 2022 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://www.germanvelasco.com/blog/seven-guis-flight-booker https://www.tddphoenix.com/ – Test-Driven Development with Phoenix - online book http://testingliveview.com https://eugenkiss.github.io/7guis/tasks/ – The 7-GUI Tasks defined https://www.youtube.com/watch?v=Xu2QtHUbFmc&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=48 – German Velasco's ElixirConf talk - Making invalid states unrepresentable in LiveView https://www.germanvelasco.com/blog/seven-guis-counter – Counter https://www.germanvelasco.com/blog/seven-guis-temperature – Temp Converter https://thinkingelixir.com/podcast-episodes/018-tdd-and-phoenix-with-german-velasco/ – Previous interview https://github.com/woylie/ecto_nested_changeset https://www.testingliveview.com/ https://www.germanvelasco.com/ Guest Information https://twitter.com/germsvel – on Twitter https://github.com/germsvel/ – on Github https://www.germanvelasco.com/ – Blog https://www.testingliveview.com/ – Testing LiveView online Course Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Nov 2, 202152 min

70: PardallMarkdown with Alfred Reinold Baudisch

After a big news section, we talk with Alfred Reinold Baudisch about his project PardallMarkdown. It's a reactive Elixir server that reads markdown files, compiles them to HTML, stores them in an ETS table, and serves them up. It's a different take on serving markdown files for a blog. It can also be used as a wiki and supports deeply nested hierarchies. An interesting feature is it can be used as a library inside your own Phoenix application to provide blog posts or other "static" content. Show Notes online - http://podcast.thinkingelixir.com/70 Elixir Community News https://twitter.com/bernheisel/status/1449140793990598659 – Next ElixirConf will be in Gaylord Resort in Aurora (Denver) CO where it was a couple years ago https://www.youtube.com/playlist?list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv – Link the conference playlist. Videos starting to appear. https://www.youtube.com/watch?v=Of1phFsC4ZI – Chris McCord's keynote talking about Phoenix 1.6 and LiveView 0.17 https://gist.github.com/chrismccord/2ab350f154235ad4a4d0f4de6decba7b – Phoenix 1.5.x to 1.6 upgrade instructions https://github.com/phoenixframework/phoenix_live_view/tree/master – Phoenix LiveView 0.17 https://github.com/phoenixframework/phoenix_live_view/pull/1663 – New LiveView 0.17 feature for JS Commands https://github.com/phoenixframework/phoenix_live_view/pull/1661 – Slots in LV https://twitter.com/josevalim/status/1449391020999856139 – Elixir 1.13 covered by Jose Valim in an Elixir Conf talk https://www.youtube.com/watch?v=ydjx2kKHzrM&list=PLqj39LCvnOWZna91xJ_i44g3rx4Brbpnv&index=3 – Jose Valim's presentation about Elixir 1.13 https://livebook.dev/ – Livebook gets its own website! https://twitter.com/josevalim/status/1450460641601462282 – Jose's Twitter thread announcing the Livebook website and sharing what's cool https://github.com/hauleth/mix_unused – mix_unused update 0.3 brings awareness to unused structs https://twitter.com/atyborska93/status/1448666832802443273 – Angelika Tyborska shared how using mix_unused on a big 5 year old project identified over 1,000 lines of code they were able to remove. https://www.forbes.com/sites/alexkonrad/2021/10/14/gitlab-reaches-15-bil-market-cap-as-shares-jump-in-ipo/?sh=702033906a82 – GitLab goes public and reaches $15B market valuation https://techcrunch.com/2021/10/14/3-things-gitlabs-wild-ipo-pricing-says-about-public-markets/ – GitLab's wild pricing story https://twitter.com/ChrisKeathley/status/1448685914046308354 – Chris Keathley transfers a number of Elixir packages he's created to be managed and maintained more as community projects. https://twitter.com/chriskeathley/status/1449020207746453506 – Finch HTTP client was transferred as well https://github.com/mtrudel/bandit – New HTTP server called bandit https://github.com/mtrudel/thousand_island – Thousand Island is a modern, pure Elixir socket server, inspired heavily by ranch. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/alfredbaudisch/pardall_markdown https://twitter.com/alfredbaudisch/status/1436712928858845188 https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections – Chris McCord's post about scaling Phoenix to 2 million websockets on a single server https://docusaurus.io/docs https://evernote.com/ https://joplinapp.org/ https://syncthing.net/ https://ghost.org/ Guest Information https://twitter.com/alfredbaudisch – on Twitter https://github.com/alfredbaudisch/ – on Github https://alfredbaudisch.com – Website with Projects https://pardall.xyz – Sample Wiki with PardallMarkdown https://alfredbaudisch.medium.com – Medium Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Oct 26, 202140 min

69: Elixir on Mobile with Dominic Letz

We talk with Dominic Letz about running Elixir on an Android phone installed in an APK which hosts a LiveView application accessed through a WebView! All while also pursuing a Web 3.0 architecture of being decentralized! Wow! There’s a lot going on here! Oh, and the tech is OpenSource! Show Notes online - http://podcast.thinkingelixir.com/69 Elixir Community News https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#162-2021-10-08 – Phoenix 1.6.1 and 1.6.2 were released. https://twitter.com/mcrumm/status/1446594887034408960 – Michael Crumm explains 1.6.2. It's cool! We all make mistakes! https://www.cnbc.com/2021/10/05/facebook-says-sorry-for-mass-outage-and-reveals-why-it-happened.html – Facebook major outage. Cause? Bad BGP (Border Gateway Protocol) config, bugs in the "don't let that happen" checks, and being physically locked out of their offices because they couldn't be authenticated. https://dev.to/oliverandrich/adding-bootstrap-to-a-phoenix-1-6-project-hfe – How to setup Bootstrap with esbuild https://twitter.com/elixirmembrane/status/1445768307643088897 – Membrane Framework getting a big update. Ability to record WebRTC sessions to MP4 and WebM. https://thinkingelixir.com/podcast-episodes/043-membrane-with-marcin-lewandowski/ – Previous discussion about Membrane https://twitter.com/josevalim/status/1446443166048129028 – MSSQL / TDS Database driver for Elixir looking for new maintainer https://github.com/elixir-ecto/tds/issues/128 – TDS project issue with discussion https://nts.strzibny.name/12factor-elixir-phoenix-releases/ – 12-Factor app guide by Josef Strzibny updated for Phoenix 1.6 and esbuild https://12factor.net/ – 12-Factor is about "how to design your applications" https://hexdocs.pm/phoenix_bakery/PhoenixBakery.html – New library for Phoenix, about better compression for Phoenix assets https://twitter.com/fhunleth/status/1446448994310369281 – Nerves get's bluetooth support enabled on hardware like the RPi3 while working in Nerves Livebook v0.2.25 https://www.elixirconf.com/ – ElixirConf 2021 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/elixir-desktop/android-example-app/ https://github.com/elixir-desktop/desktop-example-app https://github.com/elixir-desktop https://diode.io/ https://github.com/erlang/otp/blob/master/HOWTO/INSTALL-ANDROID.md https://github.com/elixir-sqlite/exqlite http://www.wings3d.com/ https://diode.io/resources/download/#diode-drive-download https://github.com/boydm/scenic https://www.forbes.com/sites/forbestechcouncil/2020/01/06/what-is-web-3-0/?sh=6f627da58dfb – Decentralized Web 3.0 approach https://github.com/elixir-desktop Guest Information https://twitter.com/DominicLetz – on Twitter https://github.com/dominicletz/ – on Github https://elixirforum.com/u/dominicletz/summary – on Elixir Forum https://diode.io/ – Diode and blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Oct 19, 202146 min

68: Rust and Elixir with Nik Begley

We talk with Niklas Begley about his Doctave service and the problems it's solving. From there we cover why they use Rust for a key piece of the service and how Elixir fits in. We cover tools like Rustler for integrating Elixir and Rust smoothly. We talk about business drivers, Nik's experience building a SaaS product using Elixir and more! Show Notes online - http://podcast.thinkingelixir.com/68 Elixir Community News https://github.com/hauleth/mix_unused – Compile errors formatted to be machine readable to make it viewable directly in GitHub Code Scanning or GitLab Code Quality https://github.com/almightycouch/gitgud – GitHub-like self hosted project written in Elixir https://github.com/phoenixframework/phoenix/pull/4471#issuecomment-931828623 – Phoenix 1.6.0 made an auth change with a bigger impact than was initially expected. https://www.tokens24.com/cryptopedia/mining/asic-mining-hashing-algorithm – ASIC hashing https://www.password-hashing.net/argon2-specs.pdf – Argon2 is a 'Memory Hard' hashing algorithm https://pragmaticstudio.com/tutorials/adding-tailwind-css-to-phoenix – Pragmatic Studio (Mike Clark) updated their guide on adding TailwindCSS for Phoenix 1.6 https://twitter.com/louispilfold/status/1444664945396879361 – Gleam gets its own package manager Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://blog.doctave.com/2021/08/19/using-rust-with-elixir-for-code-reuse-and-performance.html https://www.doctave.com https://github.com/Doctave/doctave https://github.com/Doctave/doctave-markdown https://blog.discord.com/using-rust-to-scale-elixir-for-11-million-concurrent-users-c6f19fc029d3 https://github.com/discord/sorted_set_nif https://www.writethedocs.org/guide/docs-as-code/ https://backstage.io/docs/features/techdocs/techdocs-overview https://ziglang.org/ https://mermaid-js.github.io/ https://hex.pm/packages/rustler http://erlang.org/doc/man/erl_nif.html https://alpinejs.dev/ Guest Information https://twitter.com/NiklasBegley – on Twitter https://github.com/begleynk/ – on Github https://www.doctave.com – Doctave website [email protected] Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Oct 12, 202140 min

67: Building a Healthy Community

We talk about ways we can all contribute to building a healthy Elixir community. The Elixir community is a welcoming, encouraging and helpful place and we want to help keep it that way! We talk about common problems facing maintainers, tips for engaging productively, the value of expressing appreciation, and much more! Show Notes online - http://podcast.thinkingelixir.com/67 Elixir Community News https://www.erlang.org/news/149 – Erlang/OTP 24.1 was released https://github.com/livebook-dev/nerves_livebook – Nerves Livebook is now part of the Livebook organization on GitHub https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtdiDIxP_rPMQ5VmVhs4CKJ – ElixirConf EU 2021 keynote videos https://www.youtube.com/watch?v=6sNmJtoKDCo – Saša Jurić's presentation on Clarity https://twitter.com/CodeBEAMio/status/1441149132278665235 – Code Beam America switched back to virtual https://twitter.com/elixirphoenix/status/1441020298141253633 – Phoenix.HTML from 3.0.0-3.0.3 had a security vulnerability. Please update to 3.0.4+ https://hex.pm/packages/phoenix_html – Phoenix HTML package page https://www.phoenixframework.org/blog/phoenix-1.6-released – Phoenix 1.6.0 was released! This includes the esbuild by default change. https://fly.io/blog/how-we-got-to-liveview/ – Chris McCord's post telling the story of "How We Got to LiveView" https://thinkingelixir.com/petal-stack-in-elixir/ – Reminder of the PETAL stack and how central LiveView is to it. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/elixir-lang/elixir#issues-tracker-management – Explanation of the Elixir's Issue Tracker Management policy https://github.com/elixir-lang/elixir#proposing-new-features – Resource for proposing Elixir features https://github.com/elixir-lang/elixir/issues – Elixir's well maintained issue tracker https://www.chiark.greenend.org.uk/~sgtatham/bugs.html – How to Report Bugs Effectively https://opensource.guide/best-practices/ – GitHub's Best Practices for Maintainers https://go.darrenhardy.com/darrendaily/ – Darren Hardy daily email messages. https://darrenhardy.cDarren Daily-om/darrendaily-on-demand – Podcast form of the daily messages. https://www.youtube.com/watch?v=6Z6cFvXb9_A – YouTube video of the "jerk" segment called "A Simple Way to Change Other People" https://twitter.com/adamwathan – Adam Wathan, maintainer of TailwindCSS Points to consider when interacting with different projects and maintainers. Every project is different. Maintainers work in their spare time. They are not obligated to help you. Make it easier for them to reproduce problems. Provide good bug reports. Keep your emotions out of it. https://twitter.com/tylerayoung/status/1438824261947363329 – Tyler Young's comments on importance of maintainers setting a tone. https://twitter.com/redrapids/status/1438111195886673929 – Bruce Tate's call to action. Let people and project know you appreciate their work. Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Oct 5, 202140 min

66: Tracing Production with Kai Wern Choong

We talk with Kai Wern Choong about his experience with tracing performance problems in production. We talk about what “tracing” means in a BEAM system, available tools like recon, great resources for learning how the tools work and general approaches for troubleshooting live production Elixir systems. Kai also shares his Livebook notebook setup for demonstrating tracing techniques in an interactive way. Show Notes online - http://podcast.thinkingelixir.com/66 Elixir Community News https://twitter.com/hexpm/status/1439268469296570368 – New version of Hex released that fixes issues with version downgrades and slow version resolutions. Run mix local.hex to upgrade. https://hexdocs.pm/credo/1.6.0-rc.0/changelog.html#1-6-0 – Credo 1.6.0 was released with new "First Run Mode" https://twitter.com/elixirphoenix/status/1438222537301843970 – Removing Phoenix compiler config change can speed up compilation times when on up-to-date versions https://github.com/Qqwy/elixir-type_check – New library called TypeCheck https://blog.oestrich.org/2021/09/introducing-aino/ – Eric Osterich is experimenting with an alternative HTTP framework for Elixir https://github.com/oestrich/aino – The Aino project https://techcrunch.com/2021/09/14/logistics-startup-stord-raises-90m-in-kleiner-perkins-led-round-becomes-a-unicorn-and-acquires-another-company/ – Stord, an Elixir company, raised $90M and became a "unicorn" https://spawnfest.org/ – SpawnFest 2021 happened https://github.com/spawnfest/eflambe – SpawnFest submission - rapid generation of flamegraphs https://github.com/spawnfest/Sketch – SpawnFest submission - library for creating generative art with Elixir https://github.com/spawnfest/lotus – SpawnFest submission - Lotus is a Surface UI wrapper for UIKit https://github.com/spawnfest/Discovery – SpawnFest submission - Platform for hosting realtime, stateful servers with zero downtime deployment and horizontal scaling on Kubernetes https://github.com/spawnfest/crash – SpawnFest submission - Crash is a simple (distributed) docker-on-docker Continuous Integration system written in Elixir Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://kaiwern.com/posts/2021/06/27/debugging-with-tracing-in-elixir-with-recon_trace/ https://www.naluri.life/ https://ferd.github.io/recon/recon.html https://hex.pm/packages/recon https://twitter.com/kw7oe/status/1409126300636254219 https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd – Livebook notebook showing tracing examples https://www.youtube.com/watch?v=sR9h3DZAA74 – Debugging Live Systems on the BEAM talk by Jeffery Utter https://www.youtube.com/watch?v=OR2Gc6_Le2U – Operable Erlang and Elixir talk by Fred Hebert (skip to 25:51, where he started talking about tracing) https://kaiwern.com/posts/2020/11/02/debugging-with-tracing-in-elixir/ – Tracing with dbg modules https://en.wikipedia.org/wiki/Tracing_(software) https://erlang.org/doc/man/dbg.html – dbg module in Erlang :dbg.fun2ms https://kubernetes.io/blog/2017/12/using-ebpf-in-kubernetes/ https://github.com/cilium/cilium https://opentelemetry.io/docs/erlang/ https://www.brendangregg.com/blog/2019-01-01/learn-ebpf-tracing.html https://www.erlang-solutions.com/capabilities/wombatoam/ https://hex.pm/packages/recon_ex https://erlang-in-anger.com/ – Erlang in Anger (Chapter 9) https://www.thegreatcodeadventure.com/testing-genservers-with-erlang-trace/ – Testing GenServers with Erlang Trace http://blog.plataformatec.com.br/2016/04/how-to-trace-elixir-nodes-with-erlyberly/ – How to trace Elixir nodes with Erlyberly - Plataformatec Blog http://erlang.org/doc/man/seq_trace.html#sequential-tracing – Seq_trace http://erlang.org/doc/man/erlang.html#trace-3 – Erlang:trace https://github.com/andytill/erlyberly – Erlang tracing for the masses https://github.com/tatsuya6502/recon_ex – Elixir wrapper for Recon, tools to diagnose Erlang VM safely in production Guest Information https://twitter.com/kw7oe – on Twitter https://github.com/kw7oe/ – on Github https://kaiwern.com/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Sep 28, 202139 min

65: Meet Core Team Member Aleksei Magusev

We talk with Elixir Core Team Member Aleksei Magusev about how he got involved in Elixir, what it’s like being on the Core Team, some of his contributions, areas in Elixir that interest him, and his tips for learning a new programming language! He also shares some of his interests outside of computing. Meet Aleksei! Show Notes online - http://podcast.thinkingelixir.com/65 Elixir Community News https://github.com/phoenixframework/phoenix_live_view/issues/1617 – Initial proposal to bring slots to LiveView components. https://twitter.com/elixirbookclub/status/1437034456037068804 – Book Club started "Elixir in Action" https://techcrunch.com/2021/09/09/supabase-raises-30m-for-its-open-source-insta-backend/ – Supabase, which uses Elixir in their "realtime" project raised $30m https://github.com/supabase/realtime – Realtime project on github https://twitter.com/BrooklinJMyers/status/1436744292391923714 – New Podcast "Elixir Newbie" https://twitter.com/josevalim/status/1436386868539662338 – Fly.io is now a sponsor of the Livebook project! https://github.com/elixir-desktop/android-example-app/ – Android Application that embeds Elixir, uses a Webview to connect locally to the server, and renders using LiveView! https://github.com/elixir-lang/elixir/pull/11246 – Mix Formatter Plugins PR ElixirConf EU has happened! https://github.com/elixir-lang/elixir/releases/tag/v1.12.3 – Elixir 1.12.3 released Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://forzafootball.com/ https://tech.forzafootball.com/blog/binary-parsing-optimizations-in-elixir – Blog post by Aleksei Magusev on the Forza Football site https://github.com/celluloid/celluloid https://racket-lang.org/ https://www.rubinius.com/about/ https://web.archive.org/web/20130422214345/http://www.matasano.com/articles/crypto-challenges/ – The Matasano Crypto Challenge isn't online anymore - this is from the Wayback Machine https://hexdocs.pm/ex_unit/ExUnit.CaptureLog.html https://github.com/elixir-lang/elixir/pull/3390 – Early version of the capture_log work which was later simplified https://github.com/kraftjectory/forgery https://hex.pm/packages/forgery https://hex.pm/packages/mint https://hex.pm/packages/finch https://en.wikipedia.org/wiki/Cache_stampede https://github.com/lexmag/cashmere – Caching library Aleksei created and open sourced https://cassandra.apache.org/_/index.html https://andrealeopardi.com/ https://github.com/elixir-lang/elixir/pull/4430 – PR adding difference highlighting to ExUnit output https://github.com/lexmag/elixir-style-guide – He wrote the very early version of Elixir Style Guide Guest Information https://twitter.com/lexmag – on Twitter https://github.com/lexmag/ – on Github Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Sep 21, 202147 min

64: OTP Certificate Woes with Bram Verburg

We talk with Bram Verburg about an important root certificate expiring at the end of September and how this impacts your Elixir and Erlang projects! Bram helps explain where this IS and IS NOT a problem. He also explains the different update options available. We also get Bram’s security perspectives from his years of focused study and contributions in the Elixir and Erlang communities. A great resource for understanding the current certificate situation and for protecting your Elixir projects! Show Notes online - http://podcast.thinkingelixir.com/64 Elixir Community News https://github.com/elixir-nx/explorer – New Elixir-Nx project called Explorer released Explorer summarized with "When combined with other Nx libraries, Explorer is like a super-powerful spreadsheet" https://twitter.com/cigrainger/status/1433934973682139139 – Twitter announcement of Explorer https://github.com/hauleth/mix_unused – mix_unused is a compiler tracer for detecting unused public functions. https://hexdocs.pm/prom_ex/readme.html – PromEx sees a new 1.4.x release https://github.com/erlang/rebar3/releases/tag/3.17.0 – Rebar had a new release 3.17.0 https://github.com/woylie/ecto_nested_changeset – Ecto Nested Changeset project https://github.com/elixir-ecto/ecto/pull/3731 – Discussion that lead to pulling out as a separate library Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://blog.voltone.net/post/29 – Initial post describing the problem https://blog.voltone.net/post/30 – Updates and mitigation recommendations https://www.youtube.com/watch?v=0jzcPnsE4nQ – Learn you some 'ssl' for much security! - ElixirConfEU 2019 https://erlef.github.io/security-wg/secure_coding_and_deployment_hardening/inets https://blog.voltone.net/post/27 – CVE-2020-35733 discovered in December https://blog.voltone.net/post/28 https://www.youtube.com/watch?v=r0DuAse9tK8 https://pragprog.com/titles/jaerlang2/programming-erlang-2nd-edition/ OTP 24.0.4 and later is good OTP 23.3.4.6 and later is good https://github.com/dlesl/erqwest https://hex.pm/packages/mint https://xkcd.com/927/ – The referenced XKCD comic https://arstechnica.com/gadgets/2020/12/lets-encrypt-comes-up-with-workaround-for-abandonware-android-devices/ https://github.com/elixir-mint/mint/pull/328 https://blog.voltone.net/post/28 https://blog.voltone.net/post/27 https://en.wikipedia.org/wiki/Heartbleed https://istio.io/ https://hex.pm/packages/hackney https://hex.pm/packages/finch https://blog.voltone.net/ Guest Information https://twitter.com/voltonez – on Twitter https://github.com/voltone/ – on Github https://blog.voltone.net/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Sep 14, 202142 min

63: SMS Texting in Nerves with Peter Ullrich

We talk with Peter Ullrich about his experience sending SMS messages from a Raspberry Pi Zero using Nerves. We cover what went well, what didn’t and get a glimpse into the current state of Nerves for a newbie when dealing with hardware. Peter also tried Livebook for Nerves and had a great experience with that. We discuss the challenges of hardware systems dealing with the “real world” but see how Elixir makes the process easier to model and think about. Show Notes online - http://podcast.thinkingelixir.com/63 Elixir Community News https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723 – LiveBook support in ExDocs https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals – Fly.io deployment guide in Phoenix documentation https://github.com/wojtekmach/mix_install_examples/blob/main/oban.exs – Wojtek Mach's Mix.install script using the Oban library and database tables https://github.com/smartlogic/augur – SmartLogic open sourced Augur library for helping Elixir systems that send SMS messages https://elixir-broadway.org/ – Broadway library has it's own website https://twitter.com/mcrumm/status/1431316375893467137 – Michael Crumm shares how live_session/3 are 2x-4x faster for him https://twitter.com/atyborska93/status/1431670143483060230 – Angelika Tyborska shares that Exercism v3 is up with a new Elixir track https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/ – Previous interview with Angelika Tyborska about the Elixir track in Exercism v3 https://exercism.org/tracks/elixir/ – Excercism.io's Elixir track https://twitter.com/voltonez/status/1432208014103220224 – Erlang updates needed for expiring root CA certificate support https://blog.voltone.net/post/30 – Bram Verburg's detailed write up on the needed updates https://elixir-lang.org/getting-started/introduction.html – Elixir getting started docs https://hexdocs.pm/elixir/Kernel.html – Elixir's docs in HexDocs https://elixirschool.com/en/ – Elixir School, good free resource for learning Elixir https://thinkingelixir.com/available-courses/pattern-matching/ – ThinkingElixir free Pattern Matching course for learning Elixir Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://www.peterullrich.com/sending-text-messages-with-nerves https://www.peterullrich.com/using-livebook-with-nerves https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335 https://www.youtube.com/watch?v=bsyjSW46TDg https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents https://nerves.group/ https://github.com/fhunleth/nerves_livebook/releases https://github.com/fhunleth/nerves_livebook Guest Information https://twitter.com/PJUllrich – on Twitter https://github.com/PJUllrich/ – on Github http://peterullrich.com/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Sep 7, 202143 min

62: Chris McCord joins Fly.io and Phoenix 1.6

We talk with Chris McCord about his recent announcement that he’s moved to work at Fly.io! We cover what this means for the Phoenix project and ongoing Phoenix development work. He shares why he’s excited about the Fly platform which includes how it replaces his need for a CDN! We also talk about the new Phoenix 1.6 release and all the goodness coming there. This release includes the HEEX engine for validated HTML at compile time, making the auth generators official, a new mailer generator, and the move away from Webpack to esbuild. We go deeper on what the move to esbuild means for existing projects before hearing where Chris wants to put his focus next. We covered a lot, so buckle up! Show Notes online - http://podcast.thinkingelixir.com/62 Elixir Community News https://github.com/elixir-lang/elixir/pull/11184 – Another improvement made to mix xref graph to find why module A depends on module B. https://github.com/elixir-lang/elixir/pull/11201 – Recompile only necessary deps whenever config/lock change https://github.com/livebook-dev/livebook/pull/513 – IEx and Livebook both get improved intellisense (code completion) for structs and sigils. https://twitter.com/akoutmos/status/1429835571745153024 – PromEx sponsored by SmartLogic https://twitter.com/mitchhanberg/status/1429854685087797248 – Wallaby sponsored by SmartLogic https://blog.erlang.org/scalable-ets-counters/ – Lukas Larsson from the Erlang OTP team, wrote a blog post about using ETS tables for distributed counters. https://github.com/erlang/otp/pull/4719 – OTP 24.1 gets better float to string support Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://twitter.com/chris_mccord/status/1428821074553315332 – Chris McCord announced he joined Fly.io https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#changelog-for-v16 – Phoenix 1.6 changelog https://github.com/phoenixframework/phoenix_live_view – Phoenix LiveView 0.16 released https://github.com/surface-ui/surface https://twitter.com/MarlusSaraiva https://github.com/surface-ui/surface_catalogue https://dashbit.co/blog/a-new-authentication-solution-for-phoenix https://github.com/heartcombo/devise https://github.com/swoosh/swoosh https://esbuild.github.io/ Guest Information https://twitter.com/chris_mccord – on Twitter https://github.com/chrismccord – on Github http://chrismccord.com/ – Blog https://twitter.com/flydotio – Fly.io on Twitter Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Aug 31, 202156 min

61: Elixir's Recent Brex-it

We cover the news then talk about the Brex announcement that they are shifting to a Kotlin-first strategy over Elixir. This reminds us of patterns we’ve seen in our careers and we reflect on what it means to us personally and professionally. We share our perspectives on Elixir, how it’s different from the languages we’ve used before and the unique value we get from it. Show Notes online - http://podcast.thinkingelixir.com/61 Elixir Community News https://medium.com/brexeng/building-backend-services-with-kotlin-7c8410795e4b – Brex announcement they are moving to Kotlin first https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md#0160-2021-08-10 – LiveView 0.16 released https://github.com/phoenixframework/vscode-phoenix – VSCode support for HEEx is coming in new extension https://github.com/nvim-treesitter/nvim-treesitter/pull/1700/files – nvim-treesitter gets HEEx support https://elixirforum.com/t/introducing-elixirls-the-elixir-language-server/5857/136 – ElixirLS 0.8.0 released https://github.com/erlang-ls/erlang_ls/releases/tag/0.18.0 – Erlang LS 0.18.0 released https://pragprog.com/titles/sgdpelixir/concurrent-data-processing-in-elixir/ – Book "Concurrent Data Processing in Elixir" released by PragProg https://twitter.com/elixirbookclub – Book club is reading through this book right now if you're interested https://github.com/wyeworks/boom – WyeWorks has an open source library called "boom" that was inspired by the ExceptionNotification Rack/Rails gem https://github.com/mcrumm/live_upload_example/pull/7 – Example showing how to crop a photo using the croppr.js library and LiveView https://slab.com/blog/announcing-delta-for-elixir/ – Slab open-sourced their Operational Transforms library that pairs nicely with Quill, the JavaScript collaborative editor https://github.com/slab/delta-elixir – Slab's OT project https://thinkingelixir.com/podcast-episodes/048-ecto-associations-with-sheharyar-naseer/ – Interview with Sheharyar Naseer from Slab Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://thinkingelixir.com/podcast-episodes/059-how-elixir-came-to-spotify-with-joel-kemp/ https://twitter.com/ChrisKeathley/status/1425471653014876163 https://www.theregister.com/2012/11/08/twitter_epic_traffic_saved_by_java/ https://www.infoq.com/articles/twitter-java-use/ https://sysgears.com/articles/how-and-why-twitter-uses-scala/ https://github.blog/2009-10-20-how-we-made-github-fast/ https://developer.github.com/changes/2018-04-25-github-services-deprecation/ https://www.infoq.com/presentations/github-rails-monolith-microservices/ Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Aug 24, 202130 min

60: Compile Faster with Marc-André Lafortune

We talk with Marc-André Lafortune about reducing Elixir project compile times. On larger projects, when a single file like a view template is changed and over 100 files get recompiled, there is something wrong. Marc-André explains how he identified the problems in his project and contributed to Elixir’s mix xref tool making it easier for us to find those problems in our own projects! We cover how these tooling improvements were used to improve the upcoming Phoenix 1.6 and Elixir 1.13! An additional mix xref flag was added to run CI checks on our code to prevent accidentally adding code that slows our compile times. Show Notes online - http://podcast.thinkingelixir.com/60 Elixir Community News https://insights.stackoverflow.com/survey/2021#most-loved-dreaded-and-wanted-language-love-dread – Elixir is number 4 among the "most loved" languages on Stack Overflow's developer survey https://insights.stackoverflow.com/survey/2021#section-top-paying-technologies-top-paying-technologies – Elixir is number 3 in highest paid languages on Stack Overflow's developer survey https://github.com/nvim-treesitter/nvim-treesitter/pull/1645 – Neovim adds tree-sitter (a syntax parser) support for the Surface library https://github.com/surface-ui/surface_tailwind/issues/1#issuecomment-884981076 – Surface Catalogue to continue and may redesign the UI using TailwindCSS https://github.com/phoenixframework/phoenix/issues/4403#issuecomment-895354673 – Phoenix 1.6 possibly released this week? Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://twitter.com/josevalim/status/1421912595456569351 – Thread talks about the change https://groups.google.com/g/elixir-lang-core/c/Hmg5y8S3v4E/m/FVK50RWBAQAJ?pli=1 – Elixir core mailing list where feature was discussed https://hexdocs.pm/mix/master/Mix.Tasks.Xref.html#module-understanding-the-printed-graph https://github.com/elixir-lang/elixir/pull/11044 – Add "--label compile-connected" option to mix xref graph https://github.com/elixir-lang/elixir/pull/11048 – Add "--fail-above" option to mix xref making it good for CI systems https://github.com/elixir-lang/elixir/pull/11049 – Support multiple sinks and sources in mix xref graph https://github.com/elixir-lang/elixir/pull/11162 – Update docs https://github.com/elixir-lang/elixir/pull/11080 – Rely on modification time and hash to determine modified sources https://dashbit.co/blog/speeding-up-re-compilation-of-elixir-projects – Blog post on recompilations https://github.com/phoenixframework/phoenix/issues/4408 – Example 1 of sneaky macros introducing compile-time dependencies https://github.com/phoenixframework/phoenix/issues/4409 – Example 2 of sneaky macros introducing compile-time dependencies https://exercism.io/tracks/elixir https://github.com/rbenv/rbenv https://rvm.io/ https://www.super.mx/ https://xkcd.com/303/ --label compile-connected --fail-above Guest Information https://twitter.com/malafortune – on Twitter https://github.com/marcandre/ – on Github http://blog.marc-andre.ca/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Aug 17, 202143 min

59: How Elixir Came to Spotify with Joel Kemp

We talk with Joel Kemp about his experience introducing Elixir at Spotify. We learn about the concurrency problems he had with the default stack and how that was solved with the BEAM. We talk about the inertia that larger companies have that make introducing any change harder. Joel compares the process to running a marathon and shares some tactics used to help build internal support and interest. Fascinating insight into a well known company and how Elixir is helping internally. Show Notes online - http://podcast.thinkingelixir.com/59 Elixir Community News https://www.youtube.com/playlist?list=PLCv-QRhbg07E3pe58eQauGibLv0A1fYm8 – ElixirWizard's Conference 2021 videos are on YouTube. https://pragprog.com/titles/lmelixir/testing-elixir/ – Testing Elixir book. 40% off promo code "LMELIXIRCOMPLETE" https://twitter.com/josevalim/status/1421912595456569351 – Elixir 1.13 gets "mix xref graph" improvements https://en.wikipedia.org/wiki/Transitive_dependency – Transitive Dependency info https://twitter.com/josevalim/status/1420810455854067723 – esbuild fixed last technical hurdle for use in Phoenix https://github.com/josevalim/phx_esbuild_demo/commit/0546034f26ac5d58d12867e5843037ce1b2d4dd1 – Jose Valim shows how to switch to esbuild on a project [Oban and Oban Pro updates released improving time scheduling](Oban and Oban Pro updates released improving time scheduling) – https://twitter.com/sorentwo/status/1421169698713088001 https://elixir-lang.org/blog/2021/07/29/bootstraping-a-multiplayer-server-with-elixir-at-x-plane/ – Bootstrapping a multiplayer server with Elixir at X-Plane blog post https://thinkingelixir.com/podcast-episodes/035-x-planes-elixir-mmo-with-tyler-young/ – Our previous interview with Tyler Young about X-Plane and Elixir Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://medium.com/elixir-learnings/learnings-using-phoenix-liveview-for-internal-web-applications-38711193ca13 https://mrjoelkemp.medium.com/jvm-struggles-and-the-beam-4d9c58547410 https://www.spotify.com/ https://www.lifeatspotify.com/ Guest Information https://twitter.com/mrjoelkemp – on Twitter https://github.com/mrjoelkemp – on Github https://mrjoelkemp.medium.com/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Aug 10, 202143 min

58: News and Livebook for Business Intelligence

After covering the news we catch up on what Elixir things we've been thinking about and working on. Mark brings up using Livebook as a Business Intelligence tool for doing analysis of a running application's data. David brings up how to design safe data migrations in Elixir systems, examples from the Rails ecosystem and how he's thinking about that for Elixir. Show Notes online - http://podcast.thinkingelixir.com/58 Elixir Community News https://2021.elixirconf.com/#up-next – ElixirConf talks are being accepted! Speakers not yet fully announced. https://github.com/livebook-dev/livebook/pull/453 – Livebook gets "hover contexts". https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.16 – Nerves Livebook updated release https://www.youtube.com/watch?v=n2lUa7PACV8 – Elixir Roundtable Number 4 https://github.com/CargoSense/dart_sass – Mix wrapper around dart-sass Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://fly.io/blog/better-business-intelligence-in-elixir-with-livebook/ https://fly.io/docs/app-guides/elixir-livebook-connection-to-your-app/#business-intelligence-through-livebook – Fly.io docs for doing BI with Livebook to running apps https://github.com/livebook-dev/livebook – Livebook project https://en.wikipedia.org/wiki/Business_intelligence – Business Intelligence or BI https://www.metabase.com/ – OpenSource BI tool https://rubygems.org/gems/strong_migrations – RubyGem StrongMigrations Guest Information No special guests this time. Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Aug 3, 202121 min

57: Scaling Live Chat with Cade Ward

We sat down with co-host Cade Ward to hear how he and his team tackled a problem of hosting live web chats with crowds of 120K+ users coming together for live events. On the show, we have talked with a couple guests with similar bursting high-load situations. Cade had been through it too so it was time to dig in and cover how this situation can be solved. We cover the different attempts and temporary solutions used and the final solution that has been working really well. In fact it works so well, during a recent event, the auto-scaling didn’t kick in and everything was still fine! Show Notes online - http://podcast.thinkingelixir.com/57 Elixir Community News https://github.com/phoenixframework/phoenix/pull/4377 – Phoenix v1.6 will officially use esbuild! https://twitter.com/sorentwo/status/1417462054114537476 – Parker Selbert identified the issue counts linked to JS packaging... ~30% of total issues! https://twitter.com/mcrumm/status/1417141537541033985 – Phoenix View can now be used as a separate package https://utils.zest.dev/gendiff – David's tool for diffing generated projects. Includes support for the different flags. https://hexdocs.pm/k8s/changelog.html#1-0-0-2021-07-19 – The "k8s" library was updated and got a 1.0 release tag https://pragprog.com/titles/lmelixir/testing-elixir/ – The Book "Testing Elixir" launched in Beta https://twitter.com/remote/status/1414919265841557510 – Remote raises $150M and is using Elixir https://github.com/livebook-dev/livebook/pull/418 – Livebook UX improvement to restart runtime when Mix.install packages changed https://github.com/livebook-dev/livebook/pull/449 – Support for "branching sections" added to Livebook notebooks https://github.com/wojtekmach/notebooks/blob/main/client_server.livemd – Wojtek Mach created a notebook using branching sections to create a client-server setup in a single notebook https://github.com/livebook-dev/livebook/pull/441 – Livebook notebooks can link to each other https://erlang.org/pipermail/erlang-questions/2021-July/101209.html – Frank Hunleth of the Nerves project encountered performance issue when shutting down a node. Interesting discussion with the OTP Team. https://github.com/erlang/otp/pull/5032 – OTP PR opened for speeding up controlled shutdowns https://github.com/fhunleth/nerves_livebook/releases/tag/v0.2.14 – Nerves 1.7.9 is out with minor updates to all systems and toolchain https://nervesconf.com/ – Nerves Conf October 11 in Austin Texas, timed with ElixirConf Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://elixirforum.com/t/implementing-a-distributed-users-counter/39609 – Link to Cade's Elixir Forum post with discussion https://gist.github.com/cadebward/c24fc4aced526d9d35bb00a6a8140784 – Gist of the Cade's working solution https://www.vidangel.com/ – First incarnation of company before pivot https://invest.angel.com/ – Angel Studios kickstarter like projects https://elixirforum.com/ http://angel.com/apply – Angel Studios is hiring! Guest Information https://twitter.com/cadebward – on Twitter https://github.com/cadebward/ – on Github Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jul 27, 202157 min

56: Fly-ing Elixir Close to Users with Kurt Mackey

We talk with Kurt Mackey, founder at Fly.io, about what makes the Fly platform unique and why hosting Elixir applications there makes a lot of sense. They started out looking to make a better CDN for developers and this pushed them to try deploying Full Stack applications closer to users, not just the static assets! We learn about the tech behind the networking, how databases can be moved closer to users, and how LiveView is even more awesome when it is close to users. Kurt also shares what he sees as the future for databases as the industry continues to move into globally distributed applications. Show Notes online - http://podcast.thinkingelixir.com/56 Elixir Community News https://github.com/elixir-lang/elixir/pull/11101 – Task.completed/1 function added https://github.com/elixir-lang/elixir/releases/tag/v1.12.2 – Elixir 1.12.2 minor release https://github.com/phoenixframework/phoenix_live_view/pull/1511 – LV Lifecycle Hooks https://github.com/phoenixframework/phoenix_live_view/pull/1515 – Add on_mount option to live_session https://github.com/phoenixframework/phoenix_live_view/pull/1513 – New form_for/4 https://github.com/phoenixframework/phoenix/pull/4355 – Add mailer generator for swoosh https://github.com/akoutmos/prom_ex/blob/master/CHANGELOG.md – prom_ex library has 1.3.0 release adding Absinthe GraphQL plugin and dashboard https://fly.io/blog/monitoring-your-fly-io-apps-with-prometheus/ – Using prom_ex on an Elixir project https://github.com/wojtekmach/elixir-run – Wojtek Mach released a new project called "elixir-run" https://github.com/nurturenature/elixir_actions#elixir-actions-for-github – Elixir Github Actions CI example repo https://twitter.com/evadne/status/1412083538988613636 – Etso 0.1.6 was released adding "is_nil" query support Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://fly.io/ https://fly.io/docs/introduction/ https://fly.io/blog/building-a-distributed-turn-based-game-system-in-elixir/ https://www.compose.com/ https://twitter.com/QuinnyPig – Corey Quinn on Twitter https://nats.io/ https://jamstack.org/ https://liveview-counter.fly.dev/ https://github.com/fly-apps/phoenix-liveview-cluster https://en.wikipedia.org/wiki/Anycast https://en.wikipedia.org/wiki/Border_Gateway_Protocol https://en.wikipedia.org/wiki/Content_delivery_network https://www.wireguard.com/ https://tailscale.com/ https://fly.io/blog/globally-distributed-postgres/ https://www.cockroachlabs.com/ https://www.yugabyte.com/ https://www.citusdata.com/ https://fly.io/blog/ https://twitter.com/flydotio https://en.wikipedia.org/wiki/Joe_Armstrong_(programmer) Guest Information https://twitter.com/mrkurt – on Twitter https://github.com/mrkurt – on Github https://fly.io/blog/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jul 13, 202159 min

55: Learning from Failure with Philipp Schmieder

We talk with Philipp Schmieder about his experience creating a LiveView application for a political party’s convention and then watching the app blow up. We learn how he recovered, why it failed, and how he fixed it going forward. We also discuss some other application architecture ideas and how they might work. It’s a great post-mortem discussion where Philipp shares his wisdom so others learn from the mistakes. After experiencing all this, find out why he’s still bullish on LiveView and Elixir! Show Notes online - http://podcast.thinkingelixir.com/55 Elixir Community News https://www.elixirconf.eu/ – ElixirConfEU - Warsaw Poland, September 9-10 https://2021.elixirconf.com/ – ElixirConf US 2021 Austin, TX October 12-13 and Online, October 14-15. https://www.codebeambr.com/ – Code Beam Brazil posted their videos from 2020 https://github.com/elixir-nx/livebook/pull/389 – Livebook gets "reactive inputs" https://github.com/elixir-nx/livebook/pull/410 – Livebook gets input color selectors https://github.com/kw7oe/livebook-notebooks/blob/main/debugging-with-tracing-in-elixir-with-recon_trace.livemd – Notebook explaining recon_trace by Kai Wern https://twitter.com/ThinkingElixir – Tell us about your project, post, conference, or other Elixir news! Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://pentacent.com/blog/failing-big-elixir-liveview/ https://twitter.com/pentacent_hq/status/1399330035937464320 :observer.start :crashdump_viewer.start https://hexdocs.pm/phoenix_pubsub/Phoenix.Tracker.html https://hex.pm/packages/etso https://www.keila.io/ – MailChimp-like project extracted for helping with mailings Guest Information https://twitter.com/pentacent_hq – on Twitter https://github.com/wmnnd/ – on Github https://pentacent.com/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jul 6, 202137 min

54: AST Parsing using Sourceror with Lucas San Román

We talk with Lucas San Román about his library Sourceror and how it was created to solve some AST parsing limitations. The Elixir parser discards code comments, so it can’t be used for re-writing Elixir code when refactoring. IDE’s often include more advanced refactoring tools and the ability to provide that requires a smarter parser. Sourceror keeps the comments while also providing advanced features like a Zipper API to more easily navigate around the source tree while inserting and removing nodes. Learn what Sourceror can do and what it can enable for future Elixir tools! Show Notes online - http://podcast.thinkingelixir.com/54 Elixir Community News https://www.elixirconf.eu/ – ElixirConfEU will be in Warsaw Poland on September 9-10 https://2021.elixirconf.com/ – ElixirConf US 2021 ElixirConf US 2021 is being held in Austin, TX October 12-13 and Online, October 14-15 https://github.com/phoenixframework/phoenix_live_view/pull/1490 – live_session for optimized live navigation purely over websockets PR was merged and had docs https://github.com/livewire/livewire/commit/5cffdbfe4204e0d932cde6f8c9bdf63f0928b4d4#diff-7ce6ac695f53fd2e2c50f1f962b00fb2da5cdf2576a1c1d6eeacca29f34b6024R291 – Alpine V3 released https://twitter.com/bernheisel/status/1404832454536478722 – Need to update your Phoenix LiveView hook for Alpine V3 https://github.com/erlang/otp/pull/4869 – ARM support for OTP24/JIT was merged a couple weeks ago https://twitter.com/josevalim/status/1405586165315604486 – Livebook 0.2 released https://youtu.be/MOTEgF-wIEI?t=1132 – Jose Valim's demo video - time signature to the Kino section https://twitter.com/josevalim/status/1407084358750572548 – Tweet thread showing Kino data_table and execution timing display https://github.com/kentaro/off_broadway_otp_distribution – off_broadway_otp_distribution library https://twitter.com/gleamlang/status/1405504902655361024 – Gleam 0.16 released and can now compile to Javascript https://gleam.run/news/v0.16-gleam-compiles-to-javascript/ – Gleam release announcement https://github.com/phoenixframework/phoenix/pull/4337 – Asset Pipeline rewrite merged https://youtu.be/vdhK0QPN61E?t=839 – Elixir Roundtable 3 discussion talks about the JS woes. Time signature links to the mentioned part of the discussion. https://twitter.com/MarlusSaraiva/status/1405621630597013508 – Surface 0.5 released https://surface-ui.org/template_syntax – Surface's new template syntax https://github.com/surface-ui/surface/blob/master/MIGRATING.md – Surface migration guide Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at [email protected] Discussion Resources https://github.com/doorgan/sourceror https://twitter.com/bostonvaulter/status/1403055559612375041 https://www.youtube.com/watch?v=aM0BLWgr0g4 – Arjan Scherpenisse - The Elixir parser under the microscope - ElixirConfEU https://groups.google.com/u/1/g/elixir-lang-core/c/GM0yM5Su1Zc/m/poIKsiEVDQAJ https://github.com/elixir-lsp/elixir-ls https://dorgan.netlify.app/posts/2021/04/the_elixir_ast/ https://github.com/andyl/rfx Tonći Galić Guest Information https://twitter.com/dorgandash1 – on Twitter https://github.com/doorgan/ – on Github https://dorgan.netlify.app/ – Blog Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Jun 29, 202153 min