News for hackers. Stuff that matters.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by gzer0 on Thursday February 18, 2021 @10:36AM (#26181019)
If you read literally the next few lines:

> Citibank's procedures require that three people sign off on a transaction of this size. In this case, that was Raj, a colleague of his in India, and a senior Citibank official in Delaware named Vincent Fratta. All three believed that setting the "principal" field to an internal wash account number would prevent payment of the principal. As he approved the transaction, Fratta wrote: "looks good, please proceed. Principal is going to wash."

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by mumblemumble on Thursday February 18, 2021 @10:49AM (#26181222)
There's an old(ish) episode of the Stack Overflow podcast where they interview a couple folks from the site reliability engineering team. I think this is the one: https://stackoverflow.blog/2017/06/12/podcast-111-sre-occasi...

Somewhere in there, one of the SREs said something that's stuck with me. Roughly, he said that the concept of human error is useless. Every time a human error escalates into a real problem, the deeper problem is a design flaw. At scale, human errors are a certainty, and, while documentation and training is far from useless, no amount of it can change that fact. It's therefore a critical responsibility of systems designers to design their systems to be resilient to mistakes.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by lmkg on Thursday February 18, 2021 @11:04AM (#26181470)
This is also the approach taking in aviation safety, and similar safety-critical systems. The pilot is treated as part of the system. Just like any other component, it's a part that can fail, and its error states can be modeled. Performance and reliability can be affected by training and certification, but just like anything else you're shooting for a threshold of tolerance for errors, not a complete removal of errors.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by joombaga on Thursday February 18, 2021 @11:43AM (#26182063)
Your comment reminds me of a hidden brain episode that focused on the use of checklists in aviation and surgery. Now I often think of checklists from the perspective of various stakeholders at various levels when designing systems. This reframe has given me a more systemic view of parts that I'd once considered discrete. I'm much more careful now in applying the concepts of "blame" and "personal responsibility".

https://www.npr.org/2018/08/27/642310810/you-2-0-check-yours...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by 8ytecoder on Thursday February 18, 2021 @11:21AM (#26181732)
It’s also the approach the large e-retailer I worked for took. If a human made an error, it’s not the human’s fault. Find the process and design failures that led up to it.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by craftinator on Thursday February 18, 2021 @11:54AM (#26182239)
This concept is elemental to any competent manager. Which is funny, because I've had very, very few managers who've ever understood it.

Oddly enough, the ones who utilized it most were in the military, using the "Swiss Cheese" method of failure analysis. In order for a failure to actually occur, there had to be a complete path all the way through the "cheese", where the problem wasn't caught by any "slice". So a failure at the lowest level was also a failure at each level all the way to the top, and each level was required to figure out why it wasn't caught at their level. Very effective system.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by WJW on Thursday February 18, 2021 @12:55PM (#26183146)
For all its failings, the military has tons of good management practices. After all, leading people is their core business and they do it in some pretty severe circumstances. They also have extremely good incentives to get it right.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by robaato on Thursday February 18, 2021 @03:23PM (#26184976)
Surprise, surprise, the military has been around a few years/centuries. Some of that experience has stuck...

I remember an ex-colleague saying that as an RAF person, he knew he could go on to a totally new airfield and ask for "XYZ Role" officer - and there would be an answer and direction to appropriate person.

Military knows to design also for "deceased personnel" (redundancies etc)...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by tialaramex on Thursday February 18, 2021 @09:49PM (#26188993)
My mother (civilian MOD employee working at an "airbase" which was in fact just a lot of office buildings, no airfield, although it did have machine guns and a nuclear bunker unlike most office parks) used to have an email address which basically said what her job was [I don't remember the exact address, something involving REG twice because she worked for the REGistry of the RAF's REGiment], and yup, the day after she retired that address still worked it just dropped in somebody else's lap.

So many IT outfits have problems that come back to "Oh, that was going to Bob and Bob left" and it infuriates me every time I see it, because we've known for decades how to avoid this problem.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by bambataa on Friday February 19, 2021 @04:19AM (#26191142)
What’s odd is that the MOD does that and the rest of the civil service carries on using name-based emails, despite people moving round every year or two.

There is a huge problem in the civil service of information being local to teams. Important information sots in inboxes or a shared drive if you’re lucky.

Finding out who to contact in another department on a given topic can take days and usually requires asking your private office to check (because they at least have the other department’s private office contact details). Otherwise people just look for emails in published documents and email out in the hope that at least one of them still works in the right department.

This could all be so easily solved with permanent, shared mailboxes per team. I suspect the reluctance is in part due to how much easier it would make FOIs.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by hoseja on Friday February 19, 2021 @03:11AM (#26190765)
Well then you need at least two email addresses per person. One role-based, one personal - promotions happen, you may want to keep being able to contact the human, not the role.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by WJW on Friday February 19, 2021 @06:00AM (#26191760)
Yes, you do. But for the military this does not really matter, one of their defining characteristics is that they care MUCH more about "getting the job done" than about cost. This leads both to massive inefficiencies and to their extreme resilience to "bus factor" type events. It's a decent tradeoff for the military, it probably wouldn't be for commercial entities.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by devdas on Friday February 19, 2021 @04:56AM (#26191336)
Having a role based system also makes it easier to move those tasks into a ticketing system.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by Ma8ee on Thursday February 18, 2021 @03:57PM (#26185408)
In Sweden we used to have a conscription army. It was said that they got really good at leadership and training since they could afford to experiment. If they screwed up one year they could just scrap the whole batch since they anyway got a new cohort every year.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by WJW on Thursday February 18, 2021 @04:04PM (#26185506)
The Israeli claim a lot of their startup culture comes from the high degree of responsibility their (very young) conscripts get in during their mandatory military service. I can imagine that someone who's been an 18-year old tank gunner in actual tank-to-tank combat has a different outlook on acceptable levels of risk than most people.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by rbanffy on Tuesday February 23, 2021 @12:22PM (#26239967)
> For all its failings, the military has tons of good management practices

Military needs consistency, predictability, and uniformity. It needs a lot of good management practices to achieve that with people and parts that are not consistent, predictable, or uniform.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by Spooky23 on Thursday February 18, 2021 @04:24PM (#26185801)
The military has to account for leadership moving up or out, a constant influx of new people, and the operational challenges of what they do, and a different perspective on money. Military dysfunction is different than private sector

Companies tend to focus on chiseling pennies and hope for the best.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by unethical_ban on Thursday February 18, 2021 @12:50PM (#26183066)
In critical systems I agree with this philosophy. However, there are trade-offs to building process and checklists and peer reviews to every step in a human system.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by grogenaut on Thursday February 18, 2021 @01:58PM (#26183984)
Yet when this same retailer takes down half the internet with a bad config change to a large storage system you are likely asking why they didn't have better processes to prevent this dangerous action
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by gridspy on Thursday February 18, 2021 @07:02PM (#26187630)
Which is a much healthier reaction than blaming the poor employee that changed that config file.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by grogenaut on Friday February 19, 2021 @01:17AM (#26190304)
they didn't blame the employee they did the right thing, that's the culture.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by bumby on Thursday February 18, 2021 @11:57AM (#26182289)
There’s a fairly well-known design concept in other engineering disciplines called “human factors” that is squarely in the domain of reliability.

Page 2 of this link goes into a useful breakdown

https://sma.nasa.gov/docs/default-source/sma-disciplines-and...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by jack_riminton on Thursday February 18, 2021 @11:19AM (#26181714)
Parts are also designed on the basis that they WILL fail at some point so the whole system can still perform WHEN this happens
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by toomuchtodo on Thursday February 18, 2021 @11:29AM (#26181853)
Great example: Cirrus has a new personal jet, the Vision Jet. It has a feature called Safe Return Emergency Land [1]. If the pilot is incapacitated, a passenger can press the Big Red Button to activate the system, at which point the aircraft switches to autonomous mode to select the closest airport to navigate to and auto land at. Even the pilot can fail and the system will attempt to recover from this failure mode.

[1] https://cirrusaircraft.com/story/introducing-safe-return-eme...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by bluGill on Thursday February 18, 2021 @05:06PM (#26186339)
Pretty much all new commercial jets have an autoland mode. If something happens to the pilots get into the cockpit (this is the hard part!) fast put on a headset, find the push to talk button and yell help. You need to be fast enough that the radio frequency to use hasn't changed (this is almost as hard as getting in!) as the plane moved on, but if you get a response whoever it is will get in contact with control for you and from there on they will tell you what buttons to push.

Of course if you are in an old airplane (private plane, or legally retired but still in use in some poor country) all bets are off.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by tialaramex on Thursday February 18, 2021 @10:07PM (#26189138)
"Autoland" in an airliner is nothing like this. It performs the actual landing (and in some cases part of roll out) only. The airliner's designers assume that since their planes are designed to be used only with at least two fully trained pilots there is no reason to worry about scenarios in which a non-pilot is now in charge. Those simply don't happen.

Is it possible that they could talk a civilian down in an otherwise perfectly functional jet airliner given the pilots both are totally unavailable? Yes, but it'd be really hard and I would not give them great odds for it working.

Plenty of random non-pilots won't even successfully work an airliner's radio, if you end up talking to yourself, or the passenger cabin, that doesn't help you.

In contrast what Safe Return Emergency does is really one button "Oops, the pilot is unconscious/ dead, fix it". It has the same reassuring "Don't touch the controls" you get from Waymo cars. The SRE system is flying the plane, you can best help by staying calm and maybe trying to fix the pilot if that possible. It will figure out where there's a viable landing strip it can reach, broadcast its intentions to nearby humans, fly to its chosen strip, set up, perform the landing, roll out, stop and shut down the plane.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by bluGill on Friday February 19, 2021 @07:56AM (#26192622)
I agree that it isn't easy. However in fair weather gentel adjustments to the controls (preferably the auto pilot ) will get you close enough. Control towers will clear your path so you having a fighting chance of walking away. Mostly the training is for small planes where there is one pilot.

Pushing a button is or course a lot easier. I don't want to diminishing that. However most of us can't afford the type of plane ticket where it is needed, first class on a commercial flight is an order of magnitude cheaper. Thus the odds of both pilots dead is much higher, and so knowing there is still hope may be useful.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by toomuchtodo on Thursday February 18, 2021 @05:21PM (#26186564)
The revolution in this product is that it's available to general aviation users and the UX is "push button to land". It'll even squawk 7700 and announce intentions on 121.5 [1].

[1] https://www.faasafety.gov/SPANS/noticeView.aspx?nid=11667

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by skynetv2 on Thursday February 18, 2021 @11:45AM (#26182092)
Amazing tech! Thanks for sharing.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by rbanffy on Tuesday February 23, 2021 @12:20PM (#26239937)
The first think that occurred to me is that the app could list the transactions this would cause and present that list for confirmation, along with a total and how much of the whole it was.

It would make the error much easier to spot.

OTOH, the people approving may not have the right to see values, just the process part they are involved in.

This and the aerospace mention reminded me of John Glenn: "two million parts, all built by the lowest bidder".

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by unbalancedevh on Thursday February 18, 2021 @01:45PM (#26183805)
And the approach to natural disasters. There's no way to avoid them, we just need to be prepared to minimize the damage and recover as gracefully as possible.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by Jtsummers on Thursday February 18, 2021 @10:59AM (#26181381)
That's a fundamental thesis of systems safety work. "Human error" is a convenient, but fairly useless, designation for the cause behind something. Why was the human able to perform the erroneous act?

If the person went out of their way to perform the act, for instance they manually turned off all alarms because they wanted to take a nap, then sure, it's (largely) human error. But then you can still ask, why were they even able to turn off critical alarms? Why was there a single person involved in this apparently crucial position? What allowed us to hire someone like Homer Simpson into the nuclear power plant in the first place? And do we really want to rely on eeny-meeny-miny-moe to solve our problems? Maybe training needs to be improved, including evaluation of training results through simulations.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by speeder on Thursday February 18, 2021 @11:11AM (#26181589)
I think the only cases of major system failures that could be blamed on human error, are ones where people INTENTIONALLY did wrong stuff, sadly, these cases do exist and were very lethal.

1. First nuclear accident: the theory is one operator was upset that another operator was screwing his wife, and removed the control rods 100% when he was scheduled to work on them, causing a sudden spike in temperature and then a water hammer that killed everyone in the building. (and made it JUMP!!!)

2. Chernobyl, although many people (specially anti-nuclear) blame the accident on the design, it was obvious deliberate error, even if the intentions weren't malicious, the operators ignored alarms, then DISABLED the alarms, and intentionally pushed the reactor past safety limits, even if it didn't had the design flaw it had, it was possible they would still find a way to blow it up if they kept their behaviour.

3. Depressed airline pilot, locked co-pilot out of the cockpit and crashed on the ground on purpose.

There are probably other situations out there... thing is, those are situations no matter how well the system is designed, it will still happen, it is impossible to make a "malicious-proof" system, after all, even a rock, with zero moving parts, can be used in the "wrong way" and kill someone.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by DevX101 on Thursday February 18, 2021 @11:54AM (#26182238)
There's a good argument that these are still system failures. If a single individual can intentionally blow up a nuclear reactor, that's a massive point of failure. Humans are often irrational and prone to anger, depression, malice, and greed. Any of those impulses could be motivation for destructive action. Nuclear submarines avoid this by requiring multiple personnel to simultaneously coordinate in activating a launch.

On Chernobyl, my take away from the excellent Netflix mini-series was that there was a massive cultural failure, where everyone abdicated responsibility, and there no ability for employees to counter poor decisions from superiors. Culture and organizational design are also important components of complex systems

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by asoneth on Thursday February 18, 2021 @12:49PM (#26183051)
I don't have any insight into why the Chernobyl's operators disabled the alarms, but there is a very common effect known as "alarm fatigue" [1] whereby poorly-tuned alarm thresholds are ignored or actively sabotaged by operators so that they can perform their regular work. For legal & CYA reasons system designers often set alarm thresholds so low that false alarms are extremely common. When operators naturally start to tune out the constant background alarms then the designer can either fix the issue by making better alarm thresholds or they can make the alarms more insistent which sets off an arms race for operator attention.

If you're interested in specific stories I'd recommend "Set Phases on Stun" by Steven Casey. (It shows up in the syllabus of a number of Human-Computer Interaction classes.)

But as a general heuristic: If one operator has trouble dealing with the number of false alarms you can just hire a new operator, but if most of the operators find it problematic then the problem clearly isn't with the operators.

1: https://en.wikipedia.org/wiki/Alarm_fatigue

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by laurent92 on Thursday February 18, 2021 @03:12PM (#26184828)
> Alarm fatigue

The notable example of alarm fatigue is the designated pillow on board of the Tu-144 (the Russian copy of the Concorde) to stuff into the alarm horn. The wikipedia page is itself a “bestof” bad engineering/operating practices, which are worth a good laugh now that it is not flying anymore. See chapter “Reasons for cancellation” - https://en.wikipedia.org/wiki/Tupolev_Tu-144

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by myself248 on Thursday February 18, 2021 @08:06PM (#26188168)
It blows my mind that this is still a problem; Western Electric was already making allowances for it in what I believe to be the 1930s:

Most telephone hardware has some form of self-checking and fault detection. Alarms are classified into "minor" and "major", sometimes also "power" or "critical". Each piece of equipment has its own alarm indicator lamps, and contacts for external alarms as well. Typically the external contacts are wired to both an "aisle light" which aggregates all the equipment in that lineup, and a floor-wide or section-wide "alarm sounder". When the sounder goes off, you look down the aisle to see which lineup has the trouble, then walk down the lineup to find the individual unit and address the problem.

But first, you push the ACO button. The alarm cutoff button silences the sounder, which won't come back on unless something new happens. ACO also tells the other workers that someone is on the case.

Crucially, it preserves attention. If the sounder was going the whole time someone was working on a repair, nothing would ever get done, because the workers would be down at the corner bar trying to get some sanity back.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by asoneth on Thursday February 18, 2021 @10:20PM (#26189228)
In my experience it's sometimes a result of mismatched incentives resulting in a prisoner's dilemma rather than a lack of awareness or engineering ability.

The designer responsible for an alarm wants to avoid being blamed for the operator missing that specific alarm so they're incentivized to make their alarm as prominent as they can get away with. Of course once most designers are doing that then they have to keep doing it or risk get drowned out.

One way to fix that is by having someone who is responsible for the entire experience who can dictate shared prioritization, requirements, alerting frameworks, rate limiters, etc. In cases where the operator uses multiple products from different companies (e.g. in a hospital) that's especially hard which is why there's a cacophony of noise even though everyone involved acknowledges that it's a problem.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by myself248 on Friday February 19, 2021 @01:10PM (#26196003)
> In cases where the operator uses multiple products from different companies (e.g. in a hospital) that's especially hard

Somehow this works just fine in telecom. I was handling equipment from DSC, Alcatel, Fujitsu, Marconi, Rockwell, Cerent, Nortel, Pirelli, CarrierAccess, Tellabs, Cisco, ADC, Lucent, and more. There are Telcordia and NEBS standards for alarm severity and wiring, and everything just works when you hook it up. Does the medical industry not have standards?

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by asoneth on Monday February 22, 2021 @10:09AM (#26225362)
I've heard from colleagues in the (US) medical industry that there are guidelines from the likes of AAMI and ECRI but few real "requirements". My second-hand understanding is that it's largely dependent on how much leverage the end-users (doctors and nurses) have to dictate system requirements and how much leverage the hospital system has with respect to negotiating with suppliers.

Ref:

https://www.ecri.org/alarm-safety-handbook

https://www.jointcommission.org/resources/patient-safety-top...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by dreamcompiler on Thursday February 18, 2021 @02:12PM (#26184138)
Alarm fatigue might have played a minor role in Chernobyl but the main cause was authoritarian management trying to meet a scheduled deadline to run a test that the reactor was incapable of running safely in its current operational state. They purposely ignored the alarms in order to run the test. There was also a design flaw nobody knew about (positive void coefficient) that caused the scram make things worse, but they'd never have needed to scram if the deputy chief engineer on duty had cared more about safety than meeting his milestone.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by hinkley on Thursday February 18, 2021 @05:02PM (#26186297)
Engineers constantly rail against the “mind over matter” hubris of managers. If at first they are right they just push their luck again and again.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by hinkley on Thursday February 18, 2021 @04:51PM (#26186171)
I rediscovered this effect myself and it’s why I harp on people for flaky tests. Eventually you discover the build has been broken for hours, everyone assumes they’re just the same old errors, and pushes rebuild without even looking at the error messages.

Everyone does it. I’ve caught myself doing it. So I move to the previous domino and work on that.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by zimpenfish on Thursday February 18, 2021 @05:13PM (#26186436)
Same goes for log output - if you get thousands of lines every day, no-one ever looks at the logs and things get missed. If you only get log messages when things are really broken, people actually notice.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by Macha on Thursday February 18, 2021 @05:42PM (#26186828)
I mean, this is what log levels are for. My personal standard is log level error is for things raising an alert over that you need a human to look at, warning is for stuff that can raise an alert if it goes over a threshold, info is only for looking at when a problem has already been identified, so that you can try understand the lead up to the problem, and debug is incredibly spammy stuff only turned on when the above gives insufficient details to recreate the problem locally.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by hinkley on Thursday February 18, 2021 @06:00PM (#26187041)
Stats are good for things that may be a problem or may not. It’s hard to get a sense of rate with log analysis. You can, but comparing several stats to each other at once is painful.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by dghlsakjg on Thursday February 18, 2021 @08:48PM (#26188513)
My car dashboards (and most cars as far as I know) are actually a good example of avoiding alarm fatigue.

Red lights mean that the sensors have detected a state that may damage the car or put you in danger. You should stop immediately. Examples: low oil pressure, overheat, emergency brake still on, low brake fluid. You can safely tell a new driver that if they are driving and they see a red light on the dash it means stop right now.

Yellow means that something is operating outside of nominal ranges and you should try and fix it soon. Examples: low tire pressure, low washer fluid, check engine light.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by lawrjone on Friday February 19, 2021 @09:26AM (#26193458)
There's an excellent talk from Nick Means (GitHub) called "Who Destroyed Three Mile Island?".

Link: https://www.youtube.com/watch?v=1xQeXOz0Ncs

One thing it discusses is how the alerts inside the control hub were so noisy, and were logged via a reasonably slow printer, that the alerts which suggested the reactor was in serious trouble only printed hours after you could do anything.

And the alert light that said "shits fucked" was placed right next to the light about an elevator being out of order.

Human error is rarely intentional, and even if it is, a system that fails in response has missed the mark. The talk explains the amazing finds made by the government committee hired to investigate the incident, once they left the idea of 'human error' at the door.

I do suggest you watch the video, but as a teaser: it turned out that at the time, most US nuclear engineers had been sourced from nuclear subs. Subs have totally different rules on how to manage the reactor, and train their staff inappropriately for a land-based reactor. Pretty significant cultural find...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by bityard on Thursday February 18, 2021 @01:12PM (#26183343)
> the theory is one operator was upset that another operator was screwing his wife

That's _one_ theory and it's not even the most likely one, it's just the only one they like to trot out whenever a History Channel producer needs to fill time between ads.

The control rods in SL-1 were prone to getting stuck in their channels for a variety of reasons. They were apparently not light either, as part of the investigation for the accident, they built a mockup control rod assembly that was weighted at 84 pounds. For military-age adult male, this is right in the range being able to move, without a lot of control over how _much_ it is moved.

It is, however, clearly a design failure that the removal of a single rod allowed the reactor to go critical, and/or that the rod was able to be removed by a human to the extent it was.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by MauranKilom on Thursday February 18, 2021 @11:28AM (#26181844)
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by ekimekim on Thursday February 18, 2021 @12:55PM (#26183135)
For 1, it should be noted that that is only one theory. Another less lurid theory is that while attempting to pull the rod a small distance out as part of a routine maintenance procedure, the rod stuck. The operator gave it a yank to unstick it and accidentially withdrew it the whole way.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by professoretc on Thursday February 18, 2021 @11:20AM (#26181724)
I took a design course in grad school and one of the things they emphasized was that it's impossible for everyone to be wrong about something. If everyone is using something the wrong way, then its the design that's wrong, not the people.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by base698 on Thursday February 18, 2021 @11:35AM (#26181950)
https://en.wikipedia.org/wiki/The_Design_of_Everyday_Things

"Doors can have two states: open or closed. They should not require instruction."

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by egypturnash on Thursday February 18, 2021 @12:22PM (#26182656)
I’m looking at the front door of my apartment as I type this, and I can see sixteen states for it quite easily. It’s got a lock on the doorknob, a deadbolt, and a big window with a blind. All of these can be open or closed independently of each other; add on the basic “is it open or closed” and that’s four binary choices for 16 states.

Also there is that fun state of “open but will lock behind you because the doorknob lock does not prevent you from closing the door, hope you have your keys on you or someone inside” though that’s maybe more a special case in the state transition table than an actual state?

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by sbierwagen on Thursday February 18, 2021 @08:58PM (#26188579)
Another fun state: open the door, then turn the deadbolt. Now the door can't be closed! Attempt to close it hard enough and you can bend the deadbolt shaft. Now the deadbolt can't be retracted, and the door is entirely disabled! An arcane edge case, but something a clumsy child could do in less than a minute.

How could we tolerate such an awful design? Who is responsible for this catastrophe?

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by base698 on Thursday February 18, 2021 @08:54PM (#26188556)
Do those things have affordances or do you pull out your state table?
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by wombatpm on Thursday February 18, 2021 @12:24PM (#26182679)
Except sliding glass doors, where the closed state can look very similar to the open state. People walk into closed glass doors all of the time.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by bobthepanda on Thursday February 18, 2021 @01:57PM (#26183976)
The above excerpt is supposed to be the guidance for how to design a good door.

I don’t think a door people regularly walk into out of confusion is a good one.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by interestica on Thursday February 18, 2021 @12:01PM (#26182349)
My personal philosophy for design has always been "if one person used it wrong, maybe they're an idiot. If two people used it wrong, you're definitely the idiot."
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by mamcx on Thursday February 18, 2021 @12:48PM (#26183039)
A logic most developers* not apply to languages, like C, JS, etc.

Sadly.

* ie: Defend (with passion!) the flawed tools, and resist attempts to fix or change them by something better

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by mamon on Thursday February 18, 2021 @01:53PM (#26183926)
Since properly learning a programming language is such a huge time investment for most people, once they do it the language becomes part of their identity. Many people will, in professional setting, introduce themselves as "Java/GoLang/Python Developer". When such developer hears a critique of their language they hear personal insult.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by capableweb on Thursday February 18, 2021 @10:53AM (#26181276)
This is also not a new idea that even comes from the software world. I'm not entirely sure of the original of such ideas, but the first time I heard about was in conjunction with airplanes and their UX. Basically, crashes and other issues from flying is never attributed to the operator, but the UX of the controls as if it was done better, would have prevented the operator of committing the error in the first place.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by CPLX on Thursday February 18, 2021 @10:57AM (#26181331)
Indeed. One of the really core things you learn when you dig deeper into aviation is that essentially every major disaster is a chained combination of multiple extremely unlikely failures in sequence. Which is a testament to both the incredible success this approach has had, as well as the impossibility of perfection.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by alpaca128 on Thursday February 18, 2021 @11:29AM (#26181846)
I once saw a detailed breakdown of a well-known Concorde crash and it's staggering how many coincidences came together to mess up those people's day. Iirc a spare part for another plane was faulty, fell off onto the runway, the Concorde's wheels hit it and exploded due to the strain, one of the rubber chunks hit the fuel tanks causing a leak and another shredded some live wires, leading to ignition of the leaking fuel.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by GuB-42 on Thursday February 18, 2021 @03:54PM (#26185366)
It wasn't the first time the Concorde had exploded tires. There already was several "close calls". The last one was for real, with the power of hindsight, they should have addressed the problem long before the deadly crash.

For me, the best illustration is the Tenerife airport disaster, the deadliest accident in the history of aviation. Two Boeing 747 crashing into each other on the runway during takeoff.

Circumstances included fog, problems in the control tower, nonstandard phraseology, radio interference and overworked personnel.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by andi999 on Thursday February 18, 2021 @01:08PM (#26183302)
Isn't almost everything the fuel tank? So I would say these events are not all independent.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by Gare on Thursday February 18, 2021 @11:06AM (#26181534)
So called "Swiss cheese model": https://en.wikipedia.org/wiki/Swiss_cheese_model
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by EForEndeavour on Thursday February 18, 2021 @11:04AM (#26181478)
Where do you draw the line between blaming the UX and blaming the training process, or the inevitable cases where an irreversible decision made under uncertainty turned out to be the wrong one? Some level of training is certainly needed, so in my naive view anyway, it makes no sense to attribute every error to UX.

For example, let's say a pilot belly-lands because they failed to lower their landing gear, possibly because they were distracted by some other equipment failure, or possibly because sometimes qualified and experienced pilots do this. This error could have been avoided with, say, an automated spoken "gear up" warning instead of a nonverbal warning horn (I have no idea if some aircraft already have this). But it could also have been avoided by longer and more extensive training, right?

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by capableweb on Thursday February 18, 2021 @11:16AM (#26181670)
> But it could also have been avoided by longer and more extensive training, right?

Sure, it maybe could, but why risk it? Humans are also humans, and even pilots with endless amount of flight time does mistakes sometimes, because we're all humans. The idea is to work with the idea that sometimes we fail, even if we are well trained, so when failures happen, it's easy to recover.

> Where do you draw the line between blaming the UX and blaming the training process, or the inevitable cases where an irreversible decision made under uncertainty turned out to be the wrong one?

Basically, it's always the UX. If there is a case where the pilot made the wrong decision, something needs to change so if a pilot with similar experience, wouldn't have made that decision with a different UX. Basically force the pilots to do the right decision, always.

I'm not 100% on the history of all of this, so if someone is more familiar with it, please correct me. But I think it started with "Crew resource management" to ensure proper training of the crew. It has gone through many iterations where less and less blame is being made on the crew and more on the equipment. I think the point of the current iteration basically boils down to "Human-error will happen, let's plan for it and if human-error lead to a plane going down, let's fix it so the same error would be prevented".

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by NovemberWhiskey on Thursday February 18, 2021 @01:28PM (#26183572)
>Basically, it's always the UX. If there is a case where the pilot made the wrong decision, something needs to change so if a pilot with similar experience, wouldn't have made that decision with a different UX. Basically force the pilots to do the right decision, always.

That's not realistic. If you think it is realistic, please take a look at the investigation report for PK8303. Some pilots will disregard alerts, override safeties and ignore procedures: there's only so much a system can do to promote good decision-making.

https://www.caapakistan.com.pk/Upload/SIBReports/AAIB-431.pd...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by thaumasiotes on Thursday February 18, 2021 @05:23PM (#26186588)
> If there is a case where the pilot made the wrong decision, something needs to change so if a pilot with similar experience, wouldn't have made that decision with a different UX. Basically force the pilots to do the right decision, always.

If it were possible to do this, we wouldn't have pilots at all.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by ska on Thursday February 18, 2021 @12:03PM (#26182388)
> But it could also have been avoided by longer and more extensive training, right?

Generally in this sort of risk analysis there is a hierarchy of mitigation, and the least of them is training. e.g. when you find a potentially hazardous situation, the best thing you can do is design the system so that it can't happen. Failing that, you design in an procedural or workflow aspect that naturally avoids it. Failing that, you put in a system to force the use to confirm or review the action. Failing that, you train around it.

A common sign of a flawed design process is when things get pushed into the "train around it" bucket late in the process, not because they were unavoidable, but because they were looked at too late in the design to effectively make changes.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by sokoloff on Thursday February 18, 2021 @06:15PM (#26187173)
> Failing that, you design in an procedural or workflow aspect that naturally avoids it. Failing that, you put in a system to force the use to confirm or review the action. Failing that, you train around it.

I view the procedural or workflow aspect as a subset of training. As an example, I always lower the gear and leave my hand on the gear selector until I see three green (gear safe) lights prior to selecting any flaps.

The operating handbook and factory checklists do not require this, but my planning and training has elected this optional workflow/procedure. Why? Because it's incredibly hard to get my airplane to slow down and come down for landing while completely clean (no flaps, no gear). If I use the factory accepted procedure to select approach flaps, I can get it slow enough to land. I've literally never seen a "pilot forgot the gear" airplane sitting on the runway with no flaps deployed.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by ska on Thursday February 18, 2021 @06:52PM (#26187529)
I wasn't very articulate there, but by a procedural or workflow aspect I mean something like: the workflow will lead you through a series of actions that will make it physically impossible or unlikely to [do the dangerous thing]. This is different than [system can't do the dangerous thing]. It's also different, and safer, than relying on user actions outside your control.

Example: I have a mechanical system moving fast with enough mass to hurt the operator, so I put the control on the other side of the machine (i.e. machine body between person and the dangerous part), and require the operator to hold a switch "on" for the entire time the machine is moving.

This doesn't make it impossible for the machine to hurt the operator, of course, but it makes it a lot less likely - and it doesn't rely on training at all.

While you can also rely on training aspects like you describe (a good idea!) it's not the same thing.

I don't know aircraft, so I don't know if there is something equivalent but I wouldn't be surprised. Anything you simply have to do with two hands on disparate controls?

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by sokoloff on Friday February 19, 2021 @10:16AM (#26194034)
My “gear before flaps” is an example of just such a workflow. If I always do that, it’s extremely hard to get the airplane anywhere near the runway without realizing something’s wrong. (Both the gear and the flaps add considerable drag, helping the airplane go down and/or slow down.)

The only thing that I can think of that directly work this way are some of the gust locks (to prevent control surfaces from banging about in the wind while parked) are required to be designed so the airplane can’t be started and taxied out with them in place. (That’s arguably a poka-yoke as much as a procedure, but probably still fits.) Mine simultaneously locks the yoke and has a plastic flag that blocks the starter switch when installed.

If the airplane offered a mechanism to inhibit flap operation unless the gear was down and locked (a poka-yoke enforcement of my procedure), I’d decline it/argue against it. In the event of a gear failure or a forced water landing, I want to have the flaps without the gear being safe and, especially for water, I don’t want to have to look up the abnormal/emergency flap extension without gear in a QRH while doing everything else needed while descending for a forced landing.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by sokoloff on Thursday February 18, 2021 @06:10PM (#26187131)
There are configuration warning systems (most are aural tones, though there are available spoken systems). There are two challenges with a gear warning system: When to trigger it. How to present it.

In my aircraft, it's triggered by ((no gear safe indication) and ((full flaps) or (very low throttle setting))). The presentation is a loud, alternating warning tone and a red "Gear Unsafe" light directly in my field of view on the glareshield. These are not silenceable by button as is common on training aircraft.

Even though a handful are inadvertently geared up every year, I'm not convinced that better warning systems would significantly reduce the rate. Better training would. If I ever do the deed, I'll be the first to admit that I was the primary cause and that I failed not only to follow the checklist, but my own SOPs and flew the aircraft onto the runway with a large red light right in front of me and a blaring horn. Making it a voice seems not likely to help.

If I gear it up after an electrical failure [which some of the inadvertent ones are], that's probably slightly more understandable (and a scenario in which an additional, electrically powered, warning system would presumably also be INOP).

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by hugh-avherald on Thursday February 18, 2021 @11:18AM (#26181704)
It's worth noting that generally in aviation when a UX is blamed, the UX is very, very far from perfect.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by rational_indian on Thursday February 18, 2021 @11:29AM (#26181855)
> At scale, human errors are a certainty, while documentation and training is far from useless, no amount of it can change that fact. It's therefore a critical responsibility of systems designers to design their systems to be resilient to mistakes.

If only the people who insist on using unsafe languages understood this. Their position is that you should get better at not making mistakes.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by missblit on Thursday February 18, 2021 @11:51AM (#26182194)
I work with C++ on a daily basis and the position is actually closer to "sandbox anything tricky, and run everything through fuzzers and sanitizers."

Anyone who thinks they can overcome 100% of memory-unsafety bugs through looking at the code real hard is fooling themselves. But I'm not convinced there's a lot of people who actually think that (maybe there's some people who just don't care or never considered it)

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by rational_indian on Thursday February 18, 2021 @12:41PM (#26182928)
This has not been my experience. Most people don't bother with these things. Memory safety / undefined behavior is a non issue for them.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by jasonwatkinspdx on Thursday February 18, 2021 @05:44PM (#26186866)
This book is a great short manifesto on exactly that point: https://www.amazon.com/Field-Guide-Understanding-Human-Error...

It's written by someone that does airliner crash investigations. His central point is that "human error" as a term functions to redirect blame away from the people who establish systems and procedures. It blames the last domino vs the people who stacked them.

It's a quick breezy read, and you'll get the main points within the first 30 min or so of reading. I've found it useful for getting these ideas across to people though, especially more generic business types where "no blame post mortem" strikes them as some care bear nonsense rather than being an absolutely essential tool to reduce future incidents.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by mybandisbetter on Thursday February 18, 2021 @11:01AM (#26181423)
This is also a big concept in the medical world. There's an influential report on this from the 90s called "To Err is Human." https://pubmed.ncbi.nlm.nih.gov/25077248/
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by natchy on Thursday February 18, 2021 @02:00PM (#26184010)
That concept is from the book “the design of everyday things” by Dan Norman. A Seminal book in UX psychology.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by kthejoker2 on Thursday February 18, 2021 @06:47PM (#26187480)
I forget which book exactly, but one of Scott Adams's has a story from a reader about a process consultant who comes from a background in aviation into some typical Fortune 500 company and tells them the trick to improvement is just to never make a mistake, ever.

And then proceeds to use reductio ad absurdum to demonstrate that if you can be perfect for 5 seconds, you can string those together to be perfect for 5 minutes ... 5 hours ... 5 days .. your whole life!

And when someone in the crowd pushed back on this idea, the consultant said something like, "If the airlines took that same approach to flying, we'd have 1,000 accidents a year!"

And then maybe the reader looked it up later and it turned out there were about 1,000 flying accidents a year.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by hinkley on Thursday February 18, 2021 @04:47PM (#26186120)
Given enough eggs, a chef will eventually throw the eggs in the trash and put the shells in the pan. Given enough orders, someone will do that every single day.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by JustSomeNobody on Thursday February 18, 2021 @11:46AM (#26182107)
So, they should have made the Challenger completely incapable of launching in cold wx, for example?
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by wtallis on Thursday February 18, 2021 @12:39PM (#26182911)
That sounds like you're trying to propose a solution that's as far as possible from addressing the root cause and any "human error". NASA didn't need a shuttle that would refuse to take off in cold weather. They needed engineering assessments that realistically quantified and clearly communicated the risks of launching in cold weather. Given accurate information about the capabilities of the shuttle, mission control would have waited for warmer weather or implemented countermeasures.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by eidedxueq on Thursday February 18, 2021 @01:21PM (#26183465)
The Challenger explosion was entirely political. It was the result of the structure of human relationships and not any engineering discipline.

Had the social structure been politically different on that day they would have acted on the available engineering information by refusing to launch. It was the political environment that goaded them into taking more risk than they had previously decided was acceptable.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by JustSomeNobody on Thursday February 18, 2021 @01:53PM (#26183928)
The Challenger explosion was human error. It wasn't a design flaw, it was human error. That was my point.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by wtallis on Thursday February 18, 2021 @02:18PM (#26184227)
Then I think you're still missing the point of the comment you replied to. Chalking something up to "human error" is not a particularly useful conclusion to come to; it doesn't really solve or prevent any problems. The takeaway should be that a system did indeed fail from a design flaw. That system was not the space shuttle as a mechanical device. The system that failed and needed to be re-designed was the process of spacecraft engineering: NASA was lacking in structural incentives and protections necessary to ensure that predictable catastrophes would actually be predicted, and that such predictions would be communicated through the organization before anyone got killed.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by SamBam on Thursday February 18, 2021 @12:19PM (#26182598)
That certainly seems like a reasonable thing to me, now that we know that to be an issue. Why wouldn't you design a system that prevents it from taking off in conditions that are known to cause a crash?

Obviously they may not know these conditions ahead of time. But preventing user error for known problems seems obvious.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by ClumsyPilot on Thursday February 18, 2021 @02:12PM (#26184140)
If the only possible alternative is killing everyone by exploding? Certainly.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by kleer001 on Thursday February 18, 2021 @12:33PM (#26182820)
I bet that was on a list of considerations and was dismissed.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by Tempest1981 on Thursday February 18, 2021 @11:36AM (#26181957)
Ok, but... there are some powertools that cannot be made completely safe. Like git.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by m12k on Thursday February 18, 2021 @10:47AM (#26181187)
Thing is, even with a UI as shitty as this, you would still have caught this if before actually committing the transaction, the software had a "before" and "after" view to show the effect of the change. Raj caught the error during a routine inspection the next morning, so the same view he used for that, presented before the change had been committed, would have allowed him to avoid the error.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by xwolfi on Thursday February 18, 2021 @12:29PM (#26182753)
I've worked with Citi as a partner, as a client and as a service provider in various other banks and fintech companies, and I'm so not surprised. In fact none of my colleagues are.

The problem is Citi itself. It's always an absurd amount of indian subcontractors who aren't paid to care but just to look good on a cost cutting plan (so they do their job), a disorganized / panicked organization who seem to never know what's happening when and follow mega-processes rather than solve problems.

My bank has those, but we can take shortcut if we must - not Citi, can make you wait 2 months for a csv file via sftp, and then pretend to be ready when you finally discover it's a frigging indian contractor writing the csv rather than an automated process... we were like "guys seriously why are you even lying about it" when it all came crashing down with crazy errors never seen in the UAT. Turns out the automation guys were late and they made an effing human do the prod version meanwhile ...

In another company, working with Citi on a completely different sector/group/vertical, I spent nights with their tech guys in India figuring out their own system and why they couldn't work... and they had less clue than me, it's absurd.

They seem to work in very split team where americans will do the high level design and then outsource to dev + support + deployment teams, ofc isolated from each other, in India. So nobody US cares about any actual implementation detail of anything, the 3 indian teams don't know each other, and nobody feels responsible of anything. It's absurd I've had multiple separate experience of the same thing, with me and my colleagues doing the connection layer between various Citi stakeholder who had no idea about each other.

There was even a time where a Citi country team in Hong Kong begged us to introduce them to the Citi country team in Singapore, and show them their product and processes...

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by rowland66 on Thursday February 18, 2021 @01:09PM (#26183305)
Your experience with Citi is very similar to mine. It is funny that as an organization Citi seems to believe that its technology is brilliant and that any software that it uses must be built by Citi. Tremendous hubris combined with total incompetence. Not a winning combination.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by xwolfi on Thursday February 18, 2021 @09:54PM (#26189039)
Well I ll be honest we all do. My own bank, another giga multinational, also has this hubris, fine. But at Citi they went so far in the outsourcing nobody knows anything anymore. The people you talk to to organize stuff are timezones away from the guys doing stuff. And me I m close to the Indian time in HK, work with our own outsourcing in India who are fine for what they re here for etc and we have pains. But never to the extent of Citi where there s like internal conflict or total lack of communication that makes the contractors lie more than usual to the managers... I dont know I dont get why each time we have to deal with Citi it's the same story. It s organisational though, not tech (their tech I ve dealt with is okay)
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by magicalhippo on Thursday February 18, 2021 @11:38AM (#26181984)
At work we have several modules which each have their "output control". When the user hits "submit", we run several checks and outputs a list of potential issues.

We've got four levels: info, warning, severe warning and error. Warnings are highlighted, severe warnings must be explicitly accepted (and we log this) and errors prevent submission.

When clicking on an item in the list, the cursor moves to the relevant control, so they don't have to hunt around.

We add the checks we can think of, and keep on adding checks based on user mistakes and feedback.

I'm not familiar with the financial world, so I don't know how common it would be to do what they wanted to do, but at the very least it sounds like the principal account number being filled out but not the two others is something we'd made an info item from, to highlight what would happen. If what they ended up doing is unusual, it would be a warning and likely severe warning due to the amount.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by pdpi on Thursday February 18, 2021 @10:57AM (#26181347)
That would, by itself, make the UI less shitty. Also, if you're the sort of person who thinks in those terms, you're also likely the sort of person who'd have come up with a better design overall anyway.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by dylan604 on Thursday February 18, 2021 @11:49AM (#26182153)
This sounds like one of those situations where devs tasked with programming something that they have little to no understanding of what they are programming does. Yes, the dev programmed button A to perform action B, but doesn't truly understand how/why/what/when/where action B. It's just a check box of the requirements that has now been completed.

However, a dev that does understand action B would be able to anticipate various forms of input from button A and how that could cause undesired results from action B.

This isn't a knock on the dev that is less knowledgable about the full thing. It is a knock on the people upstream that should be more aware of issues. Also, the people most knowledgeable about action B tend to have little to no understanding of programming. While they might understand that providing bogus data to action B can have bad results, they are not aware enough to tell the devs that sometimes valid looking data is just not sane.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by acdha on Thursday February 18, 2021 @12:50PM (#26183069)
I wouldn’t even assume lack of understanding as much as being locked into a work-to-order situation where they’re not rewarded, possibly punished, for doing anything which isn’t on the assignment. This is super common in outsourced hellscapes where the MBAs like to LARP as architects and UI designers and there’s no effective feedback loop from the actual users.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by JackFr on Thursday February 18, 2021 @11:12AM (#26181612)
In this case, yes, in general I doubt it.

I assume this system is designed to handle manually adjusted payments for syndicated lending. So you've got one borrower with potentially multiple credit facilities, with each credit facility will be funded by multiple lenders, each with potentially multiple accounts. The events you are dealing with are fees, underpayment/overpayment of interest or principal, late or early payments of principal, transfers of balances from one lender to another, funding transactions and plenty I haven't thought of or considered but are represented by check boxes on that UI.

It's complicated. The reason the system exists is because it's complicated, and prone to human error, and the before and after might generate dozens of events in dozens of accounts.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by skeeter2020 on Thursday February 18, 2021 @11:19AM (#26181716)
What seems weird is that accounting software typically adds these transactions immediately with a future date, so in this case whenever the batch was executed. You don't need to wait to see the impact, just for it to take effect. This UI has to work extra hard to obscure this visibility.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by PeterisP on Thursday February 18, 2021 @11:46AM (#26182113)
I don't know how it's in this particular system, but I have also seen banking core software which would add these transactions during end of day batch procesing, by which time the original operators wouldn't be looking at them anymore, and anything that should be settled 'today' would also get executed during that batch process.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by SamBam on Thursday February 18, 2021 @12:20PM (#26182606)
Right. I think this situation needs a "Dry Run" button.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by microtherion on Thursday February 18, 2021 @03:46PM (#26185263)
I had exactly the same thought. Whenever I write a tool that manages a complex process, I try to add a dry run mode, and more often than not, I use it.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by yrgulation on Thursday February 18, 2021 @10:44AM (#26181131)
Unrelated, but is it a good idea make the names of those employees public? Wondering how this will end up affecting their lives, when in fact it was caused by a UI issue and lack of proper training on how to use it.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by airstrike on Thursday February 18, 2021 @10:42AM (#26181101)
I'm not sure that changes anything. The human error here is in the design, not in the execution.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by hjek on Thursday February 18, 2021 @10:49AM (#26181219)
It speaks even worse of that interface. It means that the design was not only bad enough to confuse a single individual but also the two others meant to act as safety mechanism.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by goatcode on Thursday February 18, 2021 @11:05AM (#26181490)
It looks like they were all under-qualified. I wonder how much the decision to hire them all will end up costing anyone other than them, and the people who hired them.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by read_if_gay_ on Thursday February 18, 2021 @11:14AM (#26181640)
No. It looks like the people who built the software were underqualified.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by goatcode on Thursday February 18, 2021 @12:00PM (#26182333)
Maybe I misunderstood, but all of them either "thought" that was the right thing to do or signed off on it. Even if the software should have warned them, shouldn't they have known the correct transactions to make?
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by kemotep on Thursday February 18, 2021 @12:34PM (#26182834)
That's issue here with this specific software's UX.

They all thought they were making the right transaction. There was no warning that they were not.

It would be like if I hit the reply button here on Hacker News and instead of the comment I typed out it my reply contained my bank account information. And I was not told something I do not want to happen would happen by doing so.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by goatcode on Thursday February 18, 2021 @02:04PM (#26184054)
I think I understand now: the software was doing the wrong thing. They thought they were making one transaction, but they made a different one. One wonders how long that had been going on for, and how it could have been going on for so long.

Thanks for the explanation. It saddens me how brutal people here are in response to a misunderstanding, judging by the downvotes, but oh well.

Re:Judge: Citibank isn't entitled to $500M it sent to variou... by anyfoo on Thursday February 18, 2021 @03:43PM (#26185240)
It saddens you? You made a scathing misjudgement about the involved people without having read the article, or even the rest of the thread here. I don't think it's the downvoters that are "brutal" here.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by goatcode on Thursday February 18, 2021 @03:53PM (#26185350)
My point has illustration here.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by jumelles on Thursday February 18, 2021 @04:25PM (#26185824)
Calling three separate people "under-qualified" is a bit more than a misunderstanding.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by CydeWeys on Thursday February 18, 2021 @12:22PM (#26182657)
They knew the correct transactions to make; the problem is the software was unbelievably counter-intuitive. At some point the user can't be blamed if the UX design is that bad.
Re:Judge: Citibank isn't entitled to $500M it sent to variou... by rational_indian on Thursday February 18, 2021 @11:31AM (#26181875)
LOL.