Older blog entries for tagishandy (starting at number 13)

Perl 5.10.0 is out

Congratulations to Rafael and all the Perl 5 Porters on releasing Perl 5.10.0 on Perl’s 20th birthday. There’s a torrent here for early adopters.

Syndicated 2007-12-18 21:07:42 (Updated 2007-12-18 21:07:44) from Hexten

Leopard, Proxies, PubSubAgent crash

I’ve just released HTTP::Proxy::GreaseMonkey. It’s an HTTP proxy that allows (some) GreaseMonkey scripts to be used in any browser - not just FireFox. I wrote it so I could use my GreaseMonkey search.cpan.org enhancer with Safari.

After installing the proxy and telling Safari (and everything else on the machine) to use it I started to experience PubSubAgent crashes every twenty minutes or so. It turns out that PubSubAgent is responsible for .mac synchronisation - and it doesn’t like proxies. You can read more about the problem here.

The solution suggested on that thread - to add .mac.com to the proxy bypass list - is heading in the right direction but isn’t quite correct. Instead you must add *.mac.com to the proxy bypass.

Proxy Settings

Syndicated 2007-12-17 01:57:26 (Updated 2007-12-17 01:57:27) from Hexten

Awards for terror attack bravery

It can’t just be me who, on reading this headline, wonders why awards are being given for terror and why those awards are attacking bravery.

Syndicated 2007-12-10 23:45:18 (Updated 2007-12-10 23:45:19) from Hexten

10 Oct 2007 (updated 24 Jul 2008 at 12:09 UTC) »

Simpsons Me

I wonder if I could use it as my passport photo? It’s not exactly a striking likeness.

My Simpsons Avatar

Get yours here.

Syndicated 2007-06-27 19:39:38 (Updated 2007-06-27 19:39:41) from Hexten

CPAN v DTD (spoiler: CPAN loses)

I need to parse a DTD. Specifically I need to parse this DTD:


It’s quite a well known one. Certainly there’ll be a module on CPAN that can parse it. Let’s have a look.


Looks promising, comprehensive. Unfortunately it fails with an error which is eventually tracked to a misspelled method name. So much for test coverage. Fix that and it throws a bunch of warnings that cause a rapid loss of confidence. No matter, let’s try…


It’s a “quick and dirty DTD parser”. Hmm. “I’m too lazy to document
the structure”. Nice.

“Since version 1.6 this module supports my “extensions” to DTDs. If the DTD contains a comment in form…”

Maybe I’ll come back to XML::DTDParser…


SGML? That’s got to be good, right? SGML is the daddy. Every fule no that. Unfortunately it doesn’t really seem to have much of a Perl interface. It’s all about translating DTDs to XML. I might be able to use that. I’m getting desperate.

I’ll take a quick look at the test suite for a confidence boost. Here’s one:

    # Before `make install' is performed this script should be
    # `make test'. After `make install' it should work as `perl


    # change 'tests => 1' to 'tests => last_test_to_print';    

    use Test::More tests => 1;
    BEGIN { use_ok('SGML::DTDParse') };                        


    # Insert your test code below, the Test::More module is use
    # its man page ( perldoc Test::More ) for help writing this

(I’ve cut the right hand side of the test off so it fits my stupid page layout. Don’t worry - you’re not missing anything good)

The other test is pretty similar. I’m not that confident now.


Running out of options. Let’s look at XML::ParseDTD. From the documentation it appears to rock. The test results say “2 PASS, 2 FAIL”. 50/50. So at least it’s got some tests, right? Damn right! Here they are in their entirety:

    #!/usr/bin/env perl -w

    use strict;
    use Test::Simple tests => 2;
    use XML::ParseDTD;

    my $dtd = new XML::ParseDTD('http://www.w3.org/TR/xhtml1/D
    ok( defined $dtd, 'new() returned something' );
    ok( $dtd->isa('XML::ParseDTD'), 'it's the right class' );

(Again I’ve cut the right hand side of the test off. Again you’re not missing anything good)

I’m momentarily impressed that it managed to score two failures with that. I’m about to find out how.

Never mind, the DTD URI in the test looks a lot like the DTD I need to parse. I’m getting close. I can feel it.

Unfortunately it has a dependency on Cache::SharedMemoryCache (why?) which in turn depends on IPC::ShareLite - which doesn’t install on my PowerBook. So now I need to fix / avoid IPC::ShareLite.

See kids: the great thing about CPAN is how much time it saves!

Syndicated 2007-06-01 16:41:57 from Hexten

iTunes 9006 error?

Is anyone else experiencing stalled iTunes Pro downloads? I’ve got a bunch of files stuck in the download queue. Every time I reschedule them - either pause / un-pause or restart iTunes - it tries for a few minutes to download them and then fails with a 9006 error.

iTunes 9006 errors

Syndicated 2007-06-01 14:46:30 from Hexten

iTunes Plus

iTunes 7.2 is out. iTunes Plus (DRM free downloads) is available. So I’ve made a purchase: Placebo: Covers.

Wow, it’s easy isn’t it? So nice to be able to enjoy the integrated iTunes experience without worrying about infesting my computer with DRM crippled media.

As Kirk McElhearn points out the files do contain identifying information that can be traced (trivially) back to you. That’s fine by me.

Syndicated 2007-05-30 19:17:23 from Hexten


I’ve just released a Perl interface to reCAPTCHA. You should be able to find it here:


At the time of writing the US mirror of search.cpan.org doesn’t seem to have updated for a few days so if you need it in a hurry you can also get it here:



Syndicated 2007-05-28 15:11:42 from Hexten

Citizen Journalism

I’d like to make it possible for local people to set up blog space on the Nenthead community site. They’d post local news stories and interesting ones would be promoted to a unified news front page. Kind of like Advogato but for non-geeks.

Is anyone doing this kind of community focused citizen journalism? I see Wikinews but that’s more top down than what I have in mind.

Syndicated 2007-05-25 13:39:41 from Hexten

Drugs house shut after complaints

Drug House

Blimey, the complaints must have been annoying if they had to resort to drugs.

Syndicated 2007-05-24 14:13:31 from Hexten

4 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!