Posts from January 2007

Wayne Rooney - an apology

In recent weeks, this esteemed publication (Daily Excess) has been critical of Wayne Rooneys recent performances for Manchester United.

One article Rooney is finished questioned his future, his commitment, his mental state and his footballing ability. We ran a story that incorrectly claimed Rooney was 'furious and livid' at the amount of media attention, fulsome praise and PFA awards being given to his team-mate and rival, Cristiano Ronaldo.

After his performance and two wonder goals on Saturday, the Daily Excess is proud to announce an unreserved, unequivocal and heartfelt apology to Wayne (John, Paul, Ringo, George) Rooney of Wilmslow, Cheshire.

Wayne Rooney is the best footballer in ~~England~~ the world. Wayne Rooney is destined to enjoy a long and trophy-filled career for club and country. John Terry has a dodgy back so must be relieved of the England captaincy immediately and the honour bestowed on 'our Wayne'. Wayne Rooney will bring the World Cup back home in 2010.

Rival publications have compared Wayne to Eric Cantona. That comparison is grossly unfair. Wayne Rooney is infinitely better than that garlic smelling, poetry reading, snail eating, karate kicking Frenchman who can't even speak English proper.

Wayne Rooney is a fantastic footballer and an awesome young talent to be nurtured and savoured.

Until he next goes four games without a goal.

another shattered dream

uk

I was intrigued by the detailed infrastructure and sophisticated AI techniques powering the world-wide computer network that was supposedly hunting down my lost bag.

I had a persistent mental image of a person sitting in a dingy, dark corner office buried in the dungeons at Heathrow airport, lazily typing into an old-fashioned, amber, VT220 terminal:

Bag Reference: 'AHL LHRBD70414'

BRU-LHR: Confirm : 'Yes'

Is the bag at BRU ? : 'No'

Is the bag at LHR ? : 'Dunno'

Is the bag stuck on the conveyor belt ? : 'Dunno'

Did some idiotic passenger take the wrong bag ? : 'Possibly'

Has the bag been delivered to another carousel (Bug 6695423) ? : 'No'

Have you asked Barry, the baggage handler Supervisor ? : 'Yes'

Have you looked behind the sofa ? : 'Yes. No bag but we did find the TV remote.'

Computer says: 'Tell customer the search has now been widened to US and APAC. Wait 3 months before telling the customer it is now too late to submit an insurance claim.'

The illusion has just been cruelly shattered. In the early hours, I received a text message

'Luggage received. Delivery time will follow.'

promptly followed by another

'Your luggage should be delivered before 10:00'

Half an hour ago, the doorbell rang and I was reunited with my razor and boxer shorts. Much to the surprise of the delivery driver, we hugged and enjoyed an emotional, tearful reunion.

Unfortunately, I had to tear up the fraudulent insurance claim for a new digital camera, Timberland boots, iPod, wireless headphones, Treo, 3 crates of chocolates, Hercule Poirot moustache, full size replica of the Atomium and electric guitar.

fun with Habari

Theres been a lot of excitement and discussion recently about the emergence of a new blogging platform called Habari.

A brand new blogging platform being created from scratch with more developers than actual blogs.The prospect of my blog being completely broken by the nightly alpha build was an attractive one. A chance to leave the comfort of a stable Wordpress environment with all those themes and plugins. A change to live on the bleeding edge. I desperately tried to resist but the lure was too strong. In the end, I simply couldn't help myself.

The first step was to install subversion (much better name than boring old CVS) on Bluehost following these excellent, idiot-proof instructions.

Then you check out the habari code. Or rather you don't. You get this error.

svn: PROPFIND request failed on '/svn/trunk'
svn: No transaction named '26572b6d78b0be18? in filesystem 'habari'

No need to give up and commit Hari-Kari just yet. Consult the Habari self-help group to discover there is a known problem with the SVN repository on the Google server. When this problem is resolved, I finally get to download the code. Habari requires PHP5 and PDO (for database access). On Bluehost, the following lines must be added to 'php.ini' to activate the PDO drivers for mySQL.

extension_dir = /usr/lib/php/extensions/no-debug-non-zts-20050922
extension=pdo.so
extension=pdo_mysql.so

I am already hosted on a server running PHP5 but if you don't have PHP5 on your server, open a ticket and Bluehost Technical Support will promptly move you.

Create a(nother) mySQL database and account, edit the database credentials in 'config.php', create an '.htaccess' file to handle redirects and you're away. A simple installation page creates the initial user account, the blog, tagline and the first entry.

Congratulations ! You are now the proud owner of a Habari blog.

Obviously, this is an embryonic product but the Administration page looks great and is fast and responsive. Although I'm not sure I believe the traffic statistics !

The article editor is a little minimalistic (especially contrasted with the recently released WordPress 2.1) but perfectly usable.

A special word of praise about the Habari import facility.

This connected directly to my Wordpress database and was blindingly fast (less than 30 seconds) to import my WordPress blog. In fact, it was so fast, I had to check that over 500 articles and 400 comments were indeed correctly imported although I noted that tags weren't preserved.

It is not clear how you might import a hosted Wordpress blog where you don't have access to the database but I am sure other data formats will be added in due course.

Of course, there isn't the rich variety of themes and plugins available for Habari (yet) and, while I will not be jumping ship to Habari from WordPress today, I will certainly continue to follow developments with interest.

Auto-discovery detected the availability RSD and Atom (but not RSS) feeds.

If you're interested, here is my Habari sandpit.

lost in transit

Last night I returned to London from Brussels. Unfortunately, my overnight bag didnt.

I guess this was inevitable after four years of multiple short flights in Europe and I have been pretty lucky thus far.

Curiously, two other passengers on my flight suffered the same fate. One gentleman was very irate. For reasons best known to himself, he had buried his car keys in his suitcase which seemed a very odd decision.

Consequently, he had to call his wife in Oxford to drive down to Heathrow with the spare keys. I happened to notice he held his mobile phone a full 12 inches from his ear while he made the call to his loving partner. Hopefully, the box of expensive Belgian chocolates he was carrying, may help to salvage the situation.

My immediate thought was the stray bags were lurking somewhere in Heathrow Terminal 1 whereas my new friend and ally seemed convinced that they had never left Brussels. He was insistent that Hercule Poirot was summoned immediately to locate the bags in Brussels and placed on the 20:00 flight (in business class with cloth napkins).

My gut instinct was reinforced when four more passengers from Amsterdam came over to report more lost bags. Again, from the now sadly empty luggage carousel 4. Maybe there was something interesting on TV or a baggage handler had popped out for more tea-bags.

Ironically, I was deputising at short notice for a sick colleague so this flight was booked at very short notice in business class. So, the bright orange 'Prioritaire' tag didn't exactly help my kit bag much on this occasion.

Anyway, I remain hopeful of getting my smelly clothes and stolen hotel toiletries back; particularly when I read this bold assertion on the BMI claim form

'We would like to assure you that every effort is being made to locate your bag using a world-wide computer network designed exclusively for this purpose.'

fun with disaster recovery

Sort of.

I decided to remove all posts from my newly created Habari sandbox in case my readership and GoogleBot gets confused. As there was no obvious bulk deletion tool, I simply truncated the `wp_posts` table.

Unfortunately, I truncated the `wp_posts` table from the Wordpress schema instead of the Habari schema.

So, in the space of a mere 24 hours, I had managed to lose my favourite boxer shorts, get a brand new shiny blog and then completely trash my established, trusty, stable blog.

No problem. Earlier today I upgraded to WordPress 2.1 so I can use the backup I carefully took before that upgrade. Only the Bluehost one-click upgrades are so reliable and trouble-free, I got out of the excellent habit of taking my own backup by hand.

No problem. I will just use the backup Bluehost took automatically. Only I can't. That backup is purely of the PHP code (and not the database).

No problem. I will simply use the Bluehost mySQL database backup. Only I can't. Murphy has spoken. The latest daily backup has been made in the last 2 hours and the `wp_posts` table is empty.

No problem. I will go back to the weekly dump, extract the SQL for `wp_posts` in isolation and add the raw data by executing the INSERT statements.

That all works fine. 502 records inserted into `wp_posts`. Triumphantly, I pat myself on the back and check the blog looks OK. There are still no articles. Weird.

I create a test article, which is visible, and compare the 'good' record against the 'bad' record. Quickly track the problem to the 'post_type' column which is NULL on the imported posts and should be 'post'. Issue the necessary UPDATE statement and, magically, all my posts immediately re-appear. Fix the 'About' page which imaginatively has a 'post_type' of 'page'.

All that remains is to fill in the gap between last week's backup by manually pasting in articles from Google Reader and modifying the timestamps. Slightly tedious but much preferable to laboriously typing in 501 articles.

And the moral of this tale. If I ever cross your threshold to be interviewed for that production DBA role for a large Siebel deployment, just thank me and politely show me the door. Quickly.

my proudest moment

uk

27 years ago, in an fruitless attempt to save money, my wife and I hired a function room above a pub to celebrate our joint 40th birthday. With a free bar.

We invited friends (both of them), members of the book club and close family, blew up our own red and white balloons, paid extortionate prices for prawn volavons and, in an extravagant measure, even hired a DJ with a Karaoke machine.

In an effort to get things going, I submitted my request at 21:39 (Oasis - Wonderwall)

Unfortunately, the premium strength lager on offer that night was Kronenburg 1664 (not Grolsch).

At 23:57, I was summoned to the stage where I grabbed the microphone and prepared for my moment of glory.

I eagerly sang out the words on the monitor screen

'Introduction. Introduction..'

The middle-aged DJ's looked aghast and frantically started gesturing to me. I kept going to a round of perplexed silence.

In tribute to the world's most famous Ciddy fans, I spontaneously changed the words of the final chorus:

'And, after all, United won f**k all'

People looked perplexed. My mate (who was drinking bitter) said 'This is the best 40th I have ever been to.'

More songs were played. We drank more beer. We eventually went home.

guitar hero

Over Christmas, I was drying dishes, desperately trying to avoid conversation or being dragged into a impromptu board game. From upstairs, I heard a strange sound; the (discordant) opening chords to Smoke On The Water by Deep Purple. Repeatedly.

Nothing too surprising there as my 12 year old nephew had been given an electric guitar for Christmas.

I asked him who had taught him the three chords and he answered 'Norman Junior'. It transpired my son has been learning to play guitar with a mate and they are progressing through 'Monsters of Rock' classics.

Sensing a chance for some Father-Son bonding, a chance to obtain a guitar and share a common interest, I asked Norman Junior III: 'Would you like a guitar for your birthday ?'

'No thanks, Dad. I like messing around but I simply haven't got the motivation.'

I interpreted this as 'Mum will force me to have lessons and I'd rather play football.'

Another chance to play 'She's Lost Control' on YouTube evaporates.