After a hardware failure on Fly.io triggered a migration to new hardware, I encountered an issue where the new machine didn't mount to the old volume but instead created a new one. Despite attempts to mount the old volume, persistent errors prevented me from attaching it to the application. This
We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
I had to make a new blog because we can't have nice things.
With Phoenix LiveView you can build components that encapsulate styling. This is especially useful when using a class-based CSS framework like Tailwind CSS.Often you will want to make your component configurable by allowing the users of the component to pass in additional classes. The CoreComponents module that is created with
As I was writing a Phoenix LiveView component I determined that I wanted to provide a default "empty state" when a slot provided to the component rendered to a blank value. A good example is a detail list component that may be used as follows:<.list><:itemtitle="Email"><%=@contact.email%></:item><:itemtitle="Mobile Phone"><%=@contact.mobile_phone%></:item></.list> In the component you
Use nx and Bumblebee to generate modern text embeddings with Elixir.
While implementing a LiveView external upload to S3 I noticed that the default cancellation mechanism doesn't properly terminate the upload. The upload is cancelled within the LiveView state, but the browser will continue to upload the file via XMLHttpRequest and never gets terminated. When uploading large files or handling file