Sign in

Triple Pat

@triplepat.com
12 followers 9 following 17 posts

Helping practitioners gain comfort and confidence in their running systems. Monitoring helps, and alerting helps, but by doing just a little bit more we can help people sleep a lot better at night. Official account for triplepat.com

PostsRepliesMedia
Triple Pat @triplepat.com · 05/04/2026
Memoryless job scheduling should be a lot more common than it is - it makes everything work more smoothly by automatically spreading load around and making measurements work the way you already think they work. Here's how to do it: triplepat.com/blog/2026/04...
triplepat.com
Memoryless Scheduling Should Be Your Default | Triple Pat
000
Triple Pat @triplepat.com · 14/04/2025
At Triple Pat, our code is 100% covered by tests. This is an important step towards how we keep our systems reliable and correct, but not for the reasons you might think... Instead, it's due to Al Capone and intellectual forcing functions! triplepat.com/blog/2025/04...
triplepat.com
100% test coverage makes your code simpler and better | Triple PatBluesky butterfly logo
130
Triple Pat @triplepat.com · 31/03/2025
We are assembling a reliable service out of mostly-reliable components (e.g. computers and software). That's tricky to do, and we're very proud of how we do it, how well it's working, and the fact that we do it in public :) triplepat.com/blog/2025/03...
triplepat.com
Learning in public from our incidents | Triple PatBluesky butterfly logo
100
Triple Pat @triplepat.com · 26/03/2025
We lint all our Go code pretty strictly. Here's our config, what's yours? What do we do differently? triplepat.com/blog/2025/03...
triplepat.com
Linting your Go code | Triple PatBluesky butterfly logo
100
Triple Pat @triplepat.com · 04/03/2025
Triple Pat offers a SaaS service over the Internet, which means the reliability of our service is tied up with the reliability of DNS. Here's how we try and make sure DNS problems don't turn into service outages... triplepat.com/blog/2025/03...
triplepat.com
Reliable DNS | Triple PatBluesky butterfly logo
000
Triple Pat @triplepat.com · 28/02/2025
Time is hard to work with when you need to test your code. Injecting a clock can make it much easier! triplepat.com/blog/2025/02...
triplepat.com
Highly reliable Go code - use clocks not time | Triple PatBluesky butterfly logo
000
Triple Pat @triplepat.com · 14/02/2025
Reliable system need good metrics, and good metrics require knowledge and thought. Here's the Triple Pat tips for good metric design. We hope you find them useful and use them! triplepat.com/blog/2025/02...
triplepat.com
Reliable Systems via Good Metrics | Triple PatBluesky butterfly logo
000
Triple Pat @triplepat.com · 04/02/2025
When you `defer` in Go you often accidentally ignore errors. Here's a little trick to make sure you don't ignore things, without having to change your code's logical flow! triplepat.com/blog/2025/02...
triplepat.com
Highly reliable Go code - Don't ignore errors when you defer, use this pattern instead | Triple PatBluesky butterfly logo
000
Triple Pat @triplepat.com · 27/01/2025
Another small function for Go error handling that can make a big difference - LogOnError triplepat.com/blog/2025/01...
triplepat.com
Log on error | Triple PatBluesky butterfly logo
100
Triple Pat @triplepat.com · 20/01/2025
"Must()" is a function that has achieved folklore status in the Go community but never settled on "one true implementation". Use Must() and ValueOrDie() to make your code both clearer and more correct! triplepat.com/blog/2025/01...
triplepat.com
Highly reliable Go code - Must and ValueOrDie | Triple PatBluesky butterfly logo
011
Triple Pat @triplepat.com · 09/01/2025
We're running a SaaS business centered around reliability, so we need to think carefully and be transparent about our dependencies. Writing this caused us to register triplepat.net in order to have multi-provider DNS redundancy between triplepat.net and triplepat.com! triplepat.com/blog/2025/01...
triplepat.com
Runtime dependencies | Triple PatBluesky butterfly logo
100
Triple Pat @triplepat.com · 03/01/2025
We're building a check-in service, and that comes with a lot of pieces. What technology are we choosing to use, and why? The short version is: we keep it simple, and we choose boring technology whenever possible. triplepat.com/blog/2025/01... It has been working great for us, and we recommend it!
triplepat.com
Keep it Boring | Triple PatBluesky butterfly logo
100
Triple Pat @triplepat.com · 17/10/2024
We've added comments to our nascent blog using BlueSky. Thanks @aendra.com for the blue-comments library, it's working great!
triplepat.com
How the Triple Pat website works | TriplePat BlogBluesky butterfly logo
351
Triple Pat @triplepat.com · 17/10/2024
Our first post is all about software reliability, and specifically about how we are trying to make our systems reliable. It's not something you can put in at the end - you have to think about this stuff from the start!
triplepat.com
Building Triple Pat | TriplePat BlogBluesky butterfly logo
The pieces of Triple Pat
100
Triple Pat @triplepat.com · 17/10/2024
Triple Pat just got a blog! Because we like BlueSky, we're going to try to use BlueSky threads as comments. You might see some posts getting created and deleted (both on the blog and here on bsky) as we get this going...
000
Triple Pat @triplepat.com · 04/06/2024
The name Triple Pat comes from how people with pockets often leave their home - right at the threshold, they check "wallet, keys, phone" and do a triple pat. Then they know they are ready to go out.
040