

Thinking Elixir Podcast
ThinkingElixir.com
The Thinking Elixir podcast is a weekly show where we talk about the Elixir programming language and the community around it. We cover news and interview guests to learn more about projects and developments in the community.
Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more.
Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process.
Subscribe to join us on this journey!
Whether you are already experienced with Elixir or just exploring the language, this show is created with you in mind. We discuss community news, Functional Programming, transitioning from OOP, coding conventions, and more.
Guests visit the show to help challenge our assumptions, learn about new developments and grow in the process.
Subscribe to join us on this journey!
Episodes
Mentioned books

Dec 13, 2022 • 54min
129: Time series data with Timescale DB
Tracking, analyzing and visualizing time series data can add a lot of business value to a project! We met up with Dave Lucia to learn more about Timescale DB, a PostgreSQL extension that adds time series tools to our regular database. Dave also created a timescale hex package to make it easier to work with hypertables and hyperfunctions. We learn why Timescale DB makes sense over other options, how to get started with it, example use cases, helpful resources and more!
Show Notes online - http://podcast.thinkingelixir.com/129
Elixir Community News
https://adventofcode.com/ – Advent of Code is going on
https://gist.github.com/marpo60/bcf7dd45003adfe01b5581d03157a5de – Marcelo Dominguez' Livebook template for working on the daily problems.
https://genserver.social/notice/AQAdGQAE5sgRL8x1g8 – José Valim created a repository to share all the Livebooks he has worked on, including talks and last year's Advent of Code
https://github.com/josevalim/livebooks/ – José Valim's collection of shared public Livebooks
https://github.com/rosaan/advent-of-code-2022 – Some shared solutions
https://twitter.com/josevalim/status/1597880468032040960 – Explorer v0.4.0 is out
https://hexdocs.pm/explorer/0.4.0
https://hexdocs.pm/explorer/0.4.0/Explorer.Query.html – Explorer.Query is a new API for writing expressive and performant queries
https://podcast.thinkingelixir.com/104 – Chris Grainger talked about Explorer with us in episode 104
https://tips.nerves-project.org/ – Nerves website gets a new “tips” view
https://twitter.com/josevalim/status/1597943279164993537 – José Valim announced he was migrating to the genserver.social Mastadon server
https://genserver.social/josevalim – José's genserver.social profile
https://genserver.social/notice/AQIfjB7SQcuEwPGEAC – José teased something "really big". Already released by the time you hear this.
https://genserver.social/notice/AQIlH84yjkrh856rS4 – The graphic he teased
http://codebeammexico.com/ – Code BEAM Lite México, March 3-4 2023 in México City
https://thetinycto.com/blog/writing-a-game-using-chatgpt – Writing an Elixir LiveView game using ChatGPT
https://thetinycto.com/gpt-game – The generated game
https://chat.openai.com/chat – ChatGPT
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/bitfo/timescale – Timescale and Elixir
https://www.timescale.com/
https://docs.timescale.com/
https://www.bitfo.com/
https://defirate.com/
https://www.bitcoinprice.com/
https://ethereumprice.org/
https://docs.timescale.com/api/latest/hypertable/ – Hypertables
https://docs.timescale.com/api/latest/hyperfunctions/ – Hyperfunctions
https://codebeamamerica.com/talks/accessible-time-series-data-with-timescaledb/
https://fly.io/docs/postgres/managing/enabling-timescale/
https://www.whoop.com/ – Dave's biometric watch
https://www.postgresql.org/docs/current/rules-materializedviews.html
https://www.influxdata.com/
https://fly.io/docs/postgres/managing/enabling-timescale/ – Fly.io command to add timescale DB - fly pg config update --shared-preload-libraries timescaledb --app
https://www.crunchydata.com/
https://docs.timescale.com/api/latest/hypertable/
https://docs.timescale.com/api/latest/hyperfunctions/
https://docs.timescale.com/timescaledb/latest/timescaledb-edition-comparison/
https://hexdocs.pm/timescale/intro.html
https://www.milkroad.com/
https://docs.google.com/presentation/d/1c2gCxfigeQNz-Z32IaLrpdxt0JYwMc6Lam_vvUND31Y/edit?usp=sharing – Slides for Dave's Timescale talk from Code BEAM America
https://hexdocs.pm/timescale/intro.html – Dave's “Intro to Timescale” Livebook from the Elixir Timescale docs
Guest Information
https://twitter.com/davydog187 – on Twitter
https://github.com/davydog187/ – on Github
https://davelucia.com/ – Blog
Find us online
Message the show - @ThinkingElixir
Message the show on Mastadon - @ThinkingElixir@genserver.social
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
Mark Ericksen on Mastadon - @brainlid@genserver.social
David Bernheisel - @bernheisel
David Bernheisel on Mastadon - @dbern@genserver.social
Cade Ward - @cadebward
Cade Ward on Mastadon - @cadebward@genserver.social
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Dec 6, 2022 • 1h
128: Speedy like a Bandit
The Phoenix 1.7 announcement blog post mentioned the ability to swap out Cowboy for another webserver like Bandit. We talked with Mat Trudel to learn more about his pure-Elixir webserver and find out how it works with Phoenix. We learn Bandit can be up to 5x faster by narrowly focusing on turning a request into a Plug connection and much more!
Show Notes online - http://podcast.thinkingelixir.com/128
Elixir Community News
https://github.com/features/security/ – Github's Dependabot now supports private hex repositories.
https://twitter.com/sorentwo/status/1595526317436452864 – Parker Selbert brought this to our attention.
https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#hex-repository
https://hexdocs.pm/mix/Mix.Tasks.Deps.Unlock.html – CI tip to check for unused mix lock entries
https://twitter.com/RudManusachi/status/1597341690653999106 – Shared by Rudolf on Twitter
mix deps.unlock --check-unused
https://fly.io/phoenix-files/github-actions-for-elixir-ci/ – CI resource for Elixir projects on Github
https://twitter.com/TechRecHayden/status/1595776257513373699 – Hayden Evans spotted that Zoom is using Erlang in production for their chat platform.
Mastadon instances to consider if looking for a Twitter alternative...
https://genserver.social/about
https://hachyderm.io/explore
https://fosstodon.org/
https://mastodon.social/explore
https://www.lambdadays.org/lambdadays2023 – Lambda Days conference returns as an in-person only event to Kraków on 5-6 June 2023.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://phoenixframework.org/blog/phoenix-1.7-released – Phoenix 1.7 blog post described at the end - “Alternative Webserver Support”
https://github.com/mtrudel/bandit – “Bandit is a pure Elixir HTTP server for Plug & WebSock applications”
https://github.com/mtrudel/thousand_island – “Thousand Island is a pure Elixir socket server, powering the layer underneath Bandit”
https://ninenines.eu/docs/en/cowboy/2.9/guide/ – Cowboy docs
https://www.pagerduty.com/
https://github.com/ninenines/cowlib
https://www.youtube.com/watch?v=ZLjWyanLHuk
https://github.com/crossbario/autobahn-testsuite
https://en.wikipedia.org/wiki/Cyclic_redundancy_check
https://en.wikipedia.org/wiki/Cyclic_redundancy_check#CRC-32_algorithm
https://github.com/phoenixframework/websock
https://hexdocs.pm/plug/Plug.Conn.html#upgrade_adapter/3
https://podcast.thinkingelixir.com/57 – Scaling Live Chat with Cade Ward episode
https://en.wikipedia.org/wiki/HTTP/3
https://github.com/mtrudel/talks/blob/main/2022-05-EMPEX-MTX-a-funny-thing-happened-on-the-way-to-the-phoenix.pdf – 2022 EMPEX presentation slides
https://github.com/mtrudel/talks/blob/main/2021-10-ElixirConf-bandit-on-the-loose.pdf – 2021 Elixir Conf presentation slides
Guest Information
https://twitter.com/mattrudel – on Twitter
https://github.com/mtrudel/ – on Github
https://mat.geeky.net – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Nov 29, 2022 • 53min
127: Ecto gets Lively in Livebook
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
Elixir Community News
https://github.com/AdRoll/rebar3_hank – rebar3_hank detects dead code in Erlang projects and reports it.
https://twitter.com/fiquscoop/status/1592539028578250757
https://unused.codes/
https://github.com/hauleth/mix_unused
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://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 – Learned 2 additional CI checks to run on Elixir projects
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://hexdocs.pm/hex/Mix.Tasks.Hex.Audit.html – mix hex.audit
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/live_beats/blob/master/lib/live_beats_web/components/core_components.ex – LiveBeats project with new core_components.ex file
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://adventofcode.com/2022 – Advent of Code 2022 starts on Dec 1st.
https://www.elixirconf.eu/ – ElixirConf EU 2023 - in Lisbon Portugal. Hybrid conference 20-21 April 2023 - In person and virtual
https://fosdem.org/2023/ – FOSDEM 2023 - Sunday, 5 February 2023 in Brussels, Belgium
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
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
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 or email at show@thinkingelixir.com
Discussion Resources
https://spawnfest.org/
https://github.com/spawnfest/lively – Spawnfest submission repo
https://github.com/vorce/kino_ecto – Project continuing after competition
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 – Tweet about the project
https://remote.com/
https://supabase.com/
https://www.talkdesk.com/
https://github.com/dashbitco/nimble_parsec
https://github.com/cocoa-xu/evision
https://twitter.com/_uwu_cocoa
https://github.com/sorentwo/oban
https://twitter.com/thramosal – Teammate - Thiago Ramos
https://twitter.com/vittoria_bitton – Teammate - Vittoria Bitton
Guest Information
https://twitter.com/filipecabaco – Filipe Cabaço on Twitter
https://github.com/filipecabaco/ – Filipe Cabaço on Github
https://filipecabaco.com – Blog
https://twitter.com/octavorce – Joel Carlbark on Twitter
https://github.com/vorce/ – Joel Carlbark on Github
https://forvillelser.vorce.se/ – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Nov 22, 2022 • 1h 1min
126: Working at a Software Agency with the Wizards
As software developers, there are many different types of companies we can work at. We met up with the Elixir Wizards crew to learn more about working at a Software Agency like SmartLogic. We compare what this is like vs working at a product company. Of course, we take the opportunity to learn more about Sundi Myint and Owen Bickford, their journeys to Elixir and the work they are doing now. Sundi shares how becoming an Engineering Manager presented new growth opportunities and Owen goes deeper on the ETL system he's creating to migrate an MSSQL DB to Postgres and how gets to play with Broadway in the process.
Show Notes online - http://podcast.thinkingelixir.com/126
Elixir Community News
https://www.youtube.com/playlist?list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr – Final batch of ElixirConf US 2022 videos were released!
https://fly.io/phoenix-files/github-actions-for-elixir-ci/ – CI for Elixir projects using Github Actions and CD to auto-deploying on Fly.io
https://nathanwillson.com/blog/posts/2022-11-11-partitioned_tests/ – Nathan Wilson showed how to partition CI tests over more runners for faster overall time.
https://twitter.com/nathanwillson/status/1591604043780358144 – Nathan Wilson documented how dead-view controllers, pages, and views were restructured.
https://fly.io/phoenix-files/opentelemetry-and-the-infamous-n-plus-1/ – Alex Koutmos wrote a guide and sample project showing how to use OpenTelemetry with Elixir and visualize the data in Grafana.
https://elixirforum.com/t/visual-font-for-diagramming-elixir/51477 – Unique Elixir font created that renders as graphics of data structures.
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://smartlogic.io/
https://smartlogic.io/podcast/elixir-wizards/
https://smartlogic.io/about/team
https://www.cava.com/
https://smartlogic.io/software-development/
https://elixir-broadway.org/
https://en.wikipedia.org/wiki/Extract,_transform,_load
https://www.microsoft.com/en-us/sql-server/sql-server-downloads
https://github.com/elixir-ecto/tds
https://hex.pm/packages/webauthn_live_component
https://www.youtube.com/watch?v=krbriAecqUk – Owen's ElixirConf talk about his WebAuthnLiveComponent
https://smartlogic.io/about/jobs
Guest Information
https://twitter.com/smartlogic – SmartLogic on Twitter
https://twitter.com/owenbickford – Owen on Twitter
https://twitter.com/sundikhin – Sundi on Twitter
https://github.com/smartlogic/ – SmartLogic on Github
https://github.com/type1fool/ – Owen Bickford on Github
https://github.com/liveshowy/webauthn_live_component
https://www.owencode.com/ – Owen's blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Nov 15, 2022 • 59min
125: Elixir at the Royal Bank of Canada
While hearing how Elixir is being used in the Royal Bank of Canada's Capital Markets, we learned a lot of extra things we didn't expect! Thanos Vassilakis, head of R&D in the CM group, explained how middle managers talk about “scaling” to mean hiring staff with the goal of using all of their budgets. Not the kind of scaling we typically think about! Thanos identified the biggest problem limiting Elixir's adoption at large financial institutions and it wasn't what we expected. He also shared stories of how LiveView greatly out performed React when rendering hundreds of live updating financial charts and, after experimenting with it, the React devs fully adopted LiveView! Lots of great insights and stories in this one!
Show Notes online - http://podcast.thinkingelixir.com/125
Elixir Community News
https://phoenixframework.org/blog/phoenix-1.7-released – Phoenix 1.7.0-rc.0 released!
https://twitter.com/chris_mccord/status/1589721565692067840 – Chris McCord's Twitter announcement
https://github.com/phoenixframework/phoenix/blob/v1.7.0-rc.0/CHANGELOG.md – Phoenix 1.7.0-rc.0 changelog
https://www.youtube.com/watch?v=9-rqBLjr5Eo – Chris McCord's keynote
https://twitter.com/clarkware/status/1587894081572569089 – Mike Clark shows how params can be added in embedded in Sigil P routes
https://hex.pm/packages/heroicons – Heroicons
https://github.com/mtrudel/bandit – Alternative webservers like Bandit become possible
https://twitter.com/bernheisel/status/1589803460320710656 – David's diff of for going to new Phoenix 1.7
https://utils.zest.dev/gendiff – David's free Diff Generator tool for Phoenix projects
https://twitter.com/josevalim/status/1589738157196869634 – Jose Valim's summation of new Phoenix release
https://www.youtube.com/watch?v=mOeONt6Hkf8&list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr&index=15 – New batch of ElixirConf 2022 videos were released
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://www.rbccm.com/en/
https://shapeshift.com/
https://en.wikipedia.org/wiki/Ada_(programming_language)
https://en.wikipedia.org/wiki/Joe_Armstrong_(programmer)
https://en.wikipedia.org/wiki/Hope_(programming_language)
https://en.wikipedia.org/wiki/Miranda_(programming_language)
https://www.investopedia.com/terms/c/capitalmarkets.asp
https://www.investopedia.com/terms/f/financialrisk.asp
https://couchdb.apache.org/
https://www.ericsson.com/en
https://docs.oracle.com/cd/E15261_01/tuxedo/docs11gr1/tech_articles/CORBA.html
https://www.amazon.com/Programming-Erlang-Concurrent-Pragmatic-Programmers/dp/193778553X
https://www.postgresql.org/
https://github.com/absinthe-graphql/absinthe
https://github.com/lasp-lang/partisan
https://github.com/devinus/poolboy
https://docs.python.org/3/library/multiprocessing.html
https://en.wikipedia.org/wiki/X_Window_System
https://openwhisk.apache.org/
https://www.drools.org/
https://en.wikipedia.org/wiki/Rete_algorithm
https://en.wikipedia.org/wiki/COBOL
https://sqlite.org/src4/doc/trunk/www/bt.wiki
https://www.honeybadger.io/blog/elixir-memory-structure/
https://docs.python.org/3/library/multiprocessing.shared_memory.html
https://github.com/membraneframework/shmex
https://semiengineering.com/the-rise-of-smartnics/
https://www.nvidia.com/en-us/networking/ethernet-adapters/
https://www.nvidia.com/en-us/networking/products/data-processing-unit/hpc/
https://github.com/zeroc-ice/ice
https://github.com/afiniate/seresye
Guest Information
https://twitter.com/thanos_tweets – on Twitter
[thanos.vassilakis@rbccm.com](thanos.vassilakis@rbccm.com) – Email
https://www.rbccm.com/en/ – Royal Bank of Canada Capital Markets
https://elixirforum.com/u/thanos/summary – Thanos on Elixir Forum
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Nov 8, 2022 • 58min
124: Caching Things Anywhere with Nebulex
We wanted to go deeper on the caching library Nebulex, so we visited with the creator, Carlos Bolaños, to learn what prompted its creation. Nebulex takes a couple unique approaches to things. It supports a decorator pattern to indicate that a function should be cached without having to write the boilerplate code for reading and writing to the cache. Nebulex was inspired by Ecto, in that it supports multiple adapters to different backends like Redis, Cachex and even Horde! It also supports multiple caching strategies. It's an interesting project that aims to solve common caching challenges in new ways and we enjoyed learning more about it.
Show Notes online - http://podcast.thinkingelixir.com/124
Elixir Community News
https://hex.pm/blog/hex-v2.0-released-with-new-version-solver – Hex 2.0 released with a new version solver
https://twitter.com/emjii/status/1587116679724765184
https://nex3.medium.com/pubgrub-2fb6470504f – Based on the algorithm PubGrub used by Dart's packager at https://pub.dev
https://twitter.com/benoitc/status/1584699685822164995 – erlang-certifi 2.10.0, updated SSL Certificates bundle
https://twitter.com/josevalim/status/1585290898497224712 – Broadway update has new version of the Google Cloud PubSub adapter
https://twitter.com/joladev/status/1585302755085717504
https://elixir-broadway.org/
https://twitter.com/josevalim/status/1585733673256906752 – VegaLite, the graphing library used in Livebook, was updated to add support for binning, scaling, and different color schemes.
https://twitter.com/akoutmos/status/1586566107447656449 – Alex Koutmos is adding a file upload SmartCell for Livebook and shared a preview of it online.
https://twitter.com/davydog187/status/1584967478991388674 – Dave Lucia got TimescaleDB working in Livebook
https://github.com/timescale
https://twitter.com/sean_moriarity/status/1571983702413959175 – Sean Moriarity wrote 15 Livebook guides which go deeper into some of Axon's APIs.
https://elixir-nx.github.io/axon/Axon.html
https://fly.io/phoenix-files/shut-down-idle-phoenix-app/ – Chris McCord wrote a blog post about how a Phoenix app can shut itself down when idle.
https://newrelic.com/blog/how-to-relic/memory-spikes-erlang – Article about using Observer to debug memory bugs by Matt Baker
https://open.spotify.com/episode/0yMdXbB2MVmIb8MN8crEgV – Jose Valim was the guest on the "Software Unscripted" podcast to talk about introducing static types to Elixir.
https://www.youtube.com/watch?v=q49vsCjpWGs&list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr – A batch of ElixirConf 2022 videos were released
https://elixirconf.uy/ – ElixirConf UY - Uruguay - In-person and virtual on Nov 12th
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://github.com/cabol/nebulex
https://www.oracle.com/java/coherence/
https://github.com/duomark/epocxy
https://github.com/derekkraan/horde
https://github.com/whitfin/cachex
https://github.com/arjan/decorator
https://www.erlang.org/doc/man/mnesia.html
https://www.martinfowler.com/bliki/TwoHardThings.html
There are only two hard things in Computer Science - cache invalidation and naming things. -Phil Karlton
Guest Information
https://twitter.com/CAndresBolanos – on Twitter
https://github.com/cabol/ – on Github
http://cabol.github.io/ – Blog
https://medium.com/@cabol – Medium
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

4 snips
Nov 1, 2022 • 55min
123: Ash Framework Models Resources
Creator of the Ash Framework, Zach Daniel, shares how he feels Ecto is such a good tool, that people haven't built a modeling layer above it and end up using Ecto directly. Ash models a resource above Ecto, making it more expressive while supporting LiveView, REST, and GraphQL interfaces on top. While cutting boilerplate, a major goal builds in escape hatches to keep from being boxed in. Ash Framework recently celebrated a 2.0 release, accompanied by the release of the Ash HQ website. A fun look into the achievements and philosophy that make the Ash Framework what it is today!
Show Notes online - http://podcast.thinkingelixir.com/123
Elixir Community News
https://twitter.com/josevalim/status/1582770471728484352 – ExDoc v0.29 is out with a new Cheatsheet feature
https://devhints.io – DevHints was a source of inspiration for Cheatsheets
https://www.youtube.com/watch?v=MTE7dLhkQ8Q – Phoenix LiveView Storybook video published. Demo of v0.4.5
https://podcast.thinkingelixir.com/117 – Previous interview about Phoenix LiveView Storybook
https://github.com/spawnfest/graphql_smart_cell – GraphQL Smart Cell for Elixir Livebook
https://twitter.com/mcrumm/status/1581350976354627584 – Michael Crumm explains they intend to further develop the project.
https://twitter.com/alan_zimm/status/1583012582847262720 – WhatsApp team released a new Tree Sitter Erlang Github project
https://github.com/WhatsApp/tree-sitter-erlang – The Erlang Tree Sitter project
https://twitter.com/katafrakt_pl/status/1582808419157041152 – Try "mix hex.outdated" to see nice DX feature
https://twitter.com/bernheisel/status/1583252469550678016 – LiveViewJS as in LiveView API but all in JavaScript?
https://www.youtube.com/watch?v=7khBftbpHLs – Strangeloop presentation on LiveViewJS
https://github.com/floodfx/liveviewjs – LiveViewJS project
https://github.com/kipcole9/image – Kip Cole's Image library
https://twitter.com/kipcole9/status/1583632387589566464 – Kip's weekend project to generate meme images for fun
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://ash-hq.org/
https://github.com/ash-project/ash
https://github.com/ash-project
https://podcast.thinkingelixir.com/27 – Previous discussion from Dec 2020
https://alembic.com.au/
https://rethinkdb.com/
https://github.com/ash-project/ash_phoenix
https://hexdocs.pm/ash_phoenix/AshPhoenix.Form.html
https://ash-hq.org/docs/module/ash/latest/ash-flow – Ash.Flow docs
https://twitter.com/ZachSDaniel1/status/1582139826752483329 – Family showing support for the milestone
STAPLE Stack - Surface, Tailwind, Ash, Phoenix, LiveView, Elixir
https://discord.com/invite/D7FNG2q - Discord invite
https://elixirforum.com/t/ash-framework-a-declarative-resource-oriented-application-development-framework-for-elixir/51119
Guest Information
https://twitter.com/ZachSDaniel1 – on Twitter
https://github.com/zachdaniel/ – on Github
https://twitter.com/AshFramework – Ash on Twitter
https://ash-hq.org/ – Ash HQ
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Oct 25, 2022 • 46min
122: Securing Elixir and Teaching the Team
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
Elixir Community News
https://twitter.com/AshFramework/status/1582062954891350016 – Ash Framework 2.0 released
https://github.com/ash-project/ash/blob/2.0/CHANGELOG.md – Ash Framework changelog
https://www.ash-hq.org/
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 – Interview with Kip Cole
https://hexdocs.pm/ex_cldr_routes – New CLDR library to help localize Phoenix routes
https://hexdocs.pm/phoenix_localized_routes – There are other route localizing options as well
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 – Elixir-LS history and details on the fix
https://twitter.com/fhunleth/status/1580524909939556353 – Nerves on Apple silicon improvements in upcoming release
https://spawnfest.org/ – Spawnfest competition closed. People sharing their creations.
https://twitter.com/spawnfest/status/1581347422671806464 – List of Spawnfest judges
https://twitter.com/michalmuskala/status/1581743531764617217 – JSON Native project shared
https://github.com/spawnfest/json_native
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 – See all the submissions with this non-obvious GitHub search
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 or email at show@thinkingelixir.com
Discussion Resources
https://github.com/Podium/elixir-secure-coding
https://www.podium.com/
https://jupyter.org/
https://twitter.com/holdenoullette/status/1565486046237921280
https://2022.elixirconf.com/speakers/holden-oullette
https://owasp.org/Top10/
https://en.wikipedia.org/wiki/Capture_the_flag_(cybersecurity)
https://github.com/podium/elixir-secure-coding/blob/main/modules/4-graphql.livemd – Incomplete GraphQL module
https://hex.pm/packages/sobelow
https://semgrep.dev/
https://www.theregister.com/2016/03/23/npm_left_pad_chaos/ – Background on "left pad"
https://github.com/podium/vigil
Guest Information
https://twitter.com/holdenoullette – on Twitter
https://github.com/houllette/ – on Github
https://oullette.xyz – Blog
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Oct 18, 2022 • 55min
121: Self Taught Coder to First Elixir Job
She started at the very beginning of her self-directed, non-traditional route to coding. She first had to learn to code. She worked, studied, and leaned on mentors and others until she reached the point of being hired for a full time job. What language did she tackle as that very first one? Elixir! We talked with Kimberly Johnson about how she did it. She shared her story at ElixirConf which we found inspiring. We wanted to go deeper on how she kept going when things got hard and how she built up a network of mentors and resources to help along the way. A great story and potential roadmap for others who want to follow a non-traditional path to a software development career!
Show Notes online - http://podcast.thinkingelixir.com/121
Elixir Community News
https://elixirforum.com/t/phoenix-1-3-1-4-1-5-and-1-6-security-releases-for-wildcard-check-origin-vulnerability/50902 – Phoenix Security Releases for versions 1.3, 1.4, 1.5, and 1.6
https://github.com/elixir-lang/elixir/releases/tag/v1.14.1 – Elixir 1.14.1 released
https://github.com/phoenixframework/phoenix_live_view/blob/master/CHANGELOG.md – Phoenix LiveView 0.18.3 bug fix release
https://blog.appsignal.com/2022/10/11/phoenix-liveview-018-new-special-html-attributes.html – Sophie DeBennedetto wrote an article that covers the new :let, :if, and :for special forms
https://github.com/CargoSense/absinthe_client – AbsintheClient - new library that is a GraphQL client for Absinthe with built-in support for subscriptions
https://podcast.thinkingelixir.com/99 – Episode 99 with Michael Davis to learn more about Slipstream
https://github.com/elixir-ecto/ecto_sql/blob/master/CHANGELOG.md#v390-2022-09-27 – EctoSQL v3.9.0 released
https://fly.io/phoenix-files/safe-ecto-migrations/ – Safe Ecto Migrations guide
https://twitter.com/josevalim/status/1578411348404228096 – Livebook v0.7 released
https://elixir-lang.org/blog/2022/10/05/my-future-with-elixir-set-theoretic-types/ – New blog post from José Valim on Elixir's future with set-theoretic types
https://codebeamamerica.com/ – Code Beam America conference. Held November 3-4 in the Computer History Museum in Mountain View, CA. & online
https://www.cloudflare.com/products/turnstile/ – Cloudflare created a new captcha replacement called Turnstile
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://www.travelpassgroup.com/
https://www.udemy.com/course/the-complete-elixir-and-phoenix-bootcamp-and-tutorial/
https://pragmaticstudio.com/phoenix-liveview
https://pragmaticstudio.com/elixir
https://grox.io/about
https://www.psychologytoday.com/us/basics/grit – Grit on Psychology Today
https://en.wikipedia.org/wiki/Rubber_duck_debugging
https://pragprog.com/titles/tpp20/the-pragmatic-programmer-20th-anniversary-edition/
https://www.manning.com/books/elixir-in-action-second-edition
Guest Information
https://twitter.com/siestakimberly – on Twitter
https://github.com/siestakimberly/ – on Github
https://www.linkedin.com/in/kimberly-johnson-716869142/ – LinkedIn
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

Oct 11, 2022 • 56min
120: Localize and Personalize Your Elixir Apps
Localizing and personalizing an application is separate from the language used in the interface. Kip Cole explains how the mismatch of computers with the culture of our audience creates friction we may not even be aware of. In fact, our benign app may be unintentionally offensive to millions of people! Kip created the libraries ex_cldr, money and tempo to help Elixir developers localize applications in a culture aware way. What does that mean? It means using minimal information we can infer how names should appear, how numbers are represented, the assumed numeric rounding rules, first day of the week, the calendar being used, and more!
Show Notes online - http://podcast.thinkingelixir.com/120
Elixir Community News
https://github.com/phoenixframework/phoenix_live_view – LiveView v0.18.1 and 0.18.2 were released
https://twitter.com/mcrumm/status/1575571809470070784 – PhoenixProfiler plugin updated for LiveView 0.18
https://github.com/mcrumm/phoenix_profiler
https://podcast.thinkingelixir.com/88 – Previous interview with Michael Crumm about PhoenixProfiler
https://news.livebook.dev/how-to-query-and-visualize-data-from-amazon-athena-using-livebook-4dfQ5y – Livebook blog tutorial post showing how to use Amazon Athena
https://aws.amazon.com/athena/ – Amazon Athena service page
https://github.com/phenixdigital/phx_live_storybook – PhxLiveStorybook released v.0.4
https://github.com/phenixdigital/phx_live_storybook/blob/main/CHANGELOG.md
https://podcast.thinkingelixir.com/117 – Previous interview about PhxLiveStorybook
https://supabase.com/blog/postgres-wasm – Supabase open-sources PostgreSQL on WASM
https://dockyard.com/blog/2022/10/01/liveview-native-weekly-update-4 – LiveView Native - weekly update 4
Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com
Discussion Resources
https://twitter.com/wiebemarten/status/1557852447414132739
https://github.com/kipcole9
https://2022.elixirconf.com/speakers/kip-cole – Time algebra - a new way to think about and work with time
https://github.com/kipcole9/tempo – Tempo library
https://github.com/kipcole9/money
https://github.com/elixir-cldr/cldr – ex_cldr - Elixir implementation of CLDR/ICU
https://www.amazon.com/Astronomical-Algorithms-Jean-Meeus/dp/0943396611
https://github.com/kimlai/tz_world
https://www.iflscience.com/what-is-a-leap-second-and-why-do-amazon-facebook-and-google-want-to-scrap-it-64625
https://github.com/kipcole9/money
Guest Information
https://twitter.com/kipcole9 – on Twitter
https://github.com/kipcole9/ – on Github
https://elixirforum.com/u/kip/summary – ElixirForum
Find us online
Message the show - @ThinkingElixir
Email the show - show@thinkingelixir.com
Mark Ericksen - @brainlid
David Bernheisel - @bernheisel
Cade Ward - @cadebward
Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!


