Archive for March 3, 2025

Monday, March 3, 2025

Citibank’s $81 Trillion Error

Doloresz Katanich:

An error almost led to a Citigroup account being credited with $81tn (€77.8tn) - an amount that is about 5 times the total wealth of the UK, which was estimated at €14.7tn in 2023 by ONS.

[…]

The erroneous internal transfer, which occurred last April, was initially missed by two employees, one of whom was assigned to check the transaction.

[…]

The first employee had to go through a rarely-used back-up screen following another system’s fault to send $280 (€269) to a client’s account. One quirk of the rarely-used screen was that the amount field came pre-filled with 15 zeros, something that would have to be deleted but that did not happen[…]

Pre-filling the field sounds like such a terrible design that wouldn’t happen by accident, so there must be an interesting reason why that was done.

Stephen Gandel and Joshua Franklin:

A third employee detected a problem with the bank’s account balances, catching the payment 90 minutes after it was posted.

[…]

The bank said its “detective controls promptly identified the inputting error between two Citi ledger accounts and we reversed the entry” and that these mechanisms “would have also stopped any funds leaving the bank”.

[…]

A total of 10 near misses — incidents when a bank processes the wrong amount but is ultimately able to recover the funds — of $1bn or greater occurred at Citi last year, according to an internal report seen by the FT.

In the financial world, fractions of a second matter, but somehow 90 minutes after the fact is considered prompt. A good Mac app will preemptively warn the user if they do something that’s probably an error, like try to open 100 documents at a time. The G-SIB’s “detective controls” sound like the equivalent of killing the process after it’s used up all the RAM but before it brings down the whole machine. OK, that’s a good thing, but there’s really no input validation or sanity checking earlier in the process? I suppose that’s not actually necessary when there are legal means of undo.

Previously:

Swift 6.1

Mishal Shah:

This post describes the release process, and estimated schedule for Swift 6.1.

Donny Wals:

The Xcode 16.3 beta is out, which includes a new version of Swift. Swift 6.1 is a relatively small release that comes with bug fixes, quality of life improvements, and some features.

[…]

Starting in Swift 6.1, Apple has made it so that we no longer have to explicitly define the return type for our child tasks. Instead, Swift can infer the return type of child tasks based on the first task that we add to the group.

[…]

However, it’s kind of strange in a way that the compiler is using an extension on Int that’s defined in a module that I didn’t even import in this specific file.

[…]

In Swift 6.1, we can opt into a new member visibility mode. This member visibility mode is going to work a little bit more like you might expect.

Matt Massicotte:

I really like proposals that make things work more intuitively. What this one does is expand the use of nonisolated so you can better control global isolation inference.

[…]

I completely missed this one when it was pitched! It’s just a great little quality-of-life improvement for the with*TaskGroup family of APIs.

[…]

Another area that has seen attention is around the sending keyword. There were a number of situations where the compiler was too conservative with sending and 6.1 has gotten a lot better!

Previously:

StopTheMadness for Safari Web Apps?

Jeff Johnson:

There’s now a Safari web extension version of Noir specifically for Safari web apps, in addition to the Safari app extension version of Noir for Safari. Of course, this solution is non-ideal, because it’s confusing to users, and you’ll notice in the above screenshot that Noir for Web Apps has to warn users—with red exclamation points!—not to enable it for regular Safari. You don’t want two different versions of the same extension running simultaneously in Safari.

[…]

In theory, I could follow Noir in creating a Safari web extension version of StopTheMadness specifically for Safari web apps on macOS. The question is, should I, and why? The project would be a lot of work, which I’m not opposed to, but the work needs to be worth it. Some StopTheMadness customers have requested Safari web apps support, but not a lot of customers so far.

Besides the work involved, another problem is that Safari web apps are… weird. They have no address bar. They have no tabs. They lack some of the standard contextual menu items. They open cross-origin links in Safari rather than in the web app—unless you select Open Link in New Window! In general, the weirdness of Safari web extensions would break some of the crucial features of StopTheMadness, such as protecting ⌘-click to open links in a new tab, the Tab Rules, and the contextual menu options.

Previously:

2024 Apple Vision Accessibility Report Card

AppleVis:

Overall, survey participants expressed satisfaction with the VoiceOver features available on iOS. Several participants expressed a desire for deeper AI integration for functionality like image description, photo labeling, voices, and screen recognition. Multiple participants expressed dissatisfaction with the VoiceOver features available on macOS, particularly when compared to iOS. People who use devices in languages other than English reported particular issues with VoiceOver unique to their language. Multiple participants expressed a desire for Apple to prioritize fixing existing bugs before introducing new features.

[…]

As with the comments on VoiceOver features, participants spoke most favorably about the VoiceOver user experience on iOS; however, long-standing bugs, like the issue with focus jumping, remain and detract.

[…]

Apple received high praise from participants for the new Braille Screen Input features introduced in iOS 18 and iPadOS 18. Several participants reported issues with the cursor jumping when using a braille display, and others reported issues when using particular displays and concerns about overall ease-of-use of braille display functionality.

[…]

While opinions on the utility of the new accessibility features introduced in 2024 were not universal, a large number of users praised Apple's efforts in this regard. In particular, participants expressed appreciation for the improvements to Braille Screen Input (including Command Mode); Live Recognition; the Voices Rotor; the customizable Commanders in macOS; Audio Ducking enhancements; and the VoiceOver Tutorial on iOS. Some users reported difficulty using the Vocal Shortcuts feature. Some expressed that VoiceOver is stagnating, while others expressed a wish for Apple to prioritize fixing bugs and existing features before implementing new ones. Multiple participants expressed a desire for Apple to improve image descriptions using artificial intelligence.

Previously: