This is a standard practice for almost all Tier-1 banking applications in Nigeria, and for some fintech applications I’ve previously performed pentests on.
Client-side encryption isn’t a total waste, or a waste of compute, as some people have claimed, but rather a measure to protect against API tampering or API request/response manipulation between the client and the server when implemented properly.
Even with HTTPS, attackers can capture a decrypted version of web or mobile API data in transit because the browser and the server establish a level of trust during the TLS handshake. Attackers can leverage this trust to capture & proxy already-decrypted traffic, tamper with it, and then forward it to the server. This allows them to override what the user interface or client is originally supposed to send and replace it with data of their choosing.
That is why validation needs to be performed on both the client and the server side.
To wrap up, encrypting API requests and responses makes it significantly harder for attackers to tamper with data, even if they capture the traffic, unless they have access to the encryption details (algorithm, encryption mode, key size, secret key, and initialization vector), assuming asymmetric encryption is used.
In the demo below, you can see how I discovered additional parameters (balance, is_admin) in the API response, captured the registration API request, despite it being sent over HTTPS from the interface, added the discovered parameters, and successfully inflated my balance to 50 billion and also escalated my privileges to admin, and ultimately deleted the accounts of two live users/customers.
In the second slide, I captured an API traffic of a bank app, and you can see how difficult the payloads are to read.
Just wrapped up Module 1 of #mlzoomcamp 🚀
Learned about:
🔹 ML vs. rule-based systems
🔹 Supervised ML basics
🔹 CRISP-DM framework
🔹 Setting up environment + NumPy/Pandas/Linear Algebra refreshers
➡️ Next up: Module 2!
#learninginpublic@Al_Grigor@DataTalksClub
Introducing DeepSeek-V3.1: our first step toward the agent era! 🚀
🧠 Hybrid inference: Think & Non-Think — one model, two modes
⚡️ Faster thinking: DeepSeek-V3.1-Think reaches answers in less time vs. DeepSeek-R1-0528
🛠️ Stronger agent skills: Post-training boosts tool use and multi-step agent tasks
Try it now — toggle Think/Non-Think via the "DeepThink" button: https://t.co/n8tODcbEz2
1/5
Here is the Nigerian dilemma, in my view. This may be long and I’m typing on the fly, so take it as it is. Whichever way you look at it, it begins with leadership. Disciplined, visionary leadership. But not leadership alone. The transformation of a society’s collective intelligence is ultimately a project of social engineering. Formal education is only a fragment of the architecture.
The deeper truth that all civilized societies have clocked is actually metaphysically sound: your environment is intelligent. If it weren’t, you wouldn’t be. Intelligence is not merely an attribute of individuals, it is a property of systems. To improve the collective, you must make the system more intelligent. That means working with the best of the best minds to design institutions that reward foresight, enforce laws that reflect global best practices, regulate stupid and unproductive cultural norms, and building a society where education is not just encouraged but compulsory, competitive, and constant.
But here lies the central paradox: only an ensemble of highly intelligent, exposed, and altruistic people can build such a system. At least if you insist on practicing a democracy. Unfortunately, democracy requires them to be elected by the very population whose intelligence is in question. That’s the Nigerian (and I dare say) African tragedy. The people most in need of structural reform are least equipped to recognize or support the kinds of leaders who can deliver it. And there are just too many of them, ironically concentrated in the part of the country with the most important electoral numbers.
The issue isn’t that stupid people are inherently malicious. In fact, maliciousness cuts across all cognitive levels. The problem is that those with lower cognitive range struggle to perceive long-term, collective, win-win strategies. They just can’t see the need for it. Conduct elections 1,000 times, they would feel more moved to take that 5,000 today and suffer tomorrow. The impulse is so strong, which is why you can’t allow a society, a business or an institution be run by idiots. Even when they don’t mean it, they will ruin it, because they, too, need to be managed. So they revert to short-term, self-serving impulses that ultimately erode the very fabric of society.
Even if, and this is a big if, we manage to install such rare, enlightened leadership across all levels of governance (we haven’t even succeeded at the presidential level), we still face the economic and infrastructural debris left behind by decades of short-sighted, extractive rule. To even think about social engineering at scale, you have to fuse improvements in monetary policies to reflect in fiscal policies and ultimately in the cost of living. You have to have the infrastructure necessary to enable you carry out your plans. Only after clearing that rubble can we begin to engineer the kind of society we dream of: one governed by rule of law, high educational standards, and ruthless enforcement of public interest.
The painful truth is that such a future is hard to imagine in Nigeria today. To make matters worse, the best minds are leaving. And make no mistakes, they’re not as many as you think. Even if you think Nigeria has 10 million geniuses (which it doesn’t), in a pool of 200 million people, that is still insignificant. Yet, the few we have, are massively emigrating. And can we blame them? You only get one life. There’s little incentive to pour your best years into a broken system when mediocrity is rewarded, and excellence is exiled.
Advice for fresh grads willing to go into 9-5
- subscribe to job boards like HotNigerianJobs
- start practising job tests (SHL, GMAT etc free resources online)
- if your field has some important professional exams and you are capable of funding it, enrol
- polish your communication skills
- avoid negative people that will tell you you can never get jobs
- identify 3-5 successful people in your field and follow them on social media or LinkedIn
- explore scholarship opportunities
- apply aggressively for jobs
- network, stay close to friends from school in similar situation, and keep in touch with seniors who are now working
“The test of a first-rate intelligence is the ability to hold two opposing ideas in mind at the same time and still retain the ability to function. One should, for example, be able to see that things are hopeless yet be determined to make them otherwise.”
-F. Scott Fitzgerald
With a heart so full it aches, our kids depart Lagos Nigeria today with for America, where they’ll compete in Athens Georgia, New York City and Harvard University.
Typing these words fill my eyes with tears all over again because I know their stories.
Ferdinand- Differently abled child, living with cerebral palsy, used to be bullied by other children in his community , born to poor fisherman in the Largest floating slum in the world. But when he plays chess, the world standstill.
Mary- her family was almost killed by Boko Haram terrorists. Forgotten in an IDP camp in Northern Nigeria where dreams go to die. But hers didn’t.
Mabel-radiant and full of promise. Met her 7 years ago in the slums of Ikorodu with a sparkle in her eyes but no opportunity to go to school. Today a fierce chess queen with dreams to be a doctor.
Jamiu—Abandoned by father as a child, watched his mum die in my hands, Homeless. Yet undefeated and already one of the best chess players in the country for his age category.
They have braved all odds to be here today to represent children like them who have been told they were invincible.
To the kids: play with heart, walk with pride. Know that the dreams of many others fly with you today, not as a burden but as light.
You are becoming the kind of story the world cannot ignore.
We still need all the help and support we can get, so if you’re in Georgia, NYC or Boston, come support the kids as they show the world what they’re truly made of. I have also put up a Go fund me link in Bio for those who asked to donate.
Dates:
Athens Georgia (March 29th)
New York City (April 2nd)
Harvard University. (April 4th)
Please reach out to me or @chessinslums for full info and location.
Fly safe my champions. Uncle Tunde will see you soon❤️
What type of coding do you do? 🤔
There are different forms of coding:
✅ Coding - Traditional Coding
✅ Vibe Coding
✅ Intentional Coding
☑️ Traditional Coding
Back in the days, almost everyone did coding where you relied on experience, Google search, Stack Overflow, GitHub gist, and many other sources to assist in your functionality coding.
☑️ Vibe Coding
These days, almost everyone does vibe coding—using AI-assisted coding tools such as WindSurf IDE, Claude 3.5/3.7 Sonnet, JetBrain AI assistant in JetBrain IDEs, cursor AI, Lovable, Bolt etc to write almost 90% if not all of the code.
☑️ Intentional Coding
I was thinking about this over the midnight due to my current work on some Java projects.
Of course, I leverage AI assistant tools in writing code, but almost all of my coding decisions are highly and carefully curated. From clean coding and clean architecture considerations up to carefully using modern Java features such as lambda, Streams API, Optional, records, etc. I basically optimize my prompts for all these features.
Then I carefully consider various cache eviction policies for database computations(in my current work ClickHouse database) I’m caching and thread pool scheduling of cache invalidation.
What got me to write this post was two computations I needed to run on some Kafka event types—more like a reactive programming. I initially separated the two methods and ran them sequentially based on the event type in my kafka consumer listener templates—processing from multiple topics.
But I kept thinking when I woke up to pee: “that piece of code can benefit from Java virtual threads, right?” It doesn’t really have to be sequential since each operation doesn’t depend on each other’s results and can benefit from concurrency, hence removing processing bottlenecks? Inspired by how I can do this pretty easily in Golang goroutines.
This is what birthed what I coined “intentional coding”—where all decisions about every aspect of the coding are highly intentional. From data type selection to reduce memory usage to various areas of the code optimisations to avoid memory leak, gain performance improvements and improve application security.
Vibe coding might be popular now, but intentional coding is quite rare as many people now put coding on autopilot.
What aspect of your code do you intentionally optimise?
#coding #programming #llm #softwareengineering #cloudengineering
💡 The Engineer's Growth Secret:
Ship real products that grow. It forces you to learn what matters. Imaginary problems don't teach you much.
Woke up and improving the database connection pool for efficient resource usage, performance and transient network failures.
#softwareengineering #coding #golang #postgres #databasemanagement #cloudcomputing #programming #innovation #technology
Something to bless your weekend.
We know the healthcare is strained everywhere across the globe from waiting 3 months and beyond for appointment to travelling to different countries just to give yourself a better and urgent care.
Our team is working hard to delight you soon
#innovation #technology #startups #healthcare #medicine
If Gundogan transfer back to Man City eventually becomes successful, what that thought me is, you can always go back to where you had your initial success irrespective of exploring other success paths.
Going back to where you initially had your success after exploring other option is not a sign of failure, it helps you appreciates your success more and make you more aware of what gave you that success in the first place.
It is not uncommon in football for most successful players to try to move to another team to replicate their success after their initial achievements with their previous team. Some eventually have a breakthrough with their new team, but more often than not, most fade out of fame during the exploration process.
The key lesson is, when you are becoming successful, be more aware of the climate, environment, the team, and the factors that contribute to your success in the first place.
Your success isn't the product of your own efforts alone. It's the byproduct of the amazing team, managers, and leaders you had at the time. And if some of those factors change, you can be sure you'll need to put in extra work to replicate your success in your next move.
#personaldevelopment #innovation #technology #startups #entrepreneurship
🔴 Man United position on Rashford’s absence.
“Rashford not well enough to be in the squad for Newport following illness; he has stayed at Carrington to train as he recovers”.