Let's talk about cardinality. Can we talk about cardinality please, Mac? I've been dying to talk about cardinality with you all day. In maths, cardi...
Goal: A brief exploration of what it means to "pack" and "unpack" bytes. Inspiration I've come across Ruby's Array#pack and String#unpack methods, bu...
In this part, we'll focus on supporting some more parts of the Faktory protocol. INFO The INFO command returns information about the Faktory instance...
Separating responsibilities Following on from Part 3, it's time for some refactoring. Thus far, all of the code has been in the TcpClient, but it mak...
At this point, I'll take a break from Faktory-focused functionality to address the shortcomings I raised at the end of the last part. Specifically, I...
This is a re-post of an article I wrote for my company's blog. Here's a story of how we improved our CI run times in one of our core Ruby services by...
I want to share a little algorithm I wrote to solve a puzzle. It's fairly basic computer science, but I feel a bit proud of it because I worked throu...
Now I'll turn what I did in Part 1 into code. First, I'll set up a new Composer project. My composer.json looks like this (truncated): { "require...
My recent queue foray put me on the scent of Faktory, a language-agnostic queue server made by Sidekiq's author. I noticed there wasn't a good PHP cl...
No big revelation here, just writing this as a reminder to myself next time I try curl localhost from WSL and it doesn't work: Don't use localhost o...
This post is part 4 of a series where I build a task queue system. Other parts: Part 1 Part 2 Part 3 Before we continue, at this point, you'd have...
This post is part 3 of a series where I build a task queue system. Other parts: Part 1 Part 2 Part 4 Error handling Right now, when an error happe...