Elixir Streams - Elixir and Phoenix tips and courses

:wave: Hi everyone,

I’ve been posting short Elixir and Phoenix video tips and tricks for a little while on Twitter.

But now, I’ve consolidated them all in a new website called Elixir Streams. I hope to keep publishing them regularly.

If you’re interested in free short video tips, check it out!

:point_right: https://www.elixirstreams.com/


Just published one on comparing Datetime and Dates in Elixir:

:point_right: https://www.elixirstreams.com/tips/comparing-elixir-datetimes-and-dates

1 Like

And last week, I posted one on Elixir’s optional syntax!

:point_right: https://www.elixirstreams.com/tips/elixir-optional-syntax

1 Like

This one explode my mind! Short and interesting, good combination for video material.

Thank you, @germsvel!

1 Like

How to run a function N times using the Stream module:

:point_right: https://www.elixirstreams.com/tips/run-elixir-function-n-times


I’ve started building a tiny website with LiveView, learning it on the go, this tip is going to come in super handy: Elixir Streams |> Anatomy of a LiveView Test

1 Like

So glad to hear that! :muscle:

1 Like

Turning maps (and keyword lists) into structs :boom:

:point_right: Elixir Streams |> Turn maps (and keyword lists) into structs

1 Like

Generating infinite sequences with Stream.unfold/2 :exploding_head:

:point_right: Elixir Streams |> Creating infinite sequences with Stream.unfold/2

1 Like

A short one on how ExUnit is an Elixir app (not just some script that gets run)

:point_right: Elixir Streams |> ExUnit. It's an app!


How a one line change allowed me to get rid of my InfiniteScroll JS hook (thanks for LiveView 0.19).

Check it out! :point_right: Elixir Streams |> Infinite scroll with LiveView's `phx-viewport-bottom`

1 Like

Recently used the new to_form/2 helper and loved how it can help us decouple the form (UI) from the core of our domain.

Check it out! :point_right: Elixir Streams |> Phoenix forms without changesets!


Hey, I follow you on Twitter, thanks for making these! I think it’s great to have free resources to expand the community!


Thanks for the kind words! :hugs: It’s always good to know people find the videos valuable.


Another way to decouple forms from database schemas. This time, with embedded schemas!

:eyes: :point_right: Elixir Streams |> Phoenix forms backed by embedded schemas

1 Like

During ElixirConf US, José shared about the types Elixir might get. One part was unclear to me (needing an intersection type for multiple function heads), so I went digging a bit to get a better understanding.

Hope it helps others too!

:point_right: Elixir Streams |> Elixir's intersection types


I have another one based on the Elixir types paper. This time, it’s about operator precedence. Check it out!

:point_right: Elixir Streams |> Elixir Types: Operator Precedence

LiveView 0.20 comes with a nice improvement to debug HEEX templates!

Add config :phoenix_live_view, debug_heex_annotations: true to your dev config, and you’ll see HTML annotations in your browser’s inspector!

Check it out!

:point_right: Elixir Streams |> LiveView 0.20 HEEX Debug Annotations

1 Like