Category: Internet & Technology

Back to blog
Google Translate Vs CSP. Fight!

Google Translate Vs CSP. Fight!

Recently we were asked to implement a Content Security Policy (CSP) onto an existing site. The process of retro fitting CSP goes something like this: Put in a restrictive policy Test the...

Read more

How To Generate AVIF Images In PHP Today

How To Generate AVIF Images In PHP Today

The AVIF image format is a really exciting, it promises much higher compression without any noticeable loss of quality and is supported in most of the major browsers. If you want all the nitty...

Read more

Page Speed Insights Scores Aren't As Stable As You'd Think

Page Speed Insights Scores Aren't As Stable As You'd Think

We use a number of different tools when profiling our sites performance. PageSpeed Insights is one that gives you a nice high level and easy to compare scores. Recently though, I've become aware...

Read more

Adding Variable CSP Nonces To Static Sites

Adding Variable CSP Nonces To Static Sites

We build all different sized sites, some call for a full blown CMS but others are more suited to a static approach. These static sites come with some unique problems when it comes to CSP and...

Read more

Making sense of IoT

Making sense of IoT

The IoT is not new. It’s essentially been with us since the first computers connected to the first networks. But from conceptual beginnings to real-world implementations in a few short years, it’s...

Read more

Incrementally Copying (Rsyncing) Files From A Kubernetes Pod

Incrementally Copying (Rsyncing) Files From A Kubernetes Pod

The most obvious choice for moving files in and out of containers is kubectl cp but it just does a straight copy of all the bytes. If you want to backup just a few changed bytes out of several...

Read more

Why You Should Always Give Lazily Loaded Images A Width & Height

Why You Should Always Give Lazily Loaded Images A Width & Height

When images are set to load lazily they will only be downloaded when they come into view but what counts as "in view"? It seems Google Chrome only takes the vertical scroll position into account...

Read more

Persisting Data Between Steps In BitBucket Pipeline Builds

Persisting Data Between Steps In BitBucket Pipeline Builds

When using a build pipeline it is common to create some kind of value, like a path, container ID, auth token etc in one step which is then needed in a subsequent step but the whole point of steps...

Read more

Using FallbackResource with Apache Header Expressions Causes Weirdness

Using FallbackResource with Apache Header Expressions Causes Weirdness

Recently we needed to set one of our Apache servers to output a HTTP header for a specific URL, a simple task right? Well it turns out it can be a right pain... The server is pretty standard,...

Read more

Hunting For Zombie Pods

Hunting For Zombie Pods

At almost exactly 0300 (UTC) on the morning of 22/05 our monitoring systems started sending alerts for a handful of websites. They had begun to respond slower. This was very strange, the sites...

Read more

Satis Queue Worker

Satis Queue Worker

As part of a recent server migration we had to move a Satis instance. The server it was being moved from was a baremetal server, the server it was going to was a Kubernetes cluster, quite...

Read more

On server migrations…

On server migrations…

Server migration:  there’s a term bound to strike fear into the heart. Horror stories of downtime and lost data abound. This post looks at the good and bad of our migration from dedicated to Cloud...

Read more

Misleading Validation Messages When Creating BitBucket Pipeline Variables

Misleading Validation Messages When Creating BitBucket Pipeline Variables

Just in case anyone else finds themselves wrestling with this:  I was recently attempting to create BitBucket Pipeline variables via BitBuckets API using curl: curl -X POST --data...

Read more

Protecting Against Textfile Collector Script Failure

Protecting Against Textfile Collector Script Failure

Monitoring bespoke metrics with Prometheus textfile collector scripts can fail in such a way that all your monitors look fine but actually there is a problem. Here's how to prevent that. When...

Read more

You want security? You have to ask for it

You want security? You have to ask for it

I know at Freshleaf we’re a bit guilty of going on (and on) about website and application security, code quality, and the consequences of leaving online data protection to chance. We treat...

Read more