Month: April 2011

“It’s Not Just About the News”

Originally, I was going to present these thoughts at the PHP Community Conference (in a session titled “It’s not Just About the News”) but it didn’t work out for me to be there. I still wanted to share some of my thoughts and experience in running for the last 11 years.

In its very first form, was just a page of links. It was hosted on a local server I had at the college I attended and was aliased to the outside world under the hostname “”. I started gathering links on that page to some of my favorite PHP resources of the time – things like and, of course, the manual. I was new to the language – this was back in 1999-2000 range – and was constantly devouring everything I could about it. Not many of the free hosting services supported PHP back then so running it on my own server was clearly the answer. I compiled my own installations from scratch complete with some of the earlier versions of Apache, PHP3 (fresh off of PHP/FI) and MySQL. All of my code was procedural and I had no clue about application design. All I knew was that I loved the language. I left my Perl books to gather dust and marched on to a bright PHP-based future.

To be honest, I’m not entirely sure when I made the leap from a set of links to the sort of blog style PHPDev is in today. I was a huge fan of Slashdot back then (weren’t we all?) and I think I thought to myself one day, “I could totally do that”. So I hacked together a custom sort of content management system and started to work. Things weren’t as consistent then as they were now. Back then I might have posted once a week, two or three times if I was feeling ambitious. If you want a good laugh, go back and take a look at some of my earliest posts on the Internet Archive.

I was a big IRC user back then – still am on Freenode – and I spread the word about the site mostly through there. There was no such thing as Twitter and getting sites like Yahoo to notice you wasn’t as easy as it is now. I had one thing going for me though…back then there just wasn’t another PHP news site out there, at least not one that was consistently updated. I was determined that PHPDev would become one of the best resources out there for PHP-related news and community happenings that it could be.

Some folks have called me a human aggregator in the past, and I think that’s what really sets the site apart from some of the other PHP news/community sites out there. I’ve never, ever pulled in posts automatically from other sources. Yep, that’s right – I hand-write every post you read on the site. I spend about an hour or so each day trolling through my Google Reader feeds (I’m up to 434 of them currently) to find some of the most interesting content out there. I actually spend some time reading the posts and writing up a good summary of what it has to offer. Plus, I can do some fun things the other automatic readers can’t like:

  • Pulling announcements from Twitter
  • Listening to podcasts and summarizing their content
  • Filtering out posts that are related to a product or general commentary
  • Making community announcements about conferences
  • Taking specific article submissions

One of the best things, though, is subscribing to things like DZone or PHPCamp and discovering new articles that aren’t even on other aggregator’s radar. I gather things from the four corners of the web and try to make the best sense I can out them to share with the world. In recent years, I’ve realized that the “stuff I find interesting” approach is good, but I had to widen the scope to make it really work. I now read through my feeds and think more “is there a group that would find this interesting” instead. As a result there’s been posts on things outside of PHP touching on software like Drupal/WordPress/Joomla as well as Open Source projects that might be related to PHP, but not always directly.

I’m sure you’re curious about the technology behind the site. Well, let me say off the bat, you’re probably going to be disappointed. Remember when I said I had a hacked together CMSish kind of thing to manage the content – it’s not much different these days. I started with it back in PHP3 and it was all procedural. It wasn’t pretty but I was proud of it and it worked. Then PHP4 came along and these magical things called objects and OOP came along with it. Of course, I just had to do a rewrite. PHPDev v2 was born. Things changed again when Zend announced that they were making a framework (framework? what’s a framework?) and released some of their earliest versions. So, being the curious developer I was, I did what any good developer would do – another rewrite (PHPDev v3). If you’re wondering, I think it was ZF 0.7 or 0.8 – not sure which. Keep in mind that most of these rewrites came with a design update, but they all took the same basic news site/blog format. Finally, and this is the current form, I wanted to learn something different so I branched out to the Solar framework in yet another rewrite (yep, PHPDev v4).

So, what does all of that mean? It shows that the tools don’t matter. I could probably rewrite the site a million different ways, but that’s not what it’s about. Most of my current posting is just done on a simple form with subject, content and date/time. I write them in the morning and queue them to go out during the day. Sure, there’s been a few hiccups now and then when the technology changed, but what matters to most of my visitors is the content.

I checked in my logs a little while back just to see how many people were hitting the feeds on my site and found an interesting statistic – there’s now more people following the @phpdeveloper account on Twitter than there are pulling the feeds. Now, that’s not taking into consideration any re-blogging folks do of my content (that’s a whole other topic), but it’s still interesting to me.

So, how far have things come since the site’s birth back in 2000? Well, without trying to sound too boastful about it, I think PHPDev has become one of the most respected PHP news sites out there and provides a valuable service to the community that can only come from a human behind the helm. As of my latest post, the database now hosts 16232 articles that chronicle the history of the years the PHP community has been through, both the good and the bad.

Of course, I couldn’t end this post without thanking each and every one of you out there – my readers have made the site what it is. I couldn’t have done it without you. Your contributions – either through blog posts or actual submissions – are the lifeblood of the site. I’ve stood on the shoulders of everyone in the community to reach this high, and I thank you for letting me come along.


Process Oriented vs Product Driven

Advice I like from 101 Things I Learned in Architecture School (Matthew Frederick):

Being Process Oriented, not Product Driven, is the most important and difficult skill for a designer to develop.

Being process oriented means:

  • seeking to understand a design problem before chasing after decisions
  • not force fitting solutions to old problems onto new problems
  • removing yourself from prideful investment in your projects and being slow to fall in love with your ideas
  • making design investigations and decisions holistically (that address several aspects of a design problem at once) rather than sequentially (that finalize one aspect of a solution before investigating the next);
  • making design decisions conditionally – that is, with the awareness that they may or may not work out as you continue toward a final solution;
  • knowing when to change and when to stick with previous decisions
  • accepting as normal the anxiety that comes from not knowing what to do;
  • working fluidly between concept-scale and detail-scale to see how each informs the other;
  • Always asking “What if…?” regardless of how satisfied you are with your solution.

Not a far stretch to make to software engineering. I especially love the “be slow to fall in love with your ideas” line. It’s easy to be seduced by how sexy something is and be blind to the fact that it sticks out like a sore thumb. Admit it, you’ve done it too. Above all, be flexible, consider more than just what you see right now and remember that software is constantly evolving – you should too.

Even if you have no intentions of learning anything more about architecture, 101 Things I Learned in Architecture School is a nice read with lots of good parallels, I highly suggest it.

A Few Thanks

If you’re a listener of the Voices of the ElePHPant podcast, you’ve probably already spotted the latest episode where Cal interviewed me about and the experiences I’ve had with making to open source and the challenges associated with it. Unfortunately, the podcast was only a few minutes long and wasn’t a good forum for me to thank the folks that have helped to make the project into what it is today. As I mentioned in the recording, I knew to make the site all it could be, I needed to open it and share it with other minds greater than mine.

So, here’s a few thanks to some of the folks that have made an impact on the project:

  • Lorna Mitchell

    Honestly, without Lorna, a co-lead on the project, things wouldn’t be where they are today. She is one of the very first contributors to the project and was around back when the code was hosted on my own SVN server. She’s been the one that has waded through my early code and has helped point out the broken parts and encourage work on the features we agreed would be best to have. Her involvement with the project has grown considerably ever since php|tek last year and she’s become an invaluable part of the project.

    Because of her busy schedule, we’ve moved into different roles in the project that play more to our strengths. She, the always outgoing, willing to talk to anyone person she is, has taken up championing the project to anyone who will sit still long enough to listen. Some of the sessions she’s given have even included as an integral part. In fact, she has a talk coming up at Dutch PHP Conference that’s about the new version of the API she’s been hard at work on. Oh, and not to be forgotten, she also pushed the bug tracking for the project off of Github and onto Jira – a major upgrade to the bug tracking abilities of the project. The project is lucky to have her as a lead.

  • Kathryn Reeve

    Kathryn has been one of the few that’s voluntarily tackled the Javascript for the project. The changes she’s made won’t jump out at you when you visit the site, but they’ve
    helped to make the site more stable and more usable. She’s recently been working on date picker update for all of the date fields on the site and has made the tabs on the
    event page more accessible via the URL.

  • Joshua Thijssen

    Joshua’s a relatively new developer to the project, but he’s the kind open source projects love. He’s the kind of guy that dives head-first into code and doesn’t look back. I’m
    not completely sure, but I think that in the first week he was involved in the project, he closed about 10 bugs single-handedly. He’s active in both the IRC channel
    ( on and in the bug tracker, both in providing suggestions and in closing out issues. Joshua is also the creator of the Android application (which he gave a presentation on at the 4Developers conference).

  • Kevin Bowman

    Kevin’s been involved in the project for quite a while with contributions that range from server-side work, code updates, conversations on the mailing list and his most visible
    contribution, the iPhone application. This app, along with the Android one, are widely used at conferences for those times when it’s just easier to get out a phone than
    a laptop. He’s a great asset to have around for some of the more technical bits and I’m thankful for his continued efforts to help the project grow.

  • Mike van Riel

    Mike has been another one of those developers that’s extremely eager to help. Some of his latest work has helped bring the project more up to a unified coding standard.
    He and Michelangelo van Dam also laid the foundation for the unit testing functionality that the site currently uses (as well as some additional debugging handling). Before that
    he contributed loads of bug fixes.

I could go on and on with a list of folks that have helped out the project in one way or another, but here’s a few more of the thanks I want to send out…thank you to Jeremy Kindall, Derick Rethans, Stefan Koopmanschap, Ryan Mauger, Michelangelo van Dam and Rob Allen. I know there’s people I’ve missed on this list – there’s a whole host of you out there that have helped promote the site and make it what it is. I am so thankful that the PHP community is as open and sharing as it is. Without it, there’s no way a project like this would have gotten much beyond its infancy.

Thanks you to all of the PHP conferences that consistently use the site for their feedback – PHPUK, php|tek, ZendCon, PHPBelenux, ConFoo, Symfony events, PHP Community Conference, Day Camp 4 Developers, phpDay, PHP Unconference Europe, Dutch PHP Conference, PHP Northwest and the PHP Brazil Conference – and to all of the user groups and other events that contribute events and show their support daily.

I personally want to thank you all for being a part of our project, and I’m looking forward to where the future will take us. 🙂