The Windy City! php|tek ’12 conference

Back towards the end of May, I flew out to Chicago to attend the php|tek’12 conference, organised by Blue Parabola (home of php|architect magazine amongst others). This was the first overseas PHP conference I’d been to, and I was looking forward to meeting people from the other side of the pond as well as spending 4 days hearing the wide variety of talks listed on the schedule. Oh, and enjoying the sights and sounds of Chicago naturally…

Be warned however – this conference was pretty jam-packed with awesome talks so the following may end up being slightly lengthy ;-)


The tutorial day pre-conference was on the Tuesday, and the two sessions were on mock/integration testing (via Laura Beth Denker, Etsy) and API development (via Rob Richards, Mashery). Both sessions went into much detail about their various topics – I particularly enjoyed LB’s talk which covered some of the more esoteric parts of PHPUnit as well as tips on how to speed up running your test suite (including disabling foreign keys, tagging ‘slow’ tests as such and so on). Rob’s presentation covered the various aspects that need to be considered when developing an API – it’s not just “throw up a URL” funnily enough…


Wednesday kicked off the conference properly. And we got issued our badge strip – a novel way to encourage delegate participation and engagement. You get issued badges for basically taking part in the conference rather than just sitting there – so asking questions, speaking to sponsors and so on. Great idea!

Cal Evans delivered a rousing and inspirational keynote, which was particularly enthusiastic for 9am! The title was “!normal === awesome!” – covering how as developers we’re outside of the bracket of “normal” in many ways, but actually that’s OK! He talked about getting involved in the community however you can – speaking, teaching, blogging, being members of or running user groups. This, coupled with Michelangelo’s talk on Friday (see later) has inspired me to attempt to kickstart BrightonPHP – a new PHP user group in Brighton. Thanks Cal! :-)

Following the keynote, I attended Ed Finkler‘s talk on “The MicroPHP Manifesto”. This was great and Ed’s speaking style is definitely inimitable (and engaging!). Ed covered the major micro-PHP frameworks, and general concepts about keeping your code manageable by keeping the codebase small. He also talked about being responsible for ownership of code – including a library in a project makes you then directly responsible for updating and keeping abreast of changes.

Mark Brown, community manager for Windows Azure was next up, speaking about “moving the cloud beyond hype to reality”. This detailed the various cloud offerings in the PaaS, SaaS and IaaS areas. I went with perhaps a slightly unfair assumption that Mark would be pushing Azure but it was a well balanced talk detailing features to look for. I felt the talk lacked some detail on the implications for legacy applications, as detailed in the talk summary, but it was interesting nonetheless.

After lunch, I went to Ian Barber‘s talk on “Taking Sites Mobile”. Ian covered loads of aspects of kicking off mobile-friendly development such as CSS media queries, using HTML5 form types (shouldn’t we be using them anyway?!), being aware of bandwidth considerations and small things like using the tel:// prefix in <a> tags for telephone numbers. A great talk with tons to take away.

The final talk I went to on the Wednesday was “Continuous Deployment at dealnews” by Brian Moon. Unfortunately I had a seat nearer the back, and the lack of microphones in the smaller rooms meant it was pretty tricky to hear :-( Brian spoke about how dealnews carry out continuous deployment and the various options they use for monitoring and alerts. I was expecting a bit more detail on the actual deployment setup and how this was configured, but the amount of tools Brian mentioned such as Loggly, Gomez and so on that seemed pretty useful made up somewhat for this.

The unconferences kicked off in the evening. I really enjoy uncons at conferences as it gives anyone a chance to speak about their passion or a specific topic. I was intending to sign up and present but unfortunately was feeling a bit ill so I just attended a few instead. Elizabeth Naramore spoke about dealing with difficult people – her speaking style is great, and really friendly. She talked about how best to work with people who you may perceive as being “difficult”, ending with “perhaps that person is you”. Which I guess a lot of us always forget!

I also attended the Mashery API building uncon, but again the lack of microphone made this hard to follow, and there didn’t seem to be much support from the speakers themselves in terms of their speaking volume.


D.Keith Casey, Jr (formerly from Twilio) kicked off Thursday with a keynote about being OK to fail. Point being, if you don’t fail, you don’t learn and develop. I agree – as an example, I’d rather have code bite me on the ass to make me learn as a developer what not to do, than to coast through based on copy-paste tutorials from the web :-) There was no chilled start to the day today as I went onto the “mod_rewrite and friends talk” by Rich Bowen. Lots of nifty Apache rewrite tips and tricks to be found here, along with some useful real-world examples; a good talk. I then went to Joshua Thijssen‘s presentation “Rediscovering the SPL”. The SPL seems to be a very underused set of tools in PHP, possibly down to the lack of good documentation for them. There was some very useful detail in this talk, and I really like Joshua’s presentation style.

The next couple of talks I went to were chosen as my Javascript skills are not my strongest skill and I was eager to learn more about best practices and some of the various “hip”(!) offerings out there to aid JS development. Ed Finkler’s talk was first, about fattening your JS in exchange for slimming your PHP down server-side. The main point I drew from this was that rendering server-side makes no sense – it’s not your target environment, whereas rendering in the client is. Therefore it makes more sense to render here using whatever is appropriate for the client (mobile browser, desktop browser etc), based on raw data from the server. Some interesting points here – I’m traditionally a server-side guy, but I can see the benefits here. Following on from this was Ryan Weaver‘s JS Best Practices presentation. This was easily the most entertaining and informative talk for me at the conference as a whole, particularly for Ryan’s use of the Super Mario theme throughout his slides! The concept of Javascript objects vs functions clicked for me about 10 minutes in, which is something I’ve not really grasped properly before. Thank you! Ryan also touched briefly on the use of backbone.js and introducing it into a project.

The final talk of the day was Mike Ho’s “iOS Development Primer for PHP developers”. I was interested to attend this as I’m currently working on a mobile app using Phonegap, but am keen to investigate native app development after experimenting with Objective-C a bit. Mike’s presentation was very good – comparing Obj-C code with equivalents in PHP, which really helped to illustrate the similarities and differences, and dispel some of the myths about Obj-C being a nightmare to develop with. Side note: I’m looking for the slides for this but am failing…

Going into the evening, the Engine Yard hackathon kicked off which was great fun. Lots of beer and food available, and some good swag to take home as well ;-) The atmosphere was really good in the hackathon room, and I spent my time investigating and experimenting with the feasibility of a cross-platform Symfony2 bundle for sending push messages/notifications to mobile devices.

And then it was…


The last day! Boo! Michelangelo van Dam started us off with a presentation entitled “Community Works!”, where he spoke about getting involved and contributing to the community, “giving back” to it as he nicely put it. The PHP community seems to be unique I think in its openness and friendliness – a big family, and it’s good to be part of that. Even more of a drive for BrightonPHP!

I then went to Joshua Thijssen’s presentation about Public Key Cryptography 101. I should have drunk a lot more coffee before attending this talk – Joshua dived straight into explaning cryptography basics and how public/private key pairs work. This was fascinating and I made plenty of notes, but my brain was not in gear at 10am to comprehend it all! Really enjoyed the meat of this talk though.

The final talk I went to was Mike Ho’s talk on native mobile app development. Mike spoke about the various options available for “apps” for mobile devices and knowing which approach would be best – whether you skip the app part and develop a mobile-friendly site, take the hybrid approach with Cordova/Phonegap, or go down the full-blown native app route – you need to understand where your skillsets and performance requirements lie. A very useful talk for presenting all options without a bias towards one or the other.

And sadly that was it for presentations! Luckily Engine Yard were on hand to provide a very special end-of-conference social event in the evening, which consisted of a fantastic amount of awesomely tasty pizza, followed by a trip up to the Skydeck at the Willis Tower in Chicago itself, followed by much merriment in an “English pub” (which I found amusing, being from this side of the pond!), and it was great to meet some of the people that presented, and also some of those who are well-known in the PHP scene but who I wouldn’t normally come across.

And then home! Some slides from the various talks are available over on Lanyrd. A great conference – so much to take away and so much learnt, plus some great people met. The venue was pretty good as well – based at the airport so free shuttle bus, the rooms were all suites, the wireless worked flawlessly and the food was great. Thanks to Blue Parabola and the whole of the tek12 team – if I can, I’ll be back next year :-)

Post a Comment

Your email address is never published nor shared. Required fields are marked *

Ready to talk?

Whether you want to create a new digital product or make an existing one even better, we'd love to talk it through.

Get in touch