The Boolean Life
Things are either True or False. Or not.
By Olibe.nu

Almost every developer's project started as a way to fill a personal need.

Facebook was a geek's need to be social. Dropbox, another solution for two MIT students tired of emailing files to themselves to work from more than one computer. Let us not forgeting the need to create something unique, famous and a cash cow.

In the bid to scratch that itch, there is often a hidden pitfall: reinventing the wheel. Developers may spend a lot of time on a solution they think unique, tailored to solve their problem and by extension, several people's, only to discover that some other developer had come up with a solution to that problem and (because it has been around for a while) a better one at that! After all it's not about the founder's solution. It's about the user's problem.

This problem is quite common in Nigeria and other countries which for several reasons, the news of technological breakthroughs trickleS slowly in to the awareness of the indigenous experts.

So, what is CSV49? CSV49 forgives you for wasting productive human hours reinventing the wheel provided you prevent the next developer from doing the same. Definitely, you didn't think that long sentence was what CSV49 stood for did you? If you're one of the lucky, brilliant few who did, CSV49 is short for Comma Seperated Values For Nigeria (bearing in mind that lazy people use 4 for 'For' and Nigerians call Nigeria 9ja - not because they're lazy though).

I had this idea when I was writing an application to handle RFCs (Request For Comments). The application (to be put on Sourceforge) which I haven't finished is supposed to manage an index and collection of RFCs: a group of articles which define a lot of Internet Standards in use , proposed or obselete. That was when it hit me that is what Nigeria needs: Standards. And also after reading @MrBankole's write up on ePayments in Nigeria

It got me thinking. Nigeria has standards - the problem is whether they are written down somewhere for everyone to see. I then looked at developers I follow on Twitter to see what they're working on and the unwritten standards they use and from which others might benefit. I then saw that:

  • @celestocalculus co-founded and runs tiketmobile.com which was recently launched. As it grows, @tiketmobileapp may need a standard list of all Nigerian towns. The Federal Road Safety Corps (FRSC) has and uses this for our vehicle number plates but I guess it is not available so he will have to reinvent it!
  • @timchosen is working on campusconnect.com.ng for which he'll have to reinvent the list of Nigerian universities - not a pleasant task and I guess the NUC and JAMB already have this data.

A lot of other tweeps (such as @pheeque working on school-suite.com) I'm sure had to painfully reinvent something which already exists. More will still do so at the Co-Creation Hub @Cc_HUB this year.

What have I done? I created a CSV49 repo on GitHub and put up the few CSV49's I've been able to get:

  • Two letter codes for all the Nigerian states culled from the NYSC site. Lagos is now LA which with time will be popular and standard as NY for New York.
  • The Nigerian geopolitical zones. Also referred to in the states csv.

The fact is that he who wears the shoe knows where it hurts so I'll leave the rest to those who are currently working on a wheel to put it up when they're done. Nothing is too small.

  • If it took your time and can take that of others.
  • If it won't change anytime soon or get obsolete in the next second.
  • If it is Nigerian.
Then by all means, put it up!

You can start with:

  • Local government or City codes used by FRSC. (I wonder if the FOI can get this. @TexTheLaw should know).
  • Nigerian Universities. (FOI on the NUC and JAMB? @TimChosen, that's you).

And last but not least: Nigerian GSM and CDMA operators' phone number prefixes. I think @SuperSanusi can do that (since he recently mentioned the MTN range). It's so confusing now unlike when we all knew MTN was 0803, Glo 0805 and 0802 for whatever their current name is (mentioning it might trigger a change).

Look it up on GitHub here and help out the new generation of Nigerian developers. I'm still a newbie at GitHub so someone who knows git collaboration can step up so we can share the repo's administration.