This website recently got a major rebuild; if you're missing something, let Lorna know.

    Blog


  1. Google Analytics Accounts API


    I'm working with Google Analytics at the moment, to pull information about web traffic from analytics into another system. Google have excellent APIs and that makes this job much easier. I'm using pecl_oauth to authenticate users against their google accounts (see my post about using OAuth from PHP), but even after I have a valid google user, working out which analytics accounts they have access to and how to refer to them is a puzzle in itself, so I thought I'd share what I learned.These examples use pecl_http, since I have control of my platform and I find it easy to work with. I've tried to write this with explanations of the overall process in between the code snippets so hopefully this makes the process clear whether or not you will use exactly the same implementation.

    Read more

  2. 360 Degree Feedback


    I mentioned the 360 Degree Feedback Technique during my keynote at PHPNW10 and had many comments and questions about it since, so I thought I'd post about it in more detail

    Read more

  3. 256 Colours in Vim


    Recently I've been looking at different vim colorschemes, after using vimdiff and finding I couldn't see half of the code. I've been using relaxedgreen for ages, and it is excellent but I find the blue really hard to see on my black background so I was in the market for an alternative.

    Read more

  4. Curl and Cookies


    I noticed the other day that the cheat sheet I have on this site for curl doesn't show how to use cookies, so I thought I'd remedy that omission, and quickly! Being able to use the command line to authenticate and then go on and use part of a site …

    Read more

  5. Business Strategies: Office Day


    I'm now self-employed, which means that I have to do my own administration, invoicing, accounts, correspondence, sales, marketing and maintenance (not to mention running the household, a sports team, and whatever else I've volunteered to get involved with lately). I am pretty organised as a person, which is a real …

    Read more

  6. Fetching Namespaced XML Elements With SimpleXML


    Recently I was working with some google APIs and needed to retrieve some namespaced elements from the result set. This confused me more than I expected it to so here's my code for the next time I need it (and if you use it too, then great!)

    I was reading from their analytics data feed API, this returns a few key fields and then multiple <entry> tags, each with namespaced children. The entry tags look something like:

    Read more

  7. Be My Guest for DayCamp4Developers


    This weekend I'm presenting at DayCamp4Developers, a virtual event comprising a full day of workshops for developers of all disciplines to improve their soft skills and move forward in their career. I get to attend since I'm speaking, but even after I've given my slot I know I'll be online …

    Read more

  8. Deprecated Methods in Pecl_Http


    I'm a big fan of pecl_http, which I use quite often as I work so regularly with APIs and on systems where I can get it installed, it's much nicer than PHP's curl extension. Recently though I've been often seeing output which reads:

    Function HttpRequest::addRawPostData() is deprecated
    

    It isn't …

    Read more

  9. Advice To Another Blogger


    Recently I was approached by a friend of mine looking to start his own technical blog. I've been blogging here for some years, and he wrote to ask my advice. I replied to him, but thought that the ideas could be useful to others in the same position, so here's that email, published here for anyone else who wants to see it:

    Read more

  10. Three Months In: The (Ad)Venture Continues


    It's three months since I gave up the day job and so many people have asked me how it's going, that I thought I'd give a quick round up!

    I am a statistics nut so it will surprise nobody that I track my time religiously (using harvest, which I'll post about some day soon). From this I can tell you that I spend about 40% of my time working for other people, and the rest doing things like writing, preparing talks, accounts, meetings, or whatever. I've also taken 14 days off, which has been absolutely fabulous after a decidedly work-heavy first half of 2010. The biggest change is that I've only worked one weekend day. One.

    Read more

  11. Is Enum Evil?


    When I work on database designs, either on my own projects or as advisor to others, I often find people very reluctant to use an enum type for any columns. Now, I'm not about to advocate the gratuitous use of an enum column, they definitely have some pitfalls, but I think it is important to understand these rather than just shouting "enum evil!" if anyone should mention them.

    There are cases where an enum is the correct choice for a particular type of data, so let's look at what an enum type actually is and does.

    Read more

  12. My Talk Filing System


    Three years ago, I had never spoken in public (I have video of that first attempt and all I can say is that I've come a long, long way!). Since then, I've done rather a lot of it. I've submitted countless conference talks, had the minority of those accepted, and prepared and delivered those that were. Not many talks have been given twice, but some have, and now some are getting rebranded since I am working for myself and can choose my own slide branding these days. All this adds up to a lot of content to keep track of!

    Read more

41 of 89