Copyright 2017-2018 Jason Ross, All Rights Reserved

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

After a lot of persuasion and, frankly, nagging from all of us, my wife has finally started to share her rather awesome recipes and household hints and tips on her own web site. As she has lots of readers from outside Canada she asked me to put together a feature on her site showing the current weather in Calgary, partly so that her readers can identify with her and partly to prove that it really does get as cold here as we tell people!

I looked around the web for a free weather site (she’ll probably upgrade when the site gets more visitors) and found one with decent reviews at APIXU ( They have some weather widgets but, like all of the other weather sites, none were quite the right size and none displayed quite what she wanted. The API looked quite good though, so I decided to give the site a try.

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

When people or companies make data available through APIs, it might seem that the simplest thing to do is to just download the data whenever you need it. It’s true that this is simple but it’s also very inefficient, and this inefficiency will only get worse as your system’s demands increase. For big data / cloud/ large scale systems you need a different approach, especially as it might not be just you who pays.

Analysis Paralysis
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Sometimes, when you or your team are trying to solve a problem, you find that you’re going round in circles and getting nowhere. There is always a reason why every solution is wrong, or you’re worried that if you start working on one solution it’ll turn out to be a dead end. You get into a cycle of thinking more and more about the details, where everything could go wrong, and then you realize you’re overthinking the whole thing. You ask for more information, and if and when it arrives then it too gets analyzed and you find you’re no closer to an answer than before. The whole process just goes on and on, with no apparent end in sight, and no actual results to show for it.

This is “Analysis Paralysis”.

Medway Union Workhouse Before Its Demolition, As Featured On My History Site
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

In the everyday rush of work and family life it’s easy for personal projects to be neglected. That’s what happened to one of my web sites, which hadn’t been updated since 2010. It had been uploaded to a new web host and just left there, and was showing its age. I decided it was time to update it, and I thought I'd describe the process here.

Treasure Chest. Image courtesy of Roger Kirby,
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Modern systems are fast. Very fast. So why is it that they seem so slow? Controls take too much time to be filled with their contents, web pages take too long to display, documents take ages to retrieve, and applications feel like they have to “think” for a while before they do anything. All running across ridiculously fast networks that somehow seem to run like they’re connected with pieces of damp string. What’s gone wrong?

Image courtesy of Adrian van Leen,
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

Many developers that I’ve worked with seem to have an almost unhealthy obsession with the idea of “Information Radiators”- wall-mounted screens, coloured lights and displays in the office, showing successful or failing builds and deployments as well as general information about the system.

At first this may seem a little dramatic – isn’t it humiliating to have your failures publicized? Why does anyone else but you care whether your build fails? What benefits does this sort of thing give us?

List of valid, and invalid version numbers.
Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

In Eliminating Failed Deployments – Part 2 – Automate Your Obsession, one of the checks I suggested was:

Ensure all of the binary files have an appropriate version number; “” is NOT an appropriate version number.

So, WHY isn’t, or anything like that, an appropriate version?