Last weekend saw the second annual PHPNW conference, and it was an excelent conference. There were some 200 people attending the event and we got to see some interesting and informative talks. When I arrived at the talk I received a bag with some brochures in it as well as a KitKat (which I ate for breakfast) and a years subscription to PHP|Architect. Everyone at the conference was also fed very well for lunch and dinner and Sun sponsored a free bar at the end of the first day, which was nice.
What I thought I'd do is go through each of the talks that I attended and copy in my responses from the joind.in reviews that I have been posting during the week, but also embellish them with further thoughts and comments. Also, joind.in seem to have deleted one or two of my reviews so I will have to write them from scratch anyway.
The italic text are the descriptions of the talk from the conference site.
The Uncertainty Principle
Not sure about something? And that something affects the detailed design, an architectural decision or choice of functionality? Does that feel like a problem or a part of the solution?
There is a strong tendency for humans to feel unsure about uncertainty, in two minds over ambiguity and a little wobbly with instability. Whether over technology choice, implementation options, requirements or schedule, uncertainty is normally seen as something you must either suppress or avoid. Of this many people appear, well, certain. That you should embrace it and use it to influence schedule, identify risk and inform design is not immediately obvious. A lack of certainty offers the opportunity to highlight risk and reframe questions, making uncertainty part of the solution rather than necessarily a problem.
This talk was about how to think about making software when there are uncertain variables. Things like knowing what technology implementation to select and when to make that selection or how to prevent unnecessary guessing of future system features. It turned out to be a clever mix of quantum theory, philosophy, humour, project management and coding. I didn't agree with everything Kevlin said, but he made me think about how I build systems. He must have made some sort of an impression on other people as a few of the other speakers mentioned items from his talk in their talks.
SPL, not a bridge too far
Michelangelo Van Dam
The Standard PHP Library is unappreciated and still not commonly used by developers, mainly because of the lack of documentation and example codes.
This presentation is going to show how SPL is used, with simple and complex examples.
The slides contains very good content, and I'll be looking at them later on slide share. I am definitely going to look into using the SPL classes more in the future. Michelangelo had a few good examples of how to use the SPL classes.
The beauty and the beast - API Documentation with phpDocumentor
The most hated thing a developer can imageine is writing documentation but on the other hand nothing can compare with a well documented source code if you want to change or extend your own or legacy code. PhpDocumentor is one of many tools enabling you to parse the inline documentation and generate well structured and referenced documents. This talk will show you how to get the most out of phpDocumentor and shall enable you to write fantastic documentation.
Bastian's talk (despite the screen saver kicking in every few minutes) was interesting and informative and taught me a few things about the more advanced aspects of creating documentation with phpDocumentor. However, he made a fundamental flaw by not actually showing what the output of phpDocumentor looked like. All of these tags and options are nice, but until you see what they create inside the API documentation or through your chosen IDE you really don't know what the point is of creating all these tags. I have a bit of experience in creating phpDocumentor tags so the talk was ideal for me, I just feel sorry for someone new to the topic.
Optimizing Your Frontend Performance
Take a look on web application performance from the users side. The session starts from the browser, showing tools to measure and analyze performance and takes you to the server, explaining headers and possible solutions.
I've been in web development for a few years and have spent many hours looking at web site performance. Thomas was still able to show me a few things that I didn't know about. He was perhaps a little dry in his presentation, but he definately knew his facts.
Speeding Up The Snail and Making Drupal Scale
Like all frameworks, Drupal comes with a performance cost, but there are many ways to minimise that cost.
This session explores different and complementary ways to improve performance, covering topics such as caching techniques, performance tuning, and Drupal configuration.
We’ll touch on benchmarking before presenting the results from applying each of the performance techniques against copies of a number of real-world Drupal sites.
I was hoping for a little bit more information about using and configuring Drupal. However, the talk was a fantastic introduction to all of the different ways to speed up any sort of dynamic website, what to watch out for, and how much performance is gained in each step. I now have a lot of reading to do one the subject. Thanks Marcus!
Introduction to Yii
Yii is the new kid on the block in the world of PHP but is based on a strong legacy of proven technologies and as such presents a very strong, flexible and extensible framework on which to build large-scale web applications. Yii has been built with the developer in mind and takes care of many of the key features that are required in todays web applications including ‘MVC, DAO/ActiveRecord, I18N/L10N, caching, jQuery-based AJAX support, authentication and role-based access control, scaffolding, input validation, widgets, events, theming, Web services, and so on’ (taken from the Yii homepage http://www.yiiframework.com/). The built in command line interface allows rapid development of CRUD based operations and is already being referred to as Rails for PHP. Theming Yii installations is easy and this demonstration aims to introduce the basics of Yii and show how quickly a simple but fully functional web site can be built from a default installation.
Although I was sold on the idea behind Yii the talk centred around Steve copying and pasting code into the project and giving a brief explanation about what is was doing. I got a bit lost in several places and didn't really know what was going on. However, I was impressed by the abilities of Yii and will be giving it a more serious look in the future.
Integrating Zend Framework and Symfony
Unlike popular belief it is not necessary to pick a single framework for a PHP project. On the contrary, it is quite easy to use more than one for your next project. The flexibility of PHP and the currently popular PHP frameworks allows an easy and close integration with eachother. During this presentation, you will get to see how to combine the best of both worlds into a single application of pure awesome by using a second framework on top of another when the first falls short.
I went into this talk expecting quite a heavy session that I would have trouble understanding. However, I came out thinking that integrating different frameworks isn't so hard after all. Stefan introduced a few sections from each framework that could be integrated into the each other. Examples of this inaction are using Zend_Service_Twitter in Symfony to store commends on a blog on Twitter and using the Symfony Event Dispatcher to dispatch events in a Zend Framework project. After this talk I will be giving not only Symfony a try, but I will also try integrating Zend Framework with it.
As Microsoft were one of the premier sponsors at the event they had their own talk at the end. I was expecting a talk about what Microsoft have been doing to support or improve PHP on Windows and IIS. However, what we got was a talk about Expression, which is a tool to enable simple iteration through designs of a website. This was a bit of a waste.
What struck me was the negative attitude of many of the people in the room at having Microsoft there at all. I found this a little unfortunate, especially as they weren't even prepared to give them a chance. I'm no Microsoft fan boy, but they are the largest software manufacturer and distributor on the planet so what they do can have a significant impact in the PHP world. So dismissing them out of hand is quite dangerous.
Saturday Night Social
Free beer, great company, and a Wii to boot! Only wish I could have stayed longer.
There was also a half day session on Sunday at the Manchester Museum of Science and Industry. Due to the pathetic train service from my home town I had to get a lift to Crewe so that I could get a train that got me into Manchester at around 9 AM. Even so I still had to make my way from Picadilly to the Museum so I ended up missing the first talk. Luckily, all of the talks have been recorded and will be released in a few weeks time (as soon as they have been transfered and titles drawn) so I won't have missed it.
If you have read any of the other reviews or seen the schedule you will realise that there were two tracks on the Saturday so I will be waiting for the videos to come out so that I catch up on the talks I missed.
Everything You Wanted To Know About UTF-8
Juliette Reinders Folmer
I didn't realise I knew so little about languages, encodings and fonts. Juliette obviously spoke from experience and presented the information she had learned through her trials and tribulations in creating and maintaining a multilingual site.
Introduction to OOP in PHP
Although I have read a lot about OOP in PHP but I attended this talk as I don't pretend to know everything and hoped to learn something. The talk was well presented and informative and I did learn something I didn't know I didn't know.
Michael had a good presenting style and provided a neat twist at the start. His hands on coding approach went down well with the audience and didn't go wrong to often. :) I will definitely be looking at JQuery in more depth in the future.
PHP 5.3 - Hot or Not?
A whistle stop tour of the new bits and pieces from PHP 5.3. Well presented and informative. Lots of content I will need to read up on and lots of code examples I will need to try out. PHP 5.3 get a "hot" vote from me.
If you would like to look at the slides for the talks from PHPNW then most of them are linked to from the Talk Slides from PHPNW09 post on the PHPNW09 site. I'm sure the site will also post details able the videos when they become available, so keep any eye out for them.
There are also some pictures of me at the conference, taken by Akrabat. However, they make me look as ill as I felt, which was a lot! Having a cold at a conference is not pleasent, but it was ok as I cought something a lot worse whilst I was there and am still suffering from it.
In conclusion it was an excelent couple of days. I met a lot of really cool people learnt a lot and was thoughly exhausted when it was all over. I'm already looking forward to PHPNW10 next year!