Running Ghost on Tor

Recently I've had the opportunity to play with some new and existing technologies as a mechanism of both upskilling and trying something new. I decided to spend some of that time learning how to create a hidden service, and make my own blog available over the Tor network. Although this…

Integrating Nginx and Keycloak without OpenResty

Extending on my previous post about creating a custom CA and using client certificates through Cloudflare, I wanted to write about how I integrated Keycloak with Nginx without OpenResty. As we had a handful of different websites and applications running on the server, I wanted to simplify everything with the…

How I got into technology

Whether I'm making new friends and industry relationships, or even just participating in casual conversation, I often get asked how someone with my educational background ended up in the technology sector. The simple answer is equal parts passion and procrastination with a sprinkling of subversion and a pinch of counter-culture.…

Build, test, and deploy PHP applications with GitHub Actions

I learned about GitHub Actions when it was released last year, although didn't investigate further as I'd already configured my hobby project CI/CD pipelines using Travis CI to a satisfactory standard. While everything generally worked really well, I found myself running up against some obscure issue with Travis that…

Delivering with empathy

I remember learning about the difference between sympathy and empathy in middle school. Sympathy: feelings of pity and sorrow for someone else's misfortune. Empathy: the ability to understand and share the feelings of another.Pretty damn simple to understand the difference when you read each of the above definitions, but…

Cache purging with Ghost and Cloudflare Workers

As I have moved my blog platform over to Ghost, I've realised that there will be other parts of my technical ecosystem that will keep me busy tinkering. One such part of that is how to cache every page on this site (effectively) permanently whilst also allowing new posts and…

Personal Resets

I find it's highly beneficial to do a personal reset every so often. While I can't speak for others, for me personal resets come in a number of different forms although usually over the course of at least a weekend. They take me out of my comfort zone and allow…