Welcome to my little corner of the internet.

Hi, my name is Jonathan.

I am a developer and writer from Cape Town, South Africa with a passion for open-source software.

I work at Automattic as a full-time sponsored contributor to the WordPress project, working with the Training team on Learn WordPress. We create educational content for the WordPress community, and my focus is on developer-related content.

This site is my personal blog, where I write about all sorts of things, but mostly with a focus on web development.

Latest Posts


  • My freeCodeCamp Article on PHP Error Reporting

    writer working on typewriter in office

    Earlier this year I shared my professional goals for 2021. One of those goals was that I wanted to seek out more writing opportunities for other online publications. While the crux of that goal was to get paid to write more, sometimes an opportunity comes along that is worth more than money. Sometime in 2019, […]

  • Why I (still) love PHPMyAdmin

    Sometime in 2019, I was sitting at a conference, when we could still do such things, listening to the first speaker of the day, while getting some Castos support work wrapped up. Someone behind me tapped me on the shoulder, pointed, and laughed saying “You should be using the command line!” It took me a […]

  • Zero-configuration debugging PHP with Xdebug in PHPStorm on Ubuntu

    As with many of my blog posts, this one also started with a Tweet I’ve been using Xdebug on Ubuntu in PHPStorm for going on 4 years now, and as I’ve been actively blogging about my development set up, I thought for sure I’d written about this. Turns out I had not, and so here […]

  • Kicking 2021 into High Gear with an Electronic Standing Desk

    aged wooden palette with spatulas on shabby table

    I’ve been interested in using a standing desk for about 3 years now. Soon after I moved into my own office space, one of the first things I did was purchase a decent ergonomic chair, and then a standing desk. Not wanting to buy an expensive adjustable desk I wasn’t sure I would actually fully […]

  • Professional Goals for 2021

    assortment of colorful guns for game

    Yesterday I posted my personal goals for 2021. During the course of drafting that post, I realised I had some goals that were very specifically relevant to my career as a software developer, and therefore my ability to earn income, and some that were not. Those that were specific to my career, and either directly […]

  • Personal Goals for 2021

    accomplishment accuracy accurate achievement

    I’ve never really been the type of person who writes “year in review” posts. Mostly this is because I don’t have any ventures that would be interesting to report yearly results on. What I have done in the past was to set some personal goals for the coming year, which I managed to do for […]

  • Disable the Touch pad on an Ubuntu Laptop When an External Mouse Is Connected.

    Featured image by John Petalcurin from Pexels One of my pet peeves when working on a laptop is the position of the touch pad, relevant to my right hand position. Probably due to my large hands, and the way I rest my palms when typing, the part of my palm that’s at the bottom of […]

  • Setting Up a Matrix Server on Ubuntu 20.04 – Part 2

    In part 1 of this tutorial, I dived into my reasons for setting up a Matrix Synapse homeserver, and how to set up the basics of the server and it’s required software. In part 2, I’m going to register myself an admin account, log into the server using the online chat client, to verify it’s […]

  • Setting Up a Matrix Server on Ubuntu 20.04 – Part 1

    For about the past six months or so, I’ve been interested in the open, decentralized communications standard called Matrix. In May of this year, it was announced on TechCrunch that Automattic had invested $4.6 million into the company behind the Matrix standard. The company in question, New Vector (now rebranded as Element) also develop an […]