justin․searls․co

Just realized that if the children's book Cloudy with a Chance of Meatballs was localized for Japan, it could have been named, "It's Raining Men."

(Translator's Note: "men" means noodles)

Copied!

Doordash Couture

Who is this for? STEM majors realizing they're better off running Uber Eats?

Merry Christmas! I made a little present for any of my fellow Japanese learners out there. 🎁

Today I'm pleased to share this ChatGPT-powered Shortcut for Apple platforms I've been working on with you.

Here are its headlining features of the Ingest Japanese shortcut:

  • Render Furigana - ChatGPT tokenizes words and produces readings for kanji and okurigana, which are then assembled into an HTML page with proper <ruby> and <rt> tags (copyable as an HTML file)
  • Show Kana Reading - ChatGPT tokenizes the words and converts them their kana pronunciations, separating each word with a space, so you can understand word boundaries at a glance
  • Translate to English - Uses whatever additional context has been provided to give an accurate translation of the text
  • Speak Aloud - Pronounces the selected text (copyable as an audio file)
  • Show Definitions - Generates dictionary definitions of each distinct word found in the text, highlighting the most likely meanings based on the surrounding context (copyable as an HTML file)

It also exposes these utilities:

  • Copy Input - copy whatever input you passed into the shortcut to your paste buffer
  • Copy Last Result - copy the result of the last operation (whether a string or a file)
  • Provide Additional Context - explain the situation or your goal in understanding the text so that ChatGPT will provide more useful translations and definitions
  • Add to Word List - Appends the selection and the dictionary-form of the words contained within it to a CSV file in your iCloud Drive's Shortcuts directory (see Shortcuts/ingest-japanese/word-list.csv)

Additionally, the Ingest Image companion shortcut uses ChatGPT to extract the image and analyze the surrounding context by either:

  • Passing in a photo, scan, or screenshot via a share sheet
  • Triggering the shortcut some other way, which will capture a screenshot of your screen

In either case, it will extract the selected or primary text it finds and forward it (as well as any additional circumstantial context present in the image) to Ingest Japanese so you can study it.

Installing

You can install and follow these shortcuts on RoutineHub. You can read more about them here:

I hope you check it out and find them useful in your studies!

Is Apple Shortcuts functional programming?

I'm working on an inadvisably complex Apple Shortcuts widget for studying Japanese language, and just realized two things that may save you some time in the future:

  1. If statements are expressions: the value of the "If Result" is available and evaluates to the final value of whatever branch was traveled at runtime
  2. Repeat blocks may say "each" but actually double as map functions: they return a "Repeat Results" value, which evaluates to a List of the final value of each iteration

Because Shortcuts exposes such a gobsmackingly-frustrating UI for actually building programs, it's easy to assume that you're hobbled by the conventions of something like BASIC, but there are some surprisingly modern conveniences lying under the surface!

Merry Divestmas

This is a copy of the Searls of Wisdom newsletter delivered to subscribers on December 20, 2025.

Hey everybody, we've almost survived another year! Just ten days to go—I hope we all make it!

Looking back on the home stretch of 2025, this is all I have to report since our last issue:

  • I built a sexy new gaming PC over 3 days, 120 teeny-tiny M3 screws, and at least ten cups of coffee
  • I got my first nose job. I've always had a huge fucking nose, and I'm relieved to finally be able to breathe out of it
  • I talked about both of the above on my podcast
  • I'm so sick of bracing for the AI bubble to pop, that I've decided to look forward to it instead. Buy popcorn futures, everyone 🍿
  • I released POSSE Party, which I'll talk a bit more about later. Also these bits:
    • I spent a couple days documenting the hell that is other people's API keys.
    • I recorded a tutorial video in 1, 5, 10, 15, and 20 minute variations. It's a Choose-your-own-attention-span adventure.
    • The first stop on my promotional tour was Aaron's livestream for a tour of the codebase, which you can peruse on GitHub

The day of my surgery, Becky insisted on taking a picture of me after I was told to put on a hairnet but before the drugs kicked in. I was very anxious going into the operation and she was very supportive throughout.

Me with my vanity hairnet

As 2025 winds down, the Searls of Wisdom LT (which stands for "Leadership Team", an acronym I'll be using from now on to amortize the time it took to write this parenthetical) has decided to evolve how it approaches our monthly newsletter operations. Change is hard for many of us, so in lieu of a normal essay about how my feelings inspired certain thoughts that led to valuable insights, I'm just going to explain what you can expect from this newsletter going forward before wishing you better luck next year and sending you on your way.

Merry Divestmas

Some time in June, my brother called me from the U.S. while I was riding a Shinkansen bullet train, at which point I realized I'd never actually taken a call while moving faster than 150 mph before. I remember a certain unease—unsure what the proper etiquette was—so I stepped into the hall between train cars to take it.

You'll never guess what happens next…

Just verified this: macOS Tahoe 26 is the first release that accepts inbound SSH connections on FileVault-protected Macs before first unlock ("BFU", i.e. after a cold boot).

Process:

  1. Just SSH in as you always would
  2. Be disconnected as macOS finishes booting
  3. SSH back in
Copied!

It just dawned on me that I can write an iCloud Shortcut that taps into multiple cloud-based GPUs to perform any number of complex tasks for FREE, but I still can't define an "if-else" block. Welcome to the future, chumps.

Copied!

Mike McQuaid recently blogged that he's joined the POSSE Party. He reached out a couple times to say he was scraping my own site to figure out how I accomplished certain things (like the iMessage previews for my takes section, but in general it must have been straightforward enough, because he didn't need me at all to get up and running. Kind of cool to see that he can teach his 20 year old blog new tricks.

In his LinkedIn post sharing it:

In practice, this looks like building your own version of a single-serving social network on your own site and exposing RSS/Atom feeds to other services to consume. Justin recently released POSSE Party which makes this easier by cross-posting to various social networks. I've complained for a while about (anti)social networking so I'm always up for new ways to use social networking less.

Naturally, he does a better job than me summarizing what the hell POSSE Party is for. When I'm too close to a project, it's hard to zoom out and talk about it like a normal fucking person.

Burned-in, AI-generated captions have become so ubiquitous on social platforms that it feels like iOS 27 should just include the feature for videos in the Photos app.

Copied!

Forget five 9's of reliability—when it comes to LLMs, I'd gladly settle for just one 9. Just be correct 90% of the time. That'd be a dream.

Copied!

GPT 5.2's improved visual analysis is no joke. I took 20 PDFs pertaining to our condo purchase and asked for transcriptions/translations with Codex CLI set to 5.2 (xhigh). What's been produced so far is professional-level quality and 10.5 hours in, it's still cranking on them!

Copied!