As practice in thinking and talking about practical software design approaches (at the high and low level), I want to explore some scenarios from fir...
With the AI hype going around, you may have come across the phrase "vector search", "vector database", or "embeddings" lately. Here's an exploration ...
Watching Dawn of the Planet of the Apes gave me some thoughts about dictatorship, and more broadly, leadership. Mostly regarding at work, but also...
How SVG works The common way of representing digital images is via pixels. Take an image and break it down into small squares ("pixels"), where each ...
We have the low-level tools for connecting to the Faktory server, executing commands, fetching data, logging, and so on. Now, I'll work on the high-l...
This is a dump of my learnings and experiments while going down a little rabbit hole. Concurrent rate limiters I was studying Sidekiq's page on rate ...
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...