As a young teenager there was a local second hand bookshop I’d frequent and develop what seems to be an ongoing interest in science fiction and fantasy books and Marvel comics. They didn’t have a massive selection of the first two but over the years I managed to stumble my way onto some of the classics such as Arthur C. Clarke, Asimov and Mercedes Lackey. The ultimate doom of my limited pocket money was the timing of my first Forgotten Realms (FR) novel, Spellfire, and the creation of an Advanced Dungeons and Dragons (2nd Edition) group at school. Read on →

She started the Android update and took the knife from the sideboard, knowing he had no chance of calling for help over the next 20 minutes. The cracked screen, caked in his dried blood and still clutched in his desperate hands, was the only witness to what had happened. The last words he saw were, ‘Optimising app 18 of 148’

This is not a technology post. About a month ago I discovered a small lump between my shoulder and my spine. With my usual cavalier attitude of “It’ll be OK and sort itself” I ignored it for a week or so until it became clear it was growing at a rapid rate and it was starting to constantly hurt. After a few days of trying to get a GP (local Doctor) appointment booked, the earliest I could get being about 4 weeks away, a recurring pattern in this post, things started to get a lot worse and the mobility in my right hand and arm began to degrade. Read on →

The newest version of bash, every ones favourite default shell, was recently announced and while reading through the bash 5 release anouncement I noticed a couple of tiny but useful features and an annoyingly described but potentially awesome one. The tiny but immediately useful additions are a couple of new bash variables, $EPOCHSECONDS and $EPOCHREALTIME. Rather than scattering date commands through your scripts you can now use one of these and save the process execution and command running syntax. Read on →

One of the things I find myself occasionally missing from terraform are the native AWS specific parameter types you can use in CloudFormation. These are refinements to the usual template parameters that further limit the valid input, help describe what the value should actually be, and in some cases verify that the resource passed in actually exists. In CloudFormation you’d often start with a basic string parameter like this in your templates: "Parameters" : { "SubnetID" : { "Type" : "String", "MinLength": "5", "Description" : "The subnet ID for blah.", "AllowedPattern" : "subnet-[a-z0-9]*", "ConstraintDescription" : "Must be a valid subnet ID E.g. Read on →

I’ve been a basic but happy user of the syntastic syntax checking plugin for vim for a few years now but time and software wait for no one and after seeing a few posts mentioning the newer ALE - Asynchronous linting/fixing for Vim I’ve decided to give it a go for a month and see how it impacts my work flow. Installing it was much easier than expected. I use the vundle plugin manager so replacing one plugin with another and then triggering the install was all I needed to get up and running. Read on →

Once you have enough people each working in multiple accounts it becomes a waiting game until you’ll eventually get the dreaded “Your AWS account 666 is compromised.” email. As someone who’s been using AWS since S3 arrived this is the first time I’ve encountered this so I thought I’d write up some notes about what actually happens. First comes the easy, but not recommended, part of the whole experience; push some credentials to GitHub. Read on →

At $WORK I’m one of the people responsible for our SRE community and in addition to the day to day mechanics of ensuring everyone is willing and able to meaningfully contribute I’ve been looking at ways to gain a higher level, people focused, view of how they’re feeling about their role. With our move to quarterly missions now department wide it seemed like the perfect time to try our first “Quarterly SRE Health check”. Read on →

It all started with someone trying to show me an article on their mobile phone. As an adblock user I’d forgotten how bad the world was with all the screen space being stolen by pop-unders, pop overs and I was soon done. After mulling it over for a little while I decided to use it as a flimsy excuse to buy another Raspberry Pi and trial running Pi-hole - ‘A black hole for internet advertisements’. Read on →

For a number of years I’ve maintained what I call my Pragmatic Investment Plan (PiP). It’s a collection of things that ensure I have to invest at least a little time each quarter into my career and industry. While it’s always been somewhat aspirational, in that I don’t often complete everything, it does give me a little prod every now and again and stops me becoming too stagnant. My first few PiPs were done annually, but after I started seeing ever decreasing completed items I moved to quarterly and had a lot more success. Read on →