Reading view

There are new articles available, click to refresh the page.

Interiors by design: Studios, history and light

The revival of paintings of interiors in the middle of the nineteenth century flourished in several ways. For some, it was an opportunity to reveal their studio, and perhaps provide the viewer with a little insight into the artist. For others it was a way to recreate interiors of the past, or to deliver open-ended narrative.

stevenspaintermodel
Alfred Stevens (1823–1906), The Painter and His Model (1855), oil on canvas, 92.4 x 77.3 cm, Walters Art Museum, Baltimore, MD. Wikimedia Commons.

The Painter and His Model (1855) shows one of Alfred Stevens’ young and fashionable models leaning over his shoulder, as he works on her portrait.

stevensthepsyche
Alfred Stevens (1823–1906), The Psyché (My Studio) (c 1871), oil on panel, 73.7 x 59.1 cm, Princeton University Art Museum, Princeton, NJ. Wikimedia Commons.

Stevens was an early enthusiast for the Japonisme that swept Paris. Insights into his life such as his The Psyché (My Studio) (c 1871) repay closer reading. The French word psyché refers to the full-length mirror seen in this apparently informal view of Stevens’ studio, the name deriving from the legend of Cupid and Psyche.

For this painting, Stevens doesn’t actually use a proper psyché, but has mounted a large mirror on his easel, perhaps to suggest that art is a reflection of life. A Japanese silk garment is draped over the mirror to limit its view to the model, breaking up her form in an unnatural way. At the lower right, the artist indicates his presence with a cigarette, and there is a small parrot who might imitate his speech. The studio is littered with Japanese prints and the artist’s canvases, and one painting on the wall is a study for his early What They Call Vagrancy, lacking most of its figures.

fredericstudiointerior
Léon Frédéric (1856–1940), Studio Interior (1882), media and dimensions not known, Museum of Ixelles, Ixelles, Belgium. Image by Sailko, via Wikimedia Commons.

Léon Frédéric’s extraordinary Studio Interior from 1882 appears to be a fantasy self-portrait of the artist naked with a skeleton on his lap. The latter has been dressed up in undergarments with a long starry veil over them. His palette and brushes are at the lower right, and his clothes, including a top hat, are draped on chairs.

almatademasundaymorning
Lawrence Alma-Tadema (1836–1912), Sunday Morning (c 1871), oil on wood, 40 x 33 cm, The Tate Gallery (Bequeathed by R.H. Prance 1920), London. © The Tate Gallery and Photographic Rights © Tate (2016), CC-BY-NC-ND 3.0 (Unported), http://www.tate.org.uk/art/artworks/alma-tadema-sunday-morning-n03527

Lawrence Alma-Tadema’s Sunday Morning from about 1871 goes back to the interior of a house in the Netherlands in the seventeenth century. The mistress of the house has just had a baby, and her midwife is holding that baby as she looks out into the daylight. This is a smaller version of a previous painting by Alma-Tadema titled A Birth Chamber, Seventeenth Century (1868), that extended the view to include the mother in bed.

tenkatemusicroom
Herman Frederik Carel ten Kate (1822–1891), The Music Room (1871), oil on panel, 65.3 x 98 cm, location not known. Wikimedia Commons.

The Music Room, painted by Herman Frederik Carel ten Kate in 1871 using oils, shows the fine quality of his conservative oil paintings. It’s worth bearing in mind that at this time the French Impressionists had already established their very different style, and this work is more typical of paintings from a century earlier. While this music room features a couple singing to the accompaniment of the piano, and there are musical instruments in the centre foreground, everyone else in the room is engaged in decidedly non-musical activities.

tissotinterestingstory
James Tissot (1836-1902), An Interesting Story (c 1872), oil on wood panel, 59.7 x 76.6 cm, National Gallery of Victoria, Melbourne, Australia. Wikimedia Commons.

In 1872, James Tissot embarked on a series of paintings and engravings set in a tavern on the bank of the River Thames in London, probably in Rotherhithe or Wapping. The first to be exhibited was his An Interesting Story (c 1872). It’s the late 1700s, and an old soldier is telling one or more pretty young women interminable and incomprehensible stories about his military career, with the aid of charts spread out on the table. Here, the story is dubbed ‘interesting’ in irony.

degascottonoffice
Edgar Degas (1834–1917), A Cotton Office in New Orleans (1873), oil on canvas, 74 × 92 cm, Musée des beaux-arts de Pau, Pau, France. Wikimedia Commons.

Edgar Degas painted A Cotton Office in New Orleans in 1873, when he visited his mother’s family in New Orleans. It features several family portraits, and has a narrative background, showing a cotton buyer visiting the Musson cotton merchants. The elderly gentleman wearing a top hat, in the foreground, is Michel Musson, Degas’ uncle, and a partner in the business. Edgar Degas’ brothers Achille and René are slightly further back on the left (leaning idly against the open window), and sat reading a newspaper, respectively. Standing at the desk on the right is John Lavaudais, the cashier. The figures echo and repeat one another across and into the depths of the room, in dress, posture, and appearance.

While almost everyone else in the painting is lounging around, business is being transacted between the buyer and broker on either side of the table covered with the cotton, the broker being at the centre of the canvas. This small pool of commerce within an image dominated by idleness and dolce far niente reflects the situation of Degas and his family at the time.

johnsonnotathome
Eastman Johnson (1824–1906), Not at Home (c 1873), oil on laminated paperboard, 67.1 x 56.7 cm, Brooklyn Museum, New York, NY. Wikimedia Commons.

At about the same time in New York, the American genre artist Eastman Johnson painted a narrative work that only makes any sense when you know its title of Not at Home (c 1873), showing the interior of the artist’s home. Without those three words of the title, all you see is a well-lit and empty parlour, and the presumed mistress of the house starting up the stairs, in relative gloom in the foreground. At the right is a child’s push-chair, parked up and empty.

Those three words, of course, are the classic excuse offered in someone’s absence – “I am sorry, but the Mistress is not at home” – even when they are very much at home, but simply don’t want to see the visitor. So the title could imply that the woman is ascending the stairs in order not to see visitors. Or, if we know that this is the artist’s home, could it be that it’s Johnson himself who’s not at home?

beroudstaircaseopera
Louis Béroud (1852–1930), The Staircase of the Opéra Garnier (1877), media and dimensions not known, Musée Carnavalet, Paris. Wikimedia Commons.

Interiors don’t have to be domestic, as demonstrated by Louis Béroud’s early Staircase of the Opéra Garnier from 1877.

At about this time, Nordic artists started to realise the potential of interiors as explorations of light, led by the work of Harriet Backer.

backerfarewell
Harriet Backer (1845–1932), Avskjeden (The Farewell) (1878), oil on canvas, 81.5 x 89 cm, Nasjonalgalleriet, Oslo. Wikimedia Commons.

Avskjeden (The Farewell) (1878) was probably Backer’s first really successful painting. It shows a grown daughter, left of centre, bidding farewell to her family as she leaves home. Backer probably painted this from her own emotional experience, as her father died in 1877, and she had informed her mother that she didn’t intend returning home, but to pursue her painting career instead.

backersolitude
Harriet Backer (1845–1932), Solitude (c 1880), media and dimensions not known, Private collection. The Athenaeum.

When she travelled to France, her style began to loosen up: another early success was her Solitude (c 1880), her first painting accepted for the Salon in 1880. This was one of her first interiors featuring limited light, whose play was to become a dominant theme in her art.

backerblueinterior
Harriet Backer (1845–1932), Blue Interior (1883), oil on canvas, 84 x 66 cm, Nasjonalgalleriet, Oslo. Wikimedia Commons.

Backer’s Blue Interiør from 1883 develops the theme of the play of light from the window on the person and contents of the interior of the room. Here the composition is complicated by the presence of a large mirror at the left.

Commemorating the centenary of the death of Hans Thoma: 2, from 1886

One century ago today, 7 November 1924, the German painter Hans Thoma died in Karlsruhe, Germany. This is the second of two articles commemorating his life and art. Prior to 1886, he had struggled to get the critical attention and patronage that he thought his work deserved.

thomaapollomarsyas
Hans Thoma (1839–1924), Apollo and Marsyas (1886), oil on panel, 45 × 55 cm, location not known. Wikimedia Commons.

Apollo and Marsyas (1886) is his painting of the grisly myth of the contest between the god Apollo and the satyr Marsyas, playing the aulos, a type of double oboe commonly referred to as a flute. This was judged by the nine Muses, and resulted in the horrific flaying of the satyr, a popular motif for the great classical narrative painters. Thoma chooses to show the contest itself, with Marsyas playing, and only three of the Muses in the background. Although not a strongly narrative painting, as it makes no reference to the outcome, this was probably appreciated by contemporary viewers.

thomaeightdancingwomen
Hans Thoma (1839–1924), Eight Dancing Women with Bird Bodies (1886), oil on panel, 38 × 58.5 cm, location not known. Wikimedia Commons.

Eight Dancing Women with Bird Bodies (1886) is a more puzzling mythological painting. The best-known women with bird bodies were the sirens, who range in number from two to five. In another painting showing the sirens trying to lure a passing ship, Thoma paints similar figures, suggesting these are intended to be sirens.

thomaheavyshower
Hans Thoma (1839–1924), The Sower (1886), oil on canvas, 60.5 × 73 cm, location not known. Wikimedia Commons.

The Sower in Thoma’s 1886 painting is strongly reminiscent of Jean-François Millet’s sowers, here at work in the ploughed field in the foreground. Beyond, the heavens have opened in a sudden downpour.

thomamemoriesumbria
Hans Thoma (1839–1924), Memories of Orte or Travel Memories to Orte in Umbria (1887), oil on cardboard, 51.5 × 71.5 cm, Neue Pinakothek, Munich, Germany. Wikimedia Commons.

Memories of Orte from 1887 refers to Thoma’s second visit to Italy, and this ancient town about forty miles north of Rome. Two cloaked riders are silhouetted against the glowing buildings of Orte, perched on its tuff butte above the valley of the River Tiber.

thomalonelyride
Hans Thoma (1839–1924), Lonely Ride (1889), oil on canvas, 74.1 × 62.4 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

Lonely Ride (1889) shows a mediaeval knight riding alone in full armour, through rolling, hilly countryside. This and others of his paintings suggest Thoma may have seen and been influenced by paintings of the Pre-Raphaelite movement when he visited Britain.

In 1890, Thoma’s career was transformed by his first one-man show in Munich, which brought him critical acclaim and national recognition. For the next twenty years or so, he was ranked among the leading artists in Germany.

thomasummerkarlsruhe
Hans Thoma (1839–1924), Summer (Landscape near Karlsruhe) (1891), oil on canvas, 71.1 × 88.9 cm, North Carolina Museum of Art, Raleigh, NC. Wikimedia Commons.

Summer (Landscape near Karlsruhe) (1891) shows a fine summer’s afternoon on a country track, on the plain which he must have known well.

thomawondrousbirds
Hans Thoma (1839–1924), Wondrous Birds (1892), oil on cardboard, 92.4 × 74 cm, North Carolina Museum of Art, Raleigh, NC. Wikimedia Commons.

He returned to his idiosyncratic mythology with this fascinating painting of Wondrous Birds completed in 1892. The birds shown here aren’t storks or cranes, but are based on the grey heron, a common sight across much of the countryside of Europe. There are various myths and legends associated with storks and cranes, but I’m not aware of any for the heron.

thomaspring
Hans Thoma (1839–1924), Spring (1895), oil on canvas, 113 × 87.6 cm, Los Angeles County Museum of Art, Los Angeles, CA. Wikimedia Commons.

Spring (1895) refers not to the season, but to the source of water shown here, in German, Die Quelle, the source). Thoma avoids the conventional classical treatment with an old river god, but shows a young man slaking his thirst. The woman with the lute could perhaps be a water nymph, or Naiad.

thomaspringfairytale
Hans Thoma (1839–1924), Spring Fairytale, An Allegory (1898), oil on canvas, 120 × 75 cm, location not known. Wikimedia Commons.

Thoma does refer to the season in his Spring Fairytale, An Allegory (1898), showing a woman who may have been influenced by the figure of Flora in Botticelli’s famous Primavera (c 1482). She is surrounded by meadow flowers, two small fawns, and sundry winged putti. Thoma seldom if ever depicted his putti with bird-like wings, but seems to have preferred the more unusual insect or butterfly wings, with their rich colours.

By 1899, Thoma had become associated with the Kronberg artists’ colony, and could afford to move his family into an apartment with its own studio near to the Schloss Friedrichshof in Kronberg im Taunus, outside Frankfurt. He was appointed professor at the academy in Karlsruhe (to the south of Frankfurt), and director of the Kunsthalle in that city, posts he held until he retired in 1920.

thomaselfportrait
Hans Thoma (1839–1924), Self-portrait in Front of a Birch Grove (1899), oil on canvas, 91 × 75.5 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

Thoma’s Self-portrait in Front of a Birch Grove (1899) is his best-known self-portrait, and probably marked his sixtieth birthday that year.

thomalauterbrunner
Hans Thoma (1839–1924), The Lauterbrunnen Valley (1904), oil on canvas, 130 × 110 cm, location not known. Wikimedia Commons.

The Lauterbrunnen Valley (1904) shows one of the deepest valleys in the Swiss Alps, a gorge travelling five miles up to the spectacular Staubbach Falls, with the Eiger and other peaks beyond.

From 1905 to 1918, Thoma served in the upper chamber of the Baden State Parliament.

thomawar
Hans Thoma (1839–1924), War (1907), oil on canvas, 72 × 64 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

Prior to the First World War, like many German artists of the day including Lovis Corinth, Thoma was strongly supportive of the militarisation of Germany. His painting of War from 1907 thus seems strange, with its bleak apocalyptic vision.

thomaspringmelody
Hans Thoma (1839–1924), Spring Melody (1914), oil on canvas, 101 × 76 cm, location not known. Wikimedia Commons.

In the year that war broke out, Thoma painted Spring Melody (1914), which could be interpreted as an idealistic longing for peace, rather than a statement of nationalism.

thomalandscape
Hans Thoma (1839–1924), Landscape (1917), oil on cardboard, 80.3 × 100.3 cm, North Carolina Museum of Art, Raleigh, NC. Wikimedia Commons.

Thoma continued to paint through the war, and completed this Landscape in 1917. Then in his late seventies, this almost deserted view expresses a tranquillity that must have been wishful thinking at the time.

His eightieth birthday in 1919 was marked by a celebration organised by Ernst Oppler and Lovis Corinth. He died five years later, in 1924.

Reference

Wikipedia (in German).

Commemorating the centenary of the death of Hans Thoma: 1, to 1885

Little known today outside his native Germany, Hans Thoma (1839–1924) was a prolific painter with a distinctive style, who died a century ago, on 7 November 1924. In this article, I look at his career and a small selection of his paintings up to the time that he achieved recognition around 1885, to be concluded next week marking the anniversary of his death.

Thoma was born in the Black Forest, in Germany, and started his training as a lithographer in Basel, before turning to painting ornamental clock faces. From 1859, he studied at the academy in Karlsruhe, under Johann Wilhelm Schirmer and Ludwig Des Coudres.

thomaautumntreewiesenthal
Hans Thoma (1839–1924), Autumn Tree, Wiesenthal (c 1862-63), oil on canvas, 24.4 × 38.5 cm, location not known. Wikimedia Commons.

Autumn Tree, Wiesenthal was painted when he was still a student in Karlsruhe, in about 1862-63. It has the high chroma colours and gestural brushwork indicative of Impressionist style, at a time when Claude Monet was still painting in a tighter, realist manner.

After completing his training in 1866, Thoma moved from Karlsruhe to Basel in north-west Switzerland, then to Düsseldorf. At that time, Düsseldorf was home to one of the leading landscape painting schools in Europe, and was a significant influence on the Hudson River School in the USA, and several of its members trained there.

thomachickenfeed
Hans Thoma (1839–1924), Chickenfeed (1867), oil on canvas, 104.5 × 62 cm, Staatliche Kunsthalle Karlsruhe, Karlsruhe, Germany. Wikimedia Commons.

In Chickenfeed (1867), Thoma tackles this genre scene in a more traditional and detailed realist style.

thomainsunshine
Hans Thoma (1839–1924), In the Sunshine (1867), oil on canvas, 108 × 85 cm, Staatliche Kunsthalle Karlsruhe, Karlsruhe, Germany. Wikimedia Commons.

At first sight, Thoma’s In the Sunshine (1867) appears to show an oddly flattened face, with both the woman’s eyes visible. In fact the woman’s head is shown in profile, and what seems to be her left eye is not part of her face at all. Otherwise he has combined colour contrasts with a carefully detailed landscape.

The following year he moved to Paris, where he came to admire the work of Gustave Courbet, and the Barbizon School. He returned to Germany in 1870, where he settled in Munich, then the centre of German arts, until 1876.

thomaunderelderberry
Hans Thoma (1839–1924), Under the Elderberry (1871), oil on canvas, 74.5 × 62.5 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

Under the Elderberry (1871) is a delightful portrait of a mother and her young child, with finely detailed hair and elder flowers. His colours are softer than before, as suits this subject.

thomachildrendancingring
Hans Thoma (1839–1924), Children Dancing in a Ring (1872), oil on canvas, 161 × 115 cm , Staatliche Kunsthalle Karlsruhe, Karlsruhe, Germany. Wikimedia Commons.

These eight Children Dancing in a Ring (1872) are set in a Bavarian alpine meadow, with pastures and high mountains in the far distance.

thomasummer
Hans Thoma (1839–1924), Summer (1872), oil on canvas, 76 x 104 cm, Alte Nationalgalerie, Berlin, Germany. Wikimedia Commons.

Thoma’s painting of two lovers in Summer from 1872 returns to a more painterly style in its flowers and vegetation. It also demonstrates his inclination towards mediaeval romance and ‘faerie’ paintings, with the chain of three winged putti in the upper right.

thomasiblings
Hans Thoma (1839–1924), Siblings (1873), oil on canvas, 103 × 75 cm, Staatliche Kunsthalle Karlsruhe, Karlsruhe, Germany. Wikimedia Commons.

Siblings (1873) is an example of his domestic genre scenes. The brother sits disconsolate at the table, while his sister reads intently. By the window is a spinning wheel, the wool above it adorned with a blue ribbon.

In 1874, Thoma visited Italy for the first time.

thomachildrenandputtiring
Hans Thoma (1839–1924), Children and Putti in a Ring (1874), oil on cardboard, 34 × 26 cm, location not known. Wikimedia Commons.

Ring dancing appears again in his Children and Putti in a Ring (1874), although now the winged putti have come down from the sky to follow a young faun-like figure and a nymph. At the bottom left is a snake threatening to disrupt the scene. As with his other mythical settings, Thoma doesn’t appear to be telling a specific story, but populates his enchanted landscape with curious creatures.

thomamainebene
Hans Thoma (1839–1924), Mainebene (the Main Plain) (1875), oil on canvas, 85 × 123 cm, Neue Pinakothek, Munich, Germany. Wikimedia Commons.

Thoma’s pure landscapes include explorations of big skies and the transient effects of light, as in his Mainebene (1875), showing the plain of the River Main lit by shafts of light. At the lower left is a team ploughing.

thomapeacefulsunday
Hans Thoma (1839–1924), A Peaceful Sunday (1876), oil on canvas, 79.5 × 107 cm, Hamburger Kunsthalle, Hamburg, Germany. Wikimedia Commons.

He handles backlighting skilfully in A Peaceful Sunday (1876). An elderly couple are sat at a plain wooden table, in their urban apartment. She works at her crochet, he reads. You can almost hear the soft, measured tick of the clock which is out of sight, slowly passing their remaining years.

thomathreemermaids
Hans Thoma (1839–1924), Three Mermaids (1879), oil on canvas, 106 × 77.6 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

Three Mermaids (1879) is a complete contrast, with its raucous nudity and frolics with fish under the light of the moon. Thoma’s mermaids are remarkably human in form, lacking fishtails.

In 1878, Thoma moved to Frankfurt, where he was a close friend of the painter Wilhelm Steinhausen. The following year he visited Britain, and a year later returned to Italy.

thomatrekofgods
Hans Thoma (1839–1924), The Trek of the Gods to Valhalla (1880), oil on canvas, 74.3 × 62 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

As was popular during the nineteenth century, Thoma repurposed Nordic mythology with a more Germanic interpretation. The Trek of the Gods to Valhalla (1880) shows a scene that may have been inspired by Wagner’s Ring cycle, first performed at Bayreuth in 1876. This is the group of gods known as the Æsir riding across the bridge Bifröst, which is formed from a burning rainbow and reaches between Midgard (the realm of humans) and Asgard (the realm of the gods). The Æsir traditionally include Odin, Frigg, Thor, Baldr, and Týr. Recognisable on the bridge are Odin, holding his staff, with Frigg, and Thor with his hammer. At the left is probably Iðunn, holding an apple of her youth aloft. In Nordic mythology, this is an event foretold as part of the process of Ragnarök.

thomaseawonders
Hans Thoma (1839–1924), Sea Wonders (1881), oil on cardboard, 74 × 63 cm, Museum der bildenden Künste, Leipzig, Germany. Wikimedia Commons.

I’m not sure of the mythical background to his Sea Wonders (1881), where four boys have raised up a surface on which stands a winged putto clutching an egg. It is, nevertheless, a powerful image.

thomaholzhausenpark
Hans Thoma (1839–1924), The Öd, View of Holzhausen Park in Frankfurt am Main (1883), oil on canvas, 85.5 × 117 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

The Öd, View of Holzhausenpark in Frankfurt am Main (1883) shows what is perhaps better-known as Adolph-von-Holzhausen Park, which started as the larger Holzhausen Oed in around 1552, and became a public park in 1912-13. The prominent white building is its distinctive moated baroque summer residence.

Reference

Wikipedia (in German).

Watch for overdue Safari 18.1 updates for Sonoma and Ventura

If your Mac is still running Sonoma or Ventura, and you have already updated it to 14.7.1 or 13.7.1, you might have noticed that neither updated Safari, nor has there been a separate update released yet for Safari 18.1.

According to release notes for Safari 18.1 (20619.2.8), this new version has already been released for Sonoma and Ventura, but as of 1600 GMT on 29 October 2024, there’s still no sign of any separate update, nor was it bundled in the x.7.1 updates.

Sonoma and Ventura had Safari 18 released for them on 16 September 2024, concurrently with Sequoia 15.0. On 3 October 2024, at the same time that Apple released Safari 18.0.1 in Sequoia 15.0.1, it also released Safari 18.0.1 for Sonoma and Ventura, without any CVEs being reported as fixed.

Current versions of Safari read:

  • in Sequoia 15.1 – Safari 18.1 (20619.2.8.11.10)
  • in Sonoma 14.7.1 – Safari 18.0.1 (19619.1.26.111.11, 19619)
  • in Ventura 13.7.1 – Safari 18.0.1 (18619.1.26.111.11, 18619)

leaving the latter two due an update to Safari 18.1, which would ordinarily have been released with the x.7.1 macOS updates, but hasn’t been yet.

Update

As of 2150 on 29 October 2024, both Safari updates are now available through Software Update. Version and build numbers are 18.1 (19619.2.8.111.5, 19619) for Sonoma 14.7.1, and 18.1 (18619.2.8.111.5, 18619) for Ventura 13.7.1, and Apple lists the CVEs they address in this note.

Reading visual art: 170 Mermaid

Mermaids and mermen are mythical creatures with origins outside the classical Mediterranean civilisations. Conventionally, their upper body is human, while below the waist they have the form of a fish. Mermaids seem invariably young, beautiful and buxom, and are most frequently encountered by fishermen and those who go down to the sea. In the Middle Ages they became confounded with the sirens of Greek and Roman myth, who were part human and part bird.

waterhousemermaid
John William Waterhouse (1849–1917), A Mermaid (1900), oil on canvas, 96.5 x 66.6 cm, Royal Academy of Arts, London. Wikimedia Commons.

John William Waterhouse’s diploma study for the Royal Academy, painted in 1900, shows a conventional image of A Mermaid, seen combing her long tresses on the shore.

Despite their separate origin, mermaids have been depicted in accounts of some classical myths, perpetuating medieval confusion.

moreauvenusrising
Gustave Moreau (1826–1898), Venus Rising from the Sea (1866), oil on panel, 55.5 × 44.5 cm, Israel Museum מוזיאון ישראל, Jerusalem. Wikimedia Commons.

Gustave Moreau’s Venus Rising from the Sea from 1866 shows the goddess as she has just been born from the sea, and sits on a coastal rock, her arms outstretched in an almost messianic pose. On the left, a mermaid attendant holds up half an oyster shell with a single large pearl glinting in it. On the right, a merman proffers her a tree of bright pink coral, and cradles a large conch shell.

renancharybdisscylla
Ary Renan (1857–1900), Charybdis and Scylla (1894), oil on canvas, 89.5 x 130 cm, Musée de la Vie romantique, Paris. Wikimedia Commons.

Ary Renan’s Charybdis and Scylla (1894) is an imaginative painting of one of the dangers to mariners in the Strait of Messina, between Sicily and the Italian mainland. Scylla was said to be a six-headed sea monster, but was actually a rock shoal, and Charybdis was a whirlpool. Renan shows both together, the whirlpool with its mountainous standing waves at the left, and the rocks at the right, with the form of a beautiful mermaid embedded in them.

stuckfaunmermaid
Franz von Stuck (1863–1928), A Faun and a Mermaid (1918), oil on canvas, 156.7 × 61.5 cm, Private collection (also a copy in Alte Nationalgalerie, Berlin, Germany). Wikimedia Commons.

As the First World War was ending, Franz von Stuck returned to his favourite faun motif in A Faun and a Mermaid (1918). This has survived in two almost identical versions, the other now being in the Alte Nationalgalerie in Berlin. His version of a mermaid is a maritime equivalent of a faun, with separate scaly legs rather than the more conventional single fish tail. She grasps the faun’s horns and laughs with joy as the faun gives her a piggy-back out of the sea.

Perhaps the earliest painting of a mermaid in European art is in a Christian religious painting by Lucas Cranach the Elder, from 1518-20.

cranachestchristopher
Lucas Cranach the Elder (1472–1553), Saint Christopher (1518-20), oil on lime, 41.9 × 7.9 cm, Detroit Institute of Arts, Detroit, MI. Wikimedia Commons.

Cranach’s Saint Christopher shows the saint with his back and legs flexed as he bears the infant Christ on his left shoulder. In the foreground is an unusual putto-mermaid with a long coiled fish tail.

Mermaids feature in folktales from many of the traditions of Europe, where they’re known by local names such as havfrue in Denmark.

weguelinmermaidzennor
John Reinhard Weguelin (1849–1927), The Mermaid of Zennor (1900), watercolour, dimensions and location not known. Wikimedia Commons.

John Reinhard Weguelin’s watercolour of The Mermaid of Zennor (1900) tells the legend of a mermaid living in a cove near Zennor in Cornwall. This scene brings her together with Matthew Trewhella, a local chorister, whose voice she had fallen in love with. The legend tells that the couple went to live in the sea, and that his voice can still be heard in the cove.

arbolidengunvormerman
Peter Nicolai Arbo (1831–1892), Liden Gunver and the Merman (1874-1880), oil on canvas, 26.5 x 37 cm, Private collection. Wikimedia Commons.

Peter Nicolai Arbo’s Liden Gunver and the Merman (1874-1880) is drawn from an opera The Fishers, by Johannes Ewald and Johann Hartmann, first performed in Copenhagen in 1780. The young woman Liden Gunver, on the right, is taken to sea by the alluring but deceptive merman on the left.

thomathreemermaids
Hans Thoma (1839–1924), Three Mermaids (1879), oil on canvas, 106 × 77.6 cm, Städelsches Kunstinstitut und Städtische Galerie, Frankfurt, Germany. Wikimedia Commons.

Hans Thoma’s Three Mermaids (1879) lack fishtails as they frolic raucously with fish under the light of the moon.

klimtmermaids
Gustav Klimt (1862–1918), Mermaids (Silverfish) (c 1899), oil on canvas, 82 x 52 cm, Private collection. Wikimedia Commons.

Gustav Klimt’s Mermaids (Silverfish) (c 1899) appear to be tadpole-like creatures with smiling, womanly faces.

Apple has released macOS Sequoia 15.1, and security updates to 14.7.1 and 13.7.1

As expected, Apple has released the update to macOS 15.1 Sequoia, together with security updates to bring Sonoma to version 14.7.1, and Ventura to 13.7.1. There should also be Safari updates to accompany the latter two.

The Sequoia update is around 2.9 GB for Apple silicon Macs, and about 2.4 GB for Intel models.

As expected, this brings the first release of Writing Tools, in the first wave of new AI features, only for Apple silicon Macs using US English as both their primary language, and that set for Siri. Apple hasn’t got round to providing any list of new or changed features, and you may find that offered by Software Update is the same as for 15.0.

Security release notes are available here for 15.1, which has around 50 entries, here for 14.7.1 with around 39, and here for 13.7.1 with around 36.

iBoot firmware on Apple silicon Macs is updated to version 11881.41.5, T2 firmware to 2069.40.2.0.0 (iBridge: 22.16.11072.0.0,0), and Safari to 18.1 (20619.2.8.11.10).

I will post details of changes found later tonight.

[Updated 1820 GMT 28 October 2024.]

Interiors by design: Introduction to a new painting series

Under the academies that dominated painting as an art during the seventeenth and subsequent centuries, paintings were distinguished in genres. These consisted of history, portraits, genre (scenes of everyday life), landscapes, animals and still life. These gave rise to a twisted system of aesthetics that assigned greater artistic merit to a formulaic depiction of classical myth, than any landscape painting. The established genres were constraints that were quickly outgrown, as I’m going to examine in this new series looking at paintings of interiors.

Painting the inside of a house first flourished during the Dutch Golden Age, as a novel genre to appeal to collectors. Initially, most included some figures and were conveniently classed as genre works, but their object of interest increasingly lay in the room and its furnishings, as a still life on a grander scale.

terborch3figuresconversing
Gerard ter Borch (1617–1681), Three Figures Conversing in an Interior (Paternal Admonition) (c 1653-55), oil on canvas, 71 x 73 cm, Rijksmuseum Amsterdam, Amsterdam, The Netherlands. Wikimedia Commons.

Three Figures Conversing in an Interior is one of Gerard ter Borch’s narrative interiors, more popularly known as Paternal Admonition (c 1653-55). Standing with her back to us, wearing a plush going-out dress, is the daughter. To her left is a table, on which there is a small reading stand with books, almost certainly including a Bible.

Her parents are young, and they too are fashionably dressed. Her mother appears to be drinking from a glass, but her father is at the very least cautioning his daughter, if not giving her a thorough dressing-down. He wears a sword at his side. Behind them is a large bed, and to the right the family dog looks on from the gloom.

Interiors reached their height in the few brilliant paintings of Jan Vermeer.

vermeeryoungwomanwaterpitcher
Johannes Vermeer (1632–1675), Young Woman with a Water Pitcher (c 1662-64), oil on canvas, 45.7 x 40.6 cm, The Metropolitan Museum of Art, New York, NY. Wikimedia Commons.

Vermeer’s better-lit Young Woman with a Water Pitcher from about 1662-64 is a good example of this change in emphasis. The viewer’s attention is diverted from this anonymous young woman engaged in mundane activity, to her surroundings, the open chest on the table, the map on the wall behind her, and the play of the light coming in through the window.

Genre and interiors went into decline, before becoming more popular again in the nineteenth century, particularly in works aimed more at the less affluent.

kernstudyinteriorstpolten
Matthäus Kern (1801–1852), A Study Interior at St. Polten (1837), brush and watercolor on white wove paper, dimensions not known, Cooper Hewitt, Smithsonian Design Museum, New York, NY. Wikimedia Commons.

The middle classes were able to indulge in a few paintings and framed prints of their own, although most would have been family portraits rather than anything of greater aesthetic or cultural value. Matthäus Kern’s watercolour showing A Study Interior at St. Polten (1837) gives an idea of what might have been expected among the middle class, perhaps.

Narrative painting started to turn away from classical themes, and became framed around open-ended narrative and ‘problem pictures’ to challenge their reading.

degasinterior
Edgar Degas (1834–1917), Interior (‘The Rape’) (1868-9), oil on canvas, 81.3 x 114.3 cm, Philadelphia Museum of Art, Philadelphia, PA. Wikimedia Commons.

Edgar Degas’ Interior (1868-9), also known as The Rape, appears strongly narrative, but has so far defied all attempts to produce a reading consistent with its details. A man and a woman are in a bedroom together. She is at the left, partly kneeling down, facing to the left, and partially (un)dressed. He is at the right, fully dressed in street clothes, standing in front of the door, with his hands thrust deep into his trouser pockets.

The woman’s outer clothing is placed at the foot of the bed, and her corset has been hurriedly or carelessly cast onto the floor beside the bed. She clearly arrived in the room before the man, removed her outer clothing, and at some stage started to undress further, halting when she was down to her shift or chemise. Alternatively, she may have undressed completely, and at this moment have dressed again as far as her chemise.

Just behind the woman is a small occasional table, on which there is a table-lamp and a small open suitcase. Some of the contents of the suitcase rest over its edge. In front of it, on the table top, is a small pair of scissors and other items from a small clothes repair kit or ‘housewife’. There’s a wealth of detail that can fuel many different accounts of what is going on in this small room.

Interiors became sufficiently established by the late nineteenth century that they were widely exhibited.

aalmatademadrawingroomtownshendhouse
Anna Alma-Tadema (1867–1943), The Drawing Room, Townshend House (1885), watercolor, pen and Indian ink over pencil on cardboard, 27.2 × 18.7 cm, Royal Academy of Arts, London. Wikimedia Commons.

Anna Alma-Tadema’s small watercolour of The Drawing Room, Townshend House, painted in 1885, demonstrates her skills at depicting surface light and texture. This painting was exhibited at the World’s Columbian Exposition in Chicago, in 1893, a remarkable achievement for someone who was only eighteen at the time that it was painted.

Interiors became popular among those in the avant garde, including Neo-Impressionists like Maximilien Luce.

lucemorninginterior
Maximilien Luce (1858–1941), Morning, Interior (1890), oil on canvas, 64.8 × 81 cm, The Metropolitan Museum of Art (bequeathed by Miss Adelaide Milton de Groot (1876–1967)), New York, NY. Courtesy of Metropolitan Museum of Art, via Wikimedia Commons.

Morning, Interior (1890) is one of Luce’s best-known Divisionist paintings from the late nineteenth century. Although it adheres to the technique of applying small marks of contrasting colours to build the image, Luce’s marks are less mechanical than those seen, for example, in Seurat’s paintings. In places they become more gestural and varied, particularly in highlights.

Nordic art adopted the interior with enthusiasm, and the skills of some of its finest painters.

backerkolbotnstua
Harriet Backer (1845–1932) Gamlestua på Kolbotn (Old Living Room at Kolbotn) (1896), oil on canvas, 61.5 x 83.5 cm, Nasjonalgalleriet, Oslo. Wikimedia Commons.

Harriet Backer’s Gamlestua på Kolbotn (Old Living Room at Kolbotn) from 1896 is an intimate view of a friends’ living room on their farm in Østerdalen, Norway. Hulda and Arne Garborg are seen, sat at the table, with Arne holding his fiddle. Behind them are paintings, among them two landscapes painted by Backer’s friend Kitty Kielland.

hammershojroominhome
Vilhelm Hammershøi (1864–1916), A Room in the Artist’s Home in Strandgade, Copenhagen, with the Artist’s Wife (1901), oil on canvas, 46.5 x 52 cm, Statens Museum for Kunst (Den Kongelige Malerisamling), Copenhagen, Denmark. Wikimedia Commons.

Some came to specialise in distinctive interiors, such as the Danish painter Vilhelm Hammershøi. His Room in the Artist’s Home in Strandgade, Copenhagen, with the Artist’s Wife from 1901 is typical of his explorations of light in rooms that effectively became large still lifes.

backerlibrarythorvaldboeck
Harriet Backer (1845–1932), Thorvald Boecks bibliotek (Thorvald Boeck’s Library) (1902), oil on canvas, 94.5 x 89 cm, Nasjonalgalleriet, Oslo. The Athenaeum.

Thorvald Boecks bibliotek (Thorvald Boeck’s Library) (1902) is one of Backer’s few interiors that’s devoid of people, here replaced by books from floor to ceiling. The intricate detail of their many spines, furniture, and other decorations contrasts markedly with the bare floorboards in the foreground.

In France, the former Nabi artist Félix Vallotton painted a series of enigmatic interiors in the early years of the twentieth century.

vallottoninteriorwomanred
Félix Vallotton (1865–1925), Interior with the Back of a Woman in Red (1903), oil on canvas, 93 x 71 cm, Kunsthaus Zürich, Zürich, Switzerland. Wikimedia Commons.

His Interior with the Back of a Woman in Red from 1903 develops the framing effect of multiple sets of doors, drawing the eye deeper towards the distant bedroom. The woman wearing a red dress looks away, her skirts swept back as if she has been moving towards the three steps dividing the space into foreground and background. There are tantalising glimpses of detail on the way: discarded fabric on a settee, clothing on a chair in the next room, and half of a double bed with a bedside lamp in the distance.

In Britain, members of the Camden Town Group led by Walter Sickert headed in a different direction.

The Gas Cooker 1913 by Spencer Gore 1878-1914
Spencer Gore (1878–1914), The Gas Cooker (1913), oil on canvas, 73 x 36.8 cm, The Tate Gallery (Presented by the Trustees of the Chantrey Bequest 1962), London. © The Tate Gallery and Photographic Rights © Tate (2016), CC-BY-NC-ND 3.0 (Unported), https://www.tate.org.uk/art/artworks/gore-the-gas-cooker-t00496

Alongside others in the group, Spencer Gore painted mundane domestic interiors such as The Gas Cooker (1913), showing his wife Mollie in the tiny kitchen of their flat in Houghton Place in London.

astrupinteriorstilllife
Nikolai Astrup (1880–1928), Interior Still Life: Living Room at Sandalstrand (c 1921), oil on board, 81.9 x 100.4 cm, Private collection. The Athenaeum.

In Norway, Nikolai Astrup, a former pupil of Harriet Backer, provided the occasional peek into his domestic life. Interior Still Life: Living Room at Sandalstrand (c 1921) shows his family home, with a tapestry hanging in the corner, an unidentified painting on the wall, potted plants, a bowl of fruit, and an articulated wooden figure leaning against a pitcher of milk.

I hope these paintings have whetted your appetite for the rest of this series, which starts next week with the Dutch Golden Age.

Apple has released an update to XProtect Remediator

Apple has just released an update to XProtect Remediator security software for Catalina or later, bringing it to version 147. The previous version was 145.

Apple doesn’t release information about what security issues this update might add or change. There are no changes in the number or names of its scanning modules, and Bastion rules also remain unchanged.

You can check whether this update has 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, LockRattler and SystHist for El Capitan to Sequoia available from their product page. If your Mac has not yet installed this update, you can force it using SilentKnight, LockRattler, or at the command line.

If you want to install this as a named update in SilentKnight, its label is XProtectPayloads_10_15-147.

I have updated the reference pages here which are accessed directly from LockRattler 4.2 and later using its Check blog button.

I maintain lists of the current versions of security data files for Sequoia on this page, for Sonoma on this page, Ventura on this page, Monterey on this page, Big Sur on this page, Catalina on this page, Mojave on this page, High Sierra on this page, Sierra on this page, and El Capitan on this page.

Sharing: 3D modeling & rendering flow on Figma

Cover page of the sharing session script, titled ‘Sharing: 3D Modeling & Rendering Flow on Figma.’ The background features a dark gradient, with three hexagonal icons centered, each with a lightning symbol. The left icon has an outline style, the middle icon is a flat blue fill, and the right icon features a 3D design, symbolizing the transition from 2D to 3D design

Background

Current situation

I have been working for the current company for half a year. I have a clear picture of the working pattern: We are a small design team, but each member has to be responsible for both the UI and UX design for many internal systems.

Some of the design requirements are not complex at all, but the stakeholders want to make the interface aesthetically beautiful and different from other internal systems. In contrast, other demand sides hope designers can provide a clear and understandable solution to tackle the complex interaction flow.

The previous one was much more difficult for me since I was interviewed for the senior UX designer position, and I had not expected to address these design requirements, which may have occurred considerable times.

So it is time-consuming to design a portal website or refine a running internal system since I have to try multiple design solutions to ensure it will be aesthetically beautiful and outstanding.

Ideation

I wonder if 3D pictures could be a great approach to suit this type of design requirements. So I researched external products from large firms, trying to know how they use 3D pictures in their SaaS products.

Screenshots of four different B-end products are shown, focusing on the application of 3D assets within these product interfaces. Each webpage design incorporates 3D elements of various styles to enhance visual appeal and user experience.

After collecting and investing in multiple products, I found the patterns:

  1. 3D pictures are most likely used in landing pages, login pages, portal pages, and the like;
  2. Admin panels and dashboards do not use 3D pictures frequently, but they would appear in entries, feedback, and background decoration.

Conclusion

Based on the pattern above, real working conditions, and small-sized tries, I summarized the first conclusion:

  1. 3D pictures are not frequently used on dashboard pages and system admin. However, using 3D pictures could improve the variety of pages. So it is not worth it to spend so much time on it.
  2. 3D pictures can effectively meet the expectations of demand sides when they want to make their dashboard and admin pages distinguish from other similar sites.

Difficulties

Since I don’t have skills in 3D design, and my working strength is too high to spend much time learning, modeling, and rendering delicate 3D pictures, I just simply searched 3D visual elements on the Internet and then applied them to my deliverable.

Initially, this approach was workable and can help me complete my work quickly. However, drawbacks are uncovered after multiple uses:

  1. Difficulties of matching business contexts. 3D pictures on the Internet support common scenarios well but can’t always precisely describe certain business scenarios.
  2. Lack of series of an element. Although we finally found a perfect 3D picture, it is hard to reach other similar elements from the same series, resulting in poor scalability.
  3. Risks of infringement. Using 3D pictures on the Internet might cause infringement, so applying it directly consists of potential risks.
  4. Inconsistent quality. Free elements are not guaranteed quality and sometimes fail to meet the standards of our design team.

Here, I draw the second conclusion:

Searching for 3D pictures on the Internet has limited effectiveness, so we can’t fully rely on this approach.

After drawing this conclusion, I feel horrible: does it mean that I should strive to learn skills in 3D design? My work strength doesn’t allow me to learn professional 3D software like Cinema 4D or Blender.

The logos of two professional 3D design software are displayed, with CINEMA 4D on the left and Blender on the right, emphasizing their importance in the 3D design field.

After thorough consideration, I think the core demand for me is not to learn 3D software, rather, I should have the ability to gain 3D pictures. Apart from that, the whole process should consist of these features that suit my workflow well:

  1. Quick render. Since it is not worth it to spend much time on it during my work time.
  2. Consistent style. Ensuring our design has great scalability.
  3. Great customizability. It means that I can fully control elements on 3D pictures, ensuring outputs highly represent the business requirements and contexts.

By chance, I know there is a plugin on Figma called “Vector to 3D”. By learning outputs published in the community, it seems that this plugin could meet the features above well, improving my work effectiveness and quality. So I asked my team leader if I could spend some time discovering this plugin and sharing my experiences with team members, and she approved.

Therefore, this post is to record my internal sharing: My experience of how to build 3D modeling & rendering flow on Figma that improves our design effectiveness and quality.

Work with Vector to 3D

Introducing the plugin

This is a paid plugin, we can search for and install it in the Figma community.

A screenshot of the Figma plugin ‘Vector to 3D’ interface shows how to search for and open the plugin page in the Figma community, with the right side displaying the plugin interface during the 3D conversion process.

The control panel is comprised of three parts: Global, Object, and Animation settings. Here I will simply introduce the interface of the first two parts, ensuring all readers learn what this plugin can make.

For the Global setting, we can adjust the cameras, and background on the “General” panel; apart from that, we can set the render quality and details on the following panel called “Render”; and then we can control lights on the next panel named “Light and Shadow”, this panel supports varies functions of lights, like the number, size, position, strength, color and so forth.

A layout settings screenshot of the Figma plugin ‘Vector to 3D’ shows global configuration options for the 3D scene, including modules for rendering quality, shadows, and lighting editor.

For the Object setting, we can make a 3D model by extruding, inflating, or revolving, and then increase the detail of the model by setting “Mesh Quality”. Moreover, this plugin also supports material settings, like roughness, metallic, transmission, and the like.

These features are more than sufficient to handle nearly all of my design tasks.

A screenshot of the configuration interface for individual objects within the Figma plugin ‘Vector to 3D’ displays options for adjusting specific parameters of the 3D object, such as material, color, and refractive index, along with material preset selection.

Make a template

In this part, I will introduce two functions of this plugin: Save Preset and Template Preset.

Saving preset allows us to memorize the current view, modeling, and material settings of the frame. We can reload all the settings by the next open, even sharing with friends.

A screenshot of the configuration saving and loading interface of the Figma plugin ‘Vector to 3D’ shows how to save the current configuration to a Figma layer and how to load preset configurations onto 3D objects.

Templating Preset is not only the masterpiece of connecting the plugin with Figma but also a key factor in effectively generating 3D pictures.

Once we built a template, the plugin would memorize all the raw object preset, next step, we can replace the raw object with anything else, and succeed the raw object preset to it.

This approach is highly convenient for us when producing 3D elements. We just have to create a template, and then we replace various shapes, finally, we can produce endless 3D elements that fit our actual needs well.

How it works: First, we need to set the frame as a component and make the replaceable element that we want to replace with a new one a child component. (In the following example, I set the square bottom as a replaceable element.)

A screenshot of converting elements into components in Figma shows a semi-circular element and a blue rectangle being converted into sub-components.

Second, we duplicate the whole component and tune settings in the plugin, then save it. (In the following example, I make a glass ball and a square bottom base with a metallic surface)

A screenshot of saving 3D configurations in Figma, with the left side showing a blue rectangle component with a pink semi-circle, and the right side showing a 3D sphere and rectangular base generated using the ‘Vector to 3D’ plugin.

Third, we need to create a bunch of shapes that are to replace the replaceable element, making them an individual component and ensuring their layer number, order, and name are the same as the replaceable element.

A screenshot of creating interchangeable elements in Figma displays multiple shapes (square, circle, star) as components.

Last, we can hold the keys “cmd” + “option”, drag a new shape component to replace the replaceable element, and then reload the model again. Now we can see the new shape is applied to the same presets.

A screenshot in Figma shows replacing component elements and reloading the model using Cmd + Option, with the left side showing the process of replacing a circular base with a rectangular base, and the right side displaying the circular base adopting the rectangular base’s style after the replacement.

Now we successfully made a template, we can produce endless 3D elements by creating and inserting new shapes.

Actual practice

Here, I will share a case that is already used multiple times in my daily workflow.

A screenshot shows a blue 3D glass-style icon library, including symbols such as code, star, trash can, like, share, chat bubble, download, dollar sign, lightning, heart, plus sign, and quotation marks.

In this template, the shape of icons and background are replaceable, generating endless pictures and fitting nearly all of my design tasks. So it can be a resource library, empowering other team members.

Meanwhile, I created a color pattern, which not only can be used to represent states like success, fail, warning, and the like but also can be applied to the system with different color themes, ensuring our outputs are highly scalability.

A screenshot shows a color palette icon library with 3D-style icons in red, green, and orange, including symbols such as an exclamation mark, bell, cross, t-shirt, star, directional arrow, checkmark, music note, heart, and play button.

Benefits

In the post above, we learned the interface of Vector to 3D, how to make a template, and how I use this flow in actual workflow.

We are familiar with the 3D design workflow in Figma. To conclude this post, I’d like to summarize the key advantages of this process.

1. Low learning costs

We can simply recognize that the plugin “Vector to 3D” is a lite version of 3D software, simplifying complex functions from traditional 3D software and keeping essential functions.

2. Full design process within Figma

This workflow allows us to produce great 3D elements that don’t have to leave Figma. Apart from that, we can simply tune colors in Figma, which doesn’t like the traditional workflow that always switches from software to software.

3. High scalability

One of the core features of Vector to 3D is that makes up models from vector shapes, by taking advantage of this, we can efficiently produce 3D pictures that effectively meet our needs and align well with business contexts.

4. Consistent styles

The plugin Vector to 3D can coordinate with the components of Figma, not only remembering global presets like lights and cameras; but also allowing replacements to succeed presets like materials and position from previous elements. By templating these presets, we can endlessly produce 3D pictures with the same style.

This workflow is not only successfully used in my daily work but also influences my colleagues. After this sharing, 50% of my team members purchased and used this plugin in their design tasks.

Solution for non-Figma users

If you or your team are not using Figma for work currently, or you are not a designer but just simply want to try the flow from SVG shapes to 3D models, you can visit the online version of Vector to 3D: https://www.meimu.design/vector-to-3d/


Sharing: 3D modeling & rendering flow on Figma was originally published in Bootcamp on Medium, where people are continuing the conversation by highlighting and responding to this story.

Apple has stopped all XProtect updates for macOS Sonoma and earlier

macOS Sequoia 15.0 brings major change to the maintenance and updating of XProtect’s data. With the release of that new version of macOS, Apple has stopped providing any updates to XProtect data for previous versions of macOS, including the latest updates to Sonoma 14.7 and Ventura 13.7, also released yesterday.

Sequoia

If you have upgraded your Mac to Sequoia 15.0 or 15.1 beta, then it should be using XProtect data version 5273, released yesterday, 16 September 2024.

However, immediately after upgrading, the XProtect version may be given as 0, indicating that there’s no XProtect data installed at all. If that’s the case, or the version shown is 5272 or earlier, open Terminal and type in the following command:
sudo xprotect update
after which you’ll be prompted to enter your admin password. Once you do, the latest version of XProtect data should be obtained and installed correctly.

If you run SilentKnight after upgrading to Sequoia, it may find an XProtect data download waiting to be installed. If it does, install it. However, that doesn’t actually update the data used by this new version of XProtect. To complete that process, use the sudo xprotect update command in Terminal.

If you don’t use SilentKnight, you can check the current version of XProtect data being used with:
xprotect version
That should now return 5273. If it doesn’t, use the sudo xprotect update command to force an update.

Sonoma and all earlier macOS

With the release of Sequoia 15.0, Sonoma 14.7 and Ventura 13.7, Apple’s software update servers have stopped providing XProtect data updates to all versions of macOS prior to Sequoia. I have confirmed this in both Sonoma and Ventura. It’s not clear whether this is an error and Apple intends restoring XProtect updates in the future, or has simply stopped providing further updates.

The effect of this depends on the latest version of XProtect data installed on your Mac. If that’s 5272, then your Mac has the latest available without upgrading to Sequoia. If that’s any earlier version of XProtect, then there’s now no supported way for your Mac to be updated from that old version. As the XProtect bundle is located on the Data volume, you could try manually replacing the bundle (if you can get one for version 5272), but there’s no guarantee that will actually be used by XProtect, or make any difference to the protection it provides.

SilentKnight and Skint

The good news is that, if you use my free SilentKnight, and/or Skint, you should get the best information and help whichever version of macOS is running.

In anticipation of this, current versions of SilentKnight and Skint now report different versions for XProtect data depending on whether that Mac is running Sequoia or an earlier version of macOS. However, if the version found is earlier than 5273 (15.x) or 5272 (14.x and earlier), it will be reported as an issue. If Apple does restore XProtect data updates to macOS 14.x and earlier, then SilentKnight should be able to download and install them.

If your Mac is running Sequoia, SilentKnight can’t (yet) update XProtect data. To do that, you’ll need to run sudo xprotect update in Terminal.

Summary

  • The most recent version of XProtect data for Macs running Sonoma or earlier is 5272.
  • Currently, Apple’s update servers have stopped providing any updates to XProtect data for Sonoma and earlier.
  • Sequoia should be using XProtect data version 5273.
  • If your Mac is running Sequoia and has an older version, use the sudo xprotect update command to force an update.

Update

As of about 0530 GMT on 18 September 2024, XProtect updates for macOS Sonoma and earlier are available again, delivering version 5272 through Software Update, softwareupdate and SilentKnight. Fuller details are in a new article coming very shortly.

Apple has released macOS 15.0 Sequoia and security updates to 14.7 and 13.7

As promised last week, Apple has released the upgrade to macOS 15.0 Sequoia, together with security updates to bring Sonoma to version 14.7, and Ventura to 13.7. There should also be Safari updates to accompany the latter two.

The Sequoia update is around 6.6 GB for Apple silicon Macs, and 14.7 is around 1.6 GB. For Intel Macs, 15.0 is around 4.9 GB as an ‘update’, and 14.7 is around 860 MB.

Security release notes for Sequoia list around 77 vulnerabilities addressed, including two in the kernel, none of which Apple is aware may have been exploited in the wild. Release notes list 36 vulnerabilities addressed in Sonoma 14.7 here, and there are 30 listed for Ventura 13.7 here.

iBoot firmware is updated to version 11881.1.1, Intel T2 firmware to version 2069.0.0.0.0 (iBridge 22.16.10353.0.0,0), and Safari to 18.0 (20619.1.26.31.6).

After completing the upgrade to 15.0, you are likely to see that the installed XProtect version is 0, in other words that there is no XProtect data. You can leave your Mac to automatically download the required data from iCloud, or manually force it using the command
sudo xprotect update
then entering your admin password. That will normally ‘activate’ the XProtect data previously installed, and set the version to 5272, although that will then need to be updated to 5273 separately. Don’t be surprised if you end up repeating the trip to Terminal to get this to work.

If you use .NET, you may wish to delay upgrading to Sequoia: see this article for further details. Thanks to Raoul for pointing this out.

Last updated 0810 GMT 17 September 2024.

Looking ahead to Sequoia’s updates

Later today, Apple is expected to release macOS Sequoia 15.0. For those interested in planning their immediate or delayed upgrade, these are my forecast dates for its minor versions over the coming year. Like all the best weather forecasts, this is most accurate for the next 5 days, and those for further into the future are likely to be decreasingly reliable.

Minor version release dates for Sonoma have been broadly similar to those of others since Big Sur:

  • 14.0 – 26 September,
  • 14.1 – 25 October,
  • 14.2 – 11 December,
  • 14.3 – 22 January,
  • 14.4 – 07 March,
  • 14.5 – 13 May,
  • 14.6 – 29 July,
  • 14.7 – 16 September.

Ventura differed mostly because it had a later start date to its cycle, in October, resulting in the delay of 13.1 until December. Subsequent versions thus trailed Sonoma by one, for example with 13.5 on 24 July, against 14.6 on 29 July. Although Apple is believed to have some flexibility in the release dates for minor updates, the timetable for the cycle appears to be fixed well in advance, and is probably already at least pencilled in for Sequoia.

Most minor updates bring new versions of firmware, the kernel and key kernel extensions such as APFS. In between those may be patch updates to fix serious bugs or security vulnerabilities that can’t wait for the next minor version, such as 14.3.1 on 8 February, two weeks after 14.3 and a month before 14.4.

According to Apple’s release notes, the current release candidate for 15.0 has no significant bugs that remain unfixed, and we hope that remains the case.

15.1: October 2024

Apple has already announced that this first ‘minor’ update will bring its AI features, including most significantly Writing Tools. Although those have been in beta-testing for almost as long as 15.0, in terms of changes, the step from 15.0 will in many ways be greater than that from 14.6 to 15.0. However, that only applies to Apple silicon Macs that support AI.

For all Macs, this is likely to bring fixes for some more substantial bugs, although because of the short interval between 15.0 and 15.1, few are likely to be addressed until 15.2.

This update is likely to coincide with new Mac products launched at an as-yet unannounced Mac event in October, where Apple is expected to promote its new M4 Macs as being ‘made for AI’, much in the way that it did last week with the iPhone 16 range.

15.2: December 2024

Turnaround time fixing even straightforward high priority bugs makes it likely that most in 15.0 will be addressed not in 15.1 but 15.2, before Christmas. This will also catch the first fixes and any additional enhancements required by AI, so may well be one of the more substantial updates this cycle. The aim is to give engineering teams a chance to catch up with the vacation without leaving too much to await their return in the New Year.

15.3: January 2025

This update is largely constrained by the effects of the Christmas vacation, but should enable most issues arising in 15.0 and 15.1 to be fixed, leaving Sequoia running sweetly.

15.4: March 2025

This is the major mid-cycle update, that is most likely to contain new and enhanced features, often making it the largest update of the cycle. Apple also seems to use this to introduce initial versions of new features intended to become fully functional before the end of the cycle. One example of this was XProtect Remediator, released on 14 March 2022 in Monterey 12.3, but not really functional until June that year.

Unfortunately, these enhancements can also cause problems, and this update in March has a track record of sporadic more serious bugs, including the occasional kernel panic.

15.5: May 2025

A month or so before the first beta-release of the next major version of macOS, this normally aims to fix as many remaining bugs as possible, and progress any enhancements introduced in the previous update. If you’ve reported a bug before April, then if it’s going to be fixed in this cycle, this is the most likely time; any new bugs reported after this update are most likely to be carried over to the next major release.

15.6: July 2025

This really is the last chance for fixes and feature-tweaks before the next major version is released in September. If all is working out well, this should be the most stable and bug-free release, although in some years late changes have turned this update into a nightmare, and Sonoma required a patch update in early August to address those.

When best to upgrade?

If third-party software, hardware and other compatibility requirements don’t apply, there’s no way to predict which is the best version to choose as an upgrade from previous macOS. Every version contains bugs, some of them may be serious, others may be infuriating and intrude into your workflows. But those aren’t predictable. If you’re unsure, wait a few days after a minor update, or even 15.0, check around with others, and decide then. If you’re really cautious and have an Apple silicon Mac, I suggest you might like to consider upgrading a week or two after the release of 15.1, by which time most of any major issues with 15.0 and AI should have come to the surface.

For myself, I already have my designated beta-testing Mac, a MacBook Pro M3 Pro, running 15.1 beta, and my other three Macs (iMac Pro, Mac Studio M1 Max and MacBook Pro 16-inch 2019) will all be running 15.0 by midnight tonight, I hope. I’ll let you know how I get on.

Heroines 15: Sappho and the ferryman

The little we know of Sappho is, like the little remaining of her poetry, scant and fragmentary. She was arguably the greatest classical Greek lyrical poet, a lesbian of renown, and was alleged to have thrown herself from a cliff when a male lover left her.

Dearth of information about her, and its apparent inconsistency, hasn’t stopped a wealth of speculative writing, and her appearance in a great many paintings, few of which are consistent with her sexuality. Here I’ll consider one text, the fictional letter written for her by Ovid in his Heroines, and a selection of those paintings.

Born around 630 BCE into a wealthy family on the Greek island of Lesbos, legend has associated her romantically with two men: a contemporary poet, Alcaeus, and Phaon a local ferryman. Her own name and that of her island have been associated with her sexuality since the late nineteenth century, and Ovid makes it clear that her love of women was well-known among Romans in his time.

Since around 300 BCE, there has been a legend that tells of her love for Phaon the ferryman, who plied the waters between Lesbos and the Anatolian mainland. Almost certainly illiterate and hardly a good audience for Sappho’s verse, Phaon’s redeeming feature was apparently the gift of great physical beauty. He was given this one day when he carried Venus/Aphrodite in his boat; the goddess was travelling in disguise as an old woman, Phaon didn’t charge her for the crossing, so she returned the favour by transforming his physical appearance.

Ovid’s description of Sappho’s affair with Phaon leaves little to the imagination, even down to their lovemaking.

davidsapphophaon
Jacques-Louis David (1748–1825), Sappho and Phaon (1809), oil on canvas, 225 × 262 cm, Hermitage Museum Государственный Эрмитаж, Saint Petersburg, Russia. Wikimedia Commons.

Among those who seem to have accepted the truth of this legend was Jacques-Louis David, in this painting of Sappho and Phaon from 1809. David was necessarily not as explicit as Ovid, showing the couple fawning over one another with their recently occupied bed behind them, and a post-orgasmic gaze on Sappho’s face. In case you haven’t got the message, Cupid holds her lyre, and two doves peck affectionately on the window sill.

almatademasapphoalcaeus
Lawrence Alma-Tadema (1836–1912), Sappho (and Alcaeus) (1881), oil on canvas, 66.1 x 122 cm, Walters Art Museum, Baltimore, MD. Wikimedia Commons.

A little deeper into Victorian prudery, Lawrence Alma-Tadema’s Sappho (1881) shows Sappho resting on a lectern and staring intently at Alcaeus, who is playing a lyre. She’s supported by her ‘school of girls’, one of whom rests her arm on Sappho’s back. The artist’s hints at a lesbian interpretation are necessarily subtle: the marble benches bear the names of some of her female lovers.

solomonsapphoerinna
Simeon Solomon (1840–1905), Sappho and Erinna in a Garden at Mytilene (1864), watercolour on paper, 33 x 38.1 cm, The Tate Gallery (Purchased 1980), London. © The Tate Gallery and Photographic Rights © Tate (2016), CC-BY-NC-ND 3.0 (Unported), http://www.tate.org.uk/art/artworks/solomon-sappho-and-erinna-in-a-garden-at-mytilene-t03063

Yet nearly twenty years earlier, Simeon Solomon was far more open in his watercolour of Sappho and Erinna in a Garden at Mytilene (1864). Sappho is shown on the right, her dark hair and complexion in accordance with Ovid’s description. Although Erinna, another woman poet of the time, might have joined Sappho in her community of young women on Lesbos, she is now thought to have lived on the island of Telos, and slightly later.

Solomon’s career was all but destroyed by his own sexuality: a brave pioneer of homosexual themes in his painting, he was arrested for homosexual offences in 1873, and was shunned thereafter.

Ovid’s fictional letter from Sappho to Phaon was written after the legendary ferryman moved to Sicily. It’s unusual among his Heroines for depicting a real, historical figure, albeit in this legendary story.

The letter can be read in at least two ways. It could, in spite of its multiple clear references to Sappho’s lesbian lifestyle, be just another male denial of female homosexuality. This seems unlikely for many reasons, not least of which is the gross implausibility of everything about the letter. This has led some to doubt that Ovid even wrote it, an issue that remains hotly debated. Ovid shows profound and progressive insights into human sexuality; if this letter was written by him, it comes over as an excellent debunking of the legend of Phaon, and a witty and irreverent commentary on the life and loves of another great poet.

The story of Sappho and Phaon has, however, stuck. Its climax, when the broken-hearted Sappho throws herself from the top of the Leucadian Cliff, became an extremely popular motif in nineteenth century painting.

guerinsappholeucadiancliff
Pierre-Narcisse Guérin (1774–1833), Sappho on the Leucadian Cliff (date not known), oil on canvas, 188 x 114 cm, The State Hermitage Museum, Saint Petersburg. Wikimedia Commons.

Pierre-Narcisse Guérin paints a portrait of Sappho looking in sad reflection, her head resting on a symbolic lyre. There is little to indicate that she is on the top of cliffs, apart from the title, and no narrative references.

chasseriausappholeaping
Théodore Chassériau (1819–1856), Sappho Leaping into the Sea from the Leucadian Promontory (c 1840), watercolour over graphite on paper, 37 x 22.8 cm, Musée du Louvre, Paris. Wikimedia Commons.

Théodore Chassériau’s watercolour of Sappho Leaping into the Sea from the Leucadian Promontory (c 1840) shows her clutching her lyre, her arms braced across her chest, as she steps off the edge of the cliff.

Sappho’s suicide became something of an obsession for Gustave Moreau, who painted her repeatedly between about 1870 and 1893.

moreaudeathofsappho
Gustave Moreau (1826–1898), The Death of Sappho (c 1870-2), oil on canvas, 81 × 62 cm, Private collection. Wikimedia Commons.

Moreau’s Death of Sappho was probably in progress when the Franco-Prussian War broke out, and wasn’t completed until after order was restored to Paris the following year. It shows the poet moments after she had thrown herself from the cliff, her body lying in peaceful repose, her lyre beside her, and a seagull in mourning. The contrast between the elaborate decoration of her body, clothing, and lyre and the stark rocks and gloomy sea and sky couldn’t be greater.

moreausappho
Gustave Moreau (1826–1898), Sappho (1871-72), watercolour on paper, 18.4 x 12.4 cm, Victoria and Albert Museum (Given by Canon Gray in memory of André S. Raffalovich), London. Image courtesy of and © Victoria and Albert Museum, London.

Sappho (1871-72) was his second painting of her, this time a richly-detailed watercolour. Here she is swooning over her lover shortly before flinging herself to her doom. Her lyre is slung over her shoulder, and to emphasise her status as a great poet, Apollo’s gryphon is shown on a column behind her. Her elaborately decorated clothing and pose were taken from a Japanese woodcut, Genji taking the air in summer on the Sumida by Utagawa Kunisada (Toyokuni III), that Moreau had bought in Paris.

moreausappholeucadiancliff
Gustave Moreau (1826–1898), Sappho at the Leucadian Cliff (c 1885), watercolour on paper, 33 x 20 cm, Private collection. Wikimedia Commons.

Moreau returned to his consideration of Sappho’s suicide in this watercolour of Sappho at the Leucadian Cliff (c 1885), showing her clinging to her lyre as she falls to her death on the rocks below. This is lit by one of Moreau’s saturnine suns.

moreausappho1893
Gustave Moreau (1826–1898), Sappho (c 1893), oil on canvas, 85 × 67 cm, location not known. Wikimedia Commons.

In Moreau’s late oil painting of Sappho from about 1893, she is seen stepping off the cliff, with the sun setting behind her.

delaunaysappholyre
Jules-Élie Delaunay (1828-1891), Sappho Embracing her Lyre (date not known), further details not known. Image by Rama, via Wikimedia Commons.

During this period, those influenced by Moreau also painted the poet. Jules-Élie Delaunay’s undated Sappho Embracing her Lyre shows her at the top of the cliff holding her lyre close, as if it were her lover.

renansapphoI
Ary Renan (1857–1900), Sappho I (1893), oil on canvas, 56 x 80 cm, Museo Ernest Renan, Tréguier, France. Wikimedia Commons.

Ary Renan painted Sappho at least twice. The first from 1893 appears influenced by Moreau’s paintings. Sappho reclines underwater amid a fantastic and deep layer of vegetation, her lyre some distance from her head, at the right edge.

renansapphoII
Ary Renan (1857–1900), Sappho II (date not known), oil on canvas, 120 x 100 cm, Musée de la Vie romantique, Paris. Wikimedia Commons.

Renan’s later painting shows her just as she has stepped off the top of the cliff, and is about to plunge to her death. She holds her lyre aloft in her left hand, as a surprised seagull flies past.

Ovid’s letter, written two millennia ago, shows wittily how absurd the legend of Sappho and Phaon is. Yet so many artists since have continued to depict it in paint, perpetuating its naïve denial.

Updating macOS with an Installer and in Recovery

With macOS Sequoia fast approaching from the horizon comes the question as to how to upgrade and update, whether to Sequoia or one of its recent predecessors. If you’re happy to go with what Software Update offers, then that’s usually simplest and most efficient. This article considers what you should do if you want something different, from updating to any previous version, to using a single installer to update several different Macs.

Procedures given here should work with all versions of macOS from Monterey onwards. They may work too with Big Sur, but its installers weren’t always as reliable, so you should there be well-prepared to have to migrate from a backup in case the installation creates a fresh, empty Data volume instead of firmlinking up to your existing one.

Which installer?

As Apple discontinued standalone updater packages when it introduced Big Sur, the choice now is between downloading the full Installer app, and performing the process in Recovery mode. The latter severely limits your choice to what it’s prepared to offer, so you’re almost certainly going to need to obtain the full Installer for the version of macOS you want. Rather than use the Installer app provided in the App Store, download the Installer package from the links given by Mr. Macintosh. Those provide a package that’s easier to store and move around, unlike the Installer app itself. It will typically be a little over 13.5 GB, and works on both Intel and Apple silicon Macs.

Standard procedure

As with any update or upgrade, first ensure you have a full recent backup before starting. If anything does go wrong during the procedure you’ll then be able to perform a fresh install and migrate from that backup.

Unless you want to install everything afresh and migrate from your backup, don’t try erasing either your System or Data volume. You’d have to do that in Recovery mode anyway, limiting your options as to which version of macOS you can install unless you create a bootable installer first.

Double-click the installer package to launch it in the Installer utility. The default is to save the Installer app to your current Applications folder, which should work fine as long as you remember to delete it once you’ve finished. Once complete, launch that Installer app and follow its instructions.

sininstall2

When macOS restarts at the end of the process, check the version now running, confirm that your Data volume has survived intact, and run SilentKnight to ensure that all security data files are up-to-date.

Recovery

Intel Macs have a slight advantage when it comes to installing macOS in Recovery mode, as depending on the keys held during startup, you should be able to coax a choice of versions out of an Intel system. Unless you simply want to install or update to the current version, though, you’ll probably want to avoid doing so in Recovery.

sininstall3

There’s another good reason for not using Recovery, in that delivery of installers to Macs running in Recovery can be painfully slow, and you may well be in for a longer wait than if you downloaded the Installer direct.

However, if you want to erase the current boot volume group on your Mac’s internal storage so you can install a fresh copy of macOS and restore the contents of its Data volume from backups, Recovery is normally the best place to do that. Apple works through the process for Intel Macs, and Apple silicon models. The key step is to select the Macintosh HD boot volume group and click on the Erase tool to perform Erase Volume Group.

When the SSV was first introduced in Big Sur, there were many problems resulting from erasing just one volume in the boot volume group. If that happened to be the System volume, when macOS was installed it created a new firmlinked Data volume, leaving the existing Data volume as an orphan. That was usually done in a misguided attempt to have a fresh install of the System volume and SSV while keeping the existing contents of the Data volume, but doesn’t do that. Every installation of the SSV in any given version of macOS since Big Sur is identical, so it isn’t necessary to erase it, but simply to install or update macOS.

Bootable installer disk

Another traditional way to install macOS is using a bootable installer disk, normally a USB ‘thumb’ drive, although you can also create a small HFS+ volume for the purpose on an external SSD. Apple provides detailed instructions for doing this using a range of versions of macOS.

In many cases, installing a version of macOS older than the one that’s currently running requires this, as old Installers usually fail to run in newer macOS. Unfortunately, on Apple silicon Macs, this isn’t the powerful tool that it once was, as the Mac doesn’t boot fully from the external disk, and as a result it has no role in dealing with problems with internal storage.

Virtual Machines on Apple silicon

Installer apps and Recovery installs both work fine in virtual machines running on Apple silicon hosts. However, there’s one special circumstance you need to beware of. One of the major new features in virtualisation in Sequoia is support for iCloud and some other services dependent on Apple ID. If you want to use those, then the VM must be created new in Sequoia, using a Sequoia IPSW image. You can’t update or upgrade an existing VM from a previous version of macOS and use iCloud services in it.

Summary

  • If you can, use Software Update to update or upgrade macOS, as it minimises download size and is simplest.
  • If you want to perform a different update, or run one installer on several Macs, download and use the appropriate Installer package.
  • If you want to erase the existing system including all your data, use Recovery mode to erase the whole volume group, then install macOS and migrate from your backup.
  • Never erase only your Mac’s System volume, as that will orphan its current Data volume.
  • If you want to downgrade to an older version of macOS, you’ll probably need to do so from a bootable installer disk.
  • If you want a VM to use iCloud, then create a fresh VM using a Sequoia IPSW, as an upgraded VM can’t access iCloud.

Where has Safari gone, and why are macOS updates larger for Apple silicon?

My previous explanation of how recent versions of macOS merge their System and Data volumes into what appears to be a single volume, omitted a third component, including Safari. Look in the System/Applications folder where all the bundled apps are stored on the SSV, and there’s no Safari to be seen, yet it appears in the top-level Applications folder. This article explains how that now works using cryptexes, and how they differ between Intel and Apple silicon Macs.

Finding Safari

As the modern boot volume group evolved through Catalina to Big Sur, Safari and its supporting frameworks were stored in the Data volume. That stopped with the arrival of Ventura, and they’re now stored in the third components that complete the modern boot volume group. You can see when files are stored on a different volume using my free app Precize to reveal their full paths. Use that to examine three apps from the merged Applications folder, and you’ll understand what I mean:

  • Chess.app has a path of /System/Applications/Chess.app demonstrating that it’s one of the apps bundled in the SSV, where almost all of the System folder is stored.
  • Cirrus.app, like any other app you have installed, has a path of /Applications/Cirrus.app, making it clear that it’s stored on the writable Data volume.
  • Safari.app has the weird path of /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app that demands further explanation.

Note that the Finder’s Get Info dialogs aren’t as truthful, and don’t tell the full story.

Their volfs paths are also worth noting. On my Intel Mac, they are:

  • Chess.app is at /.vol/16777240/1152921500311883667; because all macOS 14.6.1 SSVs are identical, your Chess.app should have the same inode number too.
  • Cirrus.app is at /.vol/16777240/461665725
  • Safari.app is at /.vol/16777238/993517

The first two follow a familiar pattern you’ll see throughout the System and Data volumes: their volume ID 16777240 is common to both, and that assigned to the merged volumes, but their inode numbers are wildly different. Huge numbers like 1152921500311883667 come from the SSV, while smaller ones like 461665725 are from the Data volume. Then there’s a slightly lower volume ID of 16777238 and a small inode number of 993517 for Safari, demonstrating that it’s somewhere altogether different: that’s a cryptex, a cryptographically protected disk image with an interesting history.

Why a cryptex?

When the modern boot volume group was being designed and developed, it took into account Safari’s special needs by making it the only bundled app to be stored in the Data volume. This enables it to be updated without having to go through the whole process of building a new SSV, allowing Apple to deliver urgent security patches to Safari and its underlying WebKit and other frameworks. There could also have been political considerations in separating Apple’s bundled browser from the other apps included in macOS.

This changed in Ventura in the autumn/fall of 2022, when Apple applied technology it had originally developed for its customised iPhone, the Security Research Device, dubbed the cryptex, a name formed as a portmanteau for CRYPTographically sealed EXtension. This offers two advantages:

  • Safari, its supporting frameworks, and other components of macOS that Apple prefers not to build into the SSV, can be delivered in cryptexes. As I’ll explain later, this also enables tailoring of macOS to platform.
  • Some urgent security patches could be delivered in cryptexes, making them faster to release and simpler to install in a Rapid Security Response (RSR).

Since then, RSRs seem to have had their day, and appear to have fallen from favour. But, as a means of delivering Safari and other more changeable components of macOS, cryptexes have proved their worth.

How a cryptex works

Although a cryptex is at heart a read-only disk image that is mounted during the boot process, it has two properties of particular importance:

  • Its contents are cryptographically verified, in much the same way that the contents of the SSV are, using hashes of its entire contents.
  • Its internal file system is grafted into the root file system when it’s mounted, rather than being mounted as a separate volume.

APFSCryptexMount1

Mounting a cryptex starts with validation of the payload and its manifest. It then undergoes a sequence of processes similar to the mounting of an APFS volume, with a checkpoint search to establish stable checkpoint indices, and a check to discover whether there’s anything to recover, which seems unlikely. The graft is then performed in a series of opaque steps, with root hash authentication and validation. The object ID is found, and the graft completed.

Once this has been completed for each of the standard cryptexes and any installed RSRs, the contents of those are effectively part of the system, as a hybrid of the SSV and cryptexes. In the case of the Safari app, this process effectively places it in the main Applications folder, even though the original app is actually located in the System/Applications folder of the App cryptex in /System/Volumes/Preboot/Cryptexes.

As with the current boot System and Data volumes, grafted cryptexes aren’t unmounted or ungrafted until shutdown.

There are currently three main cryptexes in use, App containing Safari, its frameworks and other supporting files, and OS, with a range of other system items including additional frameworks, and several large dyld shared caches. You’ll also see an Incoming cryptex in /System/Volumes/Preboot/Cryptexes. As they’re outside the SSV, new and replacement cryptexes are installed without rebuilding the SSV, and in some cases don’t even need a soft restart of macOS.

Architecture-specific cryptexes

In addition to providing Safari and its related components, cryptexes also provide useful economy in shared caches, and explain why macOS updates for Apple silicon Macs are invariably larger than those for Intel models.

While the contents of the SSV appear to be identical on both Intel and Apple silicon, thus have a single signature, the two architectures differ in their cryptexes. Those for Apple silicon Macs contain dyld shared caches for both architectures, and a set of aot shared caches, presumably to support Rosetta 2, and amounting to 5.24 GB in total size; those for Intel Macs only contain Intel dyld shared caches of 1.68 GB total size.

Given their sizes, that’s a valuable efficiency both for updates and in storage required, and is the major reason for updates for Apple silicon Macs always being larger than those for Intel. Thankfully, because those shared caches are supplied compressed, the difference in update sizes is much smaller than the 3.56 GB difference when they’re decompressed and installed.

Apple has just released an update to XProtect Remediator

Apple has just released an update to XProtect Remediator security software for Catalina or later, bringing it to version 145. The previous version was 142.

Apple doesn’t release information about what security issues this update might add or change. There are no changes in the number or names of its scanning modules, and Bastion rules also remain unchanged.

You can check whether this update has 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, LockRattler and SystHist for El Capitan to Sonoma available from their product page. If your Mac has not yet installed these updates, you can force them using SilentKnight, LockRattler, or at the command line.

If you want to install this as a named update in SilentKnight, its label is XProtectPayloads_10_15-145.

I have updated the reference pages here which are accessed directly from LockRattler 4.2 and later using its Check blog button.

I maintain lists of the current versions of security data files for Sonoma on this page, Ventura on this page, Monterey on this page, Big Sur on this page, Catalina on this page, Mojave on this page, High Sierra on this page, Sierra on this page, and El Capitan on this page.

Launching apps in Sonoma 14.6.1: Conclusions

Over a series of three articles last week, I pored over thousands of log entries to examine how macOS Sonoma 14.6.1 checks applications it’s launching, under normal full security settings, with reduced security, and for known malware. This article draws together my conclusions from those tests run in virtual machines on an Apple silicon Mac.

Layered security

Like other security functions in macOS, app launch security is built in layers, including checks of

  • code-signing certificates (multiple times);
  • CDHashes, including their consistency, and against Apple’s database for notarized apps, and their revocation;
  • quarantine extended attributes, which normally trigger a user consent dialog, and may result in app translocation;
  • previous launch, in the LaunchServices database;
  • matches with Yara rules in XProtect’s data;
  • user consent to a first launch prompt dialog;
  • launch and other constraints.

Additional data may also be collected and stored in the provenance database that first appeared in Ventura.

Not all checks are performed on every launch of an app. At a minimum, for a notarized app that has been run only recently, these might consist of only local checks against CDHashes and with the app’s existing entry in the LaunchServices database. Checks are also modified by reducing security settings:

  • Disabling Gatekeeper checks doesn’t stop those checks from taking place, but apparently ignores some results, notably those obtained by XProtect. It doesn’t affect checks of CDHashes against Apple’s database.
  • Disabling SIP has more pervasive effects in largely disabling the com.apple.syspolicy sub-system, affecting several layers, although checks of CDHashes against Apple’s database are unaffected.

com.apple.syspolicy

In full security conditions, one sub-system dominates log entries concerning app launch security, com.apple.syspolicy. This is clearest in Gatekeeper and XProtect checks. Although the log entries that follow may appear bewildering, they are the best illustration of this point.

When launching a notarized app that hasn’t previously been run on that Mac and has a quarantine xattr, Gatekeeper and XProtect scans are reported in the following sequence of entries:
com.apple.syspolicy.exec GK process assessment: <private> <-- (<private>, <private>)
com.apple.syspolicy.exec Gatekeeper assessment rooted at: <private>
com.apple.syspolicy.exec Skipping TCC check due to process: 692, 0, 692
com.apple.syspolicy.exec queueing up scan for code: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: (null)), (id: (null)), (bundle_id: (null))
com.apple.syspolicy.exec starting work for scan for code: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: (null)), (id: (null)), (bundle_id: (null))
com.apple.syspolicy.exec allowUI is YES, creating codeEval object: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: (null)), (id: (null)), (bundle_id: (null))
com.apple.syspolicy.exec Adding default exception for team: <private>
com.apple.syspolicy.exec Registered app bundle for protection: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: (null)), (bundle_id: (null))
com.apple.syspolicy.exec GK performScan: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: (null)), (bundle_id: (null))
com.apple.xprotect XProtectScan beginAnalysisWithResultsHandler continueOnError is set to 0
com.apple.xprotect XPAssessment performAnalysisOnFileImpl continueOnError set to 0
com.apple.xprotect Xprotect is performing a direct malware and dylib scan: <private>

Those checks later complete in entries such as:
com.apple.syspolicy.exec GK Xprotect results: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: (null)), (bundle_id: (null)), XPScan: 0,-7676743164328624005,2024-08-26 08:19:01 +0000,(null)
com.apple.syspolicy.exec GK scan complete: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: (null)), (bundle_id: (null)), 4, 4, 0
com.apple.syspolicy.exec scan finished, waking up any waiters: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: co.eclecticlight.SystHist), (bundle_id: co.eclecticlight.SystHist)
com.apple.syspolicy.exec App gets first launch prompt because responsibility: <private>, <private>
com.apple.syspolicy.exec GK evaluateScanResult: 0, PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: co.eclecticlight.SystHist), (bundle_id: co.eclecticlight.SystHist), 1, 0, 1, 0, 4, 4, 0
com.apple.syspolicy.exec GK eval - was allowed: 1, show prompt: 1
com.apple.syspolicy.exec Skipping TCC check due to process: 692, 0, 692
com.apple.syspolicy Found console users: <private>
com.apple.syspolicy.exec Prompt shown (5, 0), waiting for response: PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: co.eclecticlight.SystHist), (bundle_id: co.eclecticlight.SystHist)

When SIP has been disabled, there are precious few entries from com.apple.syspolicy or com.apple.syspolicy.exec. Instead, XProtect appears to be left to its own devices, and doesn’t fare well:
com.apple.xprotect XPAssessment performAnalysisOnFileImpl continueOnError set to 0
com.apple.xprotect XprotectService Calling SecAssessmentCreate with URL <private>, context <private>
XprotectService SecTrustEvaluateIfNecessary
com.apple.xprotect XprotectService Bundle is not apple signed
com.apple.xprotect XprotectService Bundle size result: 18388222 (YES)
com.apple.xprotect XprotectService Always scan: YES
com.apple.xprotect XprotectService Starting malware scan for: <private>
kernel XprotectService [697] crossed memory high watermark (15 MB); EXC_RESOURCE
kernel Full corpse enqueued for XprotectService
com.apple.xnu memorystatus kernel kernel EXC_RESOURCE -> XprotectService[697] exceeded mem limit: ActiveSoft 15 MB (non-fatal)
ReportCrash event condition bump 0 -> 1
ReportCrash post-exception thread qos drop 21 -> 17
ReportCrash PID 697 exceeded the memory high watermark; Invoking ReportMemoryException with corpse.

There are no other entries referring to Gatekeeper or those checks. The effects of disabling SIP appear extensive and pervasive throughout several of the layers of app launch security.

CDHashes are central

With the adoption of notarization, apps run in macOS should now fall into one of five categories:

  • signed by Apple, either its own apps or those delivered through its App Store;
  • notarized by Apple, with its CDHashes added to Apple’s database;
  • signed (either with a Developer certificate, or ad hoc) locally, and not distributed over the internet, with its own unique CDHashes;
  • unwanted or malicious, with revoked CDHashes,
  • unrecognised, and potentially malicious.

These emphasise the importance of the online ‘notarization’ checks of CDHashes performed in all circumstances where macOS doesn’t have previous records of saved CDHashes for that code. Their primary purpose isn’t to validate notarization, but to identify code as known good, known bad, or unknown. When Apple’s security engineers identify new malware, its CDHashes can quickly be added to the database as being revoked, so ensuring that all subsequent checks of the same CDHash will be classified as revoked, for malicious code. This is a rapid response that should have no false positives, in which benign code is mistakenly identified as being malicious.

Typically, the checking sequence is reported in the log with:
com.apple.syspolicy looking up ticket: <private>, 2, 1
com.apple.syspolicy cloudkit record fetch: <private>, <private>
com.apple.syspolicy cloudkit request cache info: <private>, max-age=300
com.apple.syspolicy CKTicketStore network reachability: 1, Mon Aug 26 09:15:45 2024
com.apple.syspolicy Inserting ticket: <private>
com.apple.syspolicy completing lookup: <private>, 0

[and so on with further lookups]
and those are among the only entries from com.apple.syspolicy seen when SIP is disabled.

When full security is enabled, those are completed with
com.apple.syspolicy.exec GK evaluateScanResult: 0, PST: (vuid: 7C5C43BF-A338-4228-B61E-5038F1D93EDB), (objid: 62947), (team: QWY4LRW926), (id: co.eclecticlight.SystHist), (bundle_id: co.eclecticlight.SystHist), 1, 0, 1, 0, 4, 4, 0
But when SIP is disabled, those don’t appear, and seem to be substituted by application of Security rule 11 instead.

The downside of CDHash checks is that their false negative rate can be alarmingly high. Change a single bit in the code being hashed, and the hash will amplify that change, and is completely different. Hence the importance of notarization to establish which CDHashes definitely aren’t from malicious code.

One threat to this system occurs when a user mistakenly blocks their Mac from connecting to Apple’s database using CloudKit, for example using a misconfigured software firewall. Without a suitable vulnerability, malicious software shouldn’t be able to use this approach to block a payload from being checked.

I don’t know whether any third-party security products use a similar checking mechanism with their own local or remote CDHash databases, but this appears to be a great advantage to the protection built into macOS.

Performance

Two of the checks performed with full security enabled are dependent on the size of the app being checked. Fully validating an app’s CDHashes against those in its signature or notarization ticket should benefit from hardware acceleration, particularly on Apple silicon, and can be tackled hierarchically. It appears unlikely to result in significant delays to launching an app.

XProtect scans are more likely to be responsible for observable delays in app launch times, though. With the recent growth in the number of Yara rules, and their length, scans performed after an app’s first launch are the most probable cause of large and complex app bundles requiring several seconds before the app can be run.

Summary

I have updated the flow chart I first proposed as a result of observations made of app launches in Sonoma 14.4.1:

launchsonomaapp2

This is also available as a tear-out PDF here: launchsonomaapp2

I welcome any evidence that will refine and improve that, please.

Previous articles

Launching apps in Sonoma 14.6.1: Full security
Launching apps in Sonoma 14.6.1: Reduced security
Launching apps in Sonoma 14.6.1: Known malware
How does Sonoma check an app before launch? (Sonoma 14.4.1)

分享会文稿:Figma 3D 设计流程分享

分享会文稿封面,标题为 “Figma 3D 设计流程分享”,背景为渐变深色,中心位置展示了两个带有闪电标志的六边形图标,其中左侧图标是平面设计,右侧图标是3D效果设计,表明了从2D到3D的设计转换。

一、背景

现状

在新公司工作快半年了,我对这里的工作模式已经有清晰的了解了。这里的设计师不多,但每个人要负责多个内部系统的 UI 和交互设计。

有些需求方的系统本身业务不复杂,都是简单的增删查改,但希望自己的系统能够与众不同,让人产生眼前一亮的感觉;而有些系统里的功能交互逻辑比较复杂,不同状态、不同情况比较多,希望设计师出一个交互方案能够让功能简单易用。

按这几个月的工作情况来看,第一种情况对我来说比较棘手。因为我当时面试的岗位是交互设计师,所以心理上和能力上都没有预期是要接触这样的需求的,而现实是这种需求的占比还不少。

所以我在遇到这种要为某个系统进行门户网站的设计,或者将内部系统打造得光鲜亮丽的需求的时候,我会耗费比较多时间,以及进行很多的尝试。

想法

于是我就在想:需求方们都希望自己的系统能在一众的高度规范化和模版化的系统中脱颖而出,那么使用 3D 素材会不会是一个比较好的解决方案?

有了这个想法之后,我调研了下网上其他大公司的对外产品,看看他们在 B 端产品中的 3D 素材使用情况。

展示了四个不同 B 端产品的网页截图,聚焦于 3D 素材在这些产品界面中的应用。每个网页设计中都包含了不同风格的3D元素,用以提升界面的视觉效果和用户体验。

看了一圈下来,我得出了这样的规律:

  1. 3D 视觉素材在展示型页面用的较多。如官网首页,门户首页,登陆页等页面;
  2. 在后台界面中使用较少。但也会用在功能入口、状态反馈、背景装饰等场景。

结论

基于这个规律、现实工作中的情况以及小范围的尝试之后,我得出了这样的结论:

  1. 3D 素材在 B 端后台的场景使用的频率不高。恰当使用可以提升画面的丰富程度。但不必在此花太多时间。
  2. 如果遇到需求方要求该项目需要与那种高度模版化的后台有明显区别的时候,使用 3D 素材确实是能满足需求方期待的。

二、难点

由于我没有 3D 设计的能力,同时公司的需求密集程度也似乎不允许我们专门花时间为一些日常需求来渲染 3D 视觉图,所以在最开始我是通过在素材网站上面搜寻 3D 素材,然后直接应用在工作当中。

这个方法最开始很好用,我可以快速地完成需求,但用久了之后发现短板也很明显。

  1. 难以贴近公司业务。网络素材难以贴合公司内部的业务场景。大部份情况下只能找到通用素材,无法满足具体需求。
  2. 缺乏系列素材。即使找到一个合适的素材,但要找到同系列的其他类型素材犹如大海捞针。
  3. 侵权风险。网上找到的素材可能涉及版权问题,直接使用存在风险。
  4. 质量参差不齐。高质量的素材通常需要付费,免费的素材质量参差不齐,难以满足设计内部标准。

所以我得出了一个结论:

仅靠找素材的方式对我们帮助有限,不能完全依靠这种方法。

如果不能仅依靠找素材的话,这意味着我需要有 3D 设计的能力?

当初我得出这个结论的时候,心里感到一丝的恐慌:现在的工作强度,还哪有时间学习复杂的 Cinema 4D 或者 Blender 之类的专业 3D 设计软件啊!

展示了两款专业 3D 设计软件的标志,左侧为 CINEMA 4D 的标志,右侧为 Blender 的标志,表明了这两款软件在 3D 设计领域中的重要性。

然后我再往深处想了想,其实我需要的不是 3D 设计的能力,而是需要有获得 3D 素材的能力!意思是我不一定得会用这种专业的 3D 软件,但我要有办法获得想要的 3D 视觉素材,并且这个过程必须具备以下特点才能满足我的实际工作情境:

  1. 出图耗时短。因为实际工作中就是不值得在这方面投入过多时间。
  2. 风格高度统一。才能保证扩展性,以及系统风格的统一性,而这正正是通过找素材的方式没法做到的。
  3. 可定制程度高。指的是我要有办法定制 3D 素材里面的图像和元素,这样做才能确保产出物贴近实际业务,那用起来才有意义。

在想到这些东西的时候,刚好我了解到有一个叫做 Vector to 3D 的插件,似乎能够满足到以上三点需求,来提升我的工作效率和质量。于是我向领导提出这个设想,她也支持我去探索这个新工具。

这篇文章是公司内部分享会的文稿,记录着我当时探索出来的经验:如何利用 Vector to 3D 插件在 Figma 建立 3D 设计流程来提升我们的设计效率和质量。

三、通过 Vector to 3D 进行工作

插件介绍

这是一款付费插件,可以在 Figma 社区搜索并安装。

Figma 插件 “Vector to 3D” 的界面截图,展示了如何在 Figma 社区中搜索并打开该插件的页面,右侧为插件的操作界面,正在进行 3D 转换操作。

这款插件的 3D 能力分为两部分,全局配置项和当前物体配置项。接下来我将通过介绍这个插件的界面来简单介绍下这款插件。

对于全局配置项,我们可以在 “常规” 面板里配置视角和背景等参数、“渲染” 面板可以配置渲染质量、“光影” 面板可以配置灯光相关参数,如灯光数量 / 大小 / 位置 / 强度和颜色等。

Figma 插件 “Vector to 3D” 的界面布局设置截图,展示了 3D 场景的全局配置选项,包括渲染质量、光影和灯光编辑器等功能模块。

对于单个物体配置项,我们可以通过 “厚度” 或 “旋转” 等的方式建立模型,并使用 “细分品质” 提升模型的质量。值得注意的是,这个软件是通过将矢量图形挤压或旋转生成出 3D 模型的,不能像传统 3D 软件那样有多种建模方式(比如克隆、布尔运算或雕刻等)。

除此之外,该插件还支持配置材质参数,如粗糙度、金属度、折射率等。这些简单材质足以应对绝大部分的 B 端场景了。

Figma 插件 “Vector to 3D” 中单个物体配置的界面截图,展示了对 3D 对象进行具体参数调整的选项,包括材质、颜色、折射率等设置,并显示了材质预设的选择。

制作模版

这一小节会介绍两个该插件的功能,保存配置模版化

保存配置允许我们将当前画框内的视角参数、建模参数和材质参数等记录到该画框当中。下次打开编辑,或者分享给其他人打开的时候可以读取之前的配置,一键将矢量图形变成之前保存好参数的 3D 场景。

Figma 插件 “Vector to 3D” 的配置保存和读取界面截图,展示了如何保存当前配置到 Figma 图层中,以及如何读取预设配置应用到 3D 对象上。

模版化则是该插件与 Figma 原生功能联动的完美范例,也是高效产出 3D 素材的关键因素。

先说效果:插件会将当前物体的配置项(如厚度、位置、材质等)记录,然后用户可以将任意元素与该物体替换,并继承该物体的配置项。

这个能力极大便利了模版化生产素材。我们只要做好一个模版,然后无限替换元素,就可以生产出适用于各种业务场景的素材了。

方法很也简单,我们需要将画框设为组件,想要替换的元素也要作为这个画框组件内的子组件。(下面的例子中,我将圆球的底座作为可替换元素)

在 Figma 中将元素转换为组件的界面截图,显示一个半圆形元素和蓝色矩形被转换为子组件。

将这个画框组件拖一个出来,在插件中设定好 3D 配置并保存。

在 Figma 中保存 3D 配置的界面截图,左侧是一个带有粉色半圆的蓝色矩形组件,右侧展示了使用插件 “Vector to 3D” 后生成的3D圆球和矩形底座。

然后做出其他可供替换的元素,确保图层的数量、排序、命名与画框内的替换元素一致

在 Figma 中创建可替换元素的界面截图,展示了多个形状(正方形、圆形、星形)的组件。

最后我们在左侧面板中按住 Cmd + Option 将其他替换元素与画框内的替换元素进行替换,然后在插件中重新加载一遍模型,我们能看到新的形状也应用上原有替换素材的参数。

在 Figma 中通过 Cmd + Option 替换组件元素并重新加载模型的界面截图,左侧显示将圆形底座与矩形底座替换的操作过程,右侧为替换后继承了矩形底座样式的圆形底座。

这时,我们的模版已经制作成功了,后续只要无限制作替换素材,就可以获得无限的视觉素材。

实际应用

这里分享一个我在工作中实际应用的例子。我制作了一个生成蓝色 3D 玻璃风格图标的模版。

展示了一个蓝色 3D 玻璃风格的图标库,图标包括代码、星星、垃圾桶、点赞、分享、聊天气泡、下载、美元符号、闪电、心形、加号和引号等不同的图形符号。

这个模版中,图标和背景面板的形状均可以替换,由此可以生产出很多种变化,适应不同的业务场景。所以也可以积累成为素材库,供团队的其他成员使用。

同时,我也建立了一个色板,可以用于表达一些状态(成功、失败、警告等),或者用在不同颜色主题风格的系统内。这样我们的模版能产生更多的变化,适用到更多的场景中。

展示了一个色板图标库,图标包括红色、绿色和橙色的3D风格图标,符号包括感叹号、铃铛、叉号、T恤、星星、方向箭头、勾选、音乐符号、心形和播放按钮等不同的图形符号。

四、总结

上文介绍了 Vector to 3D 的界面使用、如何制作模版以及分享了我在实际工作中应用的例子,我们现在已经掌握了在 Figma 中进行 3D 设计的流程。文章的最后总结一下做这件事的优点。

1.学习成本低

可以将 Vector to 3D 理解为是一个简化版的 3D 软件,移除了像传统 3D 软件比如 Cinema 4D、Blender 里面的很多复杂功能,仅保留基础能力。

2.Figma 内完成全流程

用这套工作流程可以使设计师不离开 Figma 工作环境就能生产出不错的 3D 素材,并且出图后也能在 Figma 内进行简单调色。不需要像传统 3D 工作流程那样在不同软件里的来回导出导入。

3.可定制程度高

Vector to 3D 的特点是基于矢量图形生成 3D 模型,所以我们能轻松生产出业务相关的元素,使得视觉素材能高度贴近业务场景。

4.风格高度统一

Vector to 3D 能够与 Figma 组件能力联动。可以将灯光、摄像机等全局参数记忆在组件中,替换子组件也能继承原本的材质、位置参数。同时能够将这些参数模版化,无限产出相同风格的视觉素材。

这套工作流除了在我自己的实际工作中有成功应用,也成功影响到了团队中的其他设计师。在这次分享会过后,团队中有50%成员已经用在需求中使用该插件来生成视觉素材了。

五、非 Figma 工作流

最后看到这里的朋友如果当前团队没有在用 Figma 作为工作软件,或者并非 UI/UX 设计师也想试试通过 SVG 图形制作 3D 模型的过程,这里我贴 Vector to 3D 的网页版连接:https://www.meimu.design/vector-to-3d/

What is Macintosh HD now?

Perhaps you just tried to save a document, only to be told you don’t have sufficient permissions to do so, or attempted to make another change to what’s on your Mac’s internal storage, with similar results. You then select the Macintosh HD disk in the Finder and Get Info. No wonder that didn’t work, as you only have read-only access to that disk. But if you unlock it and try to make any changes to permissions, you see

xpermserror

What’s going on?

Between macOS Mojave, with its single system volume, and Big Sur, the structure of the Mac system or boot volume has changed, with Catalina as an intermediate. Instead of Macintosh HD (or whatever you might have renamed it to) being one volume on your boot disk, it’s now two intertwined and joined together. What you see now as Macintosh HD isn’t even a regular APFS volume, but a read-only snapshot containing the current macOS. No wonder you can’t change it.

Root

Select the boot disk Macintosh HD in the Finder, and it appears to have four visible folders, Applications, Library, System and Users, just like it always did. Press Command-Shift-. to reveal hidden folders and all the usual suspects like bin, opt and usr are still where they should be. That’s the root of the combined System and Data volumes, and what’s shown there is a combination of folders on both volumes, with the top level or root on the Sealed System Volume (SSV).

The contents of those folders are also the result of both volumes being merged together using what Apple terms firmlinks:

  • Applications contains apps installed in your own Applications folder on the Data volume, and those bundled in macOS on the SSV. You can see just the latter in the path System/Applications, where they appear to be duplicated, but aren’t really.
  • Library comes only from the Data volume, and all its contents are on that volume. But inside it, in the path Library/Apple/System/Library are some components that should appear in the main System/Library.
  • System comes only from the SSV, although it has some contents merged into it using firmlinks, such as those folders in Library.
  • Users also comes only from the Data volume, and includes all Home folders for users.

So while the root of Macintosh HD might be in the SSV, much of its contents are on the Data volume, and can be written to, even though the root is a read-only snapshot, thanks to those firmlinks.

Data volume

There are two places that mounted volumes are listed in the Finder: the hidden top-level folder Volumes, where Macintosh HD is just a link back to the root complete with its merged volumes, and in System/Volumes, where what’s shown as Macintosh HD is in fact not the merged volumes, but only the Data volume. You can confirm that by looking at what’s in System/Volumes/Macintosh HD/System, where you only see the parts of the System folder that are stored on the Data volume, and not those stored on the SSV.

What is more confusing there is that System/Volumes/Macintosh HD/Applications is the same merged folder containing both user and bundled apps as in the top-level Applications folder. That’s an artefact resulting from the way that its firmlink works.

But if you open the Get Info dialog on System/Volumes/Macintosh HD, you’ll see the same as with the root Macintosh HD disk, information about the root and not the Data volume.

Mounted in System/Volumes are several other volumes like VM and Preboot, and (depending on whether this is an Intel or Apple silicon Mac) folders such as Recovery and xarts, that you really don’t want to mess with.

Permissions problems

Tackling problems that appear to be the result of incorrect permissions is best done at the lowest folder level. If you’re trying to save a document to the Documents folder inside your Home folder, select that and Get Info on it. Chances are that you are the owner and have both Read & Write permissions as you should. In that case, the problem most likely rests with privacy protection as in Privacy & Security settings. You then suffer Catch-22, as you can only effect changes to those by closing and opening the app, and as you can’t save your document before closing the app, you’re at risk of losing its contents. You may have better luck trying a different folder, creating a new one inside your Home folder, or using the Save As… command instead (which may be revealed by holding the Option key when opening the File menu).

Full layout

In case you’re wondering exactly which folders are merged into the hybrid Macintosh HD ‘volume’, those are shown below in increasing levels of detail, starting with the broad layout.

BootVolGpVentapfs

Then to a simplified version of the full layout.

BigSurIntSimple

Finally, in complete detail.

BigSurIntegrated

Happy navigating!

Advanced SilentKnight: updating macOS and avoiding updates

Although we won’t know for sure until Apple releases the upgrade to macOS Sequoia next month, once again it will probably be presented as an update rather than a macOS upgrade. This means that, instead of Software Update downloading a complete Sequoia installer app, if you do choose to upgrade, it will be run through Software Update the same way that it might have updated from 14.5 to 14.6.

Although this is more efficient, resulting in a smaller update and faster completion, it also opens up the possibility of human error: what if you accidentally opt to upgrade, or click on SilentKnight’s Install all updates button? This article explains how you can stop that upgrade from completing, and how you could upgrade using SilentKnight instead of Software Update.

Updating or upgrading macOS

When SilentKnight has completed checking for updates, if there’s a macOS update or upgrade available you can install it if you wish, from within SilentKnight. Although my personal preference is to hand macOS updates over to Software Update in Settings, SilentKnight should also work fine, up to a point.

skupdate1

To test this, I opened a VM running Sonoma 14.6, with XProtect 5270 and XPR 140. When it had found all three updates available, I clicked on the Install all updates button, just as I have always advised you not to! SilentKnight proceeded to download the macOS 14.6.1 update, but once that was complete it failed to install it. It then proceeded to download the XProtect and XPR updates, which it did successfully install on its own.

skupdate2

There was a vague notification that “Some updates could not be installed”, and the VM was left in 14.6, with XProtect and XPR correctly updated.

skupdate3

skupdate4

At that stage, Software Update stated the 14.6.1 update was available, offering a Restart Now button. When I clicked on that, the VM restarted and installed the 14.6.1 update successfully.

SilentKnight doesn’t provide the handy progress indicator that Software Update does, but just turns its busy spinner until the updates have finished. So you may still prefer to install macOS updates using Software Update. However, the end result should be just the same if you let SilentKnight do it, and finish off the installation using Software Update.

Downloading updates

skupdate5

Using another copy of the same VM running Sonoma 14.6 with outdated XProtect and XPR, I set SilentKnight’s settings to download but not install updates, then clicked the Download all updates button.

This left all the updates uninstalled, but there was no sign of them in the standard /Library/Updates folder as documented for softwareupdate. I looked high and low for those updates, but was unable to find them anywhere. I therefore recommend that you don’t use this option until someone has worked out where those downloaded updates are kept.

Unwanted macOS updates

If you click either the Install all updates or Download all updates button and one of the updates is for macOS, that will leave Software Update poised to complete the installation. If you didn’t want to install that macOS update, there is a way that you can now persuade Software Update to forget that it has been downloaded and is waiting, ready to install. This is most useful if you didn’t intend updating macOS, and now want to undo the process.

Shut your Mac down, then start it up in Safe mode. Leave it there for a minute or so, then restart it back into normal mode. Those uninstalled updates should now have been flushed, and Software Update is back to where it started.

Summary

  • You should now be able to install macOS updates using SilentKnight if you wish. When warned that some updates weren’t installed, open Software Update settings and complete the installation there using the Restart Now button.
  • Don’t use SilentKnight’s setting to only download but not install updates, as the downloaded updates can’t be found and used.
  • If you inadvertently click the Install all updates button and want to reverse that for a macOS update, let the download complete, shut down, start up in Safe mode, wait a minute, then restart in normal mode.
  • These apply to Apple silicon Macs, and are untested in Intel Macs, although there’s no reason to believe they should differ there.

❌