Tom McFarlin

Software Engineering in WordPress, PHP, and Backend Development

Page 283 of 428

Smashing WordPress: Beyond The Blog

One of the things that’s incredibly popular right now – especially among bloggers – is writing a book, an eBook, or some type of paid digital good (and I’m all for it). Though I’ve no expectation of writing a book of my own anytime soon, I’ve had the pleasure of proof reading other people’s work, and offering feedback, critique, and reviews.

Early last year, I was invited to serve as one of the technical editors for the next edition of Smashing WordPress by Thord Daniel Hedengren.

I’m proud to say that the book hit shelves – both online and for the Kindle (or whatever your eReader of choice may be) – yesterday.

Continue reading

The Challenges of Feedback Loops in Software Development

One of the things that development teams often talk about is the idea of feedback loops.

Though people may define this a little bit differently depending on their specific circumstance, one way of thinking about them is the amount of time it takes the service provider to request information from the client (or vice versa) and the amount of time as well as the amount of information included in the response.

When it comes to software projects, there are normally two ways in which people consider feedback loops to be valuables:

  1. Small feedback loops
  2. Large feedback loops

So novel, right?

But here’s the question: What do you do when the person to whom you’re providing a service, or the person to whom you’re working with values the opposite type of feedback loop than you do?

Continue reading

The State of the WordPress Plugin Boilerplate

One of the projects that I love working on the most is the WordPress Plugin Boilerplate.

I dig it because it’s been a resource that has helped other people, and there are a number of other contributors that are constantly working to make it even better.

Earlier this year, I had plans to begin releasing more frequent updates, but – as with the nature of employment and side projects that are done for free – the updates didn’t happen as fast as I would like.

Additionally, it was becoming clear to me that the Boilerplate was headed in a direction that was going to be more intimidating for beginners, harder to grasp for those migrating their plugins to that format, and that it was not using some of the best principles in place.

So after talking with a number of notable developers, I’ve opted to delay the release of `2.7.0` until we have something significantly better than what’s in place.

In fact, it’s going to be a near total rewrite.

Continue reading

Procedural Programming: Private Functions in WordPress

One of the things that I’ve been criticized for (for lack of a better term, I suppose) is that I push object-oriented techniques over procedural programming  in WordPress.

To some degree this is true: I do prefer object-oriented programming, but I don’t think it’s the end-all-be-all of programming paradigms. After all, when building, say, a theme, there’s actually little room for writing object-oriented code.

On top of that, because of the minimum requirements of WordPress, there are a lot of advanced features in PHP that I avoid because I can’t be guaranteed that the end user will have them available on his or her system when they install the plugin.

So, sure, I prefer object-oriented programming, but I certainly don’t aim to make it the utopian programming practice.

That said, there is one aspect of procedural programming that requires some type of convention: private functions.

Continue reading

My Regression in Dynamically Typed Languages, Revisited

Yesterday, I wrote a post about some of my issues and gripes with dynamically typed languages. Though the post itself didn’t generate a lot of conversation in the comments, I ended up having a good chat via Twitter with a number of developers whom I greatly respect.

In these particular conversations, I was challenged both in terms of how I leverage the dynamic features certain programming languages, as well as how I use certain forms of notation (namely, Hungarian Notation).

Challenge Accepted

I can’t cover everything that I’d like to cover in a single post partially because I’m not certain – at least at this point in time – I’d  change my opinion on everything I wrote.

However, out of the conversations that I did have, I think one point that’s worth clarifying is my opinion on using Hungarian Notation in dynamically typed languages and how the environment can change whether or not I use it.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑