52: IOList and Postgres with Nathan Long

Thinking Elixir Podcast - A podcast by ThinkingElixir.com - Tuesdays

Categories:

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 [email protected] 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 - [email protected] Find us online Message the show - @ThinkingElixir Email the show - [email protected] Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward