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


  • Ambit Recruitment website goes live

    Personal experience will always advise our actions. So, the objective is to ensure positive experiences are repeated as often as possible, to encourage further positive outcomes. That’s the simple premise on which Ambit Recruitment operates the business of fitting the right people into the right positions. The Ambit Recruitment website is a bit of a […]

  • South African HTML image map

    I recently had to create an image map of South Africa, displaying each of the provinces with links to content for each province. As it took me most of the day to complete I thought it might be handy for someone else too. So in true open source fashion here it is for you to […]

  • Migrating from Drupal to WordPress

    Well, it finally happened. After months of frustration with Drupal as a blog tool, I gave up and decided it was time to move over to WordPress. I’m sure as a CMS system Drupal can be quite wonderful, but for running and managing a simple blog site, I have yet to come across a better […]

  • Riding on Rails

    I’ve decided to spend less of my free time on blogging and more on learning new things. I had planned to change this site to run on WordPress, but have decided instead to learn Ruby on Rails. From what I can see it is (in many ways) similar to CakePHP (which I love) but with […]

  • Developing with CakePHP: Creating a simple admin control panel

    If you are like me, you prefer to have a specific url mapped to your applications control panel/backend etc. This is usually something along the lines of www.url.com/admin or www.url.com/cms. Normally during the CakePHP “bake” process, the system will ask you what you want your admin route to be (default “admin”). Once this has been […]

  • Create an array containing the days of the week

    You could simply code: but thats the “noob” way, a real coder creates a function… Update: 13/05/2018 Sigh What was wrong with me back then, this would have been so much better. Keep it simple, stupid!

  • PHP.js

    This is something I came across a while ago, but it has really come in handy. It is a project that attempts to make many php functions available in javascript. As most php developers will at some point have to write some javascript, it is a very handy library. You can find it over at […]

  • MySQL: filtering results from a list of id's

    A short while ago I posted about testing if a variable exists in a list and I spoke about the MySQL “IN” keyword. I realised this week that not everyone knows about the MySQL “IN” keyword, so I’ve decided to explain this very handy SQL keyword. Lets say you have a user table with the […]

  • Life of a developer

    It has been a while since I have posted here, mainly due to the time consuming period that is the festive season and also because I am discovering that I am getting fairly annoyed by Drupal as a blog tool and am trying out the new WordPress as an alternative. For now I have a […]