Day 2 turned out to be amazing just like day 1. The talks were all focused on stories in the context of project evolutions.
The opening Keynote by Rasmus Lerdorf was great. He is the guy that got PHP off the ground in the 90s. He talked about performance measures that can be taken in PHP, and things that all developers should be doing, but most don't. He focused in on what PHP is and isn't.
Next I attended Drew Mclellan's talk in Perch. He discussed how the project came about, his successes, his failures. He talked about how they set a goal to make sure all support requests were unique. If a support request came in the goal was to fix the problem not just for the person asking, but for all future users.
After that I went to Paul Reinheimer's talk on XHProf and Wonderproxy. He talked about getting Wonderproxy started, and the kinds of projects it could be used for. Basically the service provides proxies for developers to use to test features in their code that rely on GeoIP data. For instance, running credit card transactions through certain vendors based on the user's country of origin. It was an interesting product, and he talked about some of the difficulties in getting a company started. One of the main problems he has to deal with is SEO. There are an enormous number of sites hosting garbage about proxies just to raise their pagerank, and he said he isn't willing to do that, because he wants to make the web better, not worse. I really respect that. For XHProf, he talked about some of the amazing profiling that can be done. Basically, XHProf counts all of your function calls in a run, and shows you graphs with all of the data. You can even compare previous runs to new runs, basically giving you historical profiling over code changes. This is great because it will give you a real sense of whether your change was good or bad for performance. Definitely a tool I'm going to look into using.
The third talk of the day for me was Laura Beth Denker's talk on the evolution of testing at Etsy. She went into some great depth on the testing tools and methodology used, as well as the basic rollout system. Essentially, Etsy uses a Continuous Integration method, and they were rolling out 3 changes a day 6 months ago. Over the last 6 months they have altered their procedures to increase the number of tests from 1500 to 7000, while decreasing the runtime of those tests from 30 minutes to 7 minutes. This has allowed them to release 40 changes a day to production. That is an amazing turnaround. The talk has gotten me thinking about how we handle rollouts at my current job, and our system is woefully inadequate. Additionally, I'm going to enforce some strict rules on myself for my startup to ensure a great process from the beginning.
For the last talk I went to, I'm not really sure what to say. The focus was on how to tell stories and convince users of something, but it was somewhat dampened by NDA constraints. I'm sure Marcel Esser had some cool things to talk about, but just couldn't.
The closing keynote was given by Terry Chay, and it was probably my favorite talk of the conference. He definitely had the engagement of the audience. He talked about some of the great things that PHP can do, but also talked about some of the things it currently can't, and what we can do to fix it. We need to focus on getting PHP into the cloud, because Rails currently does it better. I definitely felt like he ended the conference on an inspirational note.
I'll have a wrap-up some time later today or tomorrow with my over-arching thoughts on the conference. I had a lot of time to think on the drive back last night, but I'm still trying to piece together what I want to take away.
The opening Keynote by Rasmus Lerdorf was great. He is the guy that got PHP off the ground in the 90s. He talked about performance measures that can be taken in PHP, and things that all developers should be doing, but most don't. He focused in on what PHP is and isn't.
Next I attended Drew Mclellan's talk in Perch. He discussed how the project came about, his successes, his failures. He talked about how they set a goal to make sure all support requests were unique. If a support request came in the goal was to fix the problem not just for the person asking, but for all future users.
After that I went to Paul Reinheimer's talk on XHProf and Wonderproxy. He talked about getting Wonderproxy started, and the kinds of projects it could be used for. Basically the service provides proxies for developers to use to test features in their code that rely on GeoIP data. For instance, running credit card transactions through certain vendors based on the user's country of origin. It was an interesting product, and he talked about some of the difficulties in getting a company started. One of the main problems he has to deal with is SEO. There are an enormous number of sites hosting garbage about proxies just to raise their pagerank, and he said he isn't willing to do that, because he wants to make the web better, not worse. I really respect that. For XHProf, he talked about some of the amazing profiling that can be done. Basically, XHProf counts all of your function calls in a run, and shows you graphs with all of the data. You can even compare previous runs to new runs, basically giving you historical profiling over code changes. This is great because it will give you a real sense of whether your change was good or bad for performance. Definitely a tool I'm going to look into using.
The third talk of the day for me was Laura Beth Denker's talk on the evolution of testing at Etsy. She went into some great depth on the testing tools and methodology used, as well as the basic rollout system. Essentially, Etsy uses a Continuous Integration method, and they were rolling out 3 changes a day 6 months ago. Over the last 6 months they have altered their procedures to increase the number of tests from 1500 to 7000, while decreasing the runtime of those tests from 30 minutes to 7 minutes. This has allowed them to release 40 changes a day to production. That is an amazing turnaround. The talk has gotten me thinking about how we handle rollouts at my current job, and our system is woefully inadequate. Additionally, I'm going to enforce some strict rules on myself for my startup to ensure a great process from the beginning.
For the last talk I went to, I'm not really sure what to say. The focus was on how to tell stories and convince users of something, but it was somewhat dampened by NDA constraints. I'm sure Marcel Esser had some cool things to talk about, but just couldn't.
The closing keynote was given by Terry Chay, and it was probably my favorite talk of the conference. He definitely had the engagement of the audience. He talked about some of the great things that PHP can do, but also talked about some of the things it currently can't, and what we can do to fix it. We need to focus on getting PHP into the cloud, because Rails currently does it better. I definitely felt like he ended the conference on an inspirational note.
I'll have a wrap-up some time later today or tomorrow with my over-arching thoughts on the conference. I had a lot of time to think on the drive back last night, but I'm still trying to piece together what I want to take away.