Distributing the Geograph Archive with BitTorrent?

Sunday, 9 April 2006, 12:16 | Category : Geograph, Software Development
Tags :

Geograph attracts the occasional bit of unfriendly leeching, where someone mirrors the entire site at high speed. Considering we’ve got close to 250,000 pages, that can be quite a bandwidth hit for a non-profit entity.
We’ve policed this manually up until now, but we’ll certainly need to add some automated software protection to separate legitimate browsers [...]

Lazy wrapping with PHP5’s __call method

Saturday, 8 April 2006, 8:47 | Category : Software Development
Tags :

The overloading features in PHP5 allow you to intercept calls to unknown methods at runtime. I recently used this feature to rapidly develop a class wrapper for Xapian, and it’s interesting to see how the technique works and what it achieves.
In this article, I’ll explain how you can use __call to wrap a flat function-based [...]

memcached

Friday, 7 April 2006, 7:55 | Category : Software Development
Tags :

Enjoyed the PHP-London meeting last night – the main element was a talk on memcached using the PECL memcache extension. I don’t know how the distributed nature of memcached passed me by until now, but it looks like it would be very useful for Geograph when we scale it to more servers.
Just need to find [...]

Pastebin source really is coming!

Wednesday, 5 April 2006, 9:49 | Category : Pastebin, Software Development
Tags :

I had one email thinking it might have been an April Fool’s joke, but no, I really will release the souce to pastebin.com. Last night I wrote a script to build a tarball for distribution, when I get a spare moment over the next week I’ll make the following changes

Pastebin was originally written to live [...]

Xapian PHP5 Wrapper

Tuesday, 4 April 2006, 14:04 | Category : Software Development
Tags :

As mentioned in an earlier post, I’ve been playing around with Xapian and PHP5, but the nice object oriented API of Xapian is flattened into 240 functions using the PHP bindings.
To make it easier to work with I’ve created a set of wrapper classes for PHP5 which allow you to use the API just as [...]

PHP5 Iterators

Thursday, 30 March 2006, 23:49 | Category : Software Development
Tags :

I’m late to the PHP5 party. When it was released I kicked the tyres, wrote a few sample scripts, but lacked the time and resources to deploy it properly.
But as I’m about to start a large new project, it’s time to bite the bullet!
I’m playing around with Xapian, which is a C++ search library [...]

RESTful images

Tuesday, 28 March 2006, 20:36 | Category : Geograph, Software Development
Tags :

Thought I’d play around and make a Wordpress plugin to show a selected Geograph image, and form the beginnings of a REST style API for Geograph.
First thing was to provide a way to obtain picture metadata – this was pretty straightforward – requesting a URL like this
http://www.geograph.org.uk/api/photo/40212

Returns an XML result like this
<geograph>
<status state=”ok”/>
<title>From Bygrave to [...]

Producing Open Source Software

Monday, 27 March 2006, 15:59 | Category : Geograph, Software Development
Tags :

Producing Open Source Software is a great looking book which you can read online. I’ve only had time to skim a few chapters but it does resonate with my experiences developing Geograph. While some of it can be applied to commercial teams, the majority of it is about dealing with the unique elements of open [...]