How I Misunderstood Dialyzer

I published a post a few weeks ago describing problems I had using Dialyzer with OTP behaviours like GenServer.1 I presented some helpers I hoped to use in a project...

Problems with GenServer Callback Types

Update (October 2, 2020) After publishing this and trying out some of the type helpers I suggested, I realize that I misunderstood how Dialyzer works. Success typing, which Dialyzer implements,...

Dockerfile Hacks for Elixir Umbrella Apps

At my new job, I’m working with a team with a ton of experience maintaining and extending a Ruby on Rails monolith. Based on our experience running a large monolith,...

Oban Monitoring with Plugins

At work, we are currently implementing a payments processing service in Elixir. Our system relies on background processing to reconcile the status of payments in our system with the status...

Do The Easy Thing First

Out in the world, I see a lot of software teams falling into an insidious trap. They don’t take care of the “Easy” things first. It shouldn’t be surprising that...