A metaphor about PSR-7 and Middleware for non-developers

Never one to shy away from coming up with a metaphor for explaining something technical I found myself having to come up with one on the spot for PSR-7 and Middleware while at the recent PHPNW15 Conference.

Normally my brain will come up with something completely inappropriate but this time round I found I quite liked the imagery that came to mind.

If you would like to find out more of the specifics about PSR-7 you can take a look at http://www.php-fig.org/psr/psr-7/ which will make a better job of explaining it than I could ever do.

Now on to the metaphor
Continue reading “A metaphor about PSR-7 and Middleware for non-developers” »

Badges & Stickers

One of the most prominent things I’ve been asked about regarding my promoting being a Good Code Scout, is where can we get the badges?

Screen Shot 2015-10-04 at 12.03.38
Following on from a number of questions and subsequent tweets about it

Well… I’ve decided that (providing I can get permission from all the right people) I’ll start creating a range of Badges & Stickers for you to earn as a Good Code Scout.

So if your interested in having some stickers or badges let me know using the form below and if I get enough interest I will most definitely get some made up for you.

Wow… What a Conference

So I attended the PHPNW15 conference this weekend and what a weekend. I’ve been an attendee of the conference for a number of years and have always enjoyed it immensely. However this year turned out to be something special.

Following on from my first ever appearance as the PHP Boy Scout I decided to submit to the Unconference at PHPNW15.

It was a good talk, an extension of the previous lightening talk I’d given and felt really good to give. Unbeknownst to me however there was mischief afoot. Normally the Unconference talks are rated by the organisers and the one that they selected as the best gets to have a guaranteed slot in next years PHPNW conference. All of which I had genuinely either no idea about or had forgotten had happened in previous conferences,

As you may have guessed from the fact this post exists, I ended up winning that slot.

However…. it appeared that a Speaker had taken ill at the last minute and couldn’t make it at which point I was asked a mere 3 minutes before it was announce that I was also going to be given the hangover slot on track three for the Sunday sessions!!!!!

Suffice to say I had an interesting evening to say the least, in preparing my talk for “the big time”

Amazingly I felt really calm about everything, and even had a good chuckle about managing to find some props to help break the ice!

Everything is ready, I’ve practiced, knowing my talk was going to be a bit short… but that was ok considering the short notice, and I had plenty of anecdotes I could use as filler. I’m sat there waiting for the moment I have to put my head above the parapet and all of a sudden……..


My mind goes blank!

The long and the short is that I survived, and the feedback I have had has been amazing and I’ll be taking all of it on board to make sure that next time its even better!

The recordings should be available in the near future so when they are I will share a link so you can judge how it went for yourselves. In the mean time I’ve published the revised slide deck for you on slideshare.net/phpboyscout/are-you-a-good-scout-phpnw15-track-3

I’m hoping that I can now find some opportunities to practice for my slot at #phpnw16

What is a PHP Scout

Recently I’ve had a lot of people asking me what a PHP Scout is! I thought it would be a good opportunity to explain.

To understand what a PHP Scout is it helps to know a little of the background basics of Scouting in general. Knowing this helps to make it easier later on as well as we draw some direct parallels. If you would like to investigate more about the history of Scouting you can find a good starting point at http://scouts.org.uk/about-us/history/.

For now I’m going to give a tl;dr version;

Scouting started in 1908 as a movement for training young people to encourage them to develop physically, mentally and spiritually by Robert Baden-Powell. Over the next 100+ years it has evolved to encompass people of all ages, races, colours and creeds to get involved and try to be the best they can be.

The primary ethos of the movement today is to bring Everyday Adventure to young people and this is achieved through a comprehensive programme scheme that is designed to touch on all aspects of that young persons development. This is then rewarded in a variety of ways with the primary reward being the experience itself, the awarding of badges also strengthens then sense of achievement and desire to work towards the next goal.

All members of the Scouting movement are required to make and frequently renew a promise:

On my honour,
I promise that I will do my best
to do my duty to {insert deity/monarchy here},
to help other people
and to keep the Scout Law.

The key part here is I will do my best. Scouts are continually encouraged to improve themselves in everything they do.
Continue reading “What is a PHP Scout” »

Goodbye Dev in Charge

Over all the time that I’ve been a developer I’ve had people telling me that I should get in front of an audience and speak. However I’ve always suffered from a rather bad case of ‘Imposter Syndrome’ which meant my automatic response to those kind of statements has always been… I don’t really know enough about any one topic.

This is very true, I’ve spent a lot of my career learning a really broad swathe of technologies and techniques so I can turn my hand to any task that’s been presented to me so far. Even so people continue to try convince me that it would be a worthwhile pursuit.

Now that I work at Magma Digital I find that I’m often talking with @phpcodemonkey about all sorts of things and the topic of creating a talk came up while we were enjoying the most excellent PHP South Coast Conference. He knows I’ve been a Scout Leader for around 4 years now, and he suggested that I do a talk on the ‘Boy Scout Rule’.

I don’t know if he was serious or not at the time but it set my mind racing! This is a topic that I actually know quite a lot about!

So I’m now going to leave behind the Dev in Charge and have now rebranded as the PHP Boy Scout. I’ve already managed to pull together the basis of a talk on how Scouting principles can be used in conjunction with what we do as Developers and have a few other ideas that I’m going to work on over the next few weeks.

Fingers crossed I will be better at doing this kind of thing than I suspect I will be… but nothing ventured and nothing gained!

Its time for a change

So… Its been a long time since I posted anything of any relevance. This is due to having been super busy with my previous company Zucchi.

However that has all changed now! After three and a half years of running my own company I have decided that its not for me. I gave it my all, but in the end I was becoming too much of a Salesman and I missed getting stuck in with code.

I’ve now moved on and have joined the fantastic team at Magma Digital who have been leaders in PHP software development for somewhere in the region of 14 years as well as heavily involved in the PHP community having been a essential part of the PHPNW user group and conference.

This means I should be able to pick up where I left off all those years ago and start being more active again.

See you soon

Flexbox cross browser

Despite having been around for a while and having been through a couple of revisions, its support across browsers can vary greatly. From “Candidate Recommendation” on Chrome/Opera, “legacy flexbox” on Firefox and no support at all on IE9 and earlier.

Making flexbox work consistently across browsers was a challenge for us on a recent project, but I have found a solution that seems to work quite well.
Continue reading “Flexbox cross browser” »

Creating Custom Routes in Silverstripe 3.1

We wanted to create a Route to our custom Products Controller in our products module for SilverStripe 3.1, such as: “http://www.examplesite.com/products/<product-slug>”

However looking at the Controller Documentation it was not clear how to create a route without an Action being supplied. In our example above the action is not specified, as we just want to use ‘view’.

Continue reading “Creating Custom Routes in Silverstripe 3.1” »