Tuesday, October 19, 2021 [Tweets] [Favorites]

The Best Mac External Displays

Scharon Harding:

Apple held its fall event was today, and the stars of the show were the M1 Pro and M1 Max announced for the new MacBook Pros. We even got new AirPods and word on macOS Monterey. But all was quiet on the displays front. Hope for a larger iMac with Apple Silicon to accompany the 24-inch model announced in April was not rewarded, and the Apple Pro Display XDR is still Apple’s only standalone monitor. If you were waiting for today’s event to help you select the next screen to run macOS on, we feel your pain. We can’t force Apple to release new displays, but we can round up some non-Apple PC monitors worth considering if you need something now.

The best option still seems to be the LG 5K. I wonder whether it’s improved from the earlier models that so many people seemed to have problems with.

Marc Edwards:

If you’re considering an external display for your Mac, there’s a few important decisions to make.


Apple Music Voice Plan


The Apple Music Voice Plan offers subscribers access to the service’s catalog of 90 million songs; tens of thousands of playlists, including hundreds of brand new mood and activity playlists, personalized mixes, and genre stations; as well as the award-winning Apple Music Radio — all through Siri for just $4.99 per month.


Apple Music Voice Plan subscribers will get a customized in-app experience with suggestions based on the listener’s music preferences and a queue of recently played music through Siri. Within the app there will also be a dedicated section called “Just Ask Siri” where subscribers can learn tips to optimize Siri for Apple Music.

For access to Apple Music’s premium offerings, including Spatial Audio and Lossless Audio, Lyrics, Music Videos, and more, subscribers can easily switch to Apple Music’s individual plan for $9.99 per month or family plan with up to six accounts for $14.99 per month at any time.

Benjamin Mayo:

so if you have the Voice Plan the Music app will show you a list of things you can ask Siri to play, but no play button lol!

John Gruber:

This plan struck me as weird when it was announced during the keynote, but it makes sense for the way many people use Apple Music: by just asking Siri to play whatever, where “whatever” is a particular song, a particular artist, or a particular mood.


Amazon Music has a $4/month Echo plan that is very similar, but Amazon’s Echo plan is limited to one single Echo device or Fire TV.

App Tracking Transparency Helps Apple’s Ads

Eric Benjamin Seufert:

Last week, Apple introduced a new ad unit to the App Store: a paid placement on its Search page. Rumors of this new unit had circulated previously, although the notion that Apple would increase the density of ad placements in the App Store was wholly predictable, as I assert in this piece and this piece. Apple is expanding its mobile advertising platform in parallel with the rollout of the App Tracking Transparency (ATT) privacy policy, which presents meaningful commercial challenges to other mobile ad platforms and will likely diminish their operational efficiency.

With ATT, Apple has robbed the mob’s bank. In bolstering its ads business while severely handicapping other advertising platforms — but especially Facebook — with the introduction of a privacy policy that effectively breaks the mechanic that those platforms use to target ads, Apple has taken money from a party that is so unsympathetic that it can’t appeal to a greater authority for redress. Apple has brazenly, in broad daylight, stormed into the Bank of Facebook, looted its most precious resource, and, camouflaged under the noble cause of giving privacy controls to the consumer, fled the scene.

John Gruber:

I guess this money is too good to pass up. But Apple pushing further into mobile advertising now — right after launching this App Tracking Transparency feature — just looks cheesy. It’s ham-fisted.

Nick Heer:

From a consumer’s perspective, there is some logic to the argument Apple is making and which is echoed by the W3C. Using only first-party data to target advertising fits with the existing business relationship a user has with a company. If I have tracking enabled, I fully expect Apple to use my App Store purchase history to show me ads for other apps. If I use one of Facebook’s apps, I will not be surprised if it uses the accounts I follow and things I search to inform the advertising it shows me. But if I launch some other third-party app, I only know that some undisclosed SDK will inform the ads Facebook and Google show me elsewhere because I am in this industry and I write this website. It’s the same thing for ad tracking across the web.

But if platform owners get to claim that the activity that occurs in their own apps and third-party apps that are required to use a specific payment mechanism, that gives them a diabolical first-party advantage.

Alex Heath:

Apple’s rule for other developers: you have to ask users if they want to be “tracked” for ad targeting

But Apple’s own ad tracking is “personalization,” which sounds much less nefarious

Marko Karppinen:

You can absolutely implement on-device ad personalization the way Apple does, and Apple will not require you to pop up the App Tracking Transparency consent dialog for that

You can implement it the way Apple does by only using your own data, but you won’t get the results that Apple does because it gets extra data by virtue of being the platform owner and exclusive app distributor.

Dan Masters:

Classic Apple dark pattern! Compare the primary action for Apple’s ad tracking prompt vs the App Tracking Transparency modal, pictured above

Ben Lovejoy:

The Financial Times reports that because Apple’s own search ads effectively let developers target users by interests, it became much more appealing once ATT rules came into force.

Apple’s advertising business has more than tripled its market share in the six months after it introduced privacy changes to iPhones that obstructed rivals, including Facebook, from targeting ads at consumers.


Branch, which measures the effectiveness of mobile marketing, said Apple’s in house business is now responsible for 58 per cent of all iPhone app downloads that result from clicking on an advert. A year ago, its share was 17 per cent.


That is set to see Apple’s ad business revenue climb from $5B this year to $20B/year within three years, estimated one research group.


Media analyst Eric Seufert has previously made the same point – that Apple’s ad business does give itself privileges unavailable to competitors. However, he said the analysis behind the FT piece may overstate the position, for several reasons[…]

Patrick McGee:

What has made Search Ads suddenly attractive is not any new feature but the fact that Apple has rendered the rest of the ad industry “blind” in the iOS universe, says @kochavaofficial, whose own data has Search Ads up 69% since June, while rivals are down 43%(!) on average.

Damien Geradin:

Last year, I attended a hearing where Apple and its lawyers swore that its privacy changes were not in any way motivated by a desire to grow its advertising activities, which would remain totally marginal.


Amazon Knockoffs and Search Placement

Aditya Kalra and Steve Stecklow (via Hacker News):

A trove of internal Amazon documents reveals how the e-commerce giant ran a systematic campaign of creating knockoff goods and manipulating search results to boost its own product lines in India - practices it has denied engaging in. And at least two top Amazon executives reviewed the strategy.

Adrianne Jeffries and Leon Yin (via Hacker News):

An investigation by The Markup found that Amazon places products from its house brands and products exclusive to the site ahead of those from competitors—even competitors with higher customer ratings and more sales, judging from the volume of reviews.

Nick Heer:

Earlier this year, Mother Jones cited several journalists who, in the words of one, claimed that Amazon is “the only company [they have] dealt with that has directly lied to me”. Several reporters used that word, “lie”, or said the company was deceitful in its responses to journalists — that it goes far beyond a typical carefully worded corporate message.

Manish Singh (via Slashdot):

Five members of the House Judiciary Committee have accused (PDF) Amazon’s top executives of either misleading or blatantly lying to it about its business practices and said they are considering an investigation following publication of two damning reports last week.

John Gruber:

There’s a good argument for Amazon on this front that store brands are as old as retail. That Sears did the same thing a century ago, and that Walmart does it now. And that of course retailers with house brands — including Amazon — look at sales data to choose what to make. But that’s not what Amazon — and Jeff Bezos in particular — have said under oath. Bezos left Jassy with a serious mess to clean up here.


Monday, October 18, 2021 [Tweets] [Favorites]

MacBook Pro 2021

Apple (video, Hacker News, MacRumors, Stephen Hackett, Jesper, The Verge, Slashdot):

Apple today unveiled the completely reimagined MacBook Pro powered by the all-new M1 Pro and M1 Max — the first pro chips designed for the Mac. Available in 14- and 16-inch models, MacBook Pro delivers groundbreaking processing, graphics, and machine learning (ML) performance whether running on battery or plugged in, as well as amazing battery life — enabling workflows previously unimaginable on a notebook. The new MacBook Pro also features a stunning Liquid Retina XDR display, a wide range of ports for advanced connectivity, a 1080p FaceTime HD camera, and the best audio system in a notebook.


Up to 2.1x faster project builds in Xcode [compared with i9].


Unlike other pro notebooks that lose performance when they are not plugged in, MacBook Pro delivers the same level of performance whether it is plugged in or using the battery. This unprecedented combination of system performance, on-battery performance, and battery life sets MacBook Pro apart from every other notebook.


Physical function keys — including a wider escape key — replace the Touch Bar, bringing back the familiar, tactile feel of mechanical keys that pro users love.


ProMotion technology also comes to the Mac on this new display, featuring an adaptive refresh rate up to 120Hz.


Both models feature three Thunderbolt 4 ports to connect high-speed peripherals, an SDXC card slot for fast access to media, an HDMI port for conveniently connecting to displays and TVs, and an improved headphone jack that supports high-impedance headphones. MagSafe returns to MacBook Pro with MagSafe 3, featuring an updated design and supporting more power into the system than ever before. MagSafe 3 makes connecting a charge cable quick and easy while protecting MacBook Pro. Additionally, fast charge comes to the Mac for the first time, charging up to 50 percent in just 30 minutes.

This looks really great, advancing the state of the art as well as righting lots of wrongs. It’s even slightly thicker, at 0.66 vs. 0.64 inches, which is probably inconsequential in feel but speaks to a more sensible balance of design priorities.

The remaining problems carried over from the 2016 design: the huge trackpad that gets lots of accidental input, the keyboard feel, and the glossy display.

Only the M1 Max supports more than 32 GB of RAM, and then the only option is 64 GB. My iMac has 40 GB, which is perhaps the equivalent of 48 GB since none is reserved for video, and I still see a significant amount of paging. So, for a primary Mac, I’d want more than 32 GB, but 64 GB is more than I need and costs $800 extra (including extra GPU cores that I don’t need).

However, that doesn’t yet appear to be a decision that I need to make because, with no external Retina 5K display, I’m going to wait for the forthcoming large-screen iMac.

John Gruber:

People want standalone displays for their MacBooks and Mac Minis. People don’t want to spend $5,000 on a Pro Display XDR. Third-party display makers clearly are not capable or willing of serving the Mac market. So why not get back in the prosumer display game with a $1,500 iMac-quality standalone display?

Marco Arment:

For the first time in five years, the MacBook Pro looks like it was designed by and for people who love computers.

Rich Siegel:

This is the first laptop in 5 years where I don’t feel like I’ve had to settle for stuff I didn’t really want (constrained memory, touch bar) in order to get something I really did (13-inch machine, touch ID).


Apple flexing so hard about how they gave back ports that they took away is just poetry.

Matt Birchler:

They basically said “using dongles sucks” and I lost it.

But you’ll still need to carry extra cables for Lightning and USB-A devices, and perhaps for Ethernet.

Paul Graham:

Apple got rid of the touch bar! Finally I can buy a new laptop.

Marco Arment:

This turned out less funny than I expected

Well, even Apple’s logo has a notch.

James Thomson:

Menus to the left of me, icons to the right, here I am stuck in the notch with you.

If your menus are short enough.

Joe Groff:

Loving the squared edges, tiny bezels, assortment of ports, and dark keyboard on the new MacBook Pro design


Update (2021-10-19): Jason Snell:

Here’s a quirk of the new MacBook Pros. On the 14-inch models, the larger 96W USB-C power adapter is required for fast charging. You can fast charge either via MagSafe or via a standard USB-C cable attached to that adapter. However, on the 16-inch models—all of which come with a 140W adapter—you can only do ultra-fast charging via MagSafe. While there’s a new specification that allows for much higher power delivery levels over USB ports, the Thunderbolt 4/USB 3 ports on the MacBook Pro don’t support it. You can still charge via those ports, of course—just not at the ultra-fastest speed.


Apple’s argument for getting rid of the SD slot was that the future would be wireless, and we wouldn’t need to use cards to transfer data anymore. It wasn’t true back in 2016, and it’s still not true.


When the Touch Bar arrived, I thought it had a lot of potential. Unfortunately, there were two big problems: a lack of tactile feedback and software support. […] As for the lack of software support, that comes from the top: After the launch of the Touch Bar, Apple did almost zero to help the hardware fulfill its potential.


I can’t remember the last time this was true, but both models of MacBook Pro can be configured to the same heights if you want to—every single built-to-order option from the more expensive, larger model is also available in the smaller one.

Matt Birchler:

The SD card reader alone made me want to buy this computer to replace my Air immediately. This is what my computer looks like when I need to import images/video from my modern Canon camera[…]

Matt Birchler:

Most high end cameras can wirelessly connect to your computer (or phone for that matter), but they often transfer super slowly, and sometimes even convert your RAW images to JPG in the process (presumably to improve the transfer speed). Wired connections work, but often transfer speeds are still very slow due to slower USB tech in the device. Using my Canon EOS RP as an example, I can plug in via a USB-C cable, but photos and video transfer at about 1/3 the speed I get from just plugging the SD card into Apple’s SD-to-USB-C adapter.

Another issue is that many photographers shoot with multiple SD cards. If they have a big job, they’re going to have several SD cards with them, and they’ll swap between them as they fill up each card. Needing to use their camera as a several thousand dollar dongle to offload these photos/video to their computer is a pain (and has slower speeds).

Steve Troughton-Smith:

Notch avoidance

See also: Pinboard.

Apple M1 Pro and M1 Max

Apple (video, Hacker News, MacRumors):

The CPU in M1 Pro and M1 Max delivers up to 70 percent faster CPU performance than M1, so tasks like compiling projects in Xcode are faster than ever. The GPU in M1 Pro is up to 2x faster than M1, while M1 Max is up to an astonishing 4x faster than M1, allowing pro users to fly through the most demanding graphics workflows.


M1 Pro offers up to 200GB/s of memory bandwidth with support for up to 32GB of unified memory. M1 Max delivers up to 400GB/s of memory bandwidth — 2x that of M1 Pro and nearly 6x that of M1 — and support for up to 64GB of unified memory. And while the latest PC laptops top out at 16GB of graphics memory, having this huge amount of memory enables graphics-intensive workflows previously unimaginable on a notebook. The efficient architecture of M1 Pro and M1 Max means they deliver the same level of performance whether MacBook Pro is plugged in or using the battery. M1 Pro and M1 Max also feature enhanced media engines with dedicated ProRes accelerators specifically for pro video processing.


Utilizing the industry-leading 5-nanometer process technology, M1 Pro packs in 33.7 billion transistors, more than 2x the amount in M1. A new 10-core CPU, including eight high-performance cores and two high-efficiency cores[…]

Scott Perry:

The M1 Max’s DRAM is as fast as Intel’s on-die LLC circa 2016. Between this and the SSD performance (as fast as RAM was about 10 years ago), Apple is making a mockery of memory hierarchies.

Hector Martin:

As for the M1 Pro/Max, reminder that a single P-core can saturate the M1’s memory bandwidth, even significantly downclocked. And the M1 already has a lot of memory bandwidth. All that extra memory bandwidth in the new chips has to make a pretty big difference.

See also: Ken Shirriff.


Update (2021-10-19): Andrei Frumusanu:

Today’s reveal of the new generation Apple Silicon has been something we’ve been expecting for over a year now, and I think Apple has managed to not only meet those expectations, but also vastly surpass them. Both the M1 Pro and M1 Max look like incredibly differentiated designs, much different than anything we’ve ever seen in the laptop space. If the M1 was any indication of Apple’s success in their silicon endeavors, then the two new chips should also have no issues in laying incredible foundations for Apple’s Mac products, going far beyond what we’ve seen from any competitor.

Steven Sinofsky:

Apple’s M1 Pro/Max is the second step in a major change in computing. What might be seen as an evolution from iPhone/ARM is really part of an Apple story that began in 1991 with PowerPC.


When you look at M1 Pro/Max today it is tempting to think of this in terms of performance, but performance per watt AND integrated graphics AND integrated memory AND integrated application processors is innovation in an entirely different direction.

AirPods 3

Apple (video, Hacker News, MacRumors):

By combining the power of the H1 chip with an Apple-designed acoustic system, the new AirPods use computational audio to deliver breakthrough sound with Adaptive EQ. Users can enjoy spatial audio featuring Dolby Atmos in Apple Music, movies, and tv shows, along with dynamic head tracking, across Apple devices. The new AirPods are resistant to sweat and water, and feature a force sensor for easy and intuitive control of music and phone calls. The extended battery life enables up to six hours of listening time and up to 30 hours of total listening time with the convenient charging case.


AirPods also feature AAC-ELD, a superior speech codec that offers full HD voice quality, providing clear, natural communication for FaceTime calls.


A new skin-detect sensor accurately discerns if AirPods are in the ear — versus in a pocket or on a table — and pauses playback when removed.

I like the shorter stem, water resistance, and the fact that Apple seems to have kept its most comfortable shape. I wonder if the increased battery life comes from a larger battery, meaning that the product might last for more years.

I don’t like that it has the less usable pressing controls from AirPods Pro, and the less comfortable case size and shape.

The original AirPods and AirPods 2 were $159. AirPods are $179, but you can now get AirPods 2 for $129. I still like AirPods Pro because of the noise cancellation, but otherwise I’d probably be happier with AirPods 2, even without the $50 savings.


Update (2021-10-18): AirPods 2 does not include a wireless charging case. Originally, you could get AirPods 2 bundled with the wireless case for $199. Now, it seems to only be available as a $79 extra, making the total more than with AirPods 3. That’s kind of strange, though for me the wireless case is not very important.

SuperDuper 3.5 Beta 4 for Monterey and Apple Silicon

Dave Nanian:

Part of rolling these Betas slowly involves trying to figure out how to help users when these failures happen: basically, it’s a learning process, and when we can’t refer to the code, and the errors are (at best) a number and a word or two, well, it takes some time.

At this point, though, I’m relatively confident I understand how to work around most of asr’s failures.


Apple silicon execution require new-style licenses purchased after June of 2019, when our new license system was released. Old licenses will not work natively… and if you want to run natively on an Apple silicon Mac with registered features, you’ll need a new license.

I’ve probably gotten more years of free updates for SuperDuper than any other software I’ve purchased. I ran into the same issue with eSellerate licenses and SpamSieve, except that I used my own licensing system for newer purchases. I ended up supporting the old licenses in the native app by using an XPC service that runs in Rosetta. However, I do not necessarily recommend this approach. There’s a bug where, on certain Macs, XPC messages get blocked: the service never receives them and so the app hangs waiting for a response. I’m guessing this is a Rosetta issue, since I ran into a similar bug with AppleScript and Rosetta and because I’ve not heard of such problems with the many apps that use XPC services of the same architecture.


Friday, October 15, 2021 [Tweets] [Favorites]

Apple Refuses App Store Changes for South Korea

Mike Wuerthele (also John Gruber):

The Korea Communications Commission (KCC) is in charge of enforcing compliance with the new App Store payment law. While Google says that it plans to comply in full with the law, including the adoption of third-party payment systems, Apple appears to be resisting it, saying that there is nothing that it needs to change.


The law went into effect last month but Apple had told the South Korean government that it was already complying and did not need to change its app store policy, a Korea Communications Commission (KCC) official in charge of the matter told Reuters.

“This goes against the purpose of the amended law,” the official said, requesting anonymity as the KCC was still in talks with Apple on compliance.

This reminds me of Apple “clarifying” the rules in the Cameron v. Apple Settlement, except that here there seems to be even less basis for the position that they’re already complying.


Update (2021-10-19): Geoff Keating:

I suspect what’s going on is the law says something like “must allow a choice of payment providers” and Apple says “we have Visa and PayPal”. The law cannot say “Apple must allow all apps on its platform for free” because that’s expropriation and there are treaties against it.

The Risks of Client-Side Scanning

Ben Lovejoy:

The British government has expressed support for Apple’s now-delayed CSAM scanning plans, and says that it wants the ability to scan encrypted messages for CSAM, even where end-to-end encryption is used.

Tim Hardwick:

More than a dozen prominent cybersecurity experts hit out at Apple on Thursday for relying on “dangerous technology” in its controversial plan to detect child sexual abuse images on iPhones (via The New York Times).

The damning criticism came in a new 46-page study by researchers that looked at plans by Apple and the European Union to monitor people’s phones for illicit material, and called the efforts ineffective and dangerous strategies that would embolden government surveillance.

Hal Abelson et al. (PDF):

Some in industry and government now advocate a new technology to access targeted data: client-side scanning (CSS). Instead of weakening encryption or providing law enforcement with backdoor keys to decrypt communications, CSS would enable on-device analysis of data in the clear. If targeted information were detected, its existence and, potentially, its source, would be revealed to the agencies; otherwise, little or no information would leave the client device. Its proponents claim that CSS is a solution to the encryption versus public safety debate: it offers privacy -- in the sense of unimpeded end-to-end encryption -- and the ability to successfully investigate serious crime. In this report, we argue that CSS neither guarantees efficacious crime prevention nor prevents surveillance. Indeed, the effect is the opposite. CSS by its nature creates serious security and privacy risks for all society while the assistance it can provide for law enforcement is at best problematic. There are multiple ways in which client-side scanning can fail, can be evaded, and can be abused.

Bruce Schneier:

It’s not a cryptographic backdoor, but it’s still a backdoor — and brings with it all the insecurities of a backdoor.


We had been working on the paper well before Apple’s announcement. And while we do talk about Apple’s system, our focus is really on the idea in general.

Ross Anderson:

We did not set out to praise Apple’s proposal, but we ended up concluding that it was probably about the best that could be done. Even so, it did not come close to providing a system that a rational person might consider trustworthy.

Even if the engineering on the phone were perfect, a scanner brings within the user’s trust perimeter all those involved in targeting it – in deciding which photos go on the naughty list, or how to train any machine-learning models that riffle through your texts or watch your videos. Even if it starts out trained on images of child abuse that all agree are illegal, it’s easy for both insiders and outsiders to manipulate images to create both false negatives and false positives. The more we look at the detail, the less attractive such a system becomes. The measures required to limit the obvious abuses so constrain the design space that you end up with something that could not be very effective as a policing tool; and if the European institutions were to mandate its use – and there have already been some legislative skirmishes – they would open up their citizens to quite a range of avoidable harms.


Apple’s Threat Analysis of Sideloading

Apple (PDF, via Hacker News, MacRumors, Slashdot):

iPhone is a highly personal device where users store some of their most sensitive and personal information. This means that maintaining security and privacy on the iOS ecosystem is of critical importance to users. However, some are demanding that Apple support the distribution of apps outside of the App Store, through direct downloads or third-party app stores, a process also referred to as “sideloading.” Supporting sideloading through direct downloads and third-party app stores would cripple the privacy and security protections that have made iPhone so secure, and expose users to serious security risks.


31 pages of fearmongering?

Damn, Apple must actually be scared!

Tim Sweeney:

If automated software analysis or human review were essential for security, iOS could support or even require it for competing stores. Mac notarization shows it’s feasible. Nothing about security requires an Apple monopoly on distribution.

Furthermore, competing stores could do a much better job than Apple of ensuring quality software, going above and beyond Apple’s modest standards for human review - typically a 6 to 12 minute process staffed by only several hundred employees worldwide, most of them not engineers.

Look at the amazing job that Sony, Microsoft, and Nintendo do of quality assurance on console. It’s so good that a sub-par game release is almost a once-in-a-decade news story. If Apple faced competing stores, those companies plus Valve, Epic, and others could step up.

Michael Love:

I don’t think alternate stores make any sense without sideloading; if it’s important sideloaded apps by reviewed by sb you can have a bunch of 3rd party Notarization Authorities or whatever, but the binary should be coming from my server.

Alternate app stores add competition - which is certainly good - but don’t fundamentally change the app distribution model; direct sideloading does because it lets installation happen at the point of discovery, and discovery can happen anywhere; can install an app from a tweet.

Mike Wuerthele:

Thieves have used a combination of social media, dating apps, cryptocurrency, and abuse of Apple's Enterprise Developer program to steal at least $1.4 million from unsuspecting victims.


After gaining the trust of the victim through the dating apps, scammers start discussing cryptocurrency investments. They are then directed to a website that looks like the Apple App Store, and then told to download a Mobile Device Management profile, giving control of a number of features, and the ability to use signed apps made by the fraudsters.


Old Apple Human Interface Guidelines

Andy Matuschak:

Why are there no “standard texts” on designing software interfaces? (or tell me I’m wrong?)

If you want to learn to build software, there are excellent and complete texts on the subject. It’s not just a tech-vs-art thing: there are standard texts on type, drawing, color, etc.

Andy Matuschak:

[S]everal people mentioned the original 1987 Apple Human Interface Guidelines, which I’d not read. It’s not a comprehensive primer on interface design, but it is an extraordinary read—a huge amount of detail on why things are as they are. And a great bibliography!

Andy Matuschak:

Oh my gosh, and there’s a (pre-release) 1985 HIG that’s quite different. It includes e.g. case studies (useful!), and an extended discussion of Jung’s theories of intuition and how they should influence your designs (!!)

There’s a 1995 version here. I like Tog on Interface.


Thursday, October 14, 2021 [Tweets] [Favorites]


Arthur Edelstein (via Hamed Haddadi):

PrivacyTests.org is an open-source testing program that measures browser privacy characteristics, and a website, https://privacytests.org, that renders the results for human consumption.

XPC Service’s Methods Not Necessarily Run on Main Thread

Matthias Gansrigler:

After subsequently moving them into an XPC service and thinking it would “just work”, I found that it didn’t. At least not reliably. Maybe every 8th or 9th time, yes, it did all it was asked to do, but every other time, it outright refused to execute Apple Scripts.

After two days of desperate attempts to get it working correctly, and almost giving up on the XPC privilege separation entirely for this, I figured I’d check to see if the Apple Scripts were being executed on the main thread.

Update (2021-10-15): Thomas Clement:

It is documented that NSXPCConnection calls back on the connection’s internal private queue.

Todd Ditchendorf:

I was tinkering with creating an app with an XPC service around 2013 and gave up cos it was flakey. In hindsight, I’m pretty sure this was the problem.

XcodeNueve: Running the Xcode 9 Tools

Brendan Shanks:

A hack allowing the use of Xcode 9’s toolchain on macOS Catalina, Big Sur, and Monterey.

Xcode 9.4.1 and the macOS 10.13 SDK are the last versions capable of building 32-bit Intel (i386) binaries.

Due to internal frameworks that reference private AppKit instance variables (removed in macOS Catalina), Xcode 9 and its included toolchain fail to run on any macOS version past Mojave.

For projects which need to build i386 binaries to support macOS 10.14 and earlier (like Wine), this requires keeping around a 10.14 build machine, which is undesirable for a number of reasons (no more security updates, requires older hardware, can’t also run latest Xcode, etc.)

The Xcode 9 app itself still doesn’t work, but this lets you use its compiler and other tools.

Wednesday, October 13, 2021 [Tweets] [Favorites]

Keyb 1.3

Zev Eisenberg (tweet):

Type with one hand, no special hardware required! I wrote Keyb while holding my sleeping daughter in one hand. It’s also great for permanent and temporary disabilities, or tasks where you want to keep one hand on the mouse, like gaming or spreadsheets.

How does it work? Simply hold down the spacebar, and the left and right half of your keyboard magically swap places. The two halves are mirrored, so if you would normally type a letter with your left middle finger, use your right middle finger. The same is true in the other direction. If you can already touch-type, you’ll be surprised how quickly your brain gets used to it!

It’s free on the Mac App Store.

Swift-DocC Is Now Open Source

Franklin Schrans:

Swift-DocC encompasses tools and libraries to help developers write and generate documentation on many platforms, including macOS and Linux, with the goal to support all platforms with a Swift toolchain. The docc command line tool is already integrated in Xcode 13 and is architected in a way that can be integrated with other build systems such as SwiftPM. The open source project is composed of several components, some of which may be interesting in their own right for building other developer tools. The components include:

  • Swift-DocC — the documentation compiler tool that processes source file comments, standalone Markdown files, and related assets to produce a machine-readable JSON archive.
  • Swift-DocC-Render — a JavaScript-based web application that renders compiled DocC archives.
  • Swift-Markdown — a library that makes it easy to parse Markdown syntax in Swift.
  • SymbolKit — a Swift library that parses the symbol graph files emitted by the Swift compiler. These files encapsulate information about a module’s APIs, including their documentation comments.

The tooling understands the Swift documentation comment syntax already popular within the Swift community in stand-out tools like Jazzy and SwiftDoc, and in IDEs like Xcode. It adds some novel syntax features, too. For example, the double-backtick ``SymbolName`` syntax creates links between symbols.


Visual Studio and Teams Get More Native


We’re moving Visual Studio for Mac to native macOS UI, which will fix over 100 previously reported issues related to performance, reliability, and product quality. By using native macOS UI, the IDE now works more reliably with macOS’s built in assistive technologies. In this first preview release, we’re giving you a glimpse at the IDE and focused on main features .NET developers use to build applications for the web.

My understanding is that this used a cross-platform UI layer [Update: Gtk+], not Electron.

Faisal Khan (via Hacker News):

Microsoft recently announced that they have reached a whopping 250 Million active users with Teams. Not Word or Excel but Teams is the rockstar of the Microsoft Office suite. But, it has always been plagued with performance issues as it consumes heaps of system resources. Running Teams is a nightmare on computers with less memory to work with.


The senior vice president of Microsoft Teams announced that Teams would be moving to their own Edge Webview2 Rendering Engine ditching Electron for seeking performance gains. It is marketed that Teams would consume 2x less memory as a result of the transition. It would be called Teams 2.0 and might ship with Windows 11 in late 2022.

I’m not sure this makes much difference for Mac users, since it’s still built on Web technologies with a bundled browser engine.


Tuesday, October 12, 2021 [Tweets] [Favorites]

Download Progress With Awaited Network Tasks

Soroush Khanlou:

One would think the URLSessionTaskDelegate would have some affordance that calls you back when new bytes come in, but if that exists, I couldn’t find it.

However, iOS 15 brings a new API that can be used for this purpose — a byte-by-byte asynchronous for loop that can do something every time a new byte comes in from the network — called AsyncBytes.


One question that this API raises: why does it call your block with every byte? The (very) old NSURLConnectionDelegate would give you updates with chunks of data, so why the change?


I think this example highlights something important about this new API. The file I was trying to download was about 20MB. That means my for loop is going to spin 20 million times. Because of that, it’s extremely sensitive to any slow tasks that take place in the loop.


The last thing I did, which did work, is to keep a local variable for the progress, and then only update the progress in SwiftUI when the fastRunningProgress had advanced by a percent.

Joseph Lord:

For the record AsyncSequence blazing fast in beta 5. 🏎❤️ Quicker to XOR the bytes in the file with AsyncSequence of bytes than to Data(contentsOf:) and iterate over the unsafe bytes

David Smith:

I think one of the biggest things people are going to be startled by in my async Swift code is how often I write async functions that aren’t (usually) asynchronous. It took me a few months and some advice from a coworker to internalize how useful this is.


The most obvious case this is useful is if you have some sort of cache: check the cache, if you hit do the thing immediately, if you miss, suspend and do the thing once you’ve loaded what you needed into the cache.

David Smith:

For bytes, next() looks approximately like this…

@inline(__always) @inlinable mutating func next() async -> UInt8 {
    if bufferRange.isEmpty { await refillBuffer() /* does suspend */ }
    return buffer[bufferRange.popFirst()] /* doesn't suspend */


Boox Nova Air Review

Jason Snell:

What if someone built a tablet that could run a wider selection of apps but still had the crisp, clear look of an E Ink screen?

In fact, a few companies have been trying to marry E Ink with Android for a while now. Recently I got a chance to spend a lot of time with the Boox Nova Air, a $389 Android tablet with an E Ink display, just as I was also spending time with Apple’s $499 iPad mini.


Once I was able to get everything set up, was I able to use the Boox Nova Air as a reader for my newspapers, RSS, newsletters, and other content apps, as well as for ebooks via the Kindle and Kobo apps? Yes, I was. But with the exception of the book-reading apps—which were built for a page-at-a-time reading experience that’s perfect for E Ink—what I found was that using apps intended for standard screens was always awkward.


Redesigning iOS Alarm and Timer Notifications

Matt Birchler:

What’s always confused me is that the timer makes “I’m done with this” the primary action, while the alarm makes “I need more time” the primary action. Why is this? Even after years with this UI, I still get it wrong sometimes because I have to do some thinking on “is this an alarm or a timer?” which isn’t terribly hard, but it’s harder than normal when you’re either tired and have a phone blaring annoying sounds at you.


No matter what the reason, I think there are a few main problems with the current UI, even if there is a logical reason to have their order flipped.

  1. The order of options is flipped between timers and alarms.
  2. The colors in the UI don’t seem to indicate anything. Orange is destructive? The opposite? 🤷‍♂️
  3. The buttons are smaller than they need to be.

And there’s a huge amount of empty space, yet no icons.


TextExpander 7

Diana Prodan (release notes):

15 years ago, the small team of developers at Smile acquired the core product we now know and love called TextExpander. In those 15 years, we’ve been through many iterations and changes to the product, and our small team has expanded to almost 40 team members.


Enhanced Snippet Suggestions make it even easier to notice and create Snippets from frequently-typed words and phrases.


The app now shows you how to resolve conflicts with your Snippet abbreviations in a clear, easier-to-use interface.


You can now view search results by group, and adjust how your search results are sorted and presented to quickly find what you need.

Pricing is unchanged.


Monday, October 11, 2021 [Tweets] [Favorites]

Firefox Can Now Fill Out PDF Forms

Mozilla (via JP):

Last year, during lockdown, many discovered the importance of PDF forms when having to deal remotely with administrations and large organizations like banks. Firefox supported displaying PDF forms, but it didn’t support filling them: users had to print them, fill them by hand, and scan them back to digital form. We decided it was time to reinvest in the PDF viewer (PDF.js) and support filling PDF forms within Firefox to make our users’ lives easier.

While we invested more time in the PDF viewer, we also went through the backlog of work and prioritized improving the accessibility of our PDF reader for users of assistive technologies. Below we’ll describe how we implemented the form support, improved accessibility, and made sure we had no regressions along the way.

This is not a full-featured PDF annotation editor, but it does let you fill in a form and save it as a new PDF file.


Simplifying Backwards Compatibility in Swift

Dave DeLong:

Every year as new OS and Swift versions are released, the question comes up over and over again: “how do I use this new thing while also supporting older versions?”. While we have a bunch of “availability” tools at our disposal (and I’ll be using them in this post), they always come across as somewhat cumbersome: we need to do inline checks, or we have conditional logic flow that obfuscates the intent of some of our code, and so on.


At first glance, this doesn’t look very useful; it’s a struct that holds a single value, and it doesn’t do anything. This is by design. Backport exists to serve as a holding space (namespace) for shims: the conditional code we must write in order to do proper availability checking.


Unfortunately, I have not come up with a good way to backport things like specific properties on SwiftUI’s EnvironmentValues, such as .headerProminence.

I have typically done this sort of thing by declaring prefixed category methods, but this technique lets you keep the original method name by adding a namespace.


Update (2021-10-19): Christian Tietze:

Behold: @davedelong’s Backport, but for cross platform SwiftUI

Google Winds Down Material Design for iOS

Jeff Verkoeyen:

This year my team shifted the open source Material components libraries for iOS into maintenance mode.

Since 2012 and the original launch of Google Maps iOS, my team has supported the creation and maintenance of shared UI components across Google. This was originally born out of a need to fill gaps in UIKit’s design language.


With the introduction of SwiftUI and significant UIKit improvements in iOS 14+, it’s never been easier to build a great branded experience with a tiny amount of code.


The time we’re saving not building custom code is now invested in the long tail of UX details that really make products feel great on Apple platforms.

Via Charles Arthur:

I think the TL;DR of this thread is that Google apps on iOS will start looking like they were born on iOS in future, rather than looking like they’re from another planet.

Jason Snell:

This is good news. It’s good for Google’s developers, who no longer have to build that custom code. And more importantly, it’s good for people who use Google’s apps on iOS, because with any luck they’ll be updated faster, work better, and feel more like proper iOS apps, not invaders from some other platform.

Apple Appeals Anti-Steering Ruling in Epic Case

Jay Peters and Sean Hollister (PDF, tweet, MacRumors):

While Apple largely won that case (the company went so far as to call the ruling a “resounding victory”) with Judge Gonzalez Rogers ruling in favor of Apple in nine of the ten claims Epic brought against the company, it did lose in one important way: the judge found that Apple violated California’s anti-steering rules, and demanded that Apple let developers link to outside payment systems. That policy would have taken over in December, but it may be pushed out beyond that — and it seems that’s the point.


Apple claims that the new anti-steering rule is unnecessary because the company had already agreed to delete the offending section of its App Store Guidelines in the Cameron v. Apple settlement, but that’s news to us: at the time, Apple only agreed to “clarify” that app developers were allowed to communicate with consenting customers, not link to outside payment systems. That clarification was widely seen by developers as a red herring. At the time, Apple didn’t say anything about deleting a section of its App Store Guidelines entirely.


Friday, October 8, 2021 [Tweets] [Favorites]

Orion 0.99

Vladimir Prelovac (Hacker News):

Orion is fast, privacy-respecting and open to the web, standards and protocols. If you want a browser that just works, is lightning fast, respects your privacy, stays out of your way and lets you get the job done, Orion makes it possible. It is a browser built for professionals, by professionals. It is also that one browser that you install for your grandma and the web would just work for her, on default settings.


Safari features are great to begin with, but they also leave a lot to be desired. Whether a built-in ad-blocker or productivity enhancements, with Orion we are able to provide the users with exactly what they need.

If you thought Safari is fast, wait until you experience Orion. Orion is simply the fastest browser on Mac. We took the same WebKit core web engine (also used by Safari) and built a snappy, lightweight browser around it.

I was skeptical, but I’ve been using the Mac version on and off for several months, and it really does feel faster than Safari. It kind of reminds me of iCab back in the day, except that being based on WebKit it’s fully compatible. Tabs can work like in Safari 14 (i.e. standard macOS tabs) or vertically like in Edge. The developer has been very responsive to feedback.

Orion is also a truly zero telemetry browser, with a built-in powerful ad and tracker blocker. Orion has the highest possible protection for your privacy on the web, by default.

And finally, extensions! Orion has native support for both Chrome and Firefox extensions.

It also works with EagleFiler’s capture hotkey. Unfortunately, there’s no way for it to integrate with Safari-specific features like Reading List, iCloud Tabs, bookmarks syncing, and security code auto-fill.


Firefox Suggest and Contextual Suggestions

Mozilla (via Hacker News, 3, 4):

Firefox has always provided address bar suggestions, such as websites from your browsing history, bookmarks and open tabs (on by default), as well as suggestions from your default search engine. Beginning in Firefox version 92, you will also receive new, relevant suggestions from our trusted partners based on what you’re searching for. No new types of data are collected, stored, or shared to make these new recommendations.


To help you find information faster, Firefox Suggest uses a service provided by us to offer relevant suggestions for what you’re typing. When you opt-in to improve Contextual suggestions, Mozilla receives your search queries. When you see or click on a Firefox Suggest result, Mozilla collects and sends your search queries and the result you click on to our partners through a Mozilla-owned proxy service. The data we share with partners does not include personally identifying information and is only shared when you see or click on a suggestion.

However, it sounds like it does send your city location as you type (if you opt in).

Chris Hoffman:

Unfortunately, all major browsers now use a combined address and search bar. So, if you’re typing in the address of a sensitive website to go directly there, your keystrokes as you type will be sent to your default search engine and your search engine may be able to determine the website address you’re typing in manually.

Firefox Suggest is just more of that. In addition to sending your keystrokes to Google or whatever your default search engine is, Firefox will also send them to Mozilla. Both your search engine of choice and Mozilla will return suggestions.

Dave LeClair:

In a move that’s sure to make no one happy, Firefox is getting sponsored address bar suggestions.


Based on the image shared by Mozilla, the results don’t look overly intrusive, as they appear right alongside the other options, but it’s still annoying to see even more ads when browsing the web.

Thankfully, you can turn this feature off quickly enough.

Dutch Antitrust Watchdog Wants IAP Changes

Juli Clover:

Apple’s in-app purchase requirements are anti-competitive, the Netherlands Authority for Consumers and Markets (ACM) has decided, reports Reuters. The ACM has ordered Apple to make changes to the rules that force developers to use in-app payment options.


The ACM told Apple about its decision on in-app purchases last month, and it was the first antitrust regulator to decide that Apple has abused its market power in the App Store . Apple has not been fined, but the ACM wants it to make changes to in-app purchase rules.


Halide 2.5: Macro Mode

Ben Sandofsky (The Verge, MacRumors):

To start, tap the “AF” button to switch from auto focus to manual focus. Since Macro is often best done with the focus fixed to a close subject or with some adjustment, Macro Mode lives in the manual focus controls. To then enter Macro Mode, tap the the flower icon — the universal symbol for macro.


If you’d rather adjust focus by hand, we increase the swipe-distance of our focus dial so you can make granular adjustments down to the millimeter. To nail that focus point, Focus Peaking draws an outline around the sharpest areas of your image. You can set it to automatically trigger when adjusting focus, or you can turn it on and off.


We trained a neural network to upscale images in a way that produces much sharper, smoother results than what you typically get in an editor. It’s available on all iPhone with a neural engine— anything made in 2017 or later— and it produces full 4k resolution JPEGs at either 2× or 3× magnification.

This sounds great, and I appreciate the manual focus controls, but I did not notice much difference with Neural Macro over the built-in Camera app on my iPhone 12 mini. In some cases, Halide was a little sharper. Sometimes it had slightly better color, sometimes slightly worse. Perhaps the improvement is more evident at certain distances or with certain types of macro photos.

John Voorhees:

In my testing over the past day, the results have been impressive. I’m especially fond of the precise focus dial that allows for minute adjustments that make a difference at such close range.


Update (2021-10-15): See also: Hacker News.

The Business of VPNs

Brian X. Chen (via Roustem Karimov):

The reality is that web security has improved so much in the last few years that VPN services, which charge monthly subscription fees that cost as much as Netflix, offer superfluous protection for most people concerned about privacy, some security researchers said.

Many of the most popular VPN services are now also less trustworthy than in the past because they have been bought by larger companies with shady track records.


For several years, I subscribed to a popular VPN service called Private Internet Access. In 2019, I saw the news that the service had been acquired by Kape Technologies, a security firm in London. Kape was previously named Crossrider, a company that had been called out by researchers at Google and the University of California for developing malware.

In the last five years, Kape has also bought several other popular VPN services, including CyberGhost VPN, Zenmate and, just last month, ExpressVPN in a $936 million deal. This year, Kape additionally bought a group of VPN review sites that give top ratings to the VPN services it owns.

Nick Heer:

According to a May 2021 Restore Privacy report, Kape bought Webselenese and its vpnMentor and Wizcase review websites. Both websites aggressively push their top three picks which, funny enough, are all owned by Kape. Wizcase also publishes reviews of security software, and picks Intego as the best antivirus software for the Mac; Kape also owns Intego.

But if you were browsing either review website, you would probably miss Kape’s ownership. While a legitimate news organization would typically display conflicts of interest in immediate context, the word “Kape” appears nowhere in the on-page text, nor does it appear on the dedicated ExpressVPN review page. Wizcase’s “About” page says that the review site “believe[s] in transparency” and the footer on every page claims that it is an “independent review site”. vpnMentor says that its “reviews are not based on advertising” and its claims of honesty make it a “powerful transparency tool for the internet”.

Joseph Menn (via Hacker News):

When a senior executive at virtual private network company ExpressVPN admitted to working on behalf of a foreign intelligence service to hack American machines last week, it stunned employees at his new company, according to interviews and electronic records.

Nick Heer:

This is a more comprehensive look at ExpressVPN’s sketchy history and its ownership that leave me with the impression that the world of VPNs is mostly bullshit. The honest take is that these products help users circumvent geographic restrictions, particularly for things like streaming services. I am convinced that, if streaming companies and media rightsholders were less concerned with nit-picking contracts and more focused on providing a great experience, there would be far less demand among everyday users for VPNs.


Thursday, October 7, 2021 [Tweets] [Favorites]

Paddle In-App Purchase for iOS

Paddle (Hacker News, MacRumors):

The Epic Games v. Apple verdict clears the way for app creators to choose an alternative to Apple’s payment system (and its 15-30% fee!). But choose the wrong provider and you’ll be burdened with managing payment and subscription logic, taxes, fraud, and buyer support.

Paddle In-App Purchase will let app creators replace Apple’s In-App Purchase without worrying about any of that.

Besides lower fees, they have a long list of features beyond what the App Store offers.

It’s not yet clear whether Apple will allow any sort of non-IAP in-app payments or try to extract a 30% IP licensing fee for external purchases.

Kif Leswing (via Michael Love):

Paddle built three different implementations of an iPhone payments product in the hope one will comply with the rules.

“We would love to hear from Apple, and get on-the-record a description of exactly what’s going to be allowed versus not,” Owens said.


RevenueCat, a company that builds tools for iOS developers to manage customer subscriptions, is also developing a browser-based payment system that developers can to apps add without having to build their own, CEO Jacob Eiting said.


“We’re operating under the assumption that developers will still be required to use Apple’s IAP inside of their apps but that you now will be allowed to reference and link to external paywalls,” Eiting said.


Kaleidoscope 3

Christopher Atlan (tweet):

We have listened to your feedback and enhanced the app accordingly, with new tools for inspecting version control changesets and more settings for text comparisons. We have also brought a fresh new design specifically tailored for macOS Big Sur and macOS Monterey, including support for the Apple M1 chip.


Now you can quickly search for files by name or file extension.

We’ve also added the ability to filter files that have been changed, added, or deleted in a version control changeset.


Kaleidoscope 3 is now available as a one-time purchase for $149.99, and $69.99 upgrade for existing customers.

I like the new support for binary plists.

Previously it was $69.99. I imagine that this is a tricky app to sell because, even though it’s great, parts of its functionality are available in tools that developers already have: BBEdit, Tower, Xcode, FileMerge. And in most cases I compare files using those apps because I’m already in them. But sometimes I need more power or want more convenience for a certain workflow, and then I’m really glad that I have Kaleidoscope.

Craig Hockenberry:

I look at the $150 as an insurance policy more than a purchase. I need this app to stay healthy - and we all know it was close to death. Remember: eight years without a major version update.

I learned this from @xscopeapp - same thing - people complain that the app is too expensive. And buy cheap alternatives that disappear in a few years because the other developer finally realizes it’s not worth it.

Pay well for your tools. Don’t be cheap with your time.


Update (2021-10-08): By way of comparison, Araxis Merge Standard is $129 and Araxis Merge Professional (which adds 3-way merging, included in Kaleidoscope) is $269.

iOS 15 Tips and Tricks

Tim Hardwick:

Open the Tabs Group, tap group’s name at the bottom of the screen, then tap Edit in the top-left of the Tab Groups card menu. Tap the circled ellipsis next to the Tabs Group in question, then select Copy Links.


Enter jiggle mode by holding your finger on a space on the Home Screen, then tap the dots above the Dock to enter the Home Screen pages view.


Bring up the Text Size selector in Control Center, and you’ll see new options to apply the text size adjustment to the system, or just the app that’s currently open.


In iOS 15, however, it’s possible to drag an app from Spotlight and place it right onto the Home Screen, which means you no longer need to continually drag app icons between Home Screen pages to rearrange them.


The Shelf minimizes when you interact with an open window, but you can resurface it by long pressing the app’s icon and selecting Show All Windows.


Simply initiate a walking route, then raise your iPhone and scan the buildings around you when prompted. The step-by-step directions will appear in the AR mode automatically, which should make it easier to get where you need to go, especially in situations where the directions are tricky.


[W]hen on a FaceTime call or when taking a call on a third-party app like WhatsApp or Teams, launch your device’s Control Center, tap the Mic Mode button, top-right, then tap Voice Isolation to enable it.


Background Sounds are designed to help you stay focused, stay calm, and minimize distractions with the help of your iPhone or iPad. The Background Sounds on offer include balanced, bright, and dark noise, as well as natural sounds like ocean, rain, and stream.


Wednesday, October 6, 2021 [Tweets] [Favorites]

Reproducible Code Signing on Apple Silicon

Keith Smiley:

For people who expect reproducible builds, Apple Silicon machines provide an interesting challenge.


The gist of this logic is to fetch the UUID embedded in every binary and use that to derive the identifier. The reason this isn’t reproducible across architectures is because the UUID is based on the content of each binary, which differs across architectures.


While this was a very informative deep dive into this logic, if you rely on reproducible binaries and want to support Apple Silicon machines, you need to do 2 things for binaries without Info.plist files:

  1. Don’t allow the linker to automatically sign your binaries by passing -no_adhoc_codesign
  2. Pass an explicit identifier when linking binaries with --identifier to the codesign invocation


Mac Safari Extension: ActiveTab

Zhenyi Tan:

ActiveTab makes it easier to spot the active tab in Safari on Mac by drawing a line below it. It works by predicting the position of the active tab based on the size of your browser window and the number of tabs.


ActiveTab is available for $1.99 on the Mac App Store, with no in-app purchases, no ads, and no tracking.

This sounds great, although unfortunately, because it’s implemented using JavaScript, it needs full permissions for “Webpage Contents and Browsing History” even though all it really wants is to draw a rectangle.

See also: John Voorhees and Tim Hardwick.


iOS Safari Extension: StopTheScript

Jeff Johnson:

StopTheScript is my new Safari extension for iOS 15 and iPadOS 15 that stops all JavaScript on your selected websites!


If you install StopTheScript, you may find it strange that the extension has no settings. This is a technical limitation. Why? When a Safari extension is loaded into a web page, the extension’s settings are not available immediately; any settings must be fetched from storage, an async operation. The problem is that the <head> of an HTML document may contain <script> elements. If StopTheScript had to wait for settings to be fetched from storage, then it might be too late to stop the JavaScript from running already! Thus, StopTheScript has to do its “magic” at the very beginning of the document load, even before elements of the <head> are loaded. This is why StopTheScript relies on Safari’s own extension permission system. Safari users can grant an extension access to specific websites, and only those websites.


Will StopTheScript be coming to Safari on the Mac too? I hope so, in the future, but right now it can’t, unfortunately. […] The problem is that "run_at":"document_start" doesn’t work right in Safari on macOS, a bug that I blogged about over a year ago.


“date -d” vs. “date -s”

Rachel Kroll:

$ date -d @1700000000
Tue Nov 14 14:13:20 PST 2023

The problem is, there’s another command very much like it that will even spit out the same output, only it has a nice little side-effect: it also sets the clock. That command is date -s.

If you’re on a QWERTY layout or are generally familiar with it, you might notice that [S] and [D] are right next to each other and are an easy typo to make with your left hand. That’s one way to screw up.

Another problem is that you might not have known that -s has that effect[…]

There doesn’t seem to be a -s in the Mac version of date.


Update (2021-10-08): Matt Garber:

That’s one of several differences between the GNU coreutils date on Linux, and the BSD version included in at least FreeBSD and macOS. Also, the BSD version’s -d flag is completely different: “Set the kernel’s value for daylight saving time”.

Simon Stiefel:

On macOS, no option is needed to change the flag which is arguably worse, e.g. date 1234 sets the time.

Chris Dzombak:

also, crontab -e vs. crontab -r

Tuesday, October 5, 2021 [Tweets] [Favorites]

Celebrating Steve Jobs

Jason Fried:

On the 10th anniversary of Steve Jobs’ passing, Jony Ive reflected on the man he worked with for nearly 30 years. It was a lovely remembrance, primarily orbiting the sanctity of the creative process and the burbling of ideas. It reminded me about something else Jony said about Steve in shortly after his death:

“And just as Steve loved ideas, and loved making stuff, he treated the process of creativity with a rare and a wonderful reverence. You see, I think he better than anyone understood that while ideas ultimately can be so powerful, they begin as fragile, barely formed thoughts, so easily missed, so easily compromised, so easily just squished.” —Jonathan Ive

John Gruber quotes Ive’s remembrance.

Dave Mark (tweet, MacRumors):

Start off by going to Apple’s front page, check out the short film, “Celebrating Steve” and scroll down for the “Statement from the Jobs family”.

That pic of Steve slouched in an office chair, about 4 seconds in, struck me as familiar. Was that Susan Kare’s chair?

Jason Snell:

The fact that so much of Apple’s growth has happened since Jobs’s departure hasn’t reduced him at all. It would be relatively easy to argue that the success of Tim Cook’s Apple suggests that, despite everyone’s concern in the late days of 2011, the company actually could go on without Jobs at the helm. But that’s not what anyone thinks. Instead, Jobs is credited for putting Apple on the path that led to it becoming what it is today.


iPadOS 15 Multitasking

Kirk McElhearn:

Apple first introduced multitasking features back in iOS 9, and expanded on them with iPadOS 13, but they were hard to use, and most iPad users only encountered them when an accidental swipe on their tablet’s screen enabled them. Now, in iPadOS 15, these features are a lot more usable, and easy to discover.

In this article, I’ll explain how to use multitasking on the iPad to view two apps at a time, and more.

Federico Viticci:

The new multitasking menu is both a reflection of how iPadOS has evolved over the years and an indictment of iOS 11’s solution, which required hidden drag and drop gestures and was undiscoverable by people who don’t read reviews like this one. iPadOS 15’s multitasking represents the beauty of a button: you see it because it’s always there, you click it, and it does what you expect.

Of course, it wouldn’t be a modern Apple multitasking control if it also didn’t serve double duties via hidden gestures and other implementation details. For starters, the multitasking button also acts as an active app indicator while in Split View or Slide Over to show you which of the app displayed onscreen is the active one receiving keyboard input. As you can see in the screenshot below, the active app on the left gets an enclosed button with darker dots compared to the inactive one on the right[…]