Phoenix LiveView: Async Assign Pattern

A sustainable pattern for loading assigns concurrently in Phoenix LiveView. https://blog.andyglassman.com/2023/06/phoenix-liveview-async-assign-pattern.html

The many states of Elixir

A post on mutability and state in Elixir. Functional yes. Immutable? Eeh..

https://underjord.io/the-many-states-of-elixir.html

Custom Styling for Kaffy Admin UI

Guide on how to style the Kaffy Admin UI nav.

https://blog.andyglassman.com/2023/06/custom-kaffy-styling.html

Thinking Elixir News 155

Episode 155 of Thinking Elixir. OpenSource contributions recognition for Jonatan Kłosko, more from Sean Moriarity on AI with Elixir, the latest update on LLaMa running locally, Stephen Bussey is helping people move from OO languages like Ruby to Elixir with a new book, unraveling recent Arrow related contributions, a security fix to apply and conferences requesting speakers!

https://podcast.thinkingelixir.com/155

Prefixed Object IDs in Ecto

How to set up human-readable Object IDs with Ecto using prefixed base62 encoded UUIDv7.

https://danschultzer.com/posts/prefixed-base62-uuidv7-object-ids-with-ecto

Adding Dialyzer Without the Pain

Dialyzer is a tool that you’ve probably heard about in the Elixir community. You may have even used it. However, adding Dialyzer to an existing project can feel overwhelming when you see the wall of red and have 100s of errors. Hitting that resistance can turn people right around, running for the door. Noah Betzen shows us how adding Dialyzer doesn’t have to be scary. He walks us through the process on several existing public Elixir projects. He shares some tips and tricks that let us keep our productivity without getting overwhelmed.

https://fly.io/phoenix-files/adding-dialyzer-without-the-pain/

Exploit Guard: Open Source Runtime Application Self Protection for Elixir

Detect and stop hacking attempts at runtime. Exploit Guard is an open source RASP tool for Elixir, which monitors for remote code execution (RCE) attacks at runtime.

https://paraxial.io/blog/exploit-guard

Anatomy of a LiveView test

This is how I like to write most of my LiveView tests:

  • mount LiveView with live/2,
  • target an element (with element/3 or form/3) and perform a render action
  • make an assertion with has_element?/3

The familiar setup-exercise-verify testing pattern. 🥳

Check it out 👉 https://youtu.be/PGGhL9Votig

The glory of scripting in Elixir

Hyperbole aside. I really like writing up quick scripts in Elixir and I figured I’d share the basic idea of it in case people weren’t aware how very possible it is. https://underjord.io/scripting-with-elixir.html

How much memory is needed to run 1M Erlang processes?

Response to the recent article about memory usage of different runtimes for concurrent processing. How to improve Elixir results in such micro benchmarks.

https://hauleth.dev/post/beam-process-memory-usage/

Why do ML on the Erlang VM?

I wrote about my thoughts as an old Python dev that’s gone to Elixir and soon found that ML followed me over here. Or rather, why ML kinda fits in Elixir.

https://underjord.io/why-ml-on-erlang.html

HtmlSanitizeEx

In this episode we’ll use the HtmlSanitizeEx package to help protect an Elixir application that uses Phoenix against malicious code execution.

https://elixircasts.io/sanitizing-html-with-htmlsanitizeex

ThinkingElixir 154: Serving Up AI with Sean Moriarity

Episode 154 of Thinking Elixir. AI topics are all the rage right now, so we team up with Sean Moriarity to unpack what’s going on and what it means for Elixir. Sean talks about Nx and his insights on the timing of Elixir’s readiness for the public AI shift. He explains some of the Python frustrations that Elixir can alleviate and he shares tips on putting a PoC ML solution into a production Elixir app. Recently, Sean added LLaMa support to Bumblebee and he explains the background for the OpenSource Meta LLM people have been playing with and more! Turns out there’s a lot to be excited about for AI and Elixir!

https://podcast.thinkingelixir.com/154

Absinthe for Large Elixir Applications

Discover how you can best use Absinthe for data-heavy Elixir applications: https://blog.appsignal.com/2023/06/06/absinthe-for-large-elixir-applications.html

Migrating from pow to phx.gen.auth

How to migrate from the pow library for authentication to phx.gen.auth without breaking anything for users. https://2metz.fr/blog/migrate-from-pow-to-phx-gen-auth/

Migrating to Verified Routes

Verified Routes are an exciting feature introduced in Phoenix in v1.7. For those of us with a mature project, we may have already upgraded to Phoenix v1.7, but we didn’t stop to migrate the hundreds of routes in our project. Now that some time has passed, we are ready to bring the benefits of simpler, clearer routes that are compile-time checked to our project. Perhaps the plan was to slowly convert our routes over time. But what if we could get it all done today? In this post, we use a community created custom mix task to migrate the bulk or the routes and we cover how to clean-up what’s left over. Get the benefit of Verified Routes now!

https://fly.io/phoenix-files/migrating-to-verified-routes/

Unit testing SQL functions in an Elixir project

If you ever needed to add an SQL function that you can use in your Elixir project you might have skipped writing tests for it. There are a couple of official ways1 2 you can write unit tests for PostgreSQL functions but having it in the same code base will make it so you actually maintain the tests.

https://0x7f.dev/post/unit_testing_sql_functions/

Testing LiveView course is completely updated with Phoenix 1.7 and LiveView 0.18!

My Testing LiveView course is completely updated with Phoenix 1.7 and LiveView 0.18! (and soon with 0.19)

I rebuilt it from the ground up to make it utterly practical.

Each lesson is short and to the point, crafted from my experience testing LiveView apps in the wild, and refined by my ten years of practicing TDD.

If you’re looking for a great way to learn how to test LiveView apps, give it a look!. 👇

https://www.testingliveview.com/

Context maintainability & guidelines in Elixir & Phoenix

The concept of Phoenix Context may appear straightforward, yet its potential for significantly boosting Phoenix app maintainability is profound. However, the truth is many developers grapple with its effective implementation.

In this blog post, I unveil a strategic solution for optimizing context organization, a critical step towards sustainable and efficient Phoenix app development.

https://curiosum.com/blog/elixir-phoenix-context-maintainability-guildelines

ThinkingElixir 153: Elixir Tools and Language Servers

Episode 153 of Thinking Elixir. Language servers are an important part of modern developer tooling. Mitch Hanberg has made this his new focus with gen_lsp, a generic language server behaviour that he then implemented a Credo language server on top of. Yes, that’s right, Credo! We learn what that means and what his new elixir-tools Github organization is intended to do. Listen to Mich share his vision for what Elixir dev tools could be like! We get an update on his Temple project, an alternative to Phoenix templates, we learn about an existing Elixir formatter plugin that may reformat code more to your liking and more!

https://podcast.thinkingelixir.com/153

Previous page Next page