Posts from 2007

Disqus powered comments

I was rather hoping Disqus would be a 100% plug-in replacement for the woefully inadequate coComment so I could simply track all the comments I leave on assorted blogs and easily monitor other comment threads of interest.

An RSS feed of such comment activity would be an ideal element to feed into the Tumble dryer.

Disqus launched yesterday and as it was written in Django, looks OK and isn't too invasive or distracting (c.f BlogRush), I have enabled the WordPress plugin on this blog.

Comments can now be threaded (just like serendipity) and (thankfully) you don't need to register with Disqus to leave a comment.

Comments can be rated and the comments are hosted on Disqus forums.

Paul Stamatiou wrote a excellent review about the features in Disqus and Techcrunch also reviewed the software.

I have some minor concerns:

  • I currently use Spam Karma to handle comment spam on this blog. SK2 is unbelievably efficient and far superior than Akismet. I can count on the fingers of one hand, the number of comments and trackback spam that got past SK2 so I have some concerns about reverting to an inferior spam filtering solution.
  • Until every blog in the world integrates Disqus, I still won't be able to track all of my comments. Still, I am still waiting for the world to universally adopt Emacs and Supercite so email works properly so I guess I can live with that.
  • Although you are supposed to be able to quickly and easily import Disqus comments back into WordPress, I need to check how this is implemented.
  • It is not clear whether Disqus will currently work on hosted WordPress.

Obviously, the 'Recent Comments' widget is now defunct so I replaced that with a RSS widget for the new Disqus Comments RSS feed. I'll try Disqus out for a while as an experiment but I guess the most important and valuable feedback will be from readers of this blog. Without you, I am nothing, a lone voice in the darkness, a blog in isolation.

So if you have any thoughts, just leave a comment.

Gerry and Kate McCann - an apology

uk

On May 21 2007, this newspaper published an article that was somehow misconstrued by some idiotic readers to imply that the funds raised to assist with the search for the missing girl, Madeleine McCann, were being misused by Gerry and Kate McCann to fund baby sitting services and countless bottles of Rioja (Gran Reserve 1987 vintage) for British holidaymakers (aka Tapas Bar 7) in sunny Portugal.

In the light of several hundred complaints from outraged readers and the threat of legal action from the McCann's Press Office (which is absolutely not funded from the Find Madeleine fund whatsoever), this newspaper is pleased to offer a full and unequivocal apology to Gerry and Kate McCann on today's front page.

After clarifying the original story with the unnamed sources, this esteemed organ will now restate the facts of the matter once and for all.

Not one penny of the funds raised (currently standing at over 1 million pounds) have been misused in any way, shape or form by the McCanns.

We know this for a fact because the money in question has, in fact, been used to make mortgage payments on the McCann's 5 bedroom detached property in Leicester, near Rothley.

worlds first blogger dies

Sadly, the worlds first and most prolific blogger, the Reverend Robert Shields has passed away in America aged 89. Shields was the author of the worlds longest diary consisting of a staggering 37 million words.

Shields was truly the world's first blogger with his first recorded entry in April 1927 beating Dave Winer by 3 months. Nor was Robert Shields afraid of including trivia and useless information in his journals. For example, how many blogs (or Tumblelogs for that matter) record blood pressure readings (Shields despised silly mood emoticons), make any effort to fastidiously record every single visit to the lavatory (Shields had dozens of imaginative ways to describe the act of urination) or have the thoughtfulness to detail every single piece of junk mail ever received.

Lazy, modern bloggers (with the possible exception of Robert Scoble who, coincidentally, was named after Shields) everywhere should hang their heads in shame when they learn of Shield's commitment to the blogging cause; Shields never slept for more than 2 hours to ensure he could capture his dreams.

Here is just one example of his exceptional writing:

'9.35-9.40 I cleaned the cerumen from both my ears and from both hearing aids.'

Unfortunately, although Shields has left the 91 boxes containing his life's work to a university, he has stipulated that the full contents can not be published until 2049.

I will leave the final words to the great man himself.

'It is an uninhibited diary, It is spontaneous. I type it as it comes, I don't correct it and I don't edit it.'

just the job

Note to self: Dust off CV and apply for this job on Monday morning.

Any client who is interested in people running projects from cradle to grave' intrigues me.

Rowche Rumble

I am bored of tormenting myself, conjuring up full blown blog posts, pouring over non-existent Adsense revenues and analyzing traffic statistics so I have started a Tumblelog.

There is something very appealing about Kottke's definition of a Tumblelog as 'a quick and dirty stream of consciousness.'

A Tumblelog can be a short, snappy blog and can also aggregate different RSS feeds (Google Shared Stuff and Items, del.icio.us, last.fm, Flickr and even this blog). Why, Tumblr even has built-in support for quotes.

However, undoubtedly the best feature is the endless scope for puns in the non rotating taglines:

  • Rowche Tumble
  • Are you ready to Tumble ?
  • Tumble Dryer
  • Tumble in the jungle
  • A bit of rough and Tumble
  • Don't mumble, Tumble !

I have already contacted Davidville to enquire about any openings in sales and marketing.

just do what you are told

uk

Another in this award winning and ever popular series.

Hello John. Can I ask you a quick question ?

'Well I'm onsite at a Red account in deepest Kazbakistan about to go into a crisis meeting. But, as it's you (again). Go on. Fire away.'

'Well I have a really strange problem. I'm currently at Asda and I can't get...'

'Yeah. Hurry up. What's the actual problem ? Installation, performance, database, network, security, clustering, defect, LDAP - what is it ?'

'Well it's an unusual one. It's the milk.'

'The milk. What on earth are you talking about ? Did you really say milk ?'

'Well, as I said, I'm currently in Asda and there is no milk.'

'For Christ's sake, you're calling to ask me a question about your grocery shopping.'

'Yeah. I really need milk and there isn't any.'

'Well obviously all the milk is sold out. Get fully skimmed or get 2 pints from the newsagent or the Total garage.'

'But the milk isn't actually sold out. That's the weird thing.'

'Well if it isn't sold out, why is there no milk there ?'

'That's why I am calling you. Although there's no milk, there is a sign on the refrigerator where the milk should be and the sign mentions you.'

'Mentions me. What do you mean - the sign mentions me ?'

'Shut up and listen'

'Due to circumstances beyond our control, the milk chiller is currently out of service. We hope to have the unit working again as soon as poss-'

'Look - can you hurry up ? The council of war is starting'

'Well just shut up and listen then.'

'We hope to have the unit working again as soon as possible. We sincerely apologise to all our loyal customers for the inconvenience caused. Until then, may we suggest you ask a colleague for advice.'

dead body under my floorboards

uk

When your children ask for a pet hamster, always follow your gut instincts and refuse.

Last night, I entered the bathroom to find my wife had suddenly and unexpectedly replaced the tile lino with bare floorboards. She was on her knees sanding the boards for that perfect Victorian antique looking finish.

I carefully navigated my way to the sink and noticed my two children huddled under the pedestal, feverishly yanking at floorboards and ripping up plywood with their bare hands.

'Stop it. What do you think you're doing ? For the last time, it's bedtime. I'm trying to brush my teeth here.'

'Dad - it's Gromit. He's trapped under the floorboards.'

My wife politely interjected...

'Put that bloody toothbrush down and get me a claw hammer. Now.'

And so it continued. The stylish, ivory and cream, fake Italian lino got torn, pieces of plywood got raised and more floorboards got levered up. Still, there was no access to the little, cuddly, brown hamster who was squealing from under the sink pedestal. I could have sworn he was singing 'A song from under the floorboards' by Magazine.

I resigned myself to his imminent death and yet another pet funeral in my garden. I tried to sneak out without brushing my teeth, claiming I was looking for creative solutions on the Internet. I slipped and broke my ankle on pine nuts that were liberally scattered on the floor.

'Get me a pair of pliers. Now.'

Oh no. Not the torture by pliers. My wife proferred a coat hanger which I severed in two places. She then bent the wire into an improvised corkscrew style, helter-skelter type device for small rodents.

Thankfully, with more coaxing, the hamster managed to achieve yet another miraculous escape. This was a tremendous relief as I suspect my wife's next strategy was to start drilling up through the lounge ceiling perilously close to multiple water pipes.

Later in bed, I remarked 'When those hamsters are dead, we are not getting any more pets. Ever.'

Norma replied 'Oh come on. Could you really stand there every morning and night brushing your teeth knowing that Gromit's dead body lay just four feet away under the floorboards ?'

'You know what Norma. You're right. He's such a lovable little hamster I don't think I could have possibly lived with myself.'

'There you are. So you do have a heart after all. You do care.'

'I suppose I would have ended up using the downstairs loo instead.'

a very British death

uk

An inquest has reached an open verdict on the death of a judge, six years ago.

This story caught the media interest in the UK because

  1. The victim was a judge hence plenty of scope for pictures of him wearing his robes and his silly wig.
  2. The victim was having an affair with a glamorous mistress.
  3. The storyline was identical to an episode of 'Midsomer Murders' aired in March 2003.
  4. The wife was arrested but later released without charge.
  5. The mistress was also under suspicion for blackmail.

However, what I found interesting (it's not really appropriate to say hilarious) about this case was the sequence of events after the judge told his wife of the affair and the fact he wanted a divorce. After dropping this bombshell to his wife of 34 years, he then went upstairs to, wait for it, change into his gardening clothes and prepared to mow the lawn.

The man went to the garden shed to mount his expensive, deluxe ride-on lawn-mower, when a stray spark ignited petrol fumes causing a massive explosion.

The distraught wife, in a very British way, ran outside and, horrified at the blazing inferno ~~dialled 999 in an attempt to save the life of her unfaithful husband~~ hurriedly gathered in her washing.

how to migrate a WordPress blog to Django

There is currently no utility to migrate existing blog content to django.

However, conversion of an existing WordPress blog is pretty straightforward.

Firstly, simply export the following tables from the WordPress database using phpMyAdmin

  • wp_posts
  • wp_comments
  • wp_terms
  • wp_term_taxonomy
  • wp_term_relationships

Import the tables into the django database.

Then run the following SQL statements which migrate posts, comments and categories and assume a WordPress 2.3 schema and a blank django blog. If you have already created content in django, minor changes will be needed. My WordPress blog only uses categories which simply get converted to django tags.

    insert into blog_post
    (id,
    slug,
    title,
    pubdate,
    moddate,
    body,
    draft,
    closed)
    select
    wp_posts.id,
    wp_posts.post_name,
    wp_posts.post_title,
    wp_posts.post_date_gmt,
    wp_posts.post_modified_gmt,
    wp_posts.post_content,
    0,
    0
    from wp_posts
    and post_type = 'post';

    insert into comments_freecomment
    (id,
    content_type_id,
    comment,
    object_id,
    person_name,
    submit_date,
    is_public,
    ip_address,
    approved,
    site_id)
    select
    wp_comments.comment_id,
    14,
    wp_comments.comment_content,
    wp_comments.comment_post_id,
    wp_comments.comment_author,
    wp_comments.comment_date_gmt,
    1,
    wp_comments.comment_author_ip,
    wp_comments.comment_approved,
    1
    from wp_comments
    where comment_approved = '1';

    insert into blog_tag
    (slug,
    title,
    description)
    select
    wp_terms.slug,
    wp_terms.name,
    wp_terms.name
    from wp_terms;

    insert into blog_post_tags
    (post_id,
    tag_id)
    select
    wp_term_relationships.object_id,
    wp_terms.name
    from wp_term_relationships, wp_term_taxonomy, wp_terms
    where wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id
    and wp_term_taxonomy.term_id = wp_terms.term_id;

Finally, delete the WP_* tables from the django (and not the WordPress) database.