London, United Kingdom

(+44) 07788.377.460 [email protected]



[draft] BDD: Behat & Gherkin

Behaviour-driven development (BDD) is an Agile software development methodology that emphasises collaboration among developers, QA experts, and customer representatives / stake holders. It is based on the concept of test-driven development (TDD) and is focused on end-user requirements and their interactions with the product / service. Behaviour-Driven Development (BDD) involves […]


NodeJS vs Node.JS vs NestJS vs TypeScript vs server-side JavaScript

Does server-side JavaScript mean NodeJS? Is Node.JS the same as nodejs? Well yes, but… no.
NodeJS is server-side JavaScript, but server-side JavaScript is not NodeJS. So the answer is an hesitating “yes… but actually no“.

How to fix MySQL error in WordPress

WordPress Error: Duplicate entry ‘0’ for key ‘wp_postmeta.PRIMARY’

I got this error when I changed the hosting of one of my WordPress websites: And I assume something’s got overlapped during the migration where the AUTO_INCREMENT values are wrongly registered by WordPress engine. To fix this, just by reading the error message, I needed to update the AUTO_INCREMENT on […]

A successful directory structure

Don’t just dump it all in the root! If software development is your job, then just don’t be that guy! Consider a project like the one described in my Advanced WordPress and Docker or FastAPI on Docker posts. I prefer to organise my code into directories for the application code […]

Python API with FastAPI on Docker

Python API on Docker with FastAPI

This article demonstrates how to run aPython API on Docker, with the FastAPI framework. We’ll be taking advantage of the built-in OpenAPI documentation feature. Considerations The code presented here runs on Python v3.11 and will set up a virtual environment to cache its requirements, rather than installing them globally (on […]

WordPress on Docker with ssl on nginx

Advanced WordPress on Docker with SSL on Nginx

This article essentially picks up on the WordPress on Docker (with nginx-mysql) post. It demonstrates how to host a WordPress website on Docker, with Nginx as the webserver (and SSL from LetsEncrypt), and a MySQL database. We’ll address a known issue with file permissions with WordPress files created or edited […]

WordPress via nginx on Docker

Run WordPress on Docker (with nginx)

Synopsis This article describes how to configure and deploy a WordPress instance, either in production or for local development (and assumes a beginner+ / enthusiast+ level in DevOps).To achieve this, other than the official WordPress codebase, we will also need a database and a web server which we’ll refer to […]

Restore MySQL Replication

an introduction is needed before diving into the procedures… First you need to stop Apache service on web server, or any other measure to prevent other environments from writing to your DBs: :~$ sudo service apache2 stop flush / reset queries & flush tables with read lock and disable keys […]

Configure MySQL Replication (draft)

setting up MySQL replication  

Deploy Laravel with Apache on Ubuntu

Tasks: Ubuntu 14.04 (or greater) OpenSSL, OpenSSH, Git SendMail, cURL, Perl Apache 2 PHP 7.0 (7.2) MySQL Webmin Composer Laravel Framework Prerequisites Note: It’s assumed the VM already has Ubuntu installed at this stage. See online documentation on how to spin up a virtual machine and for installing Ubuntu 14 […]