What is Crossplane? If you don’t already know, Crossplane is billed as an: Open source, CNCF project built on the foundation of Kubernetes to orchestrate anything. Encapsulate policies, permissions, and other guardrails behind a custom API line to enable your customers to self-se … | Continue reading
When I started my career as an engineer in the early noughties, I was very keen on developer experience (devex). So when I joined a company whose chosen language was TCL (no, really), I decided to ask the engineering mailing list what IDEs they used. Surely the senior engineers, … | Continue reading
This post was originally triggered – and I choose that word carefully – by a recent experience on a cloud cost-optimisation project. These experiences prompted me to consider how things had changed since I started working in software. As part of the project that provoked me, I wa … | Continue reading
As someone who has worked in software since 2001, and in the Cloud Native (containerisation and Kubernetes) space since 2013, I’m getting old enough to have seen trends come and go a few times. VMs came (and stayed), continuous integration went from a fad talked about by gurus to … | Continue reading
TL;DR I used private and public LLMs to answer an undergraduate essay question I spent a week working on nearly 30 years ago, in an effort to see how the experience would have changed in that time. There were two rules: The experience turned out to be radically different with AI … | Continue reading
Other Posts Pipes The pipe is the next-most used feature of jq after filters. If you are already familiar with pipes in the shell, it’s a very similar concept. How Important is this Post? Pipes are fundamental to using jq, so this section is essential to understand. We will cover … | Continue reading
Other Posts Other Posts Simple Filters In this section we introduce the most-frequently used feature of jq: the filter. Filters allow you to reduce a given stream of JSON to another smaller, more refined stream of JSON that you can then do more filtering or processing on on if yo … | Continue reading
Other Posts jq This section introduces you to the jq command, starting with the simplest possible commands as well as a brief look at the most commonly-used flags. What Is jq? jq is a program for parsing, querying, and manipulating JSON. More broadly, it’s a filter: it takes inpu … | Continue reading
Other Posts Introduction This jq series has been written to help users to get to a deeper understanding and proficiency in jq. It doesn’t aim to make you an expert immediately, but you will be more confident about using it and building your knowledge up from that secure base. You … | Continue reading
Recently an Amazon Prime Video (APV) article about their move from serverless tools to ECS and EC2 did the rounds on all the tech socials. A lot of noise was made about it, initially because it was interpreted as a harbinger of the death of serverless technologies, followed by a … | Continue reading
Recently, in Container Solutions’ engineering Slack channel, a heated argument ensued amongst our engineers after a Pulumi-related story was posted. I won’t recount the hundreds of posts in the thread, but the first response was “I still don’t know why we still use Terraform”, fo … | Continue reading
Business strategy is very easy to get wrong. You’re trying to make sure your resources and assets are efficiently deployed and focussed on your end goal, and that’s hard. There’s no magic bullet that can help you both get the right strategy defined, and then successfully deliver … | Continue reading
This article was originally published on Container Solutions’ blog and is reproduced here by permission. At Container Solutions, we often work with large enterprises who are at various different stages of adopting cloud technologies. These companies are typically keen to adopt mo … | Continue reading
Occasionally I run dumb stuff in the terminal. Sometimes something unexpected happens and it leads me to wonder ‘how the hell did that work?’ This article is about one of those times and how looking into something like that taught me a few new things about shells. After decades u … | Continue reading
The Problem Working in Cloud Native consulting, I’m often asked about who should do various bits of ‘the platform work‘. I’m asked this in various forms, and at various levels, but the title’s question (‘Who should write the Terraform?) is a fairly typical one. Consultants are of … | Continue reading
Having the privilege of working in software in the 2020s, I hear variations on the following ideas expressed frequently: ‘There must be some direct relationship between your work and customer value!’ ‘The results of your actions must be measurable!’ These ideas manifest in statem … | Continue reading
If you spend most of your days in a browser watching pipelines and managing pull requests, you may wonder why anyone would prefer the command line to manage their Git workflow. I’m here to persuade you that using the command line is better for you. It’s not easier in every case y … | Continue reading
I originally got a 3D printer in order to indulge a love of architecture. A year ago I wrote about my baby steps with my printer, and after that got busy printing off whatever buildings I could find. After a few underwhelming prints of whatever buildings I could find, I stumbled … | Continue reading
While writing a post on practical shell patterns I had a couple of patterns that used grep commands. I had to drop those patterns from the post, though, because as soon as I thought about them I go… | Continue reading
I spent 20 years slaving away at companies doing development, maintenance, troubleshooting, architecture, management, and whatever else needed doing. For all those years I was a permanent hire, wor… | Continue reading
Over the decades I’ve been using the shell, there are thousands of reusable patterns I’ve picked up from looking over others’ shoulders and googling. Unfortunately, I’ve for… | Continue reading
Working as a consultant in helping clients to change the way they work, I often struggle to explain to them how the way they usually attack problems is not always appropriate to the situation they&… | Continue reading
Previously, I wrote about how software companies cultural challenges can be traced back to how money flows through it, using the example of an ‘accidental product’ B2B type of business … | Continue reading
If you’ve ever spent ages waiting for an Ansible playbook to get through a bunch of tasks so yours can be tested, then this article is for you. Ansible can be pretty tedious to debug and obsc… | Continue reading
Intro This post walks through a ‘hello world’ GitOps example I use to demonstrate key GitOps principles. If you’re not aware, GitOps is a term coined in 2017 to encapsulate certai… | Continue reading
Introduction Despite my woeful knowledge of networking, I run my own DNS servers on my own websites run from home. I achieved this through trial and error and now it requires almost zero maintenanc… | Continue reading
tl;dr – ‘Money Flows Rule Everything Around Me’ When talking about IT transformation, we often we often talk about ‘culture’ being the problem in making change, but wh… | Continue reading
You’re a few years into your tenure as CEO of a Vandelay Industries, a behemoth in the Transpondsting space that’s existed for many decades. The Real Strategy You could really use the s… | Continue reading
How many times have you sat there trying to work through a technical problem, and thought: Is it OK if I interrupt someone else to get them to help me?Pretty much every engineer ever Since I work w… | Continue reading
Like many self-confessed geeks, I’ve long been curious about 3d-printing. To me, it sounds like the romantic early days of home computing in the 70s, where expensive machines that easily brok… | Continue reading
GitOps is the latest hotness in the software delivery space, following (and extending) on older trends such as DevOps, infrastructure as code, and CI/CD. So you’ve read up on GitOps, you̵… | Continue reading
Recently, while showing someone at work a useful Git ‘trick’, I was asked “how many ways are there to undo a bad change in Git?”. This got me thinking, and I came up with a … | Continue reading
Ever wondered how to create your own git diagrams? You know, the ones that look like this? I’ve created a Docker image to allow you to easily create your own. $ docker pull imiell/gitd… | Continue reading
When I was growing up in an outer suburb of London in the 1980s, there was much talk of the decline of the city. In the future, we were told, we would all be working remotely via telescreens from o… | Continue reading
Recently I read two books I’d recommend that got me thinking about how the IT industry has changed in the last 20 years. These books are Capitalismithout Capital. First I’ll briefly des… | Continue reading
Previously, in 2017, I wrote about Things I Learned Managing Site Reliability for Some of the World’s Busiest Gambling Sites. A lot of it focussed on runbooks, or checklists, or whatever you w… | Continue reading
Recently I (along with a few others much smarter than me) had occasion to implement a ‘real’ production system with Istio, running on a managed cloud-provided Kubernetes service. Istio … | Continue reading
I hadn’t heard of Nam June Paik until I went to his exhibition at Tate Modern a few weeks ago. I left feeling sheepish that I hadn’t heard of him before I went. I knew a bit about Warho… | Continue reading
I’ve always been frustrated that people often talk about culture without giving actionable or realistic advice, and was previously prompted by this tweet to write about what I did when put in… | Continue reading
Ignore the Noise, Go to the Signal In a former life I was a history student. I wasn’t very good at it, and one of my weaknesses was an unwillingness to cut out the second-hand nonsense and re… | Continue reading
What is ‘Busting the Cache’? If you’ve ever spent any time building Docker images, you will know that Docker caches layers as they are built, and as long as those lines don’… | Continue reading
If you have worked your way in software for a number of years and you’re not a security specialist, you might be occasionally confronted by someone from ‘security’ who generally s… | Continue reading
Most people who use Linux pretty quickly learn about man pages, and how to navigate them with their preferred pager (usually less these days). Less well known are the info pages. If you’ve ne… | Continue reading
A couple of days ago I got access to GitHub Actions in Beta. I felt vaguely interested in it when I briefly read up on it, but now I’m like Holt geeking out on Moneyball: This is not a consid… | Continue reading
Intro Most guides to bash history shortcuts exhaustively list all of the shortcuts available to you. The problem I always had with that was that I would use them once, and then glaze over as I trie… | Continue reading
After 6 years, I removed Docker from all my home servers. apt purge -y docker-ce Why? This was triggered by a recurring incident I faced where the Docker daemon was using 100% CPU on multiple cores… | Continue reading
Continuing in the series of posts about lesser-known bash features, here I take you through seven variables that bash makes available that you may not have known about. 1) PROMPT_COMMAND You might … | Continue reading
Readline is one of those technologies that is so commonly used many users don’t realise it’s there. I went looking for a good primer on it so I could understand it better, but failed to… | Continue reading