15 October 2017

Hafiz Adewuyi

I learned French in four months using Duolingo

Mid-June 2017, just a few days before leaving Lagos for Enugu, I installed the Duolingo mobile app on my Android phone. Almost every day from that time till date, I have spent 20 minutes or more working through the lessons on the app. There are tons of languages you can learn on the app. I started with French being that it was the easiest for me to pick up (previous exposure).

Last Sunday (October 8, 2017), I got to the end of the French course. I remember feeling like, "Is this it. I thought there'd be a worldwide drumroll in my honour"? Meh!

My plaque for completing French on Duolingo
Duolingo names Hafiz French master

How did I make it to the end?

The Duolingo mobile app and platform is an incredibly well-designed product which has tons of features which make it quite easy to complete some lessons every day. Here are some of them:

Duolingo daily streak
Duolingo daily streak
  • A daily streak. When you first install Duolingo, you tell Duolingo how much time you want to spend learning language(s) in a day. Using that data, they set a daily goal for you in the form of XP (experience points) you must gain each day to maintain your streak. Your streak will increase by one for each day you achieve your goal. Also, you will lose your entire streak if you fail to achieve your goal for even one day, irrespective of what the previous value was.

    So, the more you do, the more you want to do because no normal person wants to see a 20-day streak become zero, due to one day of laziness. For days when you absolutely can't put in the time to reach your goal, the app has this "Streak Freeze" feature which allows you buy your way around it. You can buy a streak-freeze at 10 Lingots per day and this, as the name implies, will help freeze your streak instead of having it fall back to zero.

    To help you estimate the value of a Lingot (Duolingo's local currency which is earned through achievements), I had about 250 Lingots at the end of the French course, and that's only because I've been extremely stingy with spending them on the in-app store.

    In the four months of learning French, I lost my streak two times. Luckily, that didn't dissuade me from getting back on track. Duolingo cunningly tried to have me give up cash (about 1000 Naira or $3) to reclaim my lost streak (which was around 43 the first time I lost it; painful). The offer was really tempting but not tempting enough for this here shrewd. Is a huge Duolingo streak going to increase my bank account balance or my salary?
  • Reminders in the form of emails and push notifications, telling you how far you've come and how you only need to do a little today to maintain your streak
Duolingo daily French reminder email
Duolingo daily French reminder email

  • Groups. Each Duolingo group holds a maximum of 15 learners of a particular language. Each group has a timeline which features the key learning achievements of each of its members. The timeline is visible only to members of a group and users can join only one group at a time per language.

    To simulate competition, each group has a leaderboard where the person with the highest number of XPs at the end of the week is proclaimed the winner. Several times, I had to cover more lessons than I really cared to, just so I could be crowned the French king of the week in my group.

    Also potentially motivating are the push notifications triggered by the mobile app whenever someone in your group pushes you lower on the leaderboard by getting more XPs than you have that week.
Someone just passed you notification in Duolingo
Someone just passed you notification in Duolingo

  • Double your lingots. Even though my Lingots are largely useless in real life, I imagine it could be a major bragging right if I'm able to accumulate them to a certain level. Duolingo has this feature where at the start of a week, 5 Lingots are deducted from your wallet. If you achieve a 7-day streak after the deduction day, you get 10 Lingots back at the end of the week. If you don't, you get nothing back, effectively losing 5 lingots.
Duolingo's Double or Nothing Lingot wager feature
Duolingo's Double or Nothing Lingot wager feature

Am I now a French expert?

Far from it. Yes, I can read everyday French phrases much more easily than I could when I started the course. However, it is still quite difficult for me to follow along with real-life French speech that is not intentionally slurred. I imagine I'd have to live in a French-speaking part of the world and write more than a few full-length articles in French to even be able to say I'm an intermediate speaker of French.

What's next?

As a typical human with an insatiable thirst for fulfilment, I moved on immediately to Spanish. I've found Spanish to be quite similar to French while still being sufficiently different as to be challenging. I've been consistent and in the one week since last Sunday, I've completed about ten lessons. So far, I've learned basic words in categories like Food, Animals, Verbs, Pronouns and Possessives.

How is the Spanish coming?

Learning Spanish is a lot more difficult for me than learning French was and I've put it down to the following reasons:
  • There was French in my academic curriculum both in primary and secondary school. A lot of things stuck to memory during that early exposure, so there wasn't as much learning going on for French as there now is in Spanish
  • An inordinate amount of English words have a French equivalent which is so similar in structure as to be approximately identical. This makes it easier to guess the meaning of new French words and also to hazard guess the French equivalent of many English words. It also makes it easy to remember the French-English mappings. For this reason, I was able to TEST OUT of several lessons which accelerated my rate of completing the course.

    Duolingo's TEST-OUT feature
    Duolingo's TEST-OUT feature
      A Duolingo lesson consists of one or more quizzes which you normally have to complete one after the other. Duolingo's TEST OUT feature allows you to save time by skipping the individual quizzes and just doing one quiz that combines concepts from all the quizzes in that lesson. Of course, you must be pretty proficient at the concepts being introduced across that lesson to be able to pass the TEST OUT quiz. There are no hints like in a normal quiz and you can fail a maximum of four questions before you're kicked out of the test.
    I've covered ten Spanish lessons in the past week and in that time, I've not been able to test out of even one of them. It's really painful to work through a lesson which has 3 to 7 quizzes with 17 questions per quiz when you can just do one super quiz with the same number of questions. But I stand no chance at passing the test out quizzes in Spanish (no adequate background).

    Random fun fact. For some reason I've not bothered to research, Spanish questions are prefixed with an upside down question mark, in addition to the regular question mark at the end of the question.

    Spanish: ¿Tu hablas espanol? 
    English: Do you speak Spanish?

    Why am I learning new languages?

    I really don't have any other reason than that it helps me feel accomplished. This is a necessary ingredient for good mental health.
    Read More

    7 October 2017

    Hafiz Adewuyi

    How to block/deactivate your ATM card in Nigeria without going to the bank

    UBA (United Bank for Africa)

    The block card feature is available on the UBA Internet Banking platform. To block your UBA ATM card via the internet banking platform, log-on to the platform and select Self service to request for your card to be blocked.

    Alternatively, you can block your UBA ATM card by sending an email to UBA (CFC@ubagroup.com). The email must contain your NUBAN account number and a message requesting that your card be blocked.

    GTBank (GTB, Guaranty Trust Bank)

    You can block your GTBank ATM card electronically through any of these means: via ATM terminals, Internet banking application, Mobile app, SMS banking and on the GTWorld app.

    To block your ATM card through GTBank SMS banking, simply send the syntax “HOTLIST NUBAN” to 08076665555 from your registered mobile number with the bank. Please, note that NUBAN should be replaced with the 10-digit account number linked to your card.

    Alternatively, you may contact GTConnect (GTBank's fully interactive self service contact centre) on: 0700GTConnect (0700482666328), 01-4480000, 08039003900 or 08029002900 to request for your ATM card to be deactivated. At the voice prompt, press 1 then zero (0) to have your call transferred to any of GTBank's customer service representatives.

    Finally, you may also log on to your internet banking profile and follow the steps below to deactivate the card:
    • Click on the Cards icon and then the Card hotlist link
    • Select Card Number and Request Reason
    • Input secret question answer, click Continue and input token generated code
    • Click Submit 
    A pop up screen confirming the deactivation of your ATM card will be displayed.

    Fidelity Bank

    You can block your Fidelity Bank card via Fidelity Instant (USSD) Banking. Just dial *770*911# on your registered phone and follow the prompts. When you dial the code, a list of all your active debit cards will be displayed to you and you can select which of your cards you would like to block. The process takes a very small amount of time and will not cost you a dime.

    Alternatively, you can block your Fidelity Bank ATM card by contacting the Fidelity Bank customer service center via email (trueserve@fidelitybank.ng, true.serve@fidelitybank.ng) or via any of its social media profiles.

    Zenith Bank

    To block your Zenith bank ATM card using the mobile app, please login to the Zenith bank mobile banking app and follow the steps below:
    • Click the menu bar and select Cards and Cheques
    • Under TYPE select Deactivate Card 
    • Enter the reason and click on continue.
    Should you need further assistance or clarification, please call 012787000, 014647000, 012927000 or 070ZENITHBANK.

    First Bank

    To block their First Bank ATM cards, customers are required to contact First Bank customer care via email (firstcontact@firstbanknigeria.com), phone call or by a visit to any First Bank branch.

    FCMB (First City Monument Bank)

    You can block your misplaced/stolen FCMB ATM card if you have been profiled on the FCMB telephone banking platform.

    To get profiled, you will be required to call the FCMB contact centre on 07003290000 and request to get profiled on the interactive voice response which enables you to generate a pin that will eventually help you block your card, make transfers among several other services.

    Stanbic IBTC Bank

    You can block your Stanbic IBTC bank ATM card without going to the branch, either via USSD or via SMS.

    To block your Stanbic IBTC ATM card via SMS, simply send “Blockcard NUBAN” to 30909 via your registered mobile number. Please, note that NUBAN should be replaced with the 10-digit account number linked to your card.

    To block your Stanbic IBTC ATM card via Stanbic USSD banking, please follow the steps below:
    • Dial *909#
    • Choose my bank
    • Choose service requests
    • Choose block card

    Union Bank

    You can block your Union bank ATM card via SMS. To do this, send "BLOCKCARD NUBAN" via SMS to 20123 using the phone number registered on your account.  Please, note that NUBAN should be replaced with the 10-digit account number linked to your card.

    Access Bank

    You can block your Access Bank ATM card through the updated Access Bank mobile banking app.

    Keystone Bank

    A self-debit card deactivation can be carried out via the Keystone Bank Internet Banking Platform. Keystone bank also ensures that debit card blocking requests are treated promptly when received via email (contactcentre@keystonebankng.com).

    Sterling Bank

    You can block your Sterling Bank ATM card either via Sterling Bank internet banking or by sending an email to Sterling Bank (customercare@sterlingbankng.com).

    Wema Bank

    Wema bank cards control is arguably the best in the Nigerian banking industry. You can deactivate your ATM card using either the Wema Mobile app or Wema Internet banking solution. Via either of those platforms (web/mobile), you can also activate your ATM card for any number of countries of your choice within a specific date range. Finally, Wema bank's flexible card control feature also allows customers deactivate/activate their ATM cards for use on different transaction channels e.g ATM, Web, POS.
    Read More

    24 September 2017

    Hafiz Adewuyi

    How I became a Software Developer in Nigeria

    I feel like most developer stories I come across are about people who have had a passion for computers since from an early age and were fortunate to get into programming in their childhood or teenagehood. My story was not quite like that, so I thought I'd add my voice to the pool and maybe encourage someone out there to reconsider their ineligibility for this career path. I think my story is very far from typical. Here we go.


    It's funny that even though I also got the opportunity to be exposed to computers before 10, you can say I was not curious enough of a kid to want to figure out what made this thing work. Instead, my curiosity led me in a direction that saw me doing other things like:

    • Playing PC games installed off of pirated CDs from computer village, e.g. Total Games 2000 (which had a massive set of tacky but fun 2D games) and Age of Mythology
    • Chatting with random people on Yahoo messenger and other online social websites that pre-date Facebook
    • Trying to understand myself and feelings and address my social anxiety by drowning in a sea of self-help articles

    What the heck is programming?

    Bolu. He was my friend and coursemate in UNILAG and I don't think I even had a concept of what programming was until that very first discussion on it with him in my first-year room at Shodeinde Hall in UNILAG.

    I think I might have asked him what the heck this programming thing he was always on about, was. I remember him trying to explain the concept to me by asking me to think about algorithms in terms of how one would go about instructing someone else to make a cup of tea. Anyway, despite his best efforts, Bolu was unable to get me to understand programming enough to think it was something I should try my hands on right away.

    My first encounter with code

    While most people say their education in Nigeria was a waste of time, I can't. My Electrical-Electronics Engineering major required me to complete two different introductory courses to programming with C++; one in the second year, the other in the third year.

    Each time before second-year when I discussed programming with Bolu, it was always with a dread that was waived with the thought: "we'll cross the bridge when we get to it". The general belief amongst my classmates was that programming was so rocket-sciency that it took Bolu's level of genius to tackle, so I couldn't really be bothered.

    Of course, when the second year came around, I was (like 90+ percent of my colleagues) not in the least prepared for the introductory C++ course. To make matters worse, halfway through the semester, even though I attended lectures, I found myself not understanding concepts even as simple as variables and operators. I don't think I was paying much attention, perhaps, because of my defeatist mindset.

    A few weeks before the first programming test, I must have gotten into panic mode and beckoned to Bolu my friend to come rescue me. He agreed and he came around to my room in Jaja Hall to walk me through the concept of functions (methods) in C++. I think we chose that concept because despite my best studying efforts, I couldn't grasp the concept and why we even needed them at all. To me, they just existed to make my life harder in the name of sophistication. Of course, I think way differently now.

    Luckily for me, Bolu successfully demystified the concept of functions that fateful afternoon and you can say that from that point onwards, my life never remained the same.

    Finding my passion for programming

    After the session with Bolu on functions, I took it upon myself to write my first function in a practical scenario. The first program I ever started and completed all on my own (if my memory serves me correctly) was a C++ console application to compute a student's semester GPA, given his grade in each course and the weight of each course. While making the program, I created my very own first set of C++ functions and suddenly, it all finally made sense to me.

    A programmer in the zone
    When you finally understand the language of the computer

    The beauty of achieving this milestone was that it not only helped me finally see how functions work. No. It also completely shattered my previously strongly-held defeatist stance towards programming. I finally was able to conceptualize the possibilities ahead if I could get a computer to help me out by writing simple instructions. This realization fired up my curiosity and from that moment on, I spent most of my spare time studying the programming textbook and trying out what I was learning, on my laptop.

    Needless to say, I aced my first test and eventually came out tops in the class at semester end, both in the second and third year. Writing those programming exams made me feel exactly like my maths exams in high school used to. And funny enough, the feeling is similar to that which I get when playing addictive games on the PC. I'd say what is common between those two exams was how confident I was in my being able to tackle any question thrown at me and how much I actually enjoy the process of getting thrown a totally new question, reading and digesting it, then going ahead to apply my skills to find a solution. The flame of passion was ignited.

    Way before the end of my third year, I had personally completed the C++ programming textbook cover-to-cover. This was the only course in my five years at the university where I had enough motivation and interest in the material to pre-study, let alone, cover an entire textbook way before the exam period. The first and only time my lectures felt like revision sessions.

    I was well-renowned by my colleagues as one of the programming dons of the class, perhaps only second to Bolu the one who was born programming. I like to think that this respect formed part of my drive to do so well at it. In fact, I remember one troublesome classmate of mine expressing his contempt for me for being so confident on the day of the third year programming exams as to be studying for another course. Meanwhile, he and most other guys were busy rehearsing code they had crammed, hoping they would have the chance to regurgitate at the exam hall. I really never understood the idea of cramming code but somehow, people were able to make relatively good grades by taking that approach.

    During my third year, I also applied my new found skills to create a C++ console application that was pretty challenging for my level. Looking back now, I think doing it might have helped me develop some debugging skills early on. The idea of the program was simple. It could display any number from one (1) to a billion in words. So, if you enter 5467 into the console, it prints out "Five thousand, four hundred and sixty-seven". That was my proudest creation ever and I was always eager to show it off to anyone who cared to listen.

    Losing it

    This is the saddest part of this article, and it honestly makes me wish I could go back in time. But as there's no need to cry over spilt beans, let's just go ahead to see what happened after what was arguably the best year of my undergraduate life.

    The third-year course was the final programming course in my curriculum as an elect-elect student. So, even though I had a passion, I really didn't have anyone push me hard enough to keep developing my skills outside of coursework. Perhaps, I even felt like I had arrived and I wasn't looking for anything that would displace me from my programming throne. Hence, that marked the end of programming in my life as well. The figures-to-words conversion program was the last complete program I wrote as a student of UNILAG.

    In my final year, I got a chance to reignite my passion as a participant in the MIT AITI programme. Unfortunately, I could not cope with combining the expectations of my AITI team with my final year coursework. To complete my final year project, I had the huge task of learning to program with C++ QT and I wasn't making good progress with that. I was stuck and was not learned in the science of getting unstuck. This is meant to be easy. I was the programming guru in the third year, why is this so hard for me? Maybe this programming thing is not my thing after all.

    This made for a bad state of mind to try and learn yet another language (Java for Android, I think) to deliver on my responsibilities as a member of an AITI startup. After a few weeks into the program, I told my AITI teammates (two of whom went on to found now stellar Prepclass), tail between my legs, that I couldn't do this anymore. After all, in my mind, I was in school first to excel at my coursework before anything else.

    I managed to get my final year project to a barely working state before it was time to submit it. But then, after that ordeal, I lost all of my premature love for programming. I hated anything that made me feel incompetent, oblivious of the concept of a learning curve and that it's normal to go through a steep phase to master any skill, even if the basics made you feel like a genius.

    A second chance

    Before the final semester wound up, Appzone came to UNILAG for a graduate-intern recruitment drive for engineering students. They conducted an aptitude test in which I performed well enough to make it to the interview stage.

    The interviews didn't really go well, because as you can probably tell, I really wasn't that much use as a programmer, in terms of productivity. I told them about my brief romance with programming in the second and third years of my studies and how I was the don. However, I was not able to justify why I did not keep programming after those introductory courses ended. I knew that only a miracle would get me into Appzone at this point, considering the number of more experienced programmers (including Bolu) who were also interviewed.

    Getting my first job

    Towards the end of the final exam period at UNILAG, the first set of successful candidates were made an offer by Appzone. Unsurprisingly, I did not make the list. However, I think there was some speculation that there would be a subsequent list. I was hopeful that if there was any validity to that, my name would fall on the second list.

    A few weeks after final exams, I finally got the best call of my life (at the time) from Maryam, a member of the Appzone HR team. She was calling to let me know I was successful; that I had made the second list! A few of my more experienced classmates (including Bolu) who were on the first list had declined the offer. Hence, some room was created which allowed Appzone to accept me and two additional classmates into the paid internship program. What luck!

    I resumed at Appzone just one month after finishing my final exams in UNILAG. All intern programmers were required undergo a rigorous and dare I say,  effective training process. First, we were taken through a series of lectures by our experienced colleagues to get us up to speed on the Nigerian banking industry and how Appzone's business fits in there.

    Sitting through lectures was the easy part. After the lecture season, each of us (interns) was tasked with single-handedly building two different software projects from the ground up. Each of the projects is a less-sophisticated version of some of the company's existing products. Upon completing both projects, the intern is reasonably expected to have gained enough programming skills and banking domain knowledge to go live (start real work).

    During the project period, each intern is attached to an experienced colleague who will be their mentor and first point of call whenever they get stuck. I was attached to Emeka, an elect-elect graduate of UNILAG two years ahead of me. And he made sure I would report my project progress to him, once a day in the least. Without a doubt, this kept me on my toes.

    Final thoughts

    I don't think I would have been able to overcome the steep learning curve to becoming a market-ready programmer without all the controls and aid put in place at Appzone to help me get there. Big-ups to Appzone for helping me through that delicate stage of my career and giving me a chance to mess up on the job. Heck, for even helping me to 'choose' a career.

    Who knows what I'd be doing today if I didn't get that offer by a slim chance. I didn't have any skills and I lacked the drive to develop one on my own. So, I, like most other Nigerian graduates, was ready to settle for the first taker, irrespective of how interested I was in the work. Oh, someone thinks I can be useful at something? Great! Take me whole.

    Also, I've changed a lot in the five years since graduating from school. My exposure to the 'real world' has immensely shaped my view of life and I now have a beyond superficial drive to give the best work that I can and be the best me that I can. Every living moment, I'm thinking about how best I can spend my time and resources to improve my chances at being an unarguable success at what I do.
    Read More

    23 August 2017

    Hafiz Adewuyi

    Happy Birthday: It's your turn to put the people in your life in their true place

    Back when I worked at the bank, it was customary for a birthday celebrant to share cakes, small chops, drinks and sometimes, full meals (rice and chicken) to colleagues on their birthday. However, because it happens to be a bank head office, which has hundreds of staff in one location, except you fell into the generous manager's category, it was unlikely that your 'birthday bounty' would reach everyone in the office, even if the news of it definitely would.

    Creative happy birthday design elements vector art Source

    Of course, as a celebrant, this scarcity of resources puts you in a place where you have to choose which subset of staff would be recipients of your birthday bounty. The average celebrant's approach was to put their immediate team members (average of about 20 people) at the top of the beneficiaries list. Also, the celebrant's favourite managers and the less-favourite ones who happen to be the celebrant's direct/indirect managers usually have an automatic place on the list.

    Outside these satisfy-them-or-die demographics, of course, lies everyone else. From this group, it is now clear that only the celebrant's favourites will get a taste of the bounty. Celebrants would typically write a (VIP) list and appoint a colleague as mercenary to dispatch the birthday bounty to this special group of people who are usually across different teams and sometimes, in another building entirely.

    Everyone else, who of course cannot easily be shielded from the news that the birthday celebrant has skipped over them in their generosity spree is left to grapple with their new found knowledge of their importance (or lack thereof) to the celebrant.

    Of course, inevitably (since I was no manager), most of the time, I was in the category of unimportant masses whom, if they were lucky, would get a tiny piece of sponge cake which has more icing than actual cake. Left with no choice but to look with envy at those special beings who happen to fall into today's celebrant's VIP list.

    The worst of these times for me was when I actually felt betrayed by not having been put on the celebrant's VIP list. You know, those people who you think you actually have a good relationship with and if there were to be any such categorization as this, then you would definitely fall into their good books.

    One example which happened earlier this year (2017) was particularly painful, so much so as to ruin most of my productivity for the rest of the day with surging emotions of anger. In my team of three or four developers, each member except me got a pack of small chops and a can of soft drink. The celebrant happened to be a member of the product management team with whom I used to work closely until recently when a change in my duties meant that we had very little work in common.

    All that my lizard brain could interpret from this exclusion was that she didn't consider me as having contributed any noteworthy part to her achieving her career goals in the organization. My more reasonable side tried to convince me that this was probably just an innocent oversight. But no, this lizard was not having any of that palliative bullshit.

    I got really mad because I felt that I deserved some of this birthday love for all the past times we had worked together to achieve some organizational goal. In fact, the only reason I didn't confront the celebrant that day was that I felt it was distasteful to question someone's intentions on their special day. After all, it's not like they actually owe me anything.

    Being fully aware of how bad it makes me feel when I'm skipped over to receive a birthday bounty (especially when I think I deserve it), my stance was to just not share anything at all on my own birthday. For me, it's better that no one feels special and that everyone considers me a stingy mofo than to make some feel special and then alienate the rest of the unimportant masses.

    As you can imagine, I had to argue this stance with my immediate team members severally.

    My colleagues' argument You partake in the bounty of other (immediate) team members. Why then would you decide to go missing when it's your turn to pay it forward? How would you feel if, on a team member's birthday, you do not receive a bounty while every other team member does? This is what we're going to do to you if you refuse to declare a bounty on your own birthday.

    My counter-argument You realize that at no point did I move to convince any other team member to declare a bounty? They did it of their own free will and I'm only happy to share out of their generosity. However, I think the magnanimity of it is eliminated if it becomes mandatory.

    Like, what is the freaking point of buying food for everyone in the team if, in the ideal scenario, you would still get the favour back when other people pay it forward by sharing their bounties within the same team on their own birthday? We could as well just keep our monies to ourselves and buy ourselves a special meal every once in a while.
    Read More

    21 July 2017

    Hafiz Adewuyi

    Yoruba boy first time living outside Lagos (in Enugu) FAQs

    When did you move to Enugu?

    I moved to Enugu on Friday, June 16, 2017. I travelled to Enugu on a very short (under 1hr) flight with Airpeace. I landed in Enugu at around 8:30 WAT.

    Why did you move to Enugu?

    I got a new job. A job that is much closer to my dream job than my old job was. That's it. Oh yeah, getting a job outside of Lagos was actually also a dream come true.

    I've lived in Lagos all my life:
    • Primary school: Bosby, Ilasamaja, Mushin, Lagos
    • High school: FGCL, Ijanikin
    • University: UNILAG
    • NYSC Camp: Iyana-Ipaja, Lagos camp
    • NYSC PPA: Orile-Agege LCDA, Agege, Lagos
    Need I say more? 

    I resumed my new job as a Software developer at Chatdesk on Monday, 19th June, 2017. I've already spent a full month at the new job, but it hardly feels like it.

    How is Enugu?

    • Great
    • The landscape is constantly undulating. Yes. The hills of Enugu. I should get me a bicycle soon for proper enjoyment of the steep hills
    • The good roads are not overburdened and I've not seen a traffic jam that is more than 20 cars long since I arrived here (and that's an exception). Also, there are usable footpaths on most of the roads I've seen, hence more pedestrian-safe than Lagos
    • I live in Independence layout, a very clean and serene and well-planned part of Enugu with a concentration of modern houses. I would describe it as the Lekki equivalent of Enugu except it's better. Most of the streets are tarred and the area is not flood-prone. Also, the views are much better because of the hilly nature of the landscape

    Nice Friday morning view in Enugu

    DISCLAIMER: In all fairness, I hear Enugu is really large and what I've seen is a tip of the iceberg. I keep wondering where the ugly/regular houses are located because since I moved here, all I've seen are pretty and well-planned neighbourhoods and estates.

    Are you happy with the move?

    Yes. I unarguably am. Of course, no one has really asked me this question (apart from my mum). So I'm just answering it here to show off my awesome new life. Okay, it might not be that awesome, but compared to my shitty existence in Lagos, this is a huge leap which I am beyond grateful for. 

    First of all, every day is TGIF for me. I have unbound flexibility with my work hours. I can wake up whenever I want and can sleep whenever I want. As if that was not good enough, I currently stay at the staff quarters of the company which is in the same house as the office. Interestingly, I hardly ever sleep for more than 6-hours per night in spite of the flexibility. My phone alarm clock app is up for grabs; any takers?

    I have pounded yam for breakfast regularly; no fear of falling asleep at work
    I now regularly have pounded yam for breakfast; no fear of falling asleep at work

    Let me reveal the not so fun and games part of my new found freedom though. Now, I have little excuse not to achieve some of my lifelong dreams like building more muscles, completing intensive MOOCs to build up my skills and completing my pet projects. I've registered at a really-well equipped gym a ten-minute drive away from home (Lilburn fitness, close to the Enugu airport), so I'd say I'm on the right track. I always tell myself the phrase, "six packs in six months", just for fun.

    Also, I managed to achieve a feat that would never have been possible with the cut-throat life I left behind in Lagos. I currently have a 30+ day streaking learning French on Duolingo. The trick (if I can call it that) is really simple. I wake up, I head to the balcony, whip out my phone and make a go for the French challenges; no questions asked. It's slowly revealed itself as a rewarding and mentally awakening way to start the day, so I don't even need any discipline to do it anymore at this point. #GoodRoutines #CueActionReward

    If not bragging rights, then what do we live for? Showing off my stellar Duolingo French stats
    If not bragging rights, then what do we live for? Showing off my stellar Duolingo French stats

    Furthermore, I now manage to do some form of exercise at least, once in two days. My running is now more consistent, even if that means one part of my body or the other always has an ache. Not to worry, I'm relatively comfortable with pain, due to my pimples pressing days. Who knows, I might start training for a marathon at this rate.

    Hafiz at the end of Umuawulu street adjoining Port Harcourt - Enugu Expressway
    Hafiz at the end of Umuawulu street adjoining Port Harcourt - Enugu Expressway during a Friday morning run
    My work at Chatdesk is also adequately challenging, purposeful and rewarding.

    What do you miss about Lagos?

    • Nights out at Element House
    • The beaches
    • UNILAG
    • Truppr
    • My car
    • A HANDFUL of friends
    • My family (just because)
    • Constant FOMO. Five tech events happen every weekend and you have to make the hard decision of which one to attend. Now, I can happily skim through the events portion of TechCabal's daily newsletter knowing I can't attend anyway :D

    What are some places you have been to in Enugu?

    Eat out: Roots restaurant and Cafe
    Shopping: Roban Stores, Shoprite
    Gym: Lilburn Gym, Liberty Gym (Liberty estates)
    Night life: Top rank Hotel, Arriba Entertainment centre (Voodoo lounge)
    Sports: Okpara square, Nnamdi Azikiwe Stadium

    Frankly, my life here is pretty boring; by general benchmarks, just as many people in Lagos had warned. But I'm okay. Despite all the resources to hang out and socialise in Lagos, my life was still boring anyway. Most weekends, I would voluntarily go to the office most Saturdays and Sundays, versus spending it chilling with friends somewhere cool. So, let's not blame it on Enugu. The problem really is me.

    When next are we seeing you?

    I don't know. I'm pretty fine here and I'm glad to have a breather away from the only place where I've lived all of my life. I don't miss Lagos well enough to want to be there again anytime soon. Good riddance, birth city!

    Have you found yellow omo ibo?


    And please, can you remind me of when you crossed my acquaintance-zone to friend-zone which is the only place from which you're permitted to be asking such a question AFAIC? Amebo.
    Read More

    2 July 2017

    Hafiz Adewuyi

    Transfer money between Nigerian bank accounts for free

    Or cheaper than your bank would charge anyway ;)

    Before May 2017, the average charge for inter-bank funds transfers across Nigerian banks was 100 Naira per transaction. However, the CBN recently issued an edict to all Nigerian banks which stipulates that from May 1 2017, commercial banks are to charge exactly 50 Naira for funds transfers to other local banks.

    CBN 50 Naira charge specification for Electronic Funds transfer within Nigeria (Commercial banks)
    CBN charge specification for Electronic Funds transfer within Nigeria (Commercial banks)

    Interestingly, while the CBN guide separates the charges for inter-bank and intra-bank transfer for micro-finance banks, there's no such distinction for commercial banks. Hence, it seems to be at the individual bank's discretion to decide the charge (or lack thereof) for intra-bank transactions.

    CBN charge specification for Electronic Funds transfer within Nigeria (MFBs)
    CBN charge specification for Electronic Funds transfer within Nigeria (MFBs)

    In spite of the bank-wide reduction in electronic transfer charges, there are still cheaper ways to transfer money between Nigerian bank accounts without using a bank-controlled channel. I share the details of the ones I'm aware of at the moment below.

    Kudi.ai (Kudi-dot-ai, a payment chatbot)

    Buying airtime from the kudi.ai chatbot
    Buying airtime from the kudi.ai chatbot

    Essentially, you can do electronic transfer from your Nigerian bank account by chatting with a robot; that's it. You can use any of the following options to interact with the chatbot:

    • Facebook Messenger
    • Skype Messenger
    • Telegram (who uses that in Nigeria?)
    • Web via browser (https://chat.kudi.ai)

    Just visit https://www.kudi.ai to begin. 'Kudi' is a Hausa word which translates to 'money'. Maybe one day, I will vex and go and build my own Owo.ai too :D [rushes to go check if owo.ai domain name has been claimed]

    Yes! Now I have all I need to give kudi.ai a run for its money

    FUN FACT: Did you know that the .ai TLD (top-level domain) is for Anguilla?

    Kudi.ai will also allow you do the other usual electronic transactions like buying airtime and paying utility bills. As at the time of writing this article, the only payment option available for use on kudi.ai is the ATM card linked to your bank account. So far, I've been able to use my GTB Naira Mastercard and my Fidelity Verve card successfully on Kudi.ai.

    I won't be surprised though, if when this really gains transaction, Nigerian banks started blocking their cards from working on kudi.ai as a way to slow transaction income leakage. I think that would be a huge blow from the banks in the epic Bank vs. FinTech battles.

    If this happens, it won't be the first time a Nigerian bank pulled that kind of move. Back in 2013/2104 when Interswitch Quickteller gained a lot of traction, it did not take long for GTBank to restrict their customers' usage of Quickteller for electronic transfers. Of course, this meant that the customer had only one option to transfer money out of their GTBank account; use a GTBank-controlled channel (online/mobile/USSD/branch).


    Thrivesend charges 45 Naira only for local bank transfers. Just like Kudi, the only payment option available is your ATM card . As long as that remains the case, services like this only survive as long as each Nigerian bank allows its card to work on the platform. Sad.

    Is there a CBN edict that would prevent a bank from doing this? I'm curious.

    Sorry Thrive mayte; but haven't you heard of Kudi.ai yet?
    Es sir; but haven't you heard of Kudi.ai yet?


    I can empathize with the strong inhibition many Nigerians have towards sharing their card information online with third parties. However, from my experience of using my debit card online for the past 5 years and having never been a victim of any online fraud, I would say it's pretty safe to use your card online in Nigeria. Below are some precautions I take to mitigate the risk of card fraud on my Nigerian bank accounts:

    • I ensure the merchant's website and/or payment platform is fairly reputable and that they are SSL-secured (Have 'https' in the URL)
    • I don't keep my life savings in an account which is linked to any of my cards

    Happy free transfer through Kudi.ai; while stocks last. Also, feel free to act on that impulse to transfer some coffee money to me for providing you with this juicy information. Yes, I had to take coffee to stay up to rewrite this article after losing the initial draft to a careless page refresh :'( :'(

    Off topic: Zoto recharge versus USSD recharge

    Talking about sharing card details with third parties reminds me of a time when I tried to get my friend to sign up to Zoto app. Signing up requires entering your card details into the app and doing an OTP/token verification against your bank. For one, my friend was wary about using his card on yet another 'Nigerian' app. Also, the trouble was apparently not worth it, considering the existence of very seamless USSD recharge which everyone in Nigeria who has an ATM card account today can potentially access.

    So, that my friend, is how I missed a golden opportunity to win free 1000 Naira airtime (Zoto referral reward) for me (and my friend). Obviously, even 1000 Naira free airtime was not enough motivation for my friend to join the Zoto app. I can only imagine what the fate of Zoto would be when their airtime-sharing spree comes to an end. The odds are just against a mobile app if the same service it offers is easily accessible over USSD.

    Zoto recharge vs. USSD recharge; odds are against Zoto
    Zoto recharge vs. USSD recharge; odds are against Zoto


    If you know of any cheap or free electronic transfer method within Nigeria which is not listed here, kindly share the details in the comments section below. After due verification, the article will be updated accordingly.
    Read More

    1 July 2017

    Hafiz Adewuyi

    Durosoke by Olamide - Lyrics in English

    DUROSOKE - Rap song by Olamide - English translation (English in bold)

    Take it outside; Basket

    Take it inside; Koroba 
    Take it inside, Basket

    Olamide rapper Image
    (By Emily Nkanga (Own work) [CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0)], via Wikimedia Commons)

    Dem be feeling us 
    They were admiring us

    And now them they famz just to be with us 
    And now, they're feigning familiarity just to be with us

    A lówó, a lẹ́nu, a dẹ̀ mọ̀'yàn o
    We have money, we are influential, we know important people

    A jayé orí wa, ko dẹ̀ kan'yan o, yeh
    We enjoy our lives, and it doesn't concern anyone

    See the money now

    We weigh, we no dey count the money now
    We weigh the money, we don't count it any longer

    We fully loaded ready on this now

    The moneneneneni running out, yeh

    Sé kó wálẹ̀; kó dúró sókè 
    Should it come down? Let it stay up

    Sé kó wálẹ̀; kó dúró sókè
    Should it come down? Let it stay up

    Sé kó wálẹ̀; kó dúró sókè
    Should it come down? Let it stay up

    Sé kó wálẹ̀; kó dúró sókè
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    TRACK 1
    **repeated coughs**
    Bahdo, baddest guy ever liveth
    Great guy, the greatest guy who ever lived

    Édímastà lọmọ o, kò ń ṣe prífẹ̀t
    He is a headmaster, he's not a prefect

    School wo ló ti wá náà, OSÚ àb'Ífẹ̀?
    What school did she come from; Ogun State University or University of Ife

    Àbí Bábcọ̀ck, kílódé t'ọ́n bìf e
    Or is it Babcock University? Why are they hating on her?

    Mosúnmọ́lá, ṣo mọ lọ́lípọ̀p lá
    Mosunmola, do you know how to lick a lollipop?

    Òwun tún dà, òwun tún rè, óyá Tọ́lá
    Where is she now? Here she is. Tola, it's time

    Kílón ṣe ẹ́ ná, yé ma fimí pọ́p kọ́là
    What is wrong with you; stop taking my attention for granted

    Ó fẹ́ máa p'ajá lọ́bọ fún mi, ṣé mo kọlà
    She wants to deceive me, do I look stupid to you?

    JJC kọ́ l'àwọn eléyìí, ọ̀gá'dé
    These ones are not novices, young man

    ÚNÌLAG ò jìnà sí lé'wa, gbàgbé
    UNILAG is not far from our house, forget it

    Mo ti rọ́mọ, mo ti rọ́mọ yakpa
    I have seen pretty chicks, I have seen so many pretty chicks

    Awúsá, fúlàní, yíbò àti tákpà
    From the Hausa, Fulani and Tapa tribes

    Àwọn ọmọ mi, àwọn ọmọ mi ń'Lọ́ńdọ̀n
    My pretty chicks, my pretty chicks in London

    Àwọn ọmọ mi l'Ámẹ́ríkà, àwọn stúbbọ̀rn
    My pretty chicks in America; the stubborn ones

    Àwọn t'ọ́n ma ń twẹ̀rk, lórí YóúTubè
    Those ones who twerk on YouTube

    I know you love me, I love you too

    Stórì yíì ti fẹ́ ma lọ́, má ṣe báyìí now
    This story is getting complicated; please don't act this way

    Ìgbà wo lo dé to fẹ́ máa lọ, má ṣe báyìí now
    When did you just arrive that you're getting ready to leave; please don't do this

    Oò rọ́kọ̀, oò rọ́kọ̀ ta ṣí wọlé
    Can't you see; can't you see the big cars we came in

    Ojú e ló mọ́ọ ṣe, wàá r'áwọn ọmọ ta ma ṣí lọlé
    You will witness in awe, the calibre of chicks we will go home with

    Wọ́n fọwọ́ pa ọ́ lára, ò ń dún míyáwu
    You're getting fondled and you are meowing

    Ṣ'ọ́lóńgbò ni ọ́ ni, o sì wá ń wò mí l'ójú báwun
    Are you a cat? See the way you're staring me down

    Dem be feeling us
    They were admiring us

    And now them they famz just to be with us
    And now, they're feigning familiarity just to be with us

    A lówó, a lẹ́nu, a dẹ̀ mọ̀'yàn o
    We have money, we are influential, we know important people

    A jayé orí wa, ko dẹ̀ kan'yan o, yeh
    We enjoy our lives, and it doesn't concern anyone

    See the money now

    We weigh, we no dey count the money now
    We weigh the money, we don't count it any longer

    We fully loaded ready on this now

    The moneneneneni running out, yeh

    Sé kó wálẹ̀; kó dúró sókè
    Should it come down? Let it stay up

    Sé kó wálẹ̀; kó dúró sókè
    Should it come down? Let it stay up

    Sé kó wálẹ̀; kó dúró sókè
    Should it come down? Let it stay up

    Sé kó wálẹ̀; kó dúró sókè
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    Sé kó wálẹ ò; kó dúró sóke ò ò ò
    Should it come down? Let it stay up

    TRACK 2
    Óyá, ẹ ká wọ́'lẹ̀ fún pásítọ̀, ẹ ká wọ́'lẹ̀, ẹ ká wọ́'lẹ̀
    Listen up! Drop your hands for the pastor. Drop your hands, drop your hands

    Baddest guy ever liveth, hun, òṣé
    The greatest guy who ever lived; thank you

    Ìpadàbọ̀ ab'ìjàwàrà bí ẹkùn; eh
    The return of the lead warrior like a lion

    Mo fẹ́ ẹ́ńtá thè placè, óyá ṣ'ílẹ̀kùn; yéè
    I want to enter the place; open the door!

    Ex-boyfriend ẹ ń ran'jú, òwun náà ń bọ̀ *laughs*
    Your ex-boyfriend is getting visibly angry; he is approaching me

    Mo dẹ̀ mọ̀'yàn o *laughs*, hmm, Ọlọ́run ń gbọ́
    I know important people, hmm, I cross my heart

    Mo lè ní kán soó mọ́lẹ̀, kán táyì ẹ̀
    I can command them to tie him to the ground, to bind him in ropes

    Mo lè ní kán paá láró, kán dáyì ẹ
    I can command them to rub him with dye; to dye him

    Ṣe b'ọ́n ń báa sọ́ ń'sìnyí, ó ń forí lalẹ̀
    They're wooing her politely now, but she's not cooperating

    Ó da náà, lálẹ̀yí, á forí balẹ̀
    It's okay. This night, she will bow

    Wòó; ẹ bámiṣí àwọn ọmọ wólè
    Hey! Help me release the chicks

    Àwọn ọmọ Cọ́vẹ́nánt, àwọn ọmọ North Amẹ́ríká unì gan ò ní pẹ́ lánd
    The Covenant University chicks. Even the North-American-University chicks are about to land

    Àwọn ọmọ mi, àwọn ọmọ t'ọ́n blọ́ọ́dy
    My chicks, my bloody chicks

    Àwọn ọmọ t'ọ́n Ṣhínasà, t'ọ́n tún Ṣhíkọ̀dí
    My chicks, the likes of Chinasa and Chikodi

    I can't shout, ọ̀rọ́ pọ̀ nínú ìwé kọ́bọ̀
    I can't shout; there are too many words in the book of Kobos

    Bọ̀dí no be firewood, mi ò dẹ̀ ń ṣe rọ́bọ̀t
    The temptations of the flesh are strong and I'm not a robot

    Kí ní ti ẹ̀ mọ ń ṣ'èyin ọmọ èkó yìí gan
    What is the problem with you Lagos chicks

    O sì ń se bí ẹní pé ò rí mi látẹ̀ẹ̀kan
    And you're pretending you don't know I've been here all this while

    Aní kó rèbàdíì rẹ, o sì wá ń ṣ'akọ
    We asked you to shake your derriere, and now, you're strutting and ignoring us

    O sì wá ń ṣebí ẹni pé o ò mọ'rú orin tá n kọ
    Now, you're pretending not to know the kind of music we sing

    Kí ní ń ṣe ẹ́, àb'ọ́ ń gbọ́ Mafadó
    What's wrong with you; or don't you hear of Mafado?

    O ò ń gbọ́ Vice càrtẹlì, o sì wá ń bragadó; yéébà
    Don't you hear about Vice Cartel? And you're still bragging at us!

    Àbí ṣọ́ọ̀ṣì dípá laìfù lò ń lọ ni
    Or are you a member of the Deeper Life church?

    Ọ ọ̀ dá'yàn mọ̀, ṣhíọ̀; ọ ọ̀ mọ bàdóò, shíọ
    You don't know important people, shame; you don't know the great guy, shame

    Dem be feeling us *laughs*
    They were admiring us

    And now them they famz just to be with us; mi'ì gbọ́
    And now, they're feigning familiarity just to be with us; I can't hear you

    A lówó, a lẹ́nu, a dẹ̀ mọ̀'yàn o; you say?
    We have money, we are influential, we know important people; say what?

    A jayé orí wa, ko dẹ̀ kan'yan o, yeh; okay, take it up now
    We enjoy our lives, and it doesn't concern anyone; okay take it up now

    See the money now; you say?

    We weigh, we no dey count the money now; mi'ì gbọ́
    We weigh the money, we don't count it any longer; I can't hear you

    We fully loaded ready on this now; yéébà

    The moneneneneni running out, yeh

    Sé kó wálẹ̀ (yéébà);  kó dúró sókè (yéébà)
    Should it come down? Let it stay up

    Sé kó wálẹ̀ (yéébà);  kó dúró sókè (yéébà)
    Should it come down? Let it stay up

    Sé kó wálẹ̀ (yéébà);  kó dúró sókè (yéébà)
    Should it come down? Let it stay up

    Sé kó wálẹ̀ (yéébà);  kó dúró sókè (yéébà)
    Should it come down? Let it stay up

    Sé kó wálẹ ò (yéébà); kó dúró sóke ò ò ò (yéébà)
    Should it come down? Let it stay up

    Sé kó wálẹ ò (yéébà); kó dúró sóke ò ò ò (yéébà)
    Should it come down? Let it stay up

    Sé kó wálẹ ò (yéébà); kó dúró sóke ò ò ò (yéébà)
    Should it come down? Let it stay up

    Sé kó wálẹ ò (yéébà); kó dúró sóke ò ò ò (yéébà)
    Should it come down? Let it stay up

    Mi ò gbọ́
    I can't hear you

    If you can't put your hands up, you disappear

    Bahdo, baddest guy ever liveth
    Great guy, the greatest guy who ever lived

    You exit this territory, sharp sharp
    You exit this territory immediately

    Baddest guy ever liveth is in the building
    The greatest guy who ever lived is in the building

    The great guy

    Kó dúró sókè, kí ló ń jẹ́ kó wálẹ̀
    Let it stay up; what nonsense do you mean by "let it come down"

    The great guy

    Ah, they don know
    Ah. Now they know!
    Read More

    17 June 2017

    Hafiz Adewuyi

    Uber's Lagos/Nigeria steeply degraded service quality plus my armchair recommendations

    Last Thursday (today is Saturday), I took an Uber from First Bank headquarters in Marina Lagos to my mum's place, close to NYSC camp, Iyana Ipaja/Agege. The car was nice but that was the only nice thing about the entire taxi booking. Oh, I forgot the extremely cheap price of the ride (more on that later). It took over 40 minutes from booking time for the Uber which took me home to arrive. Let me tell you how this happened.

    At 4:15 pm, I booked an Uber for 4:25 because I was busy registering my new GLO sim at a road-side shop in Marina. Not long after I booked the ride, some driver accepted it and I assumed he was close by and would soon be on his way to my location. Time was running fast, and because I was busy hurrying up the SIM guy so I'll be ready when the Uber arrives, I didn't bother to check the Uber's location.

    It was after the SIM registration was done that I looked at the map and realised that this guy was all the way at Western Avenue in Surulere. He knew this, yet, he did not cancel for over what I would estimate to be 15 minutes. I called the Uber driver as soon as I realised his location which was about 15 minutes away. You won't imagine his response.

    Uber driver: I can't come oh! I'm in Surulere; Marina is too far away from here.

    Hafiz: Okay. Then cancel the ride already! **why did I even need to make this call?**

    Uber driver: I can't cancel it oh! They've sent me message that I've cancelled too many rides today already

    At this point, my temper rose to boiling point and I think I tried in the calmest voice I could muster to convince him to cancel the ride one last time before dropping the call. I ended the call, brought up the app and saw that he still had not cancelled the ride. Obviously, there was no point waiting for this bitch any longer. I was the one who had to travel over 30 kilometres from Lagos Island to Agege; not him.

    I cancelled the ride, despite the warning that I would be charged 1000 Naira for cancelling over 5 minutes after he accepted. 1000 Naira was charged to my account instantly. I also, instantly, went to the View Trips menu, a part of the app I've become all too conversant with since Uber drastically dropped their fares early May, in response to rival, Taxify. With the drop in fares came an almost instantaneous drop in service quality. I guess when there's little incentive for the drivers to be nice, this is what you get.

    I selected the freshly cancelled trip, asked for a refund and stated the reason as [driver asked me to cancel]. I wish I had known it was there all this while. I would not have wasted my time and airtime calling that fucktard to get him to cancel. As soon as I chose that option, Uber refunded my 1000 Naira without skipping a beat. How come they trust the customer so much? What if I was actually being dishonest and cancelled because [I was just testing the app o].

    I requested a ride all over again and this time, it was satisfying to see that the Uber was nearby, on Broad Street. To cut the long story short, the guy took over 15 minutes to get to where I was; much longer than I expected, given his initial location. Instead of meeting me on Marina Road where I told him I was, he went to park in front of First Bank headquarters gate. Of course, the security men had started harassing him to [GO AND TURN AROUND] before I saw him. As soon as I saw him, I started begging the security men from 50 feet away with a hand gesture as I hurried towards his car. Once there, I jumped into the backseat and off we went.

    It had been a stressful afternoon and I was cranky and fagged out. The people at CSCS  had kept me waiting for almost an hour just to print my stock statement of account. It was thanks to them that I was still on the freaking island at rush hour (4 pm+). Lagos rush hour traffic is top 3 on my personal most hated list.

    Apart from being tired, I was also heavy. I had just downed a bowl of 200 Naira Amala and 6 pieces of beef and inu eran (cow innards) at the CocaCola amala joint (buka) opposite First Bank headquarters. I had descended heavily upon the food because it was my first meal of the day. In fact, so famished was I before the meal that I couldn't bear to spend one minute to catch up with a friend I ran into, just outside the buka.

    I just collapsed into the owner's corner, turned on my Bluedio headphones and pretended that the car was driverless. The driver was not my type (not charismatic enough), so being the shitty discriminating and stereotyping human that I am, I wasn't interested in talking to him beyond the scope of the transaction. I guess the person that introduced him to Uber must have told him it's good to be nice to customers (the reviews). Because after haplessly blaring his Christian music from the car stereo, he asked me 5 minutes into the ride what I wanted on the radio. Just to say something, even though I didn't need the radio, I asked him to put it on 93.7 FM and immediately went on to wear my headphones and assume a prone position on the backseat. I was ready to take off into dreamland.

    I had a good one hour nap in my Thursday evening Lagos Uber. By the time I woke up, we were at Maryland. I couldn't go back to sleep, so I sat back upright. I noticed his driving was really rough; so rough I felt carsick from the regular rocking. I put on my seatbelt to mitigate the rocking. I felt there was no point trying to talk sense into this one.

    When we got to Ikeja, he told me that he still has to go to school today and that if he had known I was coming all this way, he would not have accepted the ride. I think he said earlier that he only accepted the ride because [and I don't like cancelling customers o].

    I'm not sure I said much in response. What was he trying to achieve; guilt trip me? I'd lost all of my fucks for the day; sorry. I just wanted to get home after what was a stressful and marginally productive day. I must have responded lackadaisically to him, if at all.

    When we were within 20 minutes of my place, he suggested that I take an Okada for the rest of the journey. This time, I totally ignored him. As in, I didn't even know I can be like that. The only other thing I could have done was to scold him for this behaviour and start an argument, but I had no energy left for that. When he saw I was mute, he went on to ask me how long till we get to my place. I told him 15 minutes, which is fairly accurate. I responded because I'm a really nice guy at my core.

    He rode on the regained attention to talk more about his plight and how he would never have come here, had he known the traffic was this much. He would later apologise for saying this, a couple of times. But as they say, words cannot be unsaid.

    Perhaps, to rouse some empathy in me for him, he told me how he had missed school last week and how because of this [cursed] trip, he was on the verge of repeating the same thing this week. I looked at him and I could relate to his efforts towards making a better life for himself (shit; you won't believe that I never looked at this man's face directly for even one second of this trip? I don't know what he looks like in real life).

    I showed my empathy, not by asking him to drop me here, but by saying: "I hope you find a passenger on your way out of my place". I was done struggling for the day and that meant that I had absolutely no will to come down from my comfy position in this ride till I reached my destination.

    Give or take, 15 minutes later, the Uber arrived right in front of my house. For most of the last 30 minutes of the trip, I had to endure this man's hissing, ranting to himself about how he'd made a mistake accepting this trip, and apologising to me about what he had said about accepting this trip. But I honestly could not care less, as long as I got home safe and sound.

    And get home, I did. He ended the trip right in front of my house. I thanked him as I slowly stepped out of the silver Hyundai Elantra, looking back on my seat to ensure I wasn't leaving anything of value behind. I felt a huge wave of relief to be home at last. What a horrible experience to have just one day before leaving Lagos. Fuck you, Lagos city!

    Little did I know my troubles for the day were not over yet.

    Overcharged by Uber

    After I settled in at home, I checked on the email receipt and was shocked to see a bill of 5450 Naira. Okay, the ride had been extra long (150 minutes) and the distance was over 30 kilometres. Those factors notwithstanding, even when Uber was still Uber (more expensive but of much better service standards), the ride would still not have been this costly. Haba! When I saw that the distance travelled on the receipt was 81km, I was sure there was definitely a problem here.

    I quickly logged on to Uber website and reviewed the trip. The GPS route was totally incongruent as I'd suspected. It was all over the place, drawing routes in the middle of the ocean where no car dares venture. For a moment, I feared that the driver might have taken me on merry-go-rounds while I was fast asleep. Silly me; inside this Lagos? There was no way we would have gotten home within 150 minutes during rush hour if he had actually driven through 81 kilometres as the map stated. Time to get my money back!

    I filed a complaint about the charge. Within three hours, an Uber representative had responded. I like how Uber acts very fast and is always more biased towards the customer than the driver in their judgements. My fare was reviewed (based on estimates) down to 2150 Naira (a whopping 3300 Naira discount).

    My Uber fare was drastically reduced due to a GPS issue
    My Uber fare was drastically reduced due to a GPS issue

    Jesus wept! And I wept. I wept for my driver called Abodunrin because he truly suffered for me beyond getting this meagre payout.I would happily have paid him up to 3500 for all of the trouble he went through for me this unfortunate evening.

    For the next few minutes after seeing this email, I could not help but feel sorry for this man. Because I knew he must have seen the initial fare and praised God, only to later open up his phone to see that he had lost over 3000 Naira to a dispute which this ungrateful customer right here, won and which he (the driver) had no say in?

    Next, I tried to calculate how much he'd take home out of this 2150 Naira.
    • Uber takes one-fifth of the money which brings it down to 1720 Naira. 
    • He probably spent about three litres of fuel on this trip (we're down to 1285 Naira with at 145 Naira per litre)
    • I will assume that the rest is split halfway between him and the car owner. That leaves our hapless Uber driver, Abodunrin with approximately 600 Naira (less than $2) for a 2-hour, 30-minute trip. For comparison, a month ago, I took an Uber for 5 minutes in Salt Lake City and was charged $6 (approximately the same price in Naira as this trip at current exchange rates). Chaieh, o ja mi lara jeh.

    A 5-minute Salt Lake City Uber cost me the same as a 150-minute Lagos, Nigeria Uber :'(

    Wherever you are Abodunrin, I feel so sorry for what happened last Thursday. You literally worked for nothing. Of course, I have the option of calling you to send me your account number so I can transfer some money to you. But no, I'll pass. No comments.

    So, in this scenario, I'd say Uber won, I came second and the driver and car owner definitely lost. The operators are set up to always lose with the current fare setup. I have some armchair consultant recommendations for Uber. I think they should consider them to make the Uber Lagos experience better for everyone that has been negatively impacted by the recent competition-motivated fare reduction. After all, the Taxify whom you people want to nip in the bud has now reviewed their fare reduction upwards.

    An armchair consultant's recommendations for Uber Nigeria

    • Allow drivers see passenger location before accepting the ride This would reduce the number of incidences of ride cancellation by drivers. I cannot count how many freaking minutes of my life have been wasted in the past few weeks due to having my ride cancelled by Uber drivers a little too late. The worst of them won't even do anything. They'll just accept the ride and wait at the same location on the map endlessly, until you call them after noticing 5 to 10 minutes after, that the car is stationary.
    • Allow drivers see passenger destination once the ride is accepted so they can cancel quickly When I realised that Uber drivers are blind to my destination until the start of the ride, I was really shocked. It might make sense in other climes but I don't think this works for Lagos or Nigeria as a whole. Why should you coerce someone to take a trip that they believe does not work for them, in the name of reducing discrimination? If someone feels coerced into making a trip, their resultant disgruntlement is definitely going to affect customer service negatively. I believe that within a decent time frame, one would actually find a driver who actually wants to go in each passenger's direction. For the ones living in Sango Otta and working in Ajah, well, take Kabukabu. The baba with a dilapidated Kabukabu also has to eat. Kumbaya, kumbaya.
    • Don't penalise drivers for cancelling within five minutes of accepting a ride, or for declining a ride request
    • Penalise drivers and reward customers for rides cancelled by the driver later than 5 minutes from acceptance time
    • Please do market research and settle on a more optimal price for Lagos You're not helping the customer by making them suffer before finding a driver, putting them through poor disgruntled service (it's only logical that only the low-quality people would stick around with the meagre rewards of operating an Uber after the hefty price drop of May. I mean, just look at my experience up there. I'm happy that the ride did not cost me much, but that's where my happiness ends. Everything else about that ride was shit), and making them feel guilty after a ride for taking advantage of a poor driver who must not have much of a choice to still be on Uber.
    Phew. This was longer than I expected. Peace out!
    Read More