Proudly Automatic Updates for WordPress

Sometimes I’m glad I don’t make rash bets, it saves me from losing them as much as I lose out from not winning them.  The recent release of WordPress 3.7 with its built-in auto-update functionality is one of those things I nearly offered a bet on not happening many years ago :).

Back in the summer 2009 at the second UK WordCamp in Cardiff I remember chatting with Matt and one of the things we talked about the potential for auto-upgrades to happen one day. I was pretty sceptical, at the time we hadn’t even had the manual upgrade feature for a year yet, 2.7 was released in December 2008, and getting that working across all the different hosting platforms had been a fun experience.

I’m pretty sure I might have used the word “impossible” that day.

I’m immensely proud of the improvements we have made in manual update process over the past few years and very happy to have been proved wrong.

Major props go out to Dion, Nacin and everyone else who has contributed to this release.

The awesome Siobhan

If you read and reflect on one thing today let it be this one. I’m in awe of the amazing work the women in the WordPress community do and I’m saddened every time something like this happens. I’m glad that Siobhan felt able to write this piece and I hope that the community learns from it and we continue to build a better community.

A decade gone, more to come

Ten years ago today the very first release of WordPress was released by Matt and Mike.  My WordPress story starts almost a year later with me searching for something to use for my first personal blog, finding WordPress and I falling in love straight away. The simplicity of the 5 minute install and the freedom to do what I wanted had me hooked.

Over the past ~9 years I have grown with WordPress contributing back in a number of different ways. My addiction to contribution started with the codex which soon led me to trac and sharing patches which fixed bug I found or other people reported. A while later I had the privilege of being invited to join the core team as a lead developer. A few years later this addiction even helped land me my dream job.

Around 1300 commits in, today I’m still contributing and looking forward to the next ten years and what surprises and adventures will be in store for us.

Fixing your unit tests

You know that thing that happens when you love writing unit tests so much that you completely forget the argument order of all the assert(Equals|InstanceOf) functions.

Yeah it does happen, I’m sure it is not just me 😉

You write everything in as $this->assertEquals( function_call(), 'expected string' ); and then you get really confused when phpunit tells you it expects the wrong result from the function you haven’t implemented yet and received the expected result.

You do!

Good, I managed to write tests the wrong way round for two days before I realised and I wasn’t looking forward to going through and correcting them all, but then I remembered the power of sed and started cooking a recipe up.

It turned out pretty simple: sed -i "s/\(.*assert[^(]*\)( \([^,]*\), \([^)]*\) );/\1( \3, \2 );/" file_of_tests.php.

What it does:

  • Capture the start of the line up to the call to the assert function in ‘\1’
  • Capture the two function arguments in ‘\2’ and ‘\3’
  • Rewrite the matched line with the arguments switched

That was fun!