How to Be a Good Conference Citizen

I get to a lot of events and the crowds at each one are different and there’s a different atmosphere – but at every event there are people who are making the whole thing less enjoyable for everyone else. Probably a lot of those people don’t much care what effect their behaviour has on other people, but if you want to avoid being one of those people, these are my tips:

Continue reading

Authenticating with OAuth from PHP

I’ve been looking into OAuth recently and really like what I see, so I started looking at actually starting to play with something that uses it (and isn’t twitter). In the pursuit of this, I spent some time walking through the process of how to actually authenticate using OAuth, as a client. I chose Yahoo!’s service, because they have some fabulous developer documentation and have a standard OAuth implementation. Although you don’t strictly need any special libraries to handle OAuth, that would be a bit like decoding XML with a regex, so I used the OAuth Package from PECL. For others (including me after I’ve slept), here’s an outline of the process.

Continue reading

Missing pcre.h when installing pecl_oauth

I was playing with pecl_oauth last week (more about that in a later post) and when I tried to install from PECL, it grabbed the files, ran the configure step but stopped with an error status during make. This is bad news for those of us who are ubuntu users rather than compile-happy linux users! Closer inspection showed this line around the point things started to go wrong:

Error: /usr/include/php5/ext/pcre/php_pcre.h:29:18: error: pcre.h: No such file or directory

I didn’t have the header files for pcre installed – in ubuntu the headers are in the -dev packages so I just installed what I needed:

sudo aptitude install libpcre3-dev

Re-attempting the pecl install, everything worked as expected. This is on Ubuntu 10.04 Lucid Lynx, and from reading around you’d want to install the same package in response to this error message, regardless of what you were doing to cause it. Hope this helps someone.

Celebrating 10 Years

Today I’m celebrating 10 years dating the same man (since we’re not married, we don’t have an official anniversary but we celebrate this one). He’ll be mortified when he realises I wrote about it on my blog but hey, this is important (and if you date a blogger, this is going to happen!). It’s been a privilege and a pleasure; surprising, challenging, and wonderful all at the same time. Here’s to another 10 years!

DSC07590

Speaking at PHP London, October 2010

In October I will be speaking at the PHP London user group on Thursday 7th at the Theodore Bullfrog pub in London. I’m giving a new talk called “The Source Control Landscape”, looking at the products currently available in the source control arena, how the distributed systems have changed the landscape, and how we can choose between them all today. I’m really looking forward to the event, it’s always a good crowd and I love to meet new people as well as meet up with existing friends – see you there :)

Tips for Event Hosting: Content, Feedback and Socials

This is the final post in a short series about hosting events, based purely on my own experience and no specific expertise, in the hope that they will be useful to others doing similar things. If you are interested, you can read the first two posts, about preparing for the event and what to do on the day. This post is about some of the additional things about an event; sharing the content afterwards, getting feedback from attendees, and the most important bit – the social event.
Continue reading

Day Camp For Developers

I’m very excited by a new virtual event which is coming up, and at which I have been invited to speak. This is Day Camp 4 Developers, an event aimed at developers of all disciplines and focussing on the soft skills that sometimes we miss in our pursuit of technical excellence. I’ll be giving my talk “Open Source Your Career”, which looks at how being involved in open source outside of work can improve our professional development. The event is on November 6th, and you can buy tickets here.

There are a number of things that really appeal to me about this event: Continue reading

Serendipity Template Update

If you read this site purely on a feed reader, this is probably irrelevant to you, but I recently made some changes to this blog and thought I’d post about how I worked with Serendipity to achieve them, mostly involving some template hacking and using a plugin to make a particular area of the site editable through the admin interface. Continue reading

Book Review: The Art of Community

This review has been in my drafts folder for 9 months, because I didn’t feel I was doing the book justice. It seems like I never will, so here it is – as it was written then, but hopefully still useful and relevant to someone

I bought this book last year when I was still working at Ibuildings, and my role changed a lot to include events and community representation. Before that I was doing entirely PHP development and it was around this time that I noticed myself saying “has everyone forgotten I’m actually a developer?” a lot! So I quickly decided that I needed a copy of The Art of Community, a book by Jono Bacon published by O’Reilly. Actually, I should thank O’Reilly at this point for publishing the book and even more so for sending Josette and her book stand to conferences – I was able to buy the book and it came with a pep talk :)
Continue reading

Indexes on Tables

Increasingly I find a very binary split between the professionals I come into contact with. One group of people are very database-aware and take the design of their storage quite seriously – with good results. The other group are more concerned with the functionality of their application, and have little regard for how it is stored other than considering it a keeping-place and making useful table and column names.

Too often though, they don’t think about how that data will be retrieved or what the implications are when it gets beyond the thousand records that were used for testing. This is where having an idea of how the data will be retrieved can really help application performance. (note: this article is aimed at users of traditional relational databases, and ignores all other possibilities). This post takes a look at the various index types and when to use them. Continue reading