Software Engineering in Web Development, Backend Services, and More

Author: Tom (Page 208 of 430)

Why Are These WordPress Hooks Firing Twice?

The hook system that’s built into WordPress is great and really powerful once you fully understand now only how the default actions and filters work, but how you can leverage them in your own themes and plugins to have others work for you.

But there’s a problem that comes with this: Other developers can often abuse them. Perhaps they will name a hook like one that already exists, or perhaps they’ll trigger a hook outside of the normal WordPress lifecycle.

When you’re working on building a plugin that’s adhering to the best practices of using a predefined hook and another plugin ends up breaking the usual flow of control, it can be extremely frustrating.

You – or at least I – can literally spend hours trying to isolate and trace down the source of the problem.

Frustrating, right?

Anyway, I’m not in the business of “calling other people out” or identifying problematic plugins on this site (though I don’t mind to discussing one on one), so this post is not about a plugin that’s doing things in a way that I don’t recommend.

Instead, it’s about finding ways to find a solution when you’re faced with a similar problem.

Continue reading

My Suite of Apps: Telegram

Outside of the normal messaging applications that are available on our phones – regardless of if you’re on Android or in iOS – there’s no shortage of options when it comes to having yet-another-messaging-application.

And maybe that’s what this particular post will be about, but out of all of the messaging apps that I’ve tried, I’m big fan of Telegram.

Continue reading

Confessions of a Social Networking Skeptic

TL;DR: I’m what you’d call a social networking skeptic and I have little trust in the services we use to house our data.

I’ve been thinking about writing a post like this for sometime. It’s not controversial and it won’t result in a lot of discussion, but it’s something important to me and it took a while to articulate everything it is that I wanted to say.

Originally, it started off as something like this:

When it comes to working with data and applications, it’s important I have the ability to own my data.

But that isn’t completely true, so hear me out.

I know some people believe that open source gives them the ability to own all of the information that they give to the application, but that’s not always the case.

First, I think using nothing but open source as a personal philosophy is great. It’s not something that I personally choose to do, but I absolutely understand it and it does have a certain allure to it.

Secondly, when working with open source software, that doesn’t necessarily mean that the information that you’re giving an application will continue to be own solely by you. Take, for example, Instagram.

It’s a closed source application that uses third-party libraries several of which are open source:

Instagram's third-party libraries.

“We thank the open source community for all of their contributions.”

And that’s also fine. Using other libraries rather than writing your own – under the right circumstances – is one mark of good software development.

But do they let you maintain the ownership of your images and videos? This isn’t meant to call out Instagram specifically, but any of the social sharing services that are currently available (especially those that are popular).

To be clear, applications like Instagram do let you maintain a copy of your image on your Camera Roll (or whatever equivalent application your phone or device calls it), but that image is now stored on a third-party server where it may or may not persist from the moment it’s shared and whether or not you delete your account.

And sure, the terms to which you agree – whether you’ve read them or not – are subject to change at any time such that perhaps the rights you have today are not the rights you have tomorrow.

Again, for what it’s worth, I use Instagram as an example not because I’m out to vilify them, but because they were the first example that came to mind.

Anyway, the more I began to think about data ownership as it relates to social applications, the cloud, and basically any other application, the more I began to realize that my problem isn’t that I want to own all of my data – I mean, of course I want to own all of my data – but that I’m skeptical as to what some services may do with the data that I give them.

In this case, I’m specifically talking about social networking services.

Continue reading

Adding a TinyMCE Button to WordPress: The Button

Throughout this series, I’ve been talking through the process of how go about adding a TinyMCE button to WordPress – specifically, adding a custom button to the post editor.

Up to this point, I’ve covered a number of different things. Namely:

The thing is, we haven’t actually made anything happen in the editor let alone even introduce a button into the actual editor yet.

In this post, we’ll do exactly that.

Continue reading

Getting Started with Fixing WordPress Bugs

It’s one thing to have a local copy of the latest version of WordPress installed on your system – don’t get me wrong, it’s really cool to be able to see some of the new features – but it’s another thing to want to get involved in contributing to the codebase.

Sure, it’s completely possible to get started by trying to implement your own desired feature, but the likelihood that it’s going to be merged into core is very, very small. Those type of decisions have a process through which they undergo before being merged. Plus, that’s taking on a lot if you’re just getting started with contributing code to WordPress.

But what about trying to fix WordPress bugs? That is, what if you were to want to try to take your chances with fixing some of the existing problems with the software?

That’s a bit easier.

Continue reading

« Older posts Newer posts »

© 2026 Tom McFarlin

Theme by Anders NorenUp ↑