justin․searls․co

Apple has internally tested a new Apple Pencil with visionOS support, according to a source familiar with the matter. This would allow the Apple Pencil to be used with drawing apps on the Vision Pro, such as Freeform and Pixelmator.

One hopes you're supposed to wave it around in the air like a conductor might.

Whenever I see that a maintainer has disabled GitHub Issues on their repo, I recoil: “wow, that’s incredibly hostile!”

But if the repo has anything to do with video games, my reaction is 180º the opposite: “kudos for protecting your mental health against the horde.”

My favorite thing about macOS is how consistent the interface metaphors are. No matter what app you’re in, if you click the red circle in the top left corner, it’ll close the window.

Unless, of course, you’re in the Music app’s MiniPlayer. In that case the red circle makes the window 16 times larger. Naturally.

Breaking Change artwork

v8 - Anti-trustworthy

Breaking Change

This podcast is dedicated to the brave men and women at the Department of Justice for taking bold and decisive action against a clear and present danger to the continued existence of the United States of America: Apple's use of green bubbles and how they make some Android users feel bad.

Since the DOJ's lawsuit is all about vibes, send me your vibes—good or bad—and I'll be there for you. Who knows, if you choose to direct your energy to podcast@searls.co, maybe I'll get lucky and finally feel something in this cold, dead heart of mine.

Links and such follow:

Show those show notes…

So much of programming looks like deciding between six of one and half-a-dozen of the other, but the reason it’s so hard is that a keen attention to detail almost always reveals it’s really 6.05 of one versus 0.498 of a dozen.

Sweating the small stuff is almost always rewarded in the long-term, even if either path would work in the short-term.

  1. Login authentication fails (incorrect password)
  2. Click Forgot Password
  3. Open reset password link
  4. Paste exact same password in as new password
  5. Error: new password cannot match current password
  6. ಠ_ಠ

It's a little blurry, but it feels miraculous that I can use my Apple Watch or iPhone while wearing Apple Vision Pro. Earlier this week I accidentally used my Mac's physical screen for 10 minutes before realizing I hadn't enabled screen sharing.

The Terms of Service are coming from inside the house!

I just received this e-mail directly from my Synology NAS, to alert me to a change in its data collection policy. Who is the “our”, here?

If a device in my house e-mails me from inside my house, kinda seems like the data it’s collecting should also be in my house?

I keep encountering bugs in popular open source projects like libxml, Rails, etc., but I’m just one man—I don’t have the time to chase down root causes and submit pull requests.

I don’t need GitHub Sponsorship money, but what if someone else was sponsored just to follow me around and fix all the wacky, deep-seated bugs I find?

The Weibo user explained that the ‌iPad Pro‌'s new matte display option will be offered in addition to the standard, glossy glass finish. It apparently features -4° to +29° of haze and may tout some kind of blue-light blocking technology to help protect the eyes. Matte screen protectors for the iPad have become popular, so it is possible that Apple is trying to offer such an option at the point of purchase for those who want it.

I wonder what this means for display performance in direct Florida sunshine, as the current iPad lineup is worthless outdoors here.

How to control Time in Ruby on Rails

Faking time is a frequent topic of conversation in software testing, both because the current time & date influence how many programs should behave and because reading a real system clock can expose edge cases that make tests less reliable (e.g. starting a build just before midnight on New Year's Eve may see assertions fail with respect to what year it is).

I've approached this issue a dozen different ways over the years, and there are a number of tools and practices promoted in every tech stack. Rubyists often lean on the timecop gem and Active Support's TimeHelpers module to manipulate Ruby's time during testing. Regardless, no tool-based solution is robust enough to cover every case: unless the operating system, the language runtime, the database, and every third-party service agree on what time it is, your app is likely to behave unexpectedly.

But wait, there's more…

Not a big fan of the two big three-letter acronyms to emerge in the Apple blogosphere so far in 2024. To recap, these already have robust definitions in online discourse:

  • AVP: Alien versus Predator
  • CTF: Capture the Flag

My useless superpower is the ability to accurately predict in advance exactly how miserable something will be, and with no ability to do anything about it but to wait in lucid anticipation for said misery to unfold.

Apple is in discussions with Google to integrate its Gemini AI engine into the iPhone as part of iOS 18, according to Bloomberg's Mark Gurman.

Through iOS 5, Maps and YouTube were native apps that Apple built and which were backed by Google services. This was advantageous for both parties at first. Apple wasn't nearly ready to roll out its own mapping service and Google was more focused on growing YouTube's reach than monetizing it. Eventually, it stopped making sense for either party, and they went their separate ways.

The primary media narratives about this focused on Steve Jobs' "thermonuclear" threat over Android's copying of the iOS UI and the degree to which the two companies had begun to compete on services. But one thing that was lost in the discussion—which never really squared with the fact Google has continued to pay Apple tens of billions a year to be Safari's default search engine—was that both companies maintain relatively-tenuous moats to lock in customers.

Right now, Google needs people to reach for its AI and search stack before a generation of users learn to "GPT it", and Apple needs an AI stack for its platform that can compete with the dozens of devices set to launch that are little more than thin candy shells on top of OpenAI's API.

I really hate the idea of this deal, and I bet executives at both companies do, too. Which is why it's so unfortunate that it also makes sense.

Decided to “treat myself” and pull in a third party dependency to render breadcrumb links in this new app I’m building. Apologies to future me for when this inevitably breaks someday! I was being lazy.

Simultaneously save+copy screenshots on the Mac

[UPDATE: Since publishing, I've simplified these instructions and reduced the latency in bringing up the screenshot tool by about half.]

[UPDATE 2: If you're on macOS 14.4 Sonoma and you want to avoid "Operation Not Permitted" errors, there's no sure-fire way to avoid them whether you set this up via Shortcuts or Automator, so I'd recommend using Keyboard Maestro instead.]

macOS ships with a pretty rad Screenshot app, except that one thing about it totally sucks: it can be configured to either copy screenshots to the clipboard or save them to files, but not both.

Well, I finally got off my ass and cooked up a way to have my save and copy it, too. Read on if you're interested.

And then what happened?…

Unifi has a neat way of sorting dates

This UI, which appears to be the result of a query like ORDER BY year DESC, date ASC is a violence.

Gripping story, overall, and worth a read. This bit stuck out to me as something I'd never considered before, but felt obvious as soon as I was exposed to it:

Political communicators are sticking to approaches developed for an era when ticket-splitters and swing voters composed a sizeable chunk of the electorate. But with a body politic that has sorted into two highly polarized parties—with just one-tenth of voters torn between them—the logic of persuading voters to support a candidate has grown obsolete. Ad campaigns should instead promote the Democratic Party itself, Malchow proposes, particularly at moments when news events might help it win new adherents, such as after a mass shooting, which thrusts gun-control policy back into the news and voters might be ready to reconsider their allegiances.

To wit: in an era of extreme party polarization, 90% of people in the US are voting based on party affiliation, but campaign advertising is still centered on candidate choice. This isn't just inefficient, it's counter-productive, since most candidates run away from their parties in general elections because both parties' brands are so toxic. Focusing money and messaging on bolstering a party's brand seems like a much smarter way to meet this moment of overwhelmingly party-line voting.

I can only hope I'll still have meaningful insights to offer others during my final week on earth.