52: IOList and Postgres with Nathan Long

We take a deeper dive with Nathan Long into IOLists in Elixir. We cover what they are, how they work, the power they have when concatenating strings, and how they are used in Phoenix and Logger. We even talk about improper lists and why they exist. And no, it isn’t a bug. We then talk about PostgreSQL features like materialized views, triggers, and using denormalized tables for solving complicated caching situations. Nathan shares some tips for when to use them and provides some cautions worth hearing. Show Notes online - http://podcast.thinkingelixir.com/52 Elixir Community News https://2021.elixirconf.com/ – ElixirConf US 2021 ElixirConf US 2021 scheduled for October https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla/ – New Elixir Case study about Mozilla using Phoenix to create an opensource virtual social space called "Hubs" https://ziglang.org/ – Zig, the language some use to create NIFs was updated for Apple Silicon. https://github.com/ityonemo/zigler – The Elixir library for working with embedded Zig code https://twitter.com/sean_moriarity/status/1401182959844143104 – Training Callback feature added to Axon https://github.com/elixir-nx/livebook/pull/328 – Livebook gets a new "inputs" feature https://thinkingelixir.com/podcast-episodes/046-livebook-with-jonatan-klosko/ – Previous discussion with Livebook developer Jonatan Kłosko https://twitter.com/michalslaski/status/1402243589720117255 – Livebook notebook example shows a scatterplot displaying BEAM statistics like reductions and memory of processes https://www.mitchellhanberg.com/how-i-handle-static-assets-in-my-phoenix-apps/ – Ditch webpack? Handling static assets with Phoenix and esbuild, postcss-cli, cpx https://www.mitchellhanberg.com/how-to-set-up-neovim-for-elixir-development/ – Followup from last week's news item about Neovim, Language Server integration Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://nathanmlong.com/2021/05/what-is-an-iolist/ https://nathanmlong.com/2016/11/elixir-and-io-lists-part-2-io-lists-in-phoenix/ – Discussion on IOLists in Phoenix https://nathanmlong.com/2016/11/elixir-and-unicode-part-1-unicode-and-utf8-explained/ – Unicode background part 1 https://nathanmlong.com/2016/11/elixir-and-unicode-part-2-working-with-unicode-strings/ – Unicode background part 2 https://devchat.tv/elixir-mix/emx-078-phoenix-phrenzy-with-nathan-long/ – Mark talked with Nathan back on Elixir Mix 78 about his work on the Phoenix Phrenzy competition/project https://thinkingelixir.com/podcast-episodes/044-elixir-data-types-with-sasha-fonseca/ – Episode 44 with Sasha Fonseca covered IOLists https://www.youtube.com/watch?v=uf6cgxm9iFQ – Dockyard Elixir Roundtable https://nathanmlong.com/2016/01/protect-your-data-with-postgresql-constraints/ https://nathanmlong.com/2018/01/fast-fulltext-search-with-ecto-and-postgresql/ https://hashrocket.com/blog/posts/materialized-view-strategies-using-postgresql#eager-materialized-view Guest Information https://github.com/nathanl/ – on Github https://nathanmlong.com/blog/ – Blog https://dockyard.com/blog/authors/nathan-long – Dockyard Blog Posts Email - hello@nathanmlong.com Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward

Om Podcasten

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!