One of our regular members, Kana Yeh, attended DPC this year and wrote about her experiences there:
This is the 3rd PHP conference I been to within a year; that is quite a lot for me! First the PHP conference in Apeldoorn by Eduvision, then PHP UK 2009 in London. Thanks to PHPwomen I could attend the most recent one: DPC09 by Ibuildings in Amsterdam.
Being in London for only 4 months and working at Touchnote seems short but it was nice to be back in Holland for a few days. I do miss Holland a bit and all the things I can’t get my hands on in London like: Hollandse drop (Dutch Liquorice candy), Hollandse nieuwe (Salted herring), frikandel speciaal and a broodje kroket. 7 more months to go and I will be able to have all of that again! and then it is my turn to miss the wonderful things in London
The PHP conference added more sweetness to my short stay in Holland. PHP or web related conferences are mental energy boosters for me. It is very motivating to absorb the new or more in depth information and to learn more and more. I seem not to be able to get enough of it.
But, what to do if there are multiple tracks with interesting talks at the same time?…panic? I didn’t know what to do. With agony I had to sacrifice the one for the other. How do you deal with multiple talks at the same time that you both don’t want to miss?
Here is a recap of a few talks that I attended and found interesting.
An intermediate talk about Caching for Performance
by Rob Allen
Do not try to get data more than once. First measure performance, how fast/slow your website is, using software like Siege. Do not guess what is slowing down your site, instead use a profiler to find out what is going on, for example: xdebug and Webgrind (http://code.google.com/p/webgrind/): What you’ll be looking for is:
- unexpected function calls
- functions called too often
- functions take too long to return result
Types of caching in order, from fast to fastest are database, filesystem or memory (i.e. memcached, Zend_Cache). Examples of when to use caching:
- names of countries doesn’t change often (if at all), use a cached version.
- a news page, update cache when a new article is added
Another way is browser level caching. This is not forcible but it is possible to provide the hint and ask browser to cache it. Get browser to cache files that are called constantly like css, js and images that are on every page. This is ideal if visitor visits many of our pages.
State & Ajax – How to Maintain Browser and Application State in an Asynchronous World
by Paul Reinheimer
- The ‘back’ button is not ours to take! Give back to the visitors.
- Ajax requests sent have no guarantee to come back in the same order. To solve this, queue the requests. It might be slower, but it is reliable.
- One reason why visitors abandon shopping cards is because they are frustrated by the shopping experience. They give up and try somewhere else. This is easy because of the low barrier: type in an other address in address-bar. To keep your visiting shopers focus on user experience.
- User experience is the new brand! “Websites that continuously provide excellent user experiences are more likely to be visited, re-visited, shared, and praised”. Provide an experience that works exactly like it should work. For the developer it sounds like a lot of extra work. But that is 10% more work for me for 30% less effort for every user who will every use the site.
Habits of Highly Scalable Web Applications
by Eli White
- Performance = speed or rendering
- Scaling = web app that works with current and future load of new level of traffic
- Don’t write code that is meant for 1 server only.
- Use Master/Slave replication. This way you have a backup if 1 machine dies
- Isolate load on the server is a crucial aspect of scaling. CUD on master and R from the slave
- Avoid slave lag! Especially with lots of traffic and CRUDS at once.
- Partitioning: Break database in smaller ones.
- Vertical, horizontal or application level partitioning
- Cache small pieces of data that can be reused often, eg: friends stories
The conference was well organized with over 300 attendees. Not only were most talks of great interest to me but the breaks, the lunch and the atmosphere was great. The times in between talks everyone seemed to be networking and meeting new interesting people. I too met interesting new people who you see around on the internet! It was also great to see the guys and girls again who I met before at PHP chatrooms on Freenode and other conferences/events.I also had the chance to promote Touchnote postcards. Giving everyone who attended DPC09 a free Touchnote postcard to send to anyone, anywhere they wanted! Thank you Cal Evans for the nice intro in the opening of the last day. I hope everyone sent a Touchnote card to their friends or family. If not: Do it! (you have the code)..
A pat on the back for the Ibuildings’s organizing team and sponsors. I hope to see you next year with more in depth topics.
Thanks Kana! Were you at the event? Got something to share about your experience? Add a comment!