Archive for September, 2007
PHP Unconference ‘07 @ ZendCon
by maggie on Sep.25, 2007, under entry
As some of you know, I can’t go to ZendCon this year because of work. Half of the developers on a project I’m on are going and since we want to be nice to our client, we need some people to stay and hold down the fort. I’m one of those staying behind, and we have a moat, so stand back!
Fortunately, though, thanks to the organizing powers of the bearded Patrick Reilly, I will be able to participate a little bit by giving a talk at the PHP Unconference ‘07 at ZendCon. I’ll be presenting on Tuesday, October 9th at 5pm PST via iChat. (Technology = science + awesome!) If you tune in, you’ll see a polished and improved version of my “You Don’t Need a DBA” presentation, which I gave at php|works earlier this year.
Peek into the past and the future with LAG and LEAD
by maggie on Sep.21, 2007, under entry
Traditionally (or at least wherever I have seen it), doing queries that involve getting one row of data that combines data from many rows is kind of complicated. Probably as complicated as it sounds. The approaches usually end up in cartesian joins, complicated subqueries, and plenty of joins on the same table.
An example situation is when you want to get a specific blog post for your blog along with some minimal information about a previous and a next post. In this case, you want just one row, with the data about the current blog post and just another field or two for the titles of the previous and next post. Here’s how Oracle’s LAG and LEAD functions can help you out.
php|works 2007: Friday
by maggie on Sep.18, 2007, under entry
Friday was much more laid back than Thursday. I started the day by going to Sarah Golemon’s PHP::$unicode->i18n() where she lamented how Andrei Zmievski stole some her presentation ideas in his keynote the day before. PHP 6 will be awesome - y’all just wait!
Afterward, I presented How to Optimize a Database Query. Since I can’t install Oracle on my MacBook without resolving to crazy virtual machine shennenigans, I was depending on a remote Oracle install for my presentation to show the audience some cool, live explain plans. I set everything up perfectly, so obviously right before I started my wifi connection dropped and I had to reset everything up. I think this worked in my favor though because I got to ask the people in the room about their database habits. I felt more comfortable in this presentation because in the end, it’s just talking about code - something I do every day. I was asked some really good questions about optimization. I am compiling them right now into a separate blog post, which will be a part of my series of posts about optimization.
Lunch was delicious. First after lunch was Framework and Application Benchmarking by Paul Jones. He brought up some valid points, especially the one that when people sometimes look at frameworks, they tend to clump them together in one pile, while they can take some pretty drastic approaches. When benchmarking frameworks, at least compare them by similar approaches.
Terry Chay was hilarious in his presentation “The Internet Is an Ogre”. I can’t say much about his presentation other than if you weren’t there, it’s your loss. (Oh, and Ruby sux!)
Chris Jones showed some of the new stuff coming down the pipe for Oracle in regards to the new 11g edition. The interesting part about his both presentations (and perhaps a little ironic for a PHP conference) is that what I have learned in them can directly help with some problems I have yet to figure out on a current project at work. Social networking sites is about data, and what better than databases to handle your data-related issues?
My flight was delayed, so I got to stay for Andrei’s VIM for (PHP) Programmers. It’s always good to pick up some new vim tricks (as there are a billion to choose from…)
Marco Tabini closed the conference with a [closed captioned] keynote. The closed captioning was done by the audience without his knowledge, leading to hilarious results. i’m in ur slidez, eatin ur browniez!
Overall, php|works was pretty great. It was especially nice to finally put some faces to the #phpc personas. And most importantly (even though it does sound kind of boring), I have learned some new things that I can apply directly to my work. Yay!
php|works 2007: files for “How to Optimize a Database Query”
by maggie on Sep.14, 2007, under entry
Here are the files I used in the presentation I gave today at php|works 2007. The title of the presentation was:
How to Optimize a Database Query
The zipped files include .txt and .sql files. The .txt files have some notes and links for further reading. The .sql files can be run on any Oracle installation. You should read them 1.ext thru 64.ext (where .ext is either .txt or .sql).
download (.tar.gz, 12KB)
download (.zip, 24KB)
php|works 2007: Thursday
by maggie on Sep.13, 2007, under entry
Today, I gave my first conference presentation ever: You Don’t Need a DBA or what every PHP developer should know about database development. Everyone has been extremely supportive throughout the conference and has offered a lot of good tips. I think it went pretty well, but I did forget to make the “all your database are belong to us” joke. When I practiced it, it ran at 56 minutes, but at the conference, it ended up being about 45. Davey from #phpc says that it happens “because you talk faster when you’re nervous. You’re always nervous.” That was definitely true in this case.
I am happy though because from the feedback I received, it does seem that people understand that a solid basis of database skills is important and any developer, PHP or otherwise, is capable to and should have some database tricks under his/her belt.
Afterward, I went to Scalable Doesn’t Just Mean Huge–Better PHP with the OCI8 database extension by Christopher Jones which was awesome. The current project I am on does PDO all the time, which is really useful and mainly really really easy. Chris’s presentation made me wonder whether I jumped on PDO too fast - OCI8 does so many cool things so nicely, maybe I should’ve used it all along… I am also definitely going to start using BULK COLLECT more. I can think of at least one bug at work that could be fixed by using it. I guess sometimes you need a conference to shake you out of your small world of one application, look around, and see the wonderful world of possibilities.
Because of an emergency at work, instead of checking out Chris Shiflett’s Keynote, I had to get on a conference call. Oh, well, it happens.
One other thing - if, as a PHP developer, you go around saying you really understand how reference variables work, then you’re either a. lying or b. Sara Golemon. She presented How PHP Ticks and it was pretty awesome.
Tomorrow should be interesting. I am pretty excited about showing people how to read an EXPLAIN PLAN. I am also going to Christopher Jones’ other presentation: Next Generation Database Applications. I am interested in finding out more about connection pooling and I also want to hear what he has to say about the newly released Oracle 11g.
I really wanted to see a presentation by Derick Rethans, but unfortunately he’s slotted against me or Christopher Jones. Sorry, Derick!