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

Updated WordPress Themes Are Different WordPress Themes

Designers and developers, by their nature I think, are attracted to new things if for no other reason than to see how it’s designed, how it’s put together, how it functions, and so on. I don’t consider that a positive or a negative – it’s just a trait that some people have (and certain types of people exhibit it more than others).

New and Different WordPress Themes

That curiosity matched with the desire to constantly be improving at one does do for a living (or for a hobby) is what separates those who see the gig as “just a job” and those who see it as what they’re dedicating their lives to doing.

Yes – it can be expensive: Some like to purchase new devices as soon as they are released or new products as soon as they are released in order to familiarize themselves with them, and then to try to bring back what they’ve seen, learned, and experienced and build it into whatever they’re focused on creating.

But when you bring this approach into something like WordPress theme design and/or theme development, it has the obvious potential to improve future work but it can also negatively impact existing work.

Is There Room to Improve Error Logging in WordPress?

I think that one of the best ways to stay current with whatever tools, languages, etc. that you’re working with is to take a look and see what other communities are doing with their tools.

For what it’s worth, I also think that bringing experience from previous projects and/or jobs to new projects and/or jobs is important – you get a chance to continue doing all of the things that worked well, a chance to avoid the things that didn’t work, and a chance to discover a new set of things that work and things that don’t.

One of the more popular tools to come out as of late is Docker. There are a lot of really cool things about it, and there are a lot of articles already being written about it. I recently read one that struck a chord with me and with WordPress-related development.

Especially this quote:

Logging is a critical part of running an application. It’s often undercooked because it’s been here for so long no one think about it anymore. But trust me, when things stop logging, admins start crying.

Is Docker Ready For Production?

Yes, it’s a good read for anyone who likes to see how other developers are doing their thing in another area of the industry and there’s a number of points made that I think many people who have been working in software for a number of years can identify with, but I couldn’t help but ask myself if I’m doing (or we’re doing) enough logging in the WordPress projects I’m (or we’re) deploying.

WordPress and The Single Responsibility Principle

I love the fact that people are working to bring more advanced object-oriented programming techniques to WordPress-related development.

That is, I’m really glad to see others are pushing for people to write more truly object-oriented code rather than using classes as a “poor man’s namespace” (ht to Franz for that nickname), or doing things like setting up hooks outside of a constructor.

To be fair, he had more than one responsibility.

he had more than one responsibility.

To be fair, I’m as guilty as the next for not always writing very good object-oriented code in the context of WordPress (though I’m slowly working to change that – hopefully the Plugin Boilerplate is proof-positive of that), and I think it’s something that we should all be striving to get better at doing.

“When Should I Use Ajax?” and Other Mysteries of the Web

A few months ago, I published a post that covered how to achieve single page tabbed navigation in WordPress. In the post, I mentioned the following:

In some cases, it may be best to load pages via Ajax, in some cases, it’s better to load things up all in the first page load.

Generally speaking, I stand by this statement. I know Ajax is fun and I know that it’s gotten incredibly easy to implement, but there are times where it makes sense to load all information with the page and times when said loading should be done asynchronously.

In the comments, someone asked:

I am also very interested and awaiting post regarding your take on when to use ajax and when to load it all.

Though this could have been answered in the comments, it seems as if this is an ongoing discussion among those who build things for the web, so I thought I’d take the time to answer it in the form of a post. If nothing else, perhaps it will spark you to share some of your opinions on it, as well.

Maintainable WordPress Meta Boxes

The comments on this post are closed. Please leave your feedback on each of the respective articles.

When it comes to enhancing the functionality of the CMS, WordPress meta boxes are one of the most flexible features that we can introduce to the post editor screen.

In short, they’re a way that we can open additional fields to one, some, or all of the existing post types as well as custom post types. They also make it possible to introduce a number of different type of elements – be it input fields, textareas, checkboxes, etc. – so that users can easily view, add, and/or modify data associated with a given post.

When it comes to writing meta boxes, especially those that are more elaborate than others, it can become a bit of chore to maintain the code over time. But it doesn’t have to be that way.

Become a Better Programmer. Just Like You.

Hang around any community long enough and you are going to see the good parts, the bad parts, and the weird parts . Similarly, I think that anyone who has been involved in any type of community for a significant amount of time will have plenty to complain about.

I’m not just talking about online communities either – this is just as applicable online as it is offline.

But, if you’re reading this, then you’re reading this online and odds are you’re active on Twitter or Facebook or some other form of social media where we all use the services as our own platform for sharing our opinions with the public where others can read, respond well, respond negatively, or ignore.

Whatever the case, I think that we’ve gotten far too comfortable sharing our criticisms in 140 characters or less without showing enough empathy or understanding or education for our peers and it’s to our own detriment that this is happening.

Setting Routines and Boundaries for Self-Employment

About four months ago, I received the following comment on one of my blog posts:

I’d love to hear some thoughts, maybe in a future post, on setting boundaries and establishing routines. My ideal would be to have already been to the gym, at my co working space and starting work by 8:30, finished by 6pm, no exceptions. Despite my best laid plans, I haven’t been to the gym in 2 weeks, I find myself starting work any time between 7am and 11am, and occasionally working late into the night once my son is in bed. Some people dig this freedom, but I find that I crave some structure – I just reject having it imposed on my by an employer.

For some time, I’ve sat on this particular topic because it’s something that I’ve wanted to write about, but either had a backlog of other things I wanted to cover, or it didn’t fit with the type of content I was trying to publish at the given time.

Boundaries of Self Employment

yes – working near your tv is risky business!

But now seems like a good time to look into this: Partially because I’m preparing a few posts that are dealing with a number of tools that I use to get things done, partially because a number of people I know who work from home have shared the same feelings, and partially because this is something that I’ve been doing for the past seven years or so.

But for those of you who want to skip the entire post, here’s the TL;DR:

It depends on your personality type.

Honestly, though, there’s more to it than that.

Minimizing Distractions For Programming

For anyone who’s been programming long enough, I’d venture to say that some of the most productive times of the day come when you’re in the zone.

You know what I mean, too: When you’re minimizing distractions, when you’re listening to whatever music helps you get into the groove, and whatever you’re working on feels almost effortless (not that it doesn’t come with it’s share frustration, but you’re just there and totally focused on the task at hand).

We know this feel.

We know this feel.

At the same time, I think that it’s incredible that we get as much work done as we do. Granted, we all have different ways in which we work, but at any given time I could have the following applications open:

  • Email
  • Twitter
  • Slack (for chat)
  • Google Hangouts
  • Feedly
  • Downcast
  • Notifications from my phone (or tablet)
  • …and so on

And that’s in addition to my IDE. I’m sure the same can be said about you and your environment, too. But here’s the thing: Each of the above contributes to making sure we’re aware as many demands that we have being placed on us, but can you argue that they all make us more productive?

Writing Good Software Takes Time

One of the things that the Internet has brought with it is this on demand culture. We can talk to people on demand, we can request information on demand, we can complain on demand, we can praise on demand, we can listen to music on demand, we can publish a blog post on demand, we can stream movies on demand.

Almost anything that you think of that can be done online can be done on demand.

Though we’re now in an age of virtual machines, byte code, interpreted languages, and far away from punch cards, writing good software is not something that can be done well on demand. This isn’t to say that we don’t have tools that help us move more quickly through the process of assembling various components – because we obviously do – but building software for yourself just as well as for others is something that takes time.

Hunter S. Thompson once said:

Anything worth doing, is worth doing right.

Granted, the idea of what is “right” in writing software is something that can be debated, but one thing that it cannot be argued is that it should be done quickly.

But when you’re surrounded by so many things in your life that can be done on demand, it’s hard to forget the opposite still exists and is a viable, arguably better option.

WordPress’ Related Posts and Featured Images (Yes, Again)

About two months ago, I wrote about the usability of WordPress featured images.

Though nothing has changed in the last few months, there has been one use case that I find leans in the direction of supporting featured images despite their potential improvement for usability. Specifically, it deals with using the Related Posts feature of Jetpack.

Related Posts without Featured Images

Related Posts without Featured Images

For those who are new to WordPress or this specific feature of Jetpack, Related Posts makes it really easy to add links to similar posts at the end of each post:

The Related Posts feature scans all of your posts, analyzes them, and lets you show contextual posts your visitors might be interested in reading after they’re done with whatever post they’re on.

Nice, right?