Saturday, November 28, 2009

Sani2C here we come ...

Finally! I have managed to wangle an entry into the Sani2C which is about 4 times oversubscribed or at least if feels like that and, in addition, those that did it last year have preference. I had actually given up on getting in when a friend of a friend of a friend twice removed decided that he had had enough and was happy to give his entry to me. All I had to do was do a substitution and pay vast amounts of cash (R7k). Yes, that is right over seven thousand rand to go live in primitive conditions and punish myself to the point of exhaustion for 3 days in the foothills of Kwa-Zulu Natal!

Having finally obtained an entry Carl decided to join me after having talked to other people about the Sani2C and been told by all and sundry what a great race it is. I think the Sani2C is a bit like children; everyone tells you how wonderful they are to have so the gullible go ahead and have them ... only to find out that it's damn hard work and they don't go back in where they came from! Now that they have both misery and children it is their duty, having been duped themselves, to perpetuate the myth so that, in time, they too can come to enjoy others' misery!

So first up Carl had to get a new mountain bike which he bought brand spanking new; what a wonderful feeling, I imagine, to ride a new bike as shown below.

... and the same bike, now two hours older and not so new anymore!

So that was it, first mud, first inelegant dismount which I missed seeing unfortunately.

I'm actually feeling a little bit apprehensive about the sheer volume of riding that I am going to need to do in order to have an even vaguely comfortable Sani2C. Oh well, nothing ventured nothing gained!

Sunday, November 22, 2009

Converting from Password Depot to KeePassX

Bear with me for a moment all you non-technical people but I need to show that while I haven't been blogging I haven't been a complete slug and I have actually been doing something.

"Password Depot" is a very good password management program and since I deal with hundreds of the blighters it is an application that I absolutely have to have. Unfortunately it doesn't run on linux and it is getting a bit tiresome to load up a windows VM for no reason other than to get hold of a password so I looked around for a nice multi-platform password manager and KeePassX fits the bill. The only problem is that the export from Password Depot can't be imported into KeePassX so I had to do it the ugly way and write an xslt that converts from Password Depot export format to KeePassX import format. Someone else is bound to have this issue so here it is for anyone else that needs it.

Note that this comes with no guarantees from me and especially since the data elements in the Password Depot format do not map 1 to 1 with those in the KeePassX format so I made a few assumptions which I have been happy to accept but which others might not.

You can get the code for the xslt here

I am going to writing an application which takes the export from the Password Depot, the xslt above and returns the converted format for importing into KeePassX but I haven't got around to it so in the meantime, if you have access to XMLSpy that would work fine for applying the xslt.

Note to anyone from Password Depot that might read this, the DTD that is exported doesn't match the XML that follows. I found the following issues that should be corrected when you haven't got anything else to do. It doesn't affect the export, conversion and import but it would be nice if the DTD matched the actual XML exported.



The DTD listed at the top of the XML export of the contents of a PasswordDepot database
will cause any XSLT attempting to use the exported XML file to fail. In order to correct
the DTD the following alterations to the exported XML file must be done.

Original File has the following line:
<!ELEMENT GROUP (GROUP*,ITEM ) >
but the line should read like this:
<!ELEMENT GROUP (GROUP*,ITEM* ) >
Note the additional '*' after ITEM

Original File has the following line:
<!ELEMENT ITEM (DESCRIPTION ,PASSWORD ,USERNAME ,URL ,LASTMODIFIED ,EXPIRYDATE ,IMPORTANCE ,COMMENT ,TEMPLATE ,CUSTOMFIELDS ) >
but the line should read like this:
<!ELEMENT ITEM (DESCRIPTION ,PASSWORD ,USERNAME ,URL ,LASTMODIFIED ,EXPIRYDATE ,IMPORTANCE ,COMMENT ,TEMPLATE ,CUSTOMFIELDS* ) >
Note the additional '*' after CUSTOMFIELDS

Original File has the following line:
<!ELEMENT CUSTOMFIELDS (FIELD ) >
but the line should read like this:
<!ELEMENT CUSTOMFIELDS (FIELD* ) >
Note the additional '*' after FIELD

Original File has the following line:
<!ELEMENT FIELD (NAME ,VALUE ) >

<!ELEMENT VALUE (#PCDATA) >
but the line should read like this:
<!ELEMENT FIELD (NAME ,VALUE ) >

<!ELEMENT NAME (#PCDATA) >

<!ELEMENT VALUE (#PCDATA) >
Note the addition of the definition of the NAME element

... a Whole month ...

Phew, a whole month has flown by without a post. No wonder I am starting to get snide remarks about my lack of writing but, to be honest, I think readers were a little spoilt while we were overseas.

Besides, life is a little boring at the moment. Haven't been overseas, fallen off my bike or been hijacked recently and let's face it, safety isn't the most exciting thing to write about.

Here in S.A there is a local comedian (Darren Simpson), at least he likes to think that he is a comedian, that does the most outrageous things sometimes. A couple of months ago during the Caster Semenya gender testing debacle and the tri-nations rugby competition he phoned up the Australian Rugby Board and tried to get them to agree to gender testing of the Australian rugby team because, as he put it, "they're playing like a bunch of girls". It was hilariously funny at the time but I was watching Australia play Ireland last weekend and the whole Australian team seem to be trying to grow mustaches; they all have this wispy bum fluff on their top lips and I just have to conclude that he touched a nerve and they're trying to show that they really are men!