RSS Feed Subscribe to RSS Feed


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: ,