Want to learn object-oriented programmming? Get my free course


Don’t let the seductive CarlBoard™ to the left fool you. This isn’t where you’ll find such classics as Carl’s guide to great coding or 1001 0100 1010 0101 1101 0110 1001!

Instead, this is where you can find most of the articles published on this site. I’ve tried to group them by topic or series. This should make it easier to find what you need when you need to refer to an article.


Programming is such a large part of the site that I’ve divided it into sub-topics. For most of you, this is the section that you want to look at.

Introduction to object-oriented programming

These are introductory object-oriented articles tailored for WordPress developers. They cover the basic concepts and features of object-oriented programming. If you’ve never touched object-oriented programming before, this is where you want to start!

Software design patterns

Software design patterns are a more advanced topic. You should look at them once you’re familiar with the basic of object-oriented programming. Each article covers a specific software design pattern within the context of WordPress.

SOLID principles

SOLID principles are important part of object-oriented design. It’s always important to keep them in mind when you’re designing your own classes. Each article covers one of the principles and how they can apply when designing classes with WordPress.

Object-oriented design

Object-oriented design is the largest topic on this site. I’ve divided all the relevant articles into three groups. The first group centres around solving a WordPress problem with a class or interface.

The second group of articles focus on designing larger object-oriented systems. These systems use more than one class to solve a specific WordPress problem. The solutions are more complex and require a better understanding of object-oriented design.

The third group of articles looks at how to design a plugin using object-oriented programming. These articles tackle problems that you might encounter along the way.


These articles focus on the PHP programming language. They are references to specific features of the language. These are useful whether you’re a WordPress developer or a regular PHP developer.


Testing is a critical part of software development. These articles go over the different types of testing and how they work.

Computer science concepts

Not everyone comes from a computer science background. That doesn’t mean that a lot of what we do as developers doesn’t revolve around computer science. These articles attempt to demystify important computer science concepts that you already use day to day.


These are articles that don’t fit in any specific section right now. They range from tutorials to opinion pieces.


A lot of articles on this site are trying to teach you a programming concept using WordPress. These articles don’t fit that mould. Instead, they focus on WordPress itself or problems that you might run into with WordPress.

WordPress for the adventurous

This is a series of articles that explore the inner workings of WordPress. Each article focuses on a specific system, class or API. These are useful references whenever you’re working with WordPress.


I do consulting work with Laravel applications. I also use it for my own projects like Ymir. These articles cover everything related to Laravel from small tips to large architectural design decisions.


I use Symfony a lot for my own projects like Ymir. These articles cover everything related to using Symfony. Especially the components.

System administration

Servers are another passion of mine. These articles discuss server related to topics from technology to their administration.


In a similar category to servers, there’s also DevOps. I also like to discuss that topic and how you can implement it in your own development workflow. That said, these articles all focus on WordPress development.


Ymir is the WordPress serverless DevOps platform that I’m building. These articles will discuss its development and other tangential topics. Some of these articles are on the Ymir blog for SEO ranking purpose.

Serverless computing

Serverless computing is the technology that Ymir uses to host WordPress sites. These articles discuss how it works and its benefits.


This is a site about teaching programming. These articles share my thoughts on it and about teaching in general.


I self-published a book in 2019. These articles discuss various parts of my experience self-publishing this book.

Year in review

Each year I write a review of my year. I discuss what went well, what didn’t, finances and what I’m hoping to do in the new year. I do this so that I have a record of my progress over time. Not the most interesting read, but it’s useful for me.