The Supreme Court (SC) has ruled that a bank cannot require a depositor to return money they already withdrew on the ground of unjust enrichment when the loss was caused by the bank’s own gross negligence.
In a Decision written by Associate Justice Japar B. Dimaampao, the SC’s Third Division denied the petition filed by BDO Unibank, Inc. (BDO), holding that the bank’s disregard of its own banking policy amounted to gross negligence.
The case stemmed from Cristina Barcellano’s (Barcellano) deposit of a regional check worth PHP 151,200 from an Albay branch of Landbank into her savings account at BDO’s Lucena City branch.
The BDO teller mistakenly validated the check as local instead of regional, allowing the amount to be credited after only three banking days instead of the required seven.
Believing the funds were available, Barcellano withdrew PHP 76,000. Shortly after, BDO received a stop payment order on the check and demanded that she return the money. Although Barcellano initially agreed, she never repaid the amount. BDO later refused to release the remaining balance and filed a criminal complaint for estafa.
Both the Regional Trial Court and the Court of Appeals acquitted Barcellano, finding no fraud, deceit, or abuse of confidence on her part and blamed BDO’s own negligence.
Before the SC, BDO asked for a review of the civil aspect of the case, arguing that despite Barcellano's acquittal, she should still be required to return the money. BDO argued that her refusal amounted to unjust enrichment and that since the funds were released due to its error in processing the check, Barcellano was required to return them based on the principle of solutio indebiti, which requires the repayment of money received by mistake.
The SC disagreed, ruling that there was no unjust enrichment because BDO failed to prove that Barcellano knowingly received and retained a benefit to which she was not entitled.
SC declared that the bank did not explain why the stop payment order was issued or show that Barcellano knew the check would not be honored. Instead, the evidence showed that she withdrew the money in good faith after BDO itself made the funds available in her account.
The SC also ruled that BDO’s own gross negligence caused its loss. It found that the bank credited the check before it had properly cleared it, incorrectly treated a regional check as a local check, and failed to detect the error until after receiving the stop payment order. These lapses showed a failure to observe basic safeguards meant to protect the bank from the risks of invalid checks.
The SC also rejected BDO’s reliance on solutio indebiti. Although the doctrine generally requires the return of money received by mistake, it does not apply when the mistake resulted from the payor’s own gross negligence. Here, BDO’s error stemmed from its failure to exercise the extraordinary diligence and reasonable prudence required of banks.
Read the full text of the press release at https://t.co/hf6l4z3ksW
Read the full text of the Decision at https://t.co/d3D4KppV52
Copying of this content is subject to the SC PIO’s Credit Attribution Policy: https://t.co/6W5N1BfHld
Here are my 7 phases of AI-powered development.
I've been thinking that the pre-PRD phase needs more structure. You need to figure out the shape of the design tree first, before then walking down it with higher-fidelity prototypes.
In other words, /grill-with-docs needs to change again IMO
Entertainment Capital Theory published internal industry ratings for actors and actresses born between 1985 and 2000, based on their ability to lead projects.
Actresses:
S+: #ZhaoLiying#LiuYifei#YangZi
Actors:
S+: #HuGe#ZhangRuoyun#ChengYi#XiaoZhan
BREAKING: The Dallas Mavericks are trading Luka Doncic, Maxi Kleber and Markieff Morris to the Los Angeles Lakers for Anthony Davis, Max Christie and a 2029 first-round pick, sources tell ESPN. Three-team deal that includes Utah.
Kobe is a 5x NBA Champion.
He also holds the all-time record for missed shots.
Babe Ruth is a 7x World Series Champion.
He also led the MLB in strikeouts for 5 seasons.
Tom Brady is a 7x Superbowl Champion.
He also holds the record for most passes intercepted in Superbowl history.
Serena Williams is a 23x Gram Slam Champion.
She also holds the record for the most unforced errors in a single match.
Novak Djokovic is a 24x Grand Slam Champion.
He also holds the record for the most tennis final losses in history.
These aren't contradictions, they are proof of what it takes to win at the highest levels.
Winners don't succeed in spite of failure, they succeed because of failure. While others shield themselves from the sting of defeat, winners run towards it. They take big risks and put their reputation on the line, knowing that whatever happens, they'll come out a more competent opponent on the other side.
Whether you're chasing championships or personal goals, the same truth applies. To double your rate of success, you have to double your rate of failure. The more you learn about what doesn't work, the more you understand what does.
Everything changes when you reframe losses like this. It's not a setback, it's one step closer. It's not a measure of incompetence, it's proof of your willingness to take risks and charge boldy forwards.
Failure isn't the enemy of success, it's the foundation.
Why is Kafka fast?
There are many design decisions that contributed to Kafka’s performance. In this post, we’ll focus on two. We think these two carried the most weight.
1️. The first one is Kafka’s reliance on Sequential I/O.
2️. The second design choice that gives Kafka its performance advantage is its focus on efficiency: zero copy principle.
The diagram below illustrates how the data is transmitted between producer and consumer, and what zero-copy means.
🔹Step 1.1 - 1.3: Producer writes data to the disk
🔹Step 2: Consumer reads data without zero-copy
2.1: The data is loaded from disk to OS cache
2.2 The data is copied from OS cache to Kafka application
2.3 Kafka application copies the data into the socket buffer
2.4 The data is copied from socket buffer to network card
2.5 The network card sends data out to the consumer
🔹Step 3: Consumer reads data with zero-copy
3.1: The data is loaded from disk to OS cache
3.2 OS cache directly copies the data to the network card via sendfile() command
3.3 The network card sends data out to the consumer
Zero copy is a shortcut to save the multiple data copies between application context and kernel context.
–
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/FIzCeaWsZV
Which latency numbers you should know?
Please note those are not accurate numbers. They are based on some online benchmarks (Jeff Dean’s latency numbers + some other sources).
🔹L1 and L2 caches: 1 ns, 10 ns
E.g.: They are usually built onto the microprocessor chip. Unless you work with hardware directly, you probably don’t need to worry about them.
🔹RAM access: 100 ns
E.g.: It takes around 100 ns to read data from memory. Redis is an in-memory data store, so it takes about 100 ns to read data from Redis.
🔹Send 1K bytes over 1 Gbps network: 10 us
E.g.: It takes around 10 us to send 1KB of data from Memcached through the network.
🔹Read from SSD: 100 us
E.g.: RocksDB is a disk-based K/V store, so the read latency is around 100 us on SSD.
🔹Database insert operation: 1 ms.
E.g.: Postgresql commit might take 1ms. The database needs to store the data, create the index, and flush logs. All these actions take time.
🔹Send packet CA->Netherlands->CA: 100 ms
E.g.: If we have a long-distance Zoom call, the latency might be around 100 ms.
🔹Retry/refresh internal: 1-10s
E.g: In a monitoring system, the refresh interval is usually set to 5~10 seconds.
Notes
-----
1 ns = 10^-9 seconds
1 us = 10^-6 seconds = 1,000 ns
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns
--
Subscribe to our weekly newsletter to get a Free System Design PDF (158 pages): https://t.co/RibM5u7UxP
Biases that distort our Decision Making:
1. Confirmation Bias - We interpret new information as confirmation of our existing beliefs.
2. Availability Bias - We tend to rely on information that comes to our mind easily/the quickest.
3. Action Bias - We favor action over inaction.
That's why we sell or buy prematurely.
4. Overconfidence - We overestimate our own knowledge and ability.
Often because we know too little to know better.
(Less knowledge => more confidence)
5. Survivorship Bias - This is a sample bias that occurs when we assess only successful outcomes and disregard failures.
What Biases do you struggle the most with?
Everyone loves burgers, whether it's a full stack burger, a frontend burger, or a backend burger.
While the origin of this innovative burger is unknown, we want to give a special shout-out to the original creators.
Watch & subscribe full video here: https://t.co/54Bfomfypu
I interviewed over 50 back-end engineers in the last 2 years.
I created a Notion based "Learn Backend Development Pack" that contains a learning path to become a backend dev based on free resources.
Retweet and reply with "free" and I'll DM it to you.
(need to follow)