Blog


  1. Getting Dates From Week Numbers in PHP


    Recently I've been building a little project that pulls data from Google Analytics and shows your web statistics in a simple form. One thing I wanted to do was show the data for a quarter, but graphing by day is too chaotic and graphing by month only gives three points …

    Read more

  2. Book Review: The Developer's Guide to Social Programming


    Recently the nice folks at Addison Wesley sent me a review copy of "The Developer's Guide to Social Programming" by Mark Hawker (you can find it here on amazon). This is right up my street as I'm doing so much with with APIs, social and otherwise, at the moment and the book covers things I'm using such as OAuth and google's services.

    Read more

  3. Using Persistent Storage with Gearman


    I'm using gearman for the first time in a new project, and two things in particular were bothering me. Firstly, there doesn't seem to be a built-in way to see what's in the queue. Secondly, if the gearman server dies (which seemed quite likely when I was first getting to grips with this stuff and writing really buggy code!) you lose your queue. Therefore I decided that I would switch gearman over to running with persistent storage.

    Read more

  4. Ideas of March


    You may find that you read a few of these posts today - the title is a play on the fact that today is the Ides of March, and the story goes like this:

    I'm seeing increasing numbers of my friends and peers announcing that blogging is coming back into fashion …

    Read more

  5. Github To Jira Bug Migration Script


    Recently I mentioned the github API and retrieving issues from it. This is because the joind.in project agreed to move its issue tracking from github to JIRA, since the issue tracker on github is far from feature complete. I migrated only our open issues, and comments (and the comments ended up a bit weirdly formatted on the other end but this was the best they could do). It was nothing pretty or clever but in case it's useful to someone else, here's the script:

    Read more

  6. The PHP Community Conference


    Next month, I'll be heading out to Nashville for the PHP Community Conference. This is wildly exciting for a few reasons; this is the first in what I hope will be many episodes of this event, and I'm speaking in a lineup that blows every other conference schedule I've seen …

    Read more

  7. Dealing with MySQL Gone Away in Zend Framework


    I wrote recently about having gearman in my application, however I have been seeing problems with the long-running PHP worker scripts. My logs had entries like this:

    SQLSTATE[HY000]: General error: 2006 MySQL server has gone away
    

    The worker is a Zend Framework application, run from the CLI, and it …

    Read more

  8. A Tale of Two User Groups


    This post is probably only relevant if you're interested in PHP and UK-based. In the next few weeks I'll be at some user groups that I don't manage to visit often. On Thursday, 3rd March, I'll be at PHP East Midlands to talk about Design Patterns. On Tuesday, 12th April …

    Read more

  9. PHP Days and PHP Unconference Europe


    I spend most of the last week or so over in Manchester for a combination of excellent PHP-related events: PHP Unconference Europe on Saturday and Sunday (with a rather excellent warm-up party on Friday night!), followed by the PHP Days training on Monday and Tuesday.

    Read more

  10. Mercurial Primer


    I am a source control nut, I've been speaking about Subversion for years, I co-lead an active open source project which uses git and GtiHub, and I've also dabbled with Bazaar. So far I'm feeling the limits of Subversion, loving the code-hosting features of some of the DVCS tools, and hating git and github in equal measure (don't bother to try to talk me out of this, I'm well aware the problems are mostly on my side). I don't know anyone else using Bazaar in the PHP community but I do know quite a few people raving about Mercurial, or Hg. This post is a quick introduction to the commands I have been using since I started trying out Hg and BitBucket for myself.

    Read more

  11. Using Gearman from PHP


    I've introduced Gearman into a project I'm working on, and since a few people have asked I thought I'd share my experiences. Basically, this application generates some PDFs from a variety of data sources, makes images, and emails it. Since the whole data processing, image handling, PDF generation process is fairly heavy, I'm putting the requests to generate these onto a gearman queue and having some workers process the jobs. The eventual aim is to bring up EC2 instances (or php-specific cloud hosting perhaps? Recommendations gratefully received!) to do this work but right now I have one worker and it's all on one server.

    Read more

  12. Callbacks in PHP


    Recently I was working on something and I wanted to call an object method as a callback, but got confused when I realised the method had been caused statically. This was caused by my inability to RTFM and I wondered how I'd come so far without actually coming across the many and varied things you can pass into any place a callback is needed. I think we've all seen a function callback; something like this:

    Read more

39 of 92