Internet Service Plans In Nigeria with Pricing, Validity, Data Cap, and Activation Codes

Internet Access in Nigeria is improving. Today, there are many service providers to choose from. Some of these service providers are crappy in certain locations so it’s important to know what your options are. I was using Starcomms for a while and then switched to MTN. Not only was the service cheaper but it was much faster and reliable. While Starcomms says I have 20GB monthly data cap (though I never got to 2GB) I found that MTN’s service plan makes me more productive even though they have a 3GB cap. Recently, I had course to reconsider using Starcomms, but the painful memories of screaming at customer care for days and long hours I wasted uploading small files made me make a U-turn.

Don’t settle for crappy internet! Find the best for your location and lifestyle and be happy. Here is a list of providers and their service plans. I’ll update as I get more info. Please share your experience with internet providers so we can all learn.

Internet Service Provider Data Plan Data Cap Access Period (If Applicable) Price Validity (Days) Activation

Starcomms EVDO

Purple Always REN 20G 24 hours 15,950 30
EvDO 100 Hrs 20G 24 hours 6,500 30 *242**1234# to 37938
Requires another phone for activation 250 Hrs 20G 24 hours 15,000 90
Dail *121 for customer care Purple Business REN 20G 9am – 9pm 7,000 30 *245**1234# to 37938
Purple Night REN 20G 9pm – 9 am 5000 30
Friendly 8 20G 7-11 am & 7-11pm 6,000 30
Starcomms CDMA 1 Green Always REN 20G 24 hours 10,000 30
CDMA1 Green Business REN 20G 9am – 9pm 7,000 30
Dail *121 Green Night REN 20G 9pm – 9 am 5000 30
Green Corporate REN 20G 24 hours 8,000 30
Green 100 Hours REN 20G 24 hours 5,000 30
Green 250 Hours REN 20G 24 hours 10,000 90
Peak N/A 06.00-23.00 hrs 3/min
Off-Peak N/A 23.00-06.00 hrs 3/min


Monthly Plan 5G 24 hours 8,000 30 Text 101 to 131
HSPA (3.5GB) Nite 3G 10 pm – 5am 2,500 30 Text 102 to 131
Dial 180, Dial 181 for customer care Daily Plan 50MB 24 hours 500 1 Text 103 to 131
Pay-As-You-Use 24 hours 15 kobo per kilobyte
MicroSIM 3GB 24 hours 10,000 30


Always Max 5 GB 24 hours 10000 30 Text 12 to 127
HSUPA (3.5GB) Always Min 1.5 GB 24 hours 5000 30 Text 11 to 127
Dial 121 for customer care Always Day 150 MB 24 hours 500 30 Text 10 to 127
Always Micro Text 13 to 127
G300 4 GB 300 Hrs 15000 90 Text 21 to 127
G100 3 GB 100 Hrs 6000 30 Text 20 to 127
G Work 3 GB 8am – 9pm 6000 30 Text 31 to 127
G Leisure 3 GB 8pm – 9am, All Day Weekends 5000 30 Text 30 to 127


MultiLinks AnyTime 6GB 24 hours 9,000
EvDO MultiLinks DayTime 6GB 8am to 8pm 6,000
Requires another phone for activation MultiLinks NightTime 20GB 12am to 8am 3,500
MultiLinks MyTime 250 24 hours 9,900 60
MultiLinks MyTime 100 hours 24 hours 5,600 30
MultiLinks MyTime 50 hours 24 hours 3,400 30


Zain Day 50 MB 24 hours 500 1 *141*712*3#
HSUPA (3.5GB) Zain Lite 100 MB 24 hours 1,000 30 *141*712*4#
Zain Plus 1 GB 24 hours 5,000 30 *141*712*1#
Zain Max 3 GB 24 hours 10,000 30 *141*712*2#
Zain Premium 6 GB 24 hours 15,000 30 *141*712*5#


  • MTN’s most annoying issue is that once your service plan expires they immediately start billing you at 15kobo/KB. If you have about N10k credit, that would expire in no time so BEWARE!!!.

Git 101 – Introduction to Git

Getting Started with Windows

Download msysgit – Essential

You should use Git-
Not tested 1.7.1 cos it’s contributors only. But

Download SmartGit – Optional but best git interface I’ve found

msysgit comes with Git, Git Bash, Git GUI and more. Git Bash is essential to getting your hands dirty. It’s a linux-based shell (will look for the appropriate term) so all your favorite shell commands are available including SSH, cp, etc.
Getting Started with Linux

SuSE Linux 11.1

# yast --install git

The above should do it. If there are issues, then you probably need to enable your online repos.

SmartGit also works on linux so you should get it


sudo apt-get -y install git-core gitosis

Git Clone
As the name implies, it creates a clone of an existing given repository.

You can try it out by launching Git Bash or your favorite linux terminal.

# git clone <repo_url>

One lovely thing about git is that the flexibility of <repo_url>. Git supports a wide range of protocols including ssh, git, http, ftp, local filesystem, etc. This means you can clone just about any git repo once you have access.

Git Init
This is for creating a new repo. e.g. on your local system.

# mkdir <my_repo>
 # cd <my_repo>
 # git init

Git Add & Commit
At this point I’m assuming you have a repo to work with and you’ve updated or added some files. So you want to update your repository with the changes you’ve made. So where do you start?

First thing you want to do is stage your changes. What staging means is telling git which files you want to commit.

# git add <file>
 # git add . (all files)
 # git add *.ctp

This is great if you want to commit just a few files. Staging is for both versioned (files already in repo) and unversioned files (files not added to repo).

After staging, you can then commit your files.

# git commit -m "<Description of Changes>"

This records your changes to your local repository. Now you can code some more.

Git Remote, Push & Pull
Now that you have committed your changes to your local repository, they won’t do you much good until you have updated your central repo/site. And thats what remote, push, pull are form.

Remotes are other copies of your repo. They may be local or online, or on your local server. Git supports more than one remote which is another lovely thing about it.

Lets assume you cloned your repo. This means you already have your remote set (its called origin). To check your remotes

# git remote -v

So how do you send your changes to your remote server?

# git push origin master
 # git push

So how do you get changes others have uploaded to your server?

# git pull origin master
# git pull

Note that origin is the name of your remote and master is your branch.

If you started your git repo from scratch (git init), then you don’t have a remote setup. To add your origin remote

# git remote add origin

Git Branches and Tags
Please read ProGit. A summary won’t do it justice especially cos u’re already have an idea about branches and tags.

Git Submodule
At a point, you may want to have a repo in a repo. Thats where Git Submodule comes in. For example, you what to add debug kit to your cakephp project.

Lots of people hate submodule cos u of some extra work it adds if you update your plugins regularly. Note that it is absolutely essential you understand the pitfalls of submodule before using it otherwise you’ll … urhhh … end up in a pit.

Ignoring Files
There are two main scenarios where you’ll like to ignore files. First scenarios is when you have files that are inevitably in the project directory but are not part of the project. e.g Temporary files, cache, session files, IDE config files etc. These are files that you don’t want to add to the project at all. To achieve this you can use a file which should be in the root of your project .gitignore. It should contain a list of files and directories that you what ignored.

NOTE that this does not affect versioned files. If you what to ignore versioned files, you’ll have to remove the file from the project first before git will ignore it.

# git rm <file>

The second case is a file does belong to the project but you don’t want git to notice changes to the file at all. For example, in CakePHP, app/config/core.php and app/config/database.php are two very essential files but if you commit your local copy of these files to your main repository/production server you’ll most likely get angry calls real soon from your team-mates or clients. The solution is simple

# git --update-index assume-unchanged <filename>

This totally ignores changes to these files. So if you all commit and push all changed files, the files you’ve applied this to will be ignored. 😀