Categories
Drawing Adinkra Symbols using Python

Drawing Adinkra Symbols using Python – Introduction

I was privileged to live in Ghana for 15 months of my life. All around me I would see these symbols which I didn’t know what they meant and one day I would ask my Ghanaian friends their meaning.

What would follow would be an exposition into the heart of Ghanaian culture. Sadly, that culture is dying. This isn’t just true for Ghanaian culture but African culture in general.

The reason I believe is that at present, our culture contributes nothing meaningful to our lives. What’s the use of culture if you can’t feed yourself. Sadly, everywhere you look, Africans are at the bottom of the totem pole.

Yet, that culture is relevant to today’s realities. I am a graduate of Systems Engineering from the University of Lagos and I would say that my understanding of my culture was made more meaningful to me from my studies.

There are many forms of power in this world. The strongest of which is identity. When you know who you are, you will reject anything else and the world will either conform to you or eliminate you but while you live, you will dictate your terms.

I am an Esan man from Edo state in Nigeria. A descendant of the last men to surrender to the British in the Southern Protectorate that would later become Nigeria.

Knowing this, I expect myself to lead and on the hard days, I remind myself of who I am.

That is the strength an identity gives you. Why African culture doesn’t do the same is simply because we have never sought to truly understand it.

Most of what we call culture in Africa is dogma. Whenever you ask the practitioners the reasons for some cultural belief, there is no explanation other than: “It’s our culture”.

Such an approach repels most people who only see the rites but cannot connect to their meaning. Rather than acceptance, such an attitude breads contempt.

I only got to learn about the Adinkra symbols because the Ghanaians were open about it. If my friends had kept quiet, I would never have discovered the beauty, minimalism and symmetry of the Adinkra symbols.

This series “Drawing Adinkra Symbols using Python” will look at 40 Adinkra symbols and my attempt to draw them using the Python programming language. It is a rewrite of a series on my old blog.

I will be using Python 3. In the old blog, I created the code using Python 2. I intend to optimize the code as much as I can.

For a quick introduction to the Python programming language, please check out my fifth book: “Learn Python In One Week“.

I will be drawing 40 symbols in all. This symbols are the easiest to draw because they are made up of lines and circular curves.

Using Turtle Graphics

Before we can draw the symbols satisfactorily, we need to use a grid to analyse the symbols.

A grid will be drawn over the images of the symbols and we will be attempt to reproduce the image on our own grid.

The base images are 200 X 200 pixels. I will be drawing on a grid of 400 X 400 pixels.

The commands we will be using are:
1. import turtle
2. turtle.penup()
3. turtle.setposition(x coordinate, y coordinate)
4. turtle.pendown()
5. turtle.forward()
6. turtle.right(degree)
7. turtle.left(degree)

Please check out the Python documentation if you need to know the meaning of the commands.

The source file should be saved as template.py because we will use this file to draw the other symbols.

The code is shown below:

"""
Project Name: Drawing Adinkra Symbols using Python
Developer Name: Truston Ailende
Email Address: trustonailende@gmail.com
"""
import turtle
import math

# Square
def drawSquare(length):
    turtle.penup()
    turtle.setposition(-length/2.0, length/2.0)
    turtle.pendown()
    for i in range(0, 4):
        turtle.forward(length)
        turtle.right(90)
    turtle.penup()
    turtle.home()

# Horizontal lines
def drawHorizontalLine(length, division):
    pixelSpace = int(length / division)
    half = int(length / 2)
    for j in range((-half + pixelSpace), half, pixelSpace):
        turtle.penup()
        turtle.setposition(-half, j)
        turtle.pendown()
        turtle.forward(length)
    turtle.penup()
    turtle.home()

# Vertical lines
def drawVerticalLine(length, division):
    pixelSpace = int(length / division)
    half = int(length / 2)
    turtle.right(90)
    for k in range((-half + pixelSpace), half, pixelSpace):
        turtle.penup()
        turtle.setposition(k, half)
        turtle.pendown()
        turtle.forward(length)
    turtle.penup()
    turtle.home()

# Draw the grid
turtle.speed(1000000)
drawSquare(400)
drawHorizontalLine(400, 40)
drawVerticalLine(400, 40)

# Change the colour mode
turtle.colormode(255)

# Change the pencolor to red
turtle.pencolor(255, 0, 0)

# Draw the horizontal centre line
turtle.setposition(-200, 0)
turtle.pendown()
turtle.forward(400)
turtle.penup()

# Draw the vertical centre line
turtle.setposition(0, 200)
turtle.setheading(270)
turtle.pendown()
turtle.forward(400)

# Reset all the properties
turtle.home()
turtle.pencolor(0, 0, 0)

# Place code here

# End the program
turtle.done()

Check out the GitHub repository for all the code for this series.

The code shown above creates a grid of 400 X 400 pixels and resets the turtle to be at the origin of the window when the program finishes running.

The generated image is shown below:

Grid to Draw Adinkra Symbols

Where Can They Be Found?

Adinkra Symbols are ubiquitous in Ghana, a beautiful West African country on the Atlantic, situated between Cote d’Ivoire and Togo.

On cloth and walls, in pottery and logos, these Asante tribe symbols can be found everywhere.

I would first notice them in a church.

Summary

This post has introduced the series “Drawing Adinkra Symbols using Python” which has the aim to draw 40 Adinkra symbols using the Python programming language.

There are a large number of Adinkra symbols but 40 were chosen because the are the easiest to analyse and draw.

Each of the motifs that make up the corpus of Adinkra symbolism has a name and meaning derived either from a proverb, an historical event, human attitude, animal behaviour, plant life, forms and shapes of inanimate and man-made objects.

There are evocative messages in them that carry traditional wisdom. The beliefs, history, and philosophy of the Akan people is also represented by them.

They are still relevant because the corpus of symbols covers all aspects of life in terms of values and the collective knowledge of a people that has been handed over from antiquity.

Support this Series

Using the Adinkra symbols, I created the Adinkra Notebooks Collection.

You can support this series by buying one of them.

Categories
Words on Marble

Our Consiousness

We have no claws,
We have no fangs,
Our weight is negligible
And so is our strength,
We cannot run as fast
Or climb as high,
We carry no poison,
We do not blend into the environment,
Neither do we fly,
Our hide is fragile.
All we have is our consciousness,
Our most precious gift.

Poem By
OkKevwe on Twitter

Featured Image Credits
Photo by Kira auf der Heide on Unsplash

Categories
State of the Nation

The Year Ahead 2020

Introduction

Welcome to a New Year!

With most of December fading away, a New Year can finally begin.

In this post, I intend to look at happenings in the country as they occurred this week.

One thing last year showed was that bad governance will kill everyone.

Without much ado, here is what went down in Nigeria in the past week.

JAMB Registration

I sincerely believe that in 2020 it is possible to design processes and systems without the need to “See Somebody”.

Sadly, the nature of government agencies in Nigeria make processes unusually harder than they need to be.

It’s like Nigerians want to win the “Sufferhead Olympics”.

For some reason, JAMB made the use of the National Identification Number compulsory for the examination.

The result of this policy is shown below:

JAMB Candidates at NIMC office. Image Courtesy of the Punch Newspapers

In the resulting chaos at the NIMC offices around the country, people started bribing the security agents to allow them in.

That is the effect of badly designed systems. When they break as they often will, you need human interference to keep them working.

Instead of the government asking the banks to handle this process, they insisted on creating bottlenecks for corruption to thrive.

A sad reminder that in Rwanda all processes are digital. They have a system called IremboGov which is a portal for all government processes.

When the clamor got too much, JAMB would rescind the decision making all the stress for nothing.

Increase in Electricity Tariffs

When I wrote my Top 10 Predictions for 2020, I frankly expected that taxation and inflation would increase.

However, I didn’t see why electricity tariffs would increase for electricity.

Word on the streets is that NERC has approved increase in electricity tariffs.

The comic below is from the Punch Newspaper:

A cartoon on the NERC increase in Electricity Tariffs

Regardless of the measures put in place, service delivery will not improve.

I have no confidence in the ability of the current administration to deliver on this.

Loan to Deposit Ratio at 65%

To stimulate growth in the economy, the CBN increased the Loan to Deposit Ratio to 65%.

Banks have been fined for failing to meet this ratio.

Personally, I won’t borrow money from a bank to invest in this economy.

Conclusion

As the year gets into full swing, I would advice everyone reading this blog to refrain from investing in the Nigerian economy.

You can send your funds offshore.

Policies are now implemented in Nigeria with no thought as to their consequences.

Such a system of governance makes political uncertainty a reality.

Do have a great week.

Bad governance will kill everyone.

Categories
Python for Financial Mathematics

Compound Amount using Monthly Compounding

Introduction

I live in Lagos, Nigeria the poverty capital of the world.

This year, I decided to study Financial Mathematics.

I am an Engineer with a BSc in Systems Engineering from the University of Lagos.

My decision to study Financial Mathematics stems from the knowledge that to solve a problem, I must thoroughly understand it.

Programming with Python

Whilst reading the book An Undergraduate Introduction to Financial Mathematics I realized that the formulas where jumping over my head.

Besides, its been a long time since I have done any Mathematics.

So I decided to write the compounding formula as a program. You can find the program below:

# Print out the purpose of the program
print("This program computes the compound amount using monthly compounding")
print("Reference: An Undergraduate Introduction to Financial Mathematics (Page 3)\n")

# Ask the user for the principal amount
principal = float(input("Please enter the principal amount: "))

# Ask the user for the rate as a percentage
rate = float(input("Please enter the rate: "))

# Ask the user for the number of years as a decimal value
years = float(input("Please enter the number of years as a decimal value: "))

# Compute the compound amount (Page 3)
r_n = rate / (12 * 100)
nt = years * 12
factor = (1 + r_n) ** nt
compound_amount = principal * factor
print("\nThe compound amount is:", round(compound_amount, 2))

In doing so, I have a ready made program that I can use to solve the exercises in the book without having to use a calculator.

Conclusion

The essence of code is to replace human rigour and tedium.

In creating this program, I had to study the formula and come up with my own program.

Now I understand the formula.

You can also find it on GitHub.

Categories
Make Money Online

10 Ways to Make Money Online in 2020 in Nigeria

Introduction

The year 2019 has come and gone with its heartbreaks and failures.

As we start a new year, I encourage everyone living in Nigeria to consider how they can make money online.

A lot of predictions have been made concerning the economy this year. None of them end well.

The best way to protect yourself is to find a way to make money online.

This post will look at 10 ways to make money online in Nigeria.

I shall testify to things that I have heard and seen.

1. Start a Blog

If you live in Nigeria, you would have heard about Linda Ikeji.

Linda Ikeji would give credence to the blogging industry in Nigeria with her success as a blogger.

Initially starting out of a blogspot account, she would pivot to her current block after running into some trouble with Google.

Blogging is a viable means of making money online in Nigeria.

In addition, it opens up offline opportunities.

To start a blog, you should consider buying a web domain and hosting.

You can get these from Namecheap.

2. Start a YouTube Channel

Fisayo Fosudo runs a YouTube channel where he reviews gadgets.

TechCabal did an interview with him early last year.

The beauty of starting out with YouTube is that you don’t have to start out blind.

They provide education via the YouTube Creator Academy.

3. Write for the Opera News Hub

If you are a writer, you should consider the Opera News Hub.

With 163 million active users in Africa, the Opera News Hub is where all the content fed to Opera Mini users and Opera News user is gotten from.

4. Online Freelancing

In Nigeria, one platform that Nigerians make money from is Fiverr.

On Fiverr you list the work you can do and you are matched up with a customer that wants your services.

As time goes on an you build your reputation, you can make money money for your services.

5. Cryptocurrency Trading

Last year, I would learn about Digital Currencies.

With all the dangers ahead of the Nigerian economy, cryptocurrencies are a form of insurance.

Cryptocurrency trading is one way Nigerians make money online.

I have been privileged to meet a few cryptocurrency traders in Nigeria.

They have lost money at various times but have mastered their craft.

6. Affiliate Marketing

The way affiliate marketing works is as paid referrals.

So if I tell you about a product and you then go ahead to buy it, the owner of the product pays me a commission.

A lot of services have affiliate programs.

You only have to search for them.

7. Copywriting

Copywriting is the act or occupation of writing text for the purpose of advertising or other forms of marketing.

The product, called copy, is written content that aims to increase brand awareness and ultimately persuade a person or group to take a particular action.

As the world becomes more digital, this is an important skill that will pay dividend.

8. eCommerce

The last 10 years have witnessed the rise of eCommerce in Nigeria.

Jumia and Konga have been through the eye of the needle and provided the industry with important lessons.

At the end of the decade, the entire industry has figured out online payments.

If you want to make money online, you can consider getting an online store and selling your products from there.

Two options to consider are WordPress and Shopify.

9. Create and Sell Online Courses

You cannot talk about online courses in Nigeria and not mention Stephanie Obi.

In a very short time, she has been able to carve out a niche for herself.

There are a lot of platforms to use in creating online courses.

Stephanie has even gone ahead to create her own called TrainQuarters.

10. Social Media Marketing

Platforms like Instagram have spawned entire ecosystems for buying and selling.

Typically, the seller posts the item that the want to sell.

Then a prospective buyer sends them a message and a transaction occurs.

This will get bigger in the years to come.

Conclusion

A new year as begun with the promise of opportunities to make money online.

You would be wise to take the time out to learn how to make money online.

Welcome to a brave new world.