Normal view

There are new articles available, click to refresh the page.
Yesterday — 11 August 2025The Eclectic Light Company

Paintings of Dante’s Inferno: 3 In Limbo

By: hoakley
11 August 2025 at 19:30

Dante lost consciousness just before he was expecting to be ferried across the River Acheron in Charon’s boat, from Hell’s Gate to its First Circle.

botticellimaphell
Sandro Botticelli (1445–1510), Map of Hell (1480-90), silverpoint, ink and distemper, 33 x 47.5 cm, Biblioteca Apostólica Vaticana, Vatican City. Wikimedia Commons.

Botticelli’s Map of Hell from 1480-90 shows these stages of their descent at the very top: highest are the woods through which Dante was wandering when he encountered the three wild beasts. At the left, Virgil led Dante down to the area in which the cowards are trapped, neither being allowed admittance to Heaven, nor to Hell. Charon’s boat then crosses the River Acheron, shown in blue, taking Dante and his guide Virgil to the First Circle of Limbo.

Dante is woken by thunder, and realises that he’s on the edge of the abyss that is Hell. Virgil leads him down into darkness, where there is no grief or pain, and explains that the multitude there never sinned at all, but none was baptised in faith as they had lived before the Christian era. This is where Virgil’s ghost now inhabits, for despite his merit and attainments, he never revered the Christian God.

dorevirtuouspagans
Gustave Doré (1832–1883), The Virtuous Pagans (1857), engraving, dimensions not known, location not known. Wikimedia Commons.

Dante asks whether any of those in Limbo, as this circle is known, have ever been blessed and been able to leave. This allows Virgil to explain the Harrowing of Hell by Christ after his crucifixion. This occurred not long after Virgil’s death: following his crucifixion, Jesus Christ descended into Hell, where he reached the First Circle, blessed and liberated from it the many Old Testament figures who had been faithful to the God of the Jews, also known as Anastasis.

The descent of Christ into Limbo and his Harrowing of Hell was a popular theme in religious painting until the end of the Renaissance, and would have been familiar to Dante’s readers. Here is a small selection of some of the finest paintings of this, from 1530 to 1600.

beccafumichristlimbo
Domenico di Pace Beccafumi (1486–1551), The Descent of Christ into Limbo (1530-35), media not known, 398 x 253 cm, Pinacoteca Nazionale di Siena, Siena, Italy. Wikimedia Commons.
tintorettodescentintolimbo
Jacopo Tintoretto (c 1518-1594), The Descent into Limbo (E&I 144) (1568), oil on canvas, 342 x 373 cm, San Cassiano, Venice, Italy. Wikimedia Commons.
brueghelchristlimbo
Jan Brueghel the Elder (1568–1625) and Hans Rottenhammer (1564–1625), Christ’s Descent into Limbo (1597), oil on copper, 26.5 x 35.5 cm, Koninklijk Kabinet van Schilderijen Mauritshuis, The Hague, The Netherlands. Wikimedia Commons.
cespedeslimbo
Pablo de Céspedes (1538–1608), Christ’s Descent into Limbo (c 1600), oil on panel, dimensions not known, Indianapolis Museum of Art, Indianapolis, IN. Wikimedia Commons.

Virgil then introduces the great classical writers: Homer, Horace the satirist, Ovid and Lucan. Together with Virgil, these five invite Dante to join them as the sixth among the ranks of great writers, in an ambitious piece of self-promotion.

blakehomerlimbo
William Blake (1757–1827), Homer and the Ancient Poets in the First Circle of Hell (Limbo) (Dante’s Inferno) (1824-27), pen and ink and watercolour over pencil, dimensions and location not known. Wikimedia Commons.
dorehomerlimbo
Gustave Doré (1832–1883), Homer, the Classic Poets (c 1857), engraving, dimensions not known, location not known. Image by Karl Hahn, via Wikimedia Commons.

The group walk on to the Dome of Light, and further to a castle surrounded by seven curtain walls and a moat. When they enter that they see many ancient heroes, including Electra, Hector, Aeneas, and other figures from classical history and legend. Next Dante notices a group of philosophers, including Socrates, Plato and others. Finally, he sees other learned figures from the past, including Euclid, Ptolemy and Hippocrates.

Here Dante and Virgil bid farewell to the spirits of those great figures as they move onward to the next circle.

The artists

Domenico di Pace Beccafumi (1486–1551) was one of the last of the Sienese School of Painting, which contrasted with the better-known Renaissance painting of Florence. He has been aptly summarised as “a mediaeval believer of miracles awaking in Renaissance reality.”

William Blake (1757–1827) was a British visionary painter and illustrator whose last and incomplete work was an illustrated edition of the Divine Comedy for the painter John Linnell. Most of his works shown in this series were created for that, although he did draw and paint scenes during his earlier career. I have a major series on his work here.

Sandro Botticelli (1445–1510) was one of the leading painters of the early Southern Renaissance, working in his native city of Florence. In addition to his huge egg tempera masterpieces of Primavera (c 1482) and The Birth of Venus (c 1485), he was a lifelong fan of Dante’s writings. He produced drawings that were engraved for the first printed edition of the Divine Comedy in 1481, but those weren’t successful, most copies only having two or three of the 19 that were engraved. He later began a manuscript illustrated edition on parchment, but few pages were ever fully illuminated.

Jan Brueghel the Elder (1568–1625) was the son of Pieter Brueghel the Elder, who specialised in floral still lifes. The painting shown above was made in collaboration with the figure painter Hans Rottenhammer, a relationship that lasted between 1595-1610. At the time of this painting, Brueghel had returned to Antwerp, and Rottenhammer was in Venice.

Pablo de Céspedes (1538–1608) was a Spanish polymath from Córdoba, who was an accomplished painter, poet and architect who worked for twenty years in Italy, largely because he fell foul of the Inquisition of Valladolid in Spain. He was also a linguist and theologian.

Gustave Doré (1832–1883) was the leading French illustrator of the nineteenth century, whose paintings are still relatively unknown. Early in his career, he produced a complete set of seventy illustrations for translations of the Inferno, that were first published in 1857 and continue to be used. These were followed in 1867 by more illustrations for Purgatorio and Paradiso. This article looks at his paintings.

Hans Rottenhammer (1564–1625) was a German figure painter who worked in Italy from 1593-1606. Later during that period, when he was in Venice, he collaborated with Jan Brueghel the Elder on the work shown above. He was probably responsible for the early training of Adam Elsheimer, and for introducing him to the technique of painting on a small scale using oil on copper plate.

Jacopo Tintoretto (c 1518-1594) was one of the three grand masters working in Venice in the middle and late sixteenth century, alongside the more senior figure of Titian, and Paolo Veronese. Primarily a religious painter, I have looked in detail at his major works and biography. His painting shown above was made to accompany his Crucifixion for the church of San Cassiano in Venice.

References

Wikipedia
Danteworlds

Robin Kirkpatrick (trans) (2012) Dante, The Divine Comedy, Inferno, Purgatorio, Paradiso, Penguin Classics. ISBN 978 0 141 19749 4.
Richard Lansing (ed) (2000) The Dante Encyclopedia, Routledge. ISBN 978 0 415 87611 7.
Guy P Raffa (2009) The Complete Danteworlds, A Reader’s Guide to the Divine Comedy, Chicago UP. ISBN 978 0 2267 0270 4.
Prue Shaw (2014) Reading Dante, From Here to Eternity, Liveright. ISBN 978 1 63149 006 4.

Solutions to Saturday Mac riddles 320

By: hoakley
11 August 2025 at 16:00

I hope that you enjoyed Saturday’s Mac Riddles, episode 320. Here are my solutions to them.

1: What ET wants is a call coming to the Mac.

Click for a solution

Phone

What ET wants (to phone home) is a call (a phone call) coming to the Mac (macOS Tahoe is bringing the Phone app).

2: A glass to enlarge among the liquid.

Click for a solution

Magnifier

A glass (a magnifying glass) to enlarge (what it does) among the liquid (Tahoe’s Liquid Glass interface feature).

3: Daybook you might already have started elsewhere.

Click for a solution

Journal

Daybook (a journal) you might already have started elsewhere (it was released in iOS 17.2, and is coming to macOS in Tahoe).

The common factor

Click for a solution

They are all new apps coming to macOS 26 Tahoe.

I look forward to your putting alternative cases.

Inside XProtect Remediator, and how it could save us from disaster

By: hoakley
11 August 2025 at 14:30

Six years ago, in July 2019, Macs came closer to disaster than at any time before or since. Millions of Mac users around the world had, at some time or other, installed Zoom conferencing software, and in doing so had unknowingly put their Macs at risk. For their convenience, the old Zoom installers of that time also installed a hidden web server that was left running. That was capable of reinstalling the Zoom client, and had been discovered to contain an easily exploitable vulnerability that exposed all those Macs to remote attacks.

The only solution was for Apple to harness its old Malware Removal Tool, MRT, to remove that web server from all Macs before they came under attack. Although MRT had been widely criticised for what others considered to be weakness, on this occasion it proved its value. MRT version 1.45 was released by Apple on 10 July 2019, and averted that potential catastrophe.

Three years later, in the summer of 2022, Apple replaced MRT with its successor, XProtect Remediator or XPR, which has been vastly improved, and still contains the remnants of MRT in its MRTv3 scanning module. As Apple documents almost nothing about XPR, it has been up to others to dive deep inside it, among them Koh M Nakagawa, @tsunek0h, of FFRI Security. While others have merely scratched the surface, he has just presented a superb and deep account of XPR at Black Hat USA. You can download the slides for his presentation from here.

Status_code 30 PlugInCanceled

If you check XPR scans using SilentKnight or XProCheck, you’ll be aware that for many months some of them are terminated prematurely with a status_code of 30 and the message PlugInCanceled. This most commonly affects Adload scans, and still occurs in beta-releases of macOS 26 Tahoe. According to Koh’s research, the Adload scanning module alone contains over 1,000 Yara detection rules, accounting for the long time it takes whenever XPR runs a set of scans.

Before XPR started terminating its scans as it does now, a full set could take an hour or more, so XPR has started using a timer. If the scan exceeds the time allowed, then it will be abruptly terminated, resulting in this status_code and message. There’s nothing the user can do to avoid it, and we’re surprised that XPR continues to exhibit this behaviour.

Laptop Macs

The other significant limitation in XPR affects those using MacBook Pro, MacBook Air and MacBook models. Because XPR scans take a substantial amount of energy, even when run almost entirely on the E cores of Apple silicon Macs, daily full scans will only be run when those laptops are using mains power, and won’t be run at all on battery.

As XPR scans are also normally run when a Mac is awake but only under a light load, it’s possible for a laptop to go several days without running an XPR scan. The only solution is to leave it connected to mains power, awake and doing little else for an hour or so, when it should seize the opportunity to catch up with that and other important background tasks with similar requirements.

Unfortunately, XPR won’t warn you that it hasn’t run any scans for several days, but SilentKnight and XProCheck will.

Before yesterdayThe Eclectic Light Company

Painting the summer storm 2

By: hoakley
10 August 2025 at 19:30

In the first of these two articles showing masterly landscape paintings of summer storms, I had reached John Constable in the early 1830s.

troyonapproachingstorm
Constant Troyon (1810–1865), The Approaching Storm (1849), oil on canvas on board, 116.2 x 157.5 cm, The National Gallery of Art, Washington, DC. Wikimedia Commons.

Of Constant Troyon’s early paintings the most outstanding must be The Approaching Storm from 1849. Set on a river worthy of Constable, two anglers appear to be readying themselves for the torrential rain heading towards them, while others still wander in the last patch of sunshine on the far bank.

noeldieppe
Jules Noel (1815-1881), Panorama of the Town of Dieppe (c 1865), further details not known. Image by Philippe Alès, via Wikimedia Commons.

Jules Noel’s Panorama of the Town of Dieppe (c 1865) shows a large picnic party on the cliffs overlooking the town of Dieppe on the coast of northern France. These families seem blissfully unaware of the dark clouds and heavy rain already over the land to the right.

Albert Bierstadt, A Storm in the Rocky Mountains, Mt. Rosalie (1866), oil on canvas, 210.8 x 361.3 cm, Brooklyn Museum, New York, NY. Wikimedia Commons.
Albert Bierstadt (1830-1902), A Storm in the Rocky Mountains, Mt. Rosalie (1866), oil on canvas, 210.8 x 361.3 cm, Brooklyn Museum, New York, NY. Wikimedia Commons.

One of the finest and most dramatic of Albert Bierstadt’s paintings from his second expedition to the West in 1863 is this of A Storm in the Rocky Mountains, Mt. Rosalie from 1866. Its foreground shows a pastoral valley floor with a native American camp, in mottled light. Some people and their animals are seen making haste to return from the pastures to the shelter of the camp. A small rocky outcrop has trees straggling over it, which are silhouetted against the brilliant sunlight on the lake behind, in the middle distance.

Behind the lake the land rises sharply, with rock crags also bright in the sunshine. In the background the land is blanketed by indigo and black storm-clouds. Those are piled high, obscuring much of Mount Rosalie, but its ice-clad peaks show proud, high up above the storm, with patches of blue sky above and beyond them. A single large bird, an eagle perhaps, is seen in silhouette, high above the lake.

orlovskyharvest
Volodymyr Orlovsky (1842–1914), Harvest (1882), oil on canvas, 62 x 100 cm, National Art Museum of Ukraine Національний художній музей України, Kyiv, Ukraine. Wikimedia Commons.

It was Volodymyr Orlovsky’s painting of Harvest on the steppe in Ukraine, in 1882, that apparently earned the artist’s promotion to Professor in the Imperial Academy.

homerhurricanebahamas
Winslow Homer (1836–1910), Hurricane, Bahamas (1898), watercolor and graphite on wove paper, 36.7 × 53.5 cm, The Metropolitan Museum of Art, New York, NY. Wikimedia Commons.

Few artists ever get to witness tropical storms, but after his time painting winter storms at Cullercoats in England, Winslow Homer witnessed and painted this Hurricane, Bahamas in 1898.

klimtapproachingthunderstorm
Gustav Klimt (1862–1918), Approaching Thunderstorm (The Large Poplar II) (1903), oil on canvas, 100.8 x 100.7 cm, Leopold Museum (Die Sammlung Leopold), Vienna, Austria. Wikimedia Commons.

In 1903, Gustav Klimt spent his summer holiday at Attersee with his partner’s family, where he painted this landscape of an Approaching Thunderstorm. Many of his other landscape paintings made during his summers away show no sky at all, but this is an exception.

bonnardthunderstormvernouillet
Pierre Bonnard (1867-1947), Thunderstorm at Vernouillet (1908), oil on canvas, 50.2 x 65.1 cm, Private collection. The Athenaeum.

Thunderstorm at Vernouillet is an atmospheric landscape painted by Pierre Bonnard in 1908, or the following year. Vernouillet is on the southern bank of the river Seine, midway between the centre of Paris and Monet’s property at Giverny.

thomsonthunderhead
Tom Thomson (1877–1917), Thunderhead (1912-13), oil on canvasboard, 17.5 x 25.2 cm, National Gallery of Canada / Musée des beaux-arts du Canada, Ottawa, ON. The Athenaeum.

The young Canadian artist and canoeist Tom Thomson excelled in rapid sketching in oils, with several witnessed accounts of him dashing off a painting in little more than fifteen minutes. As a result he was able to capture many transient effects, such as the passing thunderstorm in Thunderhead from 1912-13.

If you’re fortunate, the storm is soon gone, its humid air blows away, and summer returns.

kuindzhirafterthunderstorm
Arkhyp Kuindzhi (1841-1910), After a Thunderstorm (1879), further details not known. Wikimedia Commons.

Arkhyp Kuindzhi specialised in painting in spectacular light. After a Thunderstorm from 1879 is one of his oil sketches capturing the brilliant colour and light following heavy summer rain on the steppe.

Last Week on My Mac: Spotlight sorcery

By: hoakley
10 August 2025 at 15:00

According to scientific tradition, we first observe then experiment. If you proceed to the latter before you understand how a system behaves, then you’re likely to labour under misapprehensions and your trials can become tribulations. Only when a system is thoroughly opaque and mysterious can we risk attempting both together.

That’s the case for Spotlight, which despite its name does everything but shine any light on its mechanisms. It presents itself in several guises, as a combination of web and local search (🔍), as local search using terms limited in their logical operators (Finder’s Find), as full-blown predicate-based local search (mdfind), as in-app file search (Core Spotlight), and the coder’s NSMetadataQuery and predicates. It relies on indexes scattered across hundreds of binary files, and runs multiple processes, while writing next to nothing in the log.

Last week’s code-doodling has been devoted to turning the Spotlight features in Mints into a separate app, SpotTest, so I can extend them to allow testing of different volumes, and search for text that has been derived from images. Those are proving thorny because of Spotlight’s unpredictable behaviour across different Macs running Sequoia.

Every week I search for screenshots to illustrate another article on Mac history. When using my old iMac Pro where most of them are stored, Spotlight will find many images containing search terms from the text shown within them, even from ancient QuickDraw PICT images, demonstrating that text is being recovered using Live Text’s optical character recognition. When I try to repeat this using test images on an Apple silicon Mac, Spotlight seems unable to recognise any such recovered text.

Image analysis on Macs has a stormy history. In a well-intentioned gaffe four years ago, Apple shocked us when it declared it was intending to check our images for CSAM content. Although it eventually dropped that idea, there have been rumours ever since about our Macs secretly looking through our images and reporting back to Apple. It didn’t help that at the same time Apple announced Live Text as one of the new features of macOS Monterey, and brought further image analysis in Visual Look Up.

Although I looked at this in detail, it’s hard to prove a negative, and every so often I’m confronted by someone who remains convinced that Apple is monitoring the images on their Mac. I was thus dragged back to reconsider it in macOS Sonoma. What I didn’t consider at that time was how text derived from Live Text and image analysis found its way into Spotlight’s indexes, which forms part of my quest in SpotTest.

This doesn’t of course apply to images in PDF documents. When I looked at those, I concluded: “If you have PDF documents that have been assembled from scans or other images without undergoing any form of text recognition, then macOS currently can’t index any text that you may still be able to extract using Live Text. If you want to make the text content of a PDF document searchable, then you must ensure that it contains its own text content.” I reiterated that in a later overview.

My old images aren’t PDFs but QuickDraw PICTs, TIFFs, PNGs and JPEGs, many from more than 20 years ago. When the circumstances are right, macOS quietly runs Live Text over them and stores any text it recovers in Spotlight’s indexes. It also analyses each image for recognisable objects, and adds those too. These happen more slowly than regular content indexing by mdworker, some considerable time after the image has been created, and have nothing whatsoever to do with our viewing those images in QuickLook or the Finder, or even using Live Text or Visual Look Up ourselves.

There are deeper problems to come. Among them is discovering the results of image recognition as can be revealed in the command line using a search such as
mdfind "(** == 'cattle*'cdw) && (kMDItemContentTypeTree == 'public.image'cd)"
to discover all images that have been recognised as containing cattle. There’s no equivalent of the first part of that when calling NSMetadataQuery from Swift code, and a predicate of
kMDItemTextContent CONTAINS[cd] \"cattle\"
will only discover text recovered by Live Text, not the names of objects recognised within an image.

What started as a quick doodle is now bogged down in the quirks of Spotlight, which defies the scientific method. Perhaps it’s time for a little sorcery.

sandysmedea
Frederick Sandys (1829–1904), Medea (1866-68), oil on wood panel with gilded background, 61.2 x 45.6 cm, Birmingham Museum and Art Gallery, Birmingham England. Wikimedia Commons.

Painting the summer storm 1

By: hoakley
9 August 2025 at 19:30

As we near the grain harvest in the northern hemisphere, so come the summer storms. Just as the farmworkers have ventured out into the fields of dry, ripe wheat, the heavens above become inky black as towering clouds bring torrential rain and rolling thunder. This weekend we’re in for more than our fair share, in the company of many of the great landscape artists.

giorgionetempest
Giorgione (1477–1510), The Tempest (c 1504-8), oil on canvas, 83 × 73 cm, Gallerie dell’Accademia, Venice. Wikimedia Commons.

At the dawn of modern landscape painting, Giorgione’s The Tempest from about 1504-8 centres on an approaching storm. The sky is filled with inky dark clouds, and there’s a bolt of lightning in the distance. The figures here imply an underlying narrative, but today that can only be speculated.

poussinthunderstormpyramusthisbe
Nicolas Poussin (1594–1665), Landscape during a Thunderstorm with Pyramus and Thisbe (1651), oil on canvas, 274 × 191 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

Nicolas Poussin’s setting of a Landscape during a Thunderstorm with Pyramus and Thisbe (1651) shows the city of Babylon in the distance, along a picturesque and pastoral valley. But the peacefulness of this landscape has been transformed by the sudden arrival of a thunderstorm: the gusty wind is already bending the trees, and near the centre of the view a large branch has broken with its force. Two bolts of lightning make their way to the hills below.

There’s frantic activity in response not only to the storm, but to a lioness attacking a horse, whose rider has fallen. An adjacent horseman is about to thrust his spear into the back of the lioness, while another, further ahead, is driving cattle away from the scene. Others on foot, and a fourth horseman, are scurrying away, driven by the combination of the lioness and the imminent storm.

In the foreground, Pyramus lies dying, his sword at his side, and his blood flowing freely on the ground, down to a small pond. Thisbe has just emerged from sheltering in the cave, has run past the bloodied shawl at the right, and is about to reach the body of her lover.

dughetlightning
Gaspard Dughet (1613–1675), Landscape with Lightning (1667-69), oil, 40 x 62.5 cm, Hermitage Museum Государственный Эрмитаж, Saint Petersburg, Russia. Wikimedia Commons.

Still attributed to Poussin’s pupil and brother-in-law Gaspard Dughet, this Landscape with Lightning from 1667-69 lacks the subtlety and finesse of the master himself, but shows a bolt of lightning striking ground and setting a fire in the countryside. In the foreground, a couple flee from among trees being shattered by the strong gusts brought by the storm.

cuypthunderstormdordrecht
Aelbert Cuyp (1620–1691), Thunderstorm over Dordrecht (c 1645), oil on panel, dimensions not known, Private collection. Wikimedia Commons.

The founding fathers of landscape painting in the Northern Renaissance weren’t to be outdone by those of the south: Aelbert Cuyp’s Thunderstorm over Dordrecht from about 1645 is amazingly effective and accurate, considering it was painted more than two centuries before anyone saw high-speed photographic images of lightning.

vernetcjmidday
Claude-Joseph Vernet (1714–1789), The Four Times of Day: Midday (1757), oil on silvered copper, 29.5 x 43.5 cm, Art Gallery of South Australia, Adelaide, Australia. Wikimedia Commons.

In Claude-Joseph Vernet’s series The Four Times of Day from 1757, by Midday the clouds of early morning have built into squally showers. While two people are fishing with nets, a couple with an infant and a dog, in the left foreground, are hurrying for shelter before heavy rain starts. Behind them a shepherd has brought their flock under a grove of trees. Seagulls are wheeling and soaring in the strengthening wind.

morlandbeforethunderstorm
George Morland (1763–1804), Before a Thunderstorm (1791), oil on canvas, 85 x 117 cm, Hermitage Museum, Saint Petersburg. Wikimedia Commons.

George Morland’s Before a Thunderstorm (1791) shows well the rising wind and threatening sky just before a summer storm strikes.

palmerhailshamsussexstorm
Samuel Palmer (1805–1881), At Hailsham, Sussex: a Storm Approaching (1821), watercolour and graphite on medium, slightly textured, medium wove paper, 43.8 x 59.7 cm, Yale Center for British Art, New Haven, CT. Wikimedia Commons.

When he was only sixteen, in 1821, Samuel Palmer painted this watercolour sketch At Hailsham, Sussex: a Storm Approaching, a faithful representation of Cumulus congestus building in the distance.

Samuel Palmer, Summer Storm near Pulborough, Sussex (c 1851), watercolour on paper, 51.5 x 72 cm, Art Gallery of South Australia, Adelaide. Wikimedia Commons.
Samuel Palmer (1805-1881), Summer Storm near Pulborough, Sussex (c 1851), watercolour on paper, 51.5 x 72 cm, Art Gallery of South Australia, Adelaide. Wikimedia Commons.

Palmer’s watercolour Summer Storm near Pulborough, Sussex from about 1851 refers to Dutch landscape painting, but set in a very Kentish context. A storm is seen approaching the rolling countryside near Pulborough, now in West Sussex, in the south-east of England. On the left, in the middle distance, a small bridge leads across to a hamlet set around a prominent windmill, whose blades are blurred as they’re driven by the wind. Beyond that mill are fields of ripening cereal.

John Constable (1776–1837), Study for Salisbury Cathedral from the Meadows (1830-1), oil on canvas, 71 × 90 cm, Private collection. Wikimedia Commons.
John Constable (1776–1837), Study for Salisbury Cathedral from the Meadows (1830-1), oil on canvas, 71 × 90 cm, Private collection. Wikimedia Commons.

John Constable’s half-size and well-developed study for Salisbury Cathedral from the Meadows places an angler in the foreground, as a thunderstorm builds over the Wiltshire countryside behind. Sadly, the fisherman didn’t survive into Constable’s finished painting.

Saturday Mac riddles 320

By: hoakley
9 August 2025 at 16:00

Here are this weekend’s Mac riddles to entertain you through family time, shopping and recreation.

1: What ET wants is a call coming to the Mac.

2: A glass to enlarge among the liquid.

3: Daybook you might already have started elsewhere.

To help you cross-check your solutions, or confuse you further, there’s a common factor between them.

I’ll post my solutions first thing on Monday morning.

Please don’t post your solutions as comments here: it spoils it for others.

A brief history of PDF on the Mac

By: hoakley
9 August 2025 at 15:00

To make its graphical interface work, the Mac needed a high-performance graphics system, for which the late Bill Atkinson (1951-2025) and Andy Hertzfeld designed and implemented QuickDraw. When it came to driving printers, though, Steve Jobs licensed the new page description language PostScript from Adobe, where it had just been developed by John Warnock (1940-2023), Charles Geschke (1939-2021) and others. PostScript is a stack-based interpreted language that could take many seconds or even minutes to image a page for printing, so wasn’t practical for doing much else at that time.

In the early 1990s, as desktop publishing became dominant among Mac users and we were all sending one another faxes, several companies recognised the need for a universal document format that could display laid-out text and graphics. Among them was Adobe, where Warnock formulated the aims of what he then referred to as Interchange PostScript or IPS, and so led the development of Portable Document Format. It’s telling that the final sentence of his proposal reads: “In any event corporations should be interested in site-licensing arrangements.”

When the first version of PDF was released in 1993, with its Carousel reader app, it faced competition from other similar ideas, and Adobe found itself competing against products including Farallon’s Replica, and Tumbleweed’s Envoy that gained the support of WordPerfect, then a popular cross-platform word processor. PDF didn’t become dominant until Adobe distributed its reader app free, rather than charging $50 for it as it had initially.

For many years, the only way to create really good PDFs was using Adobe’s Acrobat Distiller app, costing $695 for a single-user licence. That ingested PostScript files, created on the Mac by printing to a file, and transformed them into PDFs that could in turn only be read using Adobe’s software. Although PostScript was by then a prerequisite for all publishing work on Macs, it wasn’t until 1996, when PDF reached version 1.2 in Acrobat 3.0, that it captured the prepress market, which it consolidated in 1998 with the PDF/X-1 standard.

This is Acrobat Distiller 4.0 running on Mac OS 9.1 in early 2001, showing a few of its bewildering array of options for turning PostScript files into PDF.

At the same time, John Warnock’s aspirations for success in enterprise markets were being realised, and PDF steadily became the standard for fixed-format electronic documents, with the support of the US Internal Revenue Service and Adobe’s free cross-platform Acrobat Reader.

When Steve Jobs established NeXT in 1985 he must have become the only person to have licensed PostScript from Adobe twice, as NeXTSTEP adopted Display PostScript as the centrepiece of its graphics, developed collaboratively between NeXT and Adobe. At the time many thought this to be a mistake, as PostScript isn’t as efficient a graphics language as QuickDraw, despite Adobe’s efforts to accelerate it.

When NeXT and Mac merged to form the beginnings of Mac OS X in 1997, Display PostScript was replaced with PDF as the central graphics standard for both display and printing, in what was dubbed Quartz 2D. This was first demonstrated at WWDC in 1999 and lives on today in macOS. At the time, Apple’s in-house PDF engine in Quartz was one of few, alongside Adobe’s.

Prior to Mac OS X, Adobe Acrobat, both in its free viewer form and a paid-for Pro version, had been the de facto standard for reading, printing and working with PDF documents on the Mac. The Preview app had originated in NeXTSTEP in 1989 as its image and PDF viewer, and was brought across to early versions of Mac OS X, where it has remained ever since.

preview1

This PDF shows Apple’s original iPod promotional literature from late 2001.

Adobe continued providing its free Acrobat Reader for Mac OS X, here seen in 10.0 Cheetah.

The full paid-for version of Adobe Acrobat provided an extensive suite of editing tools, here in Mac OS X 10.1 Puma in early 2002.

By Mac OS X 10.3 Panther in 2003, Apple was claiming that Preview was “the fastest PDF viewer on the planet”, capable of navigating and searching text within PDF documents “at lightning speed”. This worked with the Mac’s new built-in support for faxing, which rendered received faxes in PDF to make them easier and clearer to access.

preview2

This is an early Keynote Quick Reference guide from 2003, viewed in Preview.

At that time, Preview was also able to convert Encapsulated PostScript (EPS) files and raw PostScript to PDF, so they could be saved in the more accessible format, and printed easily.

preview3

This page from the 9/11 Commission Report of 22 July 2004 is being viewed in Preview.

Acrobat Distiller remained an important component in Adobe’s paid-for product, even though Mac OS X was capable of generating its own PDFs. It’s seen here in Mac OS X 10.4 Tiger in 2005.

This is Acrobat Pro in 10.4 Tiger in early 2006, showing its long list of supported export formats.

Since those heady days, Preview has been relatively neglected. Revision of both the Quartz PDF engine and its API brought a spate of bugs that only abated with macOS Sierra. Preview has adopted an uncommon model for PDF annotations that often doesn’t work well with other PDF products, but it has remained very popular for completing electronic forms. Then, in macOS Ventura, Apple removed all support for converting EPS and PostScript to PDF, most probably as a result of security concerns, and their progressive disuse.

Although rumours of the death of Preview continue to prove unfounded, it’s unlikely to feature again as one of the strengths of macOS.

References

John Warnock (1991) The Camelot Project, on the Internet Archive’s Wayback machine.
Laurens Leurs’ The history of PDF.

Reading Visual Art: 221 Club and skin B

By: hoakley
8 August 2025 at 19:30

In the first of these two articles I showed paintings of Hercules (Heracles) brandishing a large olive-wood club and wearing a lion-skin, as a stereotype of the ultimate high-testosterone uncouth hero. That association was strong enough to make its way into some more Christian images.

franckenmankindeternaldilemma
Frans Francken the Younger (1581–1642), Mankind’s Eternal Dilemma – The Choice Between Virtue and Vice (1633), oil on panel, 142 x 210.8 cm, Museum of Fine Arts Boston, Boston, MA. Wikimedia Commons.

In Frans Francken the Younger’s composite painting of Mankind’s Eternal Dilemma – The Choice Between Virtue and Vice from 1633, the upper section of Paradise sets heroes including Hercules, to the left of centre with his trademark club and lion-skin, in an idealised landscape. Above them is an angelic musical ensemble serenading the figures below. This clearly was a Paradise for the artist’s patron, not the common person.

franckenmankindeternaldilemmad1
Frans Francken the Younger (1581–1642), Mankind’s Eternal Dilemma – The Choice Between Virtue and Vice (detail) (1633), oil on panel, 142 x 210.8 cm, Museum of Fine Arts Boston, Boston, MA. Wikimedia Commons.

Clubs also appeared in other examples of hand-to-hand combat drawn from classical mythology.

rubensrapehippodame
Peter Paul Rubens (1577–1640), The Rape of Hippodame (Lapiths and Centaurs) (1636-38), oil on canvas, 182 × 290 cm, Museo Nacional del Prado, Madrid, Spain. Wikimedia Commons.

In Peter Paul Rubens’ finished painting of The Rape of Hippodame (Lapiths and Centaurs) (1636-38) the figure at the upper right is just about to bring his club down on this wedding feast that turned into a pitched battle.

riccilapithscentaurs
Sebastiano Ricci (1659–1734), The Battle of the Lapiths and Centaurs (c 1705), oil on canvas, 138.4 × 176.8 cm, The High Museum of Art, Atlanta, GA. Wikimedia Commons.

Sebastiano Ricci’s Battle of the Lapiths and Centaurs from about 1705 uses multiplex narrative to tell the same story. In the left background, Hippodame is seen being carried away by Eurytus, and a centaur in the centre foreground is swinging his club at one of the Lapiths.

Although the original story of the death of Orpheus at the hands of Bacchantes has them club him with their thyrsi, more modern interpretations are content with ordinary clubs.

bouquetdeathorpheus
Louis Bouquet (1885–1952), The Death of Orpheus (1925-39), oil on canvas, 98 × 131 cm, Private collection. Image by Jcstuccilli, via Wikimedia Commons.

Louis Bouquet’s The Death of Orpheus (1925-39) transports this scene to a beach, where the naked Bacchantes are armed with clubs, and just starting to tear the body of Orpheus with their bare hands and teeth.

Some earlier paintings of Christian devils show them with clubs.

giovannitemptationstanthony
Stefano di Giovanni (1392–1450), St Anthony Beaten by the Devils (1430-32), media and dimensions not known, Pinacoteca Nazionale di Siena, Siena, Italy. Wikimedia Commons.

Painted in 1430-32, Stefano di Giovanni’s St Anthony Beaten by the Devils identifies the saint by his Tau crucifix. Three devils, clearly fallen angels by their wings, are beating him with clubs. Those devils are fairly conventional figures, part animal and part man, with horns.

In contrast, Hercules’ lion-skin developed different associations, and involved other species.

meissoniersiegeparis
Jean-Louis-Ernest Meissonier (1815–1891), The Siege of Paris (1870), oil on canvas, 53.5 x 70.5 cm, Musée d’Orsay, Paris. Wikimedia Commons.

Jean-Louis-Ernest Meissonier’s romanticised view of The Siege of Paris from 1870 combines almost every symbol relevant to the city’s distress, and dresses the symbolic figure of Marianne in a lion-skin against a battle-worn flag.

By the end of the nineteenth century, animal skins had gone from the uncouth to the mildly erotic, as seen in several of John William Godward’s paintings of doing nothing, or Dolce Far Niente.

godwarddolcefarniente1897
John William Godward (1861–1922), Dolce Far Niente (1897), oil on canvas, 77.4 x 127 cm, Private collection. Wikimedia Commons.

This first from 1897 returns to a classical Roman setting, and adds a brilliant green parakeet to accompany this woman on a tiger-skin, in her diaphonous dress.

godwarddolcefarniente
John William Godward (1861–1922), Dolce Far Niente (Sweet Idleness) (or A Pompeian Fishpond) (1904), oil on canvas, 50.8 x 76.2 cm, Private collection. Wikimedia Commons.

Seven years later (in 1904), Godward painted his more complex version, also known as Sweet Idleness, or A Pompeian Fishpond. More modestly clad, his lone woman rests with her knees drawn up into a sleeping (near-foetal) position on another animal skin, with a peacock-feather fan in the foreground.

godwarddolcefarniente1906
John William Godward (1861–1922), Dolce Far Niente (1906), oil on canvas, 36.2 x 73.7 cm, Private collection. Wikimedia Commons.

A couple of years after that (in 1906), Godward’s beautiful woman is stretched out on an animal skin on marble, a colour-co-ordinated garden and distant Mediterranean waterscape beyond: a far cry from the uncouth Hercules.

macOS Sequoia end of cycle report

By: hoakley
8 August 2025 at 14:30

With the next scheduled update to macOS Sequoia likely to be released in September or October, macOS 15.6 officially marks the end of its year-long cycle of full support. This article looks at its updates and how it has changed.

Updates

It took Sequoia a total of 11 updates to reach version 15.6 at the end of July, including five unscheduled patch updates, which is close to average. Prominent through those updates has been the number of security vulnerabilities addressed, peaking at 81 in 15.6.

In terms of cumulative size of updates, Sequoia was close to average at a total of 27.5 GB for Apple silicon Macs and 19.3 GB for Intel models. Although not as bad as Big Sur which took over 50 GB for Apple silicon Macs, it wasn’t as good as Sonoma at just over 21 GB. Update size was relatively small up to 15.3, but added over 9 GB in the three updates it took to reach 15.4. Apple doesn’t appear to have made progress in reducing the size of updates for Apple silicon Macs, and that may not be achieved until macOS 27 next year, when Intel support is finally dropped.

Bundled apps

The total number of bundled apps has increased slightly, from 60 in Sonoma to 62 in 15.0, and 64 in 15.6. That’s set to rise again in Tahoe, with the addition of Journal and Phone.

/System/Library

The total number of bundles in /System/Library has risen further to reach 9,304, almost double the number in 10.14.5 six years ago, and up from 8,392 a year ago in 14.6. Unusually, this has risen by nearly 300 through Sequoia’s cycle. Previously it has been more common for only small rises to occur during a cycle, and in macOS 13 the total fell slightly.

Over that period, the main growth has been in the number of Private Frameworks, which have risen from about 1,760 in 10.14 to over 4,400 in 15.6. Public Frameworks have risen less, from less than 520 to 806. Despite Apple’s campaign for third-parties to move away from kernel extensions, those in macOS also continue to grow, rising from a minimum of 515 in 10.15.0 to 939 in 15.6. Sequoia has added 39 of those in going from 15.0 to 15.6.

This is a more detailed breakdown by category of bundles in /System/Library, comparing 10.15.6 with 15.6:

  • Accessibility, a small increase from 125 to 161
  • Automator, a small reduction from 266 to 252
  • Templates, a marked reduction from 383 to 252
  • CoreServices, a small reduction from 390 to 363
  • AssetsV2, a substantial growth from 188 to 806
  • Public Frameworks, a modest increase from 600 to 806
  • Kernel extensions, a substantial increase from 534 to 939
  • Private Frameworks, a huge increase from 2,055 to 4,407.

Five years ago in 10.15.6, public Frameworks were almost a quarter of all Frameworks. In 15.6, they are less than 18%. macOS continues to become an increasingly private operating system supporting Apple’s apps, not those of third party developers.

Reading Visual Art: 220 Club and skin A

By: hoakley
7 August 2025 at 19:30

If you see a well-muscled man brandishing a large olive-wood club and wearing a lion-skin, you can be fairly certain he is Hercules, or Heracles if you prefer the original Greek. He’s the ultimate high-testosterone uncouth hero, who doesn’t understand why others wear fabrics, and relies on his club to settle all disputes. In this and tomorrow’s article I explore how reliably paintings meet that expectation, and who else wielded clubs and liked animal hide next to their skin.

anonlabourshercules
Artist not known, The Twelve Labours of Hercules (c 250 CE), mosaic from Llíria, Valencia, dimensions not known, Museo Arqueológico Nacional, Madrid. Image by Sgiralt, via Wikimedia Commons.

One of the most unusual summaries of Hercules’ career is this mosaic from Llíria, Valencia, showing each of his twelve labours around its central panel. His club goes with him in every one except that in the centre, seen in the detail below.

anonlaboursherculesdet
Artist not known, The Twelve Labours of Hercules (detail) (c 250 CE), mosaic from Llíria, Valencia, dimensions not known, Museo Arqueológico Nacional, Madrid. Image by Carole Raddato from Frankfurt, Germany, via Wikimedia Commons.

There, in the midst of all his swashbuckling masculinity, Hercules is seen holding a distaff and spindle for spinning, and is dressed as a woman, while Queen Omphale sits on his Nemean lion-skin on her throne, clutching his club. This comes from a curious myth of role reversal and cross-dressing, in which Hercules served as a slave to the Queen of Lydia for a year as penalty for murdering Iphitus.

sprangerherculesomphale
Bartholomeus Spranger (1546–1611), Hercules and Omphale (c 1585), oil on copper, 24 × 19 cm, Kunsthistorisches Museum, Vienna, Austria. Wikimedia Commons.

Bartholomeus Spranger’s Hercules and Omphale (c 1585) uses the same exchange of attributes, and plays openly with the eroticism of Omphale’s position. Note also the colour-coding of their skin.

garziherculesomphale
Luigi Garzi (1638–1721), Hercules and Omphale (c 1700-10), oil on canvas, dimensions not known, J. Paul Getty Museum, Los Angeles, CA. Courtesy of Getty’s Open Content Program, via Wikimedia Commons.

Luigi Garzi’s Hercules and Omphale (c 1700-10) lets Hercules put his spinning gear behind him, as he entertains the court with a song and the tambourine. Omphale seems to be enjoying her new position on the lion-skin, while fondling his club in her left hand.

shawomphale
Byam Shaw (1872–1919), Omphale (1914), watercolor and bodycolor, 72.5 × 29 cm, location not known. Wikimedia Commons.

Byam Shaw ignores the figure of Hercules altogether, showing a triumphant and erotically-charged Omphale (1914) against a background of the twelve labours, in a remarkable reconfiguration of that ancient Roman mosaic.

Elsewhere, there are many depictions that identify the uncouth hero with his attributes.

thomaherculesrescueshesione
Hans Thoma (1839–1924), Hercules Delivering Hesione (1890), oil, 100.2 x 72.5 cm, Musée d’Orsay, Paris. Image by Sailko, via Wikimedia Commons.

In Hans Thoma’s Hercules Delivering Hesione (1890) Hercules stands on the beach in front of the early city of Troy, his trademark club in his right hand. A naked Telamon is busy keeping the sea monster at bay by throwing boulders at it, while Hercules is bargaining with the fair Hesione.

ricciherculesnessus
Sebastiano Ricci (1659–1734), Hercules Fighting with the Centaur Nessus (1706-7), fresco, dimensions not known, Palazzo Marucelli-Fenzi, Florence. Wikimedia Commons.

In about 1706, Sebastiano Ricci embroidered the story of Hercules Fighting with the Centaur Nessus showing the hero wearing his lion-skin, and his left hand grasping Nessus’ mouth, about to club the centaur to death, while a slightly bedraggled Deianeira watches in the background.

coypelherculesfightingachelous
Noël Coypel (1628–1707), Hercules Fighting Achelous (c 1667-69), oil on canvas, 211 × 211 cm, Palais des Beaux-Arts de Lille, Lille, France. Wikimedia Commons.

Noël Coypel, the father of the better-known history painter Antoine Coypel, painted Hercules Fighting Achelous in about 1667-69. This opts to show the pair during the first phase of their fight. In addition to wearing his lion-skin, Hercules wields his fearsome club.

zurbarandeathhercules
Francisco de Zurbarán (1598–1664), The Death of Hercules (1634), oil on canvas, 136 × 167 cm, Museo Nacional del Prado, Madrid, Spain. Wikimedia Commons.

Francisco de Zurbarán’s powerful Death of Hercules (1634) uses chiaroscuro as stark as any of Caravaggio’s to show a Christian martyrdom, with its victim staring up to heaven, commending his soul to God. He is wearing the poisoned shirt inadvertently given him by Deianeira, rather than his lion-skin, and his club rests at his feet.

What does RunningBoard do? 5 Log insights

By: hoakley
7 August 2025 at 14:30

If RunningBoard’s copious log entries record the life cycle of apps, can we use them to our advantage? To test this out, I’ve analysed a section of log using waypoints and information provided in RunningBoard’s entries.

Waypoints, or landmarks if you prefer, are essential for navigating the log. In an ideal world we would always know when any significant event occurred, timed to the millisecond. In practice we may only be able to estimate to the nearest few seconds or minutes. Without some means of discovering exactly when to obtain log extracts, you can waste many hours trying to pin down when something happened, and in many cases will be forced to abandon the hunt.

Methods

My aim was to separate RunningBoard log entries into those handling its assertions, which should represent life-cycle events, and job descriptions giving details of apps launched. To try this yourself, open LogUI and set the Start date and time to the start of the period of interest. Set the Period to at least 100 seconds, and Max entries to 2,000 or more. Then set the Predicate popup menu to read subsystem, and type in com.apple.runningboard so that LogUI only gets entries from that subsystem. Click on the Get Log tool in the toolbar, and check you get at least 1,000 entries.

Click on the Save JSON tool to save the whole of this excerpt. To view all the RunningBoard assertions acquired over that excerpt, type acquiring assertion in the search box at the top right, and press Enter.

The window name then changes to append the text from the search box.

To save this limited selection of entries, first click on the Reduce tool to discard all the others, then click on the Save JSON tool again and save the entries using a different filename. Repeat that using each of three search terms:

  • acquiring assertion to see RunningBoard’s outline of life cycle events,
  • constructed job to see job descriptions for newly launched apps,
  • extension overlay to see similar information for appexes and similar extensions.

In my case, I analysed a period of 4 minutes of user activity on a Mac mini M4 Pro running macOS 15.6, during which there were 6,580 RunningBoard entries, suggesting that the whole log would have had well over 50,000 entries in that time, far too many to attempt any more detailed analysis. My search terms found 305 assertions acquired, 3 job descriptions constructed, and 20 extension overlays submitted.

Job descriptions

The three captured represented the three apps I had launched over those four minutes, Cormorant, DelightEd and Consolation 3. Each of them has a platform ID of 1, as notarized macOS apps. I also noticed that one was run in app translocation, although this was long after its first run. Recent versions of macOS, Sequoia in particular, appear prone to this, when an app that should have cleared quarantine gets stuck in perpetual app translocation.

Extension overlays

While I had expected to find those three app launches, I didn’t expect to see any appexes being run over this period. Those encountered consisted of three widgets, none of which had ever been opened, and five QuickLook thumbnail extensions. Most of these were run multiple times, with ScappleThumbnail appearing on six occasions. All were platform 1, except for the widgets, all three of which are bundled in macOS, for the FindMy widget and NewsToday2. They were platform 6, and subject to RunningBoard’s resource controls.

RunningBoard’s log entries here give potentially valuable insights that might otherwise be missed.

Assertions

It’s straightforward to construct a narrative of the key events that took place over that period of 4 minutes using a selection of assertions acquired. Rather than reproduce the whole of each of those waypoints, here they are laid out in more readable form.

11:40:50.424950 Acquiring assertion targeting app application.co.eclecticlight.Cormorant.10809046.10809052(501)
description "LS launch co.eclecticlight.Cormorant" ID:424-620-716
target: application.co.eclecticlight.Cormorant.10809046.10809052(501)
attributes: domain:"com.apple.launchservicesd" name:"LaunchRoleUserInteractive" sourceEnvironment:"(null)"

This marks the start of the launch process for Cormorant, handled in the normal way through LaunchServices and RunningBoard.

11:41:18.304367 Acquiring assertion targeting app application.co.eclecticlight.DelightEd.10206240.10206246(501)
description "LS launch co.eclecticlight.DelightEd" ID:424-620-756
target: application.co.eclecticlight.DelightEd.10206240.10206246(501)
attributes: domain:"com.apple.launchservicesd" name:"LaunchRoleUserInteractive" sourceEnvironment:"(null)"

This is the same for DelightEd.

11:41:20.050166 Acquiring assertion targeting [xpcservice com.apple.appkit.xpc.openAndSavePanelService([app application.co.eclecticlight.DelightEd.10206240.10206246(501) :1553])(501) 1576:1576]
description "viewBridge:1576" ID:424-391-769
target: 1576
attributes: domain:"com.apple.launchservicesd" name:"RoleViewBridge" sourceEnvironment:"(null)"

DelightEd is here being used to open a document using the openAndSavePanelService, a separate process.

11:41:44.171636 Acquiring assertion targeting app application.co.eclecticlight.Consolation3.430650.430692(501)
description "LS launch co.eclecticlight.Consolation3" ID:424-620-788
target: application.co.eclecticlight.Consolation3.430650.430692(501)
attributes: domain:"com.apple.launchservicesd" name:"LaunchRoleUserInteractive" sourceEnvironment:"(null)"

This is the launch of Consolation 3, a user error on this occasion!

Two long runs of assertions were discovered, both involving syncing the address book for Contacts.

11:41:57.462118 Acquiring assertion targeting [osservice com.apple.AddressBook.SourceSync(501):1610]
description "App is holding power assertion" ID:424-362-811
target: 1610
attributes: domain:"com.apple.appnap" name:"PowerAssertion" sourceEnvironment:"(null)", RBSAcquisitionCompletionAttribute policy:AfterApplication

The first of these was to sync the Address Book with its source in iCloud, and lasted 12.181 seconds.

11:42:11.840349 Acquiring assertion targeting [osservice com.apple.AddressBook.abd(501):1625]
description "Contacts shared filesystem lock" ID:424-1625-857
target: 1625
attributes: domain:"com.apple.common" name:"FinishTaskUninterruptable" sourceEnvironment:"(null)", RBSAcquisitionCompletionAttribute policy:AfterApplication

Shortly after that completed, synced data was updated by a service abd (Address Book Daemon?) that I had been unaware of. This only lasted 2.238 seconds.

RunningBoard’s assertions seldom appear for single-shot shell commands, and most commonly handle executable bundles rather than bare Mach-O binaries. They also don’t appear to provide clear information recording when apps are quit normally.

Conclusions

  • RunningBoard entries can readily provide accurate waypoints for many events in the log.
  • Establishing waypoints on the strength of RunningBoard log entries is straightforward in LogUI.
  • Job descriptions are readily found, and provide useful information on apps launched.
  • Extension overlays provide details of appexes that might otherwise be overlooked.
  • Acquisition of assertions identify various events in the app life cycle.
  • Once RunningBoard entries have provided precise times of events, attention can be focussed on obtaining more detail using short log extracts.

The Dutch Golden Age: Origins

By: hoakley
6 August 2025 at 19:30

The Renaissance modernised the art of the late Middle Ages with realistic images that strived to resemble what we actually see, rather than presenting a world of stereotypes and symbols. This is best seen by comparing paintings of a common theme spanning the period, here those of the Madonna and Child.

cimabuemaesta
Cimabué (1240–1302), Santa Trinita Maestà (1280-90), tempera on panel, 385 x 223 cm, Galleria degli Uffizi, Florence, Italy. Wikimedia Commons.

Cimabué’s Maestà was painted in egg tempera for the main altar of the church of Santa Trinita in Florence, between 1280-90. Little attempt is made to distinguish surface textures, although some use is made of lightness and pattern in fabrics to depict their folds. Faces are uniform and devoid of expression or emotion, most turned in directions determined by its structured composition. There’s no sign of any landscape or other background, and no impression of reality.

ghirlandaiomadonnachild
Domenico Ghirlandaio (1449–1494), Madonna and Child (c 1470-75), tempera on panel transferred to hardboard, dimensions not known, National Gallery of Art, Washington, DC. Wikimedia Commons.

While Ghirlandaio’s Madonna and Child from about 1470-75 was still painted in egg tempera, it’s much more realistic in its approach to the figures and the folds in fabrics. Modelling of the figures is still restrained, and there’s no natural background, but its intent is clearly to resemble a real mother and her infant.

raphaelmadonnaseggiola
Raphael (Rafael Sanzio de Urbino) (1483–1520), Madonna della Sedia (Seated Madonna with the Child on her Lap and the Young Saint John) (1513-14), oil on panel, diameter 71 cm, Palazzo Pitti, Florence, Italy. Wikimedia Commons.

Raphael’s Madonna della Sedia (Madonna of the Chair) from 1513-14 shows a thoroughly real and natural mother with two infants, every surface texture rendered as in life, with wisps of hair, differentiation between types of fabric, and convincing expressions and postures.

Many of the changes seen here in the Renaissance can be elaborated as follows:

  • surface texture of skin, hair and fabrics;
  • individual faces expressing emotions;
  • telling stories using body language;
  • individual natural posture;
  • realistic landscape backgrounds;
  • three-dimensional perspective projection with controlled vanishing points;
  • varied composition;
  • the air of reality;
  • use of oil paints;
  • increasing production of easel paintings;
  • references to both secular and classical literature;
  • introduction of new genres such as landscapes and secular paintings;
  • direct patronage;
  • independent and secular masters.

Technically the Renaissance provided the painter with all the tools for painting anything that might be seen in life. However, the great majority of paintings were commissioned for religious use, so depicted motifs drawn from the Bible and other Christian writing.

One of the early and most skilled practitioners of oil painting was the brilliant but short-lived Venetian master Giorgione, who has the added distinction of painting what was probably the first landscape painting of the southern Renaissance.

giorgionetempest
Giorgione (1477–1510), The Tempest (c 1504-8), oil on canvas, 83 × 73 cm, Gallerie dell’Accademia, Venice. Wikimedia Commons.

Giorgione’s revolutionary landscape The Tempest from just after 1500 remains enigmatic today, and may have religious references, but it marked the start of a new and wholly secular genre.

Late in the Italian Renaissance, emphasis shifted from its birthplace Florence to other centres such as Bologna and, most of all, Venice, where the effects of colour (Italian colore) came to dominate form and design (Italian disegno).

tintorettocrucifixionsanrocco
Jacopo Tintoretto (c 1518-1594), The Crucifixion (1565), oil on canvas, 536 x 1224 cm, Albergo, Scuola Grande di San Rocco, Venice, Italy. Wikimedia Commons.

Jacopo Tintoretto’s Crucifixion from 1565 is over 5 metres (17 feet) high, and 12 metres (40 feet) across, larger than many frescoes of the Renaissance. He makes use of this space with a narrative technique based on the popular ‘multiplex’ form: its single image shows events at more than a single point in time, in an ingenious and modern manner.

Naturally, the painting centres on Christ crucified, but the two thieves executed beside him are not shown, as would be traditional, already hanging from their crosses. Instead, to the right of Christ, the ‘bad’ thief is still being attached to his cross, which rests on the ground. To the left of Christ, the ‘good’ thief is just being raised to the upright position.

tintorettoannunciationsanrocco
Jacopo Tintoretto (c 1518-1594), The Annunciation (E&I 264) (c 1582), oil on canvas, 440 x 542 cm, Sala terrena, Scuola Grande di San Rocco, Venice, Italy. Wikimedia Commons.

Tintoretto’s Annunciation is thought to have been painted even later, in about 1582. Its composition is unusual by any contemporary standards, with natural rendering of brickwork, a wicker chair, and a splendidly realistic carpenter’s yard at the left. This is coupled with an aerial swarm of infants, at the head of which is the dove of the Holy Ghost in a small mandorla. Christ’s origins are here very real, tangible, and contemporary, in stark contrast to most traditional depictions of this scene.

If any single workshop brought the Renaissance to a close and moved on to what has become termed the Baroque it’s that of the Carraccis, initially in Bologna, then in Rome.

carraccilatonalycia
Annibale Carracci (1560–1609), Latona and the Lycian Peasants (date not known), oil on canvas, 90.6 x 78 cm, Arcidiecézní muzeum Kroměříž, Olomouc Museum of Art, Kroměříž, The Czech Republic. Wikimedia Commons.

Annibale Carracci’s Latona and the Lycian Peasants, probably from 1590-1620, is the first truly masterly painting of this myth told in Ovid’s Metamorphoses, and for once an easel painting on canvas rather than a fresco. Although not a religious theme, this drew on the other acceptable source of narratives at the time, classical myth.

If there’s one artist who clearly defined the start of a new era it was Caravaggio, who began his career in Milan, but transformed art when he was painting in Rome.

caravaggionarcissus
Caravaggio (Michelangelo Merisi da Caravaggio) (1571–1610), Narcissus (1594-96), oil on canvas, 110 × 92 cm, Galleria Nazionale d’Arte Antica, Rome. Wikimedia Commons.

His portrait of Narcissus from 1594-96 demonstrates how the tools of realism could be used in thoroughly secular paintings, but still of classical myth.

fontanajudithholofernes
Lavinia Fontana (1552–1614), Judith with the Head of Holofernes (1600), oil on canvas, dimensions and location not known. The Athenaeum.

Caravaggio wasn’t alone. Among those who adopted and developed his style, the Caravaggists, was Lavinia Fontana, who came from Bologna and worked at the height of her career in Rome. Her Judith with the Head of Holofernes from 1600 also contrasts completely with the tondo Madonna by Raphael at the start of this article.

carraccidomenichinoperseusphineus
Annibale Carracci (1560-1609) and Domenichino (Domenico Zampieri) (1581-1641), Perseus and Phineas (1604-06), fresco, dimensions not known, Palazzo Farnese, Rome. Wikimedia Commons.

There was, of course, much more to the Baroque than Caravaggism. In 1604-06, Annibale Carracci and Domenichino (also from Bologna) joined forces in the Palazzo Farnese in Rome to paint this fresco of Perseus and Phineas. As Perseus stands in the centre brandishing the Gorgon’s face towards his attackers, Andromeda and her parents shelter behind, shielding their eyes for safety. The Renaissance was in the past, and Florence was no longer the beacon that it had been.

Signs of change occurred earlier in the north, where the first tentative steps were made towards a broadening of genres.

Hans Memling (c 1430-1494), Flowers in a Jug (c 1485), oil on panel (verso of Portrait of a Young Man Praying), 29.2 x 22.5 cm, Museo Nacional Thyssen-Bornemisza, Madrid, Spain. Wikimedia Commons.

It was probably Hans Memling (c 1340-1494) who painted one of the first still lifes, on the back of a panel bearing a portrait of a young man praying, in about 1485. It has been proposed that this was part of a diptych or triptych, and could have formed its back cover when folded.

His choice of jug and flowers confirms its religious nature: Christ’s monogram is prominent on the body of the jug, and each of the flowers has specific references. Lilies refer to the purity of the Virgin Mary, the irises to her roles as Queen of Heaven and in the Passion, and the small aquilegia flowers have associations with the Holy Spirit. The eastern pattern on the rug is so distinctive of the artist that these became referred to as Memling rugs.

Coming closer to what was soon to become the Dutch Republic, Pieter Bruegel the Elder founded a dynasty of Flemish artists who broke from the Renaissance mould and started depicting the everyday.

bruegelharvesters
Pieter Bruegel the Elder (c 1525–1569), The Harvesters (1565), oil on panel, 119 x 162 cm, Metropolitan Museum of Art, New York, NY. Wikimedia Commons.

Two of his major paintings from 1565 were formative influences on what was to come in the Dutch Golden Age. The Harvesters is a complete account of the grain harvest in the Low Countries, and Winter Landscape with Skaters and Bird Trap below is a pure landscape.

bruegelwinterlandscapeskaters
Pieter Brueghel the Elder (1526/1530–1569), Winter Landscape with Skaters and Bird Trap (1565), oil on panel, 37 x 55.5 cm, Royal Museums of Fine Arts of Belgium, Brussels. Wikimedia Commons.

There are no figures particularly close by, and those on the ice are not demonstrating the many different activities they could be undertaking. It also happens that this was one of the first paintings to show Netherlandish people on the ice in the winter, a theme that shortly became very popular, and whose influence extended throughout Europe, across centuries and styles.

By 1600 the techniques of depicting the real world were well understood, and all it required was an abundant trade in art materials including drying oils and pigments, an increasingly wealthy population, seemingly insatiable demand for paintings, and an army of painters. Those all came in the Dutch Republic.

Is your Mac’s firmware up to date?

By: hoakley
6 August 2025 at 14:30

By now your Mac should have the latest macOS update installed, and be running the current firmware. This article takes stock of where EFI, T2 and Apple silicon firmware are now, and where they’re heading with the forthcoming release of macOS 26 Tahoe in a month or two.

For many years, the only way your Mac will have its firmware updated is when macOS or one of its updates is installed on it. There is one significant exception to that, in Apple silicon Macs, whose firmware will be completely replaced when it’s put into DFU mode and restored from an IPSW file.

Each macOS update or full installer comes with the firmware current at the time Apple built it. So if your Mac is still running macOS 12.7.6 Monterey and has never installed any later version, it will have the firmware that came with that, such as iBoot 10151.140.19, or T2 version 2022.140.5.0.0 with iBridge 21.16.6074.0.0,0.

Note that firmware is updated whether macOS is installed or updated on the internal storage, or on an external disk. So if your Mac’s internal SSD is still running 12.7.6, but it has been used to update Ventura to 13.7.7 on an external SSD, then it will have the firmware brought in that version of Ventura, rather than that for Monterey. That doesn’t of course apply to macOS installed in any virtual machines, as they can’t update the host firmware.

Intel Macs without T2 chips

All these models appear to have reached the end of their EFI firmware updates, with the versions shown.
iMac:

  • iMac18,1 529.140.2.0.0
  • iMac18,3 529.140.2.0.0
  • iMac19,1 2075.100.3.0.3

MacBook:

  • MacBook10,1 529.140.2.0.0

MacBook Pro:

  • MacBookPro14,1 529.140.2.0.0
  • MacBookPro14,2 529.140.2.0.0
  • MacBookPro14,3 529.140.2.0.0

All those date from 23 June 2024, apart from that for the iMac19,1, whose latest firmware is from March 2025. Although the latter could still be updated in a security update to Sonoma or Sequoia, that now looks increasingly unlikely.

Intel Macs with T2 chips

The current EFI version is 2075.140.4.0.0 and iBridge is 22.16.16083.0.0,0, and those are likely to continue to be updated over the coming year. However, T2 models still running macOS Ventura are likely to stay there, unless Apple releases one final extra update. To ensure that your T2 Mac continues to get firmware updates, it now needs to be running Sonoma or later.

Apple silicon Macs

The current iBoot version is 11881.140.96, and that is sure to see a substantial update with the release of macOS 26.0, and in the simultaneous security updates for Sequoia and Sonoma. However, any Apple silicon Mac still running Ventura or earlier will be running an older version of iBoot that it can’t update, unless it installs or updates a more recent macOS in another boot volume group, such as on an external disk.

Apple Studio Display

Display firmware remains at version 17.0 (build 21A329) as it was when updated with macOS Sonoma nearly two years ago in September 2023. Although there’s no sign of any update with the beta-test versions of Tahoe, maybe it’s likely that this will be updated with macOS 26.0 and its associated security updates.

Check

The currently installed firmware version is displayed in System Information, by selecting the Hardware item at the top left. It’s also checked against the current version in SilentKnight. However, in recent Mac models with T2 or Apple silicon chips it’s most unlikely to differ from that brought with the latest version of macOS that Mac has installed or updated. Macs without T2 chips were less reliable, and some older models often failed to update when expected. Thankfully that’s now a problem of the past. If there’s one thing you should be able to trust it’s firmware updating.

Apple has just released updates to XProtect and XProtect Remediator

By: hoakley
6 August 2025 at 04:19

Apple has just released updates to XProtect for all supported versions of macOS, bringing it to version 5309, and to XProtect Remediator for all macOS from Catalina onwards, to version 153. As usual, Apple doesn’t release information about what security issues these updates might add or change.

Yara definitions in this version of XProtect add a single new detection rule for MACOS.SOMA.JUENB, part of the Soma/Amos family.

XProtect Remediator doesn’t change the list of scanner modules.

There are extensive changes to the Bastion rules, which add a new definition for common system binaries, extend Rule 1 coverage to include support folders for more browsers, tweak Rules 3 and 14-17, and add new Rules 18-24.

You can check whether these updates have been installed by opening System Information via About This Mac, and selecting the Installations item under Software.

A full listing of security data file versions is given by SilentKnight and SystHist for El Capitan to Tahoe available from their product page. If your Mac hasn’t yet installed this update, you can force it using SilentKnight or at the command line.

If you want to install these as named updates in SilentKnight, their labels are XProtectPayloads_10_15-153 and XProtectPlistConfigData_10_15-5309.

Sequoia and Tahoe systems only

The XProtect update has already been released for Sequoia and Tahoe via iCloud. If you want to check it manually, use the Terminal command
sudo xprotect check
then enter your admin password. If that returns version 5304 but your Mac still reports an older version is installed, you may be able to force the update using
sudo xprotect update

Medium and Message: Anatomy of paintings

By: hoakley
5 August 2025 at 19:30

Before I delve into painting media, it’s helpful to establish the terms I’m going to use. Although at their simplest paintings consist of a fairly flat and even surface with a layer of paint on it, in practice most have a more complex anatomy.

nomadecavepainting
Anonymous, Volcano in Eruption (c 36,000 BP), pigment on limestone mural, 60 x 60 cm, Chauvet-Pont d’Arc Cave, Ardèche, France. B is the original panel (date sampling site shown in green), and C the constructed time sequence of layers. The photo in B was taken by D Genty, and the images in C by V Feruglio and D Baffier. These images are © 2016 Nomade et al.

Earliest surviving paintings, such as these from around thirty-six millennia ago, in the Chauvet-Pont d’Arc Cave in the Ardèche, were simple applications of pigment to a stone surface. It’s a miracle that any have survived, given the lack of bonding between pigment and stone.

vasariperseusandromeda
Giorgio Vasari (1511–1574), Perseus and Andromeda (1570-2), oil on slate, 117 x 100 cm, Palazzo Vecchio, Florence. Wikimedia Commons.

Fast-forward over thirty-five thousand years, and in 1570-72 Giorgio Vasari created something similar in his painting of Perseus and Andromeda consisting of pigment bound in a drying oil, applied to slate. The big difference is in his paint, which was developed over several centuries to form a strong bonded layer adhered to the surface of the rock.

Stone and walls make a robust support for a painting, but aren’t exactly portable unless they’re as small as Vasari’s sheet of slate. Alternatives were constructed from wood in panels, and could be painted on an easel rather than up a scaffold, hence these portable works of art are widely known as easel paintings, and use wood panel supports.

The next step in development was to apply a primer to the wooden panel to form a smooth surface to which the paint layer would bond better, forming the ground.

davinciadorationmagi
Leonardo da Vinci (1452–1519), Adoration of the Magi (abandoned) (1480-82), oil and tempera on panel, 243 x 246 cm, Galleria degli Uffizi, Florence, Italy. Wikimedia Commons.

When Leonardo da Vinci abandoned his Adoration of the Magi as he left Florence in about 1482, he had applied little paint to its ground, on which he had already made extensive underdrawings and prepared tonal modelling for the paint layer he never completed.

Our easel painting now has a physical support, a purely mechanical task, and on that the ground on which the paint is applied. Those roles are distinct, even when a single surface such as a wall or sheet of paper fulfils both. Most traditional paintings by professional painters made in the last few centuries have been on supports of stretched canvas, which have been sized to protect their fibres, then had a white or tinted ground such as chalk bound to them.

Support and ground form the receiver, on which colour in the form of pigments has to be bound. Although it’s possible to get pigment to adhere to a suitably rough ground, part of the principle behind painting in pastels, the result isn’t durable, and clients and patrons are likely to be wary about paying for a painting that literally crumbles into dust in front of their eyes.

daumierstrongman
Honoré Daumier (1808-1879), The Strongman (c 1865), oil on wood panel, 26.9 x 35 cm, The Phillips Collection, Washington, DC. Microscopic paint cross-section by Elizabeth Steele at http://blog.phillipscollection.org/2014/02/26/happy-birthday-honore-daumier/. Courtesy of The Phillips Collection.

Not all paints contain pigments: some prefer soluble dyes instead. Generally dyes, often derived from plants, aren’t as durable. Pigments consist of large insoluble particles, as seen in the cross-section above, to protect them from physical damage, chemical reactions, and most importantly the adverse effects of exposure to light, which can cause their intensity to fade.

The goal of many paint systems is to trap these pigment particles in a solid layer formed by a chemical binder which is liquid when applied but hardens by the chemical process of polymerisation into a solid. In the case of oil paints, the binder is an oil that undergoes slow oxidation to form the polymer, a drying oil such as linseed obtained from the common flax plant.

The final component involved in a painting is one that should vanish during the process of applying the paint: a diluent or solvent used to thin the paint, and clean wet paint from brushes and the other tools used in the process. Diluents are often confused with binders, but they are usually opposites: an ideal diluent should evaporate quickly, leaving no residues and a robust if thin paint layer behind, for the binder to turn it into a strong, enduring and faithful record of what the artist intended.

In traditional oil painting, typical diluents are organic solvents such as turpentine and white spirit, used to spread a thin layer of drying oil binder and pigment particles. Remove most of the drying oil and use largely diluent, though, as in peinture à l’essence, used by Degas, and you can end up without any proper paint layer at all, with powdery pigment trying not to fall off.

degasdancerdressingroom
Hilaire-Germain-Edgar Degas (1834–1917), Danseuse dans sa loge (Dancer in her Dressing Room) (c 1879), pastel and peinture à l’essence on canvas, 37.7 x 87.9 cm, Cincinnati Art Museum, Cincinnati, OH. Wikimedia Commons.

Degas’ Danseuse dans sa loge (Dancer in her Dressing Room) (c 1879) is one of his experimental paintings using both pastel and peinture à l’essence applied to canvas.

In this respect, watercolours are strangely named. Oil paints rely on drying oils as their binder, but in watercolours the water is the diluent not the binder, which is gum arabic; many other painting methods also rely on water as diluent, but aren’t called watercolour as a result.

We finally end up with a rigid support, on which is the ground, that provides an adherent base for the paint layer, composed of pigment particles in a binder, that was originally thinned using a diluent. In most older paintings, those are then coated with layers of varnish intended to protect the surface of the paint layer.

Charles Conder, Dandenongs from Heidelberg (c 1889), oil on wood panel, 11.5 x 23.5 cm, Art Gallery of South Australia, Adelaide. Wikimedia Commons.
Charles Conder (1868-1909), Dandenongs from Heidelberg (c 1889), oil on wood panel, 11.5 x 23.5 cm, Art Gallery of South Australia, Adelaide. Wikimedia Commons.

Just like Giorgio Vasari with his oil painting on slate, there’s always someone who breaks conventions. This painting of Dandenongs from Heidelberg was made by Charles Conder on a sheet of wood from a cigar box. Conder was a member of a group of Australian artists who held a ‘9 by 5’ exhibition of paintings they had made on wooden cigar-box panels of 9 by 5 inches (23 x 13 cm) in size. Similar panels had been used extensively by Georges Seurat for his oil sketches, for which he had invented the term croquetons. They also resembled the small wood panels used by the Macchiaioli for their plein air oil sketches.

In thirty-six thousand years we have progressed from painting the walls of caves to sketching on a wooden cigar box.

Key terms

  • easel painting, on a portable support rather than a wall or ceiling;
  • support, a more or less rigid surface for a painting;
  • ground, a priming layer applied to the support to form an adherent base for paint;
  • paint layer, consisting of pigment particles in a binder, thinned during painting with a diluent;
  • varnish, to protect the surface of the paint layer.

Access Linux file systems from Apple silicon Macs

By: hoakley
5 August 2025 at 14:30

macOS comes with no support for the file systems most likely to be used by Linux. This article suggests how you might be able to access them, for example when a NAS system is connected directly to an Apple silicon Mac, or when you need to access external storage that has been used with a Linux system.

extFS

I believe Paragon Software’s extFS is the only generally available commercial solution, and is described here. If you only need access for a short period, it’s free to use for up to ten days, but must be licensed for $39.95, €39.95, or £38.81 if you want to unlock it to use for any longer. Paragon also offers support for accessing APFS from Linux and Windows.

If you need more than simple access to the contents of the file system, you can also combine extFS with an Ubuntu VM running in UTM to access backups made using Duplicity, for example. This is detailed here by Benjamin, to whom I’m very grateful for information about extFS and for inspiring this note.

macFUSE

Benjamin Fleischer’s free fork of Google’s MacFUSE software should be able to implement a fully functional alien file system running in user space. Its latest release 5.0.5 is compatible with current betas of macOS Tahoe as well as older versions back to macOS 12. However, some report that it isn’t able to deliver reliable support for Ext4 and similar. In theory, this should now be simpler, as recent versions of macOS can support macFUSE without requiring a kernel extension, and there’s an alternative backend in recent versions of macFUSE to support that. Project front page.

Jeff Geerling’s walkthrough using macFUSE with ext4fuse.

anylinuxfs

This is based on the libkrun microVM hypervisor, available separately from here. It has the advantage that it doesn’t rely on either kernel or system extensions, and is available from here. I’ve been unable to discover how reliable this is on Apple silicon, if it works at all.

Others

If you know of other ways of doing this with an Apple silicon Mac, please provide details in a comment.

Paintings of Dante’s Inferno: 2 Abandon hope

By: hoakley
4 August 2025 at 19:30

Dante has been rescued from three wild beasts by the ghost of Virgil, who leads him along the only possible route, taking them to the gate of Hell. Inscribed above that gate is a forbidding series of lines leaving the traveller in no doubt that they’re going to a place of everlasting pain and tortured souls. This culminates in the most famous line of the whole of the Divine Comedy:
Lasciate ogne speranza, voi ch’intrate
traditionally translated as Abandon hope all ye who enter here, but perhaps more faithfully as Leave behind all hope, you who enter, and is seen written in William Blake’s own hand below.

blakeinscriptionhellgate
William Blake (1757–1827), The Inscription over Hell-Gate (Dante’s Inferno) (1824-27), pen and ink and watercolour over pencil, dimensions and location not known. Wikimedia Commons.

Virgil explains its meaning to Dante before the two enter. Dante is then struck by the terrible sounds that he hears, those of tormented sinners in Hell mixed with the noise of the first group of dead: those who have been refused entry to Hell or to Heaven, because of their cowardice in failing to choose between God and the Devil. They form a river of naked bodies drawn by a banner, their faces constantly stung by wasps and hornets, streaking them with blood and tears.

Among them is one who has been identified as Pope Celestine V, who resigned from office in 1294, and another candidate is Pontius Pilate, who refused to pass judgement on Christ.

dorecharon
Gustave Doré (1832–1883), The Arrival of Charon (c 1857), engraving, dimensions not known, location not known. Wikimedia Commons.

Then Charon, an irascible old man with white hair and coal-black eyes, appears in his boat. He tells Dante to get away from the dead, as he won’t be carried across by him with those souls, and will have to arrange another crossing. Virgil intercedes to ensure that they too will be ferried across the marshy River Acheron to Hell.

vetridantevirgilbarque
Paolo Vetri (1855–1937), Dante and Virgil Before Charon’s Boat (1875-77), oil on canvas, dimensions and location not known. Image by Davide Mauro, via Wikimedia Commons.
dorecharonherdssinners
Gustave Doré (1832–1883), Charon Herds the Sinners onto his Boat (1857), engraving, dimensions not known, location not known. Wikimedia Commons.

Those souls destined for Hell rush to board the boat, with Charon sweeping them in using his oar to hit those who are slow. The boat then carries them across, as another load gathers on the shore ready for its return.

blakevestibulehell
William Blake (1757–1827), The Vestibule of Hell and the Souls Mustering to Cross the Acheron (Dante’s Inferno) (1824-27), watercolour on paper, dimensions not known, National Gallery of Victoria, Melbourne, Australia. Wikimedia Commons.
lytovchenkocharon
Alexander Dmitrievich Litovchenko (1835-1890), Charon Carrying Souls Across the River Styx (1861), oil on canvas, dimensions not known, Russian Museum, Saint Petersburg, Russia. Wikimedia Commons.

There is then a violent gust of wind and a red bolt of lightning, and Dante loses consciousness.

Although Dante doesn’t describe his crossing of the Acheron in Charon’s boat, this has been imagined by several painters.

delacroixbarquedante
Eugène Delacroix (1798–1863), The Barque of Dante (Dante and Virgil in Hell) (1822), oil on canvas, 189 x 241 cm, Musée du Louvre, Paris. Wikimedia Commons.

In 1822, the young Eugène Delacroix painted one of his finest narrative works, The Barque of Dante, showing the pair crossing a stormy river Acheron in a very small boat. He painted this quickly, over an intense period of a little over two and a half months, just in time for submission to the Salon. Dante, wearing his distinctive scarlet chaperon (hat), holds his hand up as he leans back onto the shoulder of Virgil his guide. This has been interpreted as showing how, when we encounter challenges from the modern we should look to tradition for support.

This is one of the most remarkable paintings of the Inferno, as an early experiment with colour. In the detail below, water droplets on the bodies of those surrounding the boat contain at least three different colours: their reflected highlights are pure white, the rest of the body of the droplet and its trail are the dark green of the water below, and the droplet itself has a shadow of the same pink that Delacroix uses to shade flesh. Their overall effect is of an unusually three-dimensional and realistic droplet.

delacroixbarqueofdanted1
Eugène Delacroix (1798–1863), The Barque of Dante (Dante and Virgil in Hell) (detail) (1822), oil on canvas, 189 x 241 cm, Musée du Louvre, Paris. Wikimedia Commons.
benlliurebarquecharon
José Benlliure y Gil (1855–1937), Charon’s Boat (date not known), oil on canvas, 103 x 176 cm, Museu de Belles Arts de València, Valencia, Spain. Wikimedia Commons.

The artists

José Benlliure y Gil (1855–1937) was a Spanish painter who was born in Valencia but spent much of his working life in Rome, where he became the director of the Spanish Academy there. After painting small genre works, he turned to classical narratives including the painting shown here.

William Blake (1757–1827) was a British visionary painter and illustrator whose last and incomplete work was an illustrated edition of the Divine Comedy for the painter John Linnell. Most of his works shown in this series were created for that, although he did draw and paint scenes during his earlier career. I have a major series on his work here.

Eugène Delacroix (1798–1863) was a major French painter whose Romantic and painterly style laid the groundwork for the Impressionists. In addition to many fine easel works, he painted murals and was an accomplished lithographer too. Many of his paintings are narrative, and among the most famous is Liberty Leading the People from 1830. This article introduces a series featuring his major works.

Gustave Doré (1832–1883) was the leading French illustrator of the nineteenth century, whose paintings are still relatively unknown. Early in his career, he produced a complete set of seventy illustrations for translations of the Inferno, first published in 1857 and continue to be used. These were followed in 1867 by more illustrations for Purgatorio and Paradiso. This article looks at his paintings.

Alexander Dmitrievich Litovchenko (1835-1890) was born in Kremenchuk, Ukraine, but spent most of his career painting historical events in Russia. His painting of Charon won him a gold medal.

Paolo Vetri (1855–1937) was a precocious Italian painter who was born in Sicily. He was a pupil of the great narrative artist Domenico Morelli, and completed several major murals as well as many easel paintings.

References

Wikipedia
Danteworlds

Robin Kirkpatrick (trans) (2012) Dante, The Divine Comedy, Inferno, Purgatorio, Paradiso, Penguin Classics. ISBN 978 0 141 19749 4.
Richard Lansing (ed) (2000) The Dante Encyclopedia, Routledge. ISBN 978 0 415 87611 7.
Guy P Raffa (2009) The Complete Danteworlds, A Reader’s Guide to the Divine Comedy, Chicago UP. ISBN 978 0 2267 0270 4.
Prue Shaw (2014) Reading Dante, From Here to Eternity, Liveright. ISBN 978 1 63149 006 4.

Solutions to Saturday Mac riddles 319

By: hoakley
4 August 2025 at 16:00

I hope that you enjoyed Saturday’s Mac Riddles, episode 319. Here are my solutions to them.

1: Successor to 3 inside a scheme was part of a popular atelier.

Click for a solution

InDesign

Successor to 3 (Adobe developed it to replace the ailing PageMaker) inside (in) a scheme (a design) was part of a popular atelier (for many years it was one of the leading apps in Adobe’s Creative Studio).

2: High speed subatomic particle took the lead in the 1990s.

Click for a solution

QuarkXPress

High speed (express) subatomic particle (a quark) took the lead in the 1990s (by the mid-1990s it had taken around 90% of the desktop publishing market on Macs).

3: Creator of a squire’s assistant was the first, but died before Mac OS X.

Click for a solution

PageMaker

Creator (maker) of a squire’s assistant (a page) was the first (released in July 1985 for the Mac), but died before Mac OS X (by 2000, it was moribund as Adobe was replacing it with InDesign, released in 1999, and it was never ported to Mac OS X).

The common factor

Click for a solution

They have all been leading desktop publishing apps for Macs.

I look forward to your putting alternative cases.

A deeper dive into Spotlight indexing and local search

By: hoakley
4 August 2025 at 14:30

With additional information about Spotlight’s volume indexes, this article looks in more detail at how those indexes are updated when new files are created, and how local search is reflected in log entries. To do this I use the Spotlight test feature in my free utility Mints, which is designed to assess its performance.

Mints can create a test folder and populate it with 9 test files, copied from inside the app bundle using File Manager’s copyItem function. Provided the app and that newly created folder in ~/MintsSpotlightTest4syzFiles are in the same volume, this will almost certainly occur by creating APFS clone files. The files are:

  • SpotTestA.rtf, RTF, relying on /System/Library/Spotlight/RichText.mdimporter
  • SpotTestB.pdf, PDF, relying on /System/Library/Spotlight/PDF.mdimporter
  • SpotTestC.txt, plain text, relying on /System/Library/Spotlight/RichText.mdimporter
  • SpotTestD.html, HTML, relying on /System/Library/Spotlight/RichText.mdimporter
  • SpotTestE.docx, Microsoft Word docx, replying on /System/Library/Spotlight/Office.mdimporter
  • SpotTestEXIF.jpg, JPEG image not containing the target string in the image, but in the Make field of its EXIF IDF0 metadata, and relying on /System/Library/Spotlight/Image.mdimporter
  • SpotTestF.numbers, Numbers spreadsheet containing the target string in one of its cells, and relying on /System/Library/Spotlight/iWork.mdimporter
  • SpotTestG.pages, Pages document, relying on /System/Library/Spotlight/iWork.mdimporter
  • SpotTestMD.txt, plain text not containing the target string in its contents, but in an extended attribute of type com.apple.metadata:kMDItemKeywords attached when the file is copied.

The search target they each contain is a string starting with the characters syzygy999 so most likely to be unique to the test files and Mints’ bundle.

This example test was performed on a Mac mini M4 Pro running macOS 15.6 from its internal SSD, with the Home folder located in the boot Data volume in that storage.

Indexing

Folder creation and file copying should take place soon after clicking on the Create Test button, in this example test in just over 0.3 seconds. The first mdworker process responding to this is spawned about 0.9 seconds after file copying starts, and further mdworker processes are added to it, making a total of 11. These are uncorked by launchd in about 0.03-0.05 seconds and are active for a period of about 0.2 seconds before they appear to have finished creating new posting lists to be added to the local indexes.

Shortly after those are complete, spotlightknowledge is active briefly, then 0.2 seconds after file copying mediaanalysisd receives a text processing request and initialises CGPDFService. Just over 0.1 second later CoreSceneUnderstanding is invoked from mediaanalysisd. For the following 5 seconds, a series of MADTextEmbedding (mediaanalysisd text embedding) tasks are performed. Finally, content obtained by mdworker and MADTextEmbedding is compressed by mds_stores, finishing about 6.7 seconds after the new files were created.

These steps are summarised in the diagram above, where those in blue update metadata indexes, and those in yellow and green update content indexes. It’s most likely that each file to be added to the indexes has its own individual mdworker process that works with a separate mdimporter, although in this case at least 11 mdworker processes were spawned for 9 files to be indexed.

Text extraction from files by mediaanalysisd involves a series of steps, and will be covered in more detail separately. In this test, local Spotlight indexes should have been updated within 7-8 seconds of file creation, so waiting at least 10 seconds after clicking the Create Test button should be sufficient to enable the test files to be found by search.

Searching

When the Check Search button in Mints is clicked, an NSMetadataQuery is performed using a search predicate over the search scope of NSMetadataQueryUserHomeScope, the Home folder. This uses the search predicate (kMDItemTextContent CONTAINS[cd] "syzygy999") OR (kMDItemKeywords CONTAINS[cd] "syzygy999") OR (kMDItemAcquisitionMake CONTAINS[cd] "syzygy999") to find all items containing any of:

  • kMDItemTextContent CONTAINS[cd] "syzygy999" looks for the target string in a text representation of the content of the document, as in most of the test files used.
  • kMDItemKeywords CONTAINS[cd] "syzygy999" looks for keywords in an extended attribute of type com.apple.metadata:kMDItemKeywords as attached to the SpotTestMD.txt file.
  • kMDItemAcquisitionMake CONTAINS[cd] "syzygy999" looks for the Make field of an EXIF IDF0 as embedded in the SpotTestEXIF.jpg file.

Each of those is both case- and diacritic-insensitive, although the test cases all use lower case without any diacritics.

Remarkably little is recorded in the log for these test searches. com.apple.metadata starts the query within 0.001 second of clicking the Check Search button, and is interrupted by TCC approving the search to proceed. About 0.03 seconds after the start of the query, a series of entries from mds_stores reports query node counts of 4, and results are fetched and sent as replies between 0.09 and 19.5 seconds after the start of the query. However, Mints typically reports a considerably shorter search time of around 4 seconds.

Better testing

The test currently included in Mints appears useful, in that it assesses the whole of Spotlight local search from file creation to completion of a test search. However, in its current form it doesn’t test LiveText or other in-image text extraction, and only applies to the volume containing the Home folder. Log extracts obtained in its Log Window are basic and don’t capture much of the detail used for this article. There seems scope for a dedicated Spotlight test app that addresses these and more.

Summary

  • Spotlight local indexing from the creation of nine new files reliant on macOS bundled mdimporters is initiated promptly, and should be completed within 10 seconds of their creation. It appears to follow the scheme shown in the diagram above.
  • Text extraction from images by mediaanalysisd (‘MAD’) is significantly slower than extraction of metadata and other text content.
  • NSMetadataQuery search should also be relatively quick when the number of hits is small, but leaves little information in the log.

The first modern pigment: Prussian blue

By: hoakley
3 August 2025 at 19:30

Until the advent of chemistry in the eighteenth century, early in the Age of Enlightenment, the vast majority of pigments occurred in nature, even if the minerals or plant matter from which they were derived had to be specially processed. The first truly synthetic pigment was so ancient that it had been forgotten completely by the Middle Ages: Egyptian blue was originally made before about 3000 BCE by heating together powdered rocks and sand, but that was an exception. It wasn’t until the early years of the eighteenth century that a hydrated iron hexacyanoferrate complex soon known as Prussian blue was synthesized.

No one knows who first made Prussian blue, nor exactly when it was first synthesized. It seems to have appeared initially around 1704, and its origins have been attributed variously to Diesbach in Berlin, or Mak in Leipzig. For once its name is appropriate, as it was a product of the Prussian Empire. Its potential as a colourant was recognised by 1710 when it went on sale in Berlin, and by about 1724 it was being manufactured across Europe.

vanderwerffjacobblessing
Adriaen van der Werff (1659-1722) and Henrik van Limborch (1681-1759), Jacob Blessing the Sons of Joseph (before 1722-28), oil on panel, 61.1 x 47.5 cm, Allen Memorial Art Museum (Mrs. F. F. Prentiss Fund, 1963), Oberlin, OH. . Courtesy of the Allen Memorial Art Museum.

Among the earliest surviving oil paintings to use Prussian Blue is that by Adriaen van der Werff and Henrik van Limborch, of Jacob Blessing the Sons of Joseph. This was started by van der Werff before he died in 1722, and the paint containing Prussian blue pigment is thought to have been applied by him to the curtain at the upper left. After van der Werff’s death, his pupil Henrik van Limborch finished the painting between 1727-28.

watteauitaliancomedians
Antoine Watteau (1684–1721), The Italian Comedians (c 1720), oil on canvas, 63.8 x 76.2 cm, National Gallery of Art, Washington, DC. Wikimedia Commons.

Another early example of the proven use of Prussian blue is Antoine Watteau’s The Italian Comedians from about 1720.

canalettograndcanalfrompalazobalbi
Canaletto (1697–1768) (attr), Grand Canal from Palazzo Balbi toward the Rialto (1720-23), oil on canvas, 144 x 207 cm, Ca’ Rezzonico, Venice, Italy. Wikimedia Commons.

Canaletto is one of the first Masters to have used the new pigment extensively. Grand Canal from Palazzo Balbi toward the Rialto from 1720-23 has been attributed to him as one of his earliest surviving works, and its blues have been found to contain Prussian blue.

canalettoriodeimendicanti
Canaletto (1697–1768), Rio dei Mendicanti (1723-24), oil on canvas, 143 x 200 cm, Ca’ Rezzonico, Venice, Italy. Wikimedia Commons.

Canaletto was quick to adopt the pigment for use in almost all his paintings, including this view of the Rio dei Mendicanti from 1723-24, above, and his famous The Stonemason’s Yard (c 1725), below.

canalettostonemasonsyard
Canaletto (Giovanni Antonio Canal) (1697–1768), Campo S. Vidal and Santa Maria della Carità (‘The Stonemason’s Yard’) (c 1725), oil on canvas, 123.8 x 162.9 cm, The National Gallery (Sir George Beaumont Gift, 1823), London. Image courtesy of and © The National Gallery, London.

As experience was gained in using this pigment, it became controversial. Some artists were confident that its colour was stable and didn’t change or fade, but others experienced problems as bad as or even worse than those of the notoriously fugitive indigo blue, which it had generally replaced. It has gradually become understood that adverse results of lightfastness testing (and experience in paintings) have depended on the mixture of Prussian blue with other colours, particularly with white paint, and the presence of impurities in the pigment.

By the middle of the eighteenth century, Prussian blue was widely used with a range of binding media, with the notable exception of fresco and other alkaline media with which it proved incompatible.

hogarthmarriage2
William Hogarth (1697–1764), Marriage A-la-Mode: 2, The Tête à Tête (c 1743), oil on canvas, 69.9 × 90.8 cm, The National Gallery, London. Courtesy of The National Gallery London, inventory NG114.

William Hogarth’s paintings in his Marriage A-la-Mode series have been found to contain both smalt and Prussian blues. In The Tête à Tête (c 1743), smalt has been found in the ornate carpet, and I suspect that the ornamental pillars behind the woman rely on Prussian blue, at least in part. Hogarth trained as Prussian blue came to the ascendant, and wouldn’t have painted much before it had become widely available.

perronneaugirlkitten
Jean-Baptiste Perronneau (1715/16-1783), A Girl with a Kitten (c 1743), pastel on paper, 59.1 x 49.8 cm, The National Gallery (Presented by Sir Joseph Duveen, 1921), London. Image courtesy of and © The National Gallery, London.

Jean-Baptiste Perronneau’s A Girl with a Kitten from about 1743 is a fine example of the use of Prussian blue in pastels: the girl’s blue dress and the background have both been found to contain the pigment.

blakeluciacarryingdante
William Blake (1757-1827), Lucia Carrying Dante in his Sleep (from Dante’s “Divine Comedy”) (1824-27), watercolour, black ink, graphite, and black chalk on off-white antique laid paper, 37.2 x 52.2 cm, Harvard Art Museums/Fogg Museum (Bequest of Grenville L. Winthrop), Cambridge, MA. Courtesy of Harvard Art Museums/Fogg Museum.

Prussian blue also became popular in water-based media. William Blake’s Lucia Carrying Dante in his Sleep, from his series depicting Dante’s Divine Comedy painted in watercolour between 1824-27, is a good example. In this and several other of his paintings, Blake used the pigment on its own and mixed with gamboge yellow in what was known as Prussian green.

whistlerprincesschina
James Abbott McNeill Whistler (1834–1903), The Princess from the Land of Porcelain (1863-65), oil on canvas, dimensions not known, Freer Gallery of Art, Smithsonian Institution, Washington, DC. Wikimedia Commons.

Prussian blue pigment has been found in the blue passages in Whistler’s The Princess from the Land of Porcelain (1863-65), from his Peacock Room, shown above and in the detail below.

whistlerprincesschinad1
James Abbott McNeill Whistler (1834–1903), The Princess from the Land of Porcelain (detail) (1863-65), oil on canvas, dimensions not known, Freer Gallery of Art, Smithsonian Institution, Washington, DC. Wikimedia Commons.

The use of different blue pigments varied markedly among the French Impressionists and their successors. Paul Cézanne and Georges Seurat appear to have used Prussian blue seldom if at all, but it’s well known in the work of Edgar Degas, Claude Monet and Vincent van Gogh.

Claude Monet, Bathers at la Grenouillère (1869), oil on canvas, 73 x 92 cm, The National Gallery, London. WikiArt.
Claude Monet (1840-1926), Bathers at la Grenouillère (1869), oil on canvas, 73 x 92 cm, The National Gallery, London. WikiArt.

Although Monet’s Bathers at la Grenouillère (1869) contains cobalt blue in the brighter mid-blues of the water surface and details in the boats, darker blues towards the left, and in the clothing of some of the figures and their reflections, are almost certainly Prussian blue.

vangoghlamousme
Vincent van Gogh (1853-1890), La Mousmé (1888), oil on canvas, 73.3 x 60.3 cm, The National Gallery of Art (Chester Dale Collection), Washington, DC. Courtesy of The National Gallery of Art.

Vincent van Gogh’s portrait of La Mousmé from 1888 illustrates some of the difficulties of identifying pigment use. Its unusual title is derived from the Japanese word musume, meaning girl; at the time the French word was understood to mean an ‘easy’ girl.

Infra-red images demonstrate van Gogh’s use of at least two different blues, one of which has been identified as Prussian blue. The two (or more) blue pigments aren’t distributed evenly: on the girl’s jacket, the three blue stripes to the left of the row of buttons contain the most Prussian blue, while the three under her right armpit, which look darker, contain little or no Prussian blue. Van Gogh also mixed yellow with Prussian blue to form the green of the flowers she holds in her hand.

Prussian blue remained a popular pigment in oil and watercolour paints well into the twentieth century, and is still offered in commercial ranges. For many artists, though, it has been replaced by much more recent synthetic blue pigments, such as phthalocyanine (‘phthalo’) blue, introduced around 1970, and is seldom used in Prussian green.

Reference

Barbara H Berrie (1997) Artists’ Pigments, vol 3, ed Elisabeth West Fitzhugh, Archetype. ISBN 978 1 904982 76 0.

Last Week on My Mac: Search and you’ll find

By: hoakley
3 August 2025 at 15:00

One thing we humans are good at is searching. It’s a task we engage in from a few moments after birth until the time we slip away in death, we search everything around us. Locating and identifying that bird of prey wheeling high, finding the house keys, and that book we mislaid some time last week, meeting the perfect partner, discovering the right job, choosing the best education, looking through a Where’s Wally? or Where’s Waldo? book, and so on. Searching has transformed some into explorers like Christopher Columbus, and was the purpose of the chivalric quest. It’s what researchers in every field do, and thanks to Douglas Adams can be answered by the number 42.

Last week my searching took two new turns.

Spotlight

The first was more of a meta-search, in trying to discover more about the internals of Spotlight. Following the example of Maynard Handley, who has used them so successfully in understanding how M-series CPUs work, I looked through patents that have been awarded to Apple for the work of its search engineers. Yesterday’s slightly fuller history of Spotlight search is one result, and there are more to come in the future as I digest those patents concerned with performing search.

There’s a tinge of irony here, as many of my searches have been conducted using Google Patents, alongside Google Scholar one of the remaining search engines that doesn’t yet use AI and attempt to provide its own answers.

Logs

The other marks a new phase in my quest to get more information from the Unified log. Looking back to my first comment here, I realise how wildly over-optimistic I was when I wrote that it “should make my life a lot easier”, and that “a new version of Console will provide improved features to help us wade through logs.” Nine years later, I look wistfully at what remains of Console and realise how wrong I was on both counts.

When RunningBoard arrived in macOS Catalina, I soon noticed how “its log entries are profuse, detailed, and largely uncensored for privacy.” Since then it has proved garrulous to the point where its apparently ceaseless log chatter is a distraction, and can overwhelm attempts to read other log entries. I suspect it has contributed significantly to those advanced Mac users who now refuse to even try to make sense of the log.

One answer might be to tweak log preferences to shut out this noise, but given the purpose of RunningBoard in monitoring the life cycle of apps, why not try to use the information it provides? To do that, it’s first necessary to understand RunningBoard’s idiosyncratic language of assertions, and its protocols under which they’re acquired. The only way to do that without documentation is by observation: catalogue over 30 of those assertions for an interesting example like Apple’s Developer app, and see what they reveal.

By far the most informative entries from RunningBoard are those announcing that it’s acquiring an assertion, such as
Acquiring assertion targeting [app<application.developer.apple.wwdc-Release.9312198.9312203(501)>:2946] from originator [osservice<com.apple.uikitsystemapp(501)>:748] with description <RBSAssertionDescriptor| "com.apple.frontboard.after-life.subordinate" ID:424-748-2228 target:2946 attributes:[
<RBSDomainAttribute| domain:"com.apple.frontboard" name:"AfterLife-Subordinate" sourceEnvironment:"(null)">
]>

In a log often censored to the point of being unintelligible, this contains frank and explicit detail. The app is identified clearly, with the user ID of 501 and process ID of 2946. The originator is similarly identified as com.apple.uikitsystemapp with its PID of 748, which is confirmed in the middle digits in the Assertion ID. This is explicitly related to FrontBoard and an attribute named AfterLife-Subordinate. There’s not a single <private> to blight this entry, although further knowledge is needed to decode it fully.

Normally to get such information from a running process would require its source code to be instrumented with calls to write log entries, many of which would be lost to <private>, yet RunningBoard seems happy, for the moment, to provide that information freely. You can see what I mean by applying the predicate
subsystem == "com.apple.runningboard" AND message CONTAINS "Acquiring assertion t"
in LogUI, to obtain a running commentary on active apps and processes. Once you’ve identified a relevant assertion, you can focus attention on other log entries immediately prior to that. I will be following this up in the coming week, with fuller instructions and some demonstrations.

Although neither patents nor assertions have the significance of the number 42, in their own ways they show how the art and science of search aren’t dead yet, nor have they succumbed to AI.

Blue from over the sea: ultramarine

By: hoakley
2 August 2025 at 19:30

Blue pigments used in painting include some of the oldest used by man, and others that led the change to modern synthetic pigments driven by the arrival of chemistry in the eighteenth century. This weekend I look at two examples, today the queen of pigments, ultramarine, and tomorrow the first synthetic chemical, Prussian blue.

Originally made by crushing and grinding the semi-precious stone lapis lazuli, the cost of ultramarine has exceeded that of gold. Seen in paintings, it produces a rich slightly reddish blue which stands the test of time, as distinctive and effective today as when it was first used. And its use has a history of unmasking fakes and forgeries.

anonbamiyan
Artist not known, wall paintings by the Buddahs of Bamiyan, Afghanistan, c 507-554 CE. Image by Carl Montgomery, via Wikimedia Commons.

The sole source of lapis lazuli in Europe and the West were quarries in Badakshan, described by Marco Polo and now in Afghanistan. It appears that wall paintings made around 507-554 CE adjacent to the great Buddahs of Bamiyan were the first to have used the mineral as a pigment. It was then used in early Persian miniatures, and in early Chinese and Indian paintings too. Tragically, these wall paintings in Bamiyan, Afghanistan, were damaged by the Taliban in 2001 when the two statues were destroyed, and their restoration has made little progress since.

The powdered pigment had made its way, first along the Silk Road, then by sea, to traders in Venice by about 1300. By the Renaissance, it was established as one of the most important and precious of all the pigments used in European art.

ducciohealingblind
Duccio (fl 1278-1319), The Healing of the Man born Blind (Maestà Predella Panels) (1307/8-11), egg tempera on wood, 45.1 x 46.7 cm, The National Gallery (Bought, 1883), London. Courtesy of and © The National Gallery, London.

Because of its beauty and high cost, ultramarine blue was used for the robes of Jesus Christ and the Virgin Mary. Duccio’s panels from the Maestà Predella, including this of The Healing of the Man born Blind, show this tradition in its earliest years, around 1307-11. As a pigment, it proved practical in egg tempera as here, and in oils, watercolour, and fresco.

vaneyckghentaltarpiece
Jan van Eyck (c 1390–1441) and Hubert van Eyck (c 1366-1426), The Ghent Altarpiece (c 1432), oil on panel, open overall 350 x 461 cm, Saint Bavo Cathedral, Gent, Belgium. Wikimedia Commons.

Ultramarine blue has been found in the van Eyck brothers’ Ghent Altarpiece from about 1432 (above), and particularly in its most famous panel, The Mystic Lamb, below.

vaneyckghentaltarpiecedet
Jan van Eyck (c 1390–1441) and Hubert van Eyck (c 1366-1426), The Mystic Lamb, part of the Ghent Altarpiece (detail) (c 1432), oil on panel, open overall 350 x 461 cm, Saint Bavo Cathedral, Gent, Belgium. Wikimedia Commons.
botticelliadorationkings
Sandro Botticelli (c 1445-1510) and Filippino Lippi (c 1457-1504), Adoration of the Kings (c 1470), tempera on wood, 50.2 x 135.9 cm, The National Gallery (Bought, 1857), London.

Sandro Botticelli’s early tempera on panel painting Adoration of the Kings from about 1470, apparently made with Filippino Lippi, shows two different blue colours and purple. He painted the purple with an opaque underpainting of lead white tinted with a red lake derived from madder, to create pink. That was then glazed with quite coarse particles of ultramarine blue, so the pigment was thinly dispersed.

rubensdescentfromcross
Peter Paul Rubens (1577–1640), Descent from the Cross (centre panel of triptych) (1612-14), oil on panel, 421 x 311 cm, Onze-Lieve-Vrouwekathedraal, Antwerp, Belgium. Image by Alvesgaspar, via Wikimedia Commons.

Peter Paul Rubens used ultramarine blue widely in his magnificent triptych now in Antwerp Cathedral. In its centre panel, Descent from the Cross (1612-14), it has been found combined with indigo and other pigments.

vandyckcharity
Anthony van Dyck (1599-1641), Charity (1627-8), oil on oak, 148.2 x 107.5 cm, The National Gallery (Bought, 1984), London. Courtesy of and © The National Gallery, London.

In van Dyck’s Charity from 1627-8, its most obvious use is in the blue cape, where ultramarine blue was painted over indigo, applied as both a tint and as a glaze over the top.

sassoferratovirginprayer
Sassoferrato (1609-1685), The Virgin in Prayer (1640-50), oil on canvas, 73 x 57.7 cm, The National Gallery (Bequeathed by Richard Simmons, 1846), London. Courtesy of and © The National Gallery, London.

Visit any of the larger galleries with substantial collections of paintings made before 1700, and you will see works with drapery that I can only describe as arresting in the brilliance of their ultramarine blue. One stunning example in the National Gallery in London is Sassoferrato’s The Virgin in Prayer from 1640-50. The Virgin’s cloak looks as if it was painted only yesterday, and that colour makes you stop in your tracks and draws you into the painting, like no other pigment can.

Given its importance, and limited supply, considerable effort was devoted to ensuring that natural ultramarine blue was of the highest quality, and alternative sources were sought. Deposits in the Chilean Andes, and near Lake Baikal in Siberia, weren’t developed until the nineteenth century, and attempts to make synthetic ultramarine proved unsuccessful until 1828, when Jean Baptiste Guimet was awarded a prize of six thousand francs for his discovery. Almost simultaneously, C G Gmelin of Tübingen discovered a slightly different method.

Commercial production had started by 1830, and it became known as French ultramarine, to distinguish it from the natural pigment. Although almost identical in colour and performance, there are significant differences between natural and synthetic ultramarine when tested in the laboratory. This has enabled the examination of paintings to determine the source of their pigment, and has brought some surprises. These most often relate to later overpainting during restoration. For example, two areas of much later painting have been discovered in the van Eycks’ Ghent Altarpiece.

manetcornercafeconcert
Édouard Manet (1832-1883), Corner of a Café-Concert (1878-80), oil on canvas, 97.1 x 77.5 cm, The National Gallery (Bought, Courtauld Fund, 1924), London. Courtesy of and © The National Gallery, London.

Examination of Édouard Manet’s Corner of a Café-Concert, from 1878-80, has shown that he used synthetic ultramarine in its blue passages, for example.

renoirumbrellas
Pierre-Auguste Renoir (1841-1919), The Umbrellas (c 1881-86), oil on canvas, 180.3 x 114.9 cm, The National Gallery (Sir Hugh Lane Bequest, 1917), London. Courtesy of and © The National Gallery, London.

Pierre-Auguste Renoir’s The Umbrellas, from about 1881-86, uses synthetic ultramarine in a methodical fashion. The first stage in its painting used only cobalt blue, but in its second stage synthetic ultramarine was applied extensively.

vangoghwheatfieldcypresses
Vincent van Gogh (1853-1890), A Wheatfield, with Cypresses (1889), oil on canvas, 72.1 × 90.9 cm, The National Gallery (Bought, Courtauld Fund, 1923), London. Courtesy of and © The National Gallery, London.

Vincent van Gogh’s A Wheatfield, with Cypresses (1889) contains synthetic ultramarine in its deepest blues, and in some areas of green, although it’s unusual to find ultramarine mixed to form green. Before synthetic pigment became available, this would have been far too expensive a way of making any significant amount of green, but once much cheaper pigment came onto the market, that became more feasible, if still unusual.

The ability to distinguish synthetic ultramarine, which didn’t exist before about 1828, and the natural pigment has proved important in detecting some forgeries. Only the most ignorant would attempt to pass off a painting made with synthetic ultramarine as being very old, but a few fakes fell at that hurdle.

vanmeegerenmenemmaus
Han van Meegeren (1889–1947), The Men at Emmaus (1937), oil on canvas, dimensions not known, Museum Boijmans Van Beuningen, Rotterdam, The Netherlands. Wikimedia Commons.

Han van Meegeren was far too knowledgeable and cunning to be caught so easily. He used natural ultramarine, for example when he sold The Men at Emmaus (1937) to the Museum Boijmans Van Beuningen as a Vermeer. What no one knew at the time was that his ultramarine looked genuine, but had been contaminated with a small amount of cobalt blue, which wasn’t discovered until 1803-04, and was first used as a pigment in 1806.

In 1960, the modern artist Yves Klein worked with the paint supplier Edouard Adam to ‘invent’ a paint he termed International Klein Blue (IKB). Although its formulation is a secret, it’s almost entirely synthetic ultramarine blue pigment in a polyvinyl acetate binder.

Like all the best queens, ultramarine blue has an unnerving habit of revealing the truth.

Reference

Joyce Plesters (1993) Artists’ Pigments, vol 2, ed Ashok Roy, Archetype. ISBN 978 1 904982 75 3.

Saturday Mac riddles 319

By: hoakley
2 August 2025 at 16:00

Here are this weekend’s Mac riddles to entertain you through family time, shopping and recreation.

1: Successor to 3 inside a scheme was part of a popular atelier.

2: High speed subatomic particle took the lead in the 1990s.

3: Creator of a squire’s assistant was the first, but died before Mac OS X.

To help you cross-check your solutions, or confuse you further, there’s a common factor between them.

I’ll post my solutions first thing on Monday morning.

Please don’t post your solutions as comments here: it spoils it for others.

A more detailed history of Spotlight

By: hoakley
2 August 2025 at 15:00

Since writing A brief history of local search, I have come across numerous patents awarded to Apple and its engineers for the innovations that have led to Spotlight. This more detailed account of the origins and history of Spotlight uses those primary sources to reconstruct as much as I can at present.

1990

ON Technology, Inc. released On Location, the first local search utility for Macs, a Desk Accessory anticipating many of the features to come in Spotlight 15 years later. This indexed text found in the data fork of files, using format-specific importer modules to access those written by Microsoft Word, WordPerfect, MacWrite and other apps of the day. Those files and their indexed contents were then fully searchable. This required System Software 6.0 or later, and a Mac with a hard disk and at least 1 MB of RAM. It was developed by Roy Groth, Rob Tsuk, Nancy Benovich, Paul Moody and Bill Woods.

1991

Version 2 of On Location was released. ON Technology was later acquired by Network Corporation, then by Symantec in 2003.

1994

AppleSearch was released, and bundled in Workgroup Servers. This was based on a client-server system running over AppleShare networks. September’s release of System Software 7.5 introduced a local app Find File, written by Bill Monk.

1998

Sherlock was released in Mac OS 8.5. This adopted a similar architecture to AppleSearch, using a local service that maintained indexes of file metadata and content, and a client app that passed queries to it. This included remote search of the web through plug-ins working with web search engines, as they became available.

Early patent applications were filed by Apple’s leading engineers who were working on Sherlock, including US Patent 6,466,901 B1 filed 30 November 1998 by Wayne Loofbourrow and David Cásseres, for a Multi-language document search and retrieval system.

1999

Sherlock 2 was released in Mac OS 9.0. This apparently inspired developers at Karelia Software to produce Watson, ‘envisioned as Sherlock’s “companion” application, focusing on Web “services” rather than being a “search” tool like Sherlock.’

2000

On 5 January, Yan Arrouye and Keith Mortensen filed what became Apple’s US Patent 6,847,959 B1 for a Universal Interface for Retrieval of Information in a Computer System. This describes the use of multiple plug-in modules for different kinds of search, in the way that was already being used in Sherlock. Drawings show that it was intended to be opened using an item on the right of the menu bar, there titled [GO-TO] rather than using the magnifying glass icon of Sherlock or Spotlight. This opened a search dialog resembling a prototype for Spotlight, and appears to have included ‘live’ search conducted as letters were typed in.

2001

Karelia Software released Watson.

2002

Mac OS X Jaguar brought Sherlock 3, which many considered had an uncanny resemblance to Watson. That resulted in acrimonious debate.

2005

In preparation for the first Intel Macs, Mac OS X 10.4 Tiger, released in April 2005, introduced Spotlight as a replacement for Sherlock, which never ran on Intel Macs.

Initially, the Spotlight menu command dropped down a search panel as shown here, rather than opening a window as it does now.

2006

On 4 August, John M Hörnkvist and others filed what became US Patent 7,783,589 B2 for Inverted Index Processing, for Apple. This was one of a series of related patents concerning Spotlight indexing. Just a week later, on 11 August, Matthew G Sachs and Jonathan A Sagotsky filed what became US Patent 7,698,328 B2 for User-Directed search refinement.

A Finder search window, precursor to the modern Find window, is shown in the lower left of this screenshot taken from Tiger in 2006.

2007

Spotlight was improved in Mac OS 10.5 Leopard, in October. This extended its query language, and brought support for networked Macs that were using file sharing.

This shows a rather grander Finder search window from Mac OS X 10.5 Leopard in 2009.

2014

Search attributes available for use in the search window are shown here in OS X 10.9 Mavericks, in 2014.

In OS X 10.10 Yosemite, released in October, web and local search were merged into ‘global’ Spotlight, the search window that opens using the Spotlight icon at the right end of the menu bar, accompanied by Spotlight Suggestions.

2015

John M Hörnkvist and Gaurav Kapoor filed what was to become US Patent 10,885,039 B2 for Machine learning based search improvement, which appears to have been the foundation for Spotlight Suggestions, in turn becoming Siri Suggestions in macOS Sierra. Those were accompanied by remote data collection designed to preserve the relative anonymity of the user.

spotlighticloud

This shows a search in Global Spotlight in macOS 10.12 Sierra, in 2017.

c 2019

Apple acquired Laserlike, Inc, whose technology (and further patents) has most probably been used to enhance Siri Suggestions. Laserlike had already filed for patents on query pattern matching in 2018.

I’m sure there’s a great deal more detail to add to this outline, and welcome any additional information, please.

4 August 2025: I’m very grateful to Joel for providing me with info and links for On Location, which I have incorporated above.

The Dutch Golden Age: Introduction

By: hoakley
1 August 2025 at 20:04

Between the Middle Ages and the twentieth century there have been three periods in which European painting has changed dramatically: in the Renaissance, the Dutch Golden Age, and the nineteenth century. Of those, the Renaissance is usually viewed as the most important. In this series, I make the case for paintings of the Dutch Golden Age being more revolutionary than those of the Renaissance, and bringing greatest change.

The Low Countries, covering what’s currently the Netherlands, Belgium, Luxembourg and parts of north-eastern France, had been a patchwork of small duchies and other states under the overall rule of the Holy Roman Emperor. In 1568-1579, seven of the more northerly provinces revolted to form their own Dutch Republic with the Union of Utrecht.

Fresheneesz, Map of the Low Countries, 1556-1648 (2006). Image by Fresheneesz, via Wikimedia Commons.

These are shown in red, orange and yellow in this map. Centres of art in the Dutch Republic included The Hague, its de facto capital, Utrecht, Leiden, Delft, Harlem, and Amsterdam. To the south were the lands composing the Spanish Netherlands, notably Flanders and Brabant, including the cities of Antwerp and Brussels. Thus, Peter Paul Rubens who worked from his workshop in Antwerp until his death in 1640 was Flemish, while Rembrandt who was brought up in Leiden and worked in Amsterdam until his death in 1669 was one of the leading artists of the Dutch Republic.

Although the Dutch Republic existed between 1579-1795, the period known as its Golden Age is generally agreed as ending in around 1672, with the French invasion, and its start in art is usually delayed to around 1600. During that period of seventy years the provinces flourished, with extensive colonies overseas and rich trade with them and throughout Europe. The population of 1 to 1.5 million grew prosperous, with rising disposable income.

Society was liberal, with a high degree of religious tolerance and high immigration. Religious and ethnic minorities who were being oppressed in other parts of Europe were welcomed in the Republic, and the city of Amsterdam became a centre for migrants. This encouraged an increasingly learned society, with innovative science and academic institutions, rising literacy, and flourishing arts.

Paintings became popular possessions across much of Dutch society, and were sold in the first art fairs and by dealers, rather than being commissioned through a system of patronage. Few wall paintings were made in this period, and paintings of the Dutch Golden Age are almost exclusively ‘easel’ paintings, most of them relatively small so they didn’t require a large mansion for their exhibition.

Training of painters remained based on apprenticeships in workshops, and there was no academy system to stifle creativity. Once trained, masters joined their local Guild of Saint Luke and were able to establish their own workshop. Prices remained low so paintings were affordable by almost everyone. Production was extraordinary, with estimates of more than a million paintings being produced in a twenty-year period, and possibly as many as five million in the whole period of seventy years.

This resulted in the rapid development of new genres and themes in addition to those established by the Renaissance, and this is probably the most enduring effect of the Dutch Golden Age on European painting.

Portraits extended beyond those of single patrons or their close families.

rembrandtanatomylesson
Rembrandt Harmenszoon van Rijn (1606–1669), The Anatomy Lesson of Dr. Nicolaes Tulp (1632), oil on canvas, 169.5 x 216.5 cm, Koninklijk Kabinet van Schilderijen Mauritshuis, The Hague, The Netherlands. Wikimedia Commons.

Rembrandt painted his Anatomy Lesson of Dr. Nicolaes Tulp in 1632, as an early commission soon after his arrival in Amsterdam. It’s a group portrait of distinguished members of the Surgeons’ Guild in their working environment. Another novel sub-genre was the group portrait of a section of the local militia, best-known now from Rembrandt’s huge Night Watch from 1642.

Painting other humans was extended to cover their livestock and other animals.

potterbull
Paulus Potter (1625–1654), The Bull (1647), oil on canvas, 235.5 x 339 cm, Koninklijk Kabinet van Schilderijen Mauritshuis, The Hague. Wikimedia Commons.

Paulus Potter, who became a member of the Guild of Saint Luke in Delft in 1646 founded the new genre of animal painting with his nearly life-size portrait of The Bull the following year. Beyond the animals here is the church of Rijswijk, between Delft and The Hague.

The tentative landscapes that had started to appear in the Renaissance flourished into what was probably the most popular genre of all.

vangoyendordrecht
Jan Josefsz. van Goyen (1596-1656), View of Dordrecht with the Grote Kirk Across the Maas (1644), oil on oakwood, 64.8 x 96.8 cm, Walker Art Gallery, Liverpool, England. Wikimedia Commons.

Dutch landscape artists quickly realised that, even if they had relatively little earth and water to depict, the heavens above could be equally interesting. Horizons fell rapidly down their paintings, as seen in Jan van Goyen’s View of Dordrecht with the Grote Kirk Across the Maas from 1644.

vanruisdaelhaarlembleaching
Jacob van Ruisdael (1628/1629–1682), View of Haarlem with Bleaching Fields (c 1665), oil on canvas, 62.2 x 55.2 cm, Kunsthaus Zürich, Zürich, Switzerland. Wikimedia Commons.

Some painters, including Jacob van Ruisdael, turned their canvases to make portraits of towering clouds, as in his View of Haarlem with Bleaching Fields from about 1665. The distant town of Haarlem with its monumentally large church of Saint Bavo – works of man – is dwarfed by these high cumulus clouds, the works of God. This motif proved so popular that Van Ruisdael painted many variants of the same view, making it now one of the most widespread landscapes across the galleries of Europe.

vandeveldebeachscheveningen
Adriaen van de Velde (1636–1672), The Beach at Scheveningen (1658), oil on canvas, 52.6 x 73.8 cm, Gemäldegalerie Alte Meister, Kassel, Germany. Wikimedia Commons.

Although Adriaen van de Velde from Amsterdam went on to paint farm animals, his early beach scenes, including The Beach at Scheveningen (1658), broke new ground that a century earlier would have seemed inconceivable in a painting. Others turned their attention to the rapidly growing cities.

Gerrit Adriaensz Berckheyde, Groote Market in Haarlem, Amsterdam, 1673, oil on panel, 42 x 61 cm, Hermitage Museum, St Petersburg. Wikimedia Commons. Shadows give strong depth cues.
Gerrit Adriaensz Berckheyde (1638-1698), Groote Market in Haarlem, Amsterdam (1673), oil on panel, 42 x 61 cm, Hermitage Museum, St Petersburg. Wikimedia Commons.

Gerrit Berckheyde’s view of Groote Market in Haarlem, Amsterdam from 1673 shows one the largest of the city’s marketplaces at the end of the Golden Age.

Paintings of the Flemish Renaissance had often explored the optical properties of surfaces. These continued in the development of another new genre, that of still life.

peeterscheesesalmondspretzels
Clara Peeters (fl 1607-1621), Still Life with Cheeses, Almonds and Pretzels (c 1615), oil on panel, 34.5 x 49.5 cm, Koninklijk Kabinet van Schilderijen Mauritshuis, The Hague, The Netherlands. Wikimedia Commons.

Clara Peeters trained in Antwerp, then painted an outstanding series of still lifes in the Dutch Republic. Among those is her still life with Cheeses, Almonds and Pretzels from about 1615, a celebration of the very earthly sensuous pleasures of food.

Ambrosius Bosschaert (1573–1621), Flower Still Life (1614), oil on copper, 30.5 x 38.9 cm, J. Paul Getty Museum, Los Angeles, CA. Wikimedia Commons.

Ambrosius Bosschaert painted this Flower Still Life in oil on copper in 1614. At first its eclectic mixture of different flowers and flying insects might appear haphazard. However, the flowers include carnation, rose, tulip, forget-me-nots, lilies of the valley, cyclamen, violet and hyacinth, which could never (at that time) have been in bloom at the same time. The butterflies, bee and dragonfly are as ephemeral as the flowers around them, suggesting that this has an underlying vanitas theme.

baillyvanitas
David Bailly (1584–1657), Self-Portrait with Vanitas Symbols (1651), oil on panel, 65 x 97.5 cm, Museum De Lakenhal, Leiden, The Netherlands. Wikimedia Commons.

The son a of Flemish immigrant, David Bailly, who lived and painted in Leiden, painted this Self-Portrait with Vanitas Symbols in 1651, with its multiple portraits referring to the past. The figure shows him as a much younger man, holding the maulstick he used in painting. His actual self-portrait at the time is in the painting he is holding with his left hand. Next to that is a painting of his wife, who had already died, and a ghostly image of her is projected onto the wall behind the wine glass.

Gathered in front of the artist are ephemera and other signs of vanitas: the snuffed-out candle, a glass of wine, flowers, and soap bubbles, together with a string of pearls and a skull. If that message is not clear enough, he provides the quotation on a piece of paper: vanitas vanitum et omnia vanitas, together with his signature and date.

Of all the genres that flourished in the Golden Age, it was painting everyday life, now generally referred to as genre painting, that was most novel and popular.

terborchglasslemonade
Gerard ter Borch (1617–1681), The Glass of Lemonade (1655-60), oil on canvas transferred from panel, 67 x 54 cm, Hermitage Museum Государственный Эрмитаж, Saint Petersburg, Russia. Wikimedia Commons.

Long before its value in preventing scurvy was realised (in 1747), or it was carbonated even later, still cloudy lemonade had become a popular soft drink. The extensive trade links of the Dutch Republic made the drink available to the middle classes, as celebrated in Gerard ter Borch’s The Glass of Lemonade (1655-60).

A fashionably-dressed young man is helping to prepare a glass of lemonade for a young woman, who is equally open about her love of fashionable clothing. Behind her is the woman’s nurse or maid, who is having to comfort her through the excitement of the experience. They are surrounded by a contemporary Dutch interior, with the inevitable bed lurking in the dark at the right.

dehoochwomandrinkingtwomen
Pieter de Hooch (1629–after 1684), A Woman Drinking with Two Men (c 1658), oil on canvas, 73.7 x 64.6 cm, National Gallery, London. Wikimedia Commons.

It’s easy to mistake Pieter de Hooch’s A Woman Drinking with Two Men from about 1658 for a Vermeer, and like the latter he decorates the far wall with a contemporary map. The Eighty Years’ War had not long ended, and the Dutch Republic was flourishing. Discarded objects are scattered on its black-and-white tiled floor. There’s a large and empty fireplace, and above it hangs a religious painting.

I hope you’ll join me in the coming weeks as I explore how painting flourished and changed in the Dutch Golden Age.

It’s time to pick your next version of macOS

By: hoakley
1 August 2025 at 14:30

We’re now into August, Apple has released the last substantial updates to macOS before the arrival of Tahoe, so where does macOS stand now?

macOS Sequoia has just had its last scheduled update to 15.6 before it’s expected to enter the first of its two years of security-only updates. The main benefits of this update are an important fix to restoring Macs in DFU mode using either the Finder or Apple Configurator, and its long list of security updates, 81 vulnerabilities in total. If you’re already running Sequoia, it’s an important update.

Sequoia is fully supported on the following Macs:

  • iMac 2019, all T2 iMacs including iMac Pro from 2017
  • MacBook Air 2020 and later, but not 2018 or 2019
  • MacBook Pro 2018 and later (all T2 models)
  • Mac mini 2018 and later
  • Mac Pro 2019 and later
  • all Apple silicon Macs.

macOS Sonoma is now entering its second and final year of security-only updates, and in the latest to 14.7.7 has around 50 vulnerabilities fixed. Although that’s a lot less than in 15.6, those are still important if you’re staying with Sonoma for the time being.

Sonoma is fully supported on the following Macs:

  • iMac 2019
  • all Intel Macs with T2 chips
  • all Apple silicon Macs.

macOS Ventura has probably had the last of its security updates, although in the past Apple has sometimes released one more update in the autumn/fall. Its latest update to 13.7.7 has around 41 vulnerabilities fixed, making it essential if your Mac can’t be upgraded to Sonoma or later. If your Mac is supported by Sonoma, now is the time to plan upgrading it so that it can continue receiving security updates from September.

Tahoe

macOS Tahoe has now entered the public phase of its beta-testing, with the fourth version provided to developers. While much of the debate surrounds its Liquid Glass and new look, it does bring new features such as a Phone app to Macs. So far it appears internally stable and doesn’t look likely to be delayed for major bugs to be wrangled.

Tahoe is fully supported on the following Macs:

  • MacBook Pro 16-inch 2019, and 13-inch 2020 with four Thunderbolt ports,
  • iMac 2020,
  • Mac Pro 2019,
  • all Apple silicon Macs.

Although the first couple of versions of Tahoe presented themselves to older apps and scripts as macOS 16, since beta 3 it has been thoroughly macOS 26 regardless of how it’s asked. As this hasn’t been mentioned in Apple’s release notes, it’s unclear what it will do in the final release. If you have apps or scripts that could break when they discover the version of macOS running is 26, now is the time to send Apple feedback to make your case for it to report as version 16.

Older Macs

Open Core Legacy Patcher, OCLP, is being updated in the hope that it will be able to run macOS Tahoe on at least some unsupported models, although that probably won’t be available until the end of this year. You can follow progress here, where you’ll see some of the challenges its developers are facing. Another site worth watching is Mr. Macintosh on YouTube.

Next stop, probably in September, should be:

  • macOS 26.0 Tahoe
  • macOS 15.7 Sequoia
  • macOS 14.8 Sonoma

if Apple remains consistent with previous numbering. Farewell to Ventura, old friend!

Paintings of stave churches

By: hoakley
31 July 2025 at 19:30

At one time, many churches across northern Europe were constructed using load-bearing wooden posts termed staves, hence are known as stave churches. It’s thought that in Norway alone there used to be as many as two thousand. As they were built of wood rather than stone, fire was a danger, and between those that burned down and others that were replaced by more modern structures, there are now only thirty-one original stave churches remaining, all except three being in Norway. They have seldom been painted, and in this article I show paintings known to depict real churches from two Norwegian artists, and a relative from the Carpathian Mountains in Ukraine.

dahlkaupanger
Johan Christian Dahl (1788–1857), Landscape in Kaupanger with a Stave Church (1847), oil on canvas, 42.5 x 66 cm, Private collection. Wikimedia Commons.

JC Dahl’s Landscape in Kaupanger with a Stave Church from 1847 employs a little deception as the real church at Kaupanger had been modified structurally and looked quite different at the time. He therefore substituted the stave church at Vang, which had recently been dismantled.

Vang stave church had been built in the Middle Ages, and by 1832 was too small and in urgent need of structural repair. The local council had decided to demolish and replace it, and in 1839 JC Dahl intervened to save it. The artist bought the church at a public auction in 1841, and persuaded the then Crown Prince Friedrich Wilhelm of Prussia to pay for the building’s removal, transportation and reconstruction in the remote village of Karpacz Górny in the Giant Mountains in Silesia. It has remained there ever since, serving a Polish Lutheran community, and attracts nearly a quarter of a million visitors each year.

The Norwegian artist Harriet Backer painted interiors of several Norwegian churches, including the stave church at Uvdal. This was built just after 1168, on the remains of an earlier church. It was expanded during the Middle Ages, and again in 1684, 1722 and 1819. Much of its internal decoration was undertaken in 1656, and extended as the building grew. It was taken out of regular use in 1893, and when Backer visited it services took place during the summer. It remains one of the finest decorated churches in northern Europe, and has been lovingly preserved.

Harriet Backer (1845–1932), Uvdal Church and Cemetery (1906), oil on canvas, 57 x 85 cm, Private collection. Image by gwpa, via Wikimedia Commons.

Backer’s external view of Uvdal Church and Cemetery from 1906 is a faithful account of what from the outside looks quite a plain building. But once you get inside it, you enter another world.

backeruvdal
Harriet Backer (1845–1932), Uvdal Stave Church (1909), media not known, 115 x 135 cm, location not known. Wikimedia Commons.

Backer’s Uvdal Stave Church from 1909 does its rich decoration justice. Her brilliantly coloured view of the interior is lit from windows behind its pulpit, throwing the brightest light on the altar. The walls and ceiling are covered with images and decorations, which she sketches in, manipulating the level of detail to control their distraction. Slightly to the left of centre the main stave is decorated with rich blues, divides the canvas, but affords us the view up to the brightly lit altar. To the left of the stave a woman, dressed in her Sunday finest, sits reading outside the stalls.

Harriet Backer (1845–1932), The Altar at Uvdal Stave Church (1909), oil on canvas, 80.5 x 86 cm, KODE Art Museum, Bergen, Norway. Wikimedia Commons.

The Altar at Uvdal Stave Church, painted the same year, shows the altar from one side, with its painting of the Last Supper hanging above the table, and more decorative work over the walls and ceiling. These have been painstakingly restored in the years since.

Although externally they may appear similar, wooden churches in the Carpathian Mountain region of Ukraine and Poland are structurally distinct, as they don’t rely on staves, but are built from horizontal logs.

axentowiczhutsulfuneral
Teodor Axentowicz (1859–1938), Pogrzeb huculski (Hutsul Funeral) (1882), oil on canvas, 86 x 115 cm, Private collection. Wikimedia Commons.

At the end of his training in Munich, Teodor Axentowicz paid his first visit to the lands of the Hutsul people, in the Carpathian Mountains of Ukraine. His oil painting of a Hutsul Funeral from 1882 shows the Hutsul in the rigours of winter, the coffin being towed on a sledge behind a cart, and the mourners clutching candles as they make their way through the snow to the wooden tserkva in the distance.

Further reading

Stave church on Wikipedia
Uvdal Stave Church, Wikipedia
Tserkvas of the Carpathians, Wikipedia.

What does RunningBoard do? 4 Assertions

By: hoakley
31 July 2025 at 14:30

This week’s dive into RunningBoard tackles one of the central questions: this subsystem repeatedly uses the term assertion, but what are these assertions, and how does RunningBoard handle them?

In computing, assertions may have their origin in hardware verification languages like Verilog, where they’re used to state required conditions in declarative form. They appear to have entered macOS through the background service assertiond, which made a name for itself as a killer of processes and apps. Power assertions have been noted in the log and elsewhere for at least the last decade, and are mentioned in IOPMLib, part of IOKit. Since macOS Catalina, assertions have been at the centre of RunningBoard, which remains essentially undocumented.

Developer app

To get a better idea of how assertions are used, I launched Apple’s Developer app on a Mac mini M4 Pro running macOS 15.5, and followed log entries for a period of over 14 seconds from the start of the launch process. Although RunningBoard’s job description records this app’s platform as 6, typical of a Catalyst app, in other log entries it’s claimed not to be a Catalyst app.

At an arbitrary start time of 01.126 seconds, LaunchServices decided to launch this app initially through CoreServicesUIAgent, which 0.04 seconds later requested RunningBoard to execute the launch request. This eventually led to a connection being initialised to FrontBoard Scene Manager, where the app was registered as a new scene, and activated.

Example assertion

FrontBoard set the process visibility to Foreground:
01.593239 com.apple.FrontBoard [app<application.developer.apple.wwdc-Release.9312198.9312203~>:2946] Setting process visibility to: Foreground

RunningBoard then announced it was acquiring a new assertion, giving its descriptor and the PID of the target process
01.593248 com.apple.runningboard Acquiring assertion: <RBSAssertionDescriptor| "com.apple.frontboard.after-life.subordinate" ID:(null) target:2946>
01.593288 com.apple.runningboard PERF: Received request from [osservice<com.apple.uikitsystemapp(501)>:748] (euid 501, auid 501) (persona (null)): acquireAssertionWithDescriptor:error:
01.593289 runningboardd acquireAssertionWithDescriptor

A fuller description followed, including the RunningBoard ID, and the attributes of the assertion
01.593324 com.apple.runningboard Acquiring assertion targeting [app<application.developer.apple.wwdc-Release.9312198.9312203(501)>:2946] from originator [osservice<com.apple.uikitsystemapp(501)>:748] with description <RBSAssertionDescriptor| "com.apple.frontboard.after-life.subordinate" ID:424-748-2228 target:2946 attributes:[
<RBSDomainAttribute| domain:"com.apple.frontboard" name:"AfterLife-Subordinate" sourceEnvironment:"(null)">
]>

This assertion was made active, and RunningBoard stated how many assertions were currently targeting that process
01.593343 com.apple.runningboard Assertion 424-748-2228 (target:[app<application.developer.apple.wwdc-Release.9312198.9312203(501)>:2946]) will be created as active
01.593389 com.apple.runningboard app<application.developer.apple.wwdc-Release.9312198.9312203(501)> is now targeted by 11 assertions

That triggered a state update for the process
01.593400 runningboardd state update

In this case, RunningBoard couldn’t do anything, so left the process’s assertions as they were
01.593461 com.apple.runningboard _checkForSuspendableAssertionCycle for app<application.developer.apple.wwdc-Release.9312198.9312203(501)> bailing out since it's not holding a suspendable assertion
01.593466 com.apple.runningboard Removing 0 assertions

This did, though, alter the inheritance of existing assertions
01.593556 com.apple.runningboard Process: [app<application.developer.apple.wwdc-Release.9312198.9312203(501)>:2946] has changes in inheritances: {(
<RBSInheritance| environment:(none) name:com.apple.launchservices.userfacing origID:424-391-2215 0>,
<RBSInheritance| environment:(none) name:com.apple.launchservices.userfacing origID:424-391-2215 0>,
<RBSInheritance| environment:(none) name:com.apple.launchservices.userfacing origID:424-391-2214 0>,
<RBSInheritance| environment:(none) name:com.apple.frontboard.visibility origID:424-420-2216 0>
)}

This completed the acquisition of this assertion, and the process’s new state was calculated
01.593564 com.apple.runningboard Finished acquiring assertion 424-748-2228 (target:[app<application.developer.apple.wwdc-Release.9312198.9312203(501)>:2946])
01.593741 com.apple.runningboard Calculated state for app<application.developer.apple.wwdc-Release.9312198.9312203(501)>: running-active (role: UserInteractiveFocal) (endowments: <private>)

This was all accomplished in around 0.0005 seconds. FrontBoard then continued processing the app’s scene
01.593743 com.apple.FrontBoard Ingesting properties from UIApplicationSceneSettings...

RunningBoard assertion numbers are of the form 424-748-2228, where the second group 748 is the PID of the source of the assertion, and the third group 2228 is a sequential number.

Assertions recorded

  • Assertion 424-620-2211 for LaunchServices to launch the app. For this, RunningBoard created its job description with its process ID of 2946, assigned it memory limits, stated the process will be managed, and stated it was running-active with a role of UserInteractive.
  • Assertion 424-424-2212 RunningBoard Underlying Assertion. RunningBoard stated the process will be created as active, calculated its processStartTime, created a new RunningBoard Coalition with an ID of 4460, set its Jetsam priority to 0 (the lowest priority over memory use), and set its Darwin GPU to “deny”. Its state was given as running-interactive-NotVisible with a taskState of 4.
  • Assertion 424-391-2213 foregroundApp 2946. This changed its role to UserInteractiveNonFocal, and was repeated in assertion 424-391-2214.
  • Assertion 424-391-2215 frontmost 2946. RunningBoard changed it to running-active-NotVisible, with a Jetsam priority of 100 (extremely unlikely to be killed to free memory), and Darwin GPU to “allow”.
  • Assertion 424-391-2217 LaunchServices notification. It was changed to running-active with a role of UserInteractiveFocal, handshaking took place with the process, and the launch request was recorded. Slightly later, RunningBoard announced it had started “death monitoring” of the process, in case its launch request was denied and the process was killed.
  • Assertion 424-748-2218 FrontBoard Bootstrap Background. Following this, the process acquired its first power assertion ID 34241, outside of RunningBoard.
  • Assertion 424-2946-2219 Shared Background Assertion
  • Assertion 424-655-2220 File Coordination Claim, the first of a series of five similar assertions. For each, RunningBoard recorded Prevent Task Suspend, Prevent Task Throttle Down. After the last it checked for a Suspendable Assertion Cycle, then removed several assertions held for the process.
  • Assertion 424-2946-2227 App Nap adapter assertion. RunningBoard then enabled and configured AppNap for the process, and set the AppNap state.
  • Assertion 424-748-2228 FrontBoard AfterLife-Subordinate. This is the assertion detailed above.
  • Assertion 424-748-2229 FrontBoard Visibility Workspace Foreground Focal. With this, RunningBoard set the process to running-active-Visible with taskState 4.
  • Assertion 424-420-2230 App Drawing. Following that, storekitagent was running as PID 2947, accompanying the Developer app.
  • Assertion 424-2946-2232 CFNetwork StorageDB.
  • Assertion 424-2946-2233 System Animation Fence.
  • Assertion 424-420-2234 App Visible. Following that, uikitsystemapp was drawing, presumably for the Developer app.
  • Assertion 424-420-2236 FuseBoard Process Window State Visible.
  • Assertion 424-2946-2238 system animation fence, which was repeated a total of five times.
  • Assertion 424-2946-2244 Shared Background Assertion 1, following which were two more assertions for system animation fence.
  • Assertion 424-2946-2247 com.apple.CFNetwork.StorageDB again.
  • Assertion 424-655-2248 File coordination claim, repeated in Assertion 424-655-2250.

All these assertions were completed in 14 seconds.

Reading RunningBoard

As shown in the series of assertions recorded in the log for the Developer app, RunningBoard provides a detailed account of milestones through the launch and early running of this app, covering much other than its security and TCC activity.

This starts with a job description containing a great deal of useful information about the app, when it’s neither visible nor focal. At that stage it’s given a minimal Jetsam priority, putting it in the front line to be forcibly quit if memory was short, and it’s denied access to the GPU. As launch proceeds, its Jetsam priority is raised to 100 and it’s allowed GPU access. Its role is then changed to UserInteractiveFocal, its window management is handled by FrontBoard and it becomes visible, and able to undergo AppNap. Two supporting services are engaged, storekitagent to handle its data, and uikitsystemapp to draw its interface.

Once the novelty of RunningBoard had worn off, I had come to consider its incessant chatter in the log as a distraction. However, a log extract obtained with the subsystem set to com.apple.runningboard provides a detailed account of events during an app’s life cycle, without the nuisance of privacy censorship, or the app having to make its own log entries.

Key points for close reading of the log

  • Set a predicate for obtaining log entries for the com.apple.runningboard subsystem, and initially filter entries on Acquiring assertion in the Messages field.
  • Identify the Process ID of interest.
  • Track assertion descriptions, giving the reason for each assertion.
  • Note assertion IDs, and interpret them with the aid of the PID given in their second number field.
  • Follow assertions for linked processes through their PIDs.

❌
❌