Archive | Technical Tips

Random tech tips that might be useful to someone

Why do developers use outdated country lists?

Something’s puzzling me.

The ISO-3166-1 country code list is not a static thing. New countries and territories appear on the list. Others disappear.

In the 20 or so years I’ve been dealing with these things professionally there are many examples. The Aaland Islands (AX) for example, and South Sudan (SS) have appeared. Yugoslavia (YU) and the German Democratic Republic (DD) have disappeared. Guernsey and Jersey (GG and JE) were added to the list in 2006.

Yet many e-commerce websites I see have drop-down lists for “Country” in their address entry fields are missing many of the recent additions to the list.

Leaving aside the fact, that in some circumstances the list is just the wrong thing to use (for example airlines using the list to classify passport details — the ISO list is NOT the same as a list of nationalities), why would any website developer intentionally choose to use a seriously outdated list, when the current list, and announcements as to changes is easily accessible these days from ISO itself who even publish a change-tracking page.

This has real serious economic effects on individuals. Guernsey and Jersey residents often end up paying a surcharge of 20% on goods ordered over the web as a direct result of this

Now, maybe I’m being picky, but I think if you advertise yourselves as specialists in search engineering you ought to know what the correct ISO list contains.

After all, a website’s location and target audience does form part of the myriad inputs to Google’s magical PageRank algorithm, don’t they?

I was on the point of ordering a particular SEO firms service (I won’t mention them to spare their blushes, but I can see their name as I write this).

But when I got to the address form, guess what — the drop down list didn’t include an option for the particular country/territory the organisation I was planning to order the service for. So guess what — that particular SEO firm lost a sale.

Is YOUR site up-t0-date?


PS: By the way, although I just checked that everything that should be there on our own webforms, is,  to prove it,  here’s a little challenge, which will help us in our own quality control.

Now there’ve been some fairly recent changes to the ISO list — and the first person who identifies an instance of a missing country code in any of the webforms on WWW.CHANNELISLES.NET will win a CHANNELISLES.NET USB key (Note: this is a great little device — it’s got masses of storage, it’s in the shape of a real key, and fits on your keyring with your house keys so you always have it with you).

We’ll also offer another USB key for the person who submits the website (any website, anywhere in the world) that has the a drop-down list with the most missing entries.

In both cases we’ll use the latest version of ISO-3166-1 to compare.


Posthumous pardon for Alan Turing

Unless you are a Computer Science academic, you may not know something that was once a national secret of the highest classification … that it was Alan Turing, along with colleagues, who invented the first computer.

This was the work, carried out in secret in the 1940s from which all PCs, laptops and smart phones that we use today owe their inheritance.

His work during the Second World War at Bletchley Park, which culminated in the building of the code-breaking computer Colossus and breaking of the enemy ciphers, including “Ultra” and “Shark”, shortened the war by approximately two years and saved hundreds of thousands of military and civilian lives, both British and German.

It was only in the latter part of the 20th Century were the contributions of the codebreakers recognised, because of course, it was their duty to keep Mum.

And they all did.

Sixty years on from the early Fifties, it is almost impossible to imagine what our society was like, that it then persecuted such a national hero for who he was. That the police and the Courts used the law to administer dangerous drugs in attempt to change his behaviour.

If one thought about this, one might well conclude that “chemical castration” in order to attempt to change a person’s orientation is the State acting in a way that differs in degree but not in kind from some of the things the Second World War was fought to end.

If you live in the UK, Channel Islands or Isle of Man, or if you are a British Citizen resident abroad, please sign the e=


Microsoft Access 2000 (Office 2000 Professional) with PostgreSQL ODBC link on Wine 1.3 under Linux

These are the steps for installing the 11 year old Microsoft Office 2000 on a standard Linux machine without the need to run it under a virtualised Microsoft Windows installation (e.g. Virtual Box).

No doubt some wag will comment ‘why bother? .. just use LibreOffice‘. (Can you spell ‘l-e-g-a-c-y   a-p-p-l-i-c-a-t-i-o-n‘, sunshine?).

The fact is I did have to do it, and having invested a couple of days of my time in getting it just so, I think it is only good karma that I put this up where other people can find it, since I’ve relied similarly on other people’s work in the past and it’s time to pay it forward.

If this note just saves one person from having to work this out for themselves, or worse still, be unable to migrate from some old Windows version that doesn’t even work on modern hardware, then that will be worth the effort in writing this article alone.

It’s also worth noting, that most of messing around with DLLs etc NOT needed if you are not planning to use Access but just are still in love with say, Word 2000. The good news is that the standard version of Office 2000 seems to install and run reasonably well under the latest v1.3 incarnation of Wine pretty much out of the box. In fact for some odd reason, it seems to be very much faster to start under Linux that it is under its native O/S (W2K or XP) on the same hardware!

It seems to be Access that needs you to go the extra mile when running under Wine.

Prerequisites:  Wine v1.3 or later.

These instructions have been tested with Wine 1.3.20. Try it with earlier versions at your own discretion. Don’t blame me if your cat dies.

For Ubuntu 11.04 this means uninstalling the 1.1 version that supplied with the Natty distro, if installed.

sudo apt-get purge wine1.1

Now add the 1.3 repository

sudo apt-add-repository ppa:ubuntu-wine/ppa

Now click here to install Wine 1.3

On the Ubuntu start panel, do Applications-Wine-Configure.

A Windows 98/2000 style dialogue will appear.

Under the Applications tab change the version of Windows from XP to Windows 2000. This may not be strictly necessary, but it seemed to be the right thing to do. (If it works for you without, let me know. If this conflicts with other Wine installed programs that need XP then you may need to create separate wine-prefixes.)



You need the following three Windows DLLs installed. winetricks is a great little script that will pull them from Microsoft’s site, and install them, all in one operation.

(i) MFC42

/usr/bin/winetricks mfc42

(ii) MDAC28

/usr/bin/winetricks mdac28

(iii) JET40

/usr/bin/winetricks jet40


1. Insert the Office 2000 Professional disk in the CDdrive

2. From a terminal window do

sudo mkdir /mnt/cdrom && sudp mount /dev/sr0 /mnt/cdrom -o unhide

3. Open a Places window from the Natty panel (top start bar). You should see 09procd01. Browse it.

4. Double-click SETUP.EXE. This should bring up the familiar Office  2000 installation dialogue.

5. Select Custom Install and remove Outlook, and the obnoxious Office Assistant, adding in any extra converters etc you might think you need (you can always add them later). NB: If you think you need a talking paper clip you need more help than I can give you!

6. Download and install the Postgres-ODBC driver from the Postgres website at

Install psqlodbc.msi by double clicking it.WINE should now start the installation process for the Postgres ODBC drive.

Now test it’s all working by running Access, and doing Get-External-Data, Link Tables, and connect to the remote Postgres database.

That’s it.

Please let me know if this was useful for anyone …


Powered by WordPress. Designed by WooThemes