Computer Program Prevents 116-Year-Old Woman From Getting Pension (theguardian.com)
Bruce66423 quotes a report from The Guardian: Born at the turn of the past century, Maria Felix is old enough to remember the Mexican Revolution -- but too old to get the bank card needed to collect her monthly 1,200 pesos ($63) welfare payment. Felix turns 117 in July, according to her birth certificate, which local authorities recognize as authentic. She went three months without state support for poor elderly Mexicans after she was turned away from a branch of Citibanamex in the city of Guadalajara for being too old, said Miguel Castro, development secretary for the state of Jalisco. Welfare beneficiaries now need individual bank accounts because of new transparency rules, Castro said. "They told me the limit was 110 years," Felix said with a smile in the plant-filled courtyard of her small house in Guadalajara. In an emailed statement, Citibanamex, a unit of Citigroup Inc, said Felix's age exceeded the "calibration limits" of its system and it was working to get her the bank card as soon as possible. It said it was adjusting its systems to avoid a repeat of the situation.
The limit clearly should have been 256 from the beginning.
Even in the summary, it states that they (Citibanamex) are working on correcting the issue and getting her account put in place.
There is no way to take every edge case into account when designing systems. She is clearly an edge case. Why is this even here?
Surely you meant "AI" or "deep neural net", not just a "computer program"? It is 2017.
We should crowd source her $5k and set the poor woman up for life.
A system dealing with the real world because it has rigid categories and no way to deal with unforeseen edge cases.
IOW, assuming for the sake of argument that there may be more edge cases than you can deal with, that is no excuse to leave them impossible to deal with, you doofus, you. This is designing for the real world 101 and you as well as citigroup failed it, with bells on. You always need an "other" category then deal with those cases by hand.
Regardless of cost even, since you can't expect your clients to stump up for incidental costs arising from your failures. Who's the business here, eh? Or are you all just sitting around waiting to be replaced by small shell scripts?
The computer program isn't preventing anything, it's a bank that wrote shitty software that is preventing it. Do not blame machines for doing exactly what you told them to do!
Anons need not reply. Questions end with a question mark.
This could only happen in Trump's America.
The readout is OMG
So crunching some numbers. Hard math ahead, watch out: So one spends 2 decades in school. Works for 5 decades. Is on pension for 5 more decades. So one's productive for less than half of one's whole life, and during that time one must support oneself and another unproductive person (young or old).
So, that's what you call a number that you pull out of your ass - 'calibration limit'.
...I just want to know the magic being her old age.
Perhaps it's a brand of Tequila she drinks every day that keeps her in such high spirits.
In accordance with our records, you should be dead now. Please do the needful...
The bigger question is why the limit was 116 and not a round binary number, like say 128.
This is in Mexico, it has nothing to do with America. (Though I wouldn't put it past any programmers here to miss the same edge case.)
That why I dont bank at Citi. Hated it when Costco switched to them for their credit cards.
This is a great example of why it would be insanity to turn our lives over to algorithms and how that, as a proof of concept, is already evident. Silicon Valley, collectively, are fools with way too much time and money on and in their hands.
Go into the fucking vault and get the lady her pension money in cash. The bank can eat the loss, the problem is their fault, and at her age, she's earned it.
For living so long! On a side note, that's part of the problem with the American "social security" accounts. The so called retirement is age 65, which SHOULD be extended to the average lifespan age of 75. Social security benefits were intended to last a few years at most after retirement. The average lifespan when it started was 65, so people didn't live but a few years past that. Heck, both of my parents are in moderately good health in their mid 80's. Granted, they saved for retirement long before they retired, but, many do not, and social security will NOT cover people for 10-20 or more years, especially when you consider the government stole the money from peoples social security accounts decades ago.
In Trump's America your pension has been cancelled.
We suffer more in our imagination than in reality. - Seneca
there should not have been a limit theres no point in it. and 110 is not a computer limitation there realy are not limits like that any more so i guess why the 110 limit to begin with.
I've written code that I knew would break. Mine breaks in 2038 - there's a comment in the code. The same comment mentions that I'm probably dead too.
I bet what happened was the programmer guessed the age of the oldest person in the world after thinking about it overnight. He/she guessed wrong. There are people who make it to 128, I believe. But since most of Mexico is Catholic and they believe the bible is true, then they need to make that number 950, right?
It really is that simple.
Best case, the source code is still around and they have the same tools available to compile it. Worst case, the local branch manager needs to override the issue, keep track of payments and have global accounting fix it somehow.
$64 is a round off error to a bank. I have accounts that I requested be closed that have $0.01 in them because there was interest accrued the day they were closing the account. I've been getting paper statements for these accounts for many years, usually 5 pages for each, every quarter. If a financial institution cannot follow my clearly, written, requests, then they deserve to was money and paper sending me statements for the next 50 yrs. Or until 2038, when the software breaks. ;)
https://www.youtube.com/watch?...
The real "Libtards" are the Libertarians!
She was born outside these limits:
0xFFFFFFFF: 20:45:52 Friday, 13 December 1901 UTC.
0x00000000: 00:00:00 Thursday, 1 January 1970 UTC
0x7FFFFFFF: 03:14:08 Tuesday, 19 January 2038 UTC
It requires going into significant (pointless) effort to actually reduce the numeric representation capabilities of the humble unsigned char for the possible age of humans.
Seems to be a clear example of over-engineering it.
Why do programmers insist on placing arbitrary artificial limits in software? This is a plague of the industry: building in assumptions that aren't necessary for the proper function of the code. Sooner or later it seriously affects somebody, and there is no reason for it.
Gen 5:5
Methuselah 969 Gen 5:25
What DO they teach them in Sunday School these days...
There is hope...
Born before 1907? Seriously the bank should give every customer they have that reaches 110 $100,000 in cash and be done with it. Fixing the system will cost 50 times that.
There are likely many places in the system that only have 2 digits for the year of birth. There is likely no source code for all of them and even if there is the documentation and coding styles used make fixing this almost impossible. You can't just lengthen the field as the code expect things to be at specific offsets. (there is likely pointer arithmetic from hell going on) Instead the systems likely use a rolling epoc to handle this. Currently it is set to 07 - if year of birth is greater than 07 you are assumed to have been born between 1908 and 1999. If it is less than or equal to 7 you were born between 2000 and 2007.
She'll probably drop dead at any moment.
Got a letter through the post that says I don't exist.
Apparently the new computer thinks I won't be missed.
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
What DO they teach them in Sunday School these days...
Fiction. But nobody really reads or even really believes the bible anymore anyway. People just pick and choose the bits of it to follow that suit their particular sensibilities and pretend that only those bits are the "word of god". In fact most of them don't even read the bits they follow. Someone else reads those bits and that someone else tells them what they want them to mean. Must be nice to have a world view unencumbered by evidence or logic or responsibility...
Programmers don't generally throw in arbitrary rules like that...
Like hell they don't. They do it all the time unintentionally and sometimes very much intentionally. The entire Y2K problem was from tens of thousands of programmers arbitrarily taking short cuts in their programming creating arbitrary rules in regards to what seemed like corner cases at the time. Happens all the time, especially when the programmers don't fully understand the problem they are being asked to solve. The software we use to run our company is positively riddled with arbitrary restrictions which interfere with the efficient conduct of our business. The guys who programmed it are smart enough and decent folks but they don't actually use the software themselves so they don't really understand the limitations they are creating along the way.
I'd say it's more likely they were given a specific business rule that prevented people over 100 from claiming pension cheques to reduce a fraud vector.
Highly unlikely. Laziness and/or incompetence are far more likely origins of this problem.
https://en.wikipedia.org/wiki/List_of_the_verified_oldest_people
I can imagine the Agile product team talking about putting this in the ice box because it impacts such a small number of people and it'll solve itself soon enough.
Minimum viable product.... meh.
An ice skate spinning slow the spin if he/she/etc. moves arms away from the center of mass. Angular momentum or something. I first heard about this 20 years ago. In order to aim communication antennas to distant space probes, it is good to know exactly where the earth is and any perturbations of the where the antenna is. A tiny change of the speed of the earths spin could make your aim off. A couple of scientists who's names I forgot, one at JPL and one at MIT?, noticed the earth's spin had been slowing over the past 100 year or something. They found out that humans raising mostly water in damns to higher elevations accounted for the slowing. A very tiny amount, with no other rerecussions. So far.
http://www.dictionary.com/browse/procrustean-bed
The ancient Greeks were aware of the problem. History repeats itself
Probably because it's not arbitrary; most people don't live to be 110, and everybody knows you're supposed to perform sanity checking. According to a quick google search (the height of scholarly rigor,) there's maybe 300 people in the world who are older than 110 years. The most wild estimate is 600.
Ok so then why was that sanity check not performed? It seems obvious that the system should be able to handle ages that people have actually reached even if only on occasion. 130 would have covered it at least for the time being and the programmers could have figured that out with about 60 seconds research on google.
On the other hand, fraud is a real thing, not to mention straight up human error; somebody dies, they don't get taken out of the system, so the money keeps going out.
Not a valid excuse to deny someone service who has done nothing wrong. Plenty of other and better ways to deal with the fraud problem.
A quick google search shows that there are, by the most wild estimate, 600 people on the planet, at most, who are over the age of 110. More like 150 to 300.
Yes we know that people who are very old are rare. Rare does not equal nonexistent. At least in the US denying someone service on account of age is a civil rights violation. The fact that it is a rare problem does not excuse them from failing to deal with the problem properly.
Raising the age to 130 just means there's an extra 20 years of potential pension fraud or incorrect payments.
That is not and should never be the problem of the customer. The bank can suck it up and deal with the problem in other ways. Go visit the customer if they are that worried about it. Old people often need help anyway.
Surely there is some down and dirty fast solution to get her money into her hands. A court appointed guardian or social worker could receive, convert to cash and put her money in hand. And the bank should easily be able to upgrade that software in a matter of hours, not days.
I wonder how many times the code correctly shut off payments to people who were really dead. 110 is the wrong upper limit, but I don't know that the idea of an upper limit is bad. If the limit were 140, would we feel sufficiently confident to disallow payment?
-Dave
Should there be input checks?
What is a reasonable max age?
I see data with future dates and Roman Imperium dates when there are no bounds checks.
What problems would you rather have?
The entire Y2K problem was from tens of thousands of programmers arbitrarily taking short cuts in their programming
I suspect you're relatively young as there were valid reasons to only store 2 digits for the year.
And early then that you had to deal with punchcards, which could only store 80 characters per card. Punch cards were still in use when I went to college at Del Mar in Corpus Christi in 1984. While my incoming class was the first to no longer use them as part of our curriculum, the older students still used them. Everybody also used them during the registration process - pick up the card with your name on it at the entrance, walk around to the tables set up for each department and get a punch card for the class you wanted (if they were out of cards the class was full), then turn in the stack of cards to complete your registration.
Farnsworth: Hello, Mavis. Surprised to see me back again so soon?
Wanda: Mavis is dead.
Farnsworth: I expect you'll want to see my Angry, Crotchety Grandpa Discount Card.
Wanda: Sir, this card is expired.
Farnsworth: But it's good for a lifetime.
Wanda: Well, yours expired.
Someone should set a bail out limit of $1M per bank. I'm sure that they'd find a way around that.
I suspect you're relatively young as there were valid reasons to only store 2 digits for the year.
I'm old enough to have programmed with punch cards and I predate the PC by a lot. Old enough for you? Very early on there were sensible reasons to only store two digits for a year but programmers continued the practice well beyond the point when it was no longer necessary. If I'm being incredibly generous there really was no excuse for the practice after the mid 1980s at the latest. But vast numbers of programs were written after that point which used two digit years. Most of the code that was fixed in Y2K remediation was not 20+ year old code and it certainly wasn't on punch cards.
Yeah, the parent is young and the reasoning on this is very naive... at the time there were many many reason to store dates that way. also computing was so new that no one anticipated it being an issue... until it was....
The parent (me) is neither young nor naive. I wrote my first code before most of the people who will read this were born. Most of the code that was fixed in Y2K remediation was code written well after the point when using 2 digit years was necessary or appropriate. The Y2K problem was known about for decades before the year 2000. I remember people talking about it as early as the late 80s and many were aware of it long before that. It had nothing to do with "computing being new" and everything to do with lazy and/or incompetent programming, especially for anything written after approximately 1985. By then computers had plenty of memory and hard drive space to no longer need abbreviated dates to save space and it certainly didn't save money.