Skip to main content


Showing posts from April, 2014


Entropy is a measure of disorder in a system. A number of years ago I was flicking through an old book on software engineering from the 1970's. Beyond being a right riveting read it expounded the view that software does not suffer from decay. That once set, software programs, would follow the same rules over and over and produce the same results time and again ad infinitum. In effect that software was free from decay. I would like to challenge this view. We design a system, spend many weeks and months considering every edge case, crafting the code so we've handled every possible issue nature can throw at us including those "this exception can never happen but just it case it does.." scenarios. We test it till we can test no more without actually going live and then release our latest most wondrous creation on the unsuspecting public. It works and for a fleeting moment all is well with the universe... from this moment on decay eats away at our precious creation like ra

Cloud Jobs

Cloud is the current buzz in the industry and various cloud service-providers are jockeying for position to be #1. Beyond the hype and bravado I've been wondering who is really taking the lead because from my point of view it feels like it's down to Amazon and Google. So I searched a few job-sites to see which cloud service providers are seen as being requirements for positions and the results are below.   Lots of "Cloud" jobs and AWS (Amazon Web Services) occurs quite frequently with Azure (Microsoft) and Rackspace relatively hot (compared to OpenShift , Softlayer and Oracle Cloud ). Google App Engine (GAE) gets a few hits whilst the general search for "Google" (which covers "Google Apps" and so much more) if included would bring the search results into a comparable position to AWS but this is too general to include as "Cloud" so I've excluded it here. Google Compute Engine got no hits. So Cloud is big, Amazon are #1 (currently

Curve Fitting

I'm working on a curve fitting algorithm to help match against various performance profiles (personal project). Quite pleased with the first attempt to model a sine wave...    


Reuse! My favourite subject. Now, are you sitting comfortably? Then I'll begin... Once upon a time in a land far far away, the king of computer-land was worried. Very worried indeed. His silly prime minister had borrowed lots and lots of money to build lots of new computer systems and programs and now they couldn't pay the interest on the debt. Worse still, none of the systems worked together and the land was becoming a confusing mess and there were lots of traffic jams and angry people. No-one knew how it worked and everything kept breaking. It was very expensive and it didn't work. The villagers were not happy and were threatening to chop the heads off the king and queen because they were French. Then one day, a strange young prince claiming to be from a neighbouring country arrived bringing promises to sort out all the mess and clean the country up. And what's more, he'd do it cheaply and the country would have more money and better computer systems. The king and


Welcome to This is a blog dedicated to all things relating to non-functional requirements (NFRs) and IT. So what are non-functionals? Most of the time we think of IT systems in functional terms - essentially the what it does for us. But this doesn't cover some of the most critical aspects of IT systems such as: Form - As an architect I like diagrams. Unfortunately I can't draw for toffee. Thankfully we have designers to fill this gap in my skills. But beyond the dark realm of sexy website design comes accessibility, cross-browser support and the dreaded and fluffy world of usability... Operability - Covering backup & recovery, monitoring, failover etc. How is the system to be maintained and supported? What are the core SLA's we need to support? Configuration management... and so on. Performance & Capacity - How fast does it need to be? How scalable? How many users? How much data? etc. Security - Always in the press; usually for th