❌

Normal view

Sunsetting Maestral

7 July 2026 at 20:52

Sam Schott:

As of June 2026, Maestral is no longer actively maintained. The current version will continue to work until certificates expire.

Via John Gruber (Mastodon):

I don’t know when these certificates are expiring. And I don’t know what I’m going to do when they do. I might try moving everything from my Dropbox account to iCloud Drive. That certainly seems worth trying before I resort to going back to Dropbox’s own monstrosity of a Mac client.

[…]

In theory, because Maestral is open source, someone could fork it and keep it going.

Nick Heer:

I use Dropbox only for some relatively basic but necessary things, like hosting PDFs for this very website, which is why Maestral has been the perfect client for me. It is a testament to the effect of a good third-party app that I have stuck with Dropbox despite its corporate-focused strategy pivot.

I’ve switched to iCloud Drive, which seems better, but not better than Old Dropbox.

Previously:

WhatCable 1.1.7

6 July 2026 at 19:45

Darryl Morley:

WhatCable explains cable speed, charging limits, e-marker data, and connected devices in plain English. Name a cable and it tracks how the cable actually performs over time, so you can spot the one that has started misbehaving. No more guessing why a cable charges slow or refuses to drive your display.

Via Norbert M. Doerner:

It is open source, free, and definitely a tool to look into, if you have external drives on your Mac!

Previously:

Update (2026-07-10): Dan Moren:

For example, after looking at it, I realized that my backup drive was only connected via a USB2 cable. Fine in general for overnight backups, but when it reminded to me when I was troubleshooting some backup issues that maybe I should switch to a high speed cable that supports USB-3.

[…]

For a Β£9.99 one-time purchase, you can unlock WhatCable Pro, which works on up to two Macs, lets you assign names to cables so you can remember which one it is when you plug it in later, provides more in-depth diagnostics, offers live power metering to see how much juice is being delivered right now, and even more.

Swift Package Index Joins Apple

24 June 2026 at 21:55

Ted Kremenek, Dave Verwer, and Sven A. Schmidt (Hacker News):

Bringing Swift Package Index to Apple allows us to build on its strong foundations while preserving its vision and expertise. Together, we’re building a comprehensive package registry to serve the Swift community’s evolving needs.

[…]

Swift Package Index will continue to operate as it does today. You can continue to rely on it to discover packages, check compatibility, and explore documentation. As we embark on this new phase, our goal is to accelerate development and introduce new features that make discovering and evaluating packages even better.

[…]

Swift Package Index will remain open source.

Helge Heß:

A little sad that this era ends. SPI was a stronghold of Apple independence, a package index run by independent and trusted individuals.

Rewriting Apple’s TrueType Hinting Interpreter in Swift

12 June 2026 at 20:34

Scott Perry:

My team rewrote Apple’s TrueType hinting interpreter in Swift, ask me anything.

[…]

I feel like naming just one would be a disservices to all of the features that made this effort possible (C interop, generics, noncopyable/nonescapable types) but at the end of the day I think the star of the show was the optimizer; despite being faster than the code it replaced, the new code is super readable and that was only possible because the optimizer was able to completely eliminate all of our abstractions.

The new version is faster, but the main motivation was security concerns.

Dmitrii Kalianov:

Is hinting useful/being used in the days of hi-dpi displays? I was under impression that Apple switched to grayscale anti-aliasing and ditched hinting.

Scott Perry:

For the most part hinting isn’t really necessary anymore, but thanks to being Turing-complete it has been Hyrum’s law-ed by at least one CJK font that uses hinting to lay out strokes in its characters.

Alex Rosenberg:

There were three major TrueType implementations at Apple IIRC:

  • The original 68K one
  • A rewrite for Copland that lived with ATS/ATSUI after Copland was cancelled
  • iPhone shipped one derived from heavily-modified FreeType that was current until today

Scott Perry:

One of the axioms for this project was that I wanted my team to write the most boring code possibleβ€”nearly identical structurally to the code it was replacing, because to do otherwise would introduce binary compatibility risk. The other axiom was 100% test coverage for all new code as it landed, with the same units testing both interpreters.

Rosyna Keller:

Is the font parsing code itself still C++?

Scott Perry:

There is also a β€œSafe Font Parser” for WebKit in Lockdown Mode, but it supports a subset of all the myriad features provided by font formats.

Previously:

Update (2026-06-16): Scott Perry (Hacker News):

Font parsers process data from untrusted sources, making the TrueType hinting interpreter a security-critical attack surface. To make the format more resilient on Apple platforms, we rewrote its hinting interpreter from C to memory-safe Swift for the Fall 2025 releases. In addition to memory safety, we also improved performance: on average, our Swift interpreter runs 13% faster than the C interpreter it replaced.

[…]

Binary compatibility was crucial for this project to succeed: existing programs had to continue to function the same as they did before, effectively unaware that a new implementation was in place. This means not just interface compatibility but pixel-identical glyph rendering as well, relative to the C implementation.

[…]

To ensure correctness, we developed two test suites. The first was a unit test suite that can target both implementations, providing exhaustive (99.7%) code coverage for both. This suite is included with the open source release of the Swift interpreter.

Then, to represent real-world workloads, we used a fuzzer to minimize a corpus of 10 million PDF files down to 4,200 without any loss of code coverage.

[…]

Following WebKit’s Safer Swift Guidelines, the example below demonstrates how to wrap a bridged structure from C in a projection type that uses Ref for lifetime safety, brokers bounds-safe access to the underlying data, and returns idiomatic Swift types to its callers.

The interpreter source is on GitHub.

Marcin Krzyzanowski:

@_lifetime(copy code, copy twilightZone, copy glyphZone)

See also: Phillip Tennen’s Writing a TrueType font renderer (Hacker News).

Previously:

❌