Software Engineering in WordPress, PHP, and Backend Development

Category: Articles (Page 71 of 258)

Personal opinions and how-to’s that I’ve written both here and as contributions to other blogs.

We’re Not Gonna Need It (Or Maybe We Will)

When it comes to writing software, two of the most popular schools of thought are:

  1. YAGNI (or “you aren’t gonna need it”),
  2. and Generalization (or maybe “premature generalization”).

They aren’t necessarily exact opposites, but for where I’m going with this, it’s worth treating them as such.

In my experience, projects boil down to projects for customers or products that you’re building to sell. This isn’t to say we don’t build products for customers, so maybe it’s just easier to say:

  • “Hey, I’m building this for someone else,”
  • or, “Yeah, I’m building this for me [for profit].”

Here’s the thing: I often find that when it comes to building things for other people, it’s easier to want to go about Generalization for their code and YAGNI for our code.

So which one is right? Or is there even a right one?

Continue reading

Jetpack Alternatives Worth the Price

I joke with friends that Jetpack has become like the operating system of WordPress.

This isn’t to knock the good work the people at Jetpack are doing (because they are doing good work, are actively engaged in the community, and continue to iterate on the product).

But there are times where people don’t want to install Jetpack. Instead, they prefer to use third-party tools for whatever reasons. To each their own, right?

And there are quality Jetpack alternatives.

Continue reading

Changes in Productivity Tools in 2017

Periodically, I’m asked via email or Twitter what I’m using regarding the tools I use to get things done.

And though I don’t necessarily think that the things I’m using are always the best suggestions for other people (because I think we all have ways that work better for us to get things done), it seems like something worth covering at the end of the year.

To that end, I thought I’d use this post to share some of what I’ve been using both for development and for general productivity just in case you’re looking for something for the holidays or just looking for something in general.

Continue reading

Two Pillars of Object-Oriented Programming: Part 1 of 2

When it comes to talking about object-oriented programming (or OOP), you’re likely to hear about The Three Pillars of Object-Oriented Programming or The Four Pillars of Object-Oriented Programming.

Depending on your background, you may have already heard of them, know what they are, and don’t really need to dive into it too much. But if you have not, I believe understanding them is foundational to object-oriented programming.

We’ve covered the whole Analysis phase of Object-Oriented Programming:

  1. Analysis, Part 1
  2. Analysis, Part 2
  3. Understanding Customer Expectations
  4. Statement of Work
  5. Terms and Conditions

With that said, let’s get into the design and implementation discussions. After all, this is what’s many people want to jump to anyway, isn’t it?

Two Pillars of Object-Oriented Programming: Part 1 of 2

Before writing any code, I’d like to do two posts about the four points of object-oriented programming (because I’m one of those who subscribes to the idea that there are four).

Continue reading

A Quick Tip for Hiding Browser Extension Overlays

In my experience, most browser extension overlays use a background with the type of data:image/svg+xml. Furthermore, each of these overlays uses inline styles (rather than external stylesheets) to render their buttons (or whatever controls they are opting to render).

Hiding Browser Extension Overlays

This means we can use some JavaScript techniques to find elements with that have these attributes and then toggle their visibility.

But first, why would we care even to hide them?

Continue reading

« Older posts Newer posts »

© 2025 Tom McFarlin

Theme by Anders NorenUp ↑