Guarantees with Ecto.Repo.update_all/3

Guarantees with Ecto.Repo.update_all/3

We all want guarantees. We can get guarantees on our automobiles, homes, phones, shoes, food, and even our pets. We’ll take a guarantee in, on, or about anything. As software developers, our clients want guarantees for a whole host of things, from delivery dates to...
The Lifecycle of a Phoenix LiveView

The Lifecycle of a Phoenix LiveView

The LiveView request lifecycle runs twice when a connection is first made to your application. It runs once to render static content for web crawlers, search engines, and other non-javascript-enabled clients. The second pass occurs when the browser establishes the...
Building Embedded Systems in the Modern Era

Building Embedded Systems in the Modern Era

I remember the early days of hacking small devices with a single purpose. Many of them lived unconnected and provided one bit of functionality. Maybe you remember that day too. Perhaps you were a professional working on a sprinkler controller or a hobbyist that wanted...
Dynamic Form Inputs in Elixir LiveView

Dynamic Form Inputs in Elixir LiveView

I recently found myself addressing a product requirement involving a form with input fields generated from a list of data we retrieved from a third-party provider. This requirement proved challenging as the prescribed user experience stretched a little beyond the...
Front-End Testing in Phoenix With Wallaby

Front-End Testing in Phoenix With Wallaby

Why is front-end testing even a thing? We have LiveView, right? I can run tests on my components and everything is magical. What is Wallaby? You may have heard of Wallaby at the Big Elixir when Britton Broderick gave a talk about using it with LiveView, or maybe you...