Recovering Data from Orphaned Fly.io Volumes

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

2 min read
New blog

I had to make a new blog because we can't have nice things.

1 min read
Handling classes in Phoenix LiveView components

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

2 min read