Christian Alexander's Avatar

Christian Alexander

@phx.dev

I write code and do stuff. https://youtube.com/@CodeAndStuff

123
Followers
14
Following
16
Posts
08.09.2023
Joined
Posts Following

Latest posts by Christian Alexander @phx.dev

Server-Side Request Forgery: How it Works
Server-Side Request Forgery: How it Works YouTube video by Code and Stuff

The latest Code and Stuff video is here!

Learn about Server-Side Request Forgery (SSRF) attacks and mitigations, complete with a working webhook demo application!

#ElixirLang

youtu.be/EWdphas_OP4

07.12.2025 23:12 πŸ‘ 8 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Preview
Elixir Radar Newsletter Curated content from the Elixir community

Elixir Radar issue 490 is out! πŸ“£

You can read it here: buff.ly/eBGmbTd

This issue comes with content from @juanazam.bsky.social @yellowduck.be @bartblast.com @noelworden.bsky.social @phx.dev and Daniil Popov. Thank you!

#ElixirLang

19.11.2025 16:15 πŸ‘ 8 πŸ” 5 πŸ’¬ 0 πŸ“Œ 0

Oof I forgot to add the hashtag in my copy/paste haste

31.10.2025 21:44 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
ReqLLM: The Unified LLM Interface for Elixir
ReqLLM: The Unified LLM Interface for Elixir YouTube video by Code and Stuff

The latest Code and Stuff video is here!

This time, a walkthrough of @mikehostetler.bsky.social’s new ReqLLM package, which provides a unified interface to many model providersβ€”all in Elixir!

youtu.be/-U2sQ3e3R-0

31.10.2025 18:35 πŸ‘ 13 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Ash TypeScript: Rich Phoenix Frontends, Simplified
Ash TypeScript: Rich Phoenix Frontends, Simplified YouTube video by Code and Stuff

It's finally here: the Code and Stuff walkthrough of Ash TypeScript!

Learn how to build an Ash project from scratch, use LiveView to begin, and eject to React without much fuss!

It also fits into @tanstack.com really nicely.

#ElixirLang @ash-hq.org

youtu.be/t-hori2Io14

27.09.2025 18:12 πŸ‘ 31 πŸ” 3 πŸ’¬ 5 πŸ“Œ 2
Preview
Elixir Radar 480

Elixir Radar issue 480 is out! πŸ“£

You can read it here: buff.ly/Xo2thcs

This issue comes with content from @zachdaniel.dev @steffend.me @josevalim.bsky.social , Chris McCord and Christian Alexander . Thank you!

#ElixirLang

06.08.2025 16:15 πŸ‘ 10 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
Auto-Select Timezones in Phoenix Apps (Your Users Will Thank You)
Auto-Select Timezones in Phoenix Apps (Your Users Will Thank You) YouTube video by Code and Stuff

The latest Code and Stuff is here:
Auto-Select Timezones in Phoenix Apps

It's a quick one, showing a pattern I use all the time.

#MyElixirStatus

youtu.be/q6Kd5C7O-F8

06.08.2025 13:24 πŸ‘ 11 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
An example resource with a circuit breaker defined. If 10 failures are hit within 10 seconds, the action will fast fail for a minute to let the circuit reset.

An example resource with a circuit breaker defined. If 10 failures are hit within 10 seconds, the action will fast fail for a minute to let the circuit reset.

I made an Ash extension!

Elixir is capable of hitting services hard; great for throughput but harsh when those services are trying to recover from an outage.

The circuit breaker pattern addresses this issue and is now available in Ash!

#MyElixirStatus

hex.pm/packages/ash...

03.08.2025 02:49 πŸ‘ 41 πŸ” 7 πŸ’¬ 1 πŸ“Œ 0
Phoenix LiveView 1.1 released! - Phoenix Blog LiveView 1.1 brings quality of life improvements and some big new features like Colocated Hooks and keyed comprehensions.

Phoenix #LiveView 1.1 is out now! (Actually already yesterday, but we were only able to release the blog post now) #MyElixirStatus

phoenixframework.org/blog/phoenix...

31.07.2025 12:07 πŸ‘ 60 πŸ” 15 πŸ’¬ 4 πŸ“Œ 0
What's new in Phoenix LiveView 1.1?
What's new in Phoenix LiveView 1.1? YouTube video by Code and Stuff

Phoenix LiveView 1.1 is out!

Colocated JavaScript (and hooks), list comprehension improvements, and an igniter-based script that makes updating easier than ever.

What an incredible releaseβ€”check it out!

#MyElixirStatus

youtu.be/EV6DSqTOXM0

31.07.2025 15:43 πŸ‘ 48 πŸ” 7 πŸ’¬ 1 πŸ“Œ 0
What are state machines? (feat. Ash Framework)
What are state machines? (feat. Ash Framework) YouTube video by Code and Stuff

My next video is live! This time, I explore the ash_state_machine extension.

Along the way, you'll learn about policies, pubsub, and Oban integration in the demo app!

#ElixirLang #AshFramework
youtu.be/_x6TE7hbE1k

20.07.2025 19:04 πŸ‘ 34 πŸ” 9 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

hexdocs.pm/usage_rules now includes powerful docs-search tasks, and instructs agents to use them for research. Please, if you are working with LLMs and Elixir, try it out. It helps even when packages haven't written usage-rules files, thanks to the new docs tools!
#ElixirLang

17.07.2025 21:40 πŸ‘ 38 πŸ” 6 πŸ’¬ 1 πŸ“Œ 1

Yay, new extensions! Each one makes the rest of the system more powerful.

Excited to see what y’all are cooking up soon!

16.07.2025 19:09 πŸ‘ 2 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

LLMs don't do a great job of cleaning up after themselves.

The result: developers include way too much of this AI slop in their commits.

Did nobody teach them about git add --patch?

15.07.2025 15:03 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Coming soon: learn how to model payment states with ash_state_machine!

The demo also includes background job processing to simulate payments, auth policies, and real time updates. All made easy with Ash!

Which part are you interested in learning?

#ElixirLang #AshFramework

13.07.2025 23:35 πŸ‘ 40 πŸ” 3 πŸ’¬ 3 πŸ“Œ 0
Complex Workflows in Elixir with Reactor (+ AI Agents)
Complex Workflows in Elixir with Reactor (+ AI Agents) YouTube video by Code and Stuff

Calling multiple services doesn't have to be a nightmare.

My latest video explores Reactor for workflow orchestration. Concurrent execution, automatic rollbacks on failure, and of course: it works with Ash AI.

#MyElixirStatus #AshFramework

youtu.be/0Dvn039qD8I

02.07.2025 23:14 πŸ‘ 43 πŸ” 9 πŸ’¬ 0 πŸ“Œ 2
Advanced Forms with Embedded Schemas and Multi: Phoenix App from Scratch, Episode 9
Advanced Forms with Embedded Schemas and Multi: Phoenix App from Scratch, Episode 9 YouTube video by Code and Stuff

As promised, a new Phoenix App from Scratch video:

Embedded schemas and an intro to Ecto Multi, all in the context of the demo budget tracker app!

There's even some animations to describe Multi, if you're into that sort of thing.

#MyElixirStatus

youtu.be/Vx69evZOEAE

22.06.2025 23:05 πŸ‘ 13 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Oban is probably the greatest library I have ever used, especially with Oban.Pro on top. The value you get for free - or for a very reasonable amount - is mind-blowing.

20.06.2025 14:24 πŸ‘ 31 πŸ” 8 πŸ’¬ 1 πŸ“Œ 2
An example of an Ecto embedded schema, containing a full budget object and an additional decimal field called `period_funding_amount`.


  embedded_schema do
    field :period_funding_amount, :decimal
    embeds_one(:budget, Budget)
  end

An example of an Ecto embedded schema, containing a full budget object and an additional decimal field called `period_funding_amount`. embedded_schema do field :period_funding_amount, :decimal embeds_one(:budget, Budget) end

An Elixir function called `construct_multi`, which inserts a budget and funds it if necessary.


defp construct_multi(data) do
    Ecto.Multi.new()
    |> Ecto.Multi.insert(:budget, data.budget)
    |> Ecto.Multi.run(:fund_budget, fn repo, %{budget: budget} ->
      fund_budget_if_necessary(repo, budget, data)
    end)
  end

An Elixir function called `construct_multi`, which inserts a budget and funds it if necessary. defp construct_multi(data) do Ecto.Multi.new() |> Ecto.Multi.insert(:budget, data.budget) |> Ecto.Multi.run(:fund_budget, fn repo, %{budget: budget} -> fund_budget_if_necessary(repo, budget, data) end) end

Embedded Ecto schemas in forms and a brief intro to Multi?

Coming soon in the Budgie series on Code and Stuff!

#MyElixirStatus

17.06.2025 14:57 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
mix ash_postgres.gen.resources β€” ash_postgres v2.6.7

Ash isn't just for new apps, with the ash_postgres.gen.resources mix task!

hexdocs.pm/ash_postgres...

15.06.2025 18:48 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Video thumbnail

Did you know @ash-hq.org can import existing database tables as resources automatically?

It can even generate relationships and constraints!

#AshFramework #ElixirLang

15.06.2025 18:48 πŸ‘ 24 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0