Peter Gillard-Moss


Transient opinion made permanent.

People aren't always Users

Several years ago I was called in to help solve a technical argument with a product my company was buying. The argument was around licensing costs and the way the vendor applied licenses to people in the product’s directory, even if they never used the product. The company I worked...


Saying 'Yes' with Imposter Syndrome

I hear the words somewhere in the background “Peter’s probably the best person”. Even before my nervous system can invoke my flight response someone is putting a photography rig, which bears more resemblance to the International Space Station than it does a camera, into my hands. “Would you mind taking...


Understanding OAuth 2.0 and OpenID Connect

I’ve spent a good amount of time trying to get to grips with OAuth 2.0 and OpenID Connect (OIDC).   First you must get over the confusion that OAuth 2.0 isn’t the same, or backwards compatible with OAuth, and that OIDC isn’t the same, or compatible, with OpenID.  Then you realise...


Safety First with AWS Roles and STS

AWS credentials are an extremely precious and powerful asset. In the wrong hands they can cause serious damage either by disrupting services or, more commonly, by acquiring free compute power, usually to mine bitcoins, at your expense - bills with five figure sums over a matter of days are not...


Authentication out of App

The majority of modern web applications require some sort of authentication mechanism. Whether that’s an internal reporting site, a build server, an online store, a blogging engine or even an API. Users need to login to either gain access the entire system or to specific parts, or they need to...


Three rational reasons for being vegetarian

I read the most ridiculous article that a friend posted on Facebook titled THE 3 reasons to give up meat (and 1 not to). The article lead with some really strange and more than slightly ridiculous arguments about vegetarian’s getting more light photons or something. For some reason vegetarianism and...


Machine images as build artefacts

Thanks to the cloud, new innovative approaches in infrastructure management, to make it considerably more reliable, consistent and repeatable, are being proven at scales never before imagined. By combining the benefits of virtualization with high levels of automation, mainstream cloud implementations such as AWS have enabled new properties to infrastructure...


Why Russell Brand is right

Russell Brand got a grilling from Paxman after, writing an article in the New Statesmen, and saying he didn’t vote and telling people there is no point voting. Brand’s central argument is that the current system of democracy in the UK (at least) is a sham, a charade, a pantomime....


Abstract Away & Abstract Into

You’re about to use a third party library in your codebase. Every good developer known that the first thing to do is create some domain specific abstractions by sticking a layer of objects over the top. This encapsulates the third party library and keeps is away from the client code....


Monitorama 2013

I spent the back end of the week attending the Monitorama EU 2013 hackathon in Berlin. It was an enjoyable, well organized affair. The talks, were generally of high quality and those I didn’t find engaging others had called out as some of the best of the day. Which suggests...


Resource centric application

Web application frameworks, from cgi-bin through to PHP and Java Servlets all the way up to ASP.NET MVC, Ruby on Rails etc. are built around the paradigm of modelling a request and response pair: the application receives a request and then generates content, on demand, to return, as a response...


Tiered support is an anti-pattern

Back when the first internet bubble was bursting I had my first web development job. We thought we were sophisticated because we used Macromedia Drumbeat whose killer feature was, gosh, dynamic ASP and JSP websites. This put us a cut above those ‘amateurs’ who chopped huge TIFFs into static HTML...


Website as decorator

The conventional way to build websites, over the last decade or so, has been to treat them as first class applications in their own right. After all, they often have behaviours, and domains, that are very specific to their usage. There has been a downside to this. The result has...


It won't stay that way

Every good developer knows that trying to design your system around future requirements is wasteful. You Ain’t Gonna Need It tells us that we should focus on the functionality we need now and not that which may occur in the future. Every good developer knows that we should only model...


Monitor don't log

Look at the market and you see a bunch of products springing up around monitoring, alerting and logging. Graphite, logstash, logster, graylog2, Riemann, splunk to name a few. To my mind there’s a whole lot of confusion going on. I’m sending logs here, stats there, filtering in this place, alerting...


Weighing the cost of expediency

Here is a situation familiar to us all: you’re working hard towards a release, a story comes up that is essential but its implementation seems expensive especially given the time frames. One of the devs on the team that prides themselves for their pragmatism offers a cheap workaround. It’s slightly...


Install files using CloudInit

Cloud-init is one of those killer apps that makes working with Ubuntu a breeze on the cloud (or even other virtualisations such as lxc). Two of the most basic but awesome features of CloudInit is that it supports multi-part data and custom part handlers. This allows you to do two...


Extreme Architecture

Not touched by human hands Here’s a rule: you can’t ssh on to your production boxes. Not just you, don’t feel like you’re being singled out, nobody else can do it, especially not if they’re human. Not even if they are a monkey or a dog come to think of...


We're not special

“A key differentiator of highly productive teams is the ability to identify what is core to their domain, and thus brings them competitive value, and what is commodity, in order to focus their energies on solving core problems and not commodity problems.” Most of us, at some point in our...


Grade Delusion

There is a terrible failure in reasoning amongst politicians and the media that exam grades and standards have a causal link, that somehow a rise or fall in grades denotes the opposite movement in standards. Not only is this reasoning flawed and the argument both invalid and unsound but the...


Layering the cloud

One of the great things about the cloud is the way you can just run a bit of code or a bash script and before a Windows admin can open their GUI you’ve got a running box. This opens up a host of opportunities and new patterns. Martin Fowler recently...


Later: a story graveyard?

In a previous post I discussed how we divide our backlog into Now, Next and Later. One of the things we’ve observed is how Later seems to be the place where stories go to die. That’s not to say that some stories eventually make it into Next and eventually Now...


Now, Next and Later

When starting a project, or a new phase of an existing project, it is common for teams to try and capture a decent breadth of stories and prioritize and estimate them to form a backlog. From that backlog the team can then start to organize the stories to form some...


The wrong view

How do we decide whether a technology or practice is effective? Go to conferences, read blogs, pick up a book or two? We listen to the people speaking, read the lessons learnt from those blogging, and trawl over the detailed texts where authors offer up their opinions. This is the...