Archive for August 22, 2025

Friday, August 22, 2025

Uncertain⟨T⟩

Mattt Thompson:

In 2014, researchers at the University of Washington and Microsoft Research proposed a radical idea: What if uncertainty were encoded directly into the type system? Their paper, Uncertain<T>: A First-Order Type for Uncertain Data introduced a probabilistic programming approach that’s both mathematically rigorous and surprisingly practical.

As you’d expect for something from Microsoft in the 2010s, the paper is implemented in C#. But the concepts translate beautifully to Swift.

[…]

When you compare two Uncertain values, you don’t get a definitive true or false. You get an Uncertain<Bool> that represents the probability of the comparison being true.

[…]

Using an abstraction like Uncertain<T> forces you to deal with uncertainty as a first-class concept rather than pretending it doesn’t exist. And in doing so, you end up with much smarter code.

Lightroom Classic 14.5

Victoria Bampton on 14.3 (Adobe):

A new mask selection tool is introduced for Landscape. It works much like the Select People tool, using AI to read the scene and select specific elements[…]

[…]

In the Develop and Photo Merge dialogs, transparency now shows as a checkerboard pattern (just like in Photoshop), making it easier to identify transparent areas.

[…]

If you select Manage Catalogs in the same menu, a new dialog allows you to remove catalogs from that list.

Victoria Bampton on 14.4 (Adobe):

If you’ve enjoyed using the Enhance tool to increase the size of your best photos using Super Resolution or to benefit from the AI-generated noise reduction (Denoise), you’ll be excited to find that these tools are now available directly in the Detail panel, without needing to generate a separate DNG file.

[…]

There’s a new Distraction Removal tool, which is designed to remove people who aren’t the subject of a photo. It uses AI to automatically select any distracting people, and then employs Generative AI to remove them and repair the background. The detection is based on the current crop area, so if you want to remove people who are currently hidden by the crop, remove the crop before running the People Removal.

[…]

The new Reflections Removal tool uses AI to eliminate reflections created by photographing objects through glass, such as items in a shop window, artifacts in a museum, or the view through an airplane window. You do need to be quite close to the glass, so it doesn’t work well for windows in real estate photography.

[…]

If you have Automatically Write to XMP enabled in Catalog Settings, there are a couple of small changes to improve performance. Writing to XMP is now automatically paused while an Import is running, and when you’re working on a photo in the Develop module, it now saves every 10 seconds.

Victoria Bampton on 14.5 (Adobe):

With this release, a new pop-up appears in the dialogs, allowing you to save specific groups of checkboxes.

[…]

If you have a high-end graphics card, you’ll be excited to know it can now be used to speed up preview generation, in addition to the existing GPU acceleration. […] It’s also up to 2x faster.

The thumbnail issues I’ve previously discussed seem to be fixed. XMP is still wonky as always. It will spend a long time writing changes to XMP and say it’s done, but then if I go and view an old folder that fully wrote its XMP years ago and hasn’t changed since, it will then start a new round of XMP work. I’ve tried leaving my catalog open for a few days, but it never seems to get to a stable state where it’s satisfied that the XMP is up-to-date everywhere.

Previously:

Bildhuus Aspect

Jack Baty (Mastodon):

Some former Nik Software people are building a new tool for managing photo libraries. It’s called Aspect. I’m a sucker for any photo-related software, so I installed the beta and spent yesterday testing it. I took some notes after using it for a day.

First impressions were good. I like the ideas behind Aspect. It relies on the underlying file system, so it’s reasonably transparent. It organizes things for me based on dates and events. I can control the structure. I can even change it later, and Aspect will move things around to match.

There are collections and smart collections. There are metadata filters for labels and ratings. All table stakes so far.

Where I think Aspect becomes interesting is in how it manages photos and can synchronize between devices, without relying on a cloud service.

[…]

Aspect is not a photo editor or RAW processor, so I need to open the files with an external editor.

Sönke Ludwig:

Reaching one of our most important goals, we are introducing two companion apps for iOS and Android that enable the synchronization of photos taken on the mobile phone with an Aspect library on the desktop.

[…]

The iOS app on the other hand is actually a full version of Aspect hidden under a very simple user interface and uses the peer-to-peer library synchronization of Aspect. The photos contained in the Apple Photos library will automatically be imported into the Aspect library and will then be transferred to the desktop app as part of the regular library synchronization process.

Bildhuus:

But just because we use high quality equipment doesn’t mean that we cannot have a good multi-device experience. Our peer-to-peer synchronization technology keeps your library accessible on all devices, without having to rely on cloud storage.

[…]

Aspect’s collections combine the best of albums, tags, color labels, star ratings and folder hierarchies into a single clear concept. They are blazingly fast to use, have smart preview modes to show contained photos, and are readily accessible from every context.

There’s a free version with fewer features. The Pro version costs $109 while in beta and then will increase to $169.

Previously:

Messages Address Bubble Colors

Glenn Fleishman:

When you enter an email address or type one into the address field in Messages, the software does a quick behind-the-scenes check. Messages tries to determine if the address is associated with an active iCloud account. As you accept or paste in an address, you might notice that it always briefly lights up black text within a blue lozenge. If the address isn’t connected, the background changes from blue to red. This sometimes happens so quickly you don’t see it move from blue to red.

[…]

As shown in the lifecycle figure above, sometimes you will see a blue lozenge for a match—cached? preliminary?—but once you click in the message field, and shifts to green text!

More confusingly, even if you type in a non-iCloud-connected email address and the contact with which the address is associated also has an iCloud-hooked-up address, Messages forces the use of the iCloud-linked address! I haven’t found a way to force use of a non-iCloud address without removing that email from the contact card.

[…]

I found frustrating just the sheer number of things that lacked information at support.apple.com or which had “drug interaction”-like problems where features conflicted with each other.

Previously: