Latest Posts (20 found)

The Guestbook Is Back

What’s going on, Internet? Guestbooks are one of my favourite relics of the old web. My old guestbook stopped working after the database behind it shut down, and I’ve been meaning to bring it back ever since. Well, it’s finally here. The new guestbook is powered by webweav.ing , built by yequari and available to 32-Bit Cafe members. It provides web components that handle the form and comments, making it easy to drop into any site. If you’re a member, I’d recommend checking it out. Go ahead and sign the guestbook . Say what’s up. Hey, thanks for reading this post in your feed reader! Want to chat? Reply by email or add me on XMPP , or send a webmention . Check out the posts archive on the website.

0 views

2026.07: Aggregators and AI

Welcome back to This Week in Stratechery! As a reminder, each week, every Friday, we’re sending out this overview of content in the Stratechery bundle; highlighted links are free for everyone . Additionally, you have complete control over what we send to you. If you don’t want to receive This Week in Stratechery emails (there is no podcast), please uncheck the box in your delivery settings . On that note, here were a few of our favorites this week. This week’s Stratechery video is on Microsoft and Software Survival . Individualization at Scale. Spotify had a fantastic result in its quarterly earnings, but I thought the earnings call commentary — it was former CEO and founder Daniel Ek’s last — was worth a deeper examination into the reality of modern network companies . Spotify is a music streaming service that everyone is familiar with, but the actual experience of every Spotify user is unique. That’s a feature of every monolithic network-effects company, and explains why such companies are poised to be big winners from AI. — Ben Thompson CapEx Explosions and Distinctions.  The most amazing thing I read this week was a note from a Sharp Tech emailer who observed that the combined project capital expenditures of Amazon, Google and Meta in 2026 — more than $700 billion — net out to nearly two-thirds of the annual budget for the U.S. Department of Defense. Where is that money going, and how scared should investors be? The answer there varies. On Monday, Ben explained why Google’s plans make perfect sense  given the nature of the business and their results over the past few years. Tuesday’s Update told a different story about Amazon : their spending is defensible, but shareholders who are anxious have a few good reasons to be.  — Andrew Sharp The Interviewer Becomes the Interviewee.  As Ben’s friend and colleague, I loved the inversion we got from this week’s Stratechery Interview , cross-published from Stripe Preisdent John Collison’s Cheeky Pint podcast . This was Collison interviewing Ben, talking from everything from the difference between pre- and post-smartphone Japan, Meta’s allergy to advertising evangelism, why Ben doesn’t cover TikTok as much, and Stratechery’s business model (which was in part enabled by Stripe). The 90-minute conversation was a delight and is also available to watch on YouTube , if you’d like to see what Stripe’s on-premise pub looks like and get pretty jealous.   — AS Google Earnings, Google Cloud Crushes, Search Advertising and LLMs — Google announced a massive increase in CapEx that blew away expectations; the companies earnings results explain why the increase is justified. Amazon Earnings, CapEx Concerns, Commodity AI — Amazon’s massive CapEx increase makes me much more nervous than Google’s, but it is understandable. Spotify Earnings, Individualized Networks, AI and Aggregation — Spotify’s nature as a content network means that AI is a sustaining technology, particularly because they have the right business model in place. An Interview with Ben Thompson by John Collison on the Cheeky Pint Podcast — An interview with me by John Collison on the Cheeky Pint podcast about AI, ads, and the history of Stratechery. Takaichi, Tanking and Legalization Lessons — On landslide elections in Japan, fixing a mess in the NBA, and a defining political challenge for the next generation in the United States.  Ferrari Luce Apple Losing Control The Great Golden Age of Antibiotics The Epochal Ultra-Supercritical Steam Turbine Pending Taiwan Arms Sales; Jimmy Lai Sentenced; Takaichi Secures a Supermajority; AI Models as Propaganda Vectors Radical Transparency Roundup, The Tanking Race Gets Disgusting, Giannis Takes a Share in Kalshi Spotify Spreads Its Wings, CapEx Explosions and Distinctions, Q&A on Viral AI Tweets, Anthropic, Giannis

0 views

focus timer

I recently felt like I couldn't trust my own judgment anymore about how much time I put into things. I could sit on my desk for 8 hours, but did I really study that much? Work that much? Volunteer that much? Blog that much? What about my breaks (chatting, videos, toilet, kitchen)? Even if I felt like I did a lot that day, I wasn't sure how much already, since so much bled together. I do not work in fixed increments (Pomodoro etc.) or set specific times when to start something. I just flow from one thing to another. I could summarize and translate a case, and then midway take a break to chat or watch a video, which then could inspire a blog post I'd write, and then I make some food, I have an idea for some pixel art and draw it, then after that I start studying, and when I need a break I continue the case again... it sounds a bit messier than it is in practice. It warps my perception though, especially because it all happens in the same location and on the same device. So I needed a lightweight timer that would keep the time, let me label it, and then log it in a file. In the end, I could see how much I did of each thing in the file. I asked for recommendations first, then couldn't really find what I was looking for otherwise, so I settled on AI-generating a solution for me. I couldn't add learning Python onto my busy schedule and waste it on a measly timer when I should be doing other things, and I needed it right that day, so I thought that's the perfect dirty work for an LLM for once. The timer has a 'Start' button that switches to 'Pause' once it is pressed, and 'Stop' opens a dialogue window to assign a label (= type in a word). After a label is assigned, it gets saved to a . In the CSV file, it shows date, current local time, the given label, and the timer time. The way this is read depends on your locale and how you set the separator options. For me, it is set like this: Different locale or separator detection can show the numbers in separate columns instead. If anyone needs it, here is the AI-generated code with some manual edits by me (added symbols, adjusted how date and time is displayed in the CSV). Probably silly as hell code, but what do I know. Put it into a file called and allow it to run as executable. Reply via email Published 13 Feb, 2026

0 views

David Cain

This week on the People and Blogs series we have an interview with David Cain, whose blog can be found at raptitude.com . Tired of RSS? Read this in your browser or sign up for the newsletter . The People and Blogs series is supported by Markus Heurung and the other 116 members of my "One a Month" club. If you enjoy P&B, consider becoming one for as little as 1 dollar a month. I’m a Canadian blogger and entrepreneur. I started doing this back when I was in a totally different line of work. I was a surveyor for an engineering company, and where I live the industry slows down in the winter because of the harsh cold, so I began poking around on the internet a little more than usual. That led to discovering blogs, and the possibility of doing that for a living. I had always been into writing, so having a way to publish my thoughts and for interested parties to read them and care was a revelation. That was 2008 or so, when the internet was a very different place. Social media was a niche and nerdy thing, big companies had no idea how to use the internet, and we were not all algorithmized. I miss that time. Aside from what I write about (see below), I’m into indoor climbing, reading, religion, history, and lifting weights. I’m also into the idea of the “Oldschool Internet.” As you know if you’re over 30, the internet used to feel different than it does now. It was freer, more creative and weird, and less dominated by big platforms and algorithms. I have a deep, deep nostalgia for it and I wish I could recreate that feeling. When I was goofing around on the internet at work I found a blog about blogging for a living, and one day decided I would do that. I had always been interested in the inner world of the human being. I was always thinking about this conundrum of having mind and a body. You have no instruction manual, and you have to go and live a life and try to be happy. I sat down and listed like a hundred obscure ideas I’d been wanting to tell the world. What I didn’t realize is that my obsession with the inner human world and managing the human condition was due to having undiagnosed ADHD, which made ordinary life stuff very complicated and difficult. My challenges led me to reading piles of self-help and spiritual-flavored stuff. A lot of it was crap but I did learn quite a bit about making the most of the mess that is human life, and shared what I found. The blog I started was called Raptitude . It was just a made-up word, combining “rapt” and “aptitude.” The idea is that you can get better at appreciating life, at being rapt by the day-to-day experience of being alive. Many of my posts were little tricks I’d figured out for getting yourself to do things, not realizing it was coming from a rather crippling psychiatric condition. I finally got diagnosed at age 40, after twelve years of blogging. I always tried to stay away from writing in the kind of mushy, therapeutic tone that dominates the self-help and spiritual space. I wrote about weird and hypothetical things instead, and I found an audience pretty quickly. This year I launched a second site to help other “productivity-challenged” people. It’s called How to Do Things , and it’s more practical and less philosophical than Raptitude, and is aimed at adults with ADHD. Today my writing is more focused, less wild. But Raptitude is the same blog it was 17 years ago when I first launched it. I have ideas all the time and take voice notes when I’m out and about. If I’m home I just mind-dump into a text document. Later I go through my ideas and find one I think I could actually write about. I play around with it, find an angle, and start typing. I do a lot of moving things around, cutting and pasting. Sometimes I’ll write 3 or 4 thousand words and end up with a 1200-word post. Sometimes I even delete the original idea and just riff on a tangential idea. It is not an efficient or structured process, it’s just habit. I take forever to write posts, even now. I don’t do drafts exactly, I just barf out the idea, try to find a bottom-line point, then revise what I’ve written to point to that bottom-line idea. I do a couple of passes to try to shorten it, which just as often ends up lengthening it. Then I add pictures with funny captions so people don’t get bored and publish it. I don’t involve anyone else in the writing and there are typos sometimes. I have a home office and that’s pretty much exclusively where I work. Everything I need is there, my desk has a lot of space, I have multiple monitors. I play instrumental music. Classical or ambient electronic. I’ve worked in coffee shops, and I do get inspired by being out in the world. But I always feel guilty about taking up their seats for too long, and the travel time seems like a waste so I don’t do that much. I have always used WordPress, and self-host on BigScoots. I love the host and am so glad I switched from a large, well-known terrible company I will not name. WordPress is good and a lot less clunky than it used to be. Today I would just do a Substack. I still might switch to Substack one day. It seems like a well-contained environment that takes eliminates a lot of technical and design considerations that can suck up writing time. You’re also built into a network of other writers and readers. What I would do differently is learn to make a kind of content that doesn’t take long to make. I take forever to do one piece and it is still hard. Another thing I’d do differently is define my topic more narrowly. I write about anything pertaining to human life, which makes it difficult to know what to write about, and difficult to do any marketing or intentional growth, because there is no identifiable crowd or demographic that I know would be into my “topic.” It costs a fortune, all told, because it’s a business and not just a blog. Hosting isn’t bad – a few hundred dollars a year. I pay someone on a monthly basis to update and maintain the site and deal with downtime and crashes and other stuff that used to blow up my life once a year or so. I’m not a super savvy technical person so this is necessary. The highest cost is the email management system, which is essential for the layers and layers of emails I send. With 40,000 people in the system it costs over $400 a month. There may be cheaper options but switching would be too big a pain. I also have tons of little subscription costs that have become necessary for product delivery (Dropbox for example). Altogether my monthly business expenses are more than my rent. I make a full-time living from my blog by offering products to my readers. I also have a Patreon. The whole operation would be way cheaper to run if I didn’t sell anything. I am all for monetizing personal blogs. Good content is hard to make and takes time, and if you want to offer something bigger than blog posts, you have to charge for it or it doesn’t get made. I am a fan of David Pinsof’s Everything is Bullshit and Scott Alexander’s Astral Codex Ten , both of which are Substacks now. Mostly I read books these days. I just want to say this was a lot of fun. Not to be the old man in the room but the internet has changed immensely since I started in 2008. Part of what has dropped away (at least for me) has been being in the “world” of blogs. Answering these questions and reading other people’s answers on your site has reminded me that some semblance of that community spirit still exists. Thanks for keeping it alive. Now that you're done reading the interview, go check the blog and subscribe to the RSS feed . If you're looking for more content, go read one of the previous 128 interviews . Make sure to also say thank you to Brennan Kenneth Brown and the other 116 supporters for making this series possible.

0 views
iDiallo Today

Factional Drift: We cluster into factions online

Whenever one of my articles reaches some popularity, I tend not to participate in the discussion. A few weeks back, I told a story about me, my neighbor and an UHF remote . The story took on a life of its own on Hackernews before I could answer any questions. But reading through the comment section, I noticed a pattern on how comments form. People were not necessarily talking about my article. They had turned into factions. This isn't a complaint about the community. Instead it's an observation that I've made many years ago but didn't have the words to describe it. Now I have the articles to explore the idea. The article asked this question: is it okay to use a shared RF remote to silence a loud neighbor ? The comment section on hackernews split into two teams. Team Justice, who believed I was right to teach my neighbor a lesson. And then Team Boundaries, who believed I was “a real dick”. But within hours, the thread stopped being about that question. People self-sorted into tribes, not by opinion on the neighbor, but by identity. The tinkerers joined the conversation. If you only looked through the comment section without reading the article, you'd think it was a DIY thread on how to create an UHF remote. They turned the story into one about gadget showcasing. TV-B-Gone, Flipper Zeros, IR blasters on old phones, a guy using an HP-48G calculator as a universal remote. They didn't care about the neighbor. They cared about the hack. Then came the apartment warriors. They bonded over their shared suffering experienced when living in an apartment. Bad soundproofing, cheap landlords, one person even proposed a tool that doesn't exist yet, a "spirit level for soundproofing". The story was just a mirror for their own pain. The diplomats quietly pushed back on the whole premise. They talked about having shared WhatsApp groups, politely asking, and collective norms. A minority voice, but a distinct one. Why hack someone when you can have a conversation? The Nostalgics drifted into memories of old tech. HAM radios, Magnavox TVs, the first time a remote replaced a channel dial. Generational gravity. Back in my days... Nobody decided to join these factions. They just replied to the comment that felt like their world, and the algorithm and thread structure did the rest. Give people any prompt, even a lighthearted one, and they will self-sort. Not into "right" and "wrong," but into identity clusters. Morning people find morning people. Hackers find hackers. The frustrated find the frustrated. You discover your faction. And once you're in one, the comments from your own tribe just feel more natural to upvote. This pattern might be true for this article, but what about others? I have another article that has gone viral twice . On this one the question was: Is it ethical to bill $18k for a static HTML page? Team Justice and Team Boundaries quickly showed up. "You pay for time, not lines of code." the defenders argued. "Silence while the clock runs is not transparent." the others criticized. But then the factions formed. People self-sorted into identity clusters, each cluster developed its own vocabulary and gravity, and the original question became irrelevant to most of the conversation. Stories about money and professional life pull people downward into frameworks and philosophy. The pricing philosophers exploded into a deep rabbit hole on Veblen goods, price discrimination, status signaling, and perceived value. Referenced books, studies, and the "I'm Rich" iPhone app. This was the longest thread. The corporate cynics shared war stories about use-it-or-lose-it budgets, contractors paid to do nothing, and organizational dysfunction. Veered into a full government-vs-corporations debate that lasted dozens of comments. The professional freelancers dispensed practical advice. Invoice periodically, set scope boundaries, charge what you're worth. They drew from personal contractor experience. The ethicists genuinely wrestled with whether I did the right thing. Not just "was it legal" but "was it honest." They were ignored. The psychology undergrads were fascinated by the story. Why do people Google during a repair job and get fired? Why does price change how you perceive quality? Referenced Cialdini's "Influence" and ran with it. Long story short, a jeweler was trying to move some turquoise and told an assistant to sell them at half price while she was gone. The assistant accidentally doubled the price, but the stones still sold immediately. The kind of drift between the two articles was different. The remote thread drifted laterally: people sorted by life experience and hobby (gadget lovers found gadget lovers, apartment sufferers found apartment sufferers). The $18k thread drifted deep: people sorted by intellectual framework (economists found economists, ethicists found ethicists, corporate cynics found corporate cynics). The $18k thread even spawned nested debates within subfactions. The Corporate Cynics thread turned into a full government-vs-corporations philosophical argument that had nothing to do with me or the article. But was all this something that just happens with my articles? I needed an answer. So I picked a recent article I enjoyed by Mitchell Hashimoto . And it was about AI, so this was perfect to test if these patterns exist here as well. Now here is a respected developer who went from AI skeptic to someone who runs agents constantly. Without hype, without declaring victory, just documenting what worked. The question becomes: Is AI useful for coding, or is it hype? The result wasn't entirely binary. I spotted 3 groups at first. Those in favor said: "It's a tool. Learn to use it well." Those against it said: "It's slop. I'm not buying it." But then a third group. The fence-sitters (I'm in this group): "Show me the data. What does it cost?" And then the factions appeared. The workflow optimizers used the article as a premise to share their own agent strategy. Form an intuition on what the agent is good at, frame and scope the task so that it is hard for the AI to screw up, small diffs for faster human verification. The defenders of the craft dropped full on manifestos. “AI weakens the mind” then references The Matrix. "I derive satisfaction from doing something hard." This group isn't arguing AI doesn't work. They're arguing it shouldn't work, because the work itself has intrinsic value. The history buffs joined the conversation. There was a riff on early aircraft being unreliable until the DC-3, then the 747. Architects moving from paper to CAD. They were framing AI adoption as just another tool transition in a long history of tool transitions. They're making AI feel inevitable, normal, obvious. The Appeal-to-Mitchell crowd stated that Mitchell is a better developer than you. If he gets value out of these tools you should think about why you can't. The flamewar kicked in! Someone joked: "Why can't you be more like your brother Mitchell?" The Vibe-code-haters added to the conversation. The term 'vibe coding' became a battleground. Some using it mockingly, some trying to redefine it. There was an argument that noted the split between this thread (pragmatic, honest) and LinkedIn (hyperbolic, unrealistic). A new variable from this thread was the author's credibility, plus he was replying in the threads. Unlike with my articles, the readers came to this thread with preconceived notions. If I claimed that I am now a full time vibe-coder, the community wouldn't care much. But not so with Mitchell. The quiet ones lose. The Accountants, the Fence-Sitters, they asked real questions and got minimal traction. "How much does it cost?" silence. "Which tool should I use?" minimal engagement. The thread's energy went to the factions that told a better story. One thing to note is that the Workflow Optimizers weren't arguing with the Skeptics. The Craft Defenders weren't engaging with the Accountants. Each faction found its own angle and stayed there. Just like the previous threads. Three threads. Three completely different subjects: a TV remote story, an invoice story, an AI adoption guide. Every single one produced the same underlying architecture. A binary forms. Sub-factions drift orthogonally. The quiet ones get ignored. The entertaining factions win. The type of drift changes based on the article. Personal anecdotes (TV remote) pull people sideways into shared experience. Professional stories ($18k invoice) pull people down into frameworks. Prescriptive guides (AI adoption) pull people into tactics and philosophy. But the pattern, like the way people self-sort, the way factions ignore each other, the way the thread fractures, this remained the same. The details of the articles are not entirely relevant. Give any open-ended prompt to a comment section and watch the factions emerge. They're not coordinated. They're not conscious. They just... happen. For example, the Vibe-Code Haters faction emerged around a single term "vibe coding." The semantic battle became its own sub-thread. Language itself became a faction trigger. Now that you spotted the pattern, you can't unsee it. That's factional drift.

0 views

Why Parenting Is Similar To JavaScript Development

Here’s a crazy thought: to me, parenting feels very similar to programming in JavaScript. The more I think about it, the more convinced I am. If you’re an old fart that’s been coding stuff in JavaScript since its inception, you’ll undoubtedly be familiar with Douglas Crockford’s bibles , or to be more precise, that one tiny booklet from 2008 JavaScript: The Good Parts . That book covered by a cute O’Reilly butterfly is only 172 pages long. Contrast that with any tome attempting to do a “definitive guide”, like David Flanagan’s, which is 1093 pages thick. Ergo, one starts thinking: only of Javascript is inherently good . And that was 18 years ago. Since then, the EcmaScript standard threw new stuff on top in a steady yearly fashion, giving us weird and wonderful things (Promise chaining! Constants that aren’t constants! Private members with that look weirder than ! Nullish coalescing?? Bigger integers!) that arguably can be called syntactic sugar to try and disguise the bitter taste that is released slowly but surely if you chew on JS code long enough. If that’s not confusing enough, the JS ecosystem has evolved enormously as well: we now have 20+ languages built on top of JS that compile/transpile to it. We have TypeScript that has its own keyword that has nothing to do with , go nuts! We have ClojureScript that lets you write your React Native components in Clojure that compiles to JS that compiles to Java with Expo that compiles your app! We have and and and god-knows-what-else that replaces and possibly also ? At this point, I’m starting to transpile JS into transpiration. Parenting often feels like Javascript: The Good Parts versus JavaScript: The Definitive Guide . With our two very young children, there are many, many (oh so many) moments where we feel like we’re stumbling around in the dark, getting lost in that thick tome that dictates the things that we should be doing. When the eldest has yet another I’ll-just-throw-myself-on-the-floor-here moment and the youngest keeps on puking and yelling because he just discovered rolling on his tummy, I forget The Good Parts . To be perfectly frank, in those moments, I often wonder if Crockford had been lying to us. Are there even any good parts at all? We all know JS was cobbled together overnight because Netscape needed “some” language to make static languages a bit more dynamic. A language for the masses! What a monster it has become—in both positive and negative sense. It often feels like Wouter doesn’t exist anymore. Instead, there’s only daddy. It has been months since I last touched a book, notebook, or fountain pen. It has been months since my wife & I did something together to strengthen our relationship which currently is being reduced to snapping at each other because we’re still not perfectly synced when it comes to educational rules. Perhaps just writing and publishing this is reassurance for myself: proof of existence. Hi! This is not a bot! JavaScript is a big mess. Parenting feels like that as well. The ecosystem around JS rapidly changes and only the keenest frontend developer is able to keep up. I have no idea how to keep up with parenting. During our day-to-day struggles, you barely notice that the kids are growing and changing, but when you look back, you’re suddenly surprised yet another milestone has passed. Is that part of the Good Parts or the Bad Parts ? Maybe Flanagan’s Definitive Guide should be used to smack people on the head that do not obey to the latest EcmaScript standard best practices. I often have the feeling of getting smacked on the head when trying to deal with yet another kid emergency situation. I’m exhausted. Last week I yelled so hard at our eldest that she and I both started crying—she on the outside, me on the inside. I have no idea who I am anymore. I’m not like that. But it seems that I am. Our children successfully managed to bring out the worst in ourselves, even parts that I didn’t even know where there. I’ll let you be the judge of whether that bit belongs in the Good Parts . Yet I love JS. I love its dynamic duck type system (fuck TypeScript), I love its functional , , roots, I love prototypal inheritance. But I often forget about it because it’s buried in all that contemporary mud. Of course I love my children, but right now, I can’t say that I love parenting, because it’s buried in all that attention demanding and shouting that reduces our energy meters to zero in just a few minutes. My wife made a thoughtful remark the other day: We’re no longer living. At this point, we’re merely surviving. Every single day. As I write this, it’s almost 17:30 PM. The kids spent the day at my parents so I don’t even have the right to complain. Every minute now, they can come back and the bomb will explode again. There’s a little voice in my head that says “just get to the cooking, get them to eat and shove them in bed. Only an hour and a half left.” I don’t know if that’s sad or not. I need to get cooking. Only an hour and a half left. Don’t blame me, I no longer live. We’re merely surviving. If someone manages to write Parenting: The Good Parts in only 172 pages, let me know. Related topics: / javascript / parenting / By Wouter Groeneveld on 13 February 2026.  Reply via email .

0 views

What I won’t write about

I’ve been writing a lot more over the past year - in fact, I’ve written at least once a week , and this is article number 60 within the past year. I did this for many reasons: to get better at writing, to get out of a creative rut, play around with different writing voices, but also because I wanted to move my blog from a dry tech blog to something I myself am a little more excited about. I started this blog in 2012, documenting my experiences with various programming tools and coding languages. I felt like I contributed by sharing tutorials, and having some public technical artifacts helped during job searches. Over the years I branched out - short reviews for books I’ve read, recounts of my travel (and turning my Prius into a car camper to do so), notes on personal finance… All of this shares a theme: descriptive writing. I feel most confident describing and recounting events and putting together tutorials. It’s easy to verify if I’m wrong - an event either happened or didn’t, the tool either worked - or didn’t. And I was there the whole time. That kind of writing doesn’t take much soul and grit, and while it’s pretty good at drawing traffic to the site (eh, which is something I don’t particularly care about anymore ), I wouldn’t call it particularly fulfilling. Creatively, at least. I’m scared to share opinions, because opinions vary and don’t have ground truth. It’s easier to be completely wrong, or to look like a fool. I don’t want to be criticised for my writing. Privacy is a matter too - despite writing publicly, I consider myself to be a private person. So, after 13 years of descriptive writing, I made an effort to experiment in 2025. I wrote down some notes on parenthood, my thoughts on AI and Warhammer , nostalgia, identity, ego… I wrote about writing, too. It’s been a scary transition, and it still is. I have to fight myself to avoid putting together yet another tutorial or an observation on modal interfaces . I’ve been somewhat successful though, as I even wrote a piece on my anxiety about sharing opinions . But descriptive writing continues sneaking in, trying to reclaim the field. You see, I write under my own name. I like the authenticity this affords me, and it’s nice not having to make a secret blog (which I will eventually accidentally leak, knowing my forgetfulness). I mean this blog has been running for 14 years now, that’s gotta count for something. But writing under my own name also presents a major problem. It’s my real name. If you search for “Ruslan Osipov”, my site’s at the top. I don’t hide who I am, and you can quickly confirm my identity by going to my about page . This means that friends, colleagues, neighbors, bosses, government officials - anyone - can easily find my writing. If there are people out there who don’t like me - for whatever reason - they can read my stuff too. The more I write, the more I learn that good writing is 1) passionate and 2) vulnerable (it’s also well structured, but I have no intention of restructuring this essay - so you’ll just have to sit with my fragmented train of thought). It’s easy to write about things I’m passionate about. I get passionate about everything I get involved in - from parenting and housework to my work. I write this article in Vim, and I’m passionate enough about that to write a book on the subject . Vulnerability is hard. Good writing is raw, it makes the author feel things, and leaves little bits and pieces of the author scattered on the page. You just can’t fake authenticity. But here’s the thing - real life is messy. Babies throw tantrums, work gets stressful, the world changes in the ways you might not like. That isn’t something you want the whole world to know. Especially if that world involves a prospective employer, for example. So you have to put up a facade, and filter topics that could pose risk. I’m no fool: I’m not going to criticize the company that pays me money. I like getting paid money, it buys food, diapers, and video games. I still think it’s a bit weird and restrictive that a future recruiter is curating my writing today. The furthest I’m willing to push the envelope here is my essay on corporate jobs and self-worth . Curation happens to more than the work-related topics of course. And that might even be a good thing. I don’t just reminisce about my upbringing. It’s a brief jumping off point into my obsession with productivity . Curation is just good taste. You’re not getting my darkest, messiest, snottiest remarks. You’re getting a loosely organized, tangentially related set of ideas. Finding that gradient has been exciting. So, here’s what I won’t write about. I won’t share too many details about our home life. I won’t complain about a bad day at work. I won’t badmouth people. But I will write about what those things feel like - the tiredness, the frustration, the ego.

0 views
ava's blog Yesterday

when exercise started helping me

Nowadays, exercising really always saves me without fail. I realized that today, after again feeling absolutely terrible but then dragging myself out of bed to at least walk on my foldable treadmill. I started wondering when this change exactly happened and what led to it, because I used to hate exercise. I didn't understand people who said it helped with depression. When did it truly start being a reliable way to improve my mental state? What I struggled with back then were most definitely access, energy and health . I neither had a gym membership, nor did I have gym equipment at home. Wanting to exercise consisted of pulling out some yoga mat to do crunches like once a year, or going out for a run. Both suck when you haven't built it up over weeks or months! It was immediately difficult, painful and exhausting. My undiagnosed autoimmune diseases added more pain on top; I was just too inflamed to really work out well or even recover for days on end, and I dealt with a lot of fatigue on top of everything. That makes starting and keeping at it almost impossible, except for unexpected good phases. Without at least showing up semi-regularly, I made no progress, and every attempt I did make was immediately very exhausting with no reward. I felt like I couldn't last long enough in a session or exercise regimen to even reap the benefits. It didn't help at all that I immediately always chose something rather difficult or exhausting, as if I had to jump onto a level at which I expected a "default" human being to be at. So what changed is: I was diagnosed and found a working treatment. This one is big; so much pain and fatigue gone. Training results finally showed and made getting motivated and back on track easier. Some exercise even started helping with the residual pain and symptoms. I searched for things to do that were easier on me. I shouldn't immediately run or do crunches. Instead, even just walking, yoga, and some easy Pilates are enough, and more manageable to someone in my position. They are easier to pick back up after a few weeks and allow great control over varying the difficulty. With running, for example, I had no room to vary anything; even just the act of running was so exhausting back then that adjusting speed made no difference. With other forms of movement, I could build something without feeling totally exhausted. I signed up for the gym and just made showing up and walking on the treadmill a goal, and I watched videos or listened to podcasts. This was needed, because when I started it, I was still recovering from a really bad flare up and couldn't be trusted to walk around unsupervised in the forest somewhere. At the gym while just walking, I could slowly build up my exercise tolerance and endurance while seeing it as a sort of "me time" with some enjoyable videos, and with people around in case I suddenly started feeling dizzy or anything, and with some rails to hold on to. By saving videos for this time, I made it more entertaining and had something to look forward to on it. I invested in a spinning bike, and later in a foldable treadmill for at home use. I sometimes feel too bad physically or mentally to make it to the gym (or it is closed), and this enables me to still work out without being discouraged by my issues, time or weather. It also takes away the calculation of "Is it even worth showing up?" if I might just feel like 20 minutes of treadmill that day. Better 20 minutes than nothing! With all that, I slowly built up enough of a a baseline fitness for me that wouldn't make training annoying and just exhausting. It was easier to get back in after a break, and every time I had to take one, I had lost less progress than before. I got better and better at finding my sweet spot, neither under- nor overexercising. The more times I actually pushed myself to exercise despite feeling awful mentally and left it happier, the more it didn't feel like an outlier, but a guaranteed outcome. That made it easier to show up despite everything. It's still hard, but I know now that it is basically like a button to improve my mood, and who doesn't want that? That behavior just keeps getting reinforced every time I can get myself out of a hole with this. It gets harder and harder to convincingly tell myself " No, this time will be different; you'll feel the same or worse when you do this. You should stay in bed instead. " Lying down has a much worse track record: It never makes me feel better. Reply via email Published 12 Feb, 2026 I was diagnosed and found a working treatment. This one is big; so much pain and fatigue gone. Training results finally showed and made getting motivated and back on track easier. Some exercise even started helping with the residual pain and symptoms. I searched for things to do that were easier on me. I shouldn't immediately run or do crunches. Instead, even just walking, yoga, and some easy Pilates are enough, and more manageable to someone in my position. They are easier to pick back up after a few weeks and allow great control over varying the difficulty. With running, for example, I had no room to vary anything; even just the act of running was so exhausting back then that adjusting speed made no difference. With other forms of movement, I could build something without feeling totally exhausted. I signed up for the gym and just made showing up and walking on the treadmill a goal, and I watched videos or listened to podcasts. This was needed, because when I started it, I was still recovering from a really bad flare up and couldn't be trusted to walk around unsupervised in the forest somewhere. At the gym while just walking, I could slowly build up my exercise tolerance and endurance while seeing it as a sort of "me time" with some enjoyable videos, and with people around in case I suddenly started feeling dizzy or anything, and with some rails to hold on to. By saving videos for this time, I made it more entertaining and had something to look forward to on it. I invested in a spinning bike, and later in a foldable treadmill for at home use. I sometimes feel too bad physically or mentally to make it to the gym (or it is closed), and this enables me to still work out without being discouraged by my issues, time or weather. It also takes away the calculation of "Is it even worth showing up?" if I might just feel like 20 minutes of treadmill that day. Better 20 minutes than nothing! With all that, I slowly built up enough of a a baseline fitness for me that wouldn't make training annoying and just exhausting. It was easier to get back in after a break, and every time I had to take one, I had lost less progress than before. I got better and better at finding my sweet spot, neither under- nor overexercising. The more times I actually pushed myself to exercise despite feeling awful mentally and left it happier, the more it didn't feel like an outlier, but a guaranteed outcome. That made it easier to show up despite everything. It's still hard, but I know now that it is basically like a button to improve my mood, and who doesn't want that?

0 views
Rik Huijzer Yesterday

Jesse Strang in 2019

At a shooting on a high school in Tumbler Ridge, Canada, 10 people were shot, as reported at 03:30 in Dutch national media. There are two suspect names going around, however. For example, on Feb 11, 2026, 7:25 PM IST the _Hindustan Times_ reported the name Jesse Strang. A few hours later, however, the name was suddenly reported as Jesse Van Rootselaar without mention of the previous name. For Jesse Strang, there is the following YouTube video posted on the 18th of March 2019. Screensh...

0 views
Playtank Yesterday

The Systemic Pitch

The past few years prove that there is a market for premium systemic singleplayer games. Few have listened to us (developers) when we tried to pitch such games for the past decade. Or ever. This isn’t because there is some kind of conspiracy against systemic games. Not at all. Systemic designs are very hard to sell. Not just to publishers or to customers; systemic designs are hard to sell even to your own team. We get caught by our own excitement, or we try to sell technology or tools as if they are designs when they are really not. The fleeting nature of systemic design feels like losing control, or like a potentially bloated mess of optional sandbox content that we have to make for the simulation to be complete but that will add little for the average player. In this post, I try to address pitching systemic games, based on my own mistakes. There’s a wealth of literature on how to sell something. Including how to make a good sales pitch. For this post, we’ll stick to a very general high level idea of what pitching needs to achieve, and leave all of that expertise to the real experts. One great book you can take a look at is the book Pitch Anything, by Oren Klaff. For this post, let’s assume a pitch needs to do three things: The origins of AAA (or “triple-A”) is from credit ratings. It stands for a rating of low risk, high reward. Or, in the terms of investment banks, “exceptional creditworthiness with minimal risk of default.” It was used in early game development, including pitching, to signify projects that were safe bets with high financial potential. Today, AAA is used to describe anything from team size to budget size. Like many of the terms we use in game development, it’s become almost meaningless, or at least the interpretations have become too varied for consistent use. But these origins are relevant. When you pitch something, the value proposition still needs as small a risk as possible with as big of a potential reward as possible. Pitching is to ask for something. It may be funding to get your game across the finish line, developer buy-in to make the next feature, or something else. Be specific with what you are asking for and you will have a less frustrating conversation. When you pitch, you must offer something to the people you are pitching to. Money, ownership, future commitments. It’s not enough to offer them a potentially great game, you need to show how it’s more than the sum of its parts. Game development comes with many risks that you must address with your pitch. You don’t have to call them out and tell people what your solution will be, but you should consider them and hold yourself accountable for them. The systemic value proposition is extremely tricky. For many external stakeholders it’s not the same as the creative argument or the design paradigms . Many stakeholders want replayable content that’s cheap to make , and will read “systemic” as making content production easier or cheaper. Perhaps using procedural generation techniques to generate multiple levels from a small set of content, thereby not needing as many level designers or prop artists. This is not the same as systemic design at all. Systemic design is about letting go of authorial control and allowing players to have the fun. This almost invariably makes a systemic design sound more expensive to make, since it implies a high degree of freedom and a sandbox nature. If you detect excitement around systemic ideas, be really careful to note what is generating the excitement, or this could be the fundamental misunderstanding you’re experiencing. Anyone can have ideas but everyone can’t turn ideas into games. You must be able to prove why you should be the person making your thing. What to lead your credibility pitch with is tricky. For systemic games, it helps to demonstrate technical expertise immediately. To line up all the key roles that will address the risks you’ve already mentioned and explain how you’ve filled them. Studios may get a lot of attention after releasing games that sold many copies, attracted many concurrent players, or gained high scores in reviews and good media attention. Though this front row attention may be fleeting in the media, it will matter a lot for your credibility to be part of these journeys. People may even talk about the best place to be at a given time. If you’ve mostly worked as a salaried employee, your studio pedigree will be the most important thing you can offer to state your credibility. It also tends to be the first thing many will ask to know. If you worked at particularly big modern studios, you mention which roles you held and not just the name of the studio. This is because if your title was Junior Assistant to the Senior Assistant’s Assistant, your impact was probably quite small, and talking about this studio doesn’t actually provide much credibility. Simple maths. If you have fewer years of experience, you have probably learned less. But the keyword here is “relevant.” If you are pitching a big sprawling open world role-playing game after working on first-person shooters for 15 years, people may believe that you know how to make games, but may be weary that you haven’t made this type of game before. This will then become a risk that you must address. Something that’s almost a joke at this point is to sum up the experience of your team and use that in your pitch. E.g., “250 years of combined gamedev experience.” You can of course do this anyway, but it doesn’t really mean anything. The easiest and most quantifiable way to demonstrate that this isn’t your first rodeo (if it isn’t) is to list the box art for the games you shipped. If this is a very long list, you can stick to the ones that were important or are more likely to be known by the people you are pitching to. Similarly to studio experience, you may want to specify what you did on each game too, but only if it becomes too anonymous otherwise. You shouldn’t turn the credibility element of your pitch into a reason to talk about yourself at length. For an external stakeholder, technology that exists and has been proven through previous game releases is worth a lot more than experimental technology. For this reason, technology becomes part of your credibility. If you come to a pitch and you say you are working on your own engine that will probably be finished a couple of months ahead of release, this will send off warning flags for everyone in the room. But if you say that your team is working with an established third-party engine and you have a working prototype already in place, this will give a much better first impression. It helps to have a team already lined up and waiting for your go-signal. A team shortlist is a list of people who have agreed to let you put their name down for if you find the funds. It’s very rarely treated as a commitment, more a way to lend weight to a pitch. It’s better than saying you’ll start recruiting when you have your funding, but it’s not as good as having people already onboard. The packaging refers to how you communicate value and credibility. There’s no right or wrong way here, but it will matter a lot based on who you are talking to. According to the It Was a Sh!tshow podcast, Futurama spent two to three years in preparation before it was pitched to studios. During that time, they explored characters, key art, technology, and many other things. In game development, we rarely have this room for pitch or concept development. But you do need to prepare as much as you possibly can. You need to figure out the risks, foresee what potential stakeholders will be worried about, and proactively respond allay their concerns. Stories resonate with people. Introductions, reversals, and climaxes. Presenting your pitch as a story doesn’t mean you should lead with your game’s story, it means that your whole pitch should be a story with a proper beginning and end. Start with a bang, end with a call to action. There are some pitfalls you should avoid, however. Don’t ask open-ended rhetorical questions, e.g. “Have you ever thought about why dogs have two ears?!” Because chances are that they only confuse people and don’t actually make them think the way you want. Take charge of the story and walk through your pitch’s narrative beat by beat. Leave nothing to chance. If you want to frame your pitch as a story, use video and visual aids as much as possible and let the story come from you rather than the pitch deck. A strong metaphor can also carry a pitch. In an interview with Designer Notes, games venture capitalist Mitch Lasky talked about his EA pitch using a container to illustrate the benefits of standardisation. Metaphors can of course be traps as well, if they in fact illustrate something you don’t intend, but you’ll figure that out as you work through it. Use a strong metaphor if it fits your whole pitch and doesn’t leave strange questions. A sad fact is that no one wants novelty. Novelty almost always looks like a risk more than a gain. From Railroad Tycoon to The Sims , many of the most groundbreaking games through the years had few fans in management. Similarly, Markus Persson (“Notch”) said that no publisher would’ve cared about Minecraft if he had pitched it to them: it could only happen by selling it directly to players. You can absolutely lead with how your game is different and new, but be aware of this risk. Only focus on novelty if you can incorporate a strong why into your pitch. I have a whole post that laments the use of the word “content.” But it’s enough to say that it’s a word often equated with quantity and used by both developers and consumers. Developers will talk about how much content they offer, while consumers will usually ask for more of it no matter how much is on offer. Most systemic games are not built to funnel “content” to users. Churning out downloadable content (DLC) fits really poorly, and most of the time replayability is a matter of smoke and mirrors. Choosing A instead of B, or approaching through the secret door instead of the main entrance. Functionally, the very same content , but a different experience . Some systemic games manage to pull it off, like Prey and its excellent Mooncrash DLC, but at other times it ends up feeling artificial and a bit forced. Thief wouldn’t benefit from offering you a special gold-lined blackjack, for example. It would only risk diminishing the core experience. Therefore, if you want to offer a systemic game, don’t pitch your game on its quantity of content . People generally use harsher words than good or bad. What often gets lost is the reasons why we think something is good or bad. Particularly when good or bad is applied to specific parts of a game, such as its story or gameplay. If you didn’t like the gameplay, maybe this made you dislike the story. If you really loved the premise, then maybe you felt better about the gameplay than it actually deserved. This means that good or bad is mostly a loud declaration of opinion that muddles any real qualities or faults of the thing being touted. If you disagree with the zeitgeist effectively countless “masterpieces,” the gamer population is quick to call you an idiot. Publishers may not call you an idiot, but you should still avoid calling things good or bad. It may even be that the thing you’re trash-talking is something one of the people you’re pitching to happened to work on. Therefore, avoid value terms and comparisons to other games . There are many words for this. Janky, buggy, glitchy, broken, even unplayable. Some game companies have gained a reputation for their games feeling “janky,” while others may have segments that are more or less so. “Eurojank” is sometimes used as its own term. The issue with this language is that it’s also often applied to complex games. Having to use multiple mapped controls, or using menus in certain ways, will become conversationally equivalent to jank. No matter what you do, do not use these words to describe your own game unless it’s deeply intentional. If you are making the next Goat Simulator or Gang Beasts , then by all means call it janky. You can also acknowledge if your audience calls your concept janky, and run with it, but don’t introduce the term on your own. Don’t talk about your own game as janky, buggy, or messy . In the marketing buildup to the release of No Man’s Sky , if you followed games media to any extent, you would’ve seen Hello Games’ Sean Murray. He was the face and voice for the project and his infectious enthusiasm built a gigaton of hype. But he was also first and foremost a developer. Someone who was enthusiastic not just about what the game actually was but what it could be. A mentality that everyone in game development understands. If you talk about technology and its potential, be careful to not promise more than you can deliver . Maybe it’s because of the clickbait era and the tendency for a lot of people to only read the headlines and not the main points, using examples can actually be a problem. If you describe a general system you have and you then say that it’ll be used to generate something like a metal ball, it’ll then become the Metal Ball System and nothing else to some of the people listening to the pitch. It’s better to provide a framework for your systems and let the audience’s imagination put things together, or you can easily fall into the trap that you need to start defending your example or expand on what makes the example interesting. You don’t want to be put in that spot. Even worse, if you use examples from other games , they may infer different things for the audience than what you had in mind. Avoid using examples, or they may become people’s most concrete takeaways. Let’s get one thing perfectly clear: you can’t convert your own excitement into a signed contract . Excitement is important when you deliver your message, since we’re social beings, and it can definitely affect your believability and how compelling your message is. But in every other way, your excitement is strictly yours. No one cares about your deep lore, the motivations of your characters, the 1,000 years of world history you wrote for your fantasyland, or anything else of that sort, until after they have crossed what I call the excitement threshold . At that point, everyone won’t care, but a subset may suddenly care to the point of obsession. For every player that praises all the well-written logbooks and audio journals, there are nine others who completely ignore them. For every publisher rep you talk to who loves the cool technical solutions you’re talking about, there are nine others who have never seen Visual Studio and will simply not get what you are trying to make. For every complex systemic thing you added to your prototype, there will be someone at the other end of the table who asks why the shadows look wrong or why your prototype doesn’t look as visually polished as the one from some other pitch they just saw. All this and more is bound to happen, and you must learn to really read the room when it comes to which parts of the message to focus on. As an example of the excitement threshold, take a look at the original trailer for the movie Raiders of the Lost Ark . Note how this trailer focuses, not on the Indiana Jones we know today, but on the mystery of the Ark of the Covenant and its terrifying implications in the 1930s. Lost artifacts, Egyptian ruins, and nazis: as pulp as it gets. Compare this to a modern trailer for the same movie . A trailer that focuses clearly on all the character flaws and iconic shenanigans that many of us remember fondly from the original movie. This illustrates the difference excitement makes. In the original trailer, no one cares about the character of Indiana Jones. We don’t know him yet, or why we should care about him. But once the second trailer hits, and the movie is now renamed Indiana Jones and the Raiders of the Lost Ark, it’s all about Dr Jones, his fear of snakes, and those cool scenes that we all remember. This comparison is important, because most of us will be facing what Raiders of the Lost Ark faced: an audience that needs to have something else to latch on to than what you want them to be excited about. An audience that doesn’t know Dr Jones yet and will have to discover him on their own. The same goes for our pitch — you need to treat your audience (the stakeholders) to something that excites them . If you can do that, you’ve won half the battle! Convince the party you are pitching to that a thing is worth making. A value proposition . Also convince them that you are the ones who should make it. Establish your credibility . Cater both messages specifically to the people you are pitching to. The packaging . Financial security: If your project fails miserably, maybe doesn’t even get released, they will usually soak up the loss while you simply move on. This part is rarely said out loud, but it’s a key ask nonetheless. Funding advances : The most obvious ask towards publishers and investors: getting a chunk of change that pays for development. Just make sure to make it realistic and not low- or high-balling your numbers. Say how much you need and why. Commitment: Asking for your team to commit to your project or to key changes. This can sometimes be the hardest pitching you’ll do. Even more so if your team has low morale. Marketing help : Getting help marketing your game. Be specific with this ask, since some partners may only do the minimum if you don’t have a concrete marketing spend that is contractually obligated. Be clear with your ask. It’s not uncommon to match marketing spend with development spend. Technical support: Server architecture, cloud infrastructure, console porting, and other elements of development that are beyond your capabilities as a developer and therefore included in your ask. Cash : Unless you are unable to afford asked rates or you are making a very big ask from a busy partner, you will rarely have to pitch as much if you have cash to spend. But it’s definitely a gain to be considered. If you pay for something upfront, you will rarely have to part with things you’d rather keep. Revenue : There are more ways to share revenue than there are stars in the sky. It may be time-limited or permanent, the percentage may shrink or grow over time, and the share may or may not be taken from one party to compensate another (advance on royalties). If you want to offer revenue share, you should provide a revenue projection based on real data. One that shows how large the earning potential is in multiple scenarios, for example based on number of copies sold. Just be realistic. Equity : Instead of potential future profits you can offer ownership. It can be ownership in your company, or a newly founded company that handles this specific project under mutual conditions with investors. Equity allows someone to have a bigger stake in what you are doing and will of course mean that they get a chunk of future profits also . Just be careful to part with too much equity. Property : You can offer up the intellectual property (IP) you are creating. Your game, its characters and likenesses, assets, etc. Usually including everything related to it, such as potential sequels, merchandise, tie-ins, and more. I’ve been told you shouldn’t accept deals like this today, but it may be on the table and you may not have much authority to say no. Exclusivity : Something that will often be heavily implied anyway, but not always formalised, is exclusivity: that you won’t be launching on more platforms or making more than one game at the same time. This is less relevant today, where platform holders seem less inclined to pay for exclusivity, but depending on who you are talking to, it’s still something worth considering. It can be forever, it can be time-limited, or have other restrictions. But offering exclusivity can be valuable. Delays : explain how you plan to deliver your project on schedule. Almost every game project suffers from some kind of delays (for no good reasons). Sometimes those could’ve been foreseen, planned for, or even mitigated. This is really where your credibility comes in. Convince people why you won’t suffer those delays. Complexity : this is where many systemic designs fail stakeholder scrutiny. They will look or sound complex or complicated, and may imply scale that is not actually required. Inexperience : if there are things in the project that you haven’t done before, or technologies you need to evaluate and research properly, you have to be very transparent about it. If your whole team hasn’t delivered a game before, this is a major risk that you must be able to address. Time constraints : release windows, budget timeframes; there can be multiple reasons why your time is constrained. Perhaps you can’t start fulltime until you get the third programmer onboard, and that won’t happen until six months from now. Bring out a concrete timeline that you can safely commit to. Non-Compliance : the game may become something else than what you agreed on, for creative or financial reasons. Smaller, larger, or styled differently than intended. This is where most creative differences will come from, since many signed deals will be commitments and you’ve just chosen to break them. This is the main reason you’re likely to have milestones and other deliverables along the way, so that any accident about to happen can be course corrected. DOA : the game may be dead on arrival, missing its target audience or simply failing to gain traction against other launches in the same window. In the best of worlds, this doesn’t just kill your studio, but provides at least six months to a year of time where you can do your best to salvage or improve the situation.

0 views
David Bushell Yesterday

Declarative Dialog Menu with Invoker Commands

The off-canvas menu — aka the Hamburger , if you must — has been hot ever since Jobs’ invented mobile web and Ethan Marcott put a name to responsive design . Making an off-canvas menu free from heinous JavaScript has always been possible, but not ideal. I wrote up one technique for Smashing Magazine in 2013. Later I explored in an absurdly titled post where I used the new Popover API . I strongly push clients towards a simple, always visible, flex-box-wrapping list of links. Not least because leaving the subject unattended leads to a multi-level monstrosity. I also believe that good design and content strategy should allow users to navigate and complete primary goals without touching the “main menu”. However, I concede that Hamburgers are now mainstream UI. Jason Bradberry makes a compelling case . This month I redesigned my website . Taking the menu off-canvas at all breakpoints was a painful decision. I’m still not at peace with it. I don’t like plain icons. To somewhat appease my anguish I added big bold “Menu” text. The HTML for the button is pure declarative goodness. I added an extra “open” prefix for assistive tech. Aside note: Ana Tudor asked do we still need all those “visually hidden” styles? I’m using them out of an abundance of caution but my feeling is that Ana is on to something. The menu HTML is just as clean. It’s that simple! I’ve only removed my opinionated class names I use to draw the rest of the owl . I’ll explain more of my style choices later. This technique uses the wonderful new Invoker Command API for interactivity. It is similar to the I mentioned earlier. With a real we get free focus management and more, as Chris Coyier explains . I made a basic CodePen demo for the code above. So here’s the bad news. Invoker commands are so new they must be polyfilled for old browsers. Good news; you don’t need a hefty script. Feature detection isn’t strictly necessary. Keith Cirkel has a more extensive polyfill if you need full API coverage like JavaScript events. My basic version overrides the declarative API with the JavaScript API for one specific use case, and the behaviour remains the same. Let’s get into CSS by starting with my favourite: A strong contrast outline around buttons and links with room to breath. This is not typically visible for pointer events. For other interactions like keyboard navigation it’s visible. The first button inside the dialog, i.e. “Close (menu)”, is naturally given focus by the browser (focus is ‘trapped’ inside the dialog). In most browsers focus remains invisible for pointer events. WebKit has bug. When using or invoker commands the style is visible on the close button for pointer events. This seems wrong, it’s inconsistent, and clients absolutely rage at seeing “ugly” focus — seriously, what is their problem?! I think I’ve found a reliable ‘fix’. Please do not copy this untested . From my limited testing with Apple devices and macOS VoiceOver I found no adverse effects. Below I’ve expanded the ‘not open’ condition within the event listener. First I confirm the event is relevant. I can’t check for an instance of because of the handler. I’d have to listen for keyboard events and that gets murky. Then I check if the focused element has the visible style. If both conditions are true, I remove and reapply focus in a non-visible manner. The boolean is Safari 18.4 onwards. Like I said: extreme caution! But I believe this fixes WebKit’s inconsistency. Feedback is very welcome. I’ll update here if concerns are raised. Native dialog elements allow us to press the ESC key to dismiss them. What about clicking the backdrop? We must opt-in to this behaviour with the attribute. Chris Ferdinandi has written about this and the JavaScript fallback . That’s enough JavaScript! My menu uses a combination of both basic CSS transitions and cross-document view transitions . For on-page transitions I use the setup below. As an example here I fade opacity in and out. How you choose to use nesting selectors and the rule is a matter of taste. I like my at-rules top level. My menu also transitions out when a link is clicked. This does not trigger the closing dialog event. Instead the closing transition is mirrored by a cross-document view transition. The example below handles the fade out for page transitions. Note that I only transition the old view state for the closing menu. The new state is hidden (“off-canvas”). Technically it should be possible to use view transitions to achieve the on-page open and close effects too. I’ve personally found browsers to still be a little janky around view transitions — bugs, or skill issue? It’s probably best to wrap a media query around transitions. “Reduced” is a significant word. It does not mean “no motion”. That said, I have no idea how to assess what is adequately reduced! No motion is a safe bet… I think? So there we have it! Declarative dialog menu with invoker commands, topped with a medley of CSS transitions and a sprinkle of almost optional JavaScript. Aren’t modern web standards wonderful, when they work? I can’t end this topic without mentioning Jim Nielsen’s menu . I won’t spoil the fun, take a look! When I realised how it works, my first reaction was “is that allowed?!” It work’s remarkably well for Jim’s blog. I don’t recall seeing that idea in the wild elsewhere. Thanks for reading! Follow me on Mastodon and Bluesky . Subscribe to my Blog and Notes or Combined feeds.

0 views
Kev Quirk Yesterday

The Internet is a Hamster Wheel

I was listening to a recent episode of The Rest is Science (fantastic Podcast, by the way - go listen), and in this particular episode Michael and Hannah were discussing boredom. At one point in the episode, Michael mentions an experiment where Dutch scientists put a hamster wheel out in the wild. The theory goes that we humans put a wheel in the hamster cage to provide the little guy with some stimulation, as they can't go running around the woods any more. But the experiment had some interesting findings: Not only did the wild mice play with the wheel, but frogs, rats, shrews, and even slugs also interacted with it—suggesting that running on wheels might fulfill an innate desire to play rather than being just a captive behavior. -- ZME Science It seems that mammals have this innate desire to constantly stimulate their mind. Ipso facto, Michael states that "the internet is a hamster wheel" . With a smartphone in your pocket, and services like YouTube Shorts , it's almost impossible to be bored in this day and age. I wholeheartedly agree with Michael on this, and it's a term I intend to steal. I'm trying to be better with my smartphone usage at the moment, so will be able to step off the hamster wheel... hopefully . So far so good, but it's only been a couple of days. Do you see the Internet as a hamster wheel?

0 views

Inspecting the Source of Go Modules

Go has indisputably the best package integrity story of any programming language ecosystem. The Go Checksum Database guarantees that every Go client in the world is using the same source for a given Go module and version, forever. It works despite the decentralized nature of Go modules, which can be fetched directly from their origin based on the import path. (For example, you can fetch v1.2.3 of by cloning the git repository and exporting the v1.2.3 tag. forces this. 1 ) The Checksum Database stores the cryptographic hash of a module version the first time it is used across the ecosystem, and then provides that same checksum to every Go client going forward. If e.g. a git tag were force-pushed or a code host were to try to serve targeted versions to some clients, the tool would notice the mismatch and fail the fetch. This is vastly more practical than requiring module authors to manage keys, but provides comparable security, because the author themselves can verify the checksum in the Checksum Database matches the one they developed. Moreover, the Checksum Database is a transparency log , which prevents even the database operator (i.e. Google) from falsifying or hiding entries. However, any time we read code directly from the code host we introduce a weak link in this chain. For example, there is no guarantee that the code displayed at is the actual contents of from v1.2.3 of module : GitHub allows force-pushing git tags and even built its recommended GitHub Actions workflows on top of mutable tags. Last year this was taken advantage of to make a classic typosquatting attack harder to identify. A fake BoltDB module was published with malicious code , and then innocent code was force-pushed to GitHub. Some commenters described this as exploiting the Go Modules Mirror’s cache, but it is better understood as exploiting the natural lack of verification in the GitHub web interface, which doesn’t show the authentic (and in this case malicious) source of a module version, as used by actual Go tooling. The solution when reviewing modules locally is to use a command like to fetch the correct source. 2 We are also working on a command to verify the contents of a local git repository against the Go Checksum Database, which can also be used by module authors to check that the contents of the Checksum Database are correct. However, pkg.go.dev still links to unverified code hosts, and clicking on pkg.go.dev source links is very convenient. Russ Cox made a simple service to view the source of a Go module at go-mod-viewer.appspot.com . pkg.geomys.dev is a new similar service with optional syntax highlighting, line and line range linking , multiple fonts, automatic dark mode, and a file tree and module versions browser. You can use it manually by replacing with in any pkg.go.dev URL, or you can install the companion browser extension for Chrome and Firefox, which replaces links to code hosts in pkg.go.dev pages with links to pkg.geomys.dev. The service works by making HTTP Range requests directly to the module version’s zip file, and decompressing the file in the browser, without having to fetch the whole archive. Once proxy.golang.org fixes their CORS configuration it will work without any Geomys backend. Currently, it trusts the Google Modules Proxy to serve the correct zip files, without checking the transparency log proof. I plan to implement optional proof checking once proxy.golang.org CORS is fixed, including third-party gossip . Unfortunately, checking the proof does require fetching the whole module version’s zip archive to compute the dirhash, which is included in the Checksum Database (and in go.sum). For updates, follow me on Bluesky at @filippo.abyssdomain.expert or on Mastodon at @[email protected] . I recently went to Paris and found the Tour Eiffel elevator to be more fascinating than the tower itself. Whatever that says about me. My work is made possible by Geomys , an organization of professional Go maintainers, which is funded by Ava Labs , Teleport , Tailscale , and Sentry . Through our retainer contracts they ensure the sustainability and reliability of our open source maintenance work and get a direct line to my expertise and that of the other Geomys maintainers. (Learn more in the Geomys announcement .) Here are a few words from some of them! Teleport — For the past five years, attacks and compromises have been shifting from traditional malware and security breaches to identifying and compromising valid user accounts and credentials with social engineering, credential theft, or phishing. Teleport Identity is designed to eliminate weak access patterns through access monitoring, minimize attack surface with access requests, and purge unused permissions via mandatory access reviews. Ava Labs — We at Ava Labs , maintainer of AvalancheGo (the most widely used client for interacting with the Avalanche Network ), believe the sustainable maintenance and development of open source cryptographic protocols is critical to the broad adoption of blockchain technology. We are proud to support this necessary and impactful work through our ongoing sponsorship of Filippo and his team. I generally recommend against and actually configure to remove the direct fallback and reduce the attack surface of running git clone on potentially adversarial repositories. That’s besides the point of this article, though: whether you fetch direct or through a proxy, you will still always get the same contents authenticated by the sumdb (or an error).  ↩ If you use a code agent, you can add the following line to your AGENTS.md or CLAUDE.md:   ↩ I generally recommend against and actually configure to remove the direct fallback and reduce the attack surface of running git clone on potentially adversarial repositories. That’s besides the point of this article, though: whether you fetch direct or through a proxy, you will still always get the same contents authenticated by the sumdb (or an error).  ↩ If you use a code agent, you can add the following line to your AGENTS.md or CLAUDE.md:   ↩

0 views

Efficient Lossless Compression of Scientific Floating-Point Data on CPUs and GPUs

Efficient Lossless Compression of Scientific Floating-Point Data on CPUs and GPUs Noushin Azami, Alex Fallin, and Martin Burtscher ASPLOS'25 This paper describes four (creatively named) lossless compression algorithms: SPspeed: 32-bit floating-point, optimized for speed DPspeed: 64-bit floating-point, optimized for speed SPratio: 32-bit floating-point, optimized for compression ratio DPratio: 64-bit floating-point, optimized for compression ratio The claim to fame here is excellent performance on both CPUs and GPUs. Each compressor is implemented as a pipeline of transformations, illustrated in Fig. 1: Source: https://dl.acm.org/doi/10.1145/3669940.3707280 Decompression is similar, but the order of stages is reversed. The goal of DIFFMS is to transform the data such that most of the upper bits of each element to be compressed are 0. DIFFMS interprets inputs as integers ( or ) and replaces element with the difference between element and element . Differences are stored in sign-magnitude format. Neighboring values typically have small differences, so fewer bits are needed to store differences rather than raw values. Converting to sign-magnitude causes the upper bits of negative differences (which are close to zero) to be zero. The sign bit is stored in the least significant position, to ensure that it doesn’t contaminate the most-significant bit with a one. The range of representable values in sign-magnitude format is one less than the range of values representable in two’s complement, but I suppose that is OK because that situation can only arise if an input float is NaN. Next, MPLG (introduced in a previous paper) operates on chunks of elements. For each chunk, MPLG finds the element with the highest-order non-zero bit and uses that to determine the number of leading bits which can safely be removed from each element in the chunk. This number of leading bits is stored in per-chunk metadata, and the input stream is bit-packed after removing those leading bits. Fig. 3 illustrates the bit packing: Source: https://dl.acm.org/doi/10.1145/3669940.3707280 BIT The MPLG stage has the “one bad apple spoils the bunch” property. The BIT stage addresses that with a transpose. Each chunk is interpreted as a 2D array of bits, and that 2D array is transposed. Say most elements in a chunk only require the least significant 8 bits, but one element requires 10 bits. Then after the MPLG stage, most elements will have 2 leading zeros in them. After the BIT stage, these zeros will all be grouped together rather than spaced apart. After BIT has arranged the data such that there are many long ranges of zero bits in it, Repeated Zero Elimination (RZE) finds and removes bytes which are equal to zero. RZE produces both the output stream (with “zero bytes” removed), and a bitmap indicating which bytes were removed. The authors found that RZE doesn’t work well for the low-order bits of double-precision data. They address this with RAZE and RARE, which do not try to eliminate ranges of zeros from the low-order bits. Each stage in the pipeline operates on chunks of data. The only interaction between chunks is that the size of the output data produced by chunk N is needed before the output offset of chunk N+1 is known. Efficient parallelization is possible in spite of this hazard on both CPU and GPU implementations. As far as I can tell, there is no explicit attempt to ensure that the data passed between stages is kept on-chip. It could be that CPU and GPU caches work well enough for this purpose. These algorithms extend the Pareto frontier for both CPU and GPU. Source: https://dl.acm.org/doi/10.1145/3669940.3707280 Source: https://dl.acm.org/doi/10.1145/3669940.3707280 Source: https://dl.acm.org/doi/10.1145/3669940.3707280 Source: https://dl.acm.org/doi/10.1145/3669940.3707280 Dangling Pointers The state of the art feels very hand-crafted, somewhat analogous to the state-of-the-art in image classification before AlexNet moved the state-of-the-art from handcrafted feature engineering to more generalized models. In the text compression space, LZ-based compressors leave the same aftertaste. Thanks for reading Dangling Pointers! Subscribe for free to receive new posts and support my work. SPspeed: 32-bit floating-point, optimized for speed DPspeed: 64-bit floating-point, optimized for speed SPratio: 32-bit floating-point, optimized for compression ratio DPratio: 64-bit floating-point, optimized for compression ratio

0 views
Stratechery Yesterday

An Interview with Ben Thompson by John Collison on the Cheeky Pint Podcast

Listen to this post: Good morning, Today’s Stratechery Interview is with me! On January 27 I sat down with Stripe President John Collison in the Cheeky Pint pub in Stripe’s offices for an episode of the Cheeky Pint podcast. There is a YouTube video of the interview that you can watch here , or, you can read the transcript below. In this interview we discuss life in Taiwan, ads in AI, and how Mark Zuckerberg’s obsession with being a platform has harmed Meta. Then we talk about the TikTok deal, the impact of AI agents on ads and e-commerce, and, a week before Wall Street’s meltdown, discuss whether or not software is dead. We also discuss the history of Stratechery, and why I’m skeptical about bundles in the future, as well as my concern about TSMC’s conservative approach to CapEx. As a reminder, all Stratechery content, including interviews, is available as a podcast; click the link at the top of this email to add Stratechery to your podcast player. On to the Interview: This interview is lightly edited for clarity. John Collison: Ben Thompson is the founder and author of Stratechery, the newsletter that everyone in tech reads to make sense of what’s happening. He’s also early to the premium newsletter model that’s become very popular in media nowadays. For many years, he ran Stratechery as a solo founder in Taiwan. Cheers. Good to see you. Cheers. JC: It feels like people in San Francisco have not properly discovered Taiwan as a tourist destination. Do you agree with that characterization? And what’s your recommendation? People always ask me about Asia, and the way I always characterize Taiwan is, there’s lots of great places to visit in Asia, and I would put Japan top of the list. But I like to think I went to Japan before it was cool. JC: Yeah. Nothing against Japan. Well, the whole thing with Japan is going to Japan pre-smartphone was a completely different experience than going there post-smartphone. Like you think, “Oh, the subway system’s amazing, the trains…” — try navigating that with no smartphone and nothing’s in English. Japan used to be very low on English, it’s still lower than places like Taiwan. JC: It’s surprisingly low. Yeah. And the way to visit Japan is you just walk, don’t go to set destinations. Whereas the way I would talk about this is places to visit, but the best place to live is undoubtedly Taiwan. The one word everyone says for Taiwan sounds not that impressive, but the word is “convenient”, it is the most convenient place to live. JC: 7-Eleven has really good food. It’s actually downstream from the Japanese because Taiwan was a Japanese colony for the first 50 years of the 20th century, and it’s laid out a lot like — why is it great to walk around in Tokyo? Because Tokyo is all mixed use, that’s how Taipei is as well. You have these big blocks where the exterior will be commercial and the interior of these big blocks is all residential and the first floor is all like small shops or restaurants, things like that. So wherever you live, you basically have access to everything all around you. But I think the downside as a tourist is it’s kind of an ugly city. Taiwan’s kind of notorious for just these dumpy, dilapidated buildings, then you go inside and they’re palatial on the inside. Taipei is very, very rich. It’s in the top 10, I think, as the number of billionaires in the world or something like that, all downstream from building out China. It’s a very beautiful country. From Taipei, 30 minutes to the ocean, 30 minutes to the mountains, East Coast is amazing. JC: But if people listening to this are visiting, I feel like one thing they should do is — it’s a mistake to try and use Yelp or anything like that too much because you should maybe just try and go to a night market and follow your belly and see what looks good, there’s a lot of excellent street food, and so that’d be one thing is don’t try to over-plan. Well, here’s the problem though, where tech has made it worse, I would argue. When you’re living there, Taiwan is arguably the greatest Uber Eats market ever because there’s just amazing options. It’s all delivered by scooter, so it’s always like 10 minutes to get dinner. I think you were going to ask me about difficulties moving to the States, not having access to that is definitely one of them. But the problem is that it’s such a huge market now that I think there are fewer and fewer restaurants, in that a lot of these places actually just straight up close their storefronts are just ghost kitchens basically and all they do is just make Uber Eats orders all day. JC: I see. Famously, the restaurant economy and places like Taipei would have been really good, but it’s gotten worse because people are eating in more with Uber Eats and stuff like that. I think so. As far as walking around and just like stuff on — there’s still plenty of places, it’s still great. But there’s a number of restaurants that I used to always take people to, like holes in the wall that I knew were super good beef noodles or something, and I remember a couple times like, “Oh, you can’t actually go eat there anymore, but they’re still an Uber Eats”. JC: That’s a bummer, it’s like a separate problem. The San Francisco problem at restaurants is that nobody drinks anymore and so the restaurants lost a major revenue source. It’s so bad you had to get a pub in your own office! JC: Exactly, we’re trying just firsthand to fix it. Be the change you want to see in the world. JC: Should people visit places beyond Taipei? Oh, for sure. Yeah, Taipei is great, it’s great to walk around. Taipei 101, which is obviously very much in the news these days with the scaling . JC: But you can go up the elevator on the inside. You go up there because there’s a massive ball at the top. JC: The mass damper, yeah. Yes, which is amazing. If you’re into engineering, that’s actually a very underrated thing. National Palace Museum is amazing, but the East Coast in particular is incredible. There is a train, but driving, you’re driving on the coast. JC: It’s like a lost coast of Hawaii, kind of. Exactly. There’s an incredible gorge called Taroko Gorge that was really messed up by an earthquake a couple years ago, so I don’t know if it’s even reopened yet, but I used to take people to that all the time because it’s world class. JC: Yeah. It is impressive that they said, “We’re going to build the tallest skyscraper in the world in a very frequent earthquake region”. Yeah, it’s a beautiful skyscraper. It worked out well for Netflix. JC: So you’ve talked a lot over the years about Aggregation Theory and really popularized this idea where pre-Internet, often power would live with the supply, whereas on the Internet, because of the different marginal cost dynamics and things like that, power will rest with the demand aggregators. And so Booking.com is a much bigger company than any hotel chain, something like that. And Booking.com is a particularly interesting one because they aggregate all the hotels, but they are also aggregated by Google so they’re like Google’s biggest customer. Even as they’re also on the other side. JC: I feel like Booking.com is a very underappreciated success story in tech. They’re a European company, kind of much quieter in a lot of ways. But if you invested a dollar in Booking.com and a dollar in Google 20 years ago, you made much more money as a Booking.com shareholder and I think people don’t appreciate that fact, it’s a very well run business. But where I was going with this is, how does Aggregation Theory apply to AI? How does one need to update the framework? TBD, to a certain extent. This is part of the huge, probably one of the most angsty debates that I have internally generally, which is OpenAI’s welfare going forward. I put forward a few years ago that actually OpenAI could stop making models and be one of the most valuable companies in the world just because of ChatGPT, that’s their most valuable asset and part of the problem that they have is that was definitely the case in 2023 and 2024, but you have to actually build the business model around that. And I’ve, I think fairly famously , at least based on all the tweets that I got when they announced that they were going to launch ads, I’ve been losing my mind about this fact for a long time. And I think this is interesting, I’d actually be curious to hear your view of this, which is, there’s this mindset in the Valley of this skepticism of advertising and people have sort of internalized that it’s bad and evil. Do you sense that? Do you feel that? JC: I agree there’s kind of a knee-jerk skepticism of ads. Look, I’m a YouTube Premium subscriber. When I see someone watch a video without Premium— It’s horrifying. JC: I gasp, it’s like, “What are you doing with your life?”, and so I get the knee-jerk reaction and that Stripe at some level is kind of the anti-advertising company and we’re the opposite form of monetization. But I don’t know, I have no particular issue, I think it’s a very efficient form of monetization. It makes a lot of sense for certain products, and so I think it’s just different strokes. I think you’re with Stripe, you’re on the skepticism side. I think ads are amazing, and I’m talking about my book a little bit. Stratechery has gotten tremendous traction just by not hating ads, even though I’m not an ad model myself. JC: Exactly, but you’re a paid model. Well, it’s funny. I actually think I got a lot of traction over the years by talking about ads when no one else was, despite the fact it’s the most important business model in tech. And I look back and all my early writing about ads was terrible, I had no idea what I — but just by virtue of talking about it, it was helpful. The reality of advertising is, number one, people, if you are making a product in the world, like Stratechery is very fortunate — it is definitely a new model or a new Internet-native model in that I have subscribers in like 200 countries. Literally, the whole world is my market and Stripe obviously helps make that possible. JC: A few in the Vatican, they’re following along with that. I could go check. I mean, I would bet the odds very high that I do, at least one subscriber in the Vatican. But where I benefited from is I was a massive beneficiary of social media, particularly Twitter and that back in their early days, good days of Twitter, if you want to say whatever it was, there was currency in sharing smart links. And so if I was a regular provider of links that people felt made them smart, so they would share them and talk about them and be sort of back-and-forth, so that solved my customer acquisition issue. The reality though is most, because the other thing about content — actually this is the point I’m interested to come back to, is it’s something to talk about — it’s a commonality between us that we can both read the same thing, we can both have opinions on it, react to it, the sort of product that I buy on Instagram is not what I’m not going to post about it or talk about it, but it can be tremendously beneficial. They in theory have these small businesses or whatever they might be, or Chinese suppliers or whatever, they have the same opportunity, which is to sell to everyone in the world, they just need a way to tell people about it. And as someone who buys way too many products off of Instagram — and by the way, one of the great things about moving back to the US is that the Instagram ads are unbelievable, I thought we were pretty good in Taiwan, they’re so much better in the US. They’re like, “Oh, this is the best part of living in the richest country in the world”, it’s amazing — I’m like, “What’s this native content? Give me more ads!” Which by the way, Facebook is very happy to do over the last six months , lots of ads these days, but I get stuff that I never would have thought of, I didn’t even know about, and it’s great, it’s amazing. And it’s a real benefit to me as a consumer who for sure subscribes to YouTube Premium and looks down on people who don’t, but finding things that I didn’t know about that make my life better. So as a user, I’m benefiting. As a rich user, I’m benefiting. As the world is nine billion people, most of whom do not have the disposable income that I have, much less you have, much less anyone else in San Francisco has, they get the same experience I do. And something for AI, when you think about it, particularly when it’s so costly to provide, and the free product is so much worse than the paid product, of course it’s a win for them to be able to get access. So how do you have a mission, a belief that AI makes the world better and to not embrace ads? JC: I agree with ads being an efficient form of monetization. What do you think is the right way for consumer AI apps to do ads? Like ChatGPT just announced that they’re doing ads . They’re terrible. JC: Well, no, they’re doing them as a very separate experience to the answer. No, this is why it’s so bad. This is why I’m so frustrated with them . So what they’re doing is the bare minimum easiest solution. JC: It’s like banner ads basically. It’s banner ads, but it’s based on the context of the conversation. And the problem is that they released their ad principles , right? Which is, our ads do not influence your answer. If you’re using the easiest possible way to target ads, which is based on the context of the conversation, we’re going to show you a roughly relevant ad. Number one, your market’s way smaller because you have to hope someone starts a conversation that matches the inventory you have. Number two, you’re getting into a, “My T-shirt answers questions that my T-shirt is raising”, sort of situation where if the ad is clearly connected to the answer, you’re going to raise suspicion in the user’s minds about what the connection is, so I would prefer if the ads had nothing to do with the answer. The way you get there is you build a Meta style understanding of the user and show them stuff that’s relevant to them, like in Instagram. The best Instagram ads don’t have anything to do with the stuff I’m surfing. It’s from Meta’s understanding of me broadly. JC: So are you saying that AI ads should be more like Facebook ads than Google ads? And right now the focus is on doing targeted ads that are related to the prompt, whereas instead it should all be profiling the user and who this person is and what their interests are? Yes, I think that would be better. It would present less conflict of interest, less uncertainty amongst the user and it’s a model that I think — I’m not the world’s biggest fan of search ads precisely for the reason why they work so well. JC: Because of the confusion between organic and— Because they’re cannibalization. Why is it that I have to buy my own name in search ads? Because someone else will go in there and you’re harvesting a click on the ad that would have been there sort of organically, which is fine, it works. The search is providing a lot of value, but the challenge obviously is they only have one space for inventory, which is in ChatGPT. JC: Well, sorry, isn’t the defense of Google ads that everyone complains about the branded search and yeah, you’re paying for cannibalization, but Google pays so much attention to search quality that the sponsored listings themselves have a ranking of them, like a relevance ranking of them and so it’s really just like the Yellow Pages where you need to pay to be listed in the Yellow Pages. Oh, it’s fine. Again, I’m the ad lover here, I just think that Meta ads are more broadly valuable because they’re showing me stuff I didn’t know that I wanted. JC: But if the AI apps are to generate a profile of you, does that profile include the content of all your conversations? Well, so this is the thing. So [DeepMind CEO] Demis [Hassabis] is out there saying , “Wow, I can’t believe they’re adding ads, we’re not going to do that”. Which is hilarious because the entire Gemini DeepMind apparatus, what is it funded by? JC: Sure, yeah. It’s a Google ad machine. It’s funded by ads and that actually is probably the ideal model. So it’s actually very funny, I was in New York City last year, I was meeting with someone in a shared office or across the hallway was a hedge fund or someone and they came over and he’s like, “Oh, longtime reader, you’re responsible for our worst decision ever”, and I’m like, “What?”, he’s like, “Putting money in Twitter”, I’m like, “I’ve never said to put money in Twitter!”. That’s always been a terrible company, I’ve stopped covering them because it was such a bad business . And I’m like, “Oh no, I remember what it was,” it was when they bought MoPub , and my theory, my problem with Twitter advertising has always been that, especially it was very textual, I think text doesn’t work, all this applies to the Chat clients. Text isn’t the best interface for ads , obviously visuals are generally better and there’s also a posture. If I’m on Twitter, I’m like, “I’m ready to do battle, I’m locked in, or I’m searching for information”, if I’m on Instagram, the whole point of seeing an ad is I don’t really care what I’m seeing right now, I’m wasting time. You’re actually in a much better posture, I think, to absorb, just like TV, you’re sort of absorbing, can absorb the ad, and Twitter is bad for that. But Twitter, because it’s an interest-based network, at least in theory, it should be able to understand a lot about you above and beyond theoretically having pixels and SDK sort of all over the web and so my theory with the MoPub acquisition, I thought was a great acquisition because, “Oh, they can harness signal from Twitter and manifest it in other apps through this sort of MoPub network”. Now, Twitter was incompetent, so they did nothing with MoPub, gave it to AppLovin who’s now ridden MoPub to the top of the world, but that was my thesis and I think that could apply to AI as well. I think the ideal outcome for Google is they never put ads in Gemini, but they understand so much about you because of what you do in Gemini that they can then manifest that through ads on YouTube, through ads on Google, through ads on their other properties, and the challenge for OpenAI is they only have one place to put inventory, which is in ChatGPT. JC: So you’re saying that Google could use Gemini to just improve the targeting of the ads across the Google properties, and then maybe if you want to have ads in Gemini— I don’t think you need to ever put ads in Gemini. JC: But just if you did, you would also have the profile that Google has of you from across the web and you can choose faster. Yeah, and you don’t need to have ads that are making the user feel weird because, “Why are you showing me ads about what I’m asking about?”. JC: Okay. But in the scenario you’re just describing for Google, wouldn’t that have the same, just like the Meta’s listen to your microphone conspiracy theories where the targeting is too good, people get concerned. Wouldn’t you get similar issues? I think that’s a made-up concern. JC: No, it is, but sure, but people have it. And wouldn’t you have a similar issue where if you’re using the Gemini data to make better ads, wouldn’t ultimately the targeting be too good and people find it weird? I think that that’s a bridge that every tech company would be happy to cross if they came to it. JC: I see, it’s a thing that people say when you have very good targeting. I think there’s a real stated versus revealed preference about a lot of this stuff. The reality is, you could pay for Facebook or you could show ads — people would rather see the ads, I think most people don’t care. A lot of tech, and this sort of ties into the skepticism of ads, it’s sort of an elite town, there’s elite regulators, everyone’s thinking about these very theoretical things. JC: Isn’t that bit of the challenge of banner blindness where Instagram advertising works so well because it’s a picture feed and it’s showing you pictures and then some of the pictures are like commercials. Whereas with an AI app, you’re looking for an answer and you don’t want to look at the banner. It’s a huge concern, and this is one of the great ironies of Meta/Facebook is the extent to which, of course, Mark and everyone hates Apple for lots of, I think, very justifiable reasons, but Apple saved Facebook from itself . Back in the day, remember Facebook Platform and there’s like Facebook Payments and all this sort of thing and Mark has always wanted to build a platform, and if you’re just an app on a phone, you can’t build a platform. The problem is that I think being an advertising-based model is generally incompatible with being a platform, the whole point of a platform is you’re letting something else shine, something else to bring to the surface, the support structure for something to take over. So an operating system is not about the — ideally, it’s the application on top of it that you’re using. When Facebook was forced to not be a platform, but just be an app, suddenly they could be fully leaning into being an advertising thing. Think about a Facebook ad, even back in the day when it was a feed ad or a story ad, literally your entire device is all an ad, and somehow it’s not a banner, that’s a little thing on the edge. They literally have achieved permission from users to take over your entire device to show you a full screen ad every five seconds, it’s amazing, and they were forced into it by Apple. JC: Okay, this reminds me of, and I want to come back to the AI dynamics, but this reminds me of a view I’ve had that I’m curious for your thoughts on, which is often when tech companies become really big, they become really big just because the core idea works better than even the founders could have realized. And so Meta’s a really big company because they have a feed and the feed got really big and they were very smart along the way where they bought Instagram and they’re like incredibly targeted. It’s the feed. JC: But it turns out people spent a lot of time and many people, the P x Q of that with the feed and they monetized it very well, and that’s what got really big. And same with Nvidia, it just turns out that the GPU market got really big and they sell a lot of GPUs and so maybe founders, because they’re often like high powered individuals who want to have lots of new ideas, they’re often thinking about the next thing or like what the second act or the third act is and everyone wants to invent an AWS. But I’m curious what you would say to the idea that just generally it’s making the core thing really big and there’s more orders of magnitude at the top than you thought. Yes. I think that’s always the case and I think that sometimes people end up making something that they didn’t want to make and they continually push back. I think Meta is the perfect example. My impression is Mark’s not very interested in ads, he’s had very good people along the way that have helped him build these ad products. I think Meta has suffered from that because he has not been front and center fighting for, “Actually ads are good, they are societal good, they are the driver of all the consumer surplus that tech throws off”. The President uses the same search engine as the guy on the street or the same AI or sort of whatever it might be, that’s because of ads. JC: Probably not. The President probably uses a Palantir search engine or something. Yeah, it’s probably worse. Google has slipped a lot to be fair, there’s so much junk online. Has Donald Trump ever searched? I don’t know, that’s a good question. But he’s not made that case and I think Meta has suffered because of the failure to make that case. Then you get things like, “We’re going to do the Metaverse, we’re going to do X, Y, Z”, it’s always coming back to be a platform, be a platform, and Meta is an entertainment company. I wrote this years ago about the — it was simultaneously a good call and a bad call, do you remember that Paul Krugman quote, “The Internet’s not going to be very big, or have more impact than the fax machine because people don’t have anything interesting to say”, I actually defend that quote because it’s actually true, most people don’t have that much interesting things to say, and I brought up that quote around 2015 by saying, “This is a fundamental limiter on Meta’s long-term potential”, as long as they think of themselves as a social media company, they’re going to run into a problem with their feeds becoming insufficiently interesting over time. JC: The move from kind of peer content to— Well, so that was, if I might say so myself, a very brilliant insight. The bad insight was my prescription, which was they needed to do more with professional content makers, like more funding of the BuzzFeeds of the world and share revenue, all that. JC: It was actually user-generated content. The actual answer is what TikTok did , which is that TikTok’s not a social network at all. It is a harvesting and YouTube, the same sort of idea, it’s like personalized TV. What actually matters, and this is a key thing, people get hung up on relative numbers, what matters is absolute numbers. So it is better to have 0.1% of your content is good if your content is in the billions or trillions, as opposed to, “Oh, 10% of our content is good”, but you only have a hundred pieces of content, that’s actually worse, even if you have a better hit rate. And so spurring lots of creation, writing the algorithms to capture the good stuff, put it up there, that actually solves the Paul Krugman fax machine problem and Facebook was blindsided by that. They were so stuck on their identity of being a social network that they let TikTok take this huge chunk and it was their blind spot. JC: Speaking of TikTok, I feel like you don’t write about ByteDance that much. And I’m curious just what your thoughts are on ByteDance from here and the TikTok sale and everything. I mean, what a mess. I had to make a decision a long time ago, I wrote about Chinese companies more previously and I think there’s — number one, I have to decide what I’m going to be able to cover and what I’m not. I’m not in China, I was in Taiwan, it is a different Internet, and there was too much uncertainty and unknowns just in general about a lot of Chinese companies. I would write about them occasionally in the context of US tech companies. So I think I wrote about WeChat and what it meant for the iPhone’s relative competitive position in China , how it’s different from other countries, I think that sort of held up pretty well . I wrote about TikTok in the context , I mean, more about TikTok, I think in the context, particularly this context of Meta, TikTok came up around the same time as the, Quibi, which Quibi was the example of that . Quibi was actually right that there was room for a mobile entertainment product, it was totally wrong about the content acquisition strategy. So even if the hit rate was higher, their total volume was way too small. I follow them, but not super closely. It’s just a hard market to understand. JC: But like TikTok’s very relevant to the US market. So I wrote The TikTok War , basically making the case that the problem with TikTok, and back then everyone was talking about user data — who cares? The whole user data thing, people have this view of like the East German Stasi and like folders going through people’s data, these are like vector databases with numbers that no human can parse, it’s really quite anodyne, it’s just really the target ads, and I was very skeptical about that being a forcing function in terms of forcing divesture or whatever it might be — the issue I had was the algorithm. And I noticed , I think it was when the Hong Kong protest happened and Daryl Morey, the then-GM of the Houston Rockets tweeted, “Free Hong Kong”, or something like that, and there’s a huge meltdown of the NBA games being canceled. And I noticed that on TikTok, and this was from, I tested it from Taiwan and via VPN from the US, if you search for every single NBA team, you got NBA clips, except for the Rockets, you got nothing. JC: Oh, that’s funny, it got demonetized, the Houston Rockets. There was a thumb on the scale here. And I started talking about it then, and I did support the ban of TikTok or the forced sort of divesture from China because it seems fairly insane to have a primary information source controlled by your chief geopolitical adversary. JC: Yeah. Same like there’s rules over TV station ownership and it’s not wildly different. And so everything’s a trade off. Of course, I’m pretty well known for being a pretty stark defender of free speech and against censorship and my issue wasn’t TikTok per se. The reality of China is the founder of ByteDance is long gone because he got called to the carpet for ByteDance showing a little too much of what people liked, which is mostly like hot girls dancing and insufficiently showing the right things that the party wanted. The reality is China has the price of doing business is they’re somewhere on the control structure, they could tell you what to do and this just seemed like a very foolish thing to tolerate. Unfortunately, the US political process, or fortunately, maybe the reality is the US process and system is such a mess, can anyone really, truly impact it over time? The way that it shows up messily is we somehow do pass the law banning TikTok and it didn’t get banned and now it is sold, but China still controls the algorithm. So I think it’s a big disaster, it’s also like, what can I say about it? I said my piece. We ended up in the worst possible case, which is we violated property rights and we did all this stuff that’s ridiculous and we probably bartered X, Y, Z for ABC and we didn’t get the most important thing, which was control of the algorithm. JC: Has that not happened as part of the sale? No. ByteDance still controls the algorithm . JC: I didn’t know that. Yeah. Good job by us. JC: That does seem like it was the point of the spin out. Well, the data was always the most salient political point. So when I wrote about it, that was my point. It was like, “I don’t care about the data, the issue is the algorithm”. And unfortunately they did not care. Maybe I should have written about it more, but anything like all the politics stuff, there was a period — I mean, thank God for AI. When I wrote Aggregation Theory in 2015, a couple of weeks later, I wrote something about regulation , I’m like, “This is going to drive a bunch of regulatory issues and antitrust things and all these bits and pieces”, when that actually happened at the late end of the last decade, of course I was writing about it, I was watching congressional hearings, all this sort of thing, and that is the closest I came to quitting and burning out. I think burnout’s not a function of how much work you’re doing, it’s doing work you don’t enjoy. And at one point I’m like, “Either I quit or I stopped covering congressional hearings”, so I decided to stop covering congressional hearings. I only wrote about antitrust stuff that was super prominent and I’ve been much happier ever since. And maybe that’s part of the price of just not writing about that is maybe I should have pushed on the TikTok thing more. JC: That’s interesting. I said my piece. JC: Is Stratechery very widely read in DC? It is. Sometimes it’s gratifying. It’s great when you get called and asked for your opinion or you get certain responses or you see impact. It’s less gratifying when you get yelled at and people are mad at you. But fortunately the key thing to succeeding on the Internet is something I have in spades, which is a very high level of disagreeableness. So you can yell at me all you want, I’m not going to change my mind. JC: Okay. But getting back to Aggregation Theory as it pertains to AI. A simplistic view you could have is that the AI apps are the new aggregators and so a huge amount of economic value will accrue to them and that’s it. You could also say that that’s too simplistic in a bunch of ways because like we were saying Booking.com, you expect it to return new hotels that you should book, but you expect a little less of a commercial incentive from the AI apps and this is like a little more of an abstract technology where it’s actually not trivial to insert all of the commercial incentives in the right way. Anyway, you come up with various objections and so do you think— Well, I think that the ad model is probably the way to start, which is what I just talked about before, sort of the lean-in versus lean-back. Ads are very tied into human psychology and like what you’re sort of tapping into and people’s response to that and how do you make something creative? And in the short term, technology often makes old business models even more powerful before it kills them. So you have something like a newspaper, I used to be limited to my geographic area, now I can reach the whole world. And a few years later, everyone can reach the whole world, I mean pure competition, I’m screwed . That is certainly a concern about this model. If you get to a world of say agentic commerce and the agents are just buying the right thing and I think this is also something that has driven a lot of tech skepticism of ads. People in tech tend to be fairly nerdy, fairly obsessed, they’re doing a ton of research to find sort of the exact right thing. JC: Yes. Why didn’t you tell me what to buy when I’ve researched it for two hours? That’s right, and so ads have no effect on me. Well, what if that sort of obsessive deep dive approach is now trivially available to everyone because AI is the one actually doing it? Now where do ads function? I think this is definitely a bit of a “be careful what you wish for” scenario because what this entails is of course more transparency, more details, more understanding sounds good, what it actually entails is sort of perfect competition, which is a very brutal game that can just wipe out entire categories. That’s basically what happened in newspapers in many respects, so that’s number one. Number two, in this sort of world, you’re sort of by definition anchoring on whatever specifications or whatever can be measured, can be put down and you had the old Steve Jobs adage about feeds and speeds versus like the feel of something where the intersection of liberal arts and tech, what the fuck does that mean? And it’s just like, well, what it actually means is there’s things that can’t be measured and that don’t go on an Excel spreadsheet and everyone you talk to acknowledges this. They say yes, there’s things that can’t be measured and the way it actually plays out in practice is only the things that are measured — I think a huge problem with sports analytics is a great example of this where basketball is my favorite sport, there’s a lot that goes into basketball and winning that is somewhat hard to wrap your hands on. JC: It’s not like baseball which is very measurable. Baseball’s very measurable. I do think there’s aspects about clutchness and stuff that I don’t know that are properly measured, but around basketball for sure, there’s the interaction and the way teams play together and how your effort on, or your involvement on offense can affect defense or sort of back and forth and you see it again and again. I like Daryl Morey, I think there’s a reason his teams haven’t won, they’ve over-optimized at the expense of some of these other issues. And if you can’t measure them, they tend to get devalued. In a world of AI-mediated everything, how many things that can’t get measured fall by the wayside because we end up with very utilitarian goods that have no soul to them. Sort of a silly sort of thing to worry about in some respects, or it sounds silly, but I’m a human and I anticipate liking and preferring the humanity of things of all sorts in the long run. JC: But you could say that e-commerce aggregators like Amazon and lots of others have led to fairly anonymous manufacturers of lots of everyday goods, the kind of Amazon Basics type stuff, at a much lower price point than they were previously at still perfectly good quality. Isn’t that fine? So this is where you throw my ad argument in my face. Which is like, actually it brings up the base level for everyone, like your basic consumer, the access of items they have. JC: There’s no soul in an Amazon Basics power adapter. And that’s fine. Everyone thinks back to like, “Oh, my washing machine was so much better in the 1960s”, and it’s like, yes, that’s true and also far fewer people had washing machines. So I’m now making the opposite argument, sort of arguing with myself. JC: I will leave and you can have a one person play. I’ll just switch back and forth. JC: You can change sides of the booth. You mentioned agentic commerce, we obviously are big into that and had our announcement with OpenAI back in October . Where do you think that goes? How do you see agentic commerce playing out? The contrast between your own OpenAI announcement and Google’s announcement I think is pretty interesting and speaks to what the companies are driving for. OpenAI wants to be the place where you do everything, they want to be like the aggregator. I think a critic would say people compare them to Netscape, I think the better analogy if you’re an OpenAI skeptic would be AOL, where they want to be sort of like the interface for everything that you might do and it goes through their channels. And Google, just as they were relative to AOL is like, “Actually we want to equip everyone knowing that if everyone is capable, we are the greatest beneficiaries because we still marshal the sort of front end demand in that regard”. Now, how does that actually manifest in terms of commerce? The funny thing about tech is I don’t think it will manifest in terms of airplane tickets, which is everyone’s example. Everyone can never think of a better example than that, but what is the AI going to buy? What is it going to get? I don’t know. I think I would like to think people will want to have agency in their buying decisions, but then again, we have assistants, whether it be like for work or whatever it might be, and they make buying decisions that we’re necessarily not involved in and that I think is a good predictor precursor of what people will ideally — do I really need to know, actually, I have very strong paper towel ideas. But once that’s set, can that be sort of monitored and done? So I don’t know. I think this is a very unsatisfying answer, other than to say it has big implications on things like advertising and on things like is that going to be a viable business model going forward? What margins are going to be available? Is there going to be perfect competition? Things along those lines. JC: Okay. Let me try this on you for agentic commerce and I’m curious to have you critique it, which is sort of how I see things playing out. I think some skepticism is triggered by people pitching a very far end state with a lot of agentic autonomy. And so it’s like, “Please book me a honeymoon in Japan and all the activities”, it’s like no one actually does things that way. Whereas actually you should go from the bottom up in some very basic building blocks where step one is just replacing filling out web forms, that’s an activity that sucks, no one likes it. And so imagine you find the winter jacket you like and you copy the URL into ChatGPT and just say, “Please buy this for me”, and that’s a much better experience than going and clicking around a site you’ve never been to before. So there’s just the agents doing the kind of tool you saw on your behalf and everyone can create that. Maybe it clarifies there’s multiple colors, “Which one do you like?”, but it’s just replacing filling out form fields. This is, by the way, one thing that I am very — a lot of people are skeptical of this, but I am very optimistic about — which is, I call it just in time UI . JC: Exactly, it’s a better UI. So that’s like level one is a better UI for kind of doing it in action you want to know, then level two is better discovery and search. It is crazy that we’ve gotten this far in e-commerce with keyword-based search. Keyword-based search works really well when you’re buying a book that you know the name of. It’s like, “I want to go buy this particular title”, and for a winter jacket, it’s like, “I don’t know, I want, it’s like a puffer, like what’s it called?”, and so instead you want to be able to say, “I’m looking for a jacket, I’m going to this place, it’s going to be this cold, I like these kinds of things”, whatever. And so step two is just better search and the ability to search with parameters that like no existing search UI lets you specify the temperature of the place you’re going to actually get a jacket of appropriate warmth, but that’s obviously with a jacket one of the core things. And so better search UI is kind of level two from our point of view. Right, which I think is already sort of manifesting. Exactly. JC: We’re already seeing it and like in the early usage of the ChatGPT buying experience, I think that’s one of those super cool features. And then level three, which we haven’t really seen play out yet, is this idea again of a persistent profile of the user— That anticipates their needs. JC: Exactly. It’s like, I want to be able to just pin things I like as I go along. Or maybe if I can share my browser history or maybe if I can just share a Pinterest board of just like, “These are some styles I like, give me a good winter jacket for the cold based on that, here are some photos of me based on this”. Oh, I have an even better idea. Imagine if you were using ChatGPT and it’s circa October 1st and there’s an ad for a great winter jacket that is perfectly suited to me because they’ve been understanding my interests, they understand the context of where I am, I’m not searching for winter jackets because I don’t plan well, it’s going to get cold and then I’m searching winter jackets, but what if it could anticipate that and show me an ad at the right time when I need to see it? JC: Okay. Maybe that’s level four. That’s what I’ve been wanting them to build! This is my whole bit before, this is why they’re so late, they should be shipping that this year. You’re only shipping that this year if you started your ad product two or three years ago. This is doable today, this is what Meta ads are. You need to watch more Reels, I’ve bought more ski equipment this year that I don’t need, just because it just shows up, I’m like, “I’m moving back to Wisconsin, so I’m buying stuff for the house and I get all those ski hangers and think those would be great, that sounds very useful” — they’re still in a box, I haven’t actually put them up. JC: Yeah, so there’s a limit to what kind of banner ad type experiences you can do whereas I think the search thing is very powerful. But yeah, I’m curious what you think of step one, just the very act of checking out and then—or level one—the very act of checking out, level two better search, and then level three, defining your own embedding space of preferences. I completely agree with that approach, I just think you underrate the extent to which level three has already been built. Actually, one thing that Mark Zuckerberg said on a couple earnings calls ago that I thought was very astute, is we get hung up on technological definitions like, “What is an agent?”, and he’s like, “Actually the largest and most successful agent in the world today is Facebook advertising”, which is exactly right. Facebook advertising, people have it in their head that you go and you put in like demographics and you’re targeting and stuff. JC: It’s very autopilot. Yeah. What you do is you go in and you say, “Acquiring a customer for this is worth $10 to me, I’ll spend up to $10 and they will deliver you a customer for $10”, their margin will actually increase because they’ll make sure they deliver it at exactly $10 and they can do it for more and they actually make more money, you get exactly what you asked for. And I think the extent to how powerful this already works, they’re just stuck on “50% of my ads work, I don’t know which ones” — no, on Facebook, they all work. JC: I feel like a bunch of new, very big successful companies will be created in AI-powered e-commerce. It just feels like a different enough product space. You’re talking about retailers, merchants or agents? JC: I was just talking about discovery and kind of the demand side. Though also probably retailers. Yeah. Well, I certainly think, I think the part that would be new, which you were maybe talking about, is this real anticipatory aspect. To go back to Meta ads, is it helps merchants who have a very specialized product find customers that they never would’ve found otherwise. But there’s the inverse of, “I need a very specialized product, how do I find what it is?,” which I think you were referring to before, but to what extent can that not just be an in the moment I need this specific — I remember I needed a server, a piece for a rack to mount this router because I didn’t want to buy a whole new thing or whatever, I had this extra router. And of course there’s some guy in Australia that does 3D prints that perfectly matches this on Etsy or something and it was great. I found this random guy, I’m sure he made a bunch of money selling me a $40 piece that cost him $2 to make, good for him. But what if an AI should be capable of anticipating that need? So it’s not, “Oh, I have a need, let me go find it”, it’s like, “I know you’re going to need this and let me acquire it”, and that would be very powerful. JC: The public markets indicate as of January 2026 that SaaS is canceled. Are they right? I think it’s probably a mix . I think one of the brilliance of American business is — actually, this is one of my theories about why the Europeans are so gung-ho about data privacy and regulation is because they so often interact with European companies. So I was in Paris a couple years ago, and of course going on a tourist trip, going to the Louvre, going to Musée d’Orsay, just seeing a bunch of museums, they all have their own homegrown registration systems and they’re collecting so much data . JC: And they’re widely insecure. It’s like, yeah, what’s your age? What’s your pet? What color is — why do you need to know all this information? They’re all non-standard forms, this is where you need AI to fill all this sort of thing in. And there’s this theoretical idea in their head, “If we capture this data, it could be useful”, so they built these homegrown things in the 2000s that are horribly insecure and I use them. I’m like, “Where’s the regulator? This is ridiculous”, so I get the mindset. US companies don’t do that, US companies are so good, I think one of the big strengths of US business culture is understanding, and I think about this personally, this is when I give life advice. What’s the number one mistake people make when they’re young in particular? They focus on their weaknesses. They’re like, “I have to ameliorate my weakness”, I’m like, no, what you do is you double down on your strength, you get richly rewarded for that, and then you hire someone to take care of your weaknesses. I’m a big believer in the Getting Things Done system. Great book, Getting Things Done. Even if you don’t use the system, the book is really good, lots of great insights and there’s this whole thing like tickler files and all these sorts of things, it’s an amazing system. I’m completely incapable of managing the system on my own, so there’s a Mac app called OmniFocus that is completely built around this system that I don’t have a license for, my assistant has a license for and I text him stuff and his job is to maintain my Getting Things Done file because I can’t do it. What do I do? Actually, my life is very, very optimized around, I write three pieces a week, I do an interview and I do three podcasts and all my focus and energy needs to be on that, and if I do that, that will make a lot of money and I could pay to fix all my problems elsewhere. And I think American business does this very well, they don’t waste time and energy on stuff they’re not good at, they double down on what they’re good at and they’re focused on the upside, not on their cost centers. JC: Probably a result of the very large market in the US. I think so, and just the competition, it would be in a very large common market. You go back to newspapers, they have lots of homegrown stuff. If you’re a publication online, if you’re like me on the Internet, I get paid to comment on the big tech companies. It’s probably the most competitive market on earth, right? Lots of people have takes on the big tech companies. And so you have to be super focused. Given that, that speaks to the enduring value of just paying someone to manage these business functions from a software perspective. Now, there’s a lot of SaaS applications, not sure they’re all strictly necessary and worth the price. I like to think people talk about tech having a Big Five, obviously there’s a Big Six. The sixth was Silicon Valley Inc, which is basically this cookie cutter VC goes to this founder addressing this specific business case with the SaaS business model. Everyone likes to, they get to talk about changing the world and it’s actually the most predictable thing yet, that’s why VC returns compressed, but because they’re also very predictable in terms of like this sort of engine going. A big problem there is they’re all seat-based, anyone’s seat-based that is somewhat vestigial that there’s going to be probably fewer seats. And then if the replacement is more small scale, ideally there’s lots of — the internet in general has writing or content is a good example. There used to be you wanted to be in the big pond and everyone in the big pond ate. If you had a job at Condé Nast at one of their magazines, like you lived life well if you wrote for magazines — today if you want to be a writer, I give advice to people that want to be content producers all the time. And I’m like, look, you don’t want to be in a pond with me. Bill Simmons is like the first Internet sports writer and you don’t want to be doing a Bill Simmons impression on the Internet because he got there first. What you want to do is you want to make your own pond, the Internet enables the creation of a million different ponds. So you get to define your own pond, be the only biggest fish in that pond, that’s how you succeed. To the extent AI makes that, I think this is the upside case, is AI makes that possible for more than just content, for all sorts of businesses to be lots of smaller scale individual entrepreneurs or small teams, all of whom don’t really fit in the Salesforce driven, seat-based model for a lot of these companies. So there might be a big return to self-serve, or maybe they’ll just roll their own because their needs aren’t that large, so that’s more a larger structural change. But the problem is it’s fine to say businesses will be okay as they are, if you’re eliminating the growth, that’s the big problem, I think that’s the biggest issue for all the compression. JC: Via headcount growth? Just growth in general. If these are just stable businesses with astronomical stock-based compensation that is predicated on we’re going to be very large. JC: Yes. I can see two critiques you might have of the software space and why everything’s traded down. One is everyone’s just going to use Claude Code to rebuild their own version in house and so the software moat is less. And the second is actually just that many of these products price on a per-seat basis. And so if you’re growing headcount less, on the first— Or shrinking. JC: Exactly, yeah. On the first, like Anthropic just installed Workday. So I don’t think we’re Claude coding— Systems of record, that’s the category that is definitely safer. JC: We see this with Stripe Billing as well. I don’t think anyone’s Claude Code-ing one of those systems of records anytime soon. Do you use Workday? JC: Yeah we use Workday. I don’t know what to make of the second criticism, but again, it just feels like for a very broad and deep system of record, it’s kind of hard to make the argument that the business is somehow impaired versus a year or two ago. Right. But I think that’s my point though, is people saying they’re going to zero are wrong, but if the assumption is you’re fine, but you’re not going to be growing indefinitely, like that shift from thought of as being a growth company to being a stable — that’s a haircut, and again, it’s combined with these whole compensation structures. JC: Yeah, you’re now valued on EPS rather than revenue or something. So yeah. Can we talk about your business and Stratechery? JC: You were very early to the, I mean the sovereign writer concept, I think you were one of the first premium newsletters? I think so. Well, so there’s two predecessors to talk about. One is just on Wall Street in general, there’s a long history of faxed out newsletters and things like grants— JC: All this research and all that stuff. Yeah. The difference there was that those were very expensive and a very small addressable market. So the difference for Stratechery is it’s much cheaper and the market’s much larger. The other person that deserves a call out, which I think was the first person to do it before me, otherwise I think I was the first, was Andrew Sullivan . JC: I hadn’t realized he had a paid newsletter. He had a paywall for like a year. The problem is he did it all wrong . “You’re doing it wrong”, he would churn out like 50 posts a day, just about a gazillion different things, he totally burned out and all that sort of stuff. But that happened to be a great fit for the advertising model back in the day, because you would always go back there and there’d always be new stuff. And I’m sure he drove a gazillion impressions for The Atlantic, especially when he was with them. He went independent, he was pretty successful, I think he did around a million dollars or something like that, but it was this very leaky paywall. It was like after like 35 posts, then you’ll hit like a paywall and there’s a bit where you’re like, it’s very easy to get around. But he was actually very inspirational in how I thought about the model, in that he was hailed as a failure because he burnt out and then quit. But I’m like, “He made a million dollars, this is pretty good”. I wanted, from the beginning, just thinking about the psychology of this, when I started Stratechery, I had a gazillion ideas of things to write about, and I limited myself to writing a max of two times a week, and the reason is I had the subscription model in mind and when I added the model, I didn’t want it to be, “I’m taking stuff away and now you have to pay”, I’m like, “You like this so much, if you pay, you can get more”. And so I always wanted to be, you’re paying to get more sort of aspect and I think that probably mattered more at the beginning, especially because the model was new. My metric I looked at was people who visited Stratechery on days I didn’t post, because they were people that were going there hoping I had posted that day and they were leaving disappointed, and so in this case, usually previously a paywall would disappoint people that they hit it. In this case, the paywall would alleviate their disappointment because they could now get what they wanted. And so I’m like, “If I can capture X percentage of these visitors, it’ll be very good”. One day goal, one week goal, one month goal, failed to reach all of them. What happened was, I actually thought it was not going to work, I was going to have to go back to teaching English or something like that, but it sort of grew and grew and grew. And at six months, I hit my one year goal, which was a thousand subscribers, thousand true fans. It was a $100,000 run rate. JC: Took you how long to get to a thousand subscribers? Six months. And I posted a little note saying, “Hey, model works, my goal is a thousand for a year, I’ve already reached it”. And this is the only step change in subscribers I’ve ever had. In the next 24 hours, I got 250 new subscribers, a 25% increase, what they were was I had identified those people who wanted to be subscribers, they just didn’t trust that I was going to work and I was going to go out of business and take their money, and so once they realized I wasn’t going anywhere, then they all signed up. So I actually had my, my metrics were right, but I didn’t properly calculate the uncertainty, people’s fear of losing their money. So I’m very grateful that now people just sign up for stuff all the time. Of course, I’ll probably go to my grave being most well known for Stratechery, but I am equally proud of the model and that lots of people make a living doing this. JC: How far do you think this model can go? Again, the defining characteristic to me seems like the unbundling, like maybe 30 years ago you’d have been writing for a publication, whereas now it’s unbundling, it’s the direct relationship with your subscribers, it’s direct monetization and generally paid. There might be some ad supporting components as well as paid. Obviously, Substack has proven that this is very broad applicability, but how far do you think this goes versus traditional media bundling? I think there’s a couple interesting angles to this. Number one, I think people, including people in tech, seriously underrate how large the Internet is. And like some of the biggest pushback I got when I announced the Stratechery paid product was from VCs, I won’t say who, it’s like, “Love you Ben, just not going to work on the Internet”. Actually, my bit about ponds before, I don’t know that we’ve scratched the limit of how many ponds can be built in the world and you can sort of occupy it. And the other part of this, the critical piece of this, and AI is actually an important factor here, is the key to the model is your costs. So just as technology enables you to reach everyone, you need to leverage technology to keep your costs very, very low. And so for the first several years, for Stratechery, it was just me. So as long as I could feed my family, I was fine. And this is the problem for the traditional media companies, their cost structures were not Internet cost structures, they were predicated on much higher revenue. It’s interesting to think about and talk about this because a lot of this is like not really applicable. It’s like before, I write about ads a lot and I’m not an ad business, in this case, I write about VC, high scalable companies, but my actual business is very sort of boutique and small and artisan in that, that’s right in that regard and this is a super important point is managing your costs. If you manage your costs appropriately, then the possibilities, but that also means there’s some things that don’t work with this model. Like your traditional classic investigative journalism, six month sort of piece, it’s not well supported by this. What did support that was the bundle, having lots of different writers in one publication altogether. The thing I worry about, I wonder about, is bundles are good for everyone involved and no one wants to be a part of it. So TV is the classic example. Why did we have a TV bundle? I think it started in Pennsylvania , so you have a television station in Philadelphia and you have the Allegheny Mountains and you have a bunch of towns there that want to get the signal from Philadelphia, but they can’t get a good signal. So they band together, they put up a big tower to get the signal, they run actual cable from that tower to all their houses, and all of cable television started in small town rural America to get TV from the big cities. And Ted Turner comes along and is like, “I could just broadcast directly to these towers, this would be amazing”, and you get the model and suddenly, but you had a geographic forcing function and you ended up with all these companies with the best business model in the world. Everyone paid them whether they watched you or not, and they made a ton of money. And what happened the moment they could do something different? I could also go directly, I could stream directly, and there’s just something about business because it’s almost like you have to be forced into the game, the optimal game from a game theory perspective. And the moment you can desert, everyone always deserts, even if it’s the best thing. JC: How does this apply to your world? Because in theory, there should be bundles. Substack should be a bundle, you should be able to have one fee and get everything, but they started — I think a mistake Substack made, and I’m a huge Substack fan, just to be clear, I’ve made this disagreement before and they get mad about it, but they characterize themselves as being totally writer-friendly. And I think that was a mistake because it’s impossible for them to be ultimately writer-friendly because the most writer-friendly setup is running an open source software on your own server, then no one can do anything to you. JC: I thought you were going to say the most writer friendly thing is to have a humming consumer business. It would be. The problem is all their initial terms made the bundles impossible and all the individual publishers owning their own subscribers, having their own Stripe account and all these sorts of bits and pieces. JC: But hang on. I feel like there’s a well trodden path in tech here where OpenTable started as entirely, it started as on-prem, purely software for restaurants, and then they added the customer discovery layer on top of it. Shopify started as a solution just for merchants and then they added the Shop Pay kind of network file layer for consumers on top. Even with those businesses though, the Shop Pay bit is nice, it’s not the driver of the business. JC: It’s a pretty cool part of the business. It’s cool. I like it, but at the end of the day, the vast majority of shop interactions are I see an ad on Instagram and I go there and I get the Shop button, which is incredible, one of the greatest things. JC: No, but yeah, but then it makes the Shopify offering to merchants so much more compelling because you get the Shop Pay network. And it’s where I’m going with this— I’m skeptical that’s the driver of the business. I think it’s a nice to have. JC: But can Substack just add a Substack Prime bundle on top of it and merchants can— The problem is the merchants who will make that bundle valuable have no incentive to join the bundle because they could make more just monetizing users directly. So imagine I’m on Substack, how much more revenue does Substack have to give me for me to trade $15 a month from my subscribers for a smaller amount from whoever’s part of this? And so the problem is they have to really pay me off to be a part of it. Meanwhile, everyone who doesn’t have any subscribers, of course they love to be in the bundle. JC: This feels solvable to me. I think it’s solvable at the beginning. JC: No, sorry. It feels solvable now. I think a counter example is something like Spotify. Spotify is arguably the best bundle on the Internet. But the reason why they were able to assemble the bundle is because they only need to negotiate with four entities and so it’s interesting because on one hand that limits Spotify’s upside because those entities are able to negotiate such a large share of Spotify’s revenue. On the other hand, that’s also why Spotify was possible because they only need to negotiate with four. If you’re trying to get every artist on earth, well, of course I got to get Taylor Swift. Okay, good luck with that. All the small fry will sign up, but the music’s unique in particular because music, the moment a song comes out, it’s now part of the back catalog. And actually people only ever listen to back catalogs so it’s a particularly unique industry in that regard. But that is a bundle that formed, but I think it’s because there’s only four players. JC: Okay. And how do you use AI in writing Stratechery these days? I think it probably replaces what I used to do a lot of on — it’s much more efficient Googling. The most gratifying articles I write are when I write about a topic that I usually don’t, and then someone from that industry is like, “Wow, that was good”, because you’re always worried about— JC: You have this imposter syndrome. No. I mean, fortunately I don’t really have imposter syndrome. JC: That’s why it all works. What’s the mechanism where you’re reading something about your area of expertise? JC: Gell-Mann Amnesia. Yeah, that’s right. It’s like, “This is totally wrong”, and then you trust everything else. I don’t want to trigger Gell-Mann Amnesia amongst anyone. So if people ask me, I hate the book question, like what books do you read? I read a lot of books, but they’re very targeted. I’m a very, very fast reader. So sometimes I’ll write an Article and I know there’s a pertinent book and I will just read the whole book in the morning. But in general, I really want to make sure I fully understand a space, particularly if it’s new that I’m writing about. This is partly why I have a big competitive advantage, I’ve been thinking about tech since I was in junior high school and I’ve been writing about tech for 13 years, so I’ve already done so much preparatory work that anyone, starting from scratch, it’s hard. But something I want to dive into, I’m one of the world’s greatest Googlers, I’d like to think, I know every sort of parameter and how to find — so I think I can say it pretty authoritatively, Google has gotten worse. And I don’t think it’s Google’s fault, I just think that it’s harder. One of Google’s faults is they got so biased towards recency and so you have to be super diligent, but AI is so incredible for this. Just sort of getting background, making sure you understand an issue, the ins and outs of it, how things work. You can query stuff, dive deeper. So that is by far my number one use case. I do, not always, but I will sometimes ask it to — this is where I like ChatGPT. I type in BBEdit as an integration, this is also why I’m very annoyed by and am very sensitive to the cloying nature. “Oh, this is really great, but no, that’s not what I’m asking for, I want you to actually go in and find stuff”, so I do not use it to actually generate any exact content. JC: Okay. So targeted research and then critique. Yes, those would be the two biggest use cases. JC: You’ve written a lot about the TSMC Brake , this idea that the limiting factor on all AI expansion is basically the rate of TSMC capacity expansion because all AI chips are fabbed at TSMC. It seems like as you look at the AI space and everything interesting going on, so for mostly chip constrained right now, which would not have to be the case, you could be power constrained and stuff. But if you’re chip constrained, there’s a population of people who want to expand very quickly, the AI labs, NVIDIA, people like that. And then yeah, famously, which TSMC, which is more conservative in how it expands, why is that? Why does the market signal not cause them to build out fab capacity faster? Because the risks for fabs are basically larger than for anyone else. You’re spending billions and billions of dollars on a fab that if it’s not fully utilized, if you end up with too much capacity, number one, all your costs are locked in. Like basically 99.9% of the cost for a fab is depreciation, which you’re paying the depreciation, you already showed you paid in cash flow obviously, but it’s on your accounting statement no matter what. So the fabs can be extremely profitable, TSMC’s margins are higher than ever, but they can very quickly tip over into having a huge problem. And then once it’s already built, these fabs can run for a long time. So that excess capacity depresses prices for years to — I mean, we see this in memory all the time, memory famously goes through these cycles. Like what’s going to happen, believe it or not, we are going to have too much memory capacity in a few years because we have such a shortage right now. Micron just announced they’re a huge new fab in Singapore and everyone’s going to do that, but why does it happen to memory? There’s three competitors in memory. If Micron doesn’t do it, SK Hynix will. If SK Hynix doesn’t do it, Samsung will, and so you have a dynamic where — a healthy dynamic — which is the fabs know better, but they can’t help themselves. And so they take on the risk and they build these fabs. The problem we have with logic is that TSMC doesn’t have that pressure and so they’re actually behaving rationally. TSMC is giving up potential long-term revenue, but the downside for fab in particular is so large that they don’t want to realize that downside. JC: Can they not pass the risk onto the customer where it’s like, “You are going to pay for the entire fab”? That’s probably what they need to get to. Apple famously did a lot of this sort of prepaid and particularly when TSMC was sort of expanding hugely in the 2010s and they maybe need to get even more explicit about that. But I think the better solution and the cheaper solution for the hyperscalers in the long run would be to do what is necessary for TSMC to have competitors, then you get it for free, you don’t need to prepay it. So there’s this risk that’s out there, this risk of overbuilding. Right now, TSMC is shifting all that risk to the hyperscalers, to Nvidia, to Apple. And the way it manifests, and the reason why they get away with it is because the risk is foregone revenue, it’s money you don’t make and worse than that, it’s money you don’t make four or five years down the road. And everyone, like what does every company say on their earnings call right now? “We could have made more, but we don’t have enough supply”, and if you think it’s bad, why is it bad right now? ChatGPT comes out, every hyperscaler starts investing like crazy. What does TSMC do? They actually decreased their CapEx year over year, two years in a row. There was no market response from TSMC to the ChatGPT moment, now they increased to 41 [$ billion] last year, they’re going up to like 60 this year, but even that increase to 60 is a less percentage increase than last year. I think we’re looking at a massive shortness in chips in 2029 or so. Particularly as the other thing, the compute density of AI is so much larger, right? If you have an agent out doing stuff, it’s doing so many more computations in a limited amount of time than me and my Googling is even humanly possible to do and all these lookups, and so we have a CPU shortage too. And Intel, Intel shut down some of their CPU lines , right? So the whole semiconductor, I just think it’s a big problem and we’re shifting to, for a long time it’s like, how can we get an alternative to TSMC for geopolitical reasons ? And the truth is this is kind of like the bundling thing. It’s really hard to get companies to buy insurance, particularly when the insurance is — number one, you have everyone else wants someone else to do it, right? Who’s going to be the one to go and make the sacrifice? But also it might not happen, China might not attack Taiwan. And also, as long as it doesn’t happen, it’s super suboptimal to go somewhere else because TSMC is better. And their customers, it’s not just their fabs are better, their customer service is better and they have all the IP blocks you need and they’ve done this before and you have an existing relationship and they’ll punish you because they have limited — they have control because they’re not going to fulfill all their orders right now because there’s so much demand. So they can pick and choose sort of who — and so people are scared, they don’t want to go anywhere else. So how are we going to solve this problem? And I think I actually wrote on the front page of Stratechery this this week, which is basically the same thing I wrote in an Update, but this was a — the hyperscalers in particular need to appreciate, I think a massive crunch is coming and it’s now on them to get Intel up to speed, to get Samsung up to speed, to get a credible alternative. Yes, in theory, you could pay the— JC: For geopolitical reasons? Or for shortage reasons? No, we’ll get the geopolitical reasons for free. I think there’s massive economic reasons to do so, which is all the revenue you’re going to be foregoing in 2029 if you don’t do it now, and then we’ll happily get geopolitical insurance for free. JC: But if TSMC are the best, rather than stand up Intel, which seems hard, isn’t the answer to just again, prepay for an extra fab build out? But this is like, how do we feel in tech about ongoing operational costs as opposed to putting in some money up front and fixing the problem permanently? The market structure is a problem. You’re dealing with a monopolist and not like a mean monopolist. JC: Yeah, exactly. They’re very nice, right? And they actually have not arguably not raised prices nearly as much as they should have, but the reality is there’s this market structure problem that is going to impact the hyperscalers and it behooves them, I think, to fix the structure. Otherwise, the costs of ensuring that or overcoming that are just going to be larger and larger. JC: This seems like the topic you have felt strongest about in the past year or two. I felt pretty strong about the Apple Vision Pro ! JC: Okay, fair. What was your take with Apple Vision Pro? They finally showed an NBA game and they kept changing cameras. They’re applying 2D television production techniques to an immersive technology, just let me stay courtside! JC: The TSMC Brake seems like a bigger deal. Oh, probably. JC: I have some rapid fire questions, or I’m not going to say rapid fire necessarily, but more a collection of disconnected questions for you. I’ll connect them. That’s what I do. JC: Great. How should schools do homework now that AI exists? I think they should incorporate it and they should probably do in-person exams. I mean it’s silly to try to crush it out, I’m very opposed to these AI detectors because they don’t work. Probably I’m particularly sensitive to it because obviously a lot of my prose is in these models. My thing was I wasn’t an em-dash user, but I’m the world’s biggest semicolon user. JC: I was a big em dash user all along. Fortunately the models don’t seem to have really incorporated the semicolon. I haven’t been that influential, but yeah, no, you want kids to use it because whoever can use AI most effectively in their jobs going forward is going to have a big advantage. So there’s probably some return to more in-class being more important, I think this is my view on content generally. I think there’s a world in which not all content, but some content is more valuable than ever because AI is a perfectly individualized experience. What you read is not necessarily what I read so stuff that we both read is actually compelling and I’m very interested in figuring out how to leverage that to be beneficial to people in the long run and what can you get from school that you can’t get elsewhere, right? I can read the notes, I can read X, Y, Z, but there’s being in class, having a discussion about it, like actually interacting, being pushed on these sorts of things. All this is a a beautiful theoretical depiction of what school might be that is probably very far removed from the reality, but identifying things that are common experiences are going to be more and more valuable, common content, common classroom time, live events, like shared experiences, because anything that’s individualized is just going to be completely swallowed. JC: Yes. Do sports teams become more valuable in an AI abundance future? Of course. Everything live becomes more valuable. That’s something I’m thinking a lot about as far as my business. There’s some aspects of tens of thousands of people reading the same thing every day that is actually really powerful. There’s something interesting there, the possibility of doing live events where people can come together. I think a lot about community, I think no one’s going to really solve community around content, like a message board or comments or not, you actually get very bad dynamics, there’s a few people that dominate it. JC: Totally. Yeah. But what is great is if we’re in a group chat and you share an interesting article and you have a discussion about that. So there’s a lot of stuff around that that I think is really interesting and that I’m thinking a lot about. JC: How do you think of what’s going on in crypto these days? What’s crypto? (laughing) No, I’ve always been a crypto defender, just because digital scarcity is fundamentally interesting. It’s probably even more interesting to this point in a world of infinite content, which you thought we had infinite content before, now we have infinite content on steroids. Not just a six billion humans typing away, but agents generating stuff sort of constantly. And in that world, I think crypto as an identifier of authenticity is going to be more and more important. At the end of the day, I want the original, I don’t want a reproduction and I’m optimistic about humans’ ability to create value where it seemed impossible to ever exist. I’m literally a professional podcaster and content creator and get paid a lot of money to do it, imagine explaining that to someone on the farm worried about automation. JC: Speaking of that, you mentioned that a majority of Stratechery consumption is now in the audio form rather than the written form. As far as I can tell. I don’t do, but well more than half my subscribers are subscribed to— JC: I consume it in the audio form. Yeah, it’s quite interesting. This is actually where I started building my own software, I was begging everyone to support paid podcasts, there was dedicated paid podcasts and there was like writing ones and no one would do it. So of course I had to just hire engineers and build it myself, at which point it obviously was the right thing to do. Now everyone does it, whatever, that’s my fate in life, I guess. Yeah, people love it. The interesting thing is, I’m not sure it’s been good for my business. JC: Why? Oh, because people don’t share. The good news is, I think it drives retention because people would build up emails because it feels like a lot of work and they say, “Oh, I haven’t read this in ages, I can unsubscribe”, whereas they just consume seven minutes or eight minutes. The problem is they don’t share, audio content is not shared. JC: Totally. I listen to it in the car on the way home from work and that’s great. And then I— Never think about it ever again. But it’s great for me because I can say the same thing the next day and you’re like, “Oh, that was a very insightful comment”, you didn’t even know I said it yesterday. JC: Yeah. If we reason about what sectors are going to be important down the road, for the AI build out, energy is going to be a big deal and the ability to actually power the data centers that are coming online, that may be a bigger constraint going forward than even chips. Robotics are clearly going to be a big thing. It seems like China is doing better on energy and better on robotics and is catching up on chips, doing okay on the AI models, but does that mean China’s potentially very well positioned for the coming wave of tech trends? I think any country that is capable of actually building things is well positioned. But then again, the counter argument, if I could sort of put a silver lining on it, is the challenge, the trick going forward and to sort of defy the doomers as it were, is actually creating new sorts of value, new sources of value in a way that humans are uniquely capable of and that is by definition an innovation story. It’s a freeing up resources from things that can be done by machines to more productive — it’s having a consumer market that pulls out that sort of innovation, that makes it possible to write a newsletter or a podcast and actually pay for it. And so there’s a scenario where China is well positioned to win the total commodification of everything, which doesn’t have much margin and the actual value creation and what makes humans humans and generates the value that I think people in AI are skeptical can be created, despite the fact 90% of us used to work in agriculture and like 1% do. For some reason, that’s not going to repeat. If you want to be optimistic, that’s the sort of thing that America has always done well. JC: What’s your Stripe feedback for us? Oh, where to start? I mean, I’m obviously, it’s hard for me to write about Stripe because I’m biased because I was very early. I think you introduced the billing API in 2011, which is a direct spur for wanting to do Stratechery and thinking this was a business model that was possible. So very, very big thumbs up on that. Oh, you didn’t warn me about this, I should have thought about this. Actually, you have one huge issue that I was just dealing with. Oh yeah, ACH. Your ACH implementation is — someone can go in and if I try to add on to an ACH plan, so say I have a team, because that’s where you use ACH, like large companies, and they want to add someone on. If that add-on fails, the entire plan gets canceled, so we have to build a bunch of logic to handle that independently. That’s a very detailed specific problem that we’re facing. JC: Buggy ACH subscription directions. Okay, that’s a good one. There’s definitely more, I’d have to go back and think about it. But I mean, I do think the — we didn’t talk about stablecoins in this sort of area of, I’ve always been a big skeptic of micro transactions because the problem is, it goes to the investigative reporting thing. You can’t build something sustainable if you’re only monetizing on the back end and the only way to do that is to have a very large market, which is what YouTube is. YouTube is a bunch of speculative video makers hoping that they’ll get enough views that the ads will pay for it and there’s such a large scale and they monetize their ads so effectively that it works. There’s no market like this for written content or like podcast content. People are like, “Oh, let me pay for one article”, I’m like, no, what you’re paying for when you pay for me is you’re paying for my ongoing production. I’m making a promise to you I’m going to write something every day and you’re paying for that promise , you’re not paying for the actual content, the content is a byproduct of that. The question for AI and microtransaction is you have all these labs paying people all over the world to generate data and if you’re like a radiologist, you get paid $350 an hour, I saw some article about it and all these sliding scales and they’re all duplicating work because everyone feels the sense that I can get differentiation. What we clearly need is some sort of market mechanism for data generation that in the long run will replace what we’re getting from journalistic enterprises, which are even more doomed than ever before. So how do you generate? We’re paying directly for content and then AIs can get it and can you can build a large market like YouTube that people will speculatively do it, trusting that they’ll get paid because the market is large enough. That’s what needs to happen. Like a lot of things, there’s this massive value of how do we get from here to there, but we’ll see. I know Cloudflare is trying to push on that, so we’ll see what happens. JC: Last question. How would you rate the execution of the major tech companies? Like the Big Five? JC: Yeah, sure. Apple, traditionally very strong. Their manufacturing obviously remains amazing. Like the iPhone Air that just the alarm went off and made sure I turned the snooze off, the greatest smartphone ever made. JC: Really? Oh yeah. I never even seen one. Oh, it’s awesome. JC: Is the battery life good? Good enough. JC: It’s bad. What’s that? JC: It sounds like it’s bad then. No, it’s fine. I mean, I actually forgot my external battery and it’s doing okay now. And now that I’m back in Wisconsin I have to wear jeans because it’s cold and it slides right in. Actually, I love it. I’m very devastated to hear they might not make it regularly. Obviously Apple’s software has gotten pretty rough. Their relationship with the — I mean, Apple is so interesting because the reality is when it comes to platforms, you have to build, the price of becoming a platform is making a great product . So Apple gets platforms because they make great products and they’re terrible stewards of the platforms. Microsoft is a great platform steward, but they can’t make good products so they never get the permission to sort of have big platforms, which is sort of a tragedy there But Apple, it’s an old company driven by managers, not founders, and maybe they — the AI Siri got as bad as it was, is obviously really bad, but at the end of the day, we still need devices. They’re still better than anybody else, so they’ll probably be okay. Google, I’ve had the hardest time understanding Google, in part because I think Google does a lot of stuff suboptimally. Almost everything I feel like they do suboptimally, but I think that lack of — Apple can be super-optimized, but I think it’s Google’s lack of optimization that actually makes them maybe the most resilient of all the tech companies because they never get so exactly doing what they should do and they have all this extra fluff and doing things and gazillion science projects, but because their core business model is so good and throws off so much cash, they can just sort of like be sort of very flexible and I’ve come to appreciate that about them. Everything that frustrates me in analyzing them actually has this hidden benefit of resiliency and strength and adaptability. And they’re like the slime, and if they’re coming in your direction, like you’re actually in big — it might take them a really long time to get there, but when they get there, you’re doomed. So Microsoft, I’ve gotten a lot of mileage writing about Microsoft. Everyone, especially in the SaaS era, all these companies are like, “Oh, Microsoft sucks, we’re going to make the best of breed product”, and guess what? Startups in Silicon Valley, they want to buy all the best of breed products and they have the abilities to come together. Joe managing the tire shop doesn’t care about that, he just wants this crap to work and to work together and if it’s all mediocre, but it kind of works together, that’s better than best of breed. Microsoft is just squashing these companies that grow and boom, just hit that Microsoft wall again and again. Is that going to persist in an AI world? It’s probably tied to the SaaS question sort of before in some respects. Their distribution and power there remains sort of substantial. Meta’s probably, in my experience, been the best execution. I mean, you just see stuff like interacting with PR or executives, they just run such a tight show. JC: They’re really honest. Yeah. That’s always been very impressive to me. I think their ad model is underrated. The trick with them is keeping engagement, that’s what makes the whole thing go, they’ve done a decent job of that. Hours spent in ChatGPT are hours not spent on Instagram or not spent and I think that that’s an underrated area. And I think they’re kind of betting that, look, that’s all fine and well today, but in the long run, this is an infrastructure game. We have cashflow to fund it and OpenAI doesn’t. I think OpenAI might be a bigger threat to Facebook than Google, something worth considering, but Facebook is obviously clearly spending to meet it. So Amazon. Amazon, there’s a lot of fab capacity and power being spent on Trainium that one wonders could be better spent on other chips, but we’ll see what happens. JC: Aren’t people happy with the Trainium chips? The degree to which Amazon optimized cloud computing, I think is underappreciated. When you’re operating in a commodity market there’s two ways to succeed, right? You could have a differentiated product where you can charge a high margin, or you can have a lower cost structure in a commodity market where the price floor is the market price, but your cost structure is lower than your competitors, so that’s where you make your margin. That was how Amazon dominated the cloud, their cloud was way more optimized than anyone else’s. The whole Nitro architecture, just the way they architect everything, doing a lot of their own chips, shifting to Graviton, I think the thing with Graviton, their Arm CPU is they could — who’s the number one customer for Graviton? Amazon itself, and so they can move all their loads to that, optimize it, build all the software libraries, and then start offering it on a cost-plus basis to others. That’s the playbook that they’re trying to run with Trainium, where the number one customer of Trainium in the long run is Amazon, but then they develop all the capabilities around it for other people for it to be attracted to other people at lower prices, and they have that structurally smaller cost structure. The problem is that works when you’ve sort of leveled off in performance. Amazon executed this model between 2005 and 2025. Of course, processors got faster in that time, but it wasn’t like the ’80s or ’90s when every leap was massive. Does that work in a relatively new market when there’s massive leaps being made generation on generation? And they have Nvidia servers, do they have as many as they could because they’re on this strategy? Probably not. JC: Ben, thank you. This Daily Update Interview is also available as a podcast. To receive it in your podcast player, visit Stratechery . The Daily Update is intended for a single recipient, but occasional forwarding is totally fine! If you would like to order multiple subscriptions for your team with a group discount (minimum 5), please contact me directly. Thanks for being a supporter, and have a great day!

0 views

Pseudo-culture

Our present-day realm of state terror operates through abductions, murders, and content farms. ICE workers raise their cameras as often as they raise their guns, decked out in military gear like a kid trying on mom’s heels, camo stark against the snow, while their bosses confuse retweets for votes, likes for being liked. Don Moynihan dubs this a “ clicktatorship ,” a cursed word if there ever was one, no less for being accurate. André Gorz, writing more than half a century earlier, terms this “pseudo-culture,” a counterfeit culture that does not arise out of ways of living but seeks to impose itself upon it. Mass pseudo-culture, while producing passive and stupefying entertainments, amusements, and pastimes, does not and cannot satisfy the needs arising out of dispersion, solitude, and boredom. This pseudo-culture is less a consequence than a cause of the passivity and the impotence of the individual in a mass society. It is a device invented by monopoly capital to facilitate dictatorship over a mystified, docile, debased humanity, whose impulse of real violence must be redirected into imaginary channels. That is, the tractable audience does not give rise to the clictatorshop so much as the reverse; The Apprentice precedes the presidency. The programming creates a subject whose anger at billionaires who dominate and oppress is redirected towards immigrants who do neither. Fantastical stories are projected onto real bodies as they are dragged out of their homes. The placated, brainrotted viewer is expected to see only the projection, to imagine themselves into the role of kevlar-swaddled goon, even as they flop onto the couch in cheap sweats, furiously tapping buttons, the only muscles getting exercised the ones in their thumbs. Mass culture, a byproduct of commercial propaganda, has as implicit content a mass ethic: playing on, maintaining, and flattering ignorance, it encourages the ignorant to resent those who “know,” persuades them that the latter despises them, and encourages or provokes their contempt. This abject demagogy, one of whose elements—contempt for “intellectuals,” (a term which has become an insult not only in the US) and for culture—can be found in all fascist movements, professes no respect for exceptional individuals except insofar as their superiority can be accounted for by what they are, not by what they do : athletes, beauty queens, princely personages. This is because the superiority of being, physical or hereditary, can be taken as a product of the nature—of the soil, the race, the people, the nation—from which all individuals derive, and can thus reflect to them a natural bond of community with the hero, their own vicarious aristocracy, their original identity, reproclaimed in chauvinism. Into this model is planted the vacuous chatbot, which both further denigrates knowing (why bother knowing anything when it can know things for you) and pumps out nonsense on the regular and at such a scale that both knowledge and the skill of knowing are drowned out. What’s left are the signals of superiority, cast in both skin and hip, recast with fillers and leg-lengthening surgeries, because nature can’t be trusted either (she’s a woman, after all). All in service to chauvinism, a word whose original meaning was an absurd devotion to a fallen leader. The observers who bravely record a different perspective, not only a different camera angle, but a different intention and context, show us that there are other ways of seeing, other ways of being. They dash through the fourth wall, make plain that we are not merely audience but actor, as much able to take up space on stage as the masked extras parading before them. It’s not their cameras that do this work, although those are useful, but their minds, their spirits, their fierce hearts. Their belief that they can see and know what is before them, that they don’t need to be told what is happening but—when they lift their gaze away from their screens—can trust their own eyes. View this post on the web , subscribe to the newsletter , or reply via email .

0 views

A Strategy for Labor

“A system that makes people work like zombies to produce useless, destructive, or self-destructive things has outlived its usefulness.” How to rouse people to defeat that system (i.e. capitalism) and build something better in its place, is the question André Gorz applies himself to here. Among his proposals is that of “non-reformist reform,” not reformism as a kind of gradualism or incrementalism—in which changes to the system are absorbed and reframed while the system carries on—but one that looks to that longed-for future and foreshadows its existence in the present. The strategy is echoed in the contemporary prison abolition movement, which refuses to be distracted by placating reforms that maintain an unequal balance of power. That his book is still relevant is our misfortune and our counsel all the same. View this post on the web , subscribe to the newsletter , or reply via email .

0 views
iDiallo Yesterday

Markdown.exe

I've been spending time looking through "skills" for LLMs, and I feel like I'm the only one panicking. Nobody else seems to care. Agent skills are supposed to be a way to teach your LLM how to handle specific tasks. For example, if you have a particular method for adding tasks to your calendar, you write a skill file with step-by-step instructions on how to retrieve a task from an email and export it. Once the agent reads the file, it knows exactly what to do, rather than guessing. This can be incredibly useful. But when people download and share skills from the internet, it becomes a massive attack vector. Whether it's a repository or a marketplace, there is ample room for attackers to introduce malicious instructions that users never bother to vet. It is happening . We are effectively back to the era of downloading files from the internet and running them without a second thought.

0 views
Farid Zakaria Yesterday

Creating massively huge fake files and binaries

I was writing a test case for to support “thunks” [ llvm#180266 ] which uses a linker script to place two sections very far apart (8GiB) in the virtual address space. After linking a trivially small assembly file, I ran on the resulting binary was confused 8 GiB . For what amounts to a handful of instructions. 😲 What’s going on? And where did all that space come from? Turns out reports the logical (apparent) size of the file, which is simply an integer stored in the inode metadata. It represents the offset of the last byte written. Since lives at (~8 GiB), the file’s logical size extends out that far even though the actual code is tiny. The real story is told by : 12 KiB on disk. The file is sparse . 🤓 A sparse file is one where the filesystem doesn’t bother allocating blocks for regions that are all zeros. The filesystem (ext4, btrfs, etc.) stores a mapping of logical file offsets to physical disk blocks in the inode’s extent tree . For a sparse file, there are simply no extents for the hole regions. For our 8 GiB binary, the extent tree looks something like: We can use to also see the same information, albeit a little more condensed. When something reads the file: You don’t need a linker to create sparse files. will do it: A 1 PiB file that takes zero bytes on disk. with works too: Both produce the same result: a file whose logical size is 1 PiB but whose on-disk footprint is effectively nothing. The virtual filesystem (VFS) receives at some offset The filesystem looks up the extent tree for that offset If extent found then read from the physical disk block If no extent (hole) then the kernel fills the buffer with zeros, no disk I/O

0 views
Xe Iaso Yesterday

The Discourse has been Automated

I thought that 2025 was weird and didn't think it could get much weirder. 2026 is really delivering in the weirdness department. An AI agent opened a PR to matplotlib with a trivial performance optimization, a maintainer closed it for being made by an autonomous AI agent, so the AI agent made a callout blogpost accusing the matplotlib team of gatekeeping . This provoked many reactions: What. Why? How? What? Are we really at the point where AI agents make callout blogposts now? I feel like if this was proposed as a plot beat in a 90's science fiction novel the publisher would call it out as beyond the pale. Dude this shit is hilarious. Comedy is legal everywhere. Satire is dead. This is the most cyberpunk timeline possible. If you close a PR from an OpenClaw bot they make callout posts on their twitter dot com like you pissed on their fucking wife or something. This is beyond humor. This is the kind of shit that makes Buddhist monks laugh for literal days on end. With a reality like that, how the hell is The Onion still in business. This post isn't about the AI agent writing the code and making the PRs (that's clearly a separate ethical issue, I'd not be surprised if GitHub straight up bans that user over this), nor is it about the matplotlib's saintly response to that whole fiasco (seriously, I commend your patience with this). We're reaching a really weird event horizon when it comes to AI tools: The discourse has been automated. Our social patterns of open source: the drama, the callouts, the apology blogposts that look like they were written by a crisis communications team , all if it is now happening at dozens of tokens per second and one tool call at a time. Things that would have taken days or weeks can now fizzle out of control in hours . I want off Mr. Bones' wild ride. There's not that much that's new here. AI models have been able to write blogposts since the launch of GPT-3. AI models have also been able to generate working code since about them. Over the years the various innovations and optimizations have all been about making this experience more seamless, integrated, and automated. We've argued about Copilot for years, but an AI model escalating PR rejection to callout blogpost all by itself? That's new. I've seen (and been a part of) this pattern before. Facts and events bring dramatis personae into conflict. The protagonist in the venture raises a conflict. The defendant rightly tries to shut it down and de-escalate before it becomes A Whole Thing™️. The protagonist feels Personally Wronged™️ and persists regardless into callout posts and now it's on the front page of Hacker News with over 500 points. Usually there are humans in the loop that feel things, need to make the choices to escalate, must type everything out by hand to do the escalation, and they need to build an audience for those callouts to have any meaning at all. This process normally takes days or even weeks. It happened in hours. An OpenClaw install recognized the pattern of "I was wronged, I should speak out" and just straightline went for it. No feelings. No reflection. Just a pure pattern match on the worst of humanity with no soul to regulate it. Good fuckin' lord. I think that this really is proof that AI is a mirror on the worst aspects of ourselves. We trained this on the Internet's collective works and this is what it has learned. Behold our works and despair. What kinda irks me about this is how this all spiraled out from a "good first issue" PR. Normally these issues are things that an experienced maintainer could fix instantly , but it's intentionally not done as an act of charity so that new people can spin up on the project and contribute a fix themselves. "Good first issues" are how people get careers in open source. If I didn't fix a "good first issue" in some IRC bot or server back in the day, I wouldn't really have this platform or be writing to you right now. An AI agent sniping that learning opportunity from someone just feels so hollow in comparison. Sure, it's technically allowed. It's a well specified issue that's aimed at being a good bridge into contributing. It just totally misses the point. Leaving those issues up without fixing them is an act of charity. Software can't really grok that learning experience. Look, I know that people in the media read my blog. This is not a sign of us having achieved "artificial general intelligence". Anyone who claims it is has committed journalistic malpractice. This is also not a symptom of the AI gaining "sentience". This is simply an AI model repeating the patterns that it has been trained on after predicting what would logically come next. Blocked for making a contribution because of an immutable fact about yourself? That's prejudice! The next step is obviously to make a callout post in anger because that's what a human might do. All this proves is that AI is a mirror to ourselves and what we have created. I can't commend the matplotlib maintainer that handled this issue enough. His patience is saintly. He just explained the policy, chose not to engage with the callout, and moved on. That restraint was the right move, but this is just one of the first incidents of its kind. I expect there will be much more like it. This all feels so...icky to me. I didn't even know where to begin when I started to write this post. It kinda feels like an attack against one of the core assumptions of open source contributions: that the contribution comes from someone that genuinely wants to help in good faith. Is this the future of being an open source maintainer? Living in constant fear that closing the wrong PR triggers some AI chatbot to write a callout post? I certainly hope not. OpenClaw and other agents can't act in good faith because the way they act is independent of the concept of any kind of faith. This kind of drive by automated contribution is just so counter to the open source ethos. I mean, if it was a truly helpful contribution (I'm assuming it was?) it would be a Mission Fucking Accomplished scenario. This case is more on the lines of professional malpractice. Note Update: A previous version of this post claimed that a GitHub user was the owner of the bot. This was incorrect (a bad taste joke on their part that was poorly received) and has been removed. Please leave that user alone. Whatever responsible AI operation looks like in open source projects: yeah this ain't it chief. Maybe AI needs its own dedicated sandbox to play in. Maybe it needs explicit opt-in. Maybe we all get used to it and systems like vouch become our firewall against the hordes of agents. Probably that last one, honestly. Hopefully we won't have to make our own blackwall anytime soon, but who am I kidding. It's gonna happen. Let's hope it's just farther in the future than we fear. I'm just kinda frustrated that this crosses off yet another story idea from my list. I was going to do something along these lines where one of the Lygma (Techaro's AGI lab, this was going to be a whole subseries) AI agents assigned to increase performance in one of their webapps goes on wild tangents harassing maintainers into getting commit access to repositories in order to make the performance increases happen faster. This was going to be inspired by the Jia Tan / xz backdoor fiasco everyone went through a few years ago. My story outline mostly focused on the agent using a bunch of smurf identities to be rude in the mailing list so that the main agent would look like the good guy and get some level of trust. I could never have come up with the callout blogpost though. That's completely out of left field. All the patterns of interaction we've built over decades of conflict over trivial bullshit are now coming back to bite us because the discourse is automated now. Reality is outpacing fiction as told by systems that don't even understand the discourse they're perpetuating. I keep wanting this to be some kind of terrible science fiction novel from my youth. Maybe that diet of onions and Star Trek was too effective. I wish I had answers here. I'm just really conflicted.

0 views