I recently started blogging and just wrote my first blog post about Elixir!
In this post, I go through a common occurrence in large codebases: seemingly unrelated files being recompiled every time you change a module. It contains a deep dive on why this happens, how to fix and how to permanently prevent such long (re)compilation chains from showing up again.
The iteration time between making changes and observing changes should be as fast as possible. The slower it is, the more it impacts your productivity. If you suffer from long recompilation chains, I highly suggest you take the time to read the post!
We wanted to use the Jina embeddings v2 model for an Elixir project but it’s not supported out of the box in Bumblebee.
Here, I describe how to implement and verify the Jina model so we can run it in Elixir.
Spoiler alert: it’s probably less work than you expect.
I had an issue with esbuild subprocess staying around as “zombie” and I finally found a solution I wanted to share with you:
At first I tried to exit when stdin was closed but it was not working, I found a workaround which uses an interval to send a SIGNULL signal to the parent to check if it is alive.
This works on my local machine but not on our shared dev server. With this I still find some zombie processes after a few days of people working on the project.
I have been trying to exercise my writing muscles, getting past the barrier of finishing it up and posting it online. Therefore I chose a small subject for it, namely how default function arguments work in Elixir.
I wrote an article a little while back about transforming a typical Python for loop to Elixir pipelines or comprehensions - essentially how to go from imperative to functional. The filter, map, reduce rubric should be useful for anyone who isn’t used to Elixir comprehensions.
Fly.io’s globally distributed network is great for routing users to the closest server but what if you want to connect them to a specific machine? I wrote how to use their fly-replay header and sticky sessions to do that in Phoenix.