Blog


November 2, 2022

Join the modern era - deploy every day

When I hear someone say “we don’t release on Fridays so developers don’t have to work late”, I shudder. If you won’t release on a Friday, I’m guessing you’re not releasing one change at...

Read

October 18, 2022

You don’t need breaking changes

If you take a look at the API versions (which denote breaking changes) in the Stripe API upgrades documentation, you’ll see something remarkable – between August 2020 and August 2022, Stripe made...

Read

October 6, 2022

Why we wrote a Kubernetes operator to generate random strings

Earlier this week, I attended KubeHuddle in Edinburgh. Conferences always provide motivation through all the ideas you develop from conversations with people. In talking to various platform engineers...

Read

September 7, 2022

Where's that domain managed from again?

If you manage a bunch of domains, you might have them across different registrars (supporting different TLDs) and different nameservers. To figure out the DNS provider you're managing a domain with...

Read

July 15, 2022

Automatically securing white-label sites with TLS using cert-manager

This article assumes working knowledge of Kubernetes basics like the Ingress object and annotations. Back in 2019, we launched a new offering for our customers - a “job list”....

Read

July 8, 2022

Simplifying containers with Laravel Octane

Containers are all the rage these days, but containerising PHP applications has always felt a bit… clunky. In the past, it’s been a choice between complex networking but efficient resource use...

Read

February 5, 2019

Dynamically loading SVG files to build an Icon component with Webpack

Inline SVGs are great – you can manipulate them as you like, modify colours, easily transform them, and they look great in browsers (as opposed to icon fonts). However, in several projects now, in...

Read

June 24, 2018

Adding custom claims to the Laravel Passport JWT

One of the advantages of using JSON Web Tokens as the transport for your authentication layer (such as OAuth) is that you can attach additional data in the form of public claims (see the relevant RFC...

Read

March 7, 2018

Debugging With Logs

When you develop your apps locally, you probably (hopefully) use something like Xdebug. However, how do you debug production and staging errors? The answer is logs. By sending log messages in...

Read

January 28, 2018

Using VPC Peering to Share Internal Services on AWS

If you use AWS to run your infrastructure, you're likely to run your production and staging environments in different VPCs, or even different accounts altogether. However, if you want to run shared...

Read