Henry Nnonyelu retweeted
This makes me scared of the religion. Then you'll find some Africans are Muslim, ๐ญ๐ญwhy? Your ancestors were taken into slavery by the same religion you believe in.
Henry Nnonyelu retweeted
BREAKING: Starlink just helped make medical history in Africa! ๐ณ๐ฌ
Using a Starlink internet connection, a surgeon near Lagos remotely controlled a robot to remove a cancerous kidney from a patient in Abuja, around 500 km away, in West Africaโs first tele-robotic surgery.
Henry Nnonyelu retweeted
Afua Hirsch: "BBC Wanted Me to Include 'Corruption' in African Art Documentary"
At the World Decolonization Forum in May 2026, journalist Afua Hirsch (@afuahirsch) ripped on the BBC for asking her to include images of poverty and corruption in a documentary series about art in Africa.
When will Africans ever be able to talk about our accomplishments without mentioning ridiculous Western-generated tropes? Drop us a comment.
Follow us: @Spearhead_Af
Video credit: worlddecolonizationforum (YouTube)
Henry Nnonyelu retweeted
Former Refugee: "I Witnessed Foreign Aid Workers Drop Off G*ns, Alcohol & Dr*gs to Refugees"
Congolese refugee in Botswana Tina Nyambwe says she canโt trust the United Nations after all of the human rights violations she witnessed as a child.
Can you blame her? Drop us a comment.
Follow us: @Spearhead_Af
Video credit: tina.sambo.96 (Facebook)
Henry Nnonyelu retweeted
โIf Your Name Is Michael And You Stay In The UK, And Your Girlfriend Is Tolani Who Stays In Abuja, Know That Your Girlfriend Is Pregnant For Her Nigerian Boyfriend. Theyโre Planning To Pin The Pregnancy On You Because Youโre Coming Back Next Month To Do An Introduction For Her. You Better Abort Coming.โ ~ A Lady And Her Friend Claim To Have Overheard a Conversation And Are Warning a UK Based Nigerian Man Identified As Michael To Be Careful About His Soon-To-Be Wife. ๐
Henry Nnonyelu retweeted
She isn't wrong. Cartoons have no business having LGBTQIA characters, as it is cartoons are what shapes children's mind and they mimick what they see cartoons doing.
Henry Nnonyelu retweeted
System Design - Event Driven Architecture and messaging โ Day 42-Synchronous vs Asynchronous Communication
Every API call doesn't need an immediate response.Knowing when to wait and when not to is one of the biggest differences between building small applications and designing scalable systems.
What is Synchronous Communication?
In synchronous communication, the caller waits until the receiver finishes processing and returns a response.
Client
โ
โผ
Order Service
โ
โผ
Payment Service
โ
(wait)
โ
Response
The request isn't complete until every required service responds.
Examples:
REST APIs
gRPC
Database Queries
Authentication APIs
What is Asynchronous Communication?
In asynchronous communication, the caller doesn't wait for downstream processing to finish.
Client
โ
โผ
Order Service
โ
Publish Event
โ
Message Queue
โฑ โ โฒ
โผ โผ โผ
Email Inventory Analytics
The request returns immediately while background workers process the remaining tasks.
Real-World Example
Synchronous Checkout
Place Order
โ
Charge Card
โ
Update Inventory
โ
Send Email
โ
Generate Invoice
โ
Return Success
If the email service is slow...
๐ The customer waits.
Asynchronous Checkout
Place Order
โ
Charge Card
โ
Save Order
โ
Publish Event
โ
Return Success
Background Workers
โข Send Email
โข Update Inventory
โข Generate Invoice
โข Notify Warehouse
The customer receives a response immediately.
Synchronous vs Asynchronous
Synchronous Asynchronous
Caller waits Caller continues
Blocking Non-blocking
Lower complexity Higher complexity
Immediate response Eventual completion
Tightly coupled Loosely coupled
Critical workflows Background processing
Use Synchronous For
โ
Login
โ
Payment Authorization
โ
OTP Verification
โ
Search
โ
Profile Updates
Anything requiring an immediate response.
Use Asynchronous For
โ
Email
โ
Notifications
โ
Analytics
โ
Audit Logs
โ
Image Processing
โ
Report Generation
โ
Video Encoding
โ
Recommendation Engine
Production Tip
Don't make users wait for work they don't care about.
A customer cares that:
- Their payment succeeded
- Their order is confirmed
They don't care if the confirmation email is sent 300 ms later.
That's exactly what asynchronous processing is designed for.
Common Mistake
Many teams make every service call synchronous.
As the number of dependent services grows:
- Latency increases
- Failure rates increase
- Availability decreases
One slow dependency can delay the entire request.
Key Takeaway
Use synchronous communication for operations that require an immediate response.
Use asynchronous communication for work that can happen in the background.
The best production systems combine both.
Henry Nnonyelu retweeted
System Design Fundamentals - Caching and Performance - Day 36
Health Checks & Failover: What Happens When a Server Goes Down?
You have 3 application servers behind a load balancer.
โโโโบ Server A
Users โโโบ Load Balancer โโโบ Server B
โโโโบ Server C
Everything works perfectly.
Then...
Server B crashes.
If the load balancer continues sending traffic to Server B:
Request
โ
โผ
Server B
โ
X
500 / Timeout
Users start seeing failures.
So how does the load balancer know that a server should stop receiving traffic?
That's where Health Checks come in.
What Is a Health Check?
A load balancer periodically checks whether each backend instance is healthy.
Load Balancer
โ
โโโโบ Server A โ Healthy
โโโโบ Server B โ Healthy
โโโโบ Server C โ Healthy
If a server repeatedly fails its health check:
Server B
โ
Health Check Failed
โ
Marked Unhealthy
โ
Removed From Rotation
New requests are sent only to healthy servers.
Liveness vs Readiness
This distinction is extremely important.
Liveness
Asks:
"Is the application process alive?"
If not, the process may need to be restarted.
App Running?
โ
Yes โ Alive
No โ Restart
Readiness
Asks:
"Can this instance serve traffic right now?"
An application can be alive but not ready.
For example:
- Database connection unavailable
- Critical dependency unavailable
- Application still starting
- Internal initialization incomplete
In that case, the instance should remain running but temporarily stop receiving traffic.
Application
โ
Alive? โ YES
โ
Ready? โ NO
โ
Don't Send Traffic
What Should a Health Check Verify?
A simple endpoint might return:
GET /health
200 OK
But a useful readiness check may verify critical dependencies.
For example:
Application โ
Database โ
Redis โ
Critical Service โ
However, be careful.
If every dependency is included blindly, one minor downstream failure could mark every application instance unhealthy and cause a larger outage.
Health checks should reflect whether the instance can meaningfully serve the traffic it receives.
Active vs Passive Health Checks
Active Health Check
The load balancer periodically sends a request.
Load Balancer
โ
โผ
GET /health
โ
โผ
Server
If multiple checks fail, the server is marked unhealthy.
Passive Health Check
The load balancer observes real traffic.
If a backend repeatedly returns:
Timeouts
Connection Errors
5xx Responses
It may temporarily remove that backend from rotation.
What Is Failover?
Health checks detect failure.
Failover determines what happens next.
Imagine:
Primary Server
โ
X
Failed
โ
โผ
Backup Server
Traffic automatically switches to a healthy alternative.
That's failover.
Server Failover
Suppose you have:
Load Balancer
โ
โโโโบ Server A โ
โโโโบ Server B X
โโโโบ Server C โ
Server B fails.
The load balancer removes it.
Traffic continues through A and C.
Users
โ
Load Balancer
โ
โโโโบ Server A
โโโโบ Server C
Users may never even know that Server B went down.
Database Failover
Failover isn't only for application servers.
Imagine:
Application
โ
โผ
Primary DB
โ
Replication
โ
Replica DB
If the primary database fails, depending on the database architecture and configuration, a replica can be promoted to become the new primary.
Primary DB
X
โ
Failover
โ
Replica
โ
New Primary
This process may be automatic or manual.
Multi-Zone Failover
Production systems often spread infrastructure across multiple availability zones.
Load Balancer
โ
โโโโโโดโโโโโ
โ โ
Zone A Zone B
โ โ
Servers Servers
If one zone becomes unavailable, traffic can continue through another zone.
This reduces the risk of a single infrastructure failure taking down the entire application.
Failure Detection Isn't Instant
Imagine health checks run every:
10 seconds
And the system requires:
3 consecutive failures
It could take roughly 30 seconds, plus timing effects, before the server is removed.
If checks are too frequent:
More monitoring traffic.
If thresholds are too aggressive:
Temporary network issues may cause healthy servers to be removed.
If thresholds are too relaxed:
Users may continue hitting failed instances.
Health-check configuration is a trade-off.
Recovery Matters Too
Suppose Server B recovers.
Should traffic immediately return?
Not always.
A recovering server may need time to:
- Warm caches
- Initialize connections
- Load configuration
- Become fully ready
A safer flow is:
Server Starts
โ
Liveness Passes
โ
Readiness Passes
โ
Health Checks Stable
โ
Return to Load Balancer
โ
Receive Traffic
Real Production Flow
Users
โ
โผ
Load Balancer
โ
Health Checks
โ
โโโโบ Server A โ
โโโโบ Server B X
โโโโบ Server C โ
โ
โผ
Database
Primary
โ
Replication
โ
Replica
Server failure?
Remove unhealthy server.
Database failure?
Fail over to a suitable replica when the architecture supports it.
Zone failure?
Route traffic to healthy capacity elsewhere.
Key Takeaway
High availability isn't about preventing every failure.
Failures will happen.
The goal is to:
Detect failure quickly โ Stop sending traffic to unhealthy components โ Fail over safely โ Recover without disrupting users.
Health checks tell you:
"Is this instance capable of serving traffic?"
Failover answers:
"Where should traffic go when it isn't?"
Next Day - Circuit Breaker Pattern: How to Stop One Failing Service from Taking Down Your Entire System
Henry Nnonyelu retweeted
So this is why elon wanted to rush the IPO so bad... ๐ค China just did it cheaper on their first try. RIP ๐ป
Readers added context they thought people might want to know
China's prior reusable rocket attempts, such as Zhuque-3 in December 2025 and Long March 12A, failed to recover the booster. This Long March 10B flight is not China's first try. en.wikipedia.org/wiki/Zhuque-3 space.com/space-exploratโฆ
Henry Nnonyelu retweeted
ุถุงุจุท ูู ุงูุฌูุด ุงูุฑูุณู ูุงู
ุจูุชุญ ุจุนุถ ุงูุญูููุงุช ูุงูุดููููุงุชุฉ ุงูุชู ุนูุซุฑ ุนูููุง ูู ู
ูุงุทู ุงูู
ุนุงุฑู ุจุฃููุฑุงููุงโฆ ููุฐุง ู
ุง ูุฌุฏู.
Henry Nnonyelu retweeted
System design fundamentals Day - 24
Nginx Explained: The Web Server Behind Millions of Applications
Yesterday we learned about Reverse Proxies.
Today let's look at one of the most widely used reverse proxies in production: Nginx
If you have deployed a Spring Boot, Node.js, Django, or .NET application, chances are Nginx was sitting in front of it.
But why?
What is Nginx?
Nginx is a high-performance web server and reverse proxy.
Instead of exposing your application directly to the internet...
Users first connect to Nginx.
Users
โ
โผ
Nginx
โ
โผ
Spring Boot App
Nginx receives the request, processes it, and forwards it to the backend.
Why Not Expose Spring Boot Directly?
Because Nginx can handle many production concerns before the request reaches your application.
It can:
- Route requests
- Terminate HTTPS (SSL/TLS)
- Load balance traffic
- Compress responses
- Cache static content
- Serve HTML, CSS, and JavaScript
- Rate limit abusive clients
This allows your application to focus on business logic.
Typical Production Architecture
Users
โ
โผ
Nginx
โ
โโโโโโโโโโโโโ
โผ โผ โผ
App 1 App 2 App 3
Instead of one server handling everything...
Nginx distributes traffic across multiple application servers.
Real Example
A React + Spring Boot application might look like this:
Users
โ
โผ
Nginx
โโโโโโโโโโโโโโโโบ React (Static Files)
โ
โโโโโโโโโโโโโโโโบ Spring Boot APIs
One entry point.
Two different workloads.
Why Companies Love Nginx
โ Extremely fast
โ Lightweight
โ Handles thousands of concurrent connections
โ Easy SSL configuration
โ Excellent reverse proxy
โ Supports load balancing
โ Widely used in production
Simple Nginx Configuration
location /api {
proxy_pass http://localhost:8080;
}
Requests to /api are forwarded to your Spring Boot application.
Key Takeaway
Nginx isn't just a web server.
It's the first layer of protection, routing, optimization, and scalability for modern web applications.
Tomorrow we will explore API Gateway and see how it differs from Nginx.
Henry Nnonyelu retweeted
ูุนูุงู ุงูููู ุฃููู ุญููุงู ุจุฑู ุนูู ูุฌู ุงูุฃุฑุถ
ููุฉ ุงูููู ุงููุงุญุฏ ุชุนุงุฏู ู
ู 12-20ุญุตุงู
ููุฉ ุงูููููู ู
ุนุงู ูุฏ ุชุนุงุฏู ูขูฅ ุฅูู ูคู ุญุตุงู ุชูุฑูุจุงู
ููุฉ ููุงุฆูุฉ ููุฐุง ุงูู
ุฎููู
Henry Nnonyelu retweeted
๐ฅ๐จLATEST: Canadian engineer John Tse is going viral after revealing his umbrella that follows him around as if he is in a futuristic movie. Tse created a fully autonomous umbrella that will assist people that need both of their hands while providing cover.
Henry Nnonyelu retweeted
Replying to @WealthySahil
Usually it gets asked for storing key as Object where this equals and hashcode contract is mandatory. Checked online it's same for Set also. Thanks for sharing it. I was asked similar question for key as object in hashmap






















