justin․searls․co

My productivity skyrocketed this week. Sleeping better? New AI tool? Nope!

I signed out of iMessage on my Mac. Night and day difference. My computer is for computing again. HUGE difference.

The reason AI startups like Windsurf, Cursor, et. al, are all fucked is that "you’re a product, not a platform" is the new "you’re a feature, not a product."

If you fail to secure a massive acquisition, you're gonna get steamrolled by the big tech companies as soon as they catch up.

First impressions of GitHub Copilot's Agent mode

tl;dr it works. You should try it.

I finally got around to trying the new Agent functionality in GitHub Copilot.

You gotta really know when to ask an LLM for help, though. (I wrote last year how I decide whether to reach for an AI assistant, if you're interested.)

My experience and recent research both indicate that AI works best for creating new stuff from scratch, especially when that code is perfunctory and typical and conventional. That's the reason there's such a divide between people who've had terrific experiences with "vibe coding" and others—like me—for whom all the hours fucking with AI to make it do my job for me have mostly been a waste of my time. Every other time I've tried to use an agent mode in Cursor or Claude Code, I've asked it how to do things that most "staff" or "principal" or "distinguished" engineer have never tried and would have no idea how to do, so naturally they never went well.

But today I'm finally starting work on a new gem, and I had an annoying task that wasn't a legacy rescue, or exploiting a brand new language feature, or doing something totally unlike anything anyone has ever done before. So I fired up the agent mode using Anthropic's 3.7-sonnet model and let it go to work.

Specifically, I asked it to stub out a Rails engine to use as a starting point for moving over existing login functionality into a gem. It did basically everything in the same order and way that I would. It commented out additional hooks I'll probably need, which is nice.

It also gave me instructions for wiring up the new engine from the project I'm extracting the behavior from, which is a nice bonus.

Did it work? Yup:

Cool.

Breaking Change artwork

v34 - Bait and Switch 2

Breaking Change

Nothing like a peaceful Sunday morning at the end of an exhausting, historically-volatile week to pour a hot cup of coffee and spew absolutely scalding takes in all directions. If you get burned, don't say I didn't warn you. Read the message on the lid.

We've done 34 of these now and my mailbag is getting full of old e-mails that don't make sense anymore. Please email new stuff to me at podcast@searls.co and we, like civilization, will start fresh next time!

Video of this edition of the show is up on YouTube.

You can read more about things on other websites below:

Show those show notes…

Microsoft CTO Kevin Scott apparently just said:

"95% of code is going to be AI-generated (in the next five years)," Scott said. But before developers start panicking, he reassured that “it doesn’t mean that the AI is doing the software engineering job…. authorship is still going to be human.”

Panic? Never been a better time to start a company focused on cleaning up bad code and aiding broken organizations and then billing by the hour.

Anyone who still believes the quantity of code one owns is an asset and not a liability is a fool.

In general, I love how Japanese society prioritizes cleanliness, but one thing that's never made sense to me is how the rice sold at supermarkets is absolutely FULL of germs.

How can I ensure e-mail delivery?

Prompt:

A customer of betterwithbecky.com has reported that they aren't receiving authentication e-mails, and therefore cannot access their account. The customer's e-mail address uses a custom domain but is hosted by Google. The app sends e-mail from app-mail.betterwithbecky.com via Amazon SES, which reports everything is configured correctly.

Attached are the complete DNS Zone records for betterwithbecky.com as well as the headers of a raw e-mail message I just received after attempting to log in via Gmail.

Here's what the computer said:
(Generated by OpenAI o3-mini-high)

Analysis of Email Deliverability Issues for betterwithbecky.com

Background and Symptoms

The domain betterwithbecky.com uses Amazon SES to send transactional emails (login verification messages) from support@betterwithbecky.com. Amazon SES is configured with a custom MAIL FROM subdomain (app-mail.betterwithbecky.com), and SPF, DKIM, and DMARC DNS records have been published. Amazon SES reports these emails as “delivered” (the recipient’s mail server accepted the message with a 250 OK), yet multiple users – especially those with Gmail addresses – do not receive the emails in their inbox or spam folder. This suggests that Gmail is likely accepting the messages but then filtering or discarding them internally. We need to examine possible causes, including authentication alignment, Gmail’s filtering criteria, and any configuration or content issues that could lead to silent dropping of emails.

Email Authentication Configuration (SPF, DKIM, DMARC)

Proper email authentication is the foundation of deliverability. In this case, betterwithbecky.com has implemented all three mechanisms:

Spoiler alert: there's more to this…

The best argument against e-mail based authentication is that it’s impossible to guarantee the delivery of e-mails. Once a user says they've checked spam, there's basically nothing else you can do for them beyond checking your configuration for the millionth time.