Kawai K4 Factory SettingsRecently, I had to change the internal battery on a Kawai K4. I lost all the sound presets as a result of this. Luckily, it was relatively…Dec 1Dec 1
Debugging docker exit 0Today, I had an issue with a node JS app failing to connect to a DB. It resulted in the container stopping with exit 0.Jan 27Jan 27
PHP 8 constructor promotion with inheritance (subclasses)PHP 8 has this amazing feature called “constructor promotion” that allows you to define the properties of a class and set them in one go…May 10, 2023May 10, 2023
PHP 8.0 Model Classes with constructor promotionLet's start with what I mean by “Model Class”. A “Model Class” is nothing more than a class used to describe some data. This could be a…May 10, 2023May 10, 2023
Can Chat GPT really replace a coder?When I heard that Chat GPT was capable of writing code, I was immediately sceptical. I have tried a couple of AI code pilots in the past…Mar 26, 2023Mar 26, 2023
Moodle Behat: Accessing host chromedriver from dockerFrom time to time, you may want Behat tests on your docker container to connect to chromedriver on your host so that you can easily debug a…Mar 15, 2023Mar 15, 2023
Share Local Moodle Docker Using NgrokIn the past, as a developer, I’ve used vagrant + vagrant share to get a public URL for my local Moodle which can then be accessed via the…Jun 7, 2022Jun 7, 2022
Typescript typing constantsLet’s say you are creating a type and you want a property to refer to a specific constant.Mar 9, 2022Mar 9, 2022
React Hook Form Submitting From Parent ComponentNOTE: I’m publishing this in case it is useful to people but with the following disclaimers:Feb 3, 2022Feb 3, 2022
Moodle — Debugging SQLMost Moodle developers will have hit this problem: You write what you think is a *perfect* SQL query but it doesn’t work. Then you think —…Dec 6, 2021Dec 6, 2021