49 min

52: IOList and Postgres with Nathan Long Thinking Elixir Podcast

    • How To

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

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

49 min