Get ready for a three-hour-plus Breaking Change spectacular! Why is it special? I'm not going to tell you. You'll just have to listen.
Remember, money doesn't change hands when you consume this Content™, but that doesn't make it free! In exchange for downloading this MP3, the license requires you to write in to podcast@searls.co at least once every three episodes. Some of y'all are past due, and I know where to find you.
Want URLs? I got URLs:
Are Apple Vision personas… people?
This is some real snake-eating-its-own-tail shit by Apple Photos. What the hell am I supposed to click in order to not screw up its training of Aaron's face?
I hate code review less now
I've hated the culture of asynchronous code review for years, especially as the popularity of GitHub and its pull request workflow lent itself to slow, uninformed, low-empathy, bureaucratic workflows to address problems that would be better solved by higher-bandwidth collaboration between team members.
That said, as someone who's spent the last 9 months building an app by myself, I've really enjoyed having GPT 4o as my "pair". It's still too slow: I get bored and tab away to check Mail or Messages. But instead of waiting hours for feedback I'm waiting for literal seconds. There's also zero ego, politics, or posturing. And while it does hallucinate bullshit, there's far less of it than one can expect from bleary-eyed developers squinting at the GitHub web UI looking for a way to score points. And yes, I have to correct its corrections sometimes, but it almost always catches minor oversights that I (and my linter) would have missed.
TIRED: Spicy autocomplete in your IDE
WIRED: This shortcut that pipes git diff
to the ChatGPT Mac app and asks it to critique the code like Justin Searls would
Give it a try. It's another reason that I, for one, welcome our LLM underlords.
Help me fill this out
Starting from scratch with my RSS subscriptions.
Only rules for each feed:
- Is interesting
- Is published by an individual
Anything you'd recommend? Let me have it: justin@searls.co
How to Reset People & Pets in iCloud Photos
If you're experiencing persistent issues caused by the People & Pets metadata in iCloud Photos, there is a hidden way to reset it across all devices associated with your account.
The most common reasons you might want to do this:
- You accidentally merged multiple people and can't train your way out of detangling them
- You accidentally removed people and can't get iCloud Photos to recognize them as people again
- The People Collection in the iOS Photo Shuffle lock screen and the updated watchOS 11 Photos watch face configurators is missing someone important, and you hope that by resetting everything, your spouse or kid or whoever will start appearing (this is the issue I've had for a couple years now)
The reset function is not currently available from any settings screen, and is only triggered by selecting and removing all people and pets in a single remove operation. I only tested this on a Mac (under macOS 15.0 Sequoia), but it may also work on iPhone and iPad. Since it will trigger a full re-scan of your photo library, it made the most sense to trigger the reset on a Mac that has the full library downloaded locally.
Steps, in a nutshell:
- Select all the people (not the groups) in the "People & Pets" tab of the Photos
app (you can do this by selecting one and pressing
Command-A
or by clicking the first and then shift-clicking the last) - Press the delete key
- If absolutely every item is selected a special dialog will appear prompting you to "Reset People & Pets Album". Click it, if you dare
- Don't touch anything. Over the next several days while Photos is "finding people", anyone you name or any people you attempt to merge may (will?) disappear entirely
Subsequently, an indeterminate progress bar was displayed for five minutes or so in my case (I have about 160,000 photos and 50,000 videos). Following that, you should see the "Finding People…" status view appear on the People & Pets tab of each of your devices.
Hopefully this fixes whatever ails you! 💜
The Empowered Programmer citations
I meant to be more on top of it than this, but thanks to some day-of turbulence, I failed to do two things before my Rails World talk on Thursday:
- Post this promised post of links to my blog so people could see all the various tools and advice I'd referenced
- Redirect Becky's old site (buildwithbecky.com) to the new one (betterwithbecky.com)
Whoops!
Anyway, better late than never. Here are the things I mentioned in the talk:
- Better with Becky, the new product we just launched
- Test Double the leading Ruby & Rails consultancy I had the privilege of co-founding
- My Active Storage advice
- My podcast, Breaking Change (Apple Podcasts | Spotify | Overcast | Youtube)
- My free monthly newsletter, Searls of Wisdom
Of course, most of you reading this weren't in the audience in Toronto and haven't seen the talk. Sit tight, I'm told that Rails World's turnaround time for getting the video online won't be too long. 🤞
There are a bunch of other things about the app's design and architecture that I had to cut for time and which I hope to share in the future, as well as a behind-the-scenes look at how I put together the presentation. Stay tuned!
When I wrote this pull quote even I was surprised by how much Standard Ruby has improved in the last two years railsdeveloper.com/survey/2024/#what-code-quality-tools-do-you-use
100% agree with DHH on Passkeys. I too was bought-in on adopting them for my apps but realized they pose a customer service nightmare and went back to email login world.hey.com/dhh/passwords-have-problems-but-passkeys-have-more-95285df9
Drive-by Active Storage advice
I'm working on a conference talk and there won't be time for me to detail each and every piece of advice I've accrued for each technical topic, so I'm going to dump some of them here and link back to them from the slides.
Today's topic is Active Storage, the Ruby on Rails feature that makes it easy to store user-generated assets like photos and videos in the cloud without clogging up your application or database servers.
Before you do anything, read this absolutely stellar post describing how to get the most out of the feature and avoid its most dangerous foot-guns.
Here goes.