Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 284 of 428

My Regression in Dynamically Typed Languages

I remember when I first moved from writing code in statically typed languages such as (C, Java, C#, and so on) to more dynamically typed languages (such as JavaScript, Ruby, and PHP).

At first, I loved it – I loved the brevity that the code allowed, and I loved how being able to write slightly less verbose code felt whenever I was working on part of a program. Being able to drop out certain operators made things so much easier.

Or so I thought.

But the longer I’ve been programming – especially the more time I’ve spent in JavaScript and PHP, for example – the more I find myself returning to more and more verbose code forgoing some of the features that come with dynamically typed languages (such as type coercion).

Continue reading

The Hate and Vitriol of WordPress

For anyone who has worked with it or worked on it long enough, you are likely familiar with the criticism, the hate and vitriol of WordPress.

Straight up, people despise WordPress, its codebase, the fact that people not only work on it, but also write about it, build for it, and make any argument for using it outside of its primary use case of being a blog and/or a content management system.

And as a developer – especially one not only new to WordPress, but one who is new to programming in general – this can become really discouraging.

In fact, I’ll go as far as to say that it can make you question not only your ability as a programmer, but your ability to learn the tools, methodologies, and practices of software engineers who work with other languages, tools, frameworks, and so on.

Continue reading

Retiring Tipsy Social Icons For WordPress

Tipsy Social Icons is now officially up for adoption in the WordPress plugin repository.

Back in 2011, I released the first version of Tipsy Social Icons – a WordPress plugin designed to make it easy to add all of your social networking icons to your WordPress-based blog.

As of last month, Tipsy Social Icons was officially three years old (pretty old in Internet years, right?), but development has slowed and my time has begun to be devoted to other projects – many of which I enjoy more – and additional plugin have been released that do a solid job of the same thing.

So today, I’m officially retiring Tipsy Social Icons.

Continue reading

My Workflows For WordPress: Self-Hosted Projects

In the previous article, I shared a bit about how I try to streamline my workflow based on where my WordPress project is hosted.

Specifically, I talked about having the codebase hosted in a Subversion repository, using the provided support forum solution, and how I manage tickets. I also talked about how all of the decisions for how I manage the project stem from where and how the source code is managed.

To that end, whenever I’m working on a self-hosted project (or, rather, one that is not included in the WordPress plugin repository), then I end up going with a slightly different workflow.

Continue reading

My Workflows For WordPress: Hosted Projects

If you’re like me, then there’s a part of you that’s obsessed highly motivated to make sure that you’re streamlining your workflow as much as possible.

When it comes to the process of working on WordPress plugins, WordPress themes, and how to manage everything via source control, support forums, and managing bugs and their associated tickets, all the while making sure that you’re not duplicating repositories in order to make sure you’ve got the leanest workflow possible can be a bit of a chore.

Even writing (and possibly reading that last sentence) is just as indicative as to how tedious it can be.

So, with that said, I thought I’d share my workflow for how I divide up my codebases based on if they are hosted in the WordPress plugin repository and/or the WordPress theme repository, and how I deal with support, as well as how I manage self-hosted projects and their associated support forums, as well.

In this first post, we’ll cover the former.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑