Fast, private email that's just for you. Try Fastmail free for up to 30 days.
Testing og image sizes. 2400x1004
This optimistic piece from Garrett Graff comes as we head into this weekend’s No King’s protest:
To me — as someone who cares deeply about the future of American democracy — the rallies stand as an important expression of love for the United States and the idea and dream that the US has represented for 250 years.
Graff has been writing about how the United States has tipped into authoritarianism, but offers “three significant reservoirs of hope”:
1. People — There are more of us than there are of them.
It’s easy to lose sight of how weak this administration’s popular support actually is. Two-thirds of Americans are not Trump voters — and even many who did support him are beginning to question or turn against what it’s like to live in Donald Trump’s America.
2. History — America’s progress has always been imperfect.
Ironically, the second pillar of hope I have is that the history of the United States is filled with dark chapters — sometimes, even long dark chapters.
We are a country founded on a deeply imperfect premise, “all men are created equal,” that at that time excluded enslaved Blacks, women, indigenous people, and even white men who didn’t own property. America has many stories and the one that I choose to believe is the one where we are a country that strives, generation by generation, decade by decade, to be better. That viewed across 250 years, America is a country where each generation has strived to hand off a country more just, equal, and prosperous than the one they inherited from their parents and grandparents.
3. Actuarial — Trump won’t last forever, which means “Trumpism” will fall.
Trump may want to be a dictator and emulate Franco and Orban, and — who knows — maybe the ridiculous White House ballroom he’s building is an indication he doesn’t plan to leave peacefully on January 20, 2029, but time tells us that he’s never going to be Franco, the dictator who reigned in Spain from 1939 until 1975. The reality is Donald Trump is 79 and not well — and probably less well than the media is willing to dig into — and his reign as president and America’s would-be king will be measured in years, not decades.
Whenever and however Donald Trump exits the stage, there just isn’t anyone who will step into the MAGA movement’s shoes — there are plenty of people who will try, from JD Vance to Marco Rubio to Ron DeSantis to Don Jr. to Ted Cruz, but the thing we’ve seen over and over across the last decade is that no one is Donald Trump. Vice President JD Vance, an incredibly awkward and unfunny Trump-lite who is widely despised by both sides, is most certainly not Donald Trump.
It’s a welcome piece—long, but detailed. If you’re looking for nuggests of hope, you might find them here.
If you’re attending a No Kings protest on Saturday, stay safe.
Apple and Formula 1® today announced a five-year partnership that will bring all F1 races exclusively to Apple TV in the United States beginning next year. […]
Apple TV will deliver comprehensive coverage of Formula 1, with all practice, qualifying, Sprint sessions, and Grands Prix available to Apple TV subscribers. Select races and all practice sessions will also be available for free in the Apple TV app throughout the course of the season. In addition to broadcasting Formula 1 on Apple TV, Apple will amplify the sport across Apple News, Apple Maps, Apple Music, and Apple Fitness+. Apple Sports — the free app for iPhone — will feature live updates for every qualifying, Sprint, and race for each Grand Prix across the season, with real-time leaderboards, season driver and constructor standings, Live Activities to follow on the Lock Screen, and a designated widget for the iPhone Home Screen.
According to emails sent to current Formula 1 TV subscribers, F1 is keeping its “F1 TV Access” (the lowest-tier option—$3.49 a month or $29.99 a year, which does not include any live video streaming) and is phasing out its “F1 TV Pro” package ($10.99 a month) while shifting its highest “F1 TV Premium” tier ($16.99 a month—the “Ultimate F1 Live Immersion” which includes multiview and 4K streaming) to Apple TV:
From January 2026, our new Formula 1 broadcast partner in the US will be Apple TV. Next season F1® TV Premium will continue to be available in the U.S., included with an Apple TV subscription only.
You will still be able to purchase F1® TV Access, which remains available in the US.
Apple TV customers pay $12.99 a month and will now get that $16.99-a-month “Premium” tier as part of their subscription. That’s a hell of a deal. A lot more people might find themselves watching F1 races out of mere curiosity. I’ve never watched a single F1 race (or Drive to Survive or F1 The Movie), but this new partnership may finally get me to check out the hype, seeing as it’s now effectively free for me to do so.
Meanwhile, “F1 TV Pro” subscribers get full access to everything Apple TV has to offer for an extra $2 a month, while “F1 TV Premium” subscribers save $4 a month.
This seems like a massive win for everyone.
Additional information — including production details, product enhancements, and all the ways fans will be able to enjoy F1 content across Apple products and services — will be announced in the coming months.
I assume this will include an immersive Apple Vision Pro experience. An app called Lapz was briefly available and was considered the best way to watch F1 races. The F1 folks put the kibosh on it last year; perhaps one of them will acquire it.
One sour note, from the aforequoted press release:
Apple will amplify the sport across Apple News, Apple Maps, Apple Music, and Apple Fitness+.
Translation: We need to recoup our money somehow, so prepare to see a lot of unwanted F1 content. I can see it now: Your commute will take 45 minutes, but an F1® car would get you there in just ten. Subscribe to Apple TV to experience the thrill of speed.
Yours truly, back in August:
[…] bless my soul, as sure as there’s a light over at the Frankenstein place, you can bet I’ll be buying the 50th Anniversary 4K edition when it’s released in October.
It’s released, ordered, and should arrive today. It’ll make a perfect weekend watch. (As always, Amazon links can earn me a couple of pennies. Time is fleeting.)
Yours truly, last year:
I’ve known Kira, the daughter of my good friends Ron and Irene Lue-Sang, since she was a day old. She was diagnosed with Type 1 Diabetes (T1D) nearly a decade ago. Since 2015, the Lue-Sang family have helped raise funds to end T1D by walking in the annual Breakthrough T1D Walk (formerly JDRF).
It’s no longer “nearly,” notes the family:
This is a milestone year. Kira has been living with Type 1 Diabetes for 10 years.
Kira’s off to college next year. I’ve watched her grow from a rambunctious girl into a beautiful, smart, thoughtful, and talented young woman. She hasn’t allowed T1D to slow her down one iota.
As they have every year since Kira’s diagnosis, the Lue-Sangs are again raising funds as part of their “commitment to do whatever we can to help develop new treatments—and ultimately a cure—for this currently incurable disease.” They’ll participate in the Breakthrough T1D (formerly JDRF) Walk on Sunday, October 19, 2025.
They’ve set a public goal of raising $5,000, and they’re about 70 percent of the way. I’d like to see them achieve it, so I’m doing a donation match challenge this year. I’ll match, dollar-for-dollar, any donations you make to the Lue-Sang T1D team between now and October 18, 2025 (the Saturday before the Walk), up to $1,000. You donate $5, I match your $5—doubling our impact. Just point me to your name on the team leaderboard or send me a screenshot showing your donation (redact any sensitive info, please!). Prefer to remain anonymous? Use “Kira’s Match” as the “Recognition Name” when completing the form.
I recommend donating to a specific walker on the team. Once a walker reaches specific fundraising levels, they’re granted “V1P” status, which awards them with a variety of swag and grants them access to a “special V1P lounge for an exclusive celebration experience.”
As Kira has already reached V1P status, I’m directing my donations to Kira’s sister, Tyrine, so they can be V1Ps together.
Your donations help fund the research and scientific breakthroughs for T1D treatments and bring us closer to a cure. Last year, Ron told me:
One hundred years ago, science had barely discovered insulin. Before that, people with Type 1 Diabetes just wasted away a few months or years after diagnosis.
Ten years ago our standard of care was pricking Kira’s fingers to check blood sugar levels at least four times a day and injecting insulin by hand. We’re grateful for the advances technology has brought, including modern insulin, continuous glucose monitors, and insulin pumps. But we believe—it’s an article of faith—that there are still more advances to come, if only we pursue them.
Contributing to Breakthrough T1D helps them pursue those advances. Any amount helps, whether it’s $5, $10, or $100. And this year, your contribution will have double the impact.
Once again, the Lue-Sang family thanks you, and I thank you.

When linking to sites, I’ve often wished I could link directly to specific text on a page rather than the page itself. Earlier this year, I learned this was possible by using Text fragments. Quoting from that MDN link:
Text fragments link directly to specific text in a web page, without requiring the page author to add an ID. They use a special syntax in the URL fragment. This feature lets you create deep links to content that you don’t control and may not have IDs associated. It also makes sharing links more useful by directly pointing others to specific words.
Text fragments have been a feature of several browsers since 2020 and came to Safari 16.1 in 2022.
A text fragment link contains four parameters, three of them optional:
https://example.com#:~:text=[prefix-,]textStart[,textEnd][,-suffix]
The only required parameter is textStart; this text will be highlighted on the page. For example, to link to the word “Scarborough” in my Naming My Devices article, you would add #:~:text=scarborough to the end of the URL:
https://jagsworkshop.com/2025/08/naming-my-devices/#:~:text=scarborough
(You can click that link to try it.)
The text must be percent-encoded—meaning spaces and most punctuation must be replaced by their hex values; for example, a space is %20. That’s simple enough for a word or two, but I usually link to a sentence, or sometimes an entire paragraph. Here’s an example that links to the phrase “1) New York Mets vs. Boston Red Sox: 1986 World Series” which percent-encodes the ), :, and each space:
This can be shortened by adding textEnd to give a start and end point to highlight; here, start with “1)” and end with “Series”:
(From my tribute to Davey Johnson.)
You can see the format is relatively easy to understand, but finicky. Trying to do this by hand would be madness.
So I built a JavaScript bookmarklet to do it.
Bookmarklets are like regular web browser bookmarks, but instead of saving a link to a website, they store JavaScript that the browser executes when selected. They can even include CSS and load external resources. Virtually anything you can do with regular JavaScript you can do with a bookmarklet. Yes—including playing Doom.
This bookmarklet started as just a single dialog box that accepted a text entry, which was then percent-encoded and copied to the clipboard. It evolved into a more complex custom overlay that accepts all four components of a text fragment, copies the encoded URL to the clipboard, opens it in a window for verification, and properly handles Escape and Return keys to activate the Cancel and Generate buttons. It’s nicely styled, and it even places keyboard focus in the first field to make basic use as simple as: invoke, type, return.
Try it here: Drag this link to your bookmarks bar, name it, then click the bookmark.

Here’s a Gist for the code. It consists of two parts:
javascript: (remove the leading //) and paste it into a bookmark.(I borrowed the idea for this structure from John Gruber.)
Let me be clear about this code: I am very much not a JavaScript programmer. I know my way around the syntax, can edit existing code well enough, and can write basic functionality—but that’s about it. Anything more complex and I rely on the kindness of internet strangers. Or, increasingly, on Anthropic’s Claude, which knows JavaScript much better than I do and can synthesize often contradictory suggestions into a single, comprehensive (though sometimes wrong!) answer. Thanks to Claude, I was able to scrape this bookmarklet together without spending hours banging my head against a wall. Is it the most efficient or the best way to do this? Most assuredly not! But it works great for my needs. Maybe it does for yours, too.
(If you have any suggestions for improvements, please let me know.)
To set up the bookmarklet:
//).(If you dragged the test version to your bookmarks bar earlier, edit the existing bookmarklet and paste in the code from the Gist.)
To use the bookmarklet:
textStart field.I’ve seen three issues—two related to text fragments themselves, and one related to bookmarklets.
The first issue is that sites can opt out of text fragments (using Document-Policy: force-load-at-top) or remove anchors (anything after the # symbol). The second is that content can change, breaking your link. In each case, the link takes you to the top of the page, which is fine, but frustrating, as it loses the specific context you were trying to highlight, making the act of linking less effective. It’s not a deal breaker, of course—link rot is a reality of the web, alas. But it’s frustrating nonetheless.
The more annoying issue is that some sites really mess with the overlay. Some, like ESPN, didn’t show the bookmarklet at all until I changed the z-index to the maximum (2147483647) so the overlay was above everything else on the site. Worse still, fonts, positioning, and sizing can all change depending on the CSS of the underlying site. While I’ve done what I can to isolate the bookmarklet styling, I still occasionally see changes. Most are minor, but some are pretty damn significant. Here’s what the overlay looks like on Apple’s Developer Documentation site, for example:

(Even more frustratingly, Apple Developer Documentation also strips anchors, so text fragments don’t work at all.)
After creating this bookmarklet and using it for a few days, I decided to look for other examples that do the same thing. It turns out there are dozens of examples of bookmarklets for creating text fragments.
In a double-turns-out, several web browsers even have a “Copy link with highlight” menu item that takes highlighted text and makes it into a text fragment link. (In Safari, it’s only available in the contextual menu accessed via a right- or control-click.)

I could be disappointed that I spent a few hours figuring out how to build this bookmarklet, but I very much subscribe to the philosophy of “I learn something new every day.”
Had I done my research prior to undertaking this exercise, I would have missed this opportunity to learn a little bit more JavaScript—including using CSS in a bookmarklet!—and I wouldn’t have further exercised Claude’s coding and troubleshooting abilities.
And, of course, I have a bookmarklet that works exactly the way I need it to, and can improve over time.
One “improvement” compared to most other solutions I saw: this version exposes all four text fragment fields, rather than just selecting the text you want to link to. This offers greater precision over what gets highlighted. For example, I can easily target a specific instance of a phrase that appears on a page multiple times, like selecting just the second instance of “Anthropic’s Claude” in my Blackmailing Claude piece, by filling in the -suffix field (“me”):
https://jagsworkshop.com/2025/05/how-long-ago-is-2900-weeks/#:~:text=anthropic’s%20claude,-me
Wanting that level of control may be the programmer in me, though, so one future improvement would be to use the current text selection to prefill the fields.
I’m off to experiment—before I learn someone already did this. In the meantime, let me know if this bookmarklet is useful for you.
Extracted from https://www.taylorswift.com. Copyright © 2025 Taylor Nation LLC (I presume).
Hi.
I’m trying to gather my thoughts into something coherent, but right now my mind is just a slideshow. A flashback sequence of all the times I daydreamed about, wished for, and pined away for a chance to get to tell you this news. All the times I was thiiiiiiiiiiiis close, reaching out for it, only for it to fall through. I almost stopped thinking it could ever happen, after 20 years of having the carrot dangled and then yanked away. But that’s all in the past now. I’ve been bursting into tears of joy at random intervals ever since I found out that this is really happening. I really get to say these words:
All of the music I’ve ever made… now belongs… to me.
And all my music videos.
All the concert films.
The album art and photography.
The unreleased songs.
The memories. The magic. The madness.
Every single era.
My entire life’s work.
To say this is my greatest dream come true is actually being pretty reserved about it. To my fans, you know how important this has been to me – so much so that I meticulously re-recorded and released 4 of my albums, calling them Taylor’s Version. The passionate support you showed those albums and the success story you turned The Eras Tour into is why I was able to buy back my music. I can’t thank you enough for helping to reunite me with this art that I have dedicated my life to, but have never owned until now.
All I’ve ever wanted was the opportunity to work hard enough to be able to one day purchase my music outright with no strings attached, no partnership, with full autonomy. I will be forever grateful to everyone at Shamrock Capital for being the first people to ever offer this to me. The way they’ve handled every interaction we’ve had has been honest, fair, and respectful. This was a business deal to them, but I really felt like they saw it for what it was to me: My memories and my sweat and my handwriting and my decades of dreams. I am endlessly thankful. My first tattoo might just be a huge shamrock in the middle of my forehead.
I know, I know. What about Rep TV? Full transparency: I haven’t even re-recorded a quarter of it. The Reputation album was so specific to that time in my life, and I kept hitting a stopping point when I tried to remake it. All that defiance, that longing to be understood while feeling purposely misunderstood, that desperate hope, that shame-born snarl and mischief. To be perfectly honest, it’s the one album in those first 6 that I thought couldn’t be improved upon by redoing it. Not the music, or photos, or videos. So I kept putting it off. There will be a time (if you’re into the idea) for the unreleased Vault tracks from that album to hatch. I’ve already completely re-recorded my entire debut album, and I really love how it sounds now. Those 2 albums can still have their moments to re-emerge when the time is right, if that would be something you guys would be excited about. But if it happens, it won’t be from a place of sadness and longing for what I wish I could have. It will just be a celebration now.
I’m extremely heartened by the conversations this saga has reignited within my industry among artists and fans. Every time a new artist tells me they negotiated to own their master recordings in their record contract because of this fight, I’m reminded of how important it was for all of this to happen. Thank you for being curious about something that used to be thought of as too industry-centric for broad discussion. You’ll never know how much it means to me that you cared. Every single bit of it counted, and ended us up here.
Thanks to you and your goodwill, teamwork, and encouragement, the best things that have ever been mine… finally actually are.
Elated and amazed,
Taylor
Extracted from https://www.taylorswift.com. Copyright © 2025 Taylor Nation LLC (I presume).
Emma Roth, for The Verge:
More than a year after launching its smart TV platform in Europe, TiVo is now bringing it to the US. The company's putting its TiVo OS platform inside a new Sharp TV arriving as soon as February, rivaling the likes of Roku, Google TV, and Amazon's Fire TV.
TiVo first announced TiVo OS in 2022, but the platform didn't actually launch until last year. The company bills its operating system as a "neutral" platform, allowing TV manufacturers to put their own spin on the viewing experience. It says TiVo OS supports "a wide range" of streaming services and comes with a recommendation system that serves up "personalized suggestions." TiVo OS also offers voice controls for select TVs, but it doesn't say whether this Sharp one is included.
55" 4K OLED. Three HDMI ports. Dolby Atmos. No price yet.
I actually didn’t realize TiVo was even still a thing. I say this as someone who’s owned seven TiVos since 2001 (four still “active” with “lifetime subscriptions”). All are in storage. Streaming (and Plex) covers 99% of my needs today; OTA (antenna) covers the rest—usually live baseball.
I miss precisely three things about TiVo: A single view into all my channels. SkipMode. And of course, the “peanut” remote.
I’m struggling to understand who this product is for. I can’t imagine many people are clamoring for a TiVo-powered television today, but if it challenges Roku, and replaces the usually awful TV operating systems, more power to them.
| What I Paid | Current Price | % Change | |
|---|---|---|---|
| 150W USB-C 4-Port Compact Foldable Charger | $59.99 | $99.99 | +66.68% |
| 10,000 mAh 30W USB-C Power Bank | $17.99 | $16.09 | -10.56% |
| 2-Port 40W USB-C Car Charger | $16.99 | $15.99 | -5.89% |
| 5,000 mAh MagSafe Compatible Battery Pack | $39.99 | $39.99 | 0.0% |
| 3-in-1 (iPhone/AirPods/Watch) MagSafe Compatible Qi2 Charger | $89.99 | $82.99 | -7.78% |
| 24,000 mAh 140W 3-Port Portable Charger | $89.99 | $109.99 | +22.23% |
| 5’ Ultra Thin Power Strip with 6 AC, 2 USB-A, 2 USB-C Ports | $25.99 | $19.99 | -23.09% |
Sometimes unexpected bugs pop up at the worst time. Last night, as I was preparing for bed, I was reviewing one of my pieces from March (Some Thoughts on WWDC25). When I reached the bottom, I saw this, and my heart skipped a beat.

Those three gears, acting as a section divider, are supposed to be centered on the page, like so:

What the heck is going on here? That CSS code was written months ago, and had been working just fine. What changed? A quick check confirmed it wasn’t the code. I was using my iPad Pro 12” running iPadOS 26 beta 2; on macOS 14 (Sonoma) and macOS 15 (Sequoia) everything was fine. A bug in a beta. Hardly surprising, so I wrote up a quick test case and submitted a bug report.
hr::before {text-align: center;} doesn't center for my Apple friends.I few tests later, and I confirmed it was also happening on iPad and iOS 26 beta 3—but not on macOS 26 beta 2 or 3. It also fails in Chrome on macOS.
Curious.
The code is dead simple and, admittedly, kind of hacky. This is the gist of it:
hr::before {
content: "* * *";
text-align: center;
}This add the pseudo-element before to the <hr> selector. The browser displays the content where the <hr> would go, and text-align: center, well, centers the content in the container.
(There’s a bit more to it to hide the normal horizontal line, change the font, and set the size, but those aren’t relevant here.)
As simple as this code was, the fix was even easier: add display: block, and everything works in all my tests.
Great right? Bug filed, problem solved. I'd write it up for the site—a short post, with a wry observation about hacky solutions and unanticipated beta bugs, a link to the test case and the bug report, and Bob’s-yer-uncle.
Yeah, no.
I wanted to show the bug in action. Here’s what happens without display: block; here’s what happens with it. If you were on a system that behaved this way, you could see the before and after.
No, I don’t know why, I just did, OK? Be cool.
Anyway. Sometime around midnight I fired up my coding buddy and had it spit out a few lines of throwaway code. It gave some jibber-jabber about not using Javascript because Ghost sanitized user-submitted HTML to prevent XSS and layout-breaking scripts or some such.
(Ghost handles in-post Javascript just fine.)
Regardless, down the rabbit hole we went, iterating (and cursing) for four-plus hours, crafting a completely overblown set of HTML and CSS, until, at the very buttcrack of dawn, we had something I was happy with.
Which I then completely threw out this afternoon after asking my smarter coding buddy to help, and it did a much, much better job in much less time. (And used Javascript.)
All so I can give you this. Behold!
hr::before {
content: "* * *";
text-align: center;
font-size: 1.5rem;
display: block;
}
Notice the beauty of a toggle instead of a checkbox! How the display: block; hides or shows as the toggle is activated! How (on affected devices…) the three asterisks are either centered or left-aligned to match the state of the toggle and code! Pure CSS, HTML, and Javascript magic!
Over four hours to demonstrate a simple effect for a minor, rather inconsequential bug? Yeah, a pretty colossal waste of time.
Can’t wait for the next session!
Apple Releases Bigger, Apple Intelligence-Ready iPhone 16e, Deletes Home Button
Apple Newsroom (release video):
Apple today announced iPhone 16e, a new addition to the iPhone 16 lineup that offers powerful capabilities at a more affordable price.
“More affordable” compared to the existing iPhone 16 lineup, but more expensive than the iPhone SE it replaces.
$599 (128 GB) starting price. Pre-orders start Friday, February 21. In stores Friday, February 28.
I’m an iPhone Pro guy—mainly for the cameras—so this isn’t for me, but if you need a new phone (for Apple Intelligence, say), this is the least expensive option.
iPhone 16e delivers fast, smooth performance and breakthrough battery life, thanks to the industry-leading efficiency of the A18 chip and the new Apple C1, the first cellular modem designed by Apple. iPhone 16e is also built for Apple Intelligence, the intuitive personal intelligence system that delivers helpful and relevant intelligence while taking an extraordinary step forward for privacy in AI.
A few observations:
CHI ’24 Paper: ’Apple’s Knowledge Navigator: Why Doesn’t That Conversational Agent Exist Yet?’
I’m a massive fan of Apple’s 1987 Knowledge Navigator concept video. Like other tech nerds, I often filter technology advancements through the lens of that vision: How close are we to that future?
This fascinating research paper (PDF, video summary) answers the questions I’ve often asked myself: Why aren’t we there yet? What’s preventing us from having a “conversational agent” like Phil? Is it purely technological limitations, or are there other issues at play?
What I enjoyed about this paper was the systematic approach the authors took to identify the nature of the interactions between the professor and Phil: What is Phil’s role at any given moment? Is it proactive, interruptive, collaborative, or passive?
The researchers analyzed every verbal exchange between the professor and his digital assistant, then identified what those exchanges represent and how various “constraints”—Technology, Privacy, Trust and Reliability, and Social and Situational—are preventing, or at least delaying, the implementation and adoption of conversational agents today.
They also identified 26 “agent capabilities” demonstrated by Phil, and which of them were “currently feasible but not common today” or “not currently feasible” within those constraints.
My takeaway from the paper is that while (much) improved technology is a necessary component to enable conversational agents, it is not sufficient. Overcoming the technical hurdles does not immediately bring us the levels of human-digital assistant engagement we see in Knowledge Navigator. Even if there’s an unexpected leap forward on the technology side, the other three constraints remain as significant barriers to the introduction and eventual adoption of a Phil-level agent.
CHI ’24 Paper: ’Apple’s Knowledge Navigator: Why Doesn’t That Conversational Agent Exist Yet?’
I’m a massive fan of Apple’s 1987 Knowledge Navigator concept video. Like other tech nerds, I often filter technology advancements through the lens of that vision: How close are we to that future?
Much of what it anticipates has come to pass in the ensuing four decades—video streaming, touchscreens, globally connected computers, wireless networking, and more.
Even some portions of the most fantastical and oft-discussed aspect of the video—the human-like digital assistant, Phil—are possible today; for example, Phil’s ability to summarize vast amounts of data, understand the spoken word, or speak in a voice that’s virtually indistinguishable from human.
However, the core of the video—where a professor has a human-like conversation with his digital assistant, which can anticipate needs and act autonomously on the professor’s behalf—well, we’re not quite there yet.
Well, this fascinating research paper (PDF, video summary) attempts to answer the questions I’ve often asked myself: Why aren’t we there yet? What’s preventing us from having a “conversational agent” like Phil? Is it purely technological limitations, or are there other issues at play?
What I enjoyed about this paper was the systematic approach the authors took to identify the nature of the interactions between the professor and Phil: What is Phil’s role at any given moment? Is it proactive, interruptive, collaborative, or passive?
The researchers looked at every verbal exchange between the professor and his digital assistant, then identified what those exchanges represent and how various concerns—or “constraints”—are preventing—or at least delaying the implementation and adoption of conversational agents today.
The authors applied three theoretical frameworks to analyze the interactions between the professor and Phil:
[T]he Distributed Cognition for Teamwork (DiCoT) model, the Human-Agent Team Game Analysis Framework, and Flows of Power (FoP) framework. These frameworks enabled a thorough examination of the cognitive dynamics, human-agent interactions, and power relations within the video.
Using these frameworks, the researchers captured “dialogue, actions, and agent capabilities” and identified “events” that were:
[…] feasible and common today, feasible and not common today, or not feasible today. Feasibility was determined by comparing the demonstrated agent capabilities to those of widely adopted agents like Apple's Siri and to current trends in HCI [Human Computer Interaction] research and development. These characterizations were then used to consider why the Phil agent differs from today's personal digital assistants.
From this effort, they identified
[…] a list of 26 agent capabilities, such as “Knowledge of contacts and relationships” (e.g., Mike's mother) and “Can accurately extract data from a publication” (e.g., Phil summarizes the results of an academic paper using a graph).
Those 26 agent capabilities were condensed into nine broad capabilities—knowledge of user history, knowledge of the user, advanced analytic skills, and so on. For each of those, they focused on two actionable categories (“currently feasible but not common today” and “not currently feasible”).
For me, these “agent capabilities” and their feasibility were the most intriguing part of the study. When Apple announced Apple Intelligence last June, I did a very naïve version of this with their demos, writing:
A friend sends you a Message with his new address. You say to Siri "add this address to his contact card". Siri knows what's on your screen, what an address is, how to get and format an address, what "this" address refers to, what a "contact card" is, who "his" means, what it means to "add to contact card", and how to add it to the Contacts app.You're picking your mom up from the airport. You ask Siri "what time is my mom's flight landing?" Siri knows who "my mom" is, what flight she's on (because of an email she sent earlier), and when it will land (because it can access real-time flight tracking). You follow up with *"what's our lunch plan?" *Siri knows "our" means you and your mom, when "lunch" is, that it was discussed in a Message thread, and that it's today. Finally, you ask "how long will it take us to get there from the airport?". Siri knows who "us" is, where "there" is, which airport is being referenced, where you are now, and real-time traffic conditions.
I wish I was familiar with the frameworks this paper used. They do a great job of clearly identifying agent behavior and responsibility.
Back to the paper…. The nine broad capabilities were then:
[…] tagged with constraints that restrict their adoption or development […]. Some were based on the user, such as trust or privacy, and some were based on available technology itself. The authors used categories similar to those used in previous studies of barriers to technology adoption to group the constraints into three user-centered categories (privacy, social and situational, trust and perceived reliability), and one technology category.
Those “constraints” are effectively reasons why it may be difficult—or impossible—to develop and deploy a “conversational agent” today. A few reasons, from my perspective:
My takeaway from the paper is that while (much) improved technology is a necessary component to enable conversational agents, it is not sufficient. Overcoming the technical hurdles does not immediately bring us the levels of human-digital assistant engagement we see Knowledge Navigator. Even if there’s an unexpected leap forward on the technology side, the other three constraints remain as significant barriers to the introduction and eventual adoption of a Phil-level agent.
Body goes here, but there’s no excerpt.

I especially enjoy slow mornings and time for fun and play. I plan to enjoy more long walks, home cooked meals, and good books.
I hope 2025 brings more real luxuries to you and your loved ones.
Happy New Year.
(Original author unknown. @breadandcircuses via @gogoronzilla.)
The USPS Postal Store has, for reasons unknown, blocked the ability to copy text from its website.
As a government-run agency, that seems like a terrible idea. Heck, it might even be disallowed under Section 105 of the Copyright Law of the United States (Title 17), which says
Copyright protection under this title is not available for any work of the United States Government….
This suggests there should be no reason for them to prevent copying. Regardless, it pissed me off the other day while writing about the Dungeons & Dragons stamp and I couldn’t easily copy the description.
So I did what any self-respecting geek would do: I worked around the problem.
First, let me acknowledge that the effort I put into addressing this issue, while not much, was still greater than simply retyping the text from the site, or taking a screenshot and copying the text that way. The effort, of course, is beside the point—for geeks like me, it’s never the point. It’s the principle of the matter. Information wants to be free, and I’ll be damned if I can’t copy text on my own computer!
Fortunately, USPS.com made this easy on me by using a method to prevent copying that’s easily worked around: The user-select CSS property.
One of the features of CSS is you can override styles by providing a new style definition. Safari provides a mechanism to add your own style sheet; I’ll use that to override the USPS.com user-select.
(Note: This is Mac- and Safari-specific. While I’m confident there are ways of doing this in other browsers, and on Windows/Android, I don’t use them.)
First, I’ll create a new style sheet that disables the relevant property. Then, I’ll tell Safari to use it. Finally, I’ll reload the page and copy copy copy!
Create a style sheet. user-select tells browsers how to handle content selection. USPS.com sets it to none, preventing any content selection. I want that to be auto—the browser default—which allows selecting—and thus copying—content. I need the !important flag so the browser gives the new definition a higher priority than the one coming from the website. Finally, I want this to apply to everything on the page, so I’ll use * instead of a specific HTML tag, class, or identifier.
I created a file, which I called nof—you.css with the following content:
* {
-webkit-user-select: auto !important;
user-select: auto !important;
}
(Surprisingly, user-select is not a web standard yet, so most browsers prefix it to indicate it’s a browser-specific implementation. -webkit-user-select is for Safari’s current implementation, and user-select is for when the property (eventually) becomes a standard. Other prefixes exist, such as -moz-user-select and -ms-user-select, but again, I care only for Safari.)
Tell Safari to use this style sheet. In Safari, I opened Settings, then the Advanced tab. I opened the Style Sheet popup menu and selected Other…, and chose my nof—you.css file. Safari will now use this css on any web site I load.
Reload the page. After reloading the USPS Store page, I’m now able to select and copy the text.
What’s great is this solution works for any site that uses user-select. I can either leave the CSS file always enabled (so I won’t even notice that a site was blocking selection); or I can disable it (select None from the Style Sheet popup) and re-enable it when necessary.
I think I’ll do the latter so I can emphatically spit out “No f– you!” as I enable it.
Bonus Screenshot Option: I mentioned above taking a screenshot as a way to get around copy blocking. Here’s a brief overview of how you do that. (Again, this is only for Apple systems.) Take a screenshot on your Mac, iPhone or iPad, or take a photo with the Camera. In Photos, use the Live Text feature to select and copy the text. Voila. It still feels like getting away with something, but ultimately, a less visceral f—you! experience.
Your mileage may vary.

This poster hangs prominently in our home. It’s a newspaper ad that ran in the San Francisco Call in March 1913 to stoke sales of the yet-to-be-built Forest Hill neighborhood of San Francisco, where we now live.
The ad—one of a series of at least ten published by the Newell-Murdoch company—touted the virtues of the new neighborhood, including its proximity to downtown, the return on investment, and the fresh air and sunshine. Many were implicitly or explicitly directed to “the man” who provided for his family (“Where do your wife and children live?” asks one). All contained the typical flowery language of real estate developers. And they all referenced “restricted residence.”
At the end of June, I wrote about the difficulty Willie Mays had when he was buying a house in the late ’50s, in the Sherwood Forest neighborhood of San Francisco; in it, I said:
He later bought another home, this time in Forest Hill, the neighborhood I currently live in, where the neighbors seemed less racist.
We love Forest Hill. We’ve lived here for about eighteen months now. It’s walkable, easily accessible by public transportation, and quiet. It’s a five minute stroll down the hill to West Portal, which has a cute “downtown strip” filled with lovely shops and restaurants.
It’s a great area. But like much of San Francisco—and America—when it comes to housing discrimination, it has a racist past.
When we moved into the neighborhood, the homeowners’ association provided a packet sharing some of the history of the area. Part of Adolph Sutro’s vast estate, it was originally a large forest on a hill—talk about your creative naming!—before being converted to a residential planned community in the early 1900s.
Learning that Willie Mays lived here—helping to integrate the area in the 1960s—piqued my curiosity. I found the Forest Hill page on OutsideLands.org. Not much about Willie, but this caught my eye:
Forest Hill followed the example of other residence parks, imposing strict requirements on everything from building design to the racial identity of its residents. (Read a typical flyer.)
“Racial identity of its residents,” eh? I knew what that meant. I’ve seen enough homeowner CC&Rs—Covenants, Conditions and Restrictions—which needed to have discriminatory language struck because it no longer comported with modern sensibilities.

This was different.
The “typical flyer” mentioned by Outside Lands was a textual recreation of the newspaper ad at the top. It starts with the expected flowery language: Forest Hill as an Investment, distinctive exclusiveness, the finest place in San Francisco to live, and so on.
Then, in the fifth paragraph, things turned.
So shocked was I by the language in the ad, I refused to believe it could be real. There was no image, no link that might lend it credence.
I needed to find a copy, and see it in context for myself.
For all the issues modern search engines have, one undeniably great thing is they make it easy to find the proverbial needle in a vast internet haystack. Twenty years ago my eyes would be bleary from spending my afternoons scrolling through microfiche in a stuffy library. Instead, I was able to plug in the remarkably specific phrases and almost immediately pulled up the newsprint.

There was the ad, taking up three quarters of the broadsheet. I stared at it on my screen, reading the copy, slack-jawed. And, at the bottom of the center column above the fold, were these words:
There are restrictions that safeguard the person of taste and refinement who seeks exclusiveness. There are no Mongols, Africans or “shack builders” allowed in Forest Hill. When a man selects a homesite in this tract it is done with the positive assurance that there will be nothing disagreeable to mar the serenity of the most fastidious.

I was gobsmacked.
I am Black (or “African”); my wife, Chinese (“Mongol”). I’m not exactly sure who “shack builders” meant, but I’m confident it’s a slur against some immigrant community. (The Irish contractors who remodeled our home believe it meant their people.)
What shocked me about this ad wasn’t the language, which I understand was commonplace in everyday life in the early 1900s—jarring to read, but not shocking.
No, what truly shocked me was to see those words in an ad. In a newspaper. Published for all to see. It’s not coded. There’s no “dog whistle.” It’s perhaps a bit less direct than “only persons of the White or Caucasian race” but it’s pretty damn close.
Some people may shy away from this racist history, ignoring it in the hope that it recedes into the mists of time.

Not me. Forgetting means repeating. We keep this in a prominent place in the home we would’ve been denied buying a century ago as a striking reminder to us and everyone who visits that history is neither static nor abstract. Living in this house, displaying this ad, it reinforces the truth that ideas and ideologies shift. Change may happen slowly, but change does happen.
I’m remembering our past so I can imagine our future.
Interested in seeing this ad and others in the series in full context? I found ten of them; there may be more. All links except the final one are from the Library of Congress’ Chronicling America. The last one is from Newspapers.com.
Apple PR:
Today, Apple introduced HomePod mini in midnight….
Why, though?
The best explanation I've heard so far is from the fellas over at ATP: Color matching. The old ‘space gray’ and the new ‘midnight’ may be superficially similar, but they're not the same. If you buy a second one to form a stereo pair, the old and the new won't match.
That would be a very Apple-y thing to consider, of course, but I wonder if it’s also Apple’s way of saying “no new HomePod minis on the horizon,” which is a bummer for those of us with a HomePod (or mini) in literally every room of our home, and who were hoping for new hardware that supports Apple Intelligence.
Staying with today’s theme of divisive topics, Robert Sietsema at Eater NY:
Which hot dog is better: Papaya King or Gray’s Papaya?
Can’t we all just get along?
Truthfully, I’ve eaten probably hundreds of hot dogs from both. They’re both tasty and I’m thrilled they’re still battling for supremacy.
I very much enjoy Papaya King, but I slightly prefer Gray’s—partly because I find their dogs more flavorful; partly because their (former) locations in Hell’s Kitchen and Greenwich Village were closer to where I hung out. Many a late-night bar crawl ended at Sixth and 8th.
Rivalries have helped define the New York City hot dog: a slender, all-beef frank with a natural skin, served with a choice of mustard, sauerkraut, and, later, stewed onions.
I’m a simple man. A dog with mustard, that’s all I need.
Over the years, Papaya King has added over a dozen variations to its basic hot dog featuring incongruous toppings like pastrami, pineapple, jalapenos, grated cheddar, onion rings, hot honey, and mushrooms, generally priced at $7 each. You should ignore these: They’re a diversion from the flavor that defines the New York City frank.
Completely correct. Same for the abomination that is the Chicago dog. Woof.
Donald Trump, today:
After lengthy deliberation and thought, and considering the tremendous talents of many others, I have decided that the person best suited to assume the position of Vice President of the United States is Senator J.D. Vance of the Great State of Ohio.
Trump is cultural heroin. He makes some feel better for a bit. But he cannot fix what ails them, and one day they’ll realize it.
I go back and forth between thinking Trump is a cynical a--hole like Nixon who wouldn't be that bad (and might even prove useful) or that he's America's Hitler.
I’m not a Trump supporter, but I even feel a certain attachment, and I get a little bit cheery when he says certain things on the campaign trail, when he criticizes the elites.
Says the bestselling author, Yale Law School graduate, Silicon Valley venture capitalist, and protege to billionaire Peter Thiel (who donated $10 million to Vance’s 2022 Senate campaign).
Also:
Vance, whose full name is James David Vance, will turn 40 in August.
Not yet 40, with eighteen months of political experience, and he’s now the GOP’s Vice Presidential nominee. Sounds right,
A reminder that Sarah Palin was older (44), and more experienced (a two-term mayor, and Governor of Alaska for eighteen months) when she was selected as John McCain’s VP pick. We remember how well that turned out.
So my only question is: Who plays J.D. Vance on SNL?
My pick is Seth Rogen.
Timothy Snyder at Thinking about...
If a radical-right politician such as Donald Trump is the victim of an assassination attempt, should we not presume that the perpetrator is on the radical left?
No, we should not.
That sort of presumption, based on us-and-them thinking, is dangerous. It begins a chain of thinking that can lead to more violence. We are the victims, and they are the aggressors. We have been hurt, so it must have been them. No one thinking this way ever asks about the violence on one’s own side.
Snyder offers an historical perspective from the 1920s and 1930s to Saturday’s shocking violence.
(via Dave Spector.)
John Gruber at Daring Fireball:
Do not accept, not even at this fraught moment, the claims of anyone blaming yesterday on Democrats describing Trump as a threat to democracy. Saying so is not even on the spectrum of hyperbole. We saw what we saw after the 2020 election, and especially on January 6.
Do not fret, either, that yesterday’s event somehow cedes the election to Trump, on the grounds that he survived and projected strength. The side that wants a strongman was already voting for him.
Spot on. Beyond that, those who “shift” to now vote for Trump were already leaning toward him.
We also ended with similar calls to action:
So here is what the Democrats should do. Tomorrow morning Chuck Schumer should put on the floor of the Senate a law mandating strict background checks for all gun purchases.
Some moments in our life we recognize immediately as capital-H Historic. They are seared into our memories and the history books. Mine include the Space Shuttle Challenger, Barack Obama, 9/11, and COVID-19.
What we witnessed on Saturday afternoon in Butler, Pennsylvania was certainly history. Assassination attempts on current or former presidents are, regrettably, much more common than we might expect—or like—in a democracy, and former president Donald Trump is now part of a sad American legacy of political violence; one perpetrated exclusively with guns.
Somehow, a man with an AR-15 style semi-automatic rifle managed to avoid Secret Service and local police, climb a roof, and shoot at the former president during an outdoor rally, grazing him in the ear, killing at least one attendee, and critically injuring two more. Mere fractions of an inch and this moment in time would be tragically Historic.
It may yet prove historic. One of Trump’s indisputable skills is that he instinctively intuits a media moment. Those instincts resulted in a photo for the ages. Getting shot at, clipped, and then rising, bloodied, fist raised in defiance, yelling “Fight!” to his audience… those optics may well solidify his supporters and propel him to the White House. Were that to happen, the history books would certainly point to this moment. A Hollywood screenwriter could scarcely script it better.
Which is not to say Trump is assured of—or somehow now deserves—another term. Nor does it mean that his opponents should stop calling out his dangerous rhetoric. Quite the opposite. It’s imperative they now work doubly hard to defeat him.
This abhorrent act is a reminder that political violence is never acceptable, no matter the target, and that violent rhetoric has real-world repercussions. Yet we must not mistake from where that rhetoric really comes.
Just minutes after the shooting, J.D. Vance wrote on X/Twitter:
Today is not just some isolated incident.
The central premise of the Biden campaign is that President Donald Trump is an authoritarian fascist who must be stopped at all costs.
That rhetoric led directly to President Trump's attempted assassination.
This is transparent, self-serving bullshit. Vance is a leading vice presidential contender for a candidate who calls his opponents “vermin,” agitates for immigrants to be concentrated into camps and deported, and reportedly inspired 54 cases of violence, threats, and alleged assaults in his name. It’s unsurprisingly characteristic for their party to blame the other side rather than looking inward at their standard bearer.
President Biden’s call to “lower the temperature” is welcome and necessary, as long as we remember which side generates most of the heat.
It’s right for President Biden to call the attack “sick,” and state unequivocally that “there’s no place in America for this kind of violence,” even as the other side uses violent imagery.
It’s appropriate to call for “unity”, as long as we’re not meeting fascists “halfway” closer to fascism.
Meanwhile, let’s not ignore the nature of the assault itself. It is practically Shakespearean that the would-be assassin’s weapon of choice was an AR-15, which the NRA once called “America’s Rifle” and which the GOP fetishizes. This is a party whose members wear AR-15 rifle pins, pose with assault-style rifles for their Christmas cards, oppose gun-free zones (unless they’re in those zones), and have no intention of addressing gun violence.
Beyond “unity” and “lowered temperatures,” what we should be calling for are laws restricting access to AR-15 and similar assault-style weapons (and bump stocks, recently deemed legal again by the far-right Supreme Court majority).
I want Hakeem Jeffries and Chuck Schumer to immediately offer bills in the House and Senate today. Call it, I dunno, the “Tough Republicans Uniting for Maximum Protection Act” and dare Mike Johnson, Mitch McConnell, and the rest of the GOP to block it.
Taking the attempted assassination of a former president with an AR-15, and banning those weapons?
That would make this moment absolutely Historic, in the best possible way.
A follow-up on my aforelinked piece on Priscila Barbosa:
[Uber] detected a ring of people bypassing its background checks in Massachusetts and California, and tipped off the FBI in Boston. Investigators served a warrant to Apple; they wanted to see the iCloud account of a Brazilian guy named Wemerson Dutra Aguiar… who, after getting hurt at his job in construction, started driving for apps and later dealing fake accounts. Barbosa didn’t know Aguiar, but a Mafia member had once asked her to email him a Connecticut driver’s license template. She did. By February 2021, law enforcement had circled in on her, and served Apple a search warrant for her iCloud too. In early April, the FBI had tracked Barbosa’s location via her T-Mobile cell number. Investigators staked out her apartment and watched her come and go.
A good reminder that while iCloud is encrypted, by default Apple holds the encryption keys (so they “can help you with data recovery”) and that “only certain data is end-to-end encrypted.” That means the FBI and other law enforcement organizations can get access to your account with a subpoena.
If this concerns you, consider enabling Advanced Data Protection for iCloud (available in iOS 16.2, iPadOS 16.2 and macOS 13.1)—though note that even then your iCloud Mail, Contacts, and Calendar remain accessible to Apple.
Lauren Smiley, writing in Wired about Priscila Barbosa:
Just three years after landing at JFK, she had risen to the top of a shadow Silicon Valley gig economy. She’d hacked her way to the American Dream.
An absolutely wild story. I was reluctant to use "defrauding" in the headline. Barbosa exploited holes in the identity verification systems for Uber, DoorDash, and other gig economy businesses, allowing her and other undocumented immigrants to work. But she did commit fraud.
Two things:
studied IT at a local college, taught computer skills at elementary schools, and digitized records at the city health department. She also became a gym rat […] and started cooking healthy recipes. In 2013, she spun this hobby into a part-time hustle, a delivery service for her ready-made meals. When orders exploded, Barbosa ramped up to full-time in 2015, calling her business Fit Express. She hired nine employees and was featured in the local press. She was making enough to travel to Walt Disney World, party at music festivals, and buy and trade bitcoin. She happily imagined opening franchises and gaining a solid footing in the upper-middle class.
And during her exploits:
Barbosa noticed that all of her axed accounts had, in fact, been created on her phone—iPhone de Priscila Barbosa. What if she made her computer look like a different device each time? She restarted her laptop, accessed the web through a VPN, changed her computer’s address, and set up a virtual machine, inside which she accessed another VPN. She opened a web browser to create an Uber account with a real Social Security number bought from the dark web. It worked.
Her skills should be admired—and used for good. In a different world, under a more welcoming set of immigration policies—or, let’s admit it, if she was European—Barbosa would be an expat not an immigrant, and hailed as a success story.
During the legal wranglings, the company accused the ring of stealing money and tallied its losses: some $250,000 spent investigating the ring, around $93,000 to onboard the fraudulent drivers, plus safety risks and damage to its reputation.
Claiming losses from onboarding drivers who then went on to pick up and drop off riders? Ridiculous.
Defense attorneys shot back that no one lost money at all: The jobs were done. The food was delivered. People got their rides. The gig companies, in fact, profited off the undocumented drivers, taking their typical hefty cut—money that, once the fraud was discovered, there was no evidence they’d refunded to customers.
Far from losing money, Uber profited because of these drivers. Indeed, had Uber simply ignored these drivers, or better still, advocated for a way to legally support them, they would have only benefitted by having a large pool of eager and willing partners.
The real victims were those who had their identities appropriated. Except:
None of the three identity-theft victims who spoke to me—a Harvard professor and two tech workers—knew how or when their identity had been stolen. None had experienced financial harm. They felt unnerved because their information was exposed, but they were also curious about, and even showed a degree of empathy for, the thieves. One victim mused to me, “It’s kind of a sad crime in a way, isn’t it? Obviously, it’s a crime and they shouldn’t have done it, but sad that people have to do stuff like this to get by.”
Additionally, Barbosa and her partners could have done far, far worse with the data they had. Alessandro Da Fonseca was one such partner:
With all the personal information the ring had access to—enough to open bank accounts, credit cards—their only con was to… create Uber profiles? Fonseca shrugged it off. “We are not criminals, with a criminal mind,” he told me in a jail call. “We just want to work.”
Smiley writes about Barbosa:
she felt like an entrepreneur, supplying the demand. Undocumented immigrants wanted to drive in the gig economy, and with the system that existed, they legally could not. People like Barbosa—with no family in the States to sponsor them for green cards and their undocumented status precluding them from applying for many other types of visas—were short on options. “If the US gave more opportunities for immigrants to be able to work legally and honestly here,” she says, “nobody would look for something like this.”
Completely agree. Immigrants (documented or otherwise) are 56% of the gig economy in San Francisco. 78% are not white. I’m guessing the numbers are similar across the country. They may be “taking our jobs,” but only because they’re not jobs most (white) Americans seem to want. Without immigrants, much of the gig economy would crash.
They just want to work.