POPULARITY
News includes a critical Unauthenticated Remote Code Execution vulnerability in Erlang/OTP SSH, José Valim teasing a new project, Oban Pro v1.6's impressive new "Cascade Mode" feature, Semaphore CI/CD platform being open-sourced as a primarily Elixir application, new sandboxing options for Elixir code with Dune and Mini Elixir, BeaconCMS development slowing due to DockYard cuts, and a look at the upcoming W3C Device Bound Session Credentials standard that will impact all web applications, and more! Show Notes online - http://podcast.thinkingelixir.com/251 (http://podcast.thinkingelixir.com/251) Elixir Community News https://paraxial.io/ (https://paraxial.io/?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial.io is sponsoring today's show! Sign up for a free trial of Paraxial.io today and mention Thinking Elixir when you schedule a demo for a limited time offer. https://x.com/ErlangDiscu/status/1914259474937753747 (https://x.com/ErlangDiscu/status/1914259474937753747?utm_source=thinkingelixir&utm_medium=shownotes) – Unauthenticated Remote Code Execution vulnerability discovered in Erlang/OTP SSH. https://github.com/erlang/otp/security/advisories/GHSA-37cp-fgq5-7wc2 (https://github.com/erlang/otp/security/advisories/GHSA-37cp-fgq5-7wc2?utm_source=thinkingelixir&utm_medium=shownotes) – Official security advisory for the Erlang/OTP SSH vulnerability. https://paraxial.io/blog/erlang-ssh (https://paraxial.io/blog/erlang-ssh?utm_source=thinkingelixir&utm_medium=shownotes) – Paraxial.io's detailed blog post addressing how the SSH vulnerability impacts typical Elixir systems. https://elixirforum.com/t/updated-nerves-systems-available-with-cve-2025-32433-ssh-fix/70539 (https://elixirforum.com/t/updated-nerves-systems-available-with-cve-2025-32433-ssh-fix/70539?utm_source=thinkingelixir&utm_medium=shownotes) – Updated Nerves systems available with SSH vulnerability fix. https://bsky.app/profile/oban.pro/post/3lndzg72r2k2g (https://bsky.app/profile/oban.pro/post/3lndzg72r2k2g?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Oban Pro v1.6's new "Cascade Mode" feature. https://oban.pro/articles/weaving-stories-with-cascading-workflows (https://oban.pro/articles/weaving-stories-with-cascading-workflows?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post demonstrating Oban Pro's new Cascading Workflows feature used to create children's stories with AI. https://bsky.app/profile/josevalim.bsky.social/post/3lmw5fvnyvc2k (https://bsky.app/profile/josevalim.bsky.social/post/3lmw5fvnyvc2k?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim teasing a new logo with "Soon" message. https://tidewave.ai/ (https://tidewave.ai/?utm_source=thinkingelixir&utm_medium=shownotes) – New site mentioned in José Valim's teasers, not loading to anything yet. https://github.com/tidewave-ai (https://github.com/tidewave-ai?utm_source=thinkingelixir&utm_medium=shownotes) – New GitHub organization related to José Valim's upcoming announcement. https://github.com/tidewave-ai/mcpproxyelixir (https://github.com/tidewave-ai/mcp_proxy_elixir?utm_source=thinkingelixir&utm_medium=shownotes) – The only public project in the tidewave-ai organization - an Elixir MCP server for STDIO. https://x.com/chris_mccord/status/1913073561561858229 (https://x.com/chris_mccord/status/1913073561561858229?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord teasing AI development with Phoenix applications. https://ashweekly.substack.com/p/ash-weekly-issue-13 (https://ashweekly.substack.com/p/ash-weekly-issue-13?utm_source=thinkingelixir&utm_medium=shownotes) – Zach Daniel teasing upcoming Ash news to be announced at ElixirConf EU. https://elixirforum.com/t/dune-sandbox-for-elixir/42480 (https://elixirforum.com/t/dune-sandbox-for-elixir/42480?utm_source=thinkingelixir&utm_medium=shownotes) – Dune - a sandbox for Elixir created by a Phoenix maintainer. https://github.com/functional-rewire/dune (https://github.com/functional-rewire/dune?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Dune, an Elixir code sandbox. https://blog.sequinstream.com/why-we-built-mini-elixir/ (https://blog.sequinstream.com/why-we-built-mini-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post explaining Mini Elixir, another Elixir code sandbox solution. https://github.com/sequinstream/sequin/tree/main/lib/sequin/transforms/minielixir (https://github.com/sequinstream/sequin/tree/main/lib/sequin/transforms/minielixir?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository that contains Mini Elixir, an Elixir AST interpreter. https://www.reddit.com/r/elixir/comments/1k27ekg/webuiltacustomelixirastinterpreter_for/ (https://www.reddit.com/r/elixir/comments/1k27ekg/we_built_a_custom_elixir_ast_interpreter_for/?utm_source=thinkingelixir&utm_medium=shownotes) – Reddit discussion about Mini Elixir AST interpreter. https://github.com/semaphoreio/semaphore (https://github.com/semaphoreio/semaphore?utm_source=thinkingelixir&utm_medium=shownotes) – Semaphore CI/CD platform open-sourced under Apache 2.0 license - primarily an Elixir application. https://semaphore.io/ (https://semaphore.io/?utm_source=thinkingelixir&utm_medium=shownotes) – Official website for Semaphore CI/CD platform. https://docs.semaphoreci.com/CE/getting-started/install (https://docs.semaphoreci.com/CE/getting-started/install?utm_source=thinkingelixir&utm_medium=shownotes) – Installation guide for Semaphore Community Edition. https://bsky.app/profile/markoanastasov.bsky.social/post/3lj5o5h5z7k2t (https://bsky.app/profile/markoanastasov.bsky.social/post/3lj5o5h5z7k2t?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement from Marko Anastasov, co-founder of Semaphore CI, about open-sourcing their platform. https://github.com/elixir-dbvisor/sql (https://github.com/elixir-dbvisor/sql?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for SQL parser and sigil with impressive benchmarks. https://groups.google.com/g/elixir-ecto/c/8MOkRFAdLZc?pli=1 (https://groups.google.com/g/elixir-ecto/c/8MOkRFAdLZc?pli=1?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion about SQL parser being 400-650x faster than Ecto for generating SQL. https://bsky.app/profile/bcardarella.bsky.social/post/3lndymobsak2p (https://bsky.app/profile/bcardarella.bsky.social/post/3lndymobsak2p?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement about BeaconCMS reducing development due to Dockyard cuts. https://bsky.app/profile/did:plc:vnywtpvzgdgetnwea3fs3y6w (https://bsky.app/profile/did:plc:vnywtpvzgdgetnwea3fs3y6w?utm_source=thinkingelixir&utm_medium=shownotes) – Related profile for BeaconCMS announcement. https://beaconcms.org/ (https://beaconcms.org/?utm_source=thinkingelixir&utm_medium=shownotes) – BeaconCMS official website. https://github.com/BeaconCMS/beacon (https://github.com/BeaconCMS/beacon?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for BeaconCMS. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources Discussion about Device Bound Session Credentials, a W3C initiative being built into major browsers that will require minor changes to Phoenix for implementation. https://w3c.github.io/webappsec-dbsc/ (https://w3c.github.io/webappsec-dbsc/?utm_source=thinkingelixir&utm_medium=shownotes) – W3C - Device Bound Session Credentials proposal https://github.com/w3c/webappsec-dbsc/ (https://github.com/w3c/webappsec-dbsc/?utm_source=thinkingelixir&utm_medium=shownotes) – Device Bound Session Credentials explainer https://developer.chrome.com/docs/web-platform/device-bound-session-credentials (https://developer.chrome.com/docs/web-platform/device-bound-session-credentials?utm_source=thinkingelixir&utm_medium=shownotes) – Device Bound Session Credentials (DBSC) on the Google Chrome developer blog https://en.wikipedia.org/wiki/TrustedPlatformModule (https://en.wikipedia.org/wiki/Trusted_Platform_Module?utm_source=thinkingelixir&utm_medium=shownotes) – Wikipedia article on Trusted Platform Module, relevant to Device Bound Session Credentials discussion. https://www.grc.com/sn/sn-1021-notes.pdf (https://www.grc.com/sn/sn-1021-notes.pdf?utm_source=thinkingelixir&utm_medium=shownotes) – Other podcast show notes discussing Device Bound Session Credentials (DBSC). https://twit.tv/shows/security-now/episodes/1021?autostart=false (https://twit.tv/shows/security-now/episodes/1021?autostart=false?utm_source=thinkingelixir&utm_medium=shownotes) – Security Now podcast episode covering Device Bound Session Credentials (time coded link to discussion). Find us online - Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) - Message the show - X (https://x.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen on X - @brainlid (https://x.com/brainlid) - Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes a new library called phoenix_sync for real-time sync in Postgres-backed Phoenix applications, Peter Solnica released a Text Parser for extracting structured data from text, a useful tip on finding Hex package versions locally with mix hex.info, Wasmex updated to v0.10 with WebAssembly component support, and Chrome introduces a new browser feature similar to LiveView.JS. We also talked with Alistair Woodman and Jonatan Männchen from the EEF about Jonatan's role as CISO, the Security Working Group, and their work on OpenChain compliance for supply-chain security, Software Bill of Materials (SBoMs), and what these initiatives mean for the Elixir community, and more! Show Notes online - http://podcast.thinkingelixir.com/245 (http://podcast.thinkingelixir.com/245) Elixir Community News https://gigalixir.com/thinking (https://gigalixir.com/thinking?utm_source=thinkingelixir&utm_medium=shownotes) – Gigalixir is sponsoring the show, offering 20% off standard tier prices for a year with promo code "Thinking". https://github.com/electric-sql/phoenix_sync (https://github.com/electric-sql/phoenix_sync?utm_source=thinkingelixir&utm_medium=shownotes) – New library called phoenix_sync providing real-time sync for Postgres-backed Phoenix applications. https://hexdocs.pm/phoenix_sync/readme.html (https://hexdocs.pm/phoenix_sync/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for phoenix_sync, a solution for building modern, real-time apps with local-first/sync in Elixir. https://github.com/josevalim/sync (https://github.com/josevalim/sync?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's original proof of concept repo that was promptly archived. https://electric-sql.com/ (https://electric-sql.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Electric SQL's platform that syncs subsets of Postgres data into local apps and services, allowing data to be available offline and in-sync. https://solnic.dev/posts/announcing-textparser-for-elixir/ (https://solnic.dev/posts/announcing-textparser-for-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Solnica released TextParser, a library for extracting interesting parts of text like hashtags and links. https://hexdocs.pm/text_parser/readme.html (https://hexdocs.pm/text_parser/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for the Text Parser library that helps parse text into structured data. https://www.elixirstreams.com/tips/mix-hex-info (https://www.elixirstreams.com/tips/mix-hex-info?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir stream tip on using mix hex.info to find the latest package version for a Hex package locally, without needing to search on hex.pm or GitHub. https://github.com/phoenixframework/tailwind/blob/main/README.md#updating-from-tailwind-v3-to-v4 (https://github.com/phoenixframework/tailwind/blob/main/README.md#updating-from-tailwind-v3-to-v4?utm_source=thinkingelixir&utm_medium=shownotes) – Guide for upgrading Tailwind to V4 in existing Phoenix applications using Tailwind's automatic upgrade helper. https://gleam.run/news/hello-echo-hello-git/ (https://gleam.run/news/hello-echo-hello-git/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam 1.9.0 release with searchability on hexdocs, Echo debug printing for improved debugging, and ability to depend on Git-hosted dependencies. https://d-gate.io/blog/everything-i-was-lied-to-about-node-came-true-with-elixir (https://d-gate.io/blog/everything-i-was-lied-to-about-node-came-true-with-elixir?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post discussing how promises made about NodeJS actually came true with Elixir. https://hexdocs.pm/wasmex/Wasmex.Components.html (https://hexdocs.pm/wasmex/Wasmex.Components.html?utm_source=thinkingelixir&utm_medium=shownotes) – Wasmex updated to v0.10 with support for WebAssembly components, enabling applications and components to work together regardless of original programming language. https://ashweekly.substack.com/p/ash-weekly-issue-8 (https://ashweekly.substack.com/p/ash-weekly-issue-8?utm_source=thinkingelixir&utm_medium=shownotes) – AshWeekly Issue 8 covering AshOps with mix task capabilities for CRUD operations and BeaconCMS being included in the Ash HQ installer script. https://developer.chrome.com/blog/command-and-commandfor (https://developer.chrome.com/blog/command-and-commandfor?utm_source=thinkingelixir&utm_medium=shownotes) – Chrome update brings new browser feature with commandfor and command attributes, similar to Phoenix LiveView.JS but native to browsers. https://codebeamstockholm.com/ (https://codebeamstockholm.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Code BEAM Lite announced for Stockholm on June 2, 2025 with keynote speaker Björn Gustavsson, the "B" in BEAM. https://alchemyconf.com/ (https://alchemyconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – AlchemyConf coming up March 31-April 3 in Braga, Portugal. Use discount code THINKINGELIXIR for 10% off. https://www.gigcityelixir.com/ (https://www.gigcityelixir.com/?utm_source=thinkingelixir&utm_medium=shownotes) – GigCity Elixir and NervesConf on May 8-10, 2025 in Chattanooga, TN, USA. https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU on May 15-16, 2025 in Kraków & Virtual. https://goatmire.com/#tickets (https://goatmire.com/#tickets?utm_source=thinkingelixir&utm_medium=shownotes) – Goatmire tickets are on sale now for the conference on September 10-12, 2025 in Varberg, Sweden. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources https://elixir-lang.org/blog/2025/02/26/elixir-openchain-certification/ (https://elixir-lang.org/blog/2025/02/26/elixir-openchain-certification/?utm_source=thinkingelixir&utm_medium=shownotes) https://cna.erlef.org/ (https://cna.erlef.org/?utm_source=thinkingelixir&utm_medium=shownotes) – EEF CVE Numbering Authority https://erlangforums.com/t/security-working-group-minutes/3451/22 (https://erlangforums.com/t/security-working-group-minutes/3451/22?utm_source=thinkingelixir&utm_medium=shownotes) https://podcast.thinkingelixir.com/220 (https://podcast.thinkingelixir.com/220?utm_source=thinkingelixir&utm_medium=shownotes) – previous interview with Alistair https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act (https://digital-strategy.ec.europa.eu/en/policies/cyber-resilience-act?utm_source=thinkingelixir&utm_medium=shownotes) – CRA - Cyber Resilience Act https://www.cisa.gov/ (https://www.cisa.gov/?utm_source=thinkingelixir&utm_medium=shownotes) – CISA US Government Agency https://www.cisa.gov/sbom (https://www.cisa.gov/sbom?utm_source=thinkingelixir&utm_medium=shownotes) – Software Bill of Materials https://oss-review-toolkit.org/ort/ (https://oss-review-toolkit.org/ort/?utm_source=thinkingelixir&utm_medium=shownotes) – Desire to integrate with tooling outside the Elixir ecosystem like OSS Review Toolkit https://github.com/voltone/rebar3_sbom (https://github.com/voltone/rebar3_sbom?utm_source=thinkingelixir&utm_medium=shownotes) https://cve.mitre.org/ (https://cve.mitre.org/?utm_source=thinkingelixir&utm_medium=shownotes) https://openssf.org/projects/guac/ (https://openssf.org/projects/guac/?utm_source=thinkingelixir&utm_medium=shownotes) https://erlef.github.io/security-wg/securityvulnerabilitydisclosure/ (https://erlef.github.io/security-wg/security_vulnerability_disclosure/?utm_source=thinkingelixir&utm_medium=shownotes) – EEF Security WG Vulnerability Disclosure Guide Guest Information - https://x.com/maennchen_ (https://x.com/maennchen_?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan on Twitter/X - https://bsky.app/profile/maennchen.dev (https://bsky.app/profile/maennchen.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan on Bluesky - https://github.com/maennchen/ (https://github.com/maennchen/?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan on Github - https://maennchen.dev (https://maennchen.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan's Blog - https://www.linkedin.com/in/alistair-woodman-51934433 (https://www.linkedin.com/in/alistair-woodman-51934433?utm_source=thinkingelixir&utm_medium=shownotes) – Alistair Woodman on LinkedIn - awoodman@erlef.org - https://github.com/ahw59/ (https://github.com/ahw59/?utm_source=thinkingelixir&utm_medium=shownotes) – Alistair on Github - http://erlef.org/ (http://erlef.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang Ecosystem Foundation Website Find us online - Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) - Message the show - X (https://x.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen on X - @brainlid (https://x.com/brainlid) - Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes the release of Elixir 1.18.2 with various enhancements and bug fixes, a new experimental SQL sigil for Ecto that brings automatic parameterized queries, a recent GOTO 2025 talk featuring Saša Jurić on code reviews. We talked with Jonatan Kłosko about his work on PythonX, a new library for executing Python code inside Elixir, the Fine library for working with C++ NIFs, and much more! Show Notes online - http://podcast.thinkingelixir.com/244 (http://podcast.thinkingelixir.com/244) Elixir Community News https://gigalixir.com/thinking (https://gigalixir.com/thinking?utm_source=thinkingelixir&utm_medium=shownotes) – Visit Gigalixir.com to sign up and get 20% off your first year. Or use the promo code "Thinking" during signup. https://github.com/elixir-lang/elixir/releases/tag/v1.18.2 (https://github.com/elixir-lang/elixir/releases/tag/v1.18.2?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.18.2 was released with enhancements to Code.Fragment and Regex, plus bug fixes for CLI, ExUnit, IEx.Autocomplete, and mix deps.update. https://github.com/elixir-lang/elixir/releases/tag/v1.18.1 (https://github.com/elixir-lang/elixir/releases/tag/v1.18.1?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.18.1 included bug fixes for Kernel, ExUnit.Case, mix compile.elixir, mix escript.build, and Mix.Shell, especially related to error handling and Windows compatibility. https://www.erlang.org/news/174 (https://www.erlang.org/news/174?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 28 RC-1 is out with a new source Software Bill of Materials (SBOM) on the Github Releases page. https://github.com/elixir-dbvisor/sql (https://github.com/elixir-dbvisor/sql?utm_source=thinkingelixir&utm_medium=shownotes) – A new experimental SQL sigil for Ecto brings an extensible SQL parser to Elixir with automatic parameterized queries. https://groups.google.com/g/elixir-ecto/c/8MOkRFAdLZc (https://groups.google.com/g/elixir-ecto/c/8MOkRFAdLZc?utm_source=thinkingelixir&utm_medium=shownotes) – The experimental SQL sigil for Ecto is being discussed on the Elixir-Ecto mailing list. https://www.youtube.com/watch?v=AYUNI2Pm6_w (https://www.youtube.com/watch?v=AYUNI2Pm6_w?utm_source=thinkingelixir&utm_medium=shownotes) – New talk from GOTO 2025 with Saša Jurić and Adrienne Braganza Tacke on "Small PRs, Big Impact - The Art of Code Reviews." https://alchemyconf.com/ (https://alchemyconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – AlchemyConf is coming up March 31 - April 3 in Braga, Portugal. https://www.gigcityelixir.com/ (https://www.gigcityelixir.com/?utm_source=thinkingelixir&utm_medium=shownotes) – GigCity Elixir and NervesConf are happening in Chattanooga, TN, USA with NervesConf on May 8 and the main event on May 9-10. https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU will be held May 15-16, 2025 in Kraków & Virtual. https://goatmire.com/#tickets (https://goatmire.com/#tickets?utm_source=thinkingelixir&utm_medium=shownotes) – Goatmire tickets are on sale now for the event happening September 10-12, 2025 in Varberg, Sweden. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources https://dashbit.co/blog/dashbit-plans-2025 (https://dashbit.co/blog/dashbit-plans-2025?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/thewca/wca-live (https://github.com/thewca/wca-live?utm_source=thinkingelixir&utm_medium=shownotes) – Speed cubing software https://dashbit.co/blog/running-python-in-elixir-its-fine (https://dashbit.co/blog/running-python-in-elixir-its-fine?utm_source=thinkingelixir&utm_medium=shownotes) https://hexdocs.pm/pythonx/Pythonx.html (https://hexdocs.pm/pythonx/Pythonx.html?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/livebook-dev/pythonx (https://github.com/livebook-dev/pythonx?utm_source=thinkingelixir&utm_medium=shownotes) https://bsky.app/profile/josevalim.bsky.social/post/3liyrfvlth22c (https://bsky.app/profile/josevalim.bsky.social/post/3liyrfvlth22c?utm_source=thinkingelixir&utm_medium=shownotes) – Jose said “We said we will focus on interoperability for 2025 and we are ready to share the first results.” https://github.com/elixir-nx/fine (https://github.com/elixir-nx/fine?utm_source=thinkingelixir&utm_medium=shownotes) – “Fine” is a new package related to the elixir-nx organization. It's a C++ library enabling more ergonomic NIFs, tailored to Elixir. https://peps.python.org/pep-0703/ (https://peps.python.org/pep-0703/?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion about removing the Python GIL Find us online - Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) - Message the show - X (https://x.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen on X - @brainlid (https://x.com/brainlid) - Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes Saša Jurić updating his project for "The Soul of Erlang and Elixir" talk with the latest technologies, the release of Phoenix LiveView RC 8 with exciting new features, ErrorTracker v0.5.0's enhancements for Ash applications, and the introduction of the NX MLX backend for Apple Silicon, offering efficient machine learning on Mac hardware. Plus, a new VS Code plugin called "Refactorex" brings robust refactoring capabilities to Elixir. We also interview Gonzalo Rodriguez about Tower, a vendor-agnostic error tracking and reporting tool in Elixir, discussing its creation, functionality, and how it simplifies error management across various services. And more! Show Notes online - http://podcast.thinkingelixir.com/232 (http://podcast.thinkingelixir.com/232) Elixir Community News https://x.com/sasajuric/status/1863889108449337415 (https://x.com/sasajuric/status/1863889108449337415?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić updated the project used in his "The Soul of Erlang and Elixir" talk, rewriting it with the latest versions of Erlang, Elixir, & Phoenix. https://github.com/sasa1977/souloferlangandelixir (https://github.com/sasa1977/soul_of_erlang_and_elixir?utm_source=thinkingelixir&utm_medium=shownotes) – The updated GitHub project for "The Soul of Erlang and Elixir" talk, now using the latest technologies. https://www.youtube.com/watch?v=JvBT4XBdoUE (https://www.youtube.com/watch?v=JvBT4XBdoUE?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić's 2019 talk "The Soul of Erlang and Elixir" is available on YouTube. https://github.com/phoenixframework/phoenixliveview/blob/main/CHANGELOG.md#100-rc8-2024-12-02 (https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md#100-rc8-2024-12-02?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView RC 8 is out, with new features like extended HEEx syntax and more. From RC7, there is support for targeting inner and closest query selectors in JS commands. https://x.com/crbelaus/status/1861450830181720333 (https://x.com/crbelaus/status/1861450830181720333?utm_source=thinkingelixir&utm_medium=shownotes) – ErrorTracker v0.5.0 release includes support for Ash applications, better mobile experience, and more. https://bsky.app/profile/samrat.me/post/3lbzwr7gxmk2q (https://bsky.app/profile/samrat.me/post/3lbzwr7gxmk2q?utm_source=thinkingelixir&utm_medium=shownotes) – The NX MLX backend for Apple Silicon is announced, offering efficient machine learning on Apple hardware. https://github.com/elixir-nx/emlx (https://github.com/elixir-nx/emlx?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for NX MLX, Elixir support for the Apple MLX machine learning framework on Apple Silicon. MLX is designed by Apple for efficient machine learning on MacOS hardware. https://github.com/cocoa-xu/nif_call (https://github.com/cocoa-xu/nif_call?utm_source=thinkingelixir&utm_medium=shownotes) – Cocoa's nif_call package allows calling Elixir functions from inside a NIF. https://bsky.app/profile/zachdaniel.dev/post/3lc2leowiek26 (https://bsky.app/profile/zachdaniel.dev/post/3lc2leowiek26?utm_source=thinkingelixir&utm_medium=shownotes) – Zach Daniel's ElixirConf EU talk on the Ash framework is available on YouTube. https://www.youtube.com/watch?v=vjnPjrCF4rs (https://www.youtube.com/watch?v=vjnPjrCF4rs?utm_source=thinkingelixir&utm_medium=shownotes) – Ash: The Story of a Function by Zach Daniel explains why Ash exists and the problems it solves. https://github.com/gp-pereira/refactorex (https://github.com/gp-pereira/refactorex?utm_source=thinkingelixir&utm_medium=shownotes) – New VS Code plugin "Refactorex" by Gabriel Pereira for refactoring Elixir code with several built-in refactorings. https://adventofcode.com/2024/ (https://adventofcode.com/2024/?utm_source=thinkingelixir&utm_medium=shownotes) – Advent of Code is active, with people participating using their favorite programming languages. https://notes.club (https://notes.club?utm_source=thinkingelixir&utm_medium=shownotes) – A platform that hosts a frontend of Livebooks on GitHub, organized by author, likes, and tags, useful for exploring how people are solving Advent of Code problems in Elixir. https://github.com/ljgago/kino_aoc (https://github.com/ljgago/kino_aoc?utm_source=thinkingelixir&utm_medium=shownotes) – A GitHub repository for a Livebook Smart Cell which aids in solving Advent of Code directly from Livebook. https://github.com/nettinho/smaoc (https://github.com/nettinho/smaoc?utm_source=thinkingelixir&utm_medium=shownotes) – Another Livebook Smart Cell repository on GitHub for Advent of Code that facilitates problem interaction within Livebook. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources https://www.mimiquate.com/blog/tower-universal-and-agnostic-elixir-exception-tracking (https://www.mimiquate.com/blog/tower-universal-and-agnostic-elixir-exception-tracking?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower (https://github.com/mimiquate/tower?utm_source=thinkingelixir&utm_medium=shownotes) – The root Tower project https://github.com/mimiquate/tower_email (https://github.com/mimiquate/tower_email?utm_source=thinkingelixir&utm_medium=shownotes) – Email sending when error encountered (uses Swoosh) https://github.com/mimiquate/towererrortracker (https://github.com/mimiquate/tower_error_tracker?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower_sentry (https://github.com/mimiquate/tower_sentry?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower_slack (https://github.com/mimiquate/tower_slack?utm_source=thinkingelixir&utm_medium=shownotes) Pull requests for the mentioned Bandit updates https://github.com/mtrudel/bandit/pull/411 (https://github.com/mtrudel/bandit/pull/411?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mtrudel/bandit/pull/417 (https://github.com/mtrudel/bandit/pull/417?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mtrudel/bandit/pull/420 (https://github.com/mtrudel/bandit/pull/420?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information https://x.com/grzuy (https://x.com/grzuy?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter/X https://github.com/grzuy/ (https://github.com/grzuy/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github https://bsky.app/profile/grzuy.bsky.social (https://bsky.app/profile/grzuy.bsky.social?utm_source=thinkingelixir&utm_medium=shownotes) – on Bluesky Find us online Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) Message the show - X (https://x.com/ThinkingElixir) Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) Mark Ericksen on X - @brainlid (https://x.com/brainlid) Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes Dave Lucia's PR making Elixir's protocol errors more readable, OTP 28 introducing a "raw mode" for immediate CLI input processing, Saša Jurić's "Against the Grain" talk on YouTube about a bespoke Kafka client, Johanna Larsson's new site listing Elixir events, DockYard's official acceptance of native application contracts highlighting the readiness of their LiveView Native library, and Brian Cardarella's teased Motion.dev wrapper enhancing animations in LiveView, and more! Show Notes online - http://podcast.thinkingelixir.com/231 (http://podcast.thinkingelixir.com/231) Elixir Community News https://bsky.app/profile/davelucia.com/post/3lbhh5ghevc2n (https://bsky.app/profile/davelucia.com/post/3lbhh5ghevc2n?utm_source=thinkingelixir&utm_medium=shownotes) – Dave Lucia shared his recent PR merged into Elixir, improving protocol error messages. https://github.com/elixir-lang/elixir/pull/14003 (https://github.com/elixir-lang/elixir/pull/14003?utm_source=thinkingelixir&utm_medium=shownotes) – Dave's PR titled "Make protocol errors pretty" addresses unreadable struct errors in Elixir. Dave encourages others to contribute to open-source by fixing issues like ugly error messages. https://github.com/spencerolson/chat (https://github.com/spencerolson/chat?utm_source=thinkingelixir&utm_medium=shownotes) – With OTP 28's new "raw mode" feature, interactive CLI programs can process stdin inputs immediately. https://www.youtube.com/watch?v=s6c4iqsl2us (https://www.youtube.com/watch?v=s6c4iqsl2us?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić's talk "Against the Grain" from CodeBeam America about developing a bespoke Kafka client is available on YouTube. Johanna Larsson launched a mini site listing Elixir events. https://bsky.app/profile/jola.dev/post/3lbs2cae4ec2x (https://bsky.app/profile/jola.dev/post/3lbs2cae4ec2x?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of the new mini site for Elixir events. https://elixirevents.net/ (https://elixirevents.net/?utm_source=thinkingelixir&utm_medium=shownotes) – A resource for upcoming Elixir events. https://erlef.org/events/ (https://erlef.org/events/?utm_source=thinkingelixir&utm_medium=shownotes) – ERLEF's calendar for Elixir-related events. https://x.com/bcardarella/status/1861169450805850122 (https://x.com/bcardarella/status/1861169450805850122?utm_source=thinkingelixir&utm_medium=shownotes) – DockYard is officially accepting native application contracts, showcasing their LiveView Native library. https://dockyard.com/services/mobile (https://dockyard.com/services/mobile?utm_source=thinkingelixir&utm_medium=shownotes) – DockYard's services page for mobile application contracts. https://github.com/liveview-native/liveviewnative (https://github.com/liveview-native/live_view_native?utm_source=thinkingelixir&utm_medium=shownotes) – The LiveView Native open-source library created by DockYard. https://x.com/bcardarella/status/1858254238964412855 (https://x.com/bcardarella/status/1858254238964412855?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella teases a new Motion.dev wrapper for LiveView enhancing animation support. https://motion.dev/ (https://motion.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Motion.dev is an animation library for JavaScript and React. https://hex.pm/packages/motion (https://hex.pm/packages/motion?utm_source=thinkingelixir&utm_medium=shownotes) – The "motion" package on Hex providing the library. https://github.com/dockyard/motion (https://github.com/dockyard/motion?utm_source=thinkingelixir&utm_medium=shownotes) – The GitHub repository for the Motion library. Brian explains the significance of animation integration in LiveView for mobile experiences. https://x.com/ElixirConfEU/status/1861012571865698426 (https://x.com/ElixirConfEU/status/1861012571865698426?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU announces José Valim and Chris McCord as keynote speakers. https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – Information about ElixirConf EU 2025 with a call for talks open. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) - Message the show - X (https://x.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen on X - @brainlid (https://x.com/brainlid) - Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
Neste episódio do podcast Elixir em Foco, Adolfo Neto, Herminio Torres e Zoey Pessanha entrevistam Samanta de Araújo, Engenheira de Software Senior/Principal na Ultrawise. Samanta compartilha sua experiência e insights sobre o uso de Elixir na empresa Ultrawise e em outras empresas em que trabalho, além de discutir as vantagens e desafios da adoção dessa linguagem de programação. Samanta também fala sobre suas palestras recentes na Elixir Conf Europa 2024 e na Code BEAM Lite Estocolmo 2024, abordando a migração de um aplicativo de armazém de C# para Elixir. Ela explica as motivações técnicas e comerciais por trás dessa migração e descreve o processo de adoção do Elixir. Além disso, Samanta oferece recomendações para quem deseja aprender Elixir e deixa uma mensagem final para a comunidade brasileira de Elixir. Links: Samanta de Araújo Engenheira de Software Senior/Principal https://www.linkedin.com/in/samanta-de-araujo/ Entrevista de Samanta no Emílias Podcast https://youtu.be/zXmvg3daHic?si=NTViSlHM9RFqq7ka Palestra de Samanta na ElixirConf EU 2024 https://www.elixirconf.eu/participants/samanta-de-araujo/ Palestra de Samanta na Code BEAM Lite Stockholm 2024 https://codebeamstockholm.com/participants/Samanta-de-Araujo/ Assista a esta entrevista no YouTube em https://www.youtube.com/@elixiremfoco . Escute a esta entrevista no Spotify em https://podcasters.spotify.com/pod/show/elixiremfoco Associe-se à Erlang Ecosystem Foundation em https://bit.ly/3Sl8XTO . O site da fundação é https://bit.ly/3Jma95g Nosso site é https://elixiremfoco.com Estamos no Twitter em @elixiremfoco https://twitter.com/elixiremfoco . Nosso email é elixiremfoco@gmail.com . --- Send in a voice message: https://podcasters.spotify.com/pod/show/elixiremfoco/message
News includes Phoenix LiveView hitting 1.0 soon, with thoughtful comparisons to the broader web development industry and detailed changelog insights. Theo reacts positively to the release from a React and JS perspective, highlighting its significance. José Valim's keynote at ElixirConf EU 2024 revisits the famous "Gang of Four" design patterns and their relevance to Elixir today. Chris McCord introduces the innovative World Page Speed Test using FLAME, illustrating its ease of use and benefits over traditional solutions. Ash 3.0 is officially released after 46 RC releases. Additionally, Oban support is moving to ElixirForum to improve searchability, and more! Show Notes online - http://podcast.thinkingelixir.com/203 (http://podcast.thinkingelixir.com/203) Elixir Community News - https://phoenixframework.org/blog/phoenix-liveview-1.0-released (https://phoenixframework.org/blog/phoenix-liveview-1.0-released?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView is hitting 1.0 soon with thoughtful comparisons to the broader web development industry. - https://hexdocs.pm/phoenixliveview/1.0.0-rc.0/changelog.html (https://hexdocs.pm/phoenix_live_view/1.0.0-rc.0/changelog.html?utm_source=thinkingelixir&utm_medium=shownotes) – Backward incompatible changes for Phoenix LiveView 1.0 along with bug fixes. - https://www.youtube.com/watch?v=aOk67eT3fpg (https://www.youtube.com/watch?v=aOk67eT3fpg?utm_source=thinkingelixir&utm_medium=shownotes) – Theo reacts positively to the Phoenix LiveView release, discussing it from the React and JS perspective. - https://www.youtube.com/watch?v=agkXUp0hCW8 (https://www.youtube.com/watch?v=agkXUp0hCW8?utm_source=thinkingelixir&utm_medium=shownotes) – Keynote by José Valim on design patterns in Elixir at ElixirConf EU 2024. - https://twitter.com/josevalim/status/1790354042243203283 (https://twitter.com/josevalim/status/1790354042243203283?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim discusses design patterns in Elixir revisiting the "Gang of Four" patterns. - https://www.youtube.com/watch?v=GICJ42OyBGg (https://www.youtube.com/watch?v=GICJ42OyBGg?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's ElixirConf EU keynote on FLAME and its applications. - https://worldpagespeed.fly.dev/ (https://worldpagespeed.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's "World Page Speed Test" tool using FLAME. - https://fly.io/phoenix-files/world-page-speed-test-elastic-scale-with-flame/ (https://fly.io/phoenix-files/world-page-speed-test-elastic-scale-with-flame/?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's blog post on World Page Speed Test and FLAME on Fly.io. - https://twitter.com/ZachSDaniel1/status/1775516026551099852 (https://twitter.com/ZachSDaniel1/status/1775516026551099852?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Ash 3.0 release after 46 RC releases. - https://hex.pm/packages/ash (https://hex.pm/packages/ash?utm_source=thinkingelixir&utm_medium=shownotes) – Ash Framework version 3.0 final release details. - https://twitter.com/sorentwo/status/1790007674077073474 (https://twitter.com/sorentwo/status/1790007674077073474?utm_source=thinkingelixir&utm_medium=shownotes) – Oban support is moving to ElixirForum for better searchability and visibility, away from Slack. - https://twitter.com/sorentwo/status/1788181209530466518 (https://twitter.com/sorentwo/status/1788181209530466518?utm_source=thinkingelixir&utm_medium=shownotes) – Oban hot tip on managing exception messages for better exception reporting. - https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-6/ (https://www.elixir-tools.dev/news/the-elixir-tools-update-vol-6/?utm_source=thinkingelixir&utm_medium=shownotes) – NextLS 0.21.0 released with new features like alias-refactor workspace command, completions, snippets, and more. - Followup from a comment last week on the difference between pattern-matching empty keyword lists and empty maps, including speed improvements in OTP 26 and 27. - https://erlangforums.com/t/matching-empty-map-performance-of-map-size/3572 (https://erlangforums.com/t/matching-empty-map-performance-of-map-size/3572?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion on matching empty map performance. - https://hexdocs.pm/elixir/1.14/naming-conventions.html#length-and-size (https://hexdocs.pm/elixir/1.14/naming-conventions.html#length-and-size?utm_source=thinkingelixir&utm_medium=shownotes) – Naming conventions in Elixir related to length and size. - https://github.com/mimiquate/blend (https://github.com/mimiquate/blend?utm_source=thinkingelixir&utm_medium=shownotes) – New Elixir library "Blend" helps library maintainers test against different versions of dependencies. - https://rubygems.org/gems/appraisal (https://rubygems.org/gems/appraisal?utm_source=thinkingelixir&utm_medium=shownotes) – Blend library appears to be inspired by the Ruby gem “appraisal”. - https://twitter.com/jeffbarr/status/1790072050855588265 (https://twitter.com/jeffbarr/status/1790072050855588265?utm_source=thinkingelixir&utm_medium=shownotes) – Amazon AWS S3 will stop charging for unauthorized requests, being deployed to regions currently. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
In this week's edition, we dive into the exciting release of ElixirLS 0.21.0, enhancing the developer experience with new code actions and more efficient dialyzing on the latest OTP. We also discuss José Valim's insightful commentary on Elixir's upcoming type system, addressing bug-prone comparison operations, and additional advancements in exception handling. Don't miss the unveiling of "Bloom," an opinionated extension to Phoenix core components, alongside Chris McCord's demo of lightning-fast hot code deploys across a global Fly.io cluster. We round off with the legal tussle over the FTC's ruling on non-compete clauses and AWS's S3 billing adjustments that provide relief from unauthorized access charges, and more! Show Notes online - http://podcast.thinkingelixir.com/202 (http://podcast.thinkingelixir.com/202) Elixir Community News - https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/213 (https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/213?utm_source=thinkingelixir&utm_medium=shownotes) – Announcing the release of ElixirLS 0.21.0 with improvements and features like incremental dialyzer and experimental support for code actions. - https://github.com/elixir-lsp/elixir-ls/pull/1057 (https://github.com/elixir-lsp/elixir-ls/pull/1057?utm_source=thinkingelixir&utm_medium=shownotes) – A pull request related to the experimental support for code actions in ElixirLS 0.21.0. - https://pragtob.wordpress.com/2024/05/01/10-elixir-gotchas/ (https://pragtob.wordpress.com/2024/05/01/10-elixir-gotchas/?utm_source=thinkingelixir&utm_medium=shownotes) – A blog post by Tobias Pfeiffer discussing "10 Elixir gotchas" to help new Elixir developers. - https://twitter.com/PragTob/status/1785681200322924666 (https://twitter.com/PragTob/status/1785681200322924666?utm_source=thinkingelixir&utm_medium=shownotes) – Tobias Pfeiffer's tweet about his blog post on "10 Elixir gotchas." - https://twitter.com/PragTob/status/1785681200322924666 (https://twitter.com/PragTob/status/1785681200322924666?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's response to Tobias Pfeiffer's post, providing insights on Elixir's upcoming type system. - https://twitter.com/josevalim/status/1785989792141890015 (https://twitter.com/josevalim/status/1785989792141890015?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim details how the Elixir v1.17 will perform type-checking with the comparison operators to catch potential bugs. - https://github.com/elixir-lang/elixir/pull/13527 (https://github.com/elixir-lang/elixir/pull/13527?utm_source=thinkingelixir&utm_medium=shownotes) – A merged Elixir PR for "Perform type checking across comparison operators." - https://twitter.com/josevalim/status/1785990361418006768?t=ZvCKMAXrZFtDX8pfjW14Lw (https://twitter.com/josevalim/status/1785990361418006768?t=ZvCKMAXrZFtDX8pfjW14Lw?utm_source=thinkingelixir&utm_medium=shownotes) – A tweet by José Valim discussing the power of set-theoretic types in Elixir. - https://twitter.com/josevalim/status/1787543767341486181 (https://twitter.com/josevalim/status/1787543767341486181?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim sharing updates about Elixir's type system checking exceptions fields and warning on undefined exceptions. - https://hexdocs.pm/elixir/main/gradual-set-theoretic-types.html (https://hexdocs.pm/elixir/main/gradual-set-theoretic-types.html?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir documentation for the gradual set-theoretic types. - https://hexdocs.pm/elixir/main/changelog.html#warnings-from-gradual-set-theoretic-types (https://hexdocs.pm/elixir/main/changelog.html#warnings-from-gradual-set-theoretic-types?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir 1.17.0 changelog on "Warnings from gradual set-theoretic types." - https://github.com/elixir-lang/elixir/pull/13534 (https://github.com/elixir-lang/elixir/pull/13534?utm_source=thinkingelixir&utm_medium=shownotes) – A Github pull request for a new is_non_struct_map guard in Elixir 1.17. - https://twitter.com/codestirring/status/1785769316304228590 (https://twitter.com/codestirring/status/1785769316304228590?utm_source=thinkingelixir&utm_medium=shownotes) – Chris Gregori announces "Bloom," a new LiveView component library project. - https://bloom-ui.fly.dev/ (https://bloom-ui.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – The "Bloom" UI component library site showcasing its features and usage. - https://github.com/chrisgreg/bloom (https://github.com/chrisgreg/bloom?utm_source=thinkingelixir&utm_medium=shownotes) – The Github repository for the "Bloom" LiveView component library. - https://twitter.com/chris_mccord/status/1785678249424461897 (https://twitter.com/chris_mccord/status/1785678249424461897?utm_source=thinkingelixir&utm_medium=shownotes) – A teaser from Chris McCord about hot deploys on Fly.io to a planet-wide cluster in seconds. - https://hexdocs.pm/mix/1.16.2/Mix.Tasks.Release.html#module-hot-code-upgrades (https://hexdocs.pm/mix/1.16.2/Mix.Tasks.Release.html#module-hot-code-upgrades?utm_source=thinkingelixir&utm_medium=shownotes) – Mix documentation discussing how to perform hot code upgrades. - https://twitter.com/bcardarella/status/1785419505134456895 (https://twitter.com/bcardarella/status/1785419505134456895?utm_source=thinkingelixir&utm_medium=shownotes) – A tweet from Brian Cardarella showing a LiveView Native tvOS simulator demo. - https://www.youtube.com/@CodeSync/videos (https://www.youtube.com/@CodeSync/videos?utm_source=thinkingelixir&utm_medium=shownotes) – Videos uploaded by CodeSync from ElixirConf EU 2024, including keynotes. - https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1 (https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1?utm_source=thinkingelixir&utm_medium=shownotes) – An article highlighting how unauthorized requests to S3 buckets can inflate AWS bills and AWS's billing policy update to address this. - https://twitter.com/jeffbarr/status/1787844682216792163 (https://twitter.com/jeffbarr/status/1787844682216792163?utm_source=thinkingelixir&utm_medium=shownotes) – AWS's Jeff Barr's tweet about the adjustment of billing policy for S3. - https://www.employmentlawworldview.com/ftc-bans-non-competes-throughout-the-united-states-us/ (https://www.employmentlawworldview.com/ftc-bans-non-competes-throughout-the-united-states-us/?utm_source=thinkingelixir&utm_medium=shownotes) – A follow-up on the FTC's recent ruling on non-compete clauses and the resulting legal challenges. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
This week's podcast dives into the latest tech updates, including the release of Lexical 0.6.0 with its impressive performance upgrades and new features for Phoenix controller completions. We'll also talk about building smarter Slack bots with Elixir, and the LiveView support enhancements that bolster security against spam connections. Plus, we celebrate the 5-year milestone of Saša Jurić's influential “Soul of Erlang and Elixir” talk. Of course we have to touch on the FTC's impactful ruling that bans non-compete employment clauses, a significant shift that will likely shake up the tech industry and innovation landscape. Stay tuned for this and more! Show Notes online - http://podcast.thinkingelixir.com/201 (http://podcast.thinkingelixir.com/201) Elixir Community News - https://github.com/lexical-lsp/lexical/releases/tag/v0.6.0 (https://github.com/lexical-lsp/lexical/releases/tag/v0.6.0?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical 0.6.0 release includes document and workspace symbols, improved Phoenix controller completions, and enhanced indexing performance. - https://benreinhart.com/blog/verifying-slack-requests-elixir-phoenix/ (https://benreinhart.com/blog/verifying-slack-requests-elixir-phoenix/?utm_source=thinkingelixir&utm_medium=shownotes) – Ben Reinhart's blog post details the process for cryptographically verifying event notifications from Slack in Phoenix apps for Slack bots. - https://twitter.com/PJUllrich/status/1784707877157970387 (https://twitter.com/PJUllrich/status/1784707877157970387?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ulrich has launched a LiveView-oriented course on building forms as announced on his Twitter account. - https://indiecourses.com/catalog/building-forms-with-phoenix-liveview-2OPYIqaekkZwrpgLUZOyZV (https://indiecourses.com/catalog/building-forms-with-phoenix-liveview-2OPYIqaekkZwrpgLUZOyZV?utm_source=thinkingelixir&utm_medium=shownotes) – The course covers building forms with Phoenix LiveView including various types of schema and dynamic fields. - https://paraxial.io/blog/live-view-support (https://paraxial.io/blog/live-view-support?utm_source=thinkingelixir&utm_medium=shownotes) – Michael Lubas outlines security-focused support for LiveView on Paraxial.io, including protection against initial connection and websocket spam. - https://github.com/nccgroup/sobelow/pull/123 (https://github.com/nccgroup/sobelow/pull/123?utm_source=thinkingelixir&utm_medium=shownotes) – There was work on adding support for HEEx to Sobelow.XSS.Raw, as a part of Sobelow's security-focused static analysis for the Phoenix Framework. - https://twitter.com/sasajuric/status/1784958371998601526 (https://twitter.com/sasajuric/status/1784958371998601526?utm_source=thinkingelixir&utm_medium=shownotes) – It's the 5 Year Anniversary of Saša Jurić's “Soul of Erlang and Elixir” talk, recommended for its lasting relevance in the development community. - https://www.youtube.com/watch?v=JvBT4XBdoUE (https://www.youtube.com/watch?v=JvBT4XBdoUE?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić's influential “Soul of Erlang and Elixir” talk is still very relevant and worth watching, even five years later. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU 2025 dates and location have been announced, with a waitlist available for those interested in attending. - https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces-rule-banning-noncompetes (https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces-rule-banning-noncompetes?utm_source=thinkingelixir&utm_medium=shownotes) – The FTC ruling banning non-compete clauses aims to increase wages, entrepreneurship, and overall economic dynamism in the US technology sector. - While bans on non-compete clauses for technology workers are in effect, trade secret laws and NDAs continue to provide employers with protection against information leaks. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
In this landmark 200th episode of the Thinking Elixir podcast, we dive into the revolutionary world of LiveView Native with Brian Cardarella and Carson Katri. Discover how this emerging technology is expanding Elixir's reach onto mobile devices and beyond, shaking up traditional development with server-side state management and opening a new frontier for native applications. Our experts share insights on its performance, live reload features, and strategic advantages that promise to speed up prototyping and cut down on dev time. Plus, hear about our latest news on EEF voting, new testing libraries for Phoenix, the future of the Elixir Protobuf library with a call for new maintainers, and Livebook's integrations for data sources. And if that wasn't enough, we cover additional tech stories, including the shutdown of the Women Who Code foundation, a study linking mentally stimulating work to a reduced risk of dementia, and more! Show Notes online - http://podcast.thinkingelixir.com/200 (http://podcast.thinkingelixir.com/200) Elixir Community News - https://twitter.com/TheErlef/status/1782560017633202578 (https://twitter.com/TheErlef/status/1782560017633202578?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet about the start of EEF voting. - https://erlef.org/blog/eef/election-2024 (https://erlef.org/blog/eef/election-2024?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post detailing the EEF 2024 election process. - https://members.erlef.org/Sys/Poll/52537 (https://members.erlef.org/Sys/Poll/52537?utm_source=thinkingelixir&utm_medium=shownotes) – The actual voting page for the EEF election. - https://members.erlef.org/join-us (https://members.erlef.org/join-us?utm_source=thinkingelixir&utm_medium=shownotes) – Information on how to join the EEF and become a voting member. - https://twitter.com/royalicing/status/1782534107807007046 (https://twitter.com/royalicing/status/1782534107807007046?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet introducing a new library for testing Phoenix templates with ARIA roles. - https://hexdocs.pm/ensemble/Ensemble.html (https://hexdocs.pm/ensemble/Ensemble.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for the Ensemble library mentioned in the tweet. - https://playwright.dev/docs/locators#quick-guide (https://playwright.dev/docs/locators#quick-guide?utm_source=thinkingelixir&utm_medium=shownotes) – PlayWright locators quick guide, reminiscent of the Ensemble library's functionality. - https://twitter.com/whatyouhide/status/1782434830057107660 (https://twitter.com/whatyouhide/status/1782434830057107660?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea Leopardi's announcement about seeking a new maintainer for the Elixir Protobuf library. - https://github.com/elixir-protobuf/protobuf (https://github.com/elixir-protobuf/protobuf?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the Elixir Protobuf library mentioned by Andrea Leopardi. - https://twitter.com/josevalim/status/1782391223036039247 (https://twitter.com/josevalim/status/1782391223036039247?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's tweet on Livebook's data integration support, seeking community feedback on other necessary integrations. - https://livebook.dev/integrations/?type=database (https://livebook.dev/integrations/?type=database?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook's database integrations webpage that José Valim referred to for feedback. - https://gleam.run/news/gleam-v1.1/ (https://gleam.run/news/gleam-v1.1/?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of the release of Gleam v1.1, a statically typed language for the BEAM. - https://github.com/eigr/spawn?tab=readme-ov-file (https://github.com/eigr/spawn?tab=readme-ov-file?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub page for Spawn, an open-source serverless library designed for cloud and on-premises environments. - https://fly.io/blog/rethinking-serverless-with-flame/ (https://fly.io/blog/rethinking-serverless-with-flame/?utm_source=thinkingelixir&utm_medium=shownotes) – Article discussing the rethinking of serverless architecture with the FLAME framework. - https://womenwhocode.com/blog/the-end-of-an-era-women-who-code-closing (https://womenwhocode.com/blog/the-end-of-an-era-women-who-code-closing?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about the shutdown of the Women Who Code foundation due to funding issues. - https://www.theguardian.com/science/2024/apr/17/mentally-stimulating-work-plays-key-role-in-staving-off-dementia-study-finds (https://www.theguardian.com/science/2024/apr/17/mentally-stimulating-work-plays-key-role-in-staving-off-dementia-study-finds?utm_source=thinkingelixir&utm_medium=shownotes) – The Guardian article reporting on a study that finds mentally stimulating work is key in staving off dementia. - https://www.neurology.org/doi/10.1212/WNL.0000000000209353 (https://www.neurology.org/doi/10.1212/WNL.0000000000209353?utm_source=thinkingelixir&utm_medium=shownotes) – Research paper on Neurology.org about the link between mentally stimulating work and the risks of dementia and cognitive problems in later life. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://native.live/ (https://native.live/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/watch?v=xBi2Hj22qUU (https://www.youtube.com/watch?v=xBi2Hj22qUU?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf US 2023 presentation - Brian's ElixirConf EU 2024 presentation is not published at this time. - https://developer.apple.com/documentation/financekit (https://developer.apple.com/documentation/financekit?utm_source=thinkingelixir&utm_medium=shownotes) - https://developer.android.com/develop/ui/compose (https://developer.android.com/develop/ui/compose?utm_source=thinkingelixir&utm_medium=shownotes) - https://learn.microsoft.com/en-us/windows/apps/winui/winui3/ (https://learn.microsoft.com/en-us/windows/apps/winui/winui3/?utm_source=thinkingelixir&utm_medium=shownotes) - https://electric-sql.com/ (https://electric-sql.com/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/bcardarella (https://twitter.com/bcardarella?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella on Twitter - https://github.com/bcardarella/ (https://github.com/bcardarella/?utm_source=thinkingelixir&utm_medium=shownotes) – Brian Cardarella on Github - http://dockyard.com/ (http://dockyard.com/?utm_source=thinkingelixir&utm_medium=shownotes) – DockYard - https://twitter.com/CarsonKatri (https://twitter.com/CarsonKatri?utm_source=thinkingelixir&utm_medium=shownotes) – Carson Katri on Twitter - https://github.com/person/ (https://github.com/person/?utm_source=thinkingelixir&utm_medium=shownotes) – Carson Katri on Github - https://carsonkatri.com (https://carsonkatri.com?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
In this episode, we're diving into the fascinating world of at-home AI with a ready-to-deploy project harnessing Bumblebee and Fly GPUs, unraveling the tale of how an Xz backdoor catastrophe was narrowly sidestepped, and highlighting the power of customizing your Elixir IEx environment. We'll also touch upon the eager anticipation for ElixirConf EU, taking place in Lisbon, where innovations in vehicular tech meet Elixir, and the upcoming NervesConf US - a prime event for embedded systems enthusiasts. Tune in for these buzzworthy topics and more! Show Notes online - http://podcast.thinkingelixir.com/197 (http://podcast.thinkingelixir.com/197) Elixir Community News - https://twitter.com/brainlid/status/1775148526621827548 (https://twitter.com/brainlid/status/1775148526621827548?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet about an easy at-home AI project using Bumblebee and Fly GPUs. - https://fly.io/phoenix-files/easy-at-home-ai-with-bumblebee-and-fly-gpus/ (https://fly.io/phoenix-files/easy-at-home-ai-with-bumblebee-and-fly-gpus/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post detailing the easy deployment of LLM models on Fly.io machines with GPUs. - https://github.com/fly-apps/bumblebee-model-harness (https://github.com/fly-apps/bumblebee-model-harness?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for deploying Llama 2 7B, Mistral 7B, and Zephyr 7B LLMs with Bumblebee. - https://twitter.com/fr0gger_/status/1774342248437813525 (https://twitter.com/fr0gger_/status/1774342248437813525?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet about the mostly avoided disaster of the Xz backdoor. - https://xkcd.com/2347/ (https://xkcd.com/2347/?utm_source=thinkingelixir&utm_medium=shownotes) – Related XKCD comic regarding the pressure on open-source developers. - https://en.wikipedia.org/wiki/XZUtilsbackdoor (https://en.wikipedia.org/wiki/XZ_Utils_backdoor?utm_source=thinkingelixir&utm_medium=shownotes) – Wikipedia article on the XZ Utils backdoor incident. - https://www.wired.com/story/xz-backdoor-everything-you-need-to-know/ (https://www.wired.com/story/xz-backdoor-everything-you-need-to-know/?utm_source=thinkingelixir&utm_medium=shownotes) – Wired article providing an overview of the Xz backdoor event. - https://diff.hex.pm/ (https://diff.hex.pm/?utm_source=thinkingelixir&utm_medium=shownotes) – A resource for Elixir developers to inspect changes between published versions of Hex packages. - https://gist.github.com/brainlid/5cc4944509de87289fb1a1680da22911 (https://gist.github.com/brainlid/5cc4944509de87289fb1a1680da22911?utm_source=thinkingelixir&utm_medium=shownotes) – Gist showing an example of an .iex.exs file for customizing IEx behavior. - https://hexdocs.pm/iex/IEx.html#module-the-iex-exs-file (https://hexdocs.pm/iex/IEx.html#module-the-iex-exs-file?utm_source=thinkingelixir&utm_medium=shownotes) – HexDocs documentation on the .iex.exs file. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – Website for ElixirConf EU, Europe's largest Elixir Conference. - https://twitter.com/mlainez/status/1773679346328195334 (https://twitter.com/mlainez/status/1773679346328195334?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet teasing a talk about retrofitting a Nissan leaf engine into VWGroup body and using Elixir. - https://twitter.com/NervesConfUS/status/1774473097426370744 (https://twitter.com/NervesConfUS/status/1774473097426370744?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet announcing NervesConf US, a one-day single-track conference. - https://nervesconf.us/ (https://nervesconf.us/?utm_source=thinkingelixir&utm_medium=shownotes) – The official site for NervesConf US with the date and venue information. - https://www.gigcityelixir.com/ (https://www.gigcityelixir.com/?utm_source=thinkingelixir&utm_medium=shownotes) – The official site for GigCityElixir with dates and speaker announcements. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – The official site for ElixirConf US including dates and location. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
In this episode, we celebrate the incredible ten-year journey of the Phoenix framework, marvel at the new interactive language tour by Gleam, explore the latest features of ElixirLS v0.19.0 designed to enhance the developer experience, and delve into Erlang's big leap towards adopting ExDoc for its documentation. Stay tuned for these exciting developments in the Elixir ecosystem and more! Show Notes online - http://podcast.thinkingelixir.com/187 (http://podcast.thinkingelixir.com/187) Elixir Community News - https://twitter.com/chris_mccord/status/1748007024921542707 (https://twitter.com/chris_mccord/status/1748007024921542707?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord celebrated the 10th anniversary of his first commit to Phoenix, listing major features added over time. - https://gleam.run/news/v0.34-multi-target-projects/ (https://gleam.run/news/v0.34-multi-target-projects/?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Gleam v0.34 introduces Multi-target projects. - https://gleam.run/news/gleams-new-interactive-language-tour/ (https://gleam.run/news/gleams-new-interactive-language-tour/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam adds a new interactive language tour that works directly in the browser. - https://github.com/elixir-tools/next-ls/releases/tag/v0.16.0 (https://github.com/elixir-tools/next-ls/releases/tag/v0.16.0?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Next LS v0.16.0 release for Elixir with new features including OpenTelemetry and logging. - https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.19.0 (https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.19.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release notes for ElixirLS v0.19.0, highlighting on-type parsing for Phoenix .heex files and workspace symbols improvements. - https://github.com/erlang/otp/pull/8026 (https://github.com/erlang/otp/pull/8026?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang adopts ExDocs for documentation, starting transition with a huge PR converting docs from XML to Markdown. - https://erlang.github.io/prs/8026/doc/readme.html (https://erlang.github.io/prs/8026/doc/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Read the updated Erlang documentation using ExDoc and conforming to EEP-59 style. - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtBoR52raL_l7XQIb1YH-H7 (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtBoR52raL_l7XQIb1YH-H7?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube Playlist featuring talks from ElixirConf EU held in April 2023. - https://www.elixirconf.eu/archives/lisbon_2023/index.html (https://www.elixirconf.eu/archives/lisbon_2023/index.html?utm_source=thinkingelixir&utm_medium=shownotes) – Archive page for ElixirConf EU 2023 with information about the event and talks. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
Rust is a popular lower level language and the community has created a number of libraries to solve different problems. We talk with Jason Stiebs, a Phoenix Core Team member, about how Elixir and Rust can play well together. Jason wrote an article about how he leveraged an image processing library available in Rust by using the Elixir Rustler package. We talk about how Rustler works through NIFs, and we learn how easy using Rustler has become. It's great to understand that we have a powerful escape hatch like Rustler for those times we need it. We also get Jason's insights into the Phoenix project and talk about the importance of improving the developer experience when a LiveView crashes and more! Show Notes online - http://podcast.thinkingelixir.com/152 (http://podcast.thinkingelixir.com/152) Elixir Community News - https://www.erlang.org/news/164 (https://www.erlang.org/news/164?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 26 Final was released - https://www.erlang.org/blog/otp-26-highlights/ (https://www.erlang.org/blog/otp-26-highlights/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang.org/blog/otp-26-highlights/#improvements-of-maps (https://www.erlang.org/blog/otp-26-highlights/#improvements-of-maps?utm_source=thinkingelixir&utm_medium=shownotes) – Improvements to Maps - https://github.com/elixir-lang/elixir/releases/tag/v1.14.4 (https://github.com/elixir-lang/elixir/releases/tag/v1.14.4?utm_source=thinkingelixir&utm_medium=shownotes) – When Elixir 1.14.4 was released, it included the ability to request sorted map keys when inspecting. - https://www.erlang.org/blog/otp-26-highlights/#incremental-mode-for-dialyzer (https://www.erlang.org/blog/otp-26-highlights/#incremental-mode-for-dialyzer?utm_source=thinkingelixir&utm_medium=shownotes) – Incremental mode for Dialyzer - https://erlangforums.com/t/in-erlang-otp-27-0-0-will-no-longer-be-exactly-equal-to-0-0/2586 (https://erlangforums.com/t/in-erlang-otp-27-0-0-will-no-longer-be-exactly-equal-to-0-0/2586?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 27 where +0.0 will no longer be exactly equal to -0.0. - https://felt.com/blog/startup-and-shutdown-for-phoenix-applications (https://felt.com/blog/startup-and-shutdown-for-phoenix-applications?utm_source=thinkingelixir&utm_medium=shownotes) – Jason Axelson wrote an article about doing a “Graceful Startup and Shutdown for Phoenix Applications” over on the Felt blog. - https://smartlogic.io/podcast/elixir-wizards/s10-e08-jose-valim-future-elixir-ecosystem/ (https://smartlogic.io/podcast/elixir-wizards/s10-e08-jose-valim-future-elixir-ecosystem/?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim was on the Elixir Wizards podcast talking about the future development of Elixir - https://twitter.com/josevalim/status/1658160088354369546 (https://twitter.com/josevalim/status/1658160088354369546?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim was asking for feedback on the "Optional Syntax Sheet" documentation. - https://elixir-lang.org/getting-started/optional-syntax.html (https://elixir-lang.org/getting-started/optional-syntax.html?utm_source=thinkingelixir&utm_medium=shownotes) – Optional syntax sheet in the Elixir Getting Started docs - https://twitter.com/sean_moriarity/status/1648466250828484609 (https://twitter.com/sean_moriarity/status/1648466250828484609?utm_source=thinkingelixir&utm_medium=shownotes) – LLaMa support added to Nx and Bumblebee by Sean Moriarity - https://twitter.com/FrerichRaabe/status/1648696436266004480 (https://twitter.com/FrerichRaabe/status/1648696436266004480?utm_source=thinkingelixir&utm_medium=shownotes) – Nicely summarizing Tweet that frames the LLaMa work - https://www.youtube.com/watch?v=e2fDjl2hoAk (https://www.youtube.com/watch?v=e2fDjl2hoAk?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU keynote video titled “Using Elixir & Phoenix To Build A City Software Infrastructure” - https://www.empex.co/new-york (https://www.empex.co/new-york?utm_source=thinkingelixir&utm_medium=shownotes) – Empex NYC - use code THINKING to get $100 of your ticket - https://www.lambdadays.org/lambdadays2023 (https://www.lambdadays.org/lambdadays2023?utm_source=thinkingelixir&utm_medium=shownotes) – LambdaDays functional programming conference on 5-6 June 2023 in Kraków Poland - https://twitter.com/josevalim/status/1658159252773453824 (https://twitter.com/josevalim/status/1658159252773453824?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim will speak about meta-programmable functional notebooks with Livebook Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://fly.io/phoenix-files/elixir-and-rust-is-a-good-mix/ (https://fly.io/phoenix-files/elixir-and-rust-is-a-good-mix/?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir and Rust Is a Good Mix - https://youtu.be/FADQAnq0RpA?t=3636 (https://youtu.be/FADQAnq0RpA?t=3636?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord specifically calling out Jason for advocating for a better DX around LiveView errors. - https://github.com/rusterlium/rustler (https://github.com/rusterlium/rustler?utm_source=thinkingelixir&utm_medium=shownotes) - https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users (https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users?utm_source=thinkingelixir&utm_medium=shownotes) - https://news.livebook.dev/label/45764 (https://news.livebook.dev/label/45764?utm_source=thinkingelixir&utm_medium=shownotes) - https://fly.io/phoenix-files/tensors-and-nx-are-not-just-for-machine-learning/ (https://fly.io/phoenix-files/tensors-and-nx-are-not-just-for-machine-learning/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/peregrine (https://twitter.com/peregrine?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/jeregrine/ (https://github.com/jeregrine/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://merveilles.town/@peregrine (https://merveilles.town/@peregrine?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - mailto:jason@fly.io (mailto:jason@fly.io?utm_source=thinkingelixir&utm_medium=shownotes) – Email Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
In this episode of the Elixir Wizards podcast, hosts Sundi Myint and Owen Bickford are joined by Hugo Baraúna, founder at Elixir Radar, and Lucas San Roman, senior software engineer at Felt. We dive into the future of the Elixir community, how we stay connected, and the remarkable culture that has developed over the past decade. Key highlights in this episode: The Elixir community's warm and inviting atmosphere Commitment to long-term stability and innovation in the Elixir community How projects like Nerves, Phoenix LiveView, and Livebook expand Elixir's capabilities Global connections and support among Elixirists via Slack and Discord The Elixir Radar newsletter provides up-to-date Elixir news and community developments Getting “nerd sniped” by the community Hugo Baraúna's motivation behind Elixir Radar and its impact on the tech industry Networking opportunities and relationship-building within the community Lucas San Roman's commitment to giving back with the Sourcerer Library Plans for more advanced collaboration in Livebook with the new Teams feature The potential introduction of a type system in Elixir Links mentioned in this episode: Elixir Radar: https://elixir-radar.com/ Felt: https://felt.com/ Ruby Weekly: https://rubyweekly.com/ The Elixir Discord Server: https://discord.com/invite/elixir Code Fragment: https://hexdocs.pm/elixir/Code.Fragment.html The Sourcerer Library: https://github.com/doorgan/sourceror Livebook: https://livebook.dev/ Lucas' Blog: https://dorgan.ar/ Hugo's Twitter: https://twitter.com/hugobarauna Elixir Radar on Twitter: https://twitter.com/elixirradar Livebook on Twitter: https://twitter.com/livebookdev Lucas' Twitter https://twitter.com/dorgan Guillaume Duboc Bringing Types to Elixir at ElixirConf EU 2023 (https://www.youtube.com/watch?v=gJJH7a2J9O8) Lucas on GitHub: https://github.com/doorgan Rooster Fighter on Easter Island (https://preview.redd.it/7v4aqvvtcwk61.jpg?width=960&crop=smart&auto=webp&v=enabled&s=a6ec117965d192f4f32a68ace90388424d15ba29) Rooster Fighter at Iguazu Falls in Argentina (https://i.kym-cdn.com/photos/images/newsfeed/002/038/658/2c4) Use code WIZARD for $100 off your ticket to Empex NYC (https://ti.to/empex-ny/empex-nyc-2023) in Brooklyn, NY on June 9, 2023 Special Guests: Hugo Baraúna and Lucas San Roman.
Recently Livebook had its first launch week. We met with Jonatan Kłosko, the developer behind most of the exciting new features, to learn what some of these additions are, how they actually work and what's coming with the new Teams feature. Jonatan shares some of his favorite unsung features and where the new apps ability may go in the future. Livebook is an important community project and it's fun getting a deeper look inside! Show Notes online - http://podcast.thinkingelixir.com/151 (http://podcast.thinkingelixir.com/151) Elixir Community News - https://changelog.com/podcast/538 (https://changelog.com/podcast/538?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim was on the Changelog podcast talking about the Livebook release week. - https://twitter.com/josevalim/status/1653838129306935301 (https://twitter.com/josevalim/status/1653838129306935301?utm_source=thinkingelixir&utm_medium=shownotes) – José sharing his podcast interview on Twitter - https://twitter.com/bigcodeproject/status/1654174941976068119 (https://twitter.com/bigcodeproject/status/1654174941976068119?utm_source=thinkingelixir&utm_medium=shownotes) – StarCoder Twitter thread - https://github.com/bigcode-project/starcoder (https://github.com/bigcode-project/starcoder?utm_source=thinkingelixir&utm_medium=shownotes) – StarCoder Github project page - https://huggingface.co/bigcode/starcoder (https://huggingface.co/bigcode/starcoder?utm_source=thinkingelixir&utm_medium=shownotes) – New LLM (Large Language Model) on HuggingFace. Heads up! It's a 64GB model! - https://huggingface.co/chat (https://huggingface.co/chat?utm_source=thinkingelixir&utm_medium=shownotes) – Link where you can play with the StarCoder via a chat interface - https://towardsdatascience.com/4-autonomous-ai-agents-you-need-to-know-d612a643fa92 (https://towardsdatascience.com/4-autonomous-ai-agents-you-need-to-know-d612a643fa92?utm_source=thinkingelixir&utm_medium=shownotes) – Autonomous AI agents have become a hot topic. Examples include AutoGPT, Westworld simulation and others. - https://twitter.com/servusmario/status/1655883183643033601 (https://twitter.com/servusmario/status/1655883183643033601?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter discussion with José Valim about Elixir and processes being used as LLM Agents. - https://twitter.com/akoutmos/status/1654728415252029440 (https://twitter.com/akoutmos/status/1654728415252029440?utm_source=thinkingelixir&utm_medium=shownotes) – Alex Koutmos shared how he and Amos King worked together to create a new Elixir library called denoex that makes it easy to run TypeScript and JavaScript from Elixir. - https://github.com/akoutmos/deno_ex (https://github.com/akoutmos/deno_ex?utm_source=thinkingelixir&utm_medium=shownotes) – The denoex library on Github - https://stackoverflow.blog/2023/05/08/the-2023-developer-survey-is-now-live/ (https://stackoverflow.blog/2023/05/08/the-2023-developer-survey-is-now-live/?utm_source=thinkingelixir&utm_medium=shownotes) – Stack Overflow 2023 Developer Survey is out - https://www.youtube.com/watch?v=K51fj1JGQEY (https://www.youtube.com/watch?v=K51fj1JGQEY?utm_source=thinkingelixir&utm_medium=shownotes) – Lars Wikman's ElixirConf EU 2023 video was released. This is the 2nd video released from the ElixirConf EU. It is titled "Lively LiveView with Membrane" - https://hex.pm/blog/new-domain-for-build-artifacts (https://hex.pm/blog/new-domain-for-build-artifacts?utm_source=thinkingelixir&utm_medium=shownotes) – Hex.pm blog post announcing the subdomain change for hosting builds. It includes instructions on migrating tools to prevent an interruption. - https://www.empex.co/new-york#speakers (https://www.empex.co/new-york#speakers?utm_source=thinkingelixir&utm_medium=shownotes) – Empex NYC lineup has been announced. It is a one day, single-track Elixir conference in New York City Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI (https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI?utm_source=thinkingelixir&utm_medium=shownotes) – Day 1 - Deploy notebooks as apps & quality-of-life upgrades - https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw (https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw?utm_source=thinkingelixir&utm_medium=shownotes) – Day 2 - Distributed² Machine Learning notebooks with Elixir and Livebook - https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2 (https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2?utm_source=thinkingelixir&utm_medium=shownotes) – Day 3 - Hubs and secret management - https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w (https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w?utm_source=thinkingelixir&utm_medium=shownotes) – Day 4 - Build and deploy a Whisper chat app to Hugging Face in 15 minutes - https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI (https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI?utm_source=thinkingelixir&utm_medium=shownotes) – Day 5 - Data wrangling in Elixir with Explorer, the power of Rust, the elegance of R - https://podcast.thinkingelixir.com/46 (https://podcast.thinkingelixir.com/46?utm_source=thinkingelixir&utm_medium=shownotes) – 1st time we talked. May 2021 ~2 years ago! - https://podcast.thinkingelixir.com/130 (https://podcast.thinkingelixir.com/130?utm_source=thinkingelixir&utm_medium=shownotes) – 2nd time we talked about Bumblebee - Dec 2022 - https://github.com/livebook-dev/livebook/graphs/contributors (https://github.com/livebook-dev/livebook/graphs/contributors?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Github contributor graph Guest Information - https://github.com/jonatanklosko/ (https://github.com/jonatanklosko/?utm_source=thinkingelixir&utm_medium=shownotes) – Jonatan Kłosko on Github - https://jonatanklosko.com/ (https://jonatanklosko.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://erlef.org/slack-invite/erlef (https://erlef.org/slack-invite/erlef?utm_source=thinkingelixir&utm_medium=shownotes) – The EEF Slack - https://elixirforum.com/u/jonatanklosko (https://elixirforum.com/u/jonatanklosko?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Forum profile Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
News covers Chris McCord's keynote speech on LiveView 1.0. We cover the EEF's final election results, latest from the LiveView Native space, ex_cldr updates for localizing our apps, an OTP patch release, and more! Show Notes online - http://podcast.thinkingelixir.com/150 (http://podcast.thinkingelixir.com/150) Elixir Community News - https://www.youtube.com/watch?v=FADQAnq0RpA&t=408s (https://www.youtube.com/watch?v=FADQAnq0RpA&t=408s?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's keynote from ElixirConf EU - https://erlef.org/blog/eef/election-2023-revote-results (https://erlef.org/blog/eef/election-2023-revote-results?utm_source=thinkingelixir&utm_medium=shownotes) – EEF final election results - https://twitter.com/bcardarella/status/1651266755443015681 (https://twitter.com/bcardarella/status/1651266755443015681?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native has a new SwiftUI VSCode plugin with code completion and documentation access - https://github.com/liveview-native/liveview-native-vscode (https://github.com/liveview-native/liveview-native-vscode?utm_source=thinkingelixir&utm_medium=shownotes) – The LiveView Native VSCode plugin - https://podcast.thinkingelixir.com/120 (https://podcast.thinkingelixir.com/120?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Kip Cole about excldr - https://github.com/elixir-cldr/cldr (https://github.com/elixir-cldr/cldr?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir CLDR project - https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/98 (https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/98?utm_source=thinkingelixir&utm_medium=shownotes) – CLDR version 43 released, 15 excldr libraries updated - https://erlangforums.com/t/patch-package-otp-25-3-1-released/2574 (https://erlangforums.com/t/patch-package-otp-25-3-1-released/2574?utm_source=thinkingelixir&utm_medium=shownotes) – Minor patch release for OTP 25.3.1 - https://github.com/doorgan/channel_handler (https://github.com/doorgan/channel_handler?utm_source=thinkingelixir&utm_medium=shownotes) – Routing Patterns for Manageable Phoenix Channels - https://felt.com/blog/pheonix-channel-routing-patterns (https://felt.com/blog/pheonix-channel-routing-patterns?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on channel routing patterns - https://twitter.com/zacksiri/status/1652515195724627968 (https://twitter.com/zacksiri/status/1652515195724627968?utm_source=thinkingelixir&utm_medium=shownotes) – Overview of recent Elixir projects and frameworks Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
Hauleth (Łukasz Jan Niemier) takes us deeper into the Elixir and Erlang loggers. He recently closed a 3.5 year old bug on the ElixirLang Github project by unifying the Elixir logger with the logger that Erlang got in OTP 21. We touch on the history, why it took so long, what we should think of the new logging levels, and what the original goals were that he set out to achieve. We also get an introduction to the new logging filters and handlers along with some peeks into future Erlang logging features that may still be yet to come in Elixir! Show Notes online - http://podcast.thinkingelixir.com/149 (http://podcast.thinkingelixir.com/149) Elixir Community News - https://podcast.thinkingelixir.com/73 (https://podcast.thinkingelixir.com/73?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Paul Copplestone about Elixir and Supabase - https://twitter.com/kiwicopple/status/1646918873445195783 (https://twitter.com/kiwicopple/status/1646918873445195783?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase had their own release week. Paul shared his favorite one. - https://supabase.com/blog/dbdev (https://supabase.com/blog/dbdev?utm_source=thinkingelixir&utm_medium=shownotes) – Supabase blog post about dbdev - a Postgres extension package manager - https://database.dev/installer (https://database.dev/installer?utm_source=thinkingelixir&utm_medium=shownotes) – Database.dev is the dedicated site for dbdev - https://twitter.com/josevalim/status/1649001076404768768 (https://twitter.com/josevalim/status/1649001076404768768?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared the Livebook notebook used during his ElixirConf EU presentation - https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd (https://github.com/josevalim/livebooks/blob/main/talks/2023/04-elixir-conf.livemd?utm_source=thinkingelixir&utm_medium=shownotes) – José's Livebook from his presentation - https://twitter.com/visual_partner/status/1648979346491580416 (https://twitter.com/visual_partner/status/1648979346491580416?utm_source=thinkingelixir&utm_medium=shownotes) – Visual drawing created from José's ElixirConf EU keynote - https://twitter.com/livebookdev/status/1648328527026987008 (https://twitter.com/livebookdev/status/1648328527026987008?utm_source=thinkingelixir&utm_medium=shownotes) – New Livebook KinoDiff feature makes it easy to visually display a diff between two strings in Livebook. - https://twitter.com/theerlef/status/1649442881302822915 (https://twitter.com/theerlef/status/1649442881302822915?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang OTP 26 RC 3 - https://www.erlang.org/news/163 (https://www.erlang.org/news/163?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post for Erlang/OTP 26.0 Release Candidate 3 - https://www.erlang.org/blog/more-optimizations/ (https://www.erlang.org/blog/more-optimizations/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post on Erlang website about OTP 26 optimizations in the compiler and JIT - https://twitter.com/michalmuskala/status/1650511805339381763 (https://twitter.com/michalmuskala/status/1650511805339381763?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang library called “erlfuzz” was released. - https://erlangforums.com/t/open-sourcing-erlfuzz/2562 (https://erlangforums.com/t/open-sourcing-erlfuzz/2562?utm_source=thinkingelixir&utm_medium=shownotes) – Erlfuzz forum post. It is a fuzzer for Erlang code and the BEAM. - https://github.com/evadne/emporium (https://github.com/evadne/emporium?utm_source=thinkingelixir&utm_medium=shownotes) – Evadne Wu released an Elixir example application that walks through a variety of Elixir ML operations - https://paraxial.io/blog/sobelow-guide (https://paraxial.io/blog/sobelow-guide?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post from Paraxial.io on a guide to using Sobelow - https://github.com/paraxialio/sobelow_guide (https://github.com/paraxialio/sobelow_guide?utm_source=thinkingelixir&utm_medium=shownotes) – Github readme explains more about Sobelow findings and how to correct them. - https://github.com/woutdp/live_svelte (https://github.com/woutdp/live_svelte?utm_source=thinkingelixir&utm_medium=shownotes) – A new project called LiveSvelte was released. Helps integrate using Sevelte front-end JS with a LiveView - https://wout.space/notes/live-svelte (https://wout.space/notes/live-svelte?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about live_svelte Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://twitter.com/whatyouhide/status/1626544505506656257 (https://twitter.com/whatyouhide/status/1626544505506656257?utm_source=thinkingelixir&utm_medium=shownotes) – PR that closed a 3.5yo Elixir issue on unifying Erlang and Elixir loggers. - https://github.com/elixir-lang/elixir/issues/9465 (https://github.com/elixir-lang/elixir/issues/9465?utm_source=thinkingelixir&utm_medium=shownotes) – Github Issue “Further unify logger and Logger” - https://www.erlang.org/doc/man/logger.html (https://www.erlang.org/doc/man/logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang logger docs. Referenced. - https://hexdocs.pm/logger/main/Logger.html (https://hexdocs.pm/logger/main/Logger.html?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir logger docs (able to see the “1.15.0-dev” version) - https://www.erlang.org/doc/apps/sasl/ (https://www.erlang.org/doc/apps/sasl/?utm_source=thinkingelixir&utm_medium=shownotes) – SASL Logging docs - https://www.eiger.co/ (https://www.eiger.co/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/hauleth/erlang-systemd (https://github.com/hauleth/erlang-systemd?utm_source=thinkingelixir&utm_medium=shownotes) - https://systemd.io/ (https://systemd.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/erlang-lager/lager (https://github.com/erlang-lager/lager?utm_source=thinkingelixir&utm_medium=shownotes) - https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html (https://riak.com/posts/technical/introducing-lager-a-new-logging-framework-for-erlangotp/index.html?utm_source=thinkingelixir&utm_medium=shownotes) - OTP 21 added built-in logging - https://www.erlang.org/doc/man/logger_filters.html (https://www.erlang.org/doc/man/logger_filters.html?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/hauleth (https://twitter.com/hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/hauleth/ (https://github.com/hauleth/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://fosstodon.org/@hauleth (https://fosstodon.org/@hauleth?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://hauleth.dev (https://hauleth.dev?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
We go deeper on the Sobelow library, a security-focused static analysis tool for Elixir and Phoenix apps. We talk with Griffin Byatt, the creator, and Holden Oullette, the new maintainer. We learn how and why the project was created, how it works, what it can and can't do, and how to use it in CI pipelines for continuous scanning. Sobelow is a cornerstone project in the community that checks a critical box for certification requirements which means we get to use Elixir when it might otherwise be a hard sell. Join us as we learn more about the project and the people behind it! Show Notes online - http://podcast.thinkingelixir.com/148 (http://podcast.thinkingelixir.com/148) Elixir Community News - https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2 (https://news.livebook.dev/hubs-and-secret-management---launch-week-1---day-3-3tMaJ2?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Launch Week - Day 3 - Hubs, secrets, teams, authentication - https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w (https://news.livebook.dev/build-and-deploy-a-whisper-chat-app-to-hugging-face-in-15-minutes---launch-week-1---day-4-wYM0w?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Launch Week - Day 4 - What is deploying apps to HuggingFace? - https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI (https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook Launch Week - Day 5 - Data wrangling in Elixir with https://news.livebook.dev/data-wrangling-in-elixir-with-explorer-the-power-of-rust-the-elegance-of-r---launch-week-1---day-5-1xqwCI - https://github.com/elixir-nx (https://github.com/elixir-nx?utm_source=thinkingelixir&utm_medium=shownotes) – The Nx GitHub organization page was set up - https://twitter.com/sorentwo/status/1646493981591625732 (https://twitter.com/sorentwo/status/1646493981591625732?utm_source=thinkingelixir&utm_medium=shownotes) – Oban update 2.15.0 - https://github.com/sorentwo/oban/releases/tag/v2.15.0 (https://github.com/sorentwo/oban/releases/tag/v2.15.0?utm_source=thinkingelixir&utm_medium=shownotes) – Oban release notes - https://twitter.com/osterbergmarcus/status/1646833341881016323 (https://twitter.com/osterbergmarcus/status/1646833341881016323?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet asking about bulk steam inserts - https://twitter.com/elixirphoenix/status/1646913447030865921 (https://twitter.com/elixirphoenix/status/1646913447030865921?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix response says the bulk insert is in main now. - https://hexdocs.pm/ecto/Ecto.Changeset.html#cast_assoc/3-sorting-and-deleting-from-many-collections (https://hexdocs.pm/ecto/Ecto.Changeset.html#cast_assoc/3-sorting-and-deleting-from-many-collections?utm_source=thinkingelixir&utm_medium=shownotes) – Ecto's Sorting and deleting from -many collections - https://twitter.com/iteamon/status/1648310734479130627 (https://twitter.com/iteamon/status/1648310734479130627?utm_source=thinkingelixir&utm_medium=shownotes) – Dry run implementation by Tymon Tobolski - https://twitter.com/theerlef/status/1646211583172034563 (https://twitter.com/theerlef/status/1646211583172034563?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU keynote to look forward to Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://twitter.com/paraxialio/status/1641242283134660616 (https://twitter.com/paraxialio/status/1641242283134660616?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/nccgroup/sobelow (https://github.com/nccgroup/sobelow?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/nccgroup/sobelow/releases/tag/v0.12.2 (https://github.com/nccgroup/sobelow/releases/tag/v0.12.2?utm_source=thinkingelixir&utm_medium=shownotes) – recent release - https://github.com/podium/elixir-secure-coding (https://github.com/podium/elixir-secure-coding?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.podium.com/ (https://www.podium.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://podcast.thinkingelixir.com/122 (https://podcast.thinkingelixir.com/122?utm_source=thinkingelixir&utm_medium=shownotes) – Securing Elixir and Teaching the Team interview with Holden - https://www.crowdstrike.com/cybersecurity-101/shift-left-security/ (https://www.crowdstrike.com/cybersecurity-101/shift-left-security/?utm_source=thinkingelixir&utm_medium=shownotes) – Shift left - https://www.nccgroup.com/us/ (https://www.nccgroup.com/us/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/podium/elixir-secure-coding (https://github.com/podium/elixir-secure-coding?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ExHammer/hammer (https://github.com/ExHammer/hammer?utm_source=thinkingelixir&utm_medium=shownotes) - SAST - Static Application Security Testing - IAST - Interactive Application Security Testing Guest Information - https://twitter.com/HoldenOullette (https://twitter.com/HoldenOullette?utm_source=thinkingelixir&utm_medium=shownotes) – Holden on Twitter - https://github.com/houllette/ (https://github.com/houllette/?utm_source=thinkingelixir&utm_medium=shownotes) – Holden on Github - https://oullette.xyz/ (https://oullette.xyz/?utm_source=thinkingelixir&utm_medium=shownotes) – Holden's Blog - https://twitter.com/griffinbyatt (https://twitter.com/griffinbyatt?utm_source=thinkingelixir&utm_medium=shownotes) – Griffin on Twitter - https://github.com/GriffinMB/ (https://github.com/GriffinMB/?utm_source=thinkingelixir&utm_medium=shownotes) – Griffin on Github - https://griffinbyatt.com/ (https://griffinbyatt.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Griffin's page Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
Day 1 and 2 of Livebook's first launch week announcements, a new JsonSchema compiler named Exonerate, Ecto 3.10.0 brings changeset improvements for LiveView, the Image library can now skew and unskew images using Nx, KnockLabs released the oneanddone library for idempotent APIs, and more! Show Notes online - http://podcast.thinkingelixir.com/147 (http://podcast.thinkingelixir.com/147) Elixir Community News - https://twitter.com/josevalim/status/1644035841080143872 (https://twitter.com/josevalim/status/1644035841080143872?utm_source=thinkingelixir&utm_medium=shownotes) – Livebook's first “launch week” is going on at the time of this recording. - https://twitter.com/josevalim/status/1645453335615483908 (https://twitter.com/josevalim/status/1645453335615483908?utm_source=thinkingelixir&utm_medium=shownotes) – Day 1 - show how to deploy notebooks as applications plus other QoL improvements arriving in Livebook v0.9 - https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI (https://news.livebook.dev/deploy-notebooks-as-apps-quality-of-life-upgrades---launch-week-1---day-1-2OTEWI?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post - Deploy notebooks as apps & quality-of-life upgrades - Launch Week 1 - Day 1 - https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw (https://news.livebook.dev/distributed2-machine-learning-notebooks-with-elixir-and-livebook---launch-week-1---day-2-1aIlaw?utm_source=thinkingelixir&utm_medium=shownotes) – Distributed² Machine Learning notebooks with Elixir and Livebook - Launch Week 1 - Day 2 - https://www.youtube.com/watch?v=ELBQytOaQUQ (https://www.youtube.com/watch?v=ELBQytOaQUQ?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity attended the Denver Online Elixir Meetup and talked about Bumblebee and conversational bots in Elixir. - https://github.com/E-xyza/Exonerate (https://github.com/E-xyza/Exonerate?utm_source=thinkingelixir&utm_medium=shownotes) – Exonerate (an opinionated JSONSchema compiler for Elixir) 0.3.0 is released and available on Hex - https://twitter.com/DNAutics/status/1643347181103874050 (https://twitter.com/DNAutics/status/1643347181103874050?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter thread with discussion about what a JsonSchema compiler is - https://twitter.com/josevalim/status/1645485723242430465 (https://twitter.com/josevalim/status/1645485723242430465?utm_source=thinkingelixir&utm_medium=shownotes) – Ecto 3.10.0 was released with improvements around changesets, some of them focused on better interplay with LiveView - https://github.com/elixir-ecto/ecto/blob/v3.10.0/CHANGELOG.md (https://github.com/elixir-ecto/ecto/blob/v3.10.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Ecto 3.10.0 changelog - https://hexdocs.pm/ecto/3.10.0/Ecto.Changeset.html#field_missing?/2 (https://hexdocs.pm/ecto/3.10.0/Ecto.Changeset.html#field_missing?/2?utm_source=thinkingelixir&utm_medium=shownotes) – field_missing function as an example - https://twitter.com/chris_mccord/status/1645490346543964162 (https://twitter.com/chris_mccord/status/1645490346543964162?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord will be showing off some of these new Ecto features in his upcoming ElixirConf EU talk. - https://twitter.com/germsvel/status/1643933568585043968 (https://twitter.com/germsvel/status/1643933568585043968?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco shared another short tip about using liveSocket.enableLatencySim() for slowing local dev experience - https://pragmaticstudio.com/courses/phoenix-liveview (https://pragmaticstudio.com/courses/phoenix-liveview?utm_source=thinkingelixir&utm_medium=shownotes) – PragmaticStudio updated their video based Phoenix LiveView course - https://elixirforum.com/t/image-an-image-processing-library-based-upon-vix/47568/98 (https://elixirforum.com/t/image-an-image-processing-library-based-upon-vix/47568/98?utm_source=thinkingelixir&utm_medium=shownotes) – Image 0.28.x released. Forum post with images showing what it does. - https://github.com/elixir-image/image/blob/main/CHANGELOG.md#image-0281 (https://github.com/elixir-image/image/blob/main/CHANGELOG.md#image-0281?utm_source=thinkingelixir&utm_medium=shownotes) – Image uses Nx and Vix to straighten or skew image data - https://twitter.com/cjbell_/status/1645508923196071936 (https://twitter.com/cjbell_/status/1645508923196071936?utm_source=thinkingelixir&utm_medium=shownotes) – Chris Bell at Knock Labs shared a new library release called “One and Done”. It is a tool for creating APIs that are idempotent. - https://github.com/knocklabs/oneanddone (https://github.com/knocklabs/one_and_done?utm_source=thinkingelixir&utm_medium=shownotes) – One and Done GitHub project - https://knock.app/blog/using-one-and-done-to-power-idempotency (https://knock.app/blog/using-one-and-done-to-power-idempotency?utm_source=thinkingelixir&utm_medium=shownotes) – One and done idempotency blog post - https://www.empex.co/new-york (https://www.empex.co/new-york?utm_source=thinkingelixir&utm_medium=shownotes) – EMPEX NYC conference reminder - June 9, 2023 - A one day, single-track Elixir conference in Brooklyn, NY Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
We talk with Andrea Leopardi, Elixir core team member, author, and recent Protohacker celebrity! We wanted to learn more about his dbg work that outputs boolean expression info and about his experience using Elixir to solve the Protohacker networking challenges. He shares how that work parlayed into creating an Elixir networking book for PragProg. He teases what he might be working next and more! Show Notes online - http://podcast.thinkingelixir.com/141 (http://podcast.thinkingelixir.com/141) Elixir Community News - https://phoenixframework.org/blog/phoenix-1.7-final-released (https://phoenixframework.org/blog/phoenix-1.7-final-released?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix 1.7.0 "final" released! - https://gist.github.com/chrismccord/00a6ea2a96bc57df0cce526bd20af8a7 (https://gist.github.com/chrismccord/00a6ea2a96bc57df0cce526bd20af8a7?utm_source=thinkingelixir&utm_medium=shownotes) – Step-by-step upgrade guide - https://elixirstream.dev/gendiff/phx_new/A93EFEDC8E8E71E5F1490CF31042679E (https://elixirstream.dev/gendiff/phx_new/A93EFEDC8E8E71E5F1490CF31042679E?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.6.16 to 1.7.0 with live phx.gen.auth - https://elixirstream.dev/gendiff/phx_new/018C3724F7E9A04683EA80F8A5657694 (https://elixirstream.dev/gendiff/phx_new/018C3724F7E9A04683EA80F8A5657694?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.6.16 to 1.7.0 with non-live phx.gen.auth - https://elixirstream.dev/gendiff/phx_new/F175E36352E8C1378CB3F913EBBAD6A0 (https://elixirstream.dev/gendiff/phx_new/F175E36352E8C1378CB3F913EBBAD6A0?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0 non-live to live - https://elixirstream.dev/gendiff/phx_new/639AD8C21FD8CB22B72797EE5597118A (https://elixirstream.dev/gendiff/phx_new/639AD8C21FD8CB22B72797EE5597118A?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc0 to final - https://elixirstream.dev/gendiff/phx_new/FFCC88CB3B539BA68F30ADB69E4832BF (https://elixirstream.dev/gendiff/phx_new/FFCC88CB3B539BA68F30ADB69E4832BF?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc1 to final - https://elixirstream.dev/gendiff/phx_new/3007D95E4C49619702C5E550E0BBA5DD (https://elixirstream.dev/gendiff/phx_new/3007D95E4C49619702C5E550E0BBA5DD?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc2 to final - https://elixirstream.dev/gendiff/phx_new/5BF0D673DB427053F70DC9DC9F10DD09 (https://elixirstream.dev/gendiff/phx_new/5BF0D673DB427053F70DC9DC9F10DD09?utm_source=thinkingelixir&utm_medium=shownotes) – Diffs from 1.7.0-rc3 to final - https://hexdocs.pm/phoenixhtml/Phoenix.HTML.FormData.html#toform/4 (https://hexdocs.pm/phoenix_html/Phoenix.HTML.FormData.html#to_form/4?utm_source=thinkingelixir&utm_medium=shownotes) – We noticed the new toform function and data structure being used by the new generators - https://fly.io/phoenix-files/phoenix-dev-blog-streams/ (https://fly.io/phoenix-files/phoenix-dev-blog-streams/?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord wrote a "Dev blog" article introducing the new “Streams” feature in LiveView - https://twitter.com/germsvel/status/1629115591565971458 (https://twitter.com/germsvel/status/1629115591565971458?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco created a short screencast about streams that migrates from temporaryassigns to streams. - https://blog.voltone.net/post/31 (https://blog.voltone.net/post/31?utm_source=thinkingelixir&utm_medium=shownotes) – Bram Verburg wrote a nice "Client-Side Enforcement of LiveView Security" blog post - https://podcast.thinkingelixir.com/134 (https://podcast.thinkingelixir.com/134?utm_source=thinkingelixir&utm_medium=shownotes) – Interview with Bram Verburg - https://twitter.com/cblavier/status/1630210369561014278 (https://twitter.com/cblavier/status/1630210369561014278?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix Storybook 0.5.0 was released. - https://github.com/phenixdigital/phoenix_storybook/blob/main/CHANGELOG.md#v050-2023-02-27 (https://github.com/phenixdigital/phoenix_storybook/blob/main/CHANGELOG.md#v050-2023-02-27?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix Storybook changelog - https://twitter.com/sasajuric/status/1628855249527099394 (https://twitter.com/sasajuric/status/1628855249527099394?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir in Action by Saša Jurić 3rd edition available in Manning's Early Access Program (MEAP). - https://twitter.com/ManningBooks/status/1628823200585973764 (https://twitter.com/ManningBooks/status/1628823200585973764?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet with 45% off coupon code shared - 45% off with code "mljuric3" till Mar 9 - https://twitter.com/bcardarella/status/1628778103903334400 (https://twitter.com/bcardarella/status/1628778103903334400?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native update - they've passed the 80% mark of SwiftUI views - https://twitter.com/bcardarella/status/1628778539242618882 (https://twitter.com/bcardarella/status/1628778539242618882?utm_source=thinkingelixir&utm_medium=shownotes) – The next milestones for LiveView Native - https://github.com/liveviewnative/liveview-client-swiftui/issues/235 (https://github.com/liveviewnative/liveview-client-swiftui/issues/235?utm_source=thinkingelixir&utm_medium=shownotes) – Swift UI modifiers tracking list - https://github.com/liveviewnative/liveview-client-swiftui/issues/238 (https://github.com/liveviewnative/liveview-client-swiftui/issues/238?utm_source=thinkingelixir&utm_medium=shownotes) – SwiftUI animations tracking list Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://github.com/elixir-lang/elixir/pull/12358 (https://github.com/elixir-lang/elixir/pull/12358?utm_source=thinkingelixir&utm_medium=shownotes) – PR for dbg/2 that outputs boolean expression breakout - https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl (https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl?utm_source=thinkingelixir&utm_medium=shownotes) – Playlist of youtube videos - https://twitter.com/whatyouhide/status/1617521132529389568 (https://twitter.com/whatyouhide/status/1617521132529389568?utm_source=thinkingelixir&utm_medium=shownotes) – Shared that you are writing a book - https://protohackers.com/ (https://protohackers.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://learnyousomeerlang.com/ (https://learnyousomeerlang.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl (https://www.youtube.com/playlist?list=PLd7I3U4fDsULTLqbRAkWzA002-IzMe8fl?utm_source=thinkingelixir&utm_medium=shownotes) – List of Andrea's Protohacker videos in Elixir - https://twitter.com/whatyouhide/status/1617521132529389568 (https://twitter.com/whatyouhide/status/1617521132529389568?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea shared that he is writing a book - https://pragprog.com/titles/lmelixir/testing-elixir/ (https://pragprog.com/titles/lmelixir/testing-elixir/?utm_source=thinkingelixir&utm_medium=shownotes) – Testing Elixir book by Andrea Leopardi and Jeffrey Matthias - https://twitter.com/whatyouhide/status/1629781415251279874 (https://twitter.com/whatyouhide/status/1629781415251279874?utm_source=thinkingelixir&utm_medium=shownotes) – Andrea playing with creating videos for a series of distributed systems challenges. - https://fly.io/dist-sys/ (https://fly.io/dist-sys/?utm_source=thinkingelixir&utm_medium=shownotes) – “A series of distributed systems challenges” - https://codebeammexico.com/ (https://codebeammexico.com/?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBeam Mexico - Andrea gave a keynote - https://twitter.com/whatyouhide/status/1629063077680365568 (https://twitter.com/whatyouhide/status/1629063077680365568?utm_source=thinkingelixir&utm_medium=shownotes) – Concurrent Data Processing In Elixir - training at ElixirConf EU - 2023-04-19 Guest Information - https://twitter.com/whatyouhide (https://twitter.com/whatyouhide?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/whatyouhide/ (https://github.com/whatyouhide/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://mas.to/@whatyouhide (https://mas.to/@whatyouhide?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - @whatyouhide@mas.to - https://andrealeopardi.com/ (https://andrealeopardi.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
We talked with Spawnfest competitors Filipe Cabaço & Joel Carlbark about their entry “Lively”. Lively was all about doing cool things with Ecto in Livebook. The project, later renamed to KinoEcto does 4 cool things around Ecto in Livebook. It builds Entity Relationship diagrams from the Ecto Schemas in your Elixir project. It can visualize the dense Postgres explain output and highlight a problem like when a full table scan is performed. It includes a ChangesetValidator SmartCell, and a QueryBuilder that uses NimbleParsec to parse a raw SQL query and do the initial work of turning that into an Ecto query. We talk about what the 48-hour competition was like, what they accomplished and what they plan to do next! Show Notes online - http://podcast.thinkingelixir.com/127 (http://podcast.thinkingelixir.com/127) Elixir Community News - https://github.com/AdRoll/rebar3_hank (https://github.com/AdRoll/rebar3_hank) – rebar3hank detects dead code in Erlang projects and reports it. - https://twitter.com/fiquscoop/status/1592539028578250757 (https://twitter.com/fiquscoop/status/1592539028578250757) - https://unused.codes/ (https://unused.codes/) - https://github.com/hauleth/mix_unused (https://github.com/hauleth/mix_unused) - https://hexdocs.pm/ex_doc/cheatsheet.html (https://hexdocs.pm/ex_doc/cheatsheet.html) – ExDoc v0.29.1 is out with initial support for media prints for cheatsheets - https://twitter.com/josevalim/status/1594649732768489475 (https://twitter.com/josevalim/status/1594649732768489475) - https://github.com/pawurb/ectopsqlextras/pull/31 (https://github.com/pawurb/ecto_psql_extras/pull/31) – Add ability to gets all active connections to the database which can be displayed on the Phoenix LiveDashboard for Ecto. - https://paraxial.io/blog/securing-elixir (https://paraxial.io/blog/securing-elixir) – Learned 2 additional CI checks to run on Elixir projects - https://fly.io/phoenix-files/github-actions-for-elixir-ci/ (https://fly.io/phoenix-files/github-actions-for-elixir-ci/) – Mark's CI/CD guide was updated to include the new checks - https://github.com/mirego/mix_audit (https://github.com/mirego/mix_audit) - https://hexdocs.pm/hex/Mix.Tasks.Hex.Audit.html (https://hexdocs.pm/hex/Mix.Tasks.Hex.Audit.html) – mix hex.audit - https://twitter.com/nathanwillson/status/1594565494941458432 (https://twitter.com/nathanwillson/status/1594565494941458432) – Nathan Willson noticed that Chris recently updated the components in LiveBeats to use the new Phoenix 1.7 abilities - https://github.com/fly-apps/livebeats/blob/master/lib/livebeatsweb/components/corecomponents.ex (https://github.com/fly-apps/live_beats/blob/master/lib/live_beats_web/components/core_components.ex) – LiveBeats project with new corecomponents.ex file - https://twitter.com/agundy_/status/1594558443125350400 (https://twitter.com/agundy_/status/1594558443125350400) – Aaron Gunderson created a really cool basic fly.io Phoenix Function as a Service with auto shutdown sample project. - https://github.com/agundy/fly-faast (https://github.com/agundy/fly-faast) - https://adventofcode.com/2022 (https://adventofcode.com/2022) – Advent of Code 2022 starts on Dec 1st. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU 2023 - in Lisbon Portugal. Hybrid conference 20-21 April 2023 - In person and virtual - https://fosdem.org/2023/ (https://fosdem.org/2023/) – FOSDEM 2023 - Sunday, 5 February 2023 in Brussels, Belgium - https://beam-fosdem.dev/ (https://beam-fosdem.dev/) – BEAM specific gathering and devroom information - https://elixirstatus.com/p/mJpKy-erlang-elixir-and-friends-devroom--fosdem-2023-call-for-talks (https://elixirstatus.com/p/mJpKy-erlang-elixir-and-friends-devroom--fosdem-2023-call-for-talks) - http://elixirstream.dev (http://elixirstream.dev) – David moved the Elixir diffing project and other tools from utils.zest.dev to ElixirStream.dev - https://twitter.com/bernheisel/status/1594549004687364098 (https://twitter.com/bernheisel/status/1594549004687364098) - Starting in 2023, we may not include an interview with every episode. Still bringing you the news! Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://spawnfest.org/ (https://spawnfest.org/) - https://github.com/spawnfest/lively (https://github.com/spawnfest/lively) – Spawnfest submission repo - https://github.com/vorce/kino_ecto (https://github.com/vorce/kino_ecto) – Project continuing after competition - https://forvillelser.vorce.se/posts/2022-11-11-spawnfest-kino-ecto-fka-lively.html (https://forvillelser.vorce.se/posts/2022-11-11-spawnfest-kino-ecto-fka-lively.html) – Blog post about Lively project - https://twitter.com/filipecabaco/status/1581786455688777728 (https://twitter.com/filipecabaco/status/1581786455688777728) – Tweet about the project - https://remote.com/ (https://remote.com/) - https://supabase.com/ (https://supabase.com/) - https://www.talkdesk.com/ (https://www.talkdesk.com/) - https://github.com/dashbitco/nimble_parsec (https://github.com/dashbitco/nimble_parsec) - https://github.com/cocoa-xu/evision (https://github.com/cocoa-xu/evision) - https://twitter.com/uwucocoa (https://twitter.com/_uwu_cocoa) - https://github.com/sorentwo/oban (https://github.com/sorentwo/oban) - https://twitter.com/thramosal (https://twitter.com/thramosal) – Teammate - Thiago Ramos - https://twitter.com/vittoria_bitton (https://twitter.com/vittoria_bitton) – Teammate - Vittoria Bitton Guest Information - https://twitter.com/filipecabaco (https://twitter.com/filipecabaco) – Filipe Cabaço on Twitter - https://github.com/filipecabaco/ (https://github.com/filipecabaco/) – Filipe Cabaço on Github - https://filipecabaco.com (https://filipecabaco.com) – Blog - https://twitter.com/octavorce (https://twitter.com/octavorce) – Joel Carlbark on Twitter - https://github.com/vorce/ (https://github.com/vorce/) – Joel Carlbark on Github - https://forvillelser.vorce.se/ (https://forvillelser.vorce.se/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
It's important to learn safe coding practices. As developers, we want people to love our products and happily pay to use them. We also want to protect our services and users from hackers and information leaks. However, sometimes we unknowingly create vulnerabilities in our systems. One of the best ways to prevent problems is to train the team working on the project. To help do this, Holden Oullette started an OpenSource project called Elixir Secure Coding Training for teams. Livebook based, the lessons can be forked and customized for what's relevant to our projects. Check out what's already available! There's more work and lessons to create. People are invited to jump in and help out. The goal is to create an education and training resource for the Elixir community! Show Notes online - http://podcast.thinkingelixir.com/122 (http://podcast.thinkingelixir.com/122) Elixir Community News - https://twitter.com/AshFramework/status/1582062954891350016 (https://twitter.com/AshFramework/status/1582062954891350016) – Ash Framework 2.0 released - https://github.com/ash-project/ash/blob/2.0/CHANGELOG.md (https://github.com/ash-project/ash/blob/2.0/CHANGELOG.md) – Ash Framework changelog - https://www.ash-hq.org/ (https://www.ash-hq.org/) - https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/92 (https://elixirforum.com/t/ex-cldr-common-locale-data-repository-cldr-functions-for-elixir/17350/92) – Ex_cldr and Kip Cole's development plans - https://podcast.thinkingelixir.com/120 (https://podcast.thinkingelixir.com/120) – Interview with Kip Cole - https://hexdocs.pm/excldrroutes (https://hexdocs.pm/ex_cldr_routes) – New CLDR library to help localize Phoenix routes - https://hexdocs.pm/phoenixlocalizedroutes (https://hexdocs.pm/phoenix_localized_routes) – There are other route localizing options as well - https://twitter.com/lukaszsamson/status/1578521810554916864 (https://twitter.com/lukaszsamson/status/1578521810554916864) – Elixir-LS fixed 4 year old bug with help from reporter! - https://github.com/elixir-lsp/elixir-ls/issues/120 (https://github.com/elixir-lsp/elixir-ls/issues/120) – Elixir-LS history and details on the fix - https://twitter.com/fhunleth/status/1580524909939556353 (https://twitter.com/fhunleth/status/1580524909939556353) – Nerves on Apple silicon improvements in upcoming release - https://spawnfest.org/ (https://spawnfest.org/) – Spawnfest competition closed. People sharing their creations. - https://twitter.com/spawnfest/status/1581347422671806464 (https://twitter.com/spawnfest/status/1581347422671806464) – List of Spawnfest judges - https://twitter.com/michalmuskala/status/1581743531764617217 (https://twitter.com/michalmuskala/status/1581743531764617217) – JSON Native project shared - https://github.com/spawnfest/json_native (https://github.com/spawnfest/json_native) - https://twitter.com/livebookdev/status/1581995785637756928 (https://twitter.com/livebookdev/status/1581995785637756928) – Livebook Ecto extension called Lively supports Entity Relationship Diagrams and more. - https://github.com/orgs/spawnfest/repositories?q=2022+in%3Atopics (https://github.com/orgs/spawnfest/repositories?q=2022+in%3Atopics) – See all the submissions with this non-obvious GitHub search - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU 2023 in in Lisbon Portugal - Hybrid conference 20-21 April 2023 - In person and virtual Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://github.com/Podium/elixir-secure-coding (https://github.com/Podium/elixir-secure-coding) - https://www.podium.com/ (https://www.podium.com/) - https://jupyter.org/ (https://jupyter.org/) - https://twitter.com/holdenoullette/status/1565486046237921280 (https://twitter.com/holdenoullette/status/1565486046237921280) - https://2022.elixirconf.com/speakers/holden-oullette (https://2022.elixirconf.com/speakers/holden-oullette) - https://owasp.org/Top10/ (https://owasp.org/Top10/) - https://en.wikipedia.org/wiki/Capturetheflag_(cybersecurity) (https://en.wikipedia.org/wiki/Capture_the_flag_(cybersecurity)) - https://github.com/podium/elixir-secure-coding/blob/main/modules/4-graphql.livemd (https://github.com/podium/elixir-secure-coding/blob/main/modules/4-graphql.livemd) – Incomplete GraphQL module - https://hex.pm/packages/sobelow (https://hex.pm/packages/sobelow) - https://semgrep.dev/ (https://semgrep.dev/) - https://www.theregister.com/2016/03/23/npmleftpad_chaos/ (https://www.theregister.com/2016/03/23/npm_left_pad_chaos/) – Background on "left pad" - https://github.com/podium/vigil (https://github.com/podium/vigil) Guest Information - https://twitter.com/holdenoullette (https://twitter.com/holdenoullette) – on Twitter - https://github.com/houllette/ (https://github.com/houllette/) – on Github - https://oullette.xyz (https://oullette.xyz) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
We were surprised to see how well Elixir and Phoenix performed in the Stack Overflow survey results for 2022! Elixir came in as the #2 most loved language and Phoenix as the #1 most loved framework! And this was their first year appearing as official choices in the survey! We discuss what it means, what we can learn from it, how it compares to other languages and frameworks and what it may indicate for the future. We also discuss ideas to help support and grow the community. Show Notes online - http://podcast.thinkingelixir.com/108 (http://podcast.thinkingelixir.com/108) Elixir Community News - https://twitter.com/josevalim/status/1544350119759212550 (https://twitter.com/josevalim/status/1544350119759212550) – José Valim's ElixirConf EU keynote is available online. - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZuuF39ADAh6IwIuh8K6gd (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZuuF39_A_DAh6IwIuh8K6gd) – Playlist of other talks. As of this recording there are only 3 available. - José promoted the 5-part series we did with him covering many of the Elixir releases over the past 10 years. - https://podcast.thinkingelixir.com/82 (https://podcast.thinkingelixir.com/82) – Part 1 - https://podcast.thinkingelixir.com/87 (https://podcast.thinkingelixir.com/87) – Part 2 - https://podcast.thinkingelixir.com/91 (https://podcast.thinkingelixir.com/91) – Part 3 - https://podcast.thinkingelixir.com/96 (https://podcast.thinkingelixir.com/96) – Part 4 - https://podcast.thinkingelixir.com/100 (https://podcast.thinkingelixir.com/100) – Part 5 - https://twitter.com/samaaron/status/1544985753964482560 (https://twitter.com/samaaron/status/1544985753964482560) – The "Jab Ready" v4 of Sonic Pi was released. - https://podcast.thinkingelixir.com/106 (https://podcast.thinkingelixir.com/106) – Our recent interview with Sam Aaron on the Sonic Pi project. - https://github.com/sonic-pi-net/sonic-pi/releases/tag/v4.0.0 (https://github.com/sonic-pi-net/sonic-pi/releases/tag/v4.0.0) – v4 of the Sonic Pi - https://twitter.com/yoooodaaaa/status/1544434779327811585 (https://twitter.com/yoooodaaaa/status/1544434779327811585) – Steve Bussey created a Chrome browser extension using LiveView - https://twitter.com/josevalim/status/1545160415042314241 (https://twitter.com/josevalim/status/1545160415042314241) – Livebook Pro idea is dropped. Pursuing an idea called Livebook Hub - https://livebook.dev/ (https://livebook.dev/) – Livebook site, register to be notified about Livebook Hub - https://github.com/fuelen/ecto_erd (https://github.com/fuelen/ecto_erd) – Ecto ERD docs updated. Works fine on umbrella projects. - https://elixirforum.com/t/nerves-1-8-released/48887 (https://elixirforum.com/t/nerves-1-8-released/48887) – Nerves v1.8 released - https://github.com/elixir-lsp/elixir-ls/blob/v0.10.0/CHANGELOG.md#v0100-10-june-2022 (https://github.com/elixir-lsp/elixir-ls/blob/v0.10.0/CHANGELOG.md#v0100-10-june-2022) – ElixirLS v0.10.0 has been released - https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null (https://blog.rustprooflabs.com/2022/07/postgres-15-unique-improvement-with-null) – Postgres 15 adds a new UNIQUE NULLS NOT DISTINCT option - https://twitter.com/AshFramework/status/1545501181308551168 (https://twitter.com/AshFramework/status/1545501181308551168) – Ash Framework coming out of beta with revamped docs - https://podcast.thinkingelixir.com/27 (https://podcast.thinkingelixir.com/27) – Interview with Zach Daniel about Ash Framework - https://2022.elixirconf.com/registration (https://2022.elixirconf.com/registration) – ElixirConf 2022 - hybrid conference. Aug 30+31 are training days - Sept 1+2 are conference days Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://survey.stackoverflow.co/2022/ (https://survey.stackoverflow.co/2022/) – The Stack Overflow survey results for 2022 - https://twitter.com/josevalim/status/1540252711626706944 (https://twitter.com/josevalim/status/1540252711626706944) – José Valim's thoughts on what the results meant - https://twitter.com/brainlid/status/1542470805149319170 (https://twitter.com/brainlid/status/1542470805149319170) – Asking what others thought it meant. Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
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 (http://podcast.thinkingelixir.com/101) Elixir Community News - https://www.erlang.org/blog/my-otp-25-highlights/ (https://www.erlang.org/blog/my-otp-25-highlights/) – OTP 25 was officially released - https://www.erlang.org/eeps/eep-0049 (https://www.erlang.org/eeps/eep-0049) – EEP document discussing the “maybe” expression - https://www.erlang.org/doc/reference_manual/expressions.html#maybe (https://www.erlang.org/doc/reference_manual/expressions.html#maybe) – Official docs for “maybe” feature - https://www.erlang.org/blog/faster-rand/ (https://www.erlang.org/blog/faster-rand/) – A new fast Pseudo Random Generator - https://jobs.ericsson.com/job/Stockholm-Open-SourceErlang-Developer-Stoc/746811902/ (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 (https://www.bbc.com/news/business-61562651) – Klarna layoffs - https://hexdocs.pm/elixir/main/PartitionSupervisor.html (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 (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 (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://ionicframework.com/) - https://twitter.com/ElixirConf/status/1526654041626923008 (https://twitter.com/ElixirConf/status/1526654041626923008) – ElixirConf 2022 in Colorado - CFP is open - https://2022.elixirconf.com/speaker-cfp (https://2022.elixirconf.com/speaker-cfp) – Where to submit your talk proposal - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30-Sep2 Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://litestream.io/ (https://litestream.io/) - https://fly.io/blog/all-in-on-sqlite-litestream/ (https://fly.io/blog/all-in-on-sqlite-litestream/) - https://github.com/benbjohnson/litestream (https://github.com/benbjohnson/litestream) – Project on Github - https://sqlite.org/index.html (https://sqlite.org/index.html) - https://sqlite.org/whentouse.html (https://sqlite.org/whentouse.html) – SQLite guide on "when to use" it - https://github.com/elixir-sqlite/ecto_sqlite3 (https://github.com/elixir-sqlite/ecto_sqlite3) - https://github.com/boltdb/bolt (https://github.com/boltdb/bolt) - https://en.wikipedia.org/wiki/Write-ahead_logging (https://en.wikipedia.org/wiki/Write-ahead_logging) - https://raft.github.io/ (https://raft.github.io/) - https://en.wikipedia.org/wiki/Conflict-freereplicateddata_type (https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) - https://litestream.io/tips/ (https://litestream.io/tips/) – Page covers tips - https://www.kernel.org/doc/html/latest/filesystems/fuse.html (https://www.kernel.org/doc/html/latest/filesystems/fuse.html) – Understanding what a FUSE filesystem is Guest Information - https://twitter.com/benbjohnson (https://twitter.com/benbjohnson) – on Twitter - https://github.com/benbjohnson/ (https://github.com/benbjohnson/) – on Github - https://github.com/benbjohnson/litestream (https://github.com/benbjohnson/litestream) – Project on Github Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
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 (http://podcast.thinkingelixir.com/100) Elixir Community News - https://news.livebook.dev/v0.6-automate-and-learn-with-smart-cells-mxJJe (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 (https://twitter.com/josevalim/status/1524761086880276482) – Livebook Twitter thread - https://www.youtube.com/watch?v=4hVIxyHxwK8 (https://www.youtube.com/watch?v=4hVIxyHxwK8) – Livebook announcement and demonstration video - https://youtu.be/4hVIxyHxwK8?t=409 (https://youtu.be/4hVIxyHxwK8?t=409) – Time signature for talking about making custom Smart Cells - https://github.com/livebook-dev/nerves_livebook (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/ (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 (https://meta.stackoverflow.com/questions/417991/take-the-2022-developer-survey) – More information about the survey - https://twitter.com/DNAutics/status/1526358294016794624 (https://twitter.com/DNAutics/status/1526358294016794624) – Zig adds the ability to execute Javascript from Zig - https://github.com/wojtekmach/req (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_easyhtml) - https://github.com/wojtekmach/req_hex (https://github.com/wojtekmach/req_hex) - https://twitter.com/wojtekmach/status/1525226000283467776 (https://twitter.com/wojtekmach/status/1525226000283467776) – Wojtek teasing a new Req feature - https://twitter.com/wojtekmach/status/1525972732680232960 (https://twitter.com/wojtekmach/status/1525972732680232960) – Wojtek teasing another new Req feature - https://www.youtube.com/playlist?list=PLyO-58-sOapwMYqvLRtvV8AGPdREu5Wg7 (https://www.youtube.com/playlist?list=PLyO-58-sOapwMYqvLRtvV8AGPdREu5Wg7) – Empex MTN presentation videos are up! - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (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 (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://podcast.thinkingelixir.com/82 (https://podcast.thinkingelixir.com/82) – Reviewing Elixir with José Valim - Part 1 - https://podcast.thinkingelixir.com/87 (https://podcast.thinkingelixir.com/87) – Reviewing Elixir with José Valim - Part 2 - https://podcast.thinkingelixir.com/91 (https://podcast.thinkingelixir.com/91) – Reviewing Elixir with José Valim - Part 3 - https://podcast.thinkingelixir.com/96 (https://podcast.thinkingelixir.com/96) – Reviewing Elixir with José Valim - Part 4 - https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.13/CHANGELOG.md) – v1.13 - https://podcast.thinkingelixir.com/60 (https://podcast.thinkingelixir.com/60) – 60 - Compile Faster with Marc-André Lafortune - mix xref trace FILE - https://podcast.thinkingelixir.com/54 (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 (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 (https://podcast.thinkingelixir.com/54) – AST Parsing using Sourceror with Lucas San Román - https://talonvoice.com/ (https://talonvoice.com/) - https://www.erlang.org/eeps/eep-0054.html (https://www.erlang.org/eeps/eep-0054.html) - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU - hybrid conference 9-10 June 2022 - https://livebook.dev/ (https://livebook.dev/) - https://github.com/elixir-nx/explorer (https://github.com/elixir-nx/explorer) - https://github.com/elixir-nx/scholar (https://github.com/elixir-nx/scholar) - https://github.com/elixir-nx/axon/ (https://github.com/elixir-nx/axon/) - https://podcast.thinkingelixir.com/95 (https://podcast.thinkingelixir.com/95) – Rustler Precompiled with Philip Sampaio - https://github.com/lukaszsamson (https://github.com/lukaszsamson) - https://github.com/elixir-lsp/elixir-ls (https://github.com/elixir-lsp/elixir-ls) - https://github.com/elixir-lang/elixir/issues?q=is%3Aopen+is%3Aissue+milestone%3Av2.0 (https://github.com/elixir-lang/elixir/issues?q=is%3Aopen+is%3Aissue+milestone%3Av2.0) - https://www.youtube.com/watch?v=9jK-NcRmVcw (https://www.youtube.com/watch?v=9jK-NcRmVcw) – Europe - The Final Countdown Guest Information - https://twitter.com/josevalim (https://twitter.com/josevalim) – on Twitter - https://github.com/josevalim (https://github.com/josevalim) – on Github - https://dashbit.co/ (https://dashbit.co/) – Dashbit website and blog - https://erlef.org/news/ (https://erlef.org/news/) – The Erlang Ecosystem Foundation news Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
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 (http://podcast.thinkingelixir.com/97) Elixir Community News - https://twitter.com/wojtekmach/status/1516533938977705990 (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 (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 (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 (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/ (https://gleam.run/news/v0.21-introducing-the-gleam-language-server/) – Gleam now has a language server - https://twitter.com/cigrainger/status/1518896955921154048 (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 (https://hexdocs.pm/explorer/exploring_explorer.html) – Includes a “Ten Minutes to Explorer” Livebook guide - https://twitter.com/MozillaHubs/status/1516469058849312768 (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://hubs.mozilla.com/) - https://github.com/mozilla/hubs (https://github.com/mozilla/hubs) - https://github.com/mozilla/reticulum (https://github.com/mozilla/reticulum) - https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla (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 (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/ (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 (https://codesync.global/conferences/code-beam-sto-2022/#schedule) – CodeBeam in Stockholm Sweden speaker lineup and schedule are out. - https://www.empex.co/mtn (https://www.empex.co/mtn) – Empex MTN in Salt Lake City on May 6 - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30-Sep2 Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://davelucia.com/blog/avro-2.0 (https://davelucia.com/blog/avro-2.0) - https://github.com/beam-community/avro_ex (https://github.com/beam-community/avro_ex) - https://avro.apache.org/ (https://avro.apache.org/) - https://kafka.apache.org/ (https://kafka.apache.org/) - https://podcast.thinkingelixir.com/75 (https://podcast.thinkingelixir.com/75) – Previous discussion - https://www.bloomberg.com/professional/solution/bloomberg-terminal/ (https://www.bloomberg.com/professional/solution/bloomberg-terminal/) - https://theoutline.com/ (https://theoutline.com/) - https://elm-lang.org/ (https://elm-lang.org/) - https://developers.google.com/protocol-buffers/ (https://developers.google.com/protocol-buffers/) - https://thrift.apache.org/ (https://thrift.apache.org/) - https://github.com/klarna/erlavro (https://github.com/klarna/erlavro) - https://databricks.com/ (https://databricks.com/) - https://spark.apache.org/ (https://spark.apache.org/) - https://en.wikipedia.org/wiki/Extract,transform,load (https://en.wikipedia.org/wiki/Extract,_transform,_load) - https://databricks.com/glossary/what-is-parquet (https://databricks.com/glossary/what-is-parquet) - https://www.snowflake.com/workloads/data-lake/ (https://www.snowflake.com/workloads/data-lake/) - https://github.com/beam-community (https://github.com/beam-community) - https://github.com/doomspork (https://github.com/doomspork) - https://github.com/surface-ui/surface (https://github.com/surface-ui/surface) - https://github.com/pragdave/earmark (https://github.com/pragdave/earmark) - https://github.com/pragdave (https://github.com/pragdave) - https://github.com/davydog187/marx (https://github.com/davydog187/marx) - https://www.youtube.com/watch?v=dmBdFh5N1g4 (https://www.youtube.com/watch?v=dmBdFh5N1g4) – Migrating from Kafka to RabbitMQ at SimpleBet - Why and How - https://twitter.com/davydog187/status/1512393866653011968 (https://twitter.com/davydog187/status/1512393866653011968) – Announced leaving SimpleBet and co-founding something new. - https://twitter.com/davydog187/status/1512393877575110668 (https://twitter.com/davydog187/status/1512393877575110668) – Co-Founding Bitfo as the CTO. - https://www.bitfo.com/ (https://www.bitfo.com/) - https://ethereumprice.org/ (https://ethereumprice.org/) - https://www.bitcoinprice.com/ (https://www.bitcoinprice.com/) - https://defirate.com/ (https://defirate.com/) Guest Information - https://twitter.com/davydog187 (https://twitter.com/davydog187) – on Twitter - https://github.com/davydog187/ (https://github.com/davydog187/) – on Github - https://davelucia.com (https://davelucia.com) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
Today's guest is Devon Estes, who leads the third-party integration team at Remote, a company that uses technology to make it easier for other companies to hire remote employees (not contractors, actual employees) from over 100 countries across the world. Prior to working at Remote (which he loves, as you'll hear today), Devon was a freelancer and avid public speaker, and some of his talks from many years ago are still relevant today. In this conversation, Devon explains why functional programming is easier to use than any other programming type, and how the only thing holding you back from becoming a master is your desire to learn! Key Points From This Episode: Guest host Dan Ivovich explains what prompted him to come up with the theme for this season; Elixir in a Polyglot Environment. A brief rundown of Devon's daily life. Content that Devon covers in the talks that he gives these days. Devon explains what his role at Remote (where he has worked since November 2021) involves. A challenge that Devon has noticed other people facing when learning Elixir. An overview of what Remote does, and the specific area that Devon's team focuses on. Functional programming versus object-oriented programming. Devon shares an example of the power of Elixir. The importance of libraries in making Elixir a viable language for data scientists. Devon's thoughts on mutation testing. Why Devon doesn't do a lot of open-source work anymore. How Remote has grown over the past year and a half. One of the things that Devon loves about working at Remote. Links Mentioned in Today's Episode: Devon Estes on Twitter — https://twitter.com/devoncestes Devon Estes — https://devonestes.com/ Refactoring Elixir — https://www.youtube.com/watch?v=tJJMrtJEK1A Going Multi-Node with ExUnit— https://www.youtube.com/watch?v=elC_8PhWRTg Designing Elixir Systems with OTP — https://www.goodreads.com/book/show/45159167-designing-elixir-systems-with-otp ElixirConf EU — https://www.elixirconf.eu/ Remote — http://remote.com/ SmartLogic — https://smartlogic.io/ Jobs at SmartLogic — https://smartlogic.io/jobs Special Guest: Devon Estes.
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 (http://podcast.thinkingelixir.com/93) Elixir Community News - https://erlef.org/blog/eef/election-2022-results (https://erlef.org/blog/eef/election-2022-results) – Erlang Ecosystem Foundation board election voting results - https://erlef.org/blog/eef/election-2022 (https://erlef.org/blog/eef/election-2022) – Previous election notice and explanations - https://hexdocs.pm/ex_doc/changelog.html (https://hexdocs.pm/ex_doc/changelog.html) – ExDoc v0.28.3 was released - https://twitter.com/josevalim/status/1508528099973120004 (https://twitter.com/josevalim/status/1508528099973120004) – Call to help move ExDoc away from webpack to esbuild - https://twitter.com/dominicletz/status/1506675402059792388 (https://twitter.com/dominicletz/status/1506675402059792388) – iOS app store now has an Elixir application deployed in it! - https://podcast.thinkingelixir.com/69 (https://podcast.thinkingelixir.com/69) – Previous interview with Dominic Letz about doing Elixir on the desktop and mobile. - https://www.erlang.org/news/155 (https://www.erlang.org/news/155) – Erlang 25.0 rc-2 was released and requesting feedback - https://twitter.com/josevalim/status/1507443537851392007 (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 (https://www.empex.co/mtn) – Empex MTN in Salt Lake City on May 6 - https://codesync.global/conferences/code-beam-sto-2022/ (https://codesync.global/conferences/code-beam-sto-2022/) – CodeBEAM in Stockholm on May 19-20 - https://www.elixirconf.eu/ (https://www.elixirconf.eu/) – ElixirConf EU in London on June 9-10 - https://elixirconf.com/events (https://elixirconf.com/events) – ElixirConf US in Colorado on August 30-Sep2 - https://github.com/lucasvegi/Elixir-Code-Smells (https://github.com/lucasvegi/Elixir-Code-Smells) – Elixir Code Smells - public project - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/) – Safe Ecto Migrations - https://twitter.com/TylerAYoung/status/1508413319178297352 (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 (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.paraxial.io/blog/throttle-requests (https://www.paraxial.io/blog/throttle-requests) - https://github.com/michalmuskala/plug_attack (https://github.com/michalmuskala/plug_attack) - https://owasp.org/Top10/ (https://owasp.org/Top10/) - https://github.com/magento/magento2/issues/28614 (https://github.com/magento/magento2/issues/28614) – What is a carding attack? - https://owasp.org/www-project-automated-threats-to-web-applications/ (https://owasp.org/www-project-automated-threats-to-web-applications/) - http://paraxial.io/ (http://paraxial.io/) - https://frame.io/ (https://frame.io/) - https://news.adobe.com/news/news-details/2021/Adobe-Completes-Acquisition-of-Frame.io/default.aspx (https://news.adobe.com/news/news-details/2021/Adobe-Completes-Acquisition-of-Frame.io/default.aspx) - https://www.metasploit.com/ (https://www.metasploit.com/) - https://www.crunchbase.com/ (https://www.crunchbase.com/) - https://owasp.org/www-community/attacks/Credential_stuffing (https://owasp.org/www-community/attacks/Credential_stuffing) - https://en.wikipedia.org/wiki/Webapplicationfirewall (https://en.wikipedia.org/wiki/Web_application_firewall) Guest Information - https://twitter.com/paraxialio (https://twitter.com/paraxialio) – on Twitter - https://github.com/paraxialio/ (https://github.com/paraxialio/) – on Github - https://paraxial.io/ (https://paraxial.io/) – Website - sales@paraxial.io Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
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 (http://podcast.thinkingelixir.com/77) Elixir Community News - https://www.twitch.tv/josevalim (https://www.twitch.tv/josevalim) – José Valim started the Advent of Code live streams on Twitch - https://github.com/josevalim/aoc/tree/main/2021 (https://github.com/josevalim/aoc/tree/main/2021) – Livebook solution source code - https://www.youtube.com/playlist?list=PLNP8vc86-SOV1ZEvXq9BLYWL586zWnF (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/uwucocoa/status/1467078512293130243 (https://twitter.com/_uwu_cocoa/status/1467078512293130243) – Computer vision in Livebook using OpenCV - https://github.com/cocoa-xu/evision (https://github.com/cocoa-xu/evision) – evision pulls OpenCV source code from GitHub, parse and automatically generates corresponding OpenCV-Elixir bindings. - https://twitter.com/uwucocoa/status/1466675653072371717 (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/ (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 (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 (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 (https://angelika.me/elixir-enum-cheatsheet/#slide/3) – Angelika's update cheatsheet and the slide function - https://gleam.run/news/gleam-v0.18-released/ (https://gleam.run/news/gleam-v0.18-released/) – Gleam v0.18 released - https://blog.rentpathcode.com/introducing-eflamb%C3%A9-3065e70f9eb (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 (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 (https://twitter.com/dorgan_/status/1467189972847452169) – The Sourceror library got a new release. V0.9.0. - http://podcast.thinkingelixir.com/54 (http://podcast.thinkingelixir.com/54) – Our previous interview with Lucas San Román about Sourceror - https://github.com/supabase/supabase/tree/master/studio (https://github.com/supabase/supabase/tree/master/studio) – Supabase recently open sourced their Dashboard. - https://thinkingelixir.fireside.fm/73 (https://thinkingelixir.fireside.fm/73) – Our previous interview with Paul Copplestone at Supabase - https://www.elixirconf.eu/ (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 (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://www.empex.co/mtn (https://www.empex.co/mtn) – EMPEX MTN - Salt Lake City, UT - May 6, 2022 - https://www.youtube.com/channel/UCIYiFWyuEytDzyju6uXW40Q (https://www.youtube.com/channel/UCIYiFWyuEytDzyju6uXW40Q) – YouTube Playlists for previous EMPEX Conferences - https://knock.app/ (https://knock.app/) - https://podcasts.apple.com/us/podcast/elixir-talk/id1298287048 (https://podcasts.apple.com/us/podcast/elixir-talk/id1298287048) – Elixir Talk podcast - https://knock.app/about (https://knock.app/about) - https://www.twilio.com/ (https://www.twilio.com/) - https://sendgrid.com/ (https://sendgrid.com/) - https://www.frame.io/ (https://www.frame.io/) - https://mux.com/ (https://mux.com/) - https://twitter.com/codevisuals/status/838881724016787457?lang=en (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 (https://github.com/sorentwo/oban) Guest Information - https://twitter.com/cjbell_ (https://twitter.com/cjbell_) – on Twitter - https://github.com/cjbell/ (https://github.com/cjbell/) – on Github - https://twitter.com/empexco (https://twitter.com/empexco) – Empex on Twitter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
No oitavo episódio da série Elixir em Produção, conversamos com Willian Frantz, Alquimista de Software na Trybe e com Letícia Silva, que é DSC Lead, Cientista de dados, professora de programação e criadora de conteúdo. Links do Wllian: Linkedin https://www.linkedin.com/in/willianfrantz/. Twitter https://twitter.com/frantz_willian Blog https://dev.to/wlsf/ Palestra na ElixirConf EU 2021: Diving into Ecto.Query https://www.elixirconf.eu/talks/diving-into-ecto.query/ https://www.elixirconf.eu/participants/willian-frantz/ Palestra na Code Beam America 2021: USING NEO4J AND THE BEAM TO EVALUATE STUDENTS' PROFICIENCY https://codesync.global/speaker/willian-frantz/ Links da Letícia: Linkedin https://www.linkedin.com/in/leticiasilvar/ Twitter https://twitter.com/dii_lua Letícia Silva no Emílias Podcast - Parte 1 https://anchor.fm/emilias-podcast/episodes/Letcia-Silva-Head-de-Cincia-de-Dados-na-2MI-parte-1-ed4i23 Letícia Silva no Emílias Podcast - Parte 2 https://anchor.fm/emilias-podcast/episodes/Letcia-Silva-Head-de-Cincia-de-Dados-na-2MI-parte-2-eddms9 Botech-in #2 - Alda Rocha e João Britto https://www.twitch.tv/dii_lua/video/1158263346 Nosso site é https://elixiremfoco.com. Estamos no Twitter em @elixiremfoco https://twitter.com/elixiremfoco. Nosso email é elixiremfoco@gmail.com. Edição do Episódio por: Douglas (Zero35) com apoio da Stone. --- Send in a voice message: https://anchor.fm/elixiremfoco/message
This week, the panel gets in and talks about Elixir is not just a specialty language for high concurrency applications with specific performance profiles. They dive into how Elixir can be used in a variety of cases and how it is set up as a language that allows you to solve the breadth of issues that other popular languages solve without being specialized to them. Panel Adi Iyengar Allen Wyma Sascha Wolf Sponsors Dev Influencers Accelerator Links Erlang Term Storage (ETS) dets (stdlib) - (Erlang Documentation) JVM struggles and the BEAM Picks Adi- How to split a router into multiple modules using Phoenix Adi- ElixirConf EU 2021 volunteer application form Contact Adi: Adi Iyengar – The Bug Catcher GitHub: Adi Iyengar ( thebugcatcher ) Twitter: Adi Iyengar ( @lebugcatcher ) Contact Allen: Plangora Plangora Limited Plangora – YouTube Plangora | Facebook Tech_Plangora Limited_Elixir | Instagram Twitter: Plangora ( @Plangora ) LinkedIn: Plangora – Web and Mobile Development Plangora – Reddit Flying High With Flutter Flying High With Flutter Flying High with Flutter – YouTube Flying High with Flutter | Facebook Flying High With Flutter | Instagram Twitter: Flying High with Flutter ( @fhwflutter )
This week, the panel gets in and talks about Elixir is not just a specialty language for high concurrency applications with specific performance profiles. They dive into how Elixir can be used in a variety of cases and how it is set up as a language that allows you to solve the breadth of issues that other popular languages solve without being specialized to them. Panel Adi Iyengar Allen Wyma Sascha Wolf Sponsors Dev Influencers Accelerator Links Erlang Term Storage (ETS) dets (stdlib) - (Erlang Documentation) JVM struggles and the BEAM Picks Adi- How to split a router into multiple modules using Phoenix Adi- ElixirConf EU 2021 volunteer application form Contact Adi: Adi Iyengar – The Bug Catcher GitHub: Adi Iyengar ( thebugcatcher ) Twitter: Adi Iyengar ( @lebugcatcher ) Contact Allen: Plangora Plangora Limited Plangora – YouTube Plangora | Facebook Tech_Plangora Limited_Elixir | Instagram Twitter: Plangora ( @Plangora ) LinkedIn: Plangora – Web and Mobile Development Plangora – Reddit Flying High With Flutter Flying High With Flutter Flying High with Flutter – YouTube Flying High with Flutter | Facebook Flying High With Flutter | Instagram Twitter: Flying High with Flutter ( @fhwflutter )
The Elixir Mix Panel discussions the history of Elixir and the high points and big changes in the language and ecosystem. They go into the big changes that brought about growth in the ecosystem, ease of use in the language, better features, and much more. Panel Adi Iyengar Allen Wyma Charles Wood Sascha Wolf Sponsors Dev Influencers Accelerator Links ElixirConf 2021 Debugging With Tracing in Elixir Call for Proposals for ElixirConf EU 2021 Picks Adi- Simplebet - Software Engineer Adi- Career Opportunities | Annkissam Allen- Just-in-Time Mode - Tailwind CSS Charles- Premium Podcast Feeds | Devchat.tv Charles- Who Not How Charles- The Miracle Morning Charles- Psycho-Cybernetics Charles- As a man Thinketh Charles- Dev Influencers | Devchat.tv Sascha- Bypass - bypass v2.1.0 Contact Adi: Adi Iyengar – The Bug Catcher GitHub: Adi Iyengar ( thebugcatcher ) Twitter: Adi Iyengar ( @lebugcatcher ) Contact Allen: Plangora Plangora Limited Plangora – YouTube Plangora | Facebook Tech_Plangora Limited_Elixir | Instagram Twitter: Plangora ( @Plangora ) LinkedIn: Plangora – Web and Mobile Development Plangora – Reddit Flying High With Flutter Flying High With Flutter Flying High with Flutter – YouTube Flying High with Flutter | Facebook Flying High With Flutter | Instagram Twitter: Flying High with Flutter ( @fhwflutter ) Teach Me Code Teach Me Code Teach Me Code | Facebook TeachMeCode | Instagram Contact Charles: Devchat.tv DevChat.tv | Facebook Twitter: DevChat.tv ( @devchattv ) Contact Sascha: Sascha Wolf
The Elixir Mix Panel discussions the history of Elixir and the high points and big changes in the language and ecosystem. They go into the big changes that brought about growth in the ecosystem, ease of use in the language, better features, and much more. Panel Adi Iyengar Allen Wyma Charles Wood Sascha Wolf Sponsors Dev Influencers Accelerator Links ElixirConf 2021 Debugging With Tracing in Elixir Call for Proposals for ElixirConf EU 2021 Picks Adi- Simplebet - Software Engineer Adi- Career Opportunities | Annkissam Allen- Just-in-Time Mode - Tailwind CSS Charles- Premium Podcast Feeds | Devchat.tv Charles- Who Not How Charles- The Miracle Morning Charles- Psycho-Cybernetics Charles- As a man Thinketh Charles- Dev Influencers | Devchat.tv Sascha- Bypass - bypass v2.1.0 Contact Adi: Adi Iyengar – The Bug Catcher GitHub: Adi Iyengar ( thebugcatcher ) Twitter: Adi Iyengar ( @lebugcatcher ) Contact Allen: Plangora Plangora Limited Plangora – YouTube Plangora | Facebook Tech_Plangora Limited_Elixir | Instagram Twitter: Plangora ( @Plangora ) LinkedIn: Plangora – Web and Mobile Development Plangora – Reddit Flying High With Flutter Flying High With Flutter Flying High with Flutter – YouTube Flying High with Flutter | Facebook Flying High With Flutter | Instagram Twitter: Flying High with Flutter ( @fhwflutter ) Teach Me Code Teach Me Code Teach Me Code | Facebook TeachMeCode | Instagram Contact Charles: Devchat.tv DevChat.tv | Facebook Twitter: DevChat.tv ( @devchattv ) Contact Sascha: Sascha Wolf
As we ramp back up on recording Elixir Mix, our new panel dives into the resources available for learning and keeping current in Elixir. Resources include books, courses, forums, email newsletters, and more. Panel Allen Wyma Charles Max Wood Eric Bolikowski Sponsors Dev Heroes Accelerator Links Programming Elixir ≥ 1.6: Functional |> Concurrent |> Pragmatic |> Fun by Dave Thomas Elixir in Action by Saša Juric Learning Resources - The Elixir programming language Binary pattern matching in Elixir with PNG parsing example by Zohaib Rauf ElixirWeekly ElixirConf 2020 ElixirConf EU Code BEAM - Erlang & Elixir Ecosystem Virtual Conference Elixir Programming Language Forum Join Elixir on Slack Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems by Francesco Cesarini Elixir Wizards Podcast | SmartLogic Podcast - Thinking Elixir Elixir Outlaws Beam Radio Ottolenghi Picks Allen- YouTube Channel | Plangora Allen- Flutter Folio Charles- The 12 Week Year by Brian P. Moran Charles- TraningPeaks | Hit Your Stride Charles- ClickUp Eric- Ottolenghi Flavor: A Cookbook by Yotam Ottolenghi
As we ramp back up on recording Elixir Mix, our new panel dives into the resources available for learning and keeping current in Elixir. Resources include books, courses, forums, email newsletters, and more. Panel Allen Wyma Charles Max Wood Eric Bolikowski Sponsors Dev Heroes Accelerator Links Programming Elixir ≥ 1.6: Functional |> Concurrent |> Pragmatic |> Fun by Dave Thomas Elixir in Action by Saša Juric Learning Resources - The Elixir programming language Binary pattern matching in Elixir with PNG parsing example by Zohaib Rauf ElixirWeekly ElixirConf 2020 ElixirConf EU Code BEAM - Erlang & Elixir Ecosystem Virtual Conference Elixir Programming Language Forum Join Elixir on Slack Designing for Scalability with Erlang/OTP: Implement Robust, Fault-Tolerant Systems by Francesco Cesarini Elixir Wizards Podcast | SmartLogic Podcast - Thinking Elixir Elixir Outlaws Beam Radio Ottolenghi Picks Allen- YouTube Channel | Plangora Allen- Flutter Folio Charles- The 12 Week Year by Brian P. Moran Charles- TraningPeaks | Hit Your Stride Charles- ClickUp Eric- Ottolenghi Flavor: A Cookbook by Yotam Ottolenghi
Episode Summary In this week’s episode of Elixir Mix the panel follows up with Wiebe-Marten ("Marten") Wijnja about his talk at Elixir Conf EU, where he spoke about the distributed system his team was working on. They start by discussing the eight fallacies of distributed computing that Marten talked about in talk. He lays out a couple of the fallacies and invites listeners to watch his talk for all eight. Marten explains that these fallacies most commonly happen to developers who are used to working with a single system. The panel discusses how to be mindful of these mistakes and how developers take for granted of how easy one system is to use. Marten gives some tool recommendations to help with these fallacies. TLA+ is a small programming language that lets the developer describe their system and it will point out when something is wrong but it works purely on concepts. Erlang quick check implementation is also a tool that will help combat these problems. The last suggestion which was given by the panel is a library called comcast on github that will simulate poor network connections so the developer can see how the system runs on a poor connection. Marten describes the byzantine problem. Two nodes or generals are trying to agree on something but communication keeps failing. The various outcomes are considered and Mark Ericksen gives an additional example of he and Josh Adams trying to connect to record a podcast, and how the miscommunication could change the outcome. This is a big problem that complicates using a distributed system. The panel discussed CRDT’s and how they are a better way for nodes to sync up. Marten gives a very simple example of a CRDT as a counter. The panel discusses when to use CRDT’s and when not too. Marten explains what questions to ask before using CRDT’s. Another way of solving the byzantine problem is by connecting the nodes. The panel discusses the tools they use to connect their nodes. Partisan is one tool, instead of connecting all nodes, each node connects to a specific number of nodes. That way if one node goes down the whole system doesn’t stop, while at the same time not, overwhelming the nodes. Libcluster, another tool, uses Kubernetes and has multiple strategies for connecting nodes so developers can choose the right one for their system. The panel asks Marten about multicall and abcast. Marten explains that these tools help one node talk to all the other nodes in a cluster, and multicall will gather the results. Multicall also tells the developer which nodes failed to respond to the request. Mark shares an example of using these tools to effectively communicate between gen servers. In Marten’s talk, he described four distributed databases. The panel asks Marten to talk about each one of them. The first one is mnesia. Marten talks about his first experience with Mnesia and how he thought it was amazing. He soon realized while it is still a great tool it also has its quirks. He explains that each of these databases has its own quirks. Mnesia doesn't do conflict resolution, that along with a few other things the developer will need to build themselves. This can be a good and bad thing because developers can customize the database to their needs but it’s not ready out of the box. Mark explains the use cases mnesia is good for and even references the mnesia documentation. Cassandra is the next database Marten describes. Cassandra is the database discord uses. Cassandra does not let developers control their own conflict resolution. It always uses the latest time-stamp and with nodes that can be confusing. Couchdb is another database they discuss. Again, couchdb is also not made to deal with conflicts. It will either solve them randomly or the developer can opt into resolving it themselves. The panel discusses times when this is useful, such as when connectivity is intermittent. Riak is the final database and the one Marten’s team chose for their distributed system project. Riak was written in Erlang and is a key-value store and uses CRDT’s. It uses a CRDT conflict resolution. Marten shares his experience using Riak. The panel considers Riak’s history and need for some love. Marten gives an update on planga, the chat application they were building the distributed system for. Marten explains that during the talk they were in the middle of development. He shares the story of why they wanted a distributed system for this chat application. The client they were doing it for wanted to do video streaming but pulled out in the end. When the client no longer needed the video streaming solution they stopped building the distributed system. Marten is still hopeful they will go back and finish it. To end the episode Marten shares his programming journey. He started programming at age nine. At age 12 he started doing professional web development. After a few years of that, he started doing some frontend work in JavaScript. Once that got old, bitcoin was getting big so he and some friends got into that. Finally, he got a job doing backend work with Ruby while at university. When he heard about Elixir he was so excited he learned the basics in one weekend and has loved it ever since. Panelists Mark Ericksen Josh Adams Guest Wiebe-Marten ("Marten") Wijnja Sponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan Adventures in DevOps My Ruby Story CacheFly Links Wiebe Marten Wijnja - An adventure in distributed programming - ElixirConf EU 2019 https://elixirforum.com/ https://lamport.azurewebsites.net/tla/tla.html http://www.quviq.com/products/erlang-quickcheck/ https://github.com/tylertreat/Comcast https://en.wikipedia.org/wiki/Byzantine_fault#Byzantine_Generals'_Problem https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type https://github.com/bitwalker/libcluster http://partisan.cloud/ http://erlang.org/doc/man/mnesia.html https://learnyousomeerlang.com/mnesia How Discord Stores Billions of Messages https://pouchdb.com/ https://planga.io/ https://riak.com/ https://github.com/basho/riak_core https://riak.com/where-to-start-with-riak-core/ Using Erlang, Riak and the ORSWOT CRDT at bet365 (...) - Michael Owen - Erlang User Conference 2015 https://hex.pm/packages/effects https://github.com/graninas/automatic-whitebox-testing-showcase https://github.com/Qqwy/elixir-riak_ecto3 https://hex.pm/packages/sea https://twitter.com/WiebeMarten https://github.com/qqwy/ https://wmcode.nl https://www.facebook.com/Elixir-Mix https://twitter.com/elixir_mix Picks Mark Ericksen: ElixirConf YouTube Channel Josh Adams: Automatic White-Box Testing with Free Monads Wiebe-Marten ("Marten") Wijnja: https://propertesting.com/ https://globalgamejam.org/ https://polyphasic.net/
Episode Summary In this week’s episode of Elixir Mix the panel follows up with Wiebe-Marten ("Marten") Wijnja about his talk at Elixir Conf EU, where he spoke about the distributed system his team was working on. They start by discussing the eight fallacies of distributed computing that Marten talked about in talk. He lays out a couple of the fallacies and invites listeners to watch his talk for all eight. Marten explains that these fallacies most commonly happen to developers who are used to working with a single system. The panel discusses how to be mindful of these mistakes and how developers take for granted of how easy one system is to use. Marten gives some tool recommendations to help with these fallacies. TLA+ is a small programming language that lets the developer describe their system and it will point out when something is wrong but it works purely on concepts. Erlang quick check implementation is also a tool that will help combat these problems. The last suggestion which was given by the panel is a library called comcast on github that will simulate poor network connections so the developer can see how the system runs on a poor connection. Marten describes the byzantine problem. Two nodes or generals are trying to agree on something but communication keeps failing. The various outcomes are considered and Mark Ericksen gives an additional example of he and Josh Adams trying to connect to record a podcast, and how the miscommunication could change the outcome. This is a big problem that complicates using a distributed system. The panel discussed CRDT’s and how they are a better way for nodes to sync up. Marten gives a very simple example of a CRDT as a counter. The panel discusses when to use CRDT’s and when not too. Marten explains what questions to ask before using CRDT’s. Another way of solving the byzantine problem is by connecting the nodes. The panel discusses the tools they use to connect their nodes. Partisan is one tool, instead of connecting all nodes, each node connects to a specific number of nodes. That way if one node goes down the whole system doesn’t stop, while at the same time not, overwhelming the nodes. Libcluster, another tool, uses Kubernetes and has multiple strategies for connecting nodes so developers can choose the right one for their system. The panel asks Marten about multicall and abcast. Marten explains that these tools help one node talk to all the other nodes in a cluster, and multicall will gather the results. Multicall also tells the developer which nodes failed to respond to the request. Mark shares an example of using these tools to effectively communicate between gen servers. In Marten’s talk, he described four distributed databases. The panel asks Marten to talk about each one of them. The first one is mnesia. Marten talks about his first experience with Mnesia and how he thought it was amazing. He soon realized while it is still a great tool it also has its quirks. He explains that each of these databases has its own quirks. Mnesia doesn't do conflict resolution, that along with a few other things the developer will need to build themselves. This can be a good and bad thing because developers can customize the database to their needs but it’s not ready out of the box. Mark explains the use cases mnesia is good for and even references the mnesia documentation. Cassandra is the next database Marten describes. Cassandra is the database discord uses. Cassandra does not let developers control their own conflict resolution. It always uses the latest time-stamp and with nodes that can be confusing. Couchdb is another database they discuss. Again, couchdb is also not made to deal with conflicts. It will either solve them randomly or the developer can opt into resolving it themselves. The panel discusses times when this is useful, such as when connectivity is intermittent. Riak is the final database and the one Marten’s team chose for their distributed system project. Riak was written in Erlang and is a key-value store and uses CRDT’s. It uses a CRDT conflict resolution. Marten shares his experience using Riak. The panel considers Riak’s history and need for some love. Marten gives an update on planga, the chat application they were building the distributed system for. Marten explains that during the talk they were in the middle of development. He shares the story of why they wanted a distributed system for this chat application. The client they were doing it for wanted to do video streaming but pulled out in the end. When the client no longer needed the video streaming solution they stopped building the distributed system. Marten is still hopeful they will go back and finish it. To end the episode Marten shares his programming journey. He started programming at age nine. At age 12 he started doing professional web development. After a few years of that, he started doing some frontend work in JavaScript. Once that got old, bitcoin was getting big so he and some friends got into that. Finally, he got a job doing backend work with Ruby while at university. When he heard about Elixir he was so excited he learned the basics in one weekend and has loved it ever since. Panelists Mark Ericksen Josh Adams Guest Wiebe-Marten ("Marten") Wijnja Sponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan Adventures in DevOps My Ruby Story CacheFly Links Wiebe Marten Wijnja - An adventure in distributed programming - ElixirConf EU 2019 https://elixirforum.com/ https://lamport.azurewebsites.net/tla/tla.html http://www.quviq.com/products/erlang-quickcheck/ https://github.com/tylertreat/Comcast https://en.wikipedia.org/wiki/Byzantine_fault#Byzantine_Generals'_Problem https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type https://github.com/bitwalker/libcluster http://partisan.cloud/ http://erlang.org/doc/man/mnesia.html https://learnyousomeerlang.com/mnesia How Discord Stores Billions of Messages https://pouchdb.com/ https://planga.io/ https://riak.com/ https://github.com/basho/riak_core https://riak.com/where-to-start-with-riak-core/ Using Erlang, Riak and the ORSWOT CRDT at bet365 (...) - Michael Owen - Erlang User Conference 2015 https://hex.pm/packages/effects https://github.com/graninas/automatic-whitebox-testing-showcase https://github.com/Qqwy/elixir-riak_ecto3 https://hex.pm/packages/sea https://twitter.com/WiebeMarten https://github.com/qqwy/ https://wmcode.nl https://www.facebook.com/Elixir-Mix https://twitter.com/elixir_mix Picks Mark Ericksen: ElixirConf YouTube Channel Josh Adams: Automatic White-Box Testing with Free Monads Wiebe-Marten ("Marten") Wijnja: https://propertesting.com/ https://globalgamejam.org/ https://polyphasic.net/
Sponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT My Ruby Story CacheFly Panel Mark Ericksen Michael Ries Joined by Special Guest: John Mertens Summary John Mertens, from change.org, joins the panel to discuss a recent talk he gave at ElixirConf EU. The panel starts off by discussing change.org’s adoption of Elixir and how John helped to bring that about. John discusses the value of Flow even though it is not part of the standard library. The panel discusses what the pieces of data look in John’s pipeline. After giving some context for his project, John gives details about his work in Flow and why they chose Flow for that project. The panel discusses tuning the numbers in Flow to make it faster. John shares his experience using Broadway and shares his favorite features. The panel asks him to compare Flow and Broadway in terms of configuration and understanding what is going on. John shares factors to consider when deciding to use Flow or Broadway for a project. The panel discusses supervision trees, using graceful shutdown, and the difficulty of messing up a flow. Links John Mertens - Lessons From Our First Trillion Messages with Flow - ElixirConf EU 2019 https://pragprog.com/book/tvmelixir/adopting-elixir GenStage and Flow - José Valim | ElixirLive 2016 https://elixir-lang.org/getting-started/debugging.html#observer https://github.com/beam-telemetry/telemetry https://github.com/change https://en.wikipedia.org/wiki/Amdahl%27s_law https://en.wikipedia.org/wiki/Embarrassingly_parallel https://github.com/mertonium https://twitter.com/mertonium?lang=en https://www.mertonium.com https://thoughtfulcoder.club https://www.change.org https://www.facebook.com/Elixir-Mix https://twitter.com/elixir_mix Picks Mark Ericksen: http://avidemux.sourceforge.net/ John Mertens: Solid Ground Money Heist Michael Ries: https://nerves-project.org/
Sponsors Sentry– use the code “devchat” for two months free on Sentry’s small plan GitLab | Get 30% off tickets with the promo code: DEVCHATCOMMIT My Ruby Story CacheFly Panel Mark Ericksen Michael Ries Joined by Special Guest: John Mertens Summary John Mertens, from change.org, joins the panel to discuss a recent talk he gave at ElixirConf EU. The panel starts off by discussing change.org’s adoption of Elixir and how John helped to bring that about. John discusses the value of Flow even though it is not part of the standard library. The panel discusses what the pieces of data look in John’s pipeline. After giving some context for his project, John gives details about his work in Flow and why they chose Flow for that project. The panel discusses tuning the numbers in Flow to make it faster. John shares his experience using Broadway and shares his favorite features. The panel asks him to compare Flow and Broadway in terms of configuration and understanding what is going on. John shares factors to consider when deciding to use Flow or Broadway for a project. The panel discusses supervision trees, using graceful shutdown, and the difficulty of messing up a flow. Links John Mertens - Lessons From Our First Trillion Messages with Flow - ElixirConf EU 2019 https://pragprog.com/book/tvmelixir/adopting-elixir GenStage and Flow - José Valim | ElixirLive 2016 https://elixir-lang.org/getting-started/debugging.html#observer https://github.com/beam-telemetry/telemetry https://github.com/change https://en.wikipedia.org/wiki/Amdahl%27s_law https://en.wikipedia.org/wiki/Embarrassingly_parallel https://github.com/mertonium https://twitter.com/mertonium?lang=en https://www.mertonium.com https://thoughtfulcoder.club https://www.change.org https://www.facebook.com/Elixir-Mix https://twitter.com/elixir_mix Picks Mark Ericksen: http://avidemux.sourceforge.net/ John Mertens: Solid Ground Money Heist Michael Ries: https://nerves-project.org/
We sat down with numerous developers, including José Valim and Chris McCord, during the Saturday lunch at Lonestar ElixirConf 2019 (https://lonestarelixir.com/2019/). Hear what they had to say about the state of Elixir! Guests: José Valim - Creator of Elixir (https://elixir-lang.org/) Chris McCord - Creator of Phoenix (https://phoenixframework.org/) Paul Schoenfelder - Creator of Distillery (https://github.com/bitwalker/distillery), Timex (https://github.com/bitwalker/timex), Libcluster (https://github.com/bitwalker/libcluster), and many others Chris Keathley - Host of Elixir Outlaws (https://elixiroutlaws.com/), developer at Bleacher Report (https://bleacherreport.com/) Amos King - Host of Elixir Outlaws (https://elixiroutlaws.com/) Jim Freeze - Organizer of ElixirConf (https://elixirconf.com/), ElixirConf EU (http://www.elixirconf.eu/), and others Susumu Yamazaki - Creator of Hastega (https://github.com/zeam-vm/hastega) Brian Cardarella - CEO of Dockyard (https://dockyard.com/) Osa Gaius - Engineer at Mailchimp (https://mailchimp.com/) Spectating: Bruce Tate and Ben Marx 00:00 - Intro 01:47 - LoneStar begins 02:03 - Panelists introduce themselves 09:15 - Where is Elixir going? 10:14 - Releases 19:04 - The issue with hype 26:30 - Osa Intro 29:00 - Define lists 40:00 - How can Elixir displace Java? Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8)
Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Josh Adams Mark Ericksen Charles Max Wood Joined by special guest: Chris Keathley Episode Summary In this episode of Elixir Mix, Chris Keathley introduces himself briefly and starts with talking about his work at Bleacher Report - a company specializing in sports culture - with respect to handling web traffic during major sports events and the implications of moving from Rails to Elixir as a backend system. He briefly touches on scaling issues, performance and the services they are running on their website. He then describes his Elixir journey until now and certain new areas he is working with, such as property based testing and distributed systems. He talks about maintaining the Wallaby library which is developed by him, mentions existing and upcoming exciting things in Elixir, and explains a few features of the Distillery and Vapor libraries. He also gives advice to people that are starting to work with Elixir on what must be learnt and more, and discusses certain projects and topics he wants to pursue and build knowledge in, in the near future. Links Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web App Lance Halvorsen Bleacher Report Wallaby Distillery Vapor Elixir Outlaws Lonestar ElixirConf – Chris Keathley ElixirConf EU Benefits of Elixir: How Elixir helped Bleacher Report handle 8x more traffic Picks Josh Adams: Axe - tool GraphQL – Zero to Awesome Mark Ericksen: Bash command “cd -” to go back to the last working directory Charles Max Wood: Zapier Canon EOS M6 Camera Rode Microphone Chris Keathley: Moka Express Coffee Maker Picross S2 Stamping on Event-Stream
Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Josh Adams Mark Ericksen Charles Max Wood Joined by special guest: Chris Keathley Episode Summary In this episode of Elixir Mix, Chris Keathley introduces himself briefly and starts with talking about his work at Bleacher Report - a company specializing in sports culture - with respect to handling web traffic during major sports events and the implications of moving from Rails to Elixir as a backend system. He briefly touches on scaling issues, performance and the services they are running on their website. He then describes his Elixir journey until now and certain new areas he is working with, such as property based testing and distributed systems. He talks about maintaining the Wallaby library which is developed by him, mentions existing and upcoming exciting things in Elixir, and explains a few features of the Distillery and Vapor libraries. He also gives advice to people that are starting to work with Elixir on what must be learnt and more, and discusses certain projects and topics he wants to pursue and build knowledge in, in the near future. Links Functional Web Development with Elixir, OTP, and Phoenix: Rethink the Modern Web App Lance Halvorsen Bleacher Report Wallaby Distillery Vapor Elixir Outlaws Lonestar ElixirConf – Chris Keathley ElixirConf EU Benefits of Elixir: How Elixir helped Bleacher Report handle 8x more traffic Picks Josh Adams: Axe - tool GraphQL – Zero to Awesome Mark Ericksen: Bash command “cd -” to go back to the last working directory Charles Max Wood: Zapier Canon EOS M6 Camera Rode Microphone Chris Keathley: Moka Express Coffee Maker Picross S2 Stamping on Event-Stream
Show Notes EuRuKo 2018 Vienna (https://euruko2018.org/) Thomas Fuchs (http://mir.aculo.us/) Amy Hoy (https://twitter.com/amyhoy) Beginning Ruby (https://www.amazon.com/o/ASIN/1484212797/parpaspod-20) POODR (https://www.amazon.com/o/ASIN/0134456475/parpaspod-20) 99 Bottles of OOP (https://www.sandimetz.com/99bottles/) Elixir Forum (https://elixirforum.com/) ElixirConf EU 2018 Highlights (https://www.youtube.com/watch?v=ncv-D8GbNBg) Ruby Habits (https://rubyhabits.github.io/) vienna.rb (https://www.meetup.com/vienna-rb/) This Bot Will Pump You Up (https://www.youtube.com/watch?v=_II771f7p4g) What Are Flame Graphs and How to Read Them (https://www.youtube.com/watch?v=6uKZXIwd6M0) Recommendations Book Yourself Solid (https://www.amazon.com/o/ASIN/1119431220/parpaspod-20) Get Clients Now! (https://www.amazon.com/o/ASIN/081443245X/parpaspod-20) Cooking by Hand (https://www.amazon.com/o/ASIN/0609608932/parpaspod-20) Metaprogramming Ruby 2 (https://www.amazon.com/o/ASIN/1941222129/parpaspod-20) Aaron Cruz Twitter (https://twitter.com/mraaroncruz) Personal Page (https://aaroncruz.com/) Parallel Passion Patreon (https://www.patreon.com/parpaspod) Twitter (https://www.twitter.com/parpaspod) Instagram (https://www.instagram.com/parpaspod) Facebook (https://www.facebook.com/parpaspod) Credits Tina Tavčar (https://twitter.com/tinatavcar) for the logo Jan Jenko (https://twitter.com/JanJenko) for the music
Panel: Charles Max Wood Eric Berry Mark Erikson Josh Adams Special Guests: Paul Schoenfelde In this episode of Elixir Mix, the panel talks to Paul Schoenfelde about deployments, distillery, and open source. Paul is an architectural engineer at Dockyard and was previously a .net developer for about 10 years. Since coming to Elixir, he has been dedicating most of his open source time and free time to the language and projects associated with it. They talk about how he got to where he is today, Distillery, core release tooling, configuration, and much more! In particular, we dive pretty deep on: Paul intro Hot upgrades Interested in the idea of upgrading a whole system Timex Elixir Deployment Tools Update- Blog post by Paul Where are we at on the deployment story for Dockyard? Works primarily on Distillery Run-time configuration Making Mix.Config work with releases Trying to figure out the right way to deal with configurations How do we get to the end state we want to be at? Mix.Config support in Distillery Elixir Mix Pluggable providers Libraries need to expose something The need to sort through the options as a core team Core tooling built into Elixir coming soon Watchers Configuration may change, but the application and library used have to be built in a particular way Application callback module Config Change And much, much more! Links: Dockyard Elixir Erlang Timex Elixir Deployment Tools Update Distillery Vapor Nanobox.io Mix.Config Elixir Mix @gotbones Paul’s GitHub Bitwalker.org Sponsors: Digital Ocean Picks: Charles DevChat.tv/blog CharlesMaxWood.com Getting outside Eric Fishing Mario Odyssey on Nintendo Switch Mark Spending time away from the computer Josh Turkeys elchemy Paul Vapor Raft Getting away from the keyboard Woodworking ElixirConf EU Code Beam STO
Panel: Charles Max Wood Eric Berry Mark Erikson Josh Adams Special Guests: Paul Schoenfelde In this episode of Elixir Mix, the panel talks to Paul Schoenfelde about deployments, distillery, and open source. Paul is an architectural engineer at Dockyard and was previously a .net developer for about 10 years. Since coming to Elixir, he has been dedicating most of his open source time and free time to the language and projects associated with it. They talk about how he got to where he is today, Distillery, core release tooling, configuration, and much more! In particular, we dive pretty deep on: Paul intro Hot upgrades Interested in the idea of upgrading a whole system Timex Elixir Deployment Tools Update- Blog post by Paul Where are we at on the deployment story for Dockyard? Works primarily on Distillery Run-time configuration Making Mix.Config work with releases Trying to figure out the right way to deal with configurations How do we get to the end state we want to be at? Mix.Config support in Distillery Elixir Mix Pluggable providers Libraries need to expose something The need to sort through the options as a core team Core tooling built into Elixir coming soon Watchers Configuration may change, but the application and library used have to be built in a particular way Application callback module Config Change And much, much more! Links: Dockyard Elixir Erlang Timex Elixir Deployment Tools Update Distillery Vapor Nanobox.io Mix.Config Elixir Mix @gotbones Paul’s GitHub Bitwalker.org Sponsors: Digital Ocean Picks: Charles DevChat.tv/blog CharlesMaxWood.com Getting outside Eric Fishing Mario Odyssey on Nintendo Switch Mark Spending time away from the computer Josh Turkeys elchemy Paul Vapor Raft Getting away from the keyboard Woodworking ElixirConf EU Code Beam STO
Elixir 1.2.4 was released on Friday https://github.com/elixir-lang/elixir/blob/v1.2.4/CHANGELOG.md#v124-2016-04-01 Alchemist manual is out in beta http://alchemist.readthedocs.org/ ElixirConf EU speakers were announced http://www.elixirconf.eu/#speakers Joken released version 1.2 https://github.com/bryanjos/joken/blob/master/CHANGELOG.md
We chat with José Valim about bringing light to Elixir's dark corners, the design goals of Ecto, and the future of Elixir, Ecto, and Phoenix. José Valim on Twitter Introducing unifying calendar types to Elixir Falsehoods programmers believe about time and time zones by Lau Taarnskov mix deps.tree in Elixir 1.3 mix app.tree in Elixir 1.3 Ecto.Query.preload Working with Ecto Associations and Embeds by José Valim. Ecto.Changeset Ecto 2 beta is out, including concurrent database tests github_ecto: An Ecto adapter for the GitHub API. What Makes Phoenix Presence Special by Chris McCord ExMachina - test factories for Elixir GenRouter ElixirConf EU ElixirConf US