Chicago Illinois is the third largest city in the United States. It’s also very different in personality and structure than other large US cities, taking on the rather laid back flavor that defines the Midwest, but also has the dubious distinction of being the “travel hub” of the United States. The size and travel possibilities made it an ideal location for the php|tek conference in May, hosted by php|architect.
The conference ran from May 16-18, with a day of tutorials followed by two days of regular conference talks. This seems to be the de-facto standard format for PHP conferences and appears to be very successful. This was the first conference I had the privilege to attend because of the central location, it being only a few hours by car for me, and the fact that my mother lives in the Chicago area. I was granted a press pass for PHPWomen by Marco Tabini, php|architect’s head guy, and was tasked with forwarding the goals of the group and writing a few articles on my experiences.
Chicago O’Hare is one of the busiest airports in the United States and has a “satellite” town of hotels, conference centers, and travel related commercial areas, that is quite separate from the rest of the city. The conference was held in one of the oldest (but newly remodeled) hotels in the O’Hare area, the Hyatt Regency O’Hare. This should not be confused with the Chicago Hyatt Regency which is right downtown on Wacker Drive. Overall it was a nice location, but I heard several complaints about the fact that the hotel was removed from downtown Chicago, and there were several issues with the hotel itself failing to live up to expectations. It however was definitely easy to get to for those who had to fly to the conference.
I drove into the city on the fifteenth and spent the night at my mother’s home, and then drove up to the Hyatt on the sixteenth – nothing like rush hour traffic and being late to start your day. I had already agonized over what to wear, and although I felt a bit overdressed at times, I’m a rather feminine dresser in general and knew I at least looked great. After parking in the attached garage and lugging my laptop and paperwork into the hotel lobby I began the fun task of figuring out exactly where the conference was being held. Luckily geeks are fairly easy to pick out in a hotel populated mainly by businessmen and women in suits and ties.
I followed the crowd to the basement area, where the first person I met was Elizabeth Naramore, sitting at a laptop. She’s one of the founders of the PHPWomen users group, and looked exactly like I thought she would. After a brief introduction I signed into the conference and headed for the first tutorial session, High Performance PHP by Ilia Alshanetsky. I was running late and so I had to do without my morning coffee, or any additional introductions.
For anyone who doesn’t recognize the name, Ilia is PHP5’s release manager and one of the core developers of the language. He also has an incredible accent and I could listen to him speak for hours. His talk focused on how to improve PHP’s performance step by step, starting with engine level optimizations and ending at script level fiddling.
Although I already knew most of the items he touched on, it was nice to see some examples of how to profile code, and the acknowledgement that fiddling with a PHP script should be the last thing on the list to get some speed.
I also enjoyed the section on improving PHP script speed, since it verified many of the things I already do, avoiding error suppression, include/require_once, and using constants like PHP_VERSION instead of using the php_version function call, just basic issues. I also really enjoyed his method of Windows OS detection using DIRECTORY_SEPARATOR.
This talk was geared to an advanced audience so I found it enjoyable and interesting; however portions of it must have flown over the heads of those who are new to PHP. There were many items there which should be in every “beginners” tutorial, including quoting associative array keys and putting your count check outside of a for loop. I sat next to a young lady who was taking notes and after a quick head count , I calculated that the female attendance was about 9%, which made me question the general warning I’d been given about there being no women at technology conferences.
After the talk I met two people who I became very close to during the conference, Davey Shafik and Sara Golemon. Davey is the author of the PHP 5 Certification Study Guide and I had met him on IRC. Sara is also known as “The PECL Princess”, is active in developing PHP extensions, and is the author of Extending and Embedding PHP which is the ultimate guide to the C underpinnings of PHP.
Sara had described herself as a six foot Amazon. I picked her out immediately. One of the best things about conferences is the ability to meet people who are just as interested in talking about PHP and code and computers as I am. It was incredibly refreshing to get the face to face interaction. NO matter how good computers get, body language, tone and physical interaction are far superior methods of communication.
After an interesting meal, where I somehow ended up at a table filled with people I see doing commits to PHP cvs, and dealing with the initial “starstruck” feeling it was time to return to the second tutorial session. I had decided against taking the “cram session” for the ZCE exam. I’ve been using PHP since 4 beta and 5 exclusively since 5 beta and had rationalized that if I still needed to study for the exam perhaps I was in the wrong field.
Besides, the next tutorial I attended was Sara’s talk on Extension Writing and was at the very top of my list for “talks to attend”. I learned a lot in a very short period of time, even though I couldn’t run vmware on my crappy laptop. (Note to self, next time I’ll make sure that I have a bare-bones windows compile environment installed on my machine so I can play along.)
Although there weren’t very many people in the talk, she was scheduled opposite Ilia’s Security talk, I probably learned more that day then I did the rest of the week. After the tutorial I hung around and met more people, including Cal Evans (the Zend representative).
Eventually a large group of conference attendees ended up in the hotel bar, drinking and talking. I learned a great truth about attending conferences, the social engagements afterward are as important, if not more important than the talks themselves. At the bar I met Andrei Zmievski, the PHP6 architect and the lead for PHP-GTK2, who I had been doing work for, Jay Pipes, the Mysql employee, and so many more that the names started to blur together at this point. Everyone drank – a lot – told great stories, and talked about PHP. If you go to a conference, take the time to introduce yourself to people, and to sit down and drink with people. The contacts and friendships are very important. And although the “big boys” may seem a bit like rock stars at first, they’re just normal people. The last person to float in was Wez Furlong, author of the COM extension, PDO, and my personal hero for his work with PHP on windows.
I ended up staying with Davey at the hotel rather then driving home, since it was very late and I was very drunk by the end of the evening. Another thing I learned at the conference, it’s a smart idea to get together and share rooms if at all possible. You don’t spend that much time in them anyway, and it saves everyone a bundle of money.
The next day, after a little sleep and some much needed coffee, the opening keynote with Rasmus Lerdorf started off the day. First of all, I had never met Rasmus before, and he is a very interesting person. I was impressed with his talk, which spoke very eloquently about “letting go” of PHP and letting others be involved to make the project such a success. I can think of many open source projects that have not been able to achieve that kind of release from their initial creators that would benefit from it.
He actually began with a very brief history of what PHP was, and how it evolved to its current state. It was very clear that he is an old school, procedural, get it done type of man who doesn’t really enjoy coding. This was kind of a shock for me, but not necessarily a bad thing. I heard others commenting on the rather abrasive nature of Rasmus and his opinions, but I’ve been around male computer geeks my entire life and have learned to ignore a lot of their weirdness.
As the hotel employees began to set up the next talk, and everyone lamented the wifi reception in the hotel (which was incredibly lousy, seems to be another conference tradition), I got ready mentally for the next talk. Andrei Zmievski spoke on the new Unicode support coming with PHP6, and how it will affect coding your applications. It was a nice way to get a glimpse “into the future.”
Afterwards the hotel employees began opening up the walls (again) for the next talk and I actually managed to get enough wifi to check my email. The next talk was probably the funniest out of the whole conference. The Adobe guy, Mike Potter, had his Macbook hard drive die so the guys from Activa who had being doing a lot with Flex, Flash, and PHP came up and gave a presentation on their technology. I was really surprised by the number of females in the room at this point and tried to talk to every one I could, offering free t-shirts and a brief overview of the PHPWomen group. However, I also ran into what I call my first “tag-along”.
I found it very odd, and slightly strange, that someone would not only come to a conference with their husband, boyfriend, whatever, but would also sit through talks they had no interest in listening to. Coming to the conference and being involved in the social activities is one thing, but going to the talks (and whispering, talking, distracting their partner and those around them) is something quite different. In fact I personally found it disrespectful, rude and revolting. And I felt rather ashamed that these were all females who were “along for the ride”. Not to mention it really skewed the male to female statistics for the conference.
After lunch I visited Caroline Maynard’s talk about the IBM SCO and SCA technology. It was very well attended and very interesting. I personally don’t like the use of comment annotations as part of the code but the idea is fabulous. Perhaps I’ll have to do my own fork of SCA that uses properties instead of comment annotations. In any case, her talk was well received and many people found it interesting.
I was a little surprised to see there were only two women speaking at the conference, only two talks on anything remotely Windows related (both by the Windows representative and with little relating to actually using PHP on Windows), and nothing about PHP in non-web related situations such as PHP for command line jobs or PHP on the desktop.
After Caroline’s talk I ended up spending time charging my laptop, and since some connectivity could be found in the hallway, I joined the others sitting outside the rooms and tapping away on laptops while checking email and doing real work.
The next talk I listened to was Eli White on PHP features you didn’t know existed. Although the talk was clearly intended for beginners (which I am not) the suggestions were rather hit and miss, some fantastic and in my opinion, some downright rotten (@ is not your friend).
The last talk I attended was Chris Shiflett’s Security – and it was slightly scary to see that Amazon has an open and exploitable issue. However a lot of what he spoke of doesn’t really apply to my own code, since even the nicest people tell me I’m paranoid when it comes to security. However his available exploits were a nice hands-on way to see the problems. My only gripe would be the lack of solutions, hands on code on how to fix security issues.
Wednesday night had the PHP trivia challenge and an open bar, great combination. I spent time out in the hall talking about my Windows and PHP projects and generally having a good time. I completely missed the trivia challenge. After the challenge a large grouped walked down to a pizza place for some supper. Again I met new people, had a great conversation, and completely forgot to eat.
Thursday I was tired enough that I slept in, the previous evening had meant a great move around since the hotel had overbooked and shuffled people all over the place. So Davey and I ended up almost twenty minutes away, in a hotel with a nice breakfast. We ended up back at the main hotel just in time for Sara’s great talk on Cryptography. It was another well-attended talk and was very interesting. Although I have to say I was sitting beside Ilia in the front row and we did tease her a little about her misspelled slides, but it was all in good fun, and I learned something anyway. After Sara’s talk I ended up in the hall talking to Joe Stagnar, the Windows guy, and had a great time. Then I spent some time picking Wez’s mind, and ended up with PECL cvs access so I could fix extensions that didn’t compile on windows. All in all, a great time although I missed most of the talks.
Thursday was also the second test time for the ZCE exam. I was one of the last ones finished. Late nights and drinking are not conducive to brain work, however I did pass which made me feel justified in skipping the cram course and doing little studying. (Not something I would recommend unless you’ve been using PHP5 for a lengthy period of time and test well).
Thursday night was the PHP party in the restaurant on top of the hotel. I think it was one of the kind that would spin around at some point, but it no longer spins. I dressed up for the event and had a great time listening to music and meeting new people. A group decided to head into downtown Chicago for the evening, but I was too tired by then so instead we camped out in the hotel bar and talked until they kicked us out of the bar.
Friday I woke up early to hear Joe’s talk on Microsoft Tools and Platforms for PHP. It was interesting to see that I’m not the only one using PHP on windows. In fact several times during the week I ended up in conversations with people who, like me, use PHP on Windows for intranet applications every day. Very eye-opening. I spent a lot of time speaking to them about it as well.
Marco’s interesting closing keynote was short and to the point, and reflecting something I have problems with myself. (He used a very unusual extended metaphor – involving homemade mayonnaise compared with commercial varieties, but the point was great) PHP is designed for simplicity, and stacking too many layers on things is not an ideal way to create a secure, simple application. It almost felt like a dig against the current PHP trend of imitating Ruby on Rails with three million top-heavy frameworks, but very subtle. In any case, having coding compared to mayonnaise was a great attention getter.
After the closing keynote, I said goodbye to my new friends, packed up, and drove home. I missed my family, but I made some great connections, met interesting people, and learned many new things about PHP. It was a great experience and I’d recommend anyone who can take the time and effort to get to at least one PHP conference.