Pipelines: The Forgotten SLO
When talking about SLOs, uptime and latency get all the attention. But there are many other kinds of SLI that we don't pay enough attention to.
Writings about CI/CD, DevOps and other software engineering topics
When talking about SLOs, uptime and latency get all the attention. But there are many other kinds of SLI that we don't pay enough attention to.
You might have heard of merge queues. You might even have used one at work. If so, you might even hate them. But if you've never used them before, how do you decide if your engineering team would benefit from a merge queue?
Comparing two rate limiting strategies, one that's (almost) pleasant to work with, another that is very much not.
Technical interviews have changed a lot over the years. Various kinds of interviews have drawn various kinds of complaint. We can make it better, but it'll still always be a bit broken.
There's no escaping it, AI is writing a lot of code. Some great, some needing human intervention. But how to we focus our review efforts to catch the bugs without getting overwhelmed?
Exploring some new technologies and techniques being used at my new job
I've been dissatisfied with SubStack for a little while, and finally got my act together to move to a self-hosted site where I have more control.
It's been a bad couple of weeks for GitHub reliability, but how does this compare to their previous performance? I pulled some data from their status page to find out.
Is Plur1bus secretly about AI? Officially, no, but that didn't stop me seeing shadows of GPUs in almost every scene.
Join me as I recount a recent experience with an enthusiastic but wrong LLM and what I had to do to dig out of the hole.
The way we build software is changing, and the way we deploy is going to have to change right along with it. What we consider to be "good" CI today may be very different from tomorrow's definition
It's been a month and a half since I started working on a Git-backed REST API. High time to wrap it up and answer the dang question already!
My git-backed REST API is performant and can even handle concurrent requests, but is it production ready? Here's how I went about making it stable.
After 18 months of working on Ocuroot, I think it's time to move on. It's been a heck of a ride and quite the learning experience!
You may or may not have heard about trees in Git, but you've definitely worked with them! This post provides an overview of what trees are, how they fit together and walks through an example.
Now the Git-backed REST API is a bit more performant, I focus on what happens when you have multiple users at once.
Running a REST API off of the Git CLI tool was slow to say the least. Can I make the API a little faster by interacting with the Git server more directly?
Git is basically a fancy file store with history, so can it be applied to use cases other than source control? Come with me as I try to repurpose Git into a backing store for a simple REST API
When working with IaC platforms, there's usually some infra you need to configure to get them working. With Terraform, you need somewhere to keep your state, for example. How do you configure this infra? Are you stuck doing it manually, or could you automate it?
Some thoughts on the recent run of internet-breaking cloud provider outages. Are they symptoms of a change in the industry at large, or just a run of bad luck?
Over the years, I got into a narrow routine when using Git for day-to-day development. Now I'm building tools around Git, I'm discovering all kinds of features I'd never noticed before. Here are my favorite three.
Queueing theory can be incredibly useful, but potentially dense for those of us who aren't mathematically inclined (myself included), so let's look at the basics in their simplest form.
It might be tempting to put all your infrastructure into a single Terraform module for simplicity. But as you scale, this approach will start slowing you down. Here's what can do wrong and how you can address it.
Amazon put out a postmortem for the recent us-east-1 disruption, and it is dense to say the least. Here's my interpretation. Hint: it wasn't a "kill switch" or rogue AI.
Or at least, make it seem that way! This post explores what happens to your CI pipelines when all your workers are busy.