Let’s code!

As a full-time sponsored member of the WordPress Training Team at Automattic, one of the things I get to do is host weekly online coding workshops for Learn WordPress. I’ve labeled these workshops “Let’s Code” as I typically live code a solution to something during the hour.

This page is a collection of my Let’s Code online workshops, which are all available on WordPress.tv.

Creating your first child theme for WordPress
Creating your first plugin
The WordPress Shortcode API
An introduction to Block Development
Using the create-block Tool to scaffold your first block
Converting a Shortcode into a Block

Latest Posts


  • 4 Years at Castos – and Why It Was Time to Leave.

    Castos

    This year marks my 4th working at Castos on our podcast hosting, analytics, productions platform and Seriously Simple Podcasting, our podcasting plugin for WordPress. Today also happens to be the last. Looking back Craig Hewitt, founder, and CEO of Castos, first contacted me on December 27, 2016. He let me know he’d recently purchased the […]

  • Migrating My Cloud Virtual Servers to SpinupWP

    I’ve never been a fan of managed WordPress hosting. Don’t get me wrong; I appreciate what managed WordPress hosts do, and they are definitely doing amazing work, but it’s just not for me. As a developer and server admin hobbyist, I prefer to own my own VPS (virtual private servers). I started using Rackspace Cloud […]

  • How Taking the 16 Personalities Test Helped Me Understand Myself Better

    For the past three years, I have been having some serious thoughts about my future as a software developer. Since I turned 40 in 2017, I’ve been wondering if the path I was on was the right one for me. This led to a lot of frustration in my work, especially when it came to […]

  • 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 […]