It doesn’t matter what PHP framework you choose

I see this question over and over again. With the amount of PHP frameworks being available, it’s not hard to imagine how confused a learning PHP developer must feel when they try to pick the right framework. While in reality, it doesn’t really matter what PHP framework you choose. Laravel, Symfony, Zend, all are really well thought out and maintained frameworks. They are different, of course, but you won’t hurt yourself by picking one over the other. Continue reading “It doesn’t matter what PHP framework you choose”

Why I don’t do full time WordPress work anymore

Earlier this year, I made the decision to stop doing full time WordPress work. In my new day job, I still work with WordPress though. The big difference is that I now have a bigger toolbox to select the best tool for the job at hand from.

Working on just WordPress projects for a couple of years was great. In fact, I would do it again right away if I had to. For me it was great though, to step out of the WordPress bubble and start using different frameworks and technologies that are better suitable for the project. Continue reading “Why I don’t do full time WordPress work anymore”

My first ever vlog…

Last night I published my first ever vlog. After discussing it with them for a while, Daniel Espinoza and Matt Stauffer had started publishing their first vlogs already, so it was time for me to step up and do what I announced earlier.

Making this video was the most awkward thing I have done in a long time, but I’m happy it’s out there now. It feels like future videos will be easier to make now this first one isĀ done. Continue reading “My first ever vlog…”

Vlogging as a developer

For a while now, I’ve been trying to think of ways to do more with video. At the top of my todo list is something called “the vlog experiment”.

I asked on Twitter why I didn’t know of any developers who post vlogs. I got a lot of responses, but nobody was able to name someone. Finally, Jeffrey Way’s responseĀ gave me the pushĀ I needed. The fact that there are no developers out there posting vlogs, probably means that there is room for someone to start doing this (or it means that it’s a bad idea, but let’s not assume that’s the case…). Continue reading “Vlogging as a developer”

Premium WordPress plugin developers, can we have access to your version control please?

We’ve been telling customers to always be on the latest and greatest version of everything WordPress related. It has become the de facto answer to any bug report: “Are you running the latest version of plugin x and y?”. That’s fine, for most use cases. But what if I’m in a situation where I can’t be at the latest version? Or what if I find a bug in the latest version and have to restore to an older version?

Of course, we run our version control for websites. We can restore older versions of plugins after we find a bug. This requires us to have the premium plugin in our own version control, writing our own history. While this works fine, there are a couple really big downsides to this. Continue reading “Premium WordPress plugin developers, can we have access to your version control please?”

Finding the right php.ini file

I’m not a sysadmin by any means, but I like to think that I know how to setup a little server environment. Having used Vagrant for a long time now helps, it definitely lowered the bar of getting into it.

One thing that has puzzled me for quite some time, is so silly that I wanted to document it. Maybe I canĀ have a good laugh about it when I look back at this in a couple months. Long story short: PHP uses a different php.ini file for eachĀ programĀ it loads in. This can be in the command line, or anything really.

So if you want to install the mcrypt extension for example (in my case on Ubuntu:Ā sudo apt-get install php5-mcrypt) and wonder why it isn’t loading when you use PHP on the command line; make sure the extension is loaded in /etc/php5/cli/php.ini. In case you use PHP-FPM as well, make sure to load the extension in /etc/php5/fpm/php.ini as well.

I have spentĀ hours to find it, only to forget this is a thing a couple weeks later when it showed up again. Call me silly, but a quick Google search learned me that lots of people are struggling with this issue as well. If this post isn’t just going to give me a good laugh when I find it in a couple months, maybe it will help someone who stumbles upon it.

Related Posts for WordPress review, now it is premium

Ever since Barry announced that he’s working on a related posts plugin, I’ve been keeping track of the project. Now that it’s available, the reviews for the free plugin have been five stars all the way, so there must be something good in it, right?

The one thing that has always been a challenge for related posts plugins, is performance. Related Posts for WordPress makes a bold statement about that:

Related Posts for WordPress won’t lag your server!
We don’t think having related posts should slow down your website. That’s why Related Posts for WordPress creates its own cache and does all the heavy lifting in the admin panel, keeping your website fast as it should be!

So it’s free, gets five star reviews all the time and is not making my site any slower? Sounds too good to be true? Well, the new premium version of the plugin adds evenĀ more juice. It offers related posts for all (including custom) post types, support for all (custom) taxonomies and themes for the output of the related posts (no coding required). Continue reading “Related Posts for WordPress review, now it is premium”

The WordPress way, is it always your way?

Andrey Savchenko, better known as Rarst, announced that he’s removing all his WordPress plugins from the official repository. He’s been talking about it for a while, but now finally pulled the trigger on this decision.

Things like the mandatory support forum for each plugin, without theĀ option to disable it or use an external support system, is something that has been bugging me a lot. Now WordPress core will start accepting pull requests on GitHub (as announced in Matt’s Town Hall talk at WordCamp San Francisco), the version control state of the plugins repository becomes even more painful:

While SVN is usable it is hardly pleasant or popular for modern development, lacking in newer distributed version control paradigms, performance, and other conveniences.Ā More so WordPress actively discourages using its repository for active development, reducing it to storage mechanism with updates only happening for release versions.

I agree on a lot of Rarst his points, but am not really at the point of removing my plugins from the repository myself. What I do hope, is that decisions and bold statements like thisĀ post can become aĀ catalyst for allĀ the changes in the WordPress ecosystem.

This is why you don’t bundle plugins in WordPress themes

Yesterday, Sucuri published a very detailed document about a critical vulnerability in the Slider Revolution plugin. This is a vulnerability that’s about as bad as they can get. It allows access to files like wp-config.php and makes it fairly easy to compromise a website.

This wouldn’t be so bad if it wasn’t the case where the plugin author decided to not disclose the vulnerability and patch it without notifying their users:

The problem was fixed 29 updates back in 4.2 in February. We were told not to make the exploit public by several security companies so that the instructions of how to hack the slider will not appear on the web.

Right now, the exploit is being actively exploited and lotsĀ of websites are compromised because of it. But it gets worse. This plugin is bundled in a ton of themes sold on the internet, including some very popular themes on ThemeForest and other marketplaces. All of those sites are probably vulnerable to this exploit and can be compromised within seconds.

The good news is, there is a patch available. Users of the plugin can just update and the vulnerability will go away and their website will be safe again. There is only one problem. The themes that come with this plugin bundled, probably have no idea this vulnerability even exists and more important: They have no easy way to update the plugin. Yikes. Continue reading “This is why you don’t bundle plugins in WordPress themes”

The courtesy of explaining your issue properly to a developer

I don’t mind people emailing me about issues they are having with my code. Whether it’s some old snippet I posted on a GitHub gist, or when people contact me about something they stumbled upon with WooCommerce (even though I’m no longer working for WooThemes).

Sometimes I know the answer, sometimes I can only point them in the right direction. I my best to make sure they can overcome their issue, whatever it is.

In order to continue doing this, I maintain one strict rule: Explain the issue properly. Emails that just say “it doesn’t work” are likely to get trashed. You don’t drive you car into the garage and tell the mechanic that.
Continue reading “The courtesy of explaining your issue properly to a developer”