Tuesday 24 November 2009

Outraged and Rubbish

I learnt an interesting fact from one of the unicef guys today.  It's 20 years since the introduction of the UN Convention on the Rights of the Child, commonly referred to as the CRC.  See  http://www.unicef.org/why/why_rights.html.

Since that time every country in the world has signed up to the charter except two.  Somalia was one and they signed on 20'th of this month.  So the only country which has yet to sign is... The United States of America.  For a nation which will go to war in the name of democracy it beggars belief that they are unable to formally acknowledge basic human rights for children.

Rant over*


Otherwise, we have inched forward again today.  Still hoping to meet with the head of one of the lead agencies.  I'd feel happier if I knew we had some 'senior managemnet buy in' - to use the parlance of the commercial world.

We have a workshop planned for tomorrow where I would like to come away with some agreement on the codes we are going to use in the database and then Jim and I are off on a  two hour boat ride to  Eydhafushi.  The plan was to install a test system with the social workers  who I met there last month.  We learnt today that they have been posted to an island in another atoll, so we have new people to meet and hopefully they will be enthusiatic enough to want to act as testers and provide feedback.  I also want to check if the internet connection speeds are going to be adequate out there, the suggestion being that they may be quite slow.

Jim is working through spreadsheets of codes and there are a few changes to the system going to be needed as a result.  We've dropped about 3 pick lists and gained at least one new one.  This is living the agile development dream.




The local dust cart, which coincidentally is called Ufili (u fili up, we empty out).  Anyway, today, I for one am feeling rubbish.








* In the spirit of citing both sides of the story, the following link offers an explanation of why the the US haven't ratified the charter http://www.unicef.org/crc/index_30229.html

Timing is Everything

Yesterday's leaden grey skies cleared and woke to more usual tropical paradise weather with clear views from hotel window of dhonis crossing between Male' and airport island.

Fixed more bugs without creating any new ones today.  System almost ready to take to Eyadafushi on Wednesday afternoon.  We've been given a document by unicef describing child protection processes in use or to be implemented (I'm not quite clear which), which lists categories and sub-categories for abuse, delinquency, domestic violence, behaviour,etc.  We have a workshop planned for Wednesday morning with social workers and police to agree on codes to use in the database.  These look like the ones to use.   Then all we have to do is map the 87 codes from the social workers' existing database and an as yet to be determined number of offence codes from the police database to these new ones. 

Malcolm added a logging function to the system so we could accurately measure times for login and to load a case record.  The connection from unicef was very slow this afternoon . For a while I thought the server back in Sheffield that we're running against had died.  The logging software highlighted what I suspected, which was that the addresses table had got so big with the upload of the social workers' data that weprobably shouldn't treat it as a look-up list any more.  We preload the look up data on successful login to the local PC, which saves a lot of data activity everytime we open a screen which references look up data, e.g. in combo boxes.  However, the addresses table now has around 6000 records in it and is likely to double in size when we pull in data from the police database.  We still might preload these data but do so as an asynchronous background activity while the user is viewing their current tasks and reading any new messages (or making a coffee!)

Last night's 7 hours sleep doesn't look like getting repeated tonight.  The aircon in the room is noisily struggling and failing to keep the temperature down. 




Morning rush hour traffic on the way to the airport and Hulhulmale

Monday 23 November 2009

Match Result

Maldives lost but locals are stoic in defeat.  It was only a friendly before the South Asian Football Federation Cup, which Maldives won last year, beating India 1 - nil.

Huge rain this morning leaving streets in central Male' flooded under a few inches of water, which had drained away by the afternoon.

Almost got to meet the head of one of the lead agencies today but she somehow managed to get into another meeting in the hour which elapsed between her agreeing to us and our arrival!

Otherwise a somewhat frustrating day with .net, fixing some bugs and creating a few new ones.  Also some distrurbing news that the internet connection from the islands is only likely to be 128kb/s and in any case the maximum available (at extra cost) is only 512 kb.  Running the system against a database on our server back in UK from both the hotel and unicef office has proved disappointingly slow to load and save a case record and its associated data.  So much for vb.net architecture using disconnected datasets.  I'm starting to wonder just what sql and data are being moved about behind the scenes.



A disconnected dataset

Saturday 21 November 2009

Mango Milkshake Island

Finally got to sleep around 3:30 this morning. The valerian must have kicked in because I was woken at 7:30 by the alarm and feeling drugged. Decided to give going to the gym a miss and have an extra half an hour. Next thing it was 8:25 and I was due to go to breakfast with Jim at 8:30. Fumbled some clothes on just as he knocked on the door and wobbled, dazed, downstairs. I'm going to take one earlier tonight.


There is a lot of excitement on Male' today. We have a big football match, a friendly between Maldives and Hyundai, Korea, and the Korean team are staying in the hotel. I think they may have Germanic origins as two of them were washing the team kit in the shower by the pool this morning and then left it out to dry on the sunbeds.


Jim and I spent a couple of hours working and then had a swim and a short siesta before heading for the ferry to 'mango milkshake island', more commonly known as Vilingile. The ferry terminal is at the opposite corner of the island to the hotel and I was able to show off my newly found navigational skills to Jim who was suitable underwhelmed. The ferry is 3 ruffiyaa each which is about 6p so I gave the cashier 2 5Rf notes and she gave me 3 tickets and 1Rf change but that was sorted amicably. I'm thinking it's time I learnt to count from 1 to 10 in dhivehi. New task for this visit.



Dhonis in Vilingile harbour

















Dhonis in Vilingile harbour












Container ship waiting to unload










Beach on Vilingile











Lunched in resataurant by ferry terminal, surrounded by plants and next to a small fish pond with 1 fat fish, 1 long thin fish and a terapin. Served by an Indian waiter who wanted to come to London, which I said was ok because I lived in Sheffield. Lunch was beef fried noodles with lashings of chilli sauce and a Mango Milkshake (of course), which was as good as the previous one I'm pleased to report.

Then we walked along the dock and I photographed boats and we sat on wall and watched the world go by, when a couple of police who looked about 18 came up on a scooter for a chat. They wanted to know why we were here and we told them and asked about the big match and I asked who was going to win and of course they said Maldives, and they scooted off smilins. We saw them again later and they gave us a wave. It's always good to keep in with the local law enforcement officers.



Mosque on Male' near Vilingile ferry terminal



Boduthakarufaanu Magu (Marine Drive), Male'  Note the Tetrapod sea defences.













New building on Male'
















Then we got the ferry back to Male' and completed the circuit of the island (just about) by coming past the docks and markets. Distinct absence of rambutans (a fruit similat to lychees) - most disappointing. Enough scotch bonnet chillies to set the world on fire. It's just the same as in West Africa. Why does anyone need that many scotch bonnet chillies?


Apparantly the Koreans are playing tonight and tomorrow, so the dining room will be full again in the morning.

Friday 20 November 2009

Return to Male'

Arrived on Male' with Jim this afternoon.  The plane was pretty empty on the Dubai to Male' leg and I took the opportunity to stretch out on the 4 seats between the aisles for an hour, which was wonderful.  Other than that the journey was notable only for the tedium.


Checked in at Mookai again, unpacked and went for swim on the roof and listened to call to prayer from mosques across the city. In two of them the muezzin seem to be harmonizing. Took photos of sunset. Just georgeous scarletts and crimsons and yellows.
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 There was a slight breeze this evening and so there is none of that sultry, close feel characteristic of the tropics. The hotel restaurant finally managed the chicken curry, which was worth waiting for and I joked with the waiter about whether the chef had been paid yet. Maybe he has and so the full menu is back.  There appears to be an overseas football team staying at the hotel. 
 
Time to sort out sleep patterns.  Bought some herbal sleeping pills in Manchester whose active ingredient is mainly velerian.  I'm sure that the stuff used in gothic novels to knock out the clueless visitor to the remote house on a dark and stormy night!  We'll see if it works.  Day off tomorrow anyway.

Monday 16 November 2009

Bothersome Datasets

Of the half dozen agencies who will use the CPD, there are two who will provide the bulk of the information to be stored in it. Both already have databases which record information relating to child protection, delinquency and other behavioural issues and gender based violence. One of the agencies plans to replace their existing database with this new one, whereas for the other, the CP database will run in parallel with their own, holding more detailed information about Child Protection cases.

Both database have been in existence since the early 1990s and the suggestion is that about 75% of the cases in the one database are also recorded in the other. The remaining 25% of the former would be cases of say domestic violence or bad behaviour which were only investigated by one agency. It seems possible, though it has yet to be confirmed, that there may be cases in the other agency's system which should be migrated to the CP database and which have no equivalent record on the other system.

Merging datasets is a challenge at the best of times; where fields overlap you have to make a decision which data to use, based on factors such as quality or completeness. The task which lies ahead would be daunting enough if that were the only issue. We have two additional challenges to overcome:

1) One dataset is recorded in Dhivehi, whilst the other is in English

2) There is no common reference. Each database has its own case reference number for uniquely identifying a case, so the same case in the two databases have different reference numbers and neither holds a cross reference to the other. The people in the case, or at least some of them will be the same. However, while one system has links to the National Registration database and records the National Id of case subjects, the other system doesn't, so we can't use that to match people across the two datasets. We could attempt a match on names, although variations in spelling are not uncommon, and one would expect there to be a start date for the case which would at least be similar. Nevertheless, it looks like this is going to require a large amount of matching cases by eye unless there are documents or some other information providing a common unique identifier.


Currently I think the best option is to import the two datasets independantly and stored them with their legacy case identifiers, without making any attempt to match cases. It's probably more imprtant we can match people at some stage as this will be allow users to see what cases a person has previously been a subject of.






The 2007 workshop on Bandos

Monday 2 November 2009

Call to Prayer


I love the Islamic call to prayer. It occurs five times a day and I find the chanting of the muezzin immensely relaxing. The first time I heard it, I was workling in Saudi for a few days, installing a Computer Aided Design system. Things had not been going well. We couldn't get the graphics on the screen properly (this was in the mid-80's when this stuff was cutting edge and difficult). We were trying to debug code when in fact it was a hardware setting on the graphics card. And then the call to prayer started and for a few minutes everytning in the world seem tranqil and at peace.

Whenever I hear a call to prayer now, I think back to that moment. These days, many mosques seem to use a recording, which isn't the same as hearing the voice of a real person singing live.*


There is a mosque close by the hotel and this video clip was taken from the hotel roof last Friday, when we were once again grappling with some software issues, whilst sitting by the pool. Different place in the world, different programing language, different appliction, same frustrations. Plus ca change....




*Strangely enough, just as I was finishing this post, there was an item on Radio 4 breakfast news about the use of recordings of the call to prayer from mosques in Cairo.

Sunday 1 November 2009

Eydhafushi, Baa Atoll

Up early to get launch from jetty #1 outside police HQ to Eydhafushi on Baa Atoll, about 100km to the NW of Male'.


Jetty No. 1, looking towards the main docks and markets


Leaving Jetty No1, Police HQ and the Presidents Jetty in the background.









The sea was pretty calm all the way, even when we left the protection of N Male' Atoll. I feel slightly uncomfortable in the main channels between the atolls.  The ocean drops away to around 2000' in depth and it feels like a very small boat to be in such a large expanse of water.





Our high speed launch























Went past Bandos. Saw a dolphin. Thought about a few problems relating to the database. As we approached Eydhafushi we saw ominous dark clouds ahead. As we entered the shallower waters off the island, there was quite a bit of chop and it felt like the boat was being driven over large cobbles.



Dhonis, traditional Maldivian boats











Mannan was waiting for us when we arrived and after dropping bags of at guesthouse, we walk round to police station for a second breakfast: roshi, curry, tuna/whitefish and of course betelnut to finish.

Discussed training and roll out to police and social workers and agreed we needed to rework the whole project plan. We need to train the two groups together to give them the opportunity to develop new processes. We can't train until we have migrated at least the current case data from social workers system and so it looks more like the training will now be put back until early 2010.


Met with two of the social workers from the island and showed them the system so far, to what one can interpret as great enthusiasm (emotion can be hard to detect in Maldivians)


Checked out training facility at Teachers Resource Centre and learnt how to write Baa Atoll in Dhivehi.



Baa Atoll written in Dhivehi.  The text runs right to left with vowels (filis) above and below the consonants.  Baa is also one of the letters of the Thaana character set.






We had been invited round to the police station in the evening for a barbeque. Going past the harbour area on the way there, we watched crabs scurrying about and lightening across the water. 



Eydhafushi harbour at night











 It was halloween back home and on Eydhafushi we watched the silhouettes of fruit bats fly across the face of an almost full moon.




Ryan and Nancy sitting in traditional Maldivian outdoor seats



 
 
 
 
 
 
 
 

During the night there was a typical tropical rainstorm where the gods just emtptied bath loads of water onto the ground.  Sunday morning was clearer skies, fierce heat and a lot of humidity. 



More dhonies in unfeasibly blue water











A brief visit to see the social workers at 8am, then breakfast at the police station and the boat back to Male' at 9 o'clock.



Eydhafushi main street











We passed a pod of dolphins shortly after leaving Eydhafushi and as we got closer to Male' we made a small detour to avoid a storm, when things started to get quite exciting.


Grand Friday Mosque, Male'

A searching problem

In any database system which records details about people it's important to be able to search against a person's name as the primamry means of pulling back their record. A large database may contain records for people having the same name in which case you would then refine the search with other details such as date of birth.
In English and most western languages there are few varitions to the spelling of a name


In the Dhivehi language there can be subtle variations to the spelling of a name, which can make searching for an exact match a problem. To begin with words in Dhivehi can be written across five lines, with the consonants in the middle, vowels above and modifiers or accents above or below. A particulr problem which was described to me this week by one of the police IT guys is the use of the dot. The dot was introduced into written dhivehi about 30 years ago and is used to subtley modofy the sound of a letter, think of the grave and acute accents in French but more so.

If they apprehend someone and take down his name incorrectly by missing a dot, they may not find him in the database. For instance if they apprehend John Smi.th but search for the equally common name smith, either he will not appear in the results list or they will match on the wrong person. John Smith may have no previous convictions, whereas John Smi.th may be a serial offender. At the very least the police end up creating two records for the same person and in the worst case, he gets a sentance less than he otherwise might.

This problem isn't unfamilar in databases of English names and a way round it is to do wildcard searches where you include a character which matches against any single character or string of characters. So a seach for say Sm*th or even Sm* would match on Smith and Smi.th. Clearly the less specific the search, the greater number of false matches. if we just searched for * we would find everyine in the database!

The problem is further compounded in Dhivehi when the first and last names may be transposed, although once again this isn't entirely unfamiliar in UK databases which store the names of, in particular, people of asian descent. It is normal to store first, middle and last names in separate fields in a database, in which case searches have to match on say

Firstname = 'Smith' OR lastname = 'Smith'

If we have to include middle name(s) in the search, then the search becomes correspondingly more complex and will take longer.




Pigeon and Pig.eon












For this reason, the police system stores the full name in a single field and they have suggested we do the same, which is an idea that I'm not enirely comfortable with. In a large database, doing wildcard searches instead of exact match searches is going to impose a performance overhead. Then again we are only looking at a dataset of around 1000 cases a year since the early 1990s.

Every Maldivian has a national ID number, assigned at birth and carries an ID card which inlcudes their full name in Dhivehi and English, their 'permanent address', which is the address when they were firsr registered, a photo and more recenlty, fingerprint data. The national ID database stores names as first, middle, last and common name, the latter being the name the individual commonly uses. So the police approach of a single name field is also at odds with the national ID database.

The final consideration in determining a solution to this problem relates to the merging of data from the police and social worker databases, which I intend to blog about separately.