justin․searls․co

A friend mentioned the Sumitomo corporation yesterday and it prompted a conversation about Japanese-style conglomerates and how they've gone out of fashion in the West.

One thing that never came into fashion in the West? Educational comic books about your conglomerate that you link off your corporate home page.

132 pages! Things really start cooking about 12 pages in.

Not Delivered (loljk)

Neat when a messaging app incorporates a payment system. What could go wrong.

Incredibly relatable content in this provocative post by Thorsten Ball:

Many times in your day-to-day programming life you have to wait. Wait for your development environment to boot up, wait for the formatting-on-save command to finish, wait for the website you just opened to load, wait for tests to run, wait for the CI build to finish.

The waiting doesn't really cause me physical pain, but it does evoke a physical reaction alright. I just can't stand it. Maybe it's because I'm impatient by nature. Maybe it's knowing that things could be faster that causes it. When I have to wait ten seconds for a test to finish that I plan to run many times over the next hour, I tell you, it feels as if I'm about to lose my mind.

"Impatience" has been considered a virtue in software for literal decades, because nearly every single action a programmer redounds to a call-and-response with a computer that can't be considered complete until the computer has delivered its result and a human has interpreted it.

Imagine yourself texting with someone. If the other party replies quickly, it will promote focus and secure your attention—you'll stare at your phone and reply promptly as well. If many seconds or minutes go by between responses, however, you'll rationally lose interest, go do something else, and return to the conversation whenever you happen to come back to it. Most importantly, a fast-paced chat results in many more total messages exchanged than a slow-paced conversation, because time is stubbornly finite.

No one has any problem conceptualizing the above, but perhaps because we tend not to conceive of programming as a two-way conversation between a human and a computer, developers often lack a keen sense of this issue's salience.

I should see more people wince when a website takes longer than two seconds to load. There are very few reasons most websites should take long to load. Yet many times when, together with colleagues, I'd watch a website that we built load for longer than two seconds and say "something's off, I bet there's an N+1 query here" and turn out to be right – nobody else noticed anything.

Over the course of my career, very few programmers have seemed as constitutionally impatient as I am with slow computer responses. I've only become more radical in my impatience over time, as my understanding of programming as a two-way "conversation" has deepened.

Here's one way to think about it.

The upper bound of a programmer's productivity is the speed, fidelity, and correctness of the answers they're able to extract from each "feedback loop" they complete with a computer:

  • Speed: if your page is slow to load, you can't refresh it as many times in a given working session, so you can't iterate on it quickly
  • Fidelity: if you run a command that pulls down far too much or far too little information to answer your question, you'll spend additional time parsing and interpreting its results
  • Correctness: if you have the wrong question in mind, you'll run the wrong commands, and you'll probably also waste feedback cycles to ask the wrong follow-up questions, too

I wrote a click-bait title referencing 10x developers a couple weeks ago. That post was careful to minimize value judgments and to avoid venturing into offering advice. Well, if you want some advice, here you go: take to heart the compounding nature of the effects that feedback loops have on productivity, and you'll set yourself apart as a programmer.

To illustrate, compare the potential productivity of two programmers, given a script to compute the upper bound of activities performed in the 480 minutes that comprise an 8-hour workday.

  • Programmer A completes one feedback loop with their computer every 45 seconds. 1 in 10 of their commands ask the wrong question and result in the next 5 questions also being wrong. 1 in 3 of their commands produce low-fidelity results that take them 5 minutes to interpret the answer. They complete 85 productive feedback loops per day.
  • Programmer B completes one feedback loop with their computer every 15 seconds. 1 in 25 of their commands ask the wrong question and result in the next 3 questions also being wrong. 1 in 10 of their commands produce low-fidelity results that take them 2 minutes to interpret the answer. They complete 902 productive feedback loops per day.

85 vs 902. There you go, a 10x difference in productivity.

It would be very fair to quibble over which numbers to measure, whether the numbers I chose are feasible, and so forth. This is only meant to illustrate that the difference between waiting a few hundred milliseconds versus a few seconds versus multiple minutes really adds up, especially when you factor in that expertise and focus can be learned and practiced to get better at asking the right questions and maintaining a clear mindset.

Something more this silly script doesn't capture is the human element of what it feels like to frequently feel like you're waiting. Beyond a certain point, people will develop habits to tab away to more responsive user interfaces like Slack or social media, resulting in minutes lost to distraction and minutes more to their attention residue. There are also reinforcing social effects of working in an organization where these phenomena are normalized that people rarely consider.

If I could go back and change one thing about how I learned to program, it would have been to emphasize the importance of internalizing this lesson and seizing control of the feedback loop between myself and my computer. I've been beating this drum for a while (and it was the primary thrust of my RailsConf 2017 keynote), but it still doesn't feel like the industry is getting any closer to acknowledging its importance or applying it to how we teach people programming, manage programmers, and design systems.

Perks of working at Google in 2007:

"Let me pull this up because there are so many," he says. When his computer produces a list a moment later, Kallayil makes his way down the screen and continues: "The free gourmet food, because that's a daily necessity. Breakfast, lunch and dinner I eat at Google. The next one is the fitness center, the 24-hour gym with weights. And there are yoga classes."

There is a pause before he adds that he also enjoys the speaker series, the in-house doctor, the nutritionist, the dry cleaners and the massage service. He has not used the personal trainer, the swimming pool and the spa — at least not yet, anyway. Nor has he commuted to and from the office on the high-tech, wi-fi equipped, bio-diesel shuttle bus that Google provides for employees, but that is only because he lives nearby and can drive without worrying about a long commute.

Let's check in on how 2023's going:

Being banned from the entire Internet would be tough, but Googlers in the high-security program will still get access to "Google-owned websites," which is actually quite a bit of the Internet. Google Search would be useless, but you could probably live a pretty good Internet life, writing documents, sending emails, taking notes, chatting with people, and watching YouTube.

Somewhere along the way—even by the time I visited the Googleplex in 2007—Google lost their way on this. Employment policies that promote people's autonomy and agency can pay companies like Google massive dividends in increased creativity, productivity, and loyalty. But perks that attempt to squeeze blood from the stone by making the office feel more luxurious than home always obfuscate the nature of the work itself and will inevitably distract everyone involved—a recipe for resentment between workers and management the minute the going gets tough.

Now that the going's gotten tough, it's too Google could never tell the difference between the two.

Maybe Sorkin has a "The Neural Network" treatment left in him.

Stability AI is being sued by a co-founder, who claims he was deceived into selling his 15% stake in one of the hottest startups in the sector for $100 to CEO Emad Mostaque, months before the company raised millions at a $1 billion valuation.

Should've run the contract terms through ChatGPT for a summary first.

The iPad's relative uselessness for getting real work done is probably one reason I get so much value out of it. When I'm on my iPad, there's not much I can do but think through, sketch out, and plan my work—whether that's with the Pencil in Notes or organizing my to-do items in Things.

I rarely do these things as diligently on my Mac, because it's so much easier to stick my head in the digital sand and just bury my head in whatever work is right in front of me.

Not exactly a ringing endorsement of iPad, but it is genuinely useful.

Gotta appreciate ingenuity on the platforms when you see it. Because this Amazon Seller's name is "Shopping cart", it means that what a user sees before adding an item to their cart is:

Ships from Amazon
Sold by Shopping cart

Almost got me.

Your new Mac comes with an Accessory Kit

If you've been ordering Macs online since 2004 like I have, the lineage of technical and marketing decisions behind what's going on in Apple's store makes this make sense.

Back in the day, Macs actually came with a handful of necessary accessories.My G4 iBook came with a handful of things, I think. I know I had to install the Airport Express card under the keyboard myself, for some reason.

But the Mac Studio's "Accessory Kit" is literally a power cable. That might be a little generous.

This is worth a read. If you've been harboring any illusions that machine learning and AI are cleanroom scientific breakthroughs, this should dispel it.

There are people classifying the emotional content of TikTok videos, new variants of email spam, and the precise sexual provocativeness of online ads. Others are looking at credit-card transactions and figuring out what sort of purchase they relate to or checking e-commerce recommendations and deciding whether that shirt is really something you might like after buying that other shirt. Humans are correcting customer-service chatbots, listening to Alexa requests, and categorizing the emotions of people on video calls. They are labeling food so that smart refrigerators don't get confused by new packaging, checking automated security cameras before sounding alarms, and identifying corn for baffled autonomous tractors.

If you sit with the thought that AI models are only valuable when they're provided painstaking and voluminous feedback from poorly-paid workers, the associated "intelligence" begins to evoke thoughts of the mechanical Turk (the one from history, not the Amazon product).

Your Microsoft Memories on This Day

It's true, that was a pretty special moment.

iCloud is still syncing with iCloud

Setting up a new M2 Ultra Mac Studio (review: it is nice) has revealed a whole new crop of WTFs in the onboarding process (Setup Assistant no longer encourages enabling FileVault? What?) and offboarding process (this screen has been sitting here for hours as I wait to wipe my previous Mac).

Super neat experience so far.

UPDATE: two more neat screenshots. Free of charge.

It's better to fix the root cause of software problems, but seeing as Bethesda has chosen to continue using their in-house, 26-year-old Gamebryo engine—which is famous for literally nothing other than its signature "Bethesda jank" flavor of bugginess—I guess Phil Spencer and Microsoft have made the calculated decision to send wave after wave of QA employees until the NPCs reach their internal jank limit:

I've trained GitHub Copilot on my salty comments

After fighting to learn Sorbet in order to release a type-safe version of Mocktail, it seems that my energy has rubbed off on my AI copilot a bit.

You can either read (NYT Paywall) or listen (in a brisk, 18-minute podcast rendition), but whichever you choose, this piece feels like a triumphant synthesis of several ideas Ezra Klein has been slow-cooking over hours upon hours of interviews on the various podcasts he's hosted over the last decade. If you have an Internet connection or participate in an economy, I strongly recommend you read and reflect on this column.

Many of the themes Ezra hits on are things that I've felt compelled to write about here, even back in the mid-2010s when I only blogged semi-annually. Like the "mysterious" reason that productivity is flat despite so many breakthroughs in information technology. Or my various exhortations that the best thing Apple could do for humanity is help users save themselves from notification hell. And more recently, the kinds of work that AI will both replace and create for us.

Anyway, Ezra's diagnosis is bang on and I'm in such violent agreement with his take here that I struggle to even imagine a counter argument. It seems to me the reason why such a profound and clear truth can fail to take the world by storm is that these are mostly systemic issues that represent collective action problems. After all, if your boss wants you to reply to e-mails within 5 minutes, or if your coworkers will judge you for not being a green bubble in Slack all day, what can you really do to reclaim your individual ability to focus?

Still, we probably each have more control over how much of our focus we cede to technology than we probably admit to ourselves. Always worth taking a moment to think about.

This may be a humble forum post, but it's a great example of the sort of entertainment that:

  1. Would be greatly enhanced by immersive visuals and audio
  2. Would leverage Apple's dominant position in the music industry
  3. Hasn't really been done before

Apple gave up on trying to host in-person iTunes/Apple Music Festivals, but they never really made sense for any other reason than strengthening ties with the recording industry. Something like this makes more sense. More intimate. Easier to manage. Cross-sells their headset by leveraging their platforms and services in a way "only Apple could do".

Neat idea. Wouldn't be surprised to hear something like this tomorrow.

Apple Announces Reality Pro

One thing I've been thinking about for a while is the ability of LLMs to generate convincing-enough-for-somebody-to-run fake leaks, so I decided to try my hand at creating a fake Apple leak.

I'm too cheap to pay for ChatGPT+ and I'm too lazy to have done this via OpenAI's GPT-4 API, so I used Bing Chat to take a crack at generating the Apple Newsroom article that we'll see go up on June 5th after Apple announces its headset. I figured that there was so many recent rumor round-ups and so much prior art of Apple Newsroom articles that it'd probably do a halfway decent job of this.

Here was my prompt:

Write me a press release in the style of an Apple Newsroom story announcing the new Apple Reality Pro headset that's based on only the most recent set of Rumors from Mark Gurman and MacRumors

I thought its response wasn't half-bad:

You'll never guess what happens next…