RSS Feed Subscribe to RSS Feed


Is Apdex useful?

I’ve been trying to figure out what SLOs to define for some services recently, and wondering if Apdex is a useful metric. (See my previous post on the difference between SLIs, SLOs and SLAs)


Tags: , , , , ,


What are SLIs, SLOs and SLAs? 

Service Level Indicators (SLIs) are metrics that you choose to measure the health and performance of your services. Service Level Objectives (SLOs) are the desired target for those indicators. Service Level Agreements (SLAs) build on this and include the consequences of not meeting those targets. All are fundamental to Site Reliability Engineering.

In this post, I’ll try to explain each in more detail, how they relate to each other, and some examples of each.


Tags: , , , , , , , , , ,

SRE vs DevOps

I’m really enjoying the Seeking SRE book. Chapter 12 covers SRE vs DevOps; a community sourced compare and contrast type discussion.

My favorite description is from Thomas Limoncelli, who suggested that:

DevOps engineers focus on the SDLC pipeline with occasional responsibilities for production operations. SREs focus on production operations with occasional responsibilities for the SDLC pipeline.


Tags: , , , ,

Blog post summary: Blameless PostMortems post by John Allspaw

The following is a slightly summarized version of this blog post from John Allspaw that I really like: Blameless PostMortems and a Just Culture 


Tags: , , , ,

Book chapter summary: Postmortem Culture, from the SRE Book

I’m really enjoying reading the excellent “SRE Book“. Chapter 15 “Postmortem Culture: Learning from Failure” in particular, really struck a chord with me. The following is a slightly summarized version of it.

TLDR: Failures are inevitable, especially in distributed systems. To learn from them, document in Postmortems, avoiding blame, and share the newly gained learnings across your org.


Tags: , , , , , , ,

How long to transfer a file of size X over a Y Mbps line?

How long does it take to transfer a file of size X over a Y Mbps line?

A 1 MB file over a 1 Mbps line takes 8 seconds. Not 1 second, due to MegaBytes over MegaBits

1 GB over 1 Mbps = 8192 secs (8*1024; 2.2755 Hours)

1 TB over 1 Mbps = 8388608 secs (2,330 Hours = 97 days)

So a good rule of thumb to remember is:

1Tb over 1Mbps takes ~100 days (8 * 1,000,000 secs)

There are also good online calculators for this. For example:

Convert Megabits Per Second to Terabytes Per Month



Tags: , ,

Git revert a merged branch

The article discusses how to revert changes that have already been pushed to your remote git branch, particularly reverting the changes that come from a branch merge.


Tags: , , , ,

Don’t use “kill -9”

In the past, any time I wanted to stop an errant process on unix, I just used “kill -9”. By default. Without thinking about it much.

Then a colleague commented to me that you should never use kill -9. It terminates the process with no chance to shutdown in an orderly manner, and so can leave things in a bad state, such as corrupting files. “But what else am I supposed to do!?” I naively asked.

There are of course many other options for the kill command (see links below), but here are some alternatives you can try, in the order you may want to try them.


Tags: , , ,

Creating a Maven multi module project

There is no easy way, or simple archetype, to create a maven multi module project. The approach below is the best way I’ve found so far.


Tags: , ,

Switched to HTTPS

I recently switched the WordPress and domain name hosting for this blog from Bluehost to SiteGround, and enabled https in the process.


Tags: , , , ,

Continuous integration / Continuous Delivery / Continuous Deployment

The terms Continuous Integration, Continuous Delivery and Continuous Deployment can still confuse. Even Jez Humble, author of the book Continuous Delivery commented that there is “confusion around the terms continuous delivery versus continuous deployment and my own thinking and definitions have changed”.(1)

This is my attempt to distinguish, based on the sources listed below.


Tags: , , , ,

What is a Development Manager?

In a previous posting on Agile, I discussed the 3 main roles in Scrum: Scrum Master, Product Owner and the dev team. However, there is also an additional role that is not always considered core, but which is increasingly an integral part of Agile, and that is the Development Manager.


Tags: , , , , , ,

What Is Agile?

Agile software development is an approach to developing and delivering working software into production in incremental, iterative work cadences, known as sprints.

Being ‘agile’ is more of a philosophy than a set of rules. It is a mindset to continually improve; to embrace new ideas and implement the best ones, testing in the wild all the while to find what really works. Collaboration, feedback and iteration are key.

In this post, I will briefly touch on the Agile Manifesto where it all started, before looking at some basic concepts (feedback) and alternatives (waterfall), before the main bulk of the article, which is the flavors of Agile, including XP, Kanban and, primarily, Scrum.


Tags: , , , , , ,

Where is the Diagonal key?!

I try to use keyboard shortcuts wherever I can, but struggled recently to find the ‘Diagonal’ key. This post shows how to find it, and any other hidden keys, using Apple’s Keyboard Viewer app.


Tags: , , , ,

Project Euler: Problem 3 in Ruby

Problem 3 in Project Euler is as follows:

The prime factors of 13195 are 5, 7, 13 and 29.

What is the largest prime factor of the number 600851475143 ?

I had previously solved this in Groovy/Java. Here is my Ruby solution…
Read my solution below

Tags: ,