logo

UNLEASH YOUR INNER WRITER

Join our community of storytellers - where words come to life!

Get Started

Recent blogs

View all
cover_image

Weather Dashoard (Project 1 DevOps Challenge)

Peter Oyelegbin

The goal of this project is to demonstrate core DevOps principles by building a Weather Dashboard. The system integrates external APIs, utilizes cloud storage, and showcases Python development and environment management skills.

 

Key Features

1. Real-time Weather Data Fetching: Integrates with the OpenWeather API to retrieve up-to-date weather information.

2. Cloud Storage: Stores the fetched weather data in AWS S3 for scalability and reliability.

3. Version Control: Utilizes Git for efficient version control and collaboration.

4. Python Development: Implements the system using Python, highlighting scripting and automation skills.

5. Environment Management: Manages dependencies and configurations effectively.

 

Objectives

1. Set Up OpenWeather API:

    - Obtain an API key by registering on the OpenWeather website.

    - Familiarize yourself with the OpenWeather API documentation to understand available endpoints and parameters.

2. Configure AWS CLI for S3 Bucket:

    - Set up an S3 bucket for storing weather data.

    - Ensure proper IAM roles and permissions are in place for secure access.

3. Environment Setup:

    - Install Python (recommended version: 3.9 or higher).

    - Create a virtual environment and install required dependencies using a requirements.txt file.

4. Implement Weather Data Fetching:

    - Write a Python script to fetch weather data using the OpenWeather API.

    - Parse the JSON response to extract relevant weather information.

5. Store Data in AWS S3:

    - Format the extracted data as JSON.

    - Upload the formatted data to the configured AWS S3 bucket.

6. Version Control:

    - Initialize a Git repository for the project.

    - Commit changes incrementally to ensure traceability.

 

Prerequisites

- Python 3.9+

- AWS CLI configured with proper credentials

- OpenWeather API key

 

Steps to Run the Project

1. Install the AWS CLI:

$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

$ unzip awscliv2.zip

$ sudo ./aws/install

aws_cli_setup

 

2. Configure AWS CLI credentials:

$ aws configure

configure_credentials

 

3. Clone the Repository:

$ git clone https://github.com/PeterOyelegbin/weather-dashboard-demo.git

$ cd weather-dashboard-demo

 

4. Install Dependencies:

$ python -m venv venv

$ source venv/bin/activate # On Windows, use "venv\Scripts\activate"

$ pip install -r requirements.txt

 

5. Set Environment Variables:

Create a .env file with the following:

OPENWEATHER_API_KEY=<your_openweather_api_key>

AWS_BUCKET_NAME=<your_s3_bucket_name>

 

6. Run the Script:

$ python src/weather_dashboard.py

result_terminal

 

7. View data in the S3 Bucket result_s3

 

File Structure

structure

 

Future Improvements

1. Add error handling and logging.

2. Schedule periodic data collection using AWS Lambda or a cron job.

3. Visualize the weather data using a dashboard or graphs.

4. Implement CI/CD pipelines for automated deployment.

 

Read more
cover_image

Unlocking the Power of Open-Ended Questions in IT Support: Transforming Customer Complaints into Success Stories

Peter Oyelegbin

As IT support experts, we often encounter customer complaints that need a little extra finesse to resolve. In these challenging scenarios, mastering the art of asking open-ended questions can be a game-changer. In this article, we'll delve into the world of open-ended questions in IT support, revealing how they can help us tackle customer complaints with finesse and expertise.


The Magic of Open-Ended Questions

Open-ended questions are like magic keys that unlock a treasure trove of customer insights. They allow us to:

1. Gather precise details about the issue at hand

2. Understand our customer's viewpoint and concerns

3. Build trust and rapport with our customers

4. Pinpoint the underlying cause of the problem


Examples of Open-Ended Questions to Ask

1. Can you walk me through the issue you're facing in detail?

2. When did you first notice the issue?

3. What were you doing when the problem cropped up?

4. How is this problem affecting your work or daily routine?

5. What troubleshooting steps have you already taken?


Rock-Solid Tips for Addressing Customer Complaints

1. Listen actively and empathetically to the customer's grievances

2. Acknowledge and validate their emotions

3. Use open-ended questions to dig deeper into the issue

4. Provide crystal-clear explanations and practical solutions

5. Follow up to ensure the problem is resolved to the customer's satisfaction


Golden Nuggets of Advice for Support Heroes

1. Stay calm and collected, especially in tense situations

2. Infuse your communication with positivity to defuse stress

3. Take charge of the problem and offer personalized assistance

4. Keep the customer informed about the resolution process and timelines

5. Document the entire issue and its resolution for future reference


By embracing the power of open-ended questions and applying these best practices, we can elevate customer complaints into success stories. Always remember that effective communication and empathy are the keys to turning challenges into rewarding experiences and fostering enduring bonds with our customers.


Read more
cover_image

If It Works, Don't Touch It!

Peter Oyelegbin

  • You have probably heard this saying before but it is one of the unwritten rules and best practices in the IT industry.

    What Does It Mean?
    At the heart of the saying "If it works, don't touch it" is the idea that when a system, process, or piece of code is working properly and fulfilling its intended function, it's best to refrain from making any changes. Avoid attempting to enhance it, refrain from adjusting it, and certainly do not try to repair it if it is not malfunctioning!

    Why Is It Important?
    This rule recognizes that tampering with a working system can often introduce new problems, create unintended consequences, and even lead to catastrophic failures. By leaving working systems alone, IT professionals can:
    - Avoid introducing new bugs or errors
    - Prevent downtime and service disruptions
    - Reduce the risk of security breaches
    - Save time and resources
    - Minimize the risk of unintended consequences

    😊 It's quite amusing that this principle has been repeatedly demonstrated in real-life situations.
    I can recall a few years back when I created a simplified version of a web app and verified that it was functioning properly but the code was bulky. I then decided to refactor the code to make it more readable and optimized. Suddenly, it began to produce an error that I spent days debugging without success. Eventually, I became so frustrated that I decided to delete the entire project. Fortunately, my brother stepped in and reviewed my optimized code, discovering that the bug was caused by case sensitivity in the code.

    Oh, what a relief! A project that took months to build could have been deleted with just one click because I wanted to improve it.

    "If it works, don't touch it" – is a simple yet powerful principle that can save IT professionals from a world of trouble. By respecting working systems and avoiding unnecessary changes, we can ensure the stability, security, and reliability of our digital infrastructure. So, the next time you're tempted to tinker with a working system, remember: if it works, don't touch it!

Read more
cover_image

The Important of Software Testing

Philip Oyelegbin

Software testing is a critical phase in the software development process, playing a pivotal role in ensuring that a software application meets its requirements and functions as expected. This article explores the significance of software testing, its categories, and early testing approaches, shedding light on their advantages and limitations.

 

The Two Faces of Software Testing

 

Software testing can be broadly categorized into two main types: static testing and dynamic testing.

 

1. Static Testing: This type of testing involves the examination of software without its execution. It encompasses activities such as analyzing source code for potential errors, checking for coding style violations, and identifying security vulnerabilities. Static testing can be performed at any stage of development, offering a chance to catch errors even before code compilation.

 

2. Dynamic Testing: In contrast, dynamic testing involves running the software and observing its behavior in a real-world environment. This method provides insights into the software's performance and responsiveness to various inputs. Dynamic testing is typically conducted after code compilation and is crucial for validating the software's real-world functionality.

 

Dynamic Testing Unveiled

 

Dynamic testing can be further divided into two types: white box testing and black box testing.

 

- White Box Testing: Examples of white box testing include unit testing and integration testing. These techniques delve into the internal workings of the software, examining code paths and data flows.

 

- Black Box Testing: Black box testing, on the other hand, focuses on assessing the software's functionality from an external perspective. It is further divided into system testing and user acceptance testing, with examples including alpha and beta testing. These tests evaluate the software without knowledge of its internal code.

 

The Significance of Early Testing

 

Early testing is a crucial practice that offers several advantages:

 

- Building User Trust: Early testing instills confidence in users, assuring them of the software's reliability.

 

- Defect Discovery: It allows for the detection of defects at the initial stages of development, reducing the cost of fixing issues later.

 

- Early Validation: Early testing ensures that the software aligns with user expectations and requirements.

 

Early Testing Approaches

 

Two primary early testing approaches are Behavior-Driven Development (BDD) and Test-Driven Development (TDD).

 

- Behavior-Driven Development (BDD): BDD emphasizes writing tests that describe the software's expected behavior from a user's perspective. It promotes collaboration between developers, testers, and business stakeholders and leads to better-quality software.

 

- Test-Driven Development (TDD): TDD is an iterative practice where unit tests are written before the actual code. It follows a cycle of writing a test, implementing the code to pass the test, and refactoring for optimization and readability.

 

Advantages and Limitations

 

Advantages of BDD:

- Shared understanding of requirements.

- User-centric testing.

- Improved collaboration.

- Early error detection.

 

Limitations of BDD:

- Coverage challenges for complex systems.

- Maintenance overhead.

- Time-consuming test creation.

- Requires discipline and collaboration.

 

Advantages of TDD:

- Enhanced application and code quality.

- Higher test coverage.

- Increased developer productivity.

- Better understanding of code.

 

Limitations of TDD:

- Adoption challenges.

- Maintenance complexity.

- Potential confusion among developers.

 

Testing Tools

 

Two notable testing tools are Mocha and Jest.

 

- Mocha: Mocha is a minimalistic framework designed for test execution and result reporting. It is flexible and straightforward but lacks built-in assertions and mocks. It is often paired with Chai, a library providing various assertion methods, to enhance testing expressiveness and readability.

 

- Jest: Jest is a feature-rich framework that includes built-in assertions, mocks, and other testing utilities. It offers a user-friendly interface for viewing test results, making it a comprehensive choice for developers.

 

In conclusion, software testing is indispensable in software development, ensuring that software meets requirements and functions correctly. Understanding the various testing types, early testing approaches, and testing tools can empower developers to build reliable and high-quality software products.

Read more
cover_image

Embrace of Love

Peter Oyelegbin

At first, we were a strong couple, but as I embarked on a journey to find myself, our love slowly drifted apart. I found myself lost, trying to be someone I wasn't, and this pushed us away from each other. I ended up walking alone, feeling like no one truly accepted me for who I was, but only for the facade I had created.

 

Despite the distance between us, your love never ceased to pursue me. Eventually, you found me again, and I saw the sadness in your eyes as you witnessed the struggles I had endured during my time away. It was in that moment that I remembered the perfection of your love—unfailing, unending, unconditional, and sacrificial. Your love had the power to break through my barriers, melt away my insecurities, and transform me into a better version of myself. Walking with you again made me realize that your love for me is pure and transcendent. It doesn't depend on my imperfections; it simply exists, eternally.

 

I vowed not to let you go again, as your return to my life brought meaning and purpose back into my existence. I now know that I belong in the embrace of your perfect love, where my soul finds solace and comfort. Like a lamp stand forever before you, I stand tall, secure in your love's glow.

 

In the moments we were apart, I searched for my identity but found myself increasingly adrift in a sea of uncertainty. I yearned for acceptance, validation, and love. However, the more I tried to be someone I wasn't, the further I distanced myself from the person you had fallen in love with.

 

In contrast, your love was persistent and unyielding. When our paths crossed again, your presence reignited a spark within me. Your unwavering support and compassion reminded me of the profound impact your love had on my life. It is a love that sees past my flaws, forgives my mistakes, and encourages my growth.

 

As we walk together once more, I realize that the purity of your love sets it apart from any other. It is not a love that expects perfection but embraces imperfection and nurtures it. Your love is a beacon of hope, lighting up the darkest corners of my heart and illuminating the path ahead.

 

In your presence, I am no longer burdened by the need to pretend or conform. Your love grants me the freedom to be my authentic self, flaws and all. The knowledge that you cherish me for who I truly am fills me with a profound sense of gratitude and awe.

 

I am grateful for the moments of separation because they made me appreciate the depth of your love. Through those challenging times, I learned that your love knows no boundaries. It stretches beyond the limits of time and space, reaching out to me even when we are physically apart.

 

Now, I find strength in your love and the assurance that I am never alone. No matter the trials that lie ahead, I know that your love will sustain and uplift me. It is the anchor that keeps me grounded when the storms of life threaten to overwhelm me.

 

As I reflect on our journey, I understand that true love is not about being flawless but about accepting and embracing each other's imperfections. Your love has taught me that love is not about changing someone into an idealized version of themselves but about supporting their growth and evolution.

 

With you, I have found my home—the place where I am unconditionally loved and accepted. In the sanctuary of your love, I am free to explore, learn, and become the best version of myself. Your love has given my life purpose and direction.

 

In conclusion, I am eternally grateful for your unwavering love. You have shown me the true meaning of love—a love that is genuine, selfless, and all-encompassing. I am committed to cherishing and nurturing our love, for it is a precious gift that brings joy, fulfillment, and meaning to my life. Together, we will continue to grow, evolve, and bask in the warmth of each other's love.

 

Inspired by God, written by His instrument.
© 2019

 

Reference:

Refreshing 2019 (Thy First Love)

Google photos (edited)
 

Read more
cover_image

Assurance of Destination (volume 2)

Philip Oyelegbin

Assurance of Destination (Gen 37:5&9, 39:20, 41:40-45) Volume 1 talks about 'the path' to our destination, now we will focus on 'the bridge'


Dumebi on a journey to her destination she encountered so many events of evil but she kept going. Getting to a point, she looked onwards, there was a man by the bridge and she thought to herself that she would be denied access to use the bridge for she was robed on her way and she had no money to pay. Here comes a division within her ‘should I press on or retreat’, she decided to press on. Heading towards the man by the bridge she said to the man ‘Sir, I would like to make use of the bridge but I've got no means of payment’, ‘worry not, it's been paid for’ said the man. She made use of the bridge and got to her destination.


Bridge definition

Merriam Webster-1 a: a structure carrying a pathway or roadway over a depression or obstacle b: a time, place, or means of connection or transition


Before we consider our main character “Joseph” let's take a careful look at ‘Ruth’


Now do as I tell you—take a bath and put on perfume and dress in your nicest clothes. Then go to the threshing floor, but don’t let Boaz see you until he has finished eating and drinking. Be sure to notice where he lies down; then go and uncover his feet and lie down there. He will tell you what to do.”(Ruth 3:3-4)


Despite Ruth predicament she journeyed the path to her destination when she followed Naomi but she has not arrived at her destination because she has not crossed “The Bridge”. From the above bible verses, an instruction was given to her by Naomi whom she obeyed. The event which followed her obedience signified that Ruth got to her destination.


Then Boaz said to the elders and to the crowd standing around, “You are witnesses that today I have bought from Naomi all the property of Elimelech, Kilion, and Mahlon. And with the land I have acquired Ruth, the Moabite widow of Mahlon, to be my wife. This way she can have a son to carry on the family name of her dead husband and to inherit the family property here in his hometown. You are all witnesses today.” So Boaz took Ruth into his home, and she became his wife. When he slept with her, the lord enabled her to become pregnant, and she gave birth to a son. (Ruth 4:9-10, 13)


“The Bridge” to Ruth destination was her obedience to the instruction given by Naomi.


What was the bridge for Joseph?


The next morning Pharaoh was very disturbed by the dreams. So he called for all the magicians and wise men of Egypt. When Pharaoh told them his dreams, not one of them could tell him what they meant. Finally, the king’s chief cup-bearer spoke up. “Today I have been reminded of my failure,” he told Pharaoh. Then Pharaoh said to Joseph, “I had a dream last night, and no one here can tell me what it means. But I have heard that when you hear about a dream you can interpret it.” “It is beyond my power to do this,” Joseph replied. “But God can tell you what it means and set you at ease.”


[28]“This will happen just as I have described it, for God has revealed to Pharaoh in advance what he is about to do. “Therefore, Pharaoh should find an intelligent and wise man and put him in charge of the entire land of Egypt. Then Pharaoh should appoint supervisors over the land and let them collect one-fifth of all the crops during the seven good years. Have them gather all the food produced in the good years that are just ahead and bring it to Pharaoh’s storehouses. Store it away, and guard it so there will be food in the cities. Joseph’s suggestions were well received by Pharaoh and his officials. (Gen 41:8-9, 15-16, 28, 33-35, 37) Joseph hadn't been forgotten by the cup bearer was remembered due to Pharaohs distress. From the above bible verses, not only did Joseph interpret the dream but he also gave solutions to the problem. The event which follows shows that Joseph got to his destination. You will be in charge of my court, and all my people will take orders from you. Only I, sitting on my throne, will have a rank higher than yours.” Pharaoh said to Joseph, “I hereby put you in charge of the entire land of Egypt.” Then Pharaoh removed his signet ring from his hand and placed it on Joseph’s finger. He dressed him in fine linen clothing and hung a gold chain around his neck. Then he had Joseph ride in the chariot reserved for his second-in-command. And wherever Joseph went, the command was shouted, “Kneel down!” So Pharaoh put Joseph in charge of all Egypt. And Pharaoh said to him, “I am Pharaoh, but no one will lift a hand or foot in the entire land of Egypt without your approval.”(Gen 41:40-44) The Bridge to Joseph destination was the solution he provided to Pharaohs distress. From our definition we can denote that despite the obstacles on his path, God connected him to his destination with a bridge. I see a bridge as an object that changes the motion of our journey. As important as the path seems, the bridge is very crucial. I present to you Christ, the bridge to your destination. It doesn't matter how far the distance, God is faithful to his words.


Put God First (stanza 1)

Though rough or smooth may be the way, Put God first; He see-eth ev’rything you do, As swift life’s journey you pursue. Be careful lest you prove untrue, Put God first;


#Divinely_Inspired God bless you ©2018


Author’s corner

Whatever was given to you free of charge has been paid for by someone else, likewise your salvation. Don’t take it for granted, cherish and guide it with jealousy.


Reference

Freepik image

The Holy Bible

Merriam-Webster Dictionary

Assurance of Destination (Volume 1)- Oyelegbin K. Philip

Hymnlyrics– Put God First

Read more
cover_image

Brave Surrender

Peter Oyelegbin

Have you ever pondered the true significance of completely surrendering everything? It's one thing to label yourself as a believer, but have you truly relinquished everything? Numerous individuals claim to be believers, yet they are unwilling to release their desires. They still yearn for worldly experiences while holding onto their beliefs. Do you grasp the genuine essence of giving your all?

 

Revelation 5:2-7 read thus, I witnessed a powerful angel making a loud declaration, asking, 'Who possesses the worthiness to break the seals and unveil the scroll?' However, neither in heaven, nor on earth, nor beneath the earth, was there anyone capable of opening the scroll or even glimpsing its contents. My sorrow overwhelmed me, and tears streamed down my face, for no one deserving was found to unlock the scroll or explore its contents. Then one of the elders reassured me, saying, 'Do not weep! Behold, the triumphant Lion of the tribe of Judah, the Root of David, has emerged. He possesses the ability to open the scroll and its seven seals.' Subsequently, I beheld a Lamb, appearing as though it had been sacrificed, positioned at the center of the throne, surrounded by the four living creatures and the elders. This Lamb possessed seven horns and seven eyes, which symbolize the seven spirits of God dispersed throughout the entire earth. The Lamb approached and retrieved the scroll from the right hand of the one seated on the throne.

 

When it appeared that there was no one prepared to save you and me from sin, He arose and renewed all the hope that had been lost. So, what was the reaction to this remarkable act of surrender?

In Revelation 5:8-14, after receiving the scroll, the Lamb was approached by the four living creatures and the twenty-four elders, who prostrated themselves before him. Each of them held a harp and golden bowls filled with incense, representing the prayers of God's people. They sang a new song, declaring his worthiness to unseal the scroll. The reason being that he was sacrificed and through his blood, he redeemed individuals from every tribe, language, people, and nation, forming them into a kingdom of priests to serve God. These redeemed ones will reign on the earth. Then, I witnessed a multitude of angels numbering thousands upon thousands, and ten thousand times ten thousand. They encircled the throne, the living creatures, and the elders, raising their voices in unison, proclaiming the Lamb's worthiness to receive power, wealth, wisdom, strength, honor, glory, and praise. Furthermore, I heard every being in heaven, on earth, under the earth, and in the sea, along with everything in them, praising and honoring the One who sits on the throne and the Lamb, bestowing glory, power, and eternal praise upon them. The four living creatures responded with "Amen," and the elders once again fell down in worship.

 

The profound significance of willingly offering everything was evident in the response to this remarkable act of surrender. In Matthew 26:42, Jesus went away and prayed for the second time, expressing, "My Father, if it is not possible for this cup to be taken away unless I drink it, may your will be done." Even in the most challenging moments, Jesus never held back, demonstrating a truly remarkable act of surrender. Giving everything stems from a heart that is ready and willing. Have you made or are you making numerous wrong decisions? Jesus bore the consequences for those decisions and fully paid the price, ensuring that you would not have to spend the remainder of your life in darkness but could experience true freedom.

 

Your decision, His punishment.

Your wants, His death.

Everything about you brought about His condemnation.

His love gave you redemption

His sacrifice gave you eternal hope.

His decision gave you rest.

His last breath on the cross gave you life.

This is Brave Surrender!

 

What will your reaction be to the One who took your position, when the Son willingly offered himself and the Father released the Son for the purpose of redeeming souls (John 3:16)?

 

Inspired by God, written by His instrument

© 2018

 

Reference:

The Holy Bible

Brave Surrender (music by Kim Walker-Smith)

Google photo (edited)

 

Read more
cover_image

She Only Asked for a Bit!

Peter Oyelegbin

As I boarded the BRT bus, a young school girl approached me with a polite request. "Sir, I need to board the bus. Can I follow you?" Her choice of words caught me off guard. At an age where I considered myself to be a "bros" rather than a "sir," I couldn't help but wonder if I appeared older than I actually was. Nevertheless, I decided to lend her a helping hand and guide her onto the bus.

 

Once inside, the girl hesitated between standing and finding a seat. Eventually, she opted to take a seat, carefully selecting a spot of her choice. The bus wasn't yet filled to capacity, so she had the freedom to sit wherever she pleased. Throughout the journey, she seemed to be thoroughly enjoying herself, content with the seat she had chosen.

 

Reflecting upon this encounter, I couldn't help but think about how the situation could have unfolded differently. The girl could have asked for money to cover her bus fare, as many people in similar circumstances often do. In that case, I might have easily brushed off her request, as it has become all too common to encounter individuals seeking financial assistance. However, her appeal was different. It was unique, and it tugged at my heartstrings, compelling me to respond in a way I wouldn't have anticipated.

 

It made me realize that sometimes we underestimate the power of asking for the right things. We often have a tendency to believe that bigger is better, assuming that larger requests hold more value. However, we fail to recognize that even seemingly small requests can be life-changing. While it is true that our Heavenly Father is capable of granting any request, it is crucial for us to align our petitions with His will.

 

We must not be deceived into thinking that a small request holds little significance. In reality, a seemingly inconsequential plea can position us for the very best outcomes. The girl in this story asked for something that may have appeared small, but in doing so, she received the best possible result.

 

In our own lives, we often find ourselves faced with numerous choices and decisions. We may be tempted to ask for grand blessings, assuming that they will provide the most fulfillment. However, it is essential to discern the true nature of our desires and ask for what is aligned with our purpose and the greater good.

 

By seeking the right things, regardless of their perceived magnitude, we open ourselves up to receiving the most favorable outcomes. Our requests should not be driven solely by the scale of what we hope to attain, but rather by our genuine understanding of what will bring us true fulfillment and enable us to make a positive impact on the world.

 

The story of the school girl on the bus serves as a powerful reminder that the size of our requests does not always correlate with the quality of the outcome. It is the essence of our requests that truly matters. When we ask for the right things, no matter how small they may appear, we position ourselves to receive the very best that life has to offer.

 

Therefore, let us not underestimate the power of asking for what is right and aligned with our purpose. May we discern our desires wisely and have the courage to make humble requests, knowing that even the smallest of pleas can lead us to the most extraordinary blessings.

 

In conclusion, the encounter with the school girl on the BRT bus taught me a valuable lesson. It challenged my preconceived notions about the significance of requests and reminded me of the power of asking for the right things. We should not be swayed by the illusion that only big requests hold value. Instead, we should focus on aligning our petitions with our true purpose and the greater good. By doing so, we position ourselves to receive the best possible outcomes, even if the requests may seem small in the eyes of the world. So, let us not be deceived by the size of our desires, but rather seek the right things and trust that our Heavenly Father will provide us with the very best.

#askRIGHT

 

© 2016

Read more

Nigeria News

cover_image

Suspect Arrested As Vehicle Attack Kills Several, Injures Others At Vancouver’s Filipino Festival

saharareporters.com

Suspect Arrested As Vehicle Attack Kills Several, Injures Others At Vancouver’s Filipino Festival

Read
cover_image

Barcelona defeat Real Madrid to win Copa del Rey

premiumtimesng.com

It was an enthralling Copa del Rey final in a raucous atmosphere at Seville’s La Cartuja stadium on Saturday night.

Read
cover_image

NiMet predicts three-day thunderstorms, haziness across Nigeria

premiumtimesng.com

NiMet urged the public to take adequate precautions as strong winds might precede the rains in areas with expected thunderstorms.

Read
cover_image

Ezeh on Target as Crystal Palace Reach FA Cup Final

thisdaylive.com

Read
cover_image

Beyond the Scriptures with New Perspectives on Spiritual Truths

thisdaylive.com

Read
cover_image

Kounde Wins Clasico Copa del Rey for Barcelona

thisdaylive.com

Read

World News

No news available