One of the truly great things about Perl is CPAN (the Comprehensive Perl Archive Network), which is an immense resource for almost all of the common (and not so common) programming functions you could ever dream of – from the web to graphics and operating system interfaces. Although Python and Ruby are gaining in popularity these days, CPAN is a huge asset to Perl that (as far as I’m aware) has few equals in other languages.

I’ve collected below some of the most useful modules I’ve found from an SEO’s point of view: Read more »

Very sad that I couldn’t make it to Ealing today to say goodbye to my friend & colleague Jaamit Durrani, due to this damn freak weather. So instead I wanted to write a little bit about Jaamit as I knew him. I have held off writing anything much until now, but today should be a day for reflection and celebration of his life, and this is the best way I can think of doing that.

The first time I met Jaamit was in March this year; he’d sent in his CV for a position on our SEO team, and as soon as I saw it, I wanted him to join us – it was a great CV, and I was also aware of his presence on twitter, although wasn’t really active on it myself at the time.

He wanted to go for a drink after his first interview to get a feel for the existing team. We were quickly talking about our visions for where we wanted to go with SEO, and his passion for the subject and depth of knowledge shone through immediately. He was one of those very rare people you can be a stranger to one minute, and the next feel like they’re an old friend you’ve known for a long time.

Working with Jaamit for 8 months (albeit separated between buildings) was an absolute privilege, and I have a lot of fond memories of his passion, professionalism, warmth and sense of humour.

He was very proud of getting a speaking slot at the Think Visibility conference in September, and pursuaded our whole SEO crew to follow him up there. As Rishi said, he was a perfectionist, and was working and re-working his presentation on the train up, late into the night, and even during the presentation before his. As always any nerves were unjustified as the reception to his talk was fantastic – for many a highlight of the conference. He may have been a perfectionist but he was also an engaging, passionate public speaker that could easily win over any crowd.

I remember working remotely late one night before a pitch with him, and after asking him several times to send over his slides so far I eventually received them with the disclaimer:

“this deck is a load of crap – just to warn you”

After looking them through I had to write back:

“dude don’t know what you’re talking about – it’s looking pretty darn good IMO”

The slides were all but finished, and yet he continued working on them until he thought they were perfect (which they were of course). His modest response “wow – really?” speaks volumes.

He was genuinely a great SEO, and his generosity towards others in the industry was always forthcoming – never afraid to give, ask for or take advice from others. He took it upon himself to introduce people at conferences and was a relentless networker – he genuinely loved meeting new people and sharing ideas about SEO or pretty much any subject. He enjoyed getting people talking, and he alone briefly introduced me to Shaun Anderson, Rand, Will Critchlow and many others at the 3 conferences we went to together.

The reaction online to his tragic passing has been something to behold – not just because of the tributes people have given, but also because it really is genuinely astounding that one person could mean so much to so many people, both inside of and outside of the SEO industry. Given his passion, achievements, knowledge and understanding of SEO, it’s easy to forget that he was relatively new to the industry, and had a similar effect on people outside of the industry.

RIP Jaamit

Google Labs released a new tool called “Scribe” today, which auto-completes sentences based on those Google has found in web pages. Fun to play with as a gimmick, and potentially useful in Gmail and other apps for users, however there’s definitely some very interesting potential uses for us SEOs :)

Read more »

One of the more useful things you may want to do with Perl scripts if you’re into crawling websites is to pipe your script’s requests through multiple IP addresses.

This is actually pretty simple when you know how, but doesn’t seem to be documented that well across the web. So the following steps should work pretty well if you’re running an Apache server:

1. Configure Apache

Make sure you’re running the mod_proxy module. Then add the following code to your Apache conf file:

ProxyRequests On

Order deny,allow
Deny from all
Allow from internal.example.com

2. Install Squid

A dual purpose caching & proxying program it can be installed on RHEL 5 by following these instructions.

Read more »

Just found a “Page not found” error on the RNIB website – why don’t more 404 pages have this “report a broken link” feature? It shows users you care and gives developers useful information:

Oh and it probably wouldn’t hurt your link profile either to find out & fix these broken links quickly and as a matter of process.