Categories
State of the Nation

Na To Kill Us Remain

People who fled Nigeria as economic migrants, will suddenly expect those who stayed behind in Nigeria to produce excellent work at their pleasure.

If it was so easy to produce excellent work in Nigeria, why did you leave?

Onye Nkuzi

The above quote summarizes my experience this month. Whenever something bad about Nigeria comes up, I always find that Nigerians living abroad bash Nigeria worse than foreigners.

Why do we hate ourselves to the point where we lack empathy for each other?

The news for the past week isn’t any better. This post was supposed to be out yesterday but life got in the way.

Amaechi Escapes as Kidnappers Attack Abuja-Kaduna Train Passengers

Proving that bad governance will kill everyone, the minister of transportation got attacked in the Rigasa train station.

Initially, the allegation would be denied leading to some back and forth online. Sadly, the aide to the minister would not leave Kaduna alive.

We are Africans. Out of respect for the dead, let it end here.

How SARS Man Pushed our Player to Death – Remo Stars FC

There is no Nigerian who has not been harassed by SARS. Sadly, a young man lost his life last week.

IMF Cuts Nigerian Growth Forecast on Coronavirus Oil Impact

The Nigerian economy already has its back against the wall with all the issues from last year.

Now the Coronavirus is threatening the Nigerian economy.

Due to the dependency on oil, the Nigerian economy will be hit by the situation in China.

As a result of this, the IMF has cut the growth forecast for the country to 2 percent.

CBN Forex Intervention Hits $43.5bn in 15 Months

Proving that insanity is the current government policy in Nigeria, the CBN has spent $43.5 billion Naira “Defending the Naira”.

Not building infrastructure or capacity for the future but simple playing the forex market.

It will only end in tears.

Inflation Rises to 12.13% the Highest in 21 Months

The aftermath of Buharinomics hit home in January when the inflation figures for the month of January were released.

Inflation has been on a steady increase since August when the borders of the nation were closed.

If the plan is to impoverish Nigerians, the current adminstration is on the right path.

Reps Order 400 Exotic Cars Reject Nigerian Brands

In Nigeria, the laws are for the week. So while Nigerians must eat foreign rice heaven forbid that our senators drive Nigerian cars.

Senator Introduces Bill to Create Agency for Repentant Boko Haram Members

If you kill, maim or terrorise Nigerians, the current House of Representatives has a plan for you.

However, if you say anything against the government in power, you will be “Vanished” by the DSS.

The Chronicle of the Green Car

How did the promise of a bright future become aborted?

This artist made a collection of drawings on Twitter. They reflect a deep and honest recollection of events that have led us to where we are today.

How will this end?

Categories
Words on Marble

Once More Unto the Breach

Once more unto the breach, dear friends, once more;
Or close the wall up with our English dead.
In peace there’s nothing so becomes a man
As modest stillness and humility:
But when the blast of war blows in our ears,
Then imitate the action of the tiger;
Stiffen the sinews, summon up the blood,
Disguise fair nature with hard-favour’d rage;
Then lend the eye a terrible aspect;
Let pry through the portage of the head
Like the brass cannon; let the brow o’erwhelm it
As fearfully as doth a galled rock
O’erhang and jutty his confounded base,
Swill’d with the wild and wasteful ocean.
Now set the teeth and stretch the nostril wide,
Hold hard the breath and bend up every spirit
To his full height. On, on, you noblest English.
Whose blood is fet from fathers of war-proof!
Fathers that, like so many Alexanders,
Have in these parts from morn till even fought
And sheathed their swords for lack of argument:
Dishonour not your mothers; now attest
That those whom you call’d fathers did beget you.
Be copy now to men of grosser blood,
And teach them how to war. And you, good yeoman,
Whose limbs were made in England, show us here
The mettle of your pasture; let us swear
That you are worth your breeding; which I doubt not;
For there is none of you so mean and base,
That hath not noble lustre in your eyes.
I see you stand like greyhounds in the slips,
Straining upon the start. The game’s afoot:
Follow your spirit, and upon this charge
Cry ‘God for Harry, England, and Saint George!’

The above poem is from the movie adaptation of the play by William Shakespeare about the life of King Henry V of England.

The image was obtained here. You can watch a beautiful rendition of the poem on YouTube.

Categories
Electronics

Using a USB Port to Supply Current from a Laptop

I have spent most of this week treating Malaria. This would be the first time this year that I would have to undergo treatment.

During treatment, I had a chance to review some areas of my life and I have made a decision.

I have decided to return to Electronics Engineering. It is my road back to Hardware the real reason I would fall in love with Engineering in the first place.

My first step would be to find a source of power. I didn’t want to use batteries so I investigated the use of the USB Port of a laptop.

My search led me to this Instructable. I followed the instructions resulting in the image shown above.

I don’t know where this road will lead but I will no longer try to survive in a world where dreams die.

Finding a source of power is the first step.

Where I go next, I don’t know.

Categories
Make Money Online

Wage Slavery

When you live in the poorest nation in the world, wage slavery is a reality.

You earn peanuts and to add insult to injury, you might be owed your salary for months on end.

That was my life once upon a time before I took the plunge to make money online.

The truth is that I am still figuring this out. I made some money this month through writing so I know that it works. The challenge is to scale the amount of income made.

Yesterday, I discovered that I couldn’t make money using affiliate marketing as this site didn’t have enough traffic.

It is only something you can learn from experience. In Nigeria, we say that a person who used mouth to learn driving won’t get into an accident.

N50,000 is $138 by the current exchange rate. How much can that get you?

That is the reality of living in Nigeria at the moment. There is no end in sight to the suffering.

Were I a candidate who knew Microsoft Excel, I would tempt my fate on Fiverr or Upwork.

Freelancing online is way better than frustrating yourself in traffic especially if you live in Lagos.

Categories
Drawing Adinkra Symbols using Python

Abusua Pa

Abusua Pa means “Good Family”. It is the symbol of the family unit. Typically in Akan culture, Abusua is the name in Akan culture for a group of people that share common maternal ancestry.

The Abusua line is considered to be passed through the mother’s blood. It is a taboo to marry someone from the same Abusua.

We will use the 5-pixel grid to trace out this image. The image of this is shown below:

Abusua Pa Adinkra Symbol on Grid
Abusua Pa Adinkra Symbol on Grid

Analysing the Symbol

The symbol is a composite symbol made up of a hollowed out square. The inner part of the square consists of four sections which are lined like a window pane.

The outer part of the square intersects with 4 semi-circles. The widths of all the component shapes are the same.

The Plan to Draw the Symbol

To draw this symbol, the first task is to increase the pensize to 40 pixels. Next we move the turtle to the position (-100, 100).

We find the distance between (-100, 100) to (100, -100) and use the drawSquare function to draw the outer square.
Next we move to the position (-100, 0) and draw the horizontal centre line. We then move to the position (0, -100) and draw the vertical centre line.

Once we have completed the outer square and its centre lines, we draw the external semi-circles.

Finally, we reduce the pensize to 5 and draw the inner sections of the symbol.

Algorithm to Draw the Symbol

The algorithm to draw the Abusua Pa symbol is shown below:

  1. Lift up the pen
  2. Set the pensize to 40 pixels
  3. Set the position of the pen to the location (-100, 100)
  4. Place the pen down
  5. Find the length of the side of the outer square
  6. Draw the outer square
  7. Draw the inner centre lines
  8. Draw the outer semi-circles
  9. Reduce the pensize to 5
  10. Draw the inner squares

Using Turtle Graphics

We will use the template.py file and rename it to abusuapa.py.

The code for steps 1 to 4 is given below:

turtle.penup()
turtle.pensize(40)
turtle.setposition(-100, 100)
turtle.pendown()

To find the length between the two points, we use the coordinateDistance function which is shown below:

def coordinateDistance(x1, y1, x2, y2):
dx = x1 – x2
dy = y1 – y2
D = math.sqrt((dx * dx) + (dy * dy))
return D

We calculate the length between the two points using the code shown below:

length = coordinateDistance(-100, -100, 100, -100)

We then draw a square using the drawSquare function.

drawSquare(length)

The generated image is shown below:

Outer Square
Outer Square

I realize that since we are using the drawSquare function, we no longer need the setposition code. We can comment it out.

To draw the center lines, we have to move the turtle to the left-hand side and move forward by the length of the side. Next, we move the turtle to the bottom, set its heading to 90 degrees and move up by the length of the side. The code to do this is shown below:

turtle.setposition(-100, 0)
turtle.pendown()
turtle.forward(length)
turtle.penup()
turtle.setheading(90)
turtle.setposition(0, -100)
turtle.pendown()
turtle.forward(length)

The generated image is shown below:

Centre Lines
Centre Lines

To draw the outer circle we will start with the top and move clockwise. To draw the upper circle, we need to move the turtle to the position (50, 120). Then we draw the semi-circle. The code to do this is shown below:

turtle.penup()
turtle.setposition(50, 120)
turtle.pendown()
turtle.circle(50, 180)

The generated image is shown below:

First Semi-Circle
First Semi-Circle

To draw the remaining semi-circles, we move clockwise and also change the heading of our turtle accordingly. The code to do this is shown below:

turtle.penup()
turtle.setposition(120, -50)
turtle.setheading(0)
turtle.pendown()
turtle.circle(50, 180)

turtle.penup()
turtle.setposition(-50, -120)
turtle.setheading(270)
turtle.pendown()
turtle.circle(50, 180)

turtle.penup()
turtle.setposition(-120, 50)
turtle.setheading(180)
turtle.pendown()
turtle.circle(50, 180)

The generated image is shown below:

Outer Semi-Circles
Outer Semi-Circles

Completing this shape is easy. All we have to do is draw the lines that are within the squares. To do this we must reduce the pensize to 5 and set the orientation of the turtle appropriately to draw the lines.

The code below will draw all the vertical lines:

turtle.penup()
turtle.pensize(5)
turtle.setposition(-60, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-40, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(40, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(60, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

The generated image is shown below:

Vertical Lines
Vertical Lines

To draw the remaining horizontal lines, I shall start from the bottom of the symbol and work my way up.

The code to do this is shown below:

turtle.penup()
turtle.setposition(-100, -60)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-100, -40)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-100, 40)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-100, 60)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

The generated image is shown below:

Final Symbol
Final Symbol

Complete Code

"""
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
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
turtle.penup()
turtle.pensize(40)
turtle.setposition(-100, 100)
turtle.pendown()

def coordinateDistance(x1, y1, x2, y2):
    dx = x1 - x2
    dy = y1 - y2
    D = math.sqrt((dx * dx) + (dy * dy))
    return D

length = coordinateDistance(-100, -100, 100, -100)
drawSquare(length)

turtle.setposition(-100, 0)
turtle.pendown()
turtle.forward(length)
turtle.penup()
turtle.setheading(90)
turtle.setposition(0, -100)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(50, 120)
turtle.pendown()
turtle.circle(50, 180)

turtle.penup()
turtle.setposition(120, -50)
turtle.setheading(0)
turtle.pendown()
turtle.circle(50, 180)

turtle.penup()
turtle.setposition(-50, -120)
turtle.setheading(270)
turtle.pendown()
turtle.circle(50, 180)

turtle.penup()
turtle.setposition(-120, 50)
turtle.setheading(180)
turtle.pendown()
turtle.circle(50, 180)

turtle.penup()
turtle.pensize(5)
turtle.setposition(-60, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-40, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(40, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(60, -100)
turtle.setheading(90)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-100, -60)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-100, -40)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-100, 40)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

turtle.penup()
turtle.setposition(-100, 60)
turtle.setheading(0)
turtle.pendown()
turtle.forward(length)

# End the program
turtle.done()

Where Can It Be Found?

A brief Google search led to only one significant reference online which is the Abusua Pa Experience.

Abusua Pa Experience is a travel and tour experience company based in Cape Coast, Ghana.

Summary

At the end of this post, we have successfully used the Python Turtle environment to draw the Abusua Pa symbol.

The code for this series is available on GitHub. Please feel free to check it out.

Next time, we will look at the Akoma Ntoaso Adinkra symbol.

Support this Series

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

You can support this series by buying one of them.