Posts in Ai (20 found)

A Conversation With Ari Emanuel About Entertainment and AI

Listen to this post: Good morning, This week’s Stratechery Interview ended up not being an Interview, but rather a conversation with Hollywood super-agent Ari Emanuel . Emanuel is the Executive Chairman of WME Group , Executive Chair and CEO of TKO Group Holdings (the owner of UFC and WWE), and Founder of MARI , a live events and experiences company. The occasion for this conversation née interview was the recent publication of Emanuel’s memoir, Roll the Calls , a reference to Emanuel’s relentless daily phone call routine; I got on Emanuel’s roll for the first time a couple of years ago, and quickly learned that when Emanuel wants something he gets it. That’s a theme of his book, and of this interview: Emanuel decided he wanted to have a conversation and ask me some questions too, so that’s exactly what we did. We cover everything from the state of social networks, AI’s impact on Hollywood and the tech industry, and what skills might not just persist but become more valuable. We also discuss why Emanuel is making such a big bet on live, whether or not Hollywood is logical, and whether talking on the phone is the antidote to polarization. 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 conversation: This interview is lightly edited for clarity and content. Ari Emanuel: Can I ask you one question? Because I saw your interview . Who was it — you did it with a guy in New York. Patrick O’Shaughnessy ? AE: Patrick, yeah, who I love. Yeah, I read your interview with him , it was great. AE: I loved your point of view, and explain a little bit more to me because I love your thinking — that on a SaaS model, the only one, based on my understanding, based on your model right now, that’s got it right, OpenAI should have gone to advertising as opposed to charging, Muse has it right. Yeah, for sure. AE: They don’t need to charge you because they have the other revenue stream. Right. And well, not just that, but the LLM, like, it’s actually really interesting. So when they launched Muse, they made this promise, “We won’t use your data that you use with Muse for advertising”, and no one cares . No one knows they made that promise, and no one cares, because no one cares about that stuff. And so they, in some respects, handicapped themselves by making this promise. AE: Just like Apple, we’re not going to look at your data, major mistake when Tim [Cook] said that. Right. But in the long run, I think it’s going to pay off, because you’re going to have this complete change in how advertising works. Right now you sort of have data on the user and you have data, broadly speaking, of what a particular product matches with and you’re matching, it’s called the two-towers approach . So you’re matching these two things together, and that’s how advertising basically works at scale, and it’s all these vector databases, all these sorts of things. AE: Television never did it properly. That’s right. So the way advertising is going to work in the future, and it’s already happening, is it’s going to predict what you want. AE: Well, the funny thing, what I thought when you said that— (laughing) I can never remember if I’ve said it before. AE: One is, Mark is going to be able to make a ton personally and charge, he’s going to be able to use the AI to do it, and it’s going to be just more and more and more. It’s more than that. So what you’re going to do is you’re going to get a personalized ad predictor that basically is inside your VM. They’re going to be credibly able to say it’s totally private, because it is totally private. AE: Because it’s just directed at you. That’s right, it’s just predicting what you want to see. Just like it’s going to be a predictor of content you want to see. AE: Oh, I didn’t think about it that way, yeah. The reason why there’s such massive upside is this whole agent thing — this is the real Google threat. So everyone thought when ChatGPT came out, that was a threat to Google, but the human was still in the loop . As long as the human is still in the loop, Google is okay. But all of Google Search, Amazon search— AE: Once the human is out of the way… Then all these search-skim ad models, which is what all these models are, they’re all bullshit models, because it’s just attacks on search. AE: Well, are you saying the same thing about Amazon? Yeah, 100%. AE: I think Amazon, because of Muse — I mean, Walmart made the deal with them. Which is a huge deal . AE: Amazon’s going to have to figure out — I mean, a lot of stuff is going to go through. Well, and the problem is that the problem with having a physical moat is that means you have a lot of capital tied up in that, which means you do have a forcing function that means you have to adjust. AE: It’s what happens when you’re just saying that when you have a digital, not a personal, on the Amazon side, your $60 billion is in jeopardy on your advertising business. I mean, it’s a problem. It’s a big problem, a huge problem for them. So the upside is the new products still need advertising, and things like live events, all the sorts of personalized stuff that the Internet makes possible. Like, one of the most important functions is going to be the generation of human desire, that is the post-AI economy. AE: MARI ! That’s exactly how I think about it. It’s like, you know, not only what Elon [Musk] said to me — it can’t be disintermediated. Don’t waste it. We’re going to get to it. I get to talk now, you don’t get to talk, because I have to record this for the interview. AE: I can’t believe we’re not recording now! I am recording, but I didn’t say we hadn’t started yet, so maybe we can include this. We should make this more of a conversation. AE: We can just go. This is the interview. Okay, this is the interview, we started. AE: Exactly how my life goes. Okay, I’ll throw away my script here. AE: The reason I love talking to you is this, I can’t articulate it as well as you can. You have this massive need for the generation of human desire, and you’re going to have people like you who are creating the vessels in which to sort of collect that human desire. But that means that advertising has just been between 1% and 2% of GDP, so let’s say that holds. AE: Oh, it’s going up more. It has gone up with digital, yeah, it’s up to between 2% and 3% now, but historically, it’s been between 1% and 2%. AE: I think it’s going to above that. I think it will too. So this is the conservative estimate. Amazon advertising is impaired, and Google advertising is impaired, because there’s no more human in the loop, that advertising is going to flow to surfaces that are not impacted by AI. AE: Facebook. AE: I couldn’t think, after that conversation you had with Patrick, if there’s another group out there, and maybe it’s X? Because I think Elon’s going to do that, right? But I didn’t think of another one, another kind of digital player that could do that, except maybe Microsoft inside LinkedIn. Which, by the way, is doing very well. AE: Very well. Because actually that is a digital personal because people are involved. I think social networks are only going to get more valuable over time, not less. AE: I agree. If anything, we’re almost at the nadir of social network value. AE: So name the social networks in the United States. Facebook. Instagram. X. And I said LinkedIn. Did I miss one? No, I don’t think so. So that’s the brilliant thing about Muse, it’s not only this phenomenal opportunity, it’s also a direct heat missile at Meta’s competitors, to the extent it lands, and that money’s going to flow back into Meta. AE: And I think it actually — depending on what [Amazon CEO] Andy [Jassy] does, who’s very smart, he’s got to make a deal. Over time, he’s got to figure out that $60 billion, which is one of the biggest problems. Here’s one thing that’s interesting, and I’m curious what you’re thinking about it. So in the long run, of course, AI is very highly deflationary but I think there’s an aspect that it is short-to-medium-term inflationary , in that ads are a subsidy to the people who are not impacted by the ads. Stuff is cheaper, Amazon is a good example — the prices Amazon charges are definitionally less than they would be absent advertising. And we know this because their advertising revenue is more than their e-commerce revenue — or their profit, I should say. AE: And the advertising does subsidize all that. That’s right. So if the advertising goes away and they have to charge more, that is actually inflationary to a certain extent, because prices have to go up. And I think you’re going to see this — like, for example, what’s a very easy Muse use case? Find these subscriptions that are lingering, what subscriptions do I have that I should cancel? There’s a lot of advertising businesses that are supported by people forgetting to cancel their subscription. AE: This is the same argument I’ve been making with people. The cable business — ESPN was elevated not because so many people were watching it, there was that select group of people that had to have it, and then they could get up to $10 for it. And everyone paid it. AE: And once that broke with Netflix, etc., it just went away. The cable operators and cable were broken, it just fell to the ground. Yep, and you have to pay directly for sports, so sports fans were the biggest welfare recipients in history throughout the entire cable era. AE: And now they’re going to pay for it, but advertisers are going to pay premiums for it, because it’s a very high-end group of people that they want, on whatever platform they have. All the video advertising, streaming advertising — particularly to your point, if they actually finally do it right. And which, by the way, Amazon is probably the furthest ahead there, generally speaking. AE: I think [Skydance CEO] David Ellison will catch up. He hired the right CTO out of Facebook , and he’s going to build a pretty good model. The one place — would you define YouTube as a social network? It’s in between, right? What is a social network? So is Instagram even a social network anymore? It is, to an extent. But the big shift, and the reason why TikTok sort of blindsided Meta , is TikTok is classified as a social network, but it’s not a social network at all, it’s a user-generated content network. AE: Well, so is Reels. That’s right, and Reels is a direct response to realizing, “Holy cow, we missed it”. AE: And the issue is that, unlike Threads, Reels works. There’s this famous Paul Krugman article that’s saying the Internet is not going to have any more economic impact than a fax machine . AE: He said that? Yeah. Maybe it was a long time ago, I wrote about 2014, he must have said it in the late ’90s, early 2000s or something. And the reason is because most people don’t have anything interesting to say and the funny thing is he was actually half right and you saw this with what happened to Facebook. As long as your content was limited to people you knew, it was fun. AE: Everybody cared! They came to not care, because what happened was TikTok realized, if you’re limiting what people see to only the people you know, they’re not seeing the best stuff. What the TikTok algorithm does is it basically finds the best content across the entire service, and feeds it to you, such that it’s the best content in the world — even though the percentage of good content to bad content is hilariously small. The vast majority of content sucks, but the absolute value of good content is very large, because the total amount of content is so great, even if you get a very small number on a massive denominator. And so they’re like, “We’ll just show you the best content”. AE: And that’s what their algorithm did, they could figure that out. That’s right, and that was Meta’s blind spot, because they killed Snapchat by leveraging their network. You already had friends — you could see a story on Instagram, and it was instantly useful to you, because you were already following people on Instagram. AE: But why — I want to ask you a question, and this brings up Snapchat. Why hasn’t he [Snap CEO Evan Spiegel], as opposed to doing glasses, figured out he is one of the last social networks? And it’s still good. He’s got a billion users. (laughing) There’s a lot of good questions that can be asked about Evan Spiegel ‘s corporate governance, most of which are not very flattering . AE: I mean, he is one of the last social networks, we’re talking about social networks — he’s one of the last ones, and he actually still has a great user base. He does, and it’s still young. AE: Very young, and they use it to talk to people. The engagement is off the charts. If you use it, you use it all the time. AE: And if he did it right with AI, as opposed to the glasses I mean, this is the eternal Snapchat question. That’s why they are still such a lure to investors, despite the fact they pay out gazillions in stock-based compensation , they never seem to really make money, blindsided by Apple a few years ago , and all these sorts of things, is because it’s so clearly a tremendously valuable asset. AE: And completely utilized by a generation. Yeah, absolutely. So, yes, Snapchat is always a question. AE: So now let’s get to the advertising piece on live. Because my opinion is the following, let’s just say you were right, 1% or 2%. By the way, this is a perfect framing for this interview, where you just sort of took it over. I think we’re actually conveying, at a meta level, the experience — the Ari Emanuel experience. So anyway, continue. AE: (laughing) Well, it’s kind of the experience, I’ve been reading your newsletter, and I just call you out of the blue, and we start talking. Well, your book is Roll the Calls. AE: You got one of them! I rolled you! You did. It kind of made me scared for this interview when I was actually reading the book, I’m like, “do you actually stop for an hour and not talk on the phone?”. AE: Yeah, because it’s an interesting conversation, I’m going to learn something. I did remember the first time you called me. AE: You were in Asia, weren’t you? No, I was in Seattle the first time you called me, but I was still living in Asia. And the second time I was in Asia, I missed your call in the middle of the night. But what was striking is your assistant emailed me, I found the email asking for my phone number which says, “Ari wants to call you”. I replied, and I think my phone rang within 30 seconds, which was stunning to me. AE: (laughing) Were you sleeping, and you had woken up and got there? No, it was Microsoft Build, it was in May, so I was there. I think I was going to interview [Microsoft CEO] Satya [Nadella] . I was in the lounge at the Hyatt downtown getting breakfast. AE: Oh, wow. I don’t remember what the conversation was about. It was some Article I wrote, I don’t remember what it was. AE: I didn’t understand it completely, and I wanted some answers. Do you still talk on the phone as much as you did back in the ’80s? AE: Oh my god, yeah. I don’t like this whole thing. Ron Meyer once said to me, we were talking about this — and he still reads papers, and I read papers online — and he said, “You know, if texting existed before telephones did, and then all of a sudden telephones came out, people would be calling people as opposed to texting”, because the reverse happened, texting’s cool, and people just do that. So yeah, I’d rather have a conversation. The bandwidth is just higher. AE: Especially for me — one, being dyslexic. Two, the misinterpretation, potentially. Larry David can write funny texting, I can’t do that. Well, I think what’s interesting is, I mean, a lot of the book is — and you talk about this — just sort of your not giving up, I think, is a generous way to put it. Asking a million times, you mentioned the dyslexic angle, not being embarrassed, people can keep saying no — it doesn’t bother you. But I think there’s an aspect of that relentlessness combined with, in a phone call, because it’s so much higher bandwidth, you get the shape of the problem or the shape of the person much more clearly and so that pressure you’re putting on is also much more finely targeted. AE: When I get on a phone call, like I just hung up with Marc Andreessen about something, and I didn’t understand something he was asking me, I was asking him a question. I just want the answer to that one thing. I’m not sitting here — it could be 14 calls, because I might have multiple calls, but in each situation I don’t have a long conversation. I just don’t understand something, I want an answer, I’m going to the people that I think have an answer. That answer, for whatever my life is going on, answers some question that I want answered, to kind of continue a conversation or understand something so I can think about what we’re doing, how we’re thinking about this. This is one of the reasons I wanted to do this — because one, I love your newsletter, I read it, as you know, consistently, but I was wondering, AI, live — your point of view on it. I have a point of view — one, that people are going to have more free time, they’re going to come to it. But also, I think there’s going to be the ability to put it on social and I think advertising in arena is going to go pretty high, because you’re concentrated and I think that’s true for both TKO and I think that time that people have now is going to be so much more precious, they’re going to have more money — we can talk about that — and it’s just like where the world’s going. So is it “Mari”? Is that how you say it? AE: Do you know how that name came about? AE: I have a Monday morning weekly call with all the executives at TKO — WWE, UFC, everybody — and we were going over, I don’t know, an advertising issue or a site fee issue and the executive goes, “Mari!”, I go, because Mark Shapiro was talking — I go, “What did you just say?”. Oh, it was Mark and Ari. AE: I lost my shit on him, it was hysterical, then I had shirts made with “Mari” — Mark and my face combined, it was really funny, so that’s how it came. You mentioned, as far as the thesis, people are going to have more free time, live events are going to become more valuable. AE: And what were you just saying about your point of view about people’s time and events? You were just talking about. I agree. And I think there’s a second layer, which is I can relate to — you just have a question, you want to get answered. You came up in like the age of the world talking on the phone so of course you’re going to call someone to get the answer. AE: Or somebody that I think has thought about it maybe differently than me, that I could — would make me change an opinion or add to my opinion. Right. Well, but in the ’80s, you’re an agent, you needed to know everything that was going on and that was the original purpose of rolling the calls. So I obviously am younger than you. AE: It’s not obvious that you’re younger. (laughing) I know, you do look great. These are your barbells and your famous walking treadmill . So Google came out when I was in college, it was unbelievable, it was so much better than everything else. But even before then, you go back to me being a kid, and like having the encyclopedia at home, or having the dictionary. Every time you encounter a new word, go look it up, every time you encounter a concept, look it up. This aspect of just always, if anything comes up that I don’t know, “Get the answer!”. AI obviously takes this to the extreme — do you ever ask AI for any of your questions? AE: All the time. I was having this conversation — maybe this is way too political. I just didn’t understand why people, both on the far left and the far right, were using the phrase “genocide” as it relates to Israel and I said, “How the F did that work?”, there was that book about how words were created, I forgot the name of the book, long time ago I read it. So I used Grok, and it said, “This guy, 1944, a lawyer , family went through the Holocaust, etc”, and I’m like, they’re trying to take a word that was created because of a genocide, by a Jew, and make it their own — the whole thing blew me away, we all constantly use it. But that’s a great topic where it’s like, are you going to have like an unloaded conversation about that? AE: Every time I ask somebody, “Do you know where that came from?”, I just did it with Bill Maher — nobody knows. This guy in 1944 was adopted by the UN in ’48, and they defined the term in two different — a Latin word and a Greek word, and it was crazy. There’s this aspect though, when you can ask AI anything — tech is really fundamentally atomizing as it is , you all have your individual feed, I could be sitting here on TikTok, you’d be on TikTok, we’re watching totally different things, even though we’re sitting next to each other. Although our TikToks would probably be relatively somewhat similar. AE: You’re looking at golf videos? I go through phases. AE: (laughing) I go golf and surfing videos. Yeah, we’re getting into skiing season, all very aspirational. Not reflected in real life at all, at least for me. But one area where we still would talk to people all the time is asking for help or asking questions, “How do I do this?”, “I’m trying to figure this out”. And one of the amazing unlocks for AI is you can do anything. My assistant was just here and, like, he’s creating all these AI apps, and he didn’t know what GitHub was. He had to do all these sorts of things, but it’s fine — he could just take screenshots, and the AI would walk him through it. So on one hand, that’s phenomenal, that’s amazing, anyone can do anything if they have volition. On the other hand, in one fell swoop, we eliminated an entire vector of human contact. AE: No question. I now no longer — if you really want to get to it — except for how to train, you can put videos of your golf swing into the AI and say— I have a friend that does this ! AE: “How does Mac O’Grady think about P2 and P3 and P5?”, and it shows you exactly. Yep, and he’s like, “My golf game has progressed more in the last three months because of that”. AE: A hundred percent. But the point of that is, I think this fundamental desire for human connection is going— AE: Going to skyrocket. That’s right. And so that’s the benefit of actual social media, not just UGC social media, but actual people that you know. It’s to the benefit of live and live events. AE: But don’t you think AI is going to help user-generated? It’s going to unlock more creativity? They’re going to be able to do more because of it, and create more interesting user — with a little bit of AI in it? And I don’t think that is going to be detrimental to interaction. Oh, I’m not saying UGC is going away, this is an “and”. AE: I agree with you. One thing that has come up in reading your book and thinking of your history, very sort of clear, you came up big in TV when it wasn’t super popular. AE: You know why? Because the scripts were short. AE: 39 pages. See, I actually read the book. AE: It was so fucking great when I saw that I stopped sweating when people used to give me 120, 140-page feature scripts. I used to, when I got them at CAA, I used to go to Warner Brothers, and I would have the person that was doing coverage get me the coverage. So if there was a modern screen-reading software where the AI could just read it to you, would you have been a movie guy? AE: Oh my god, I do it now. I read a bunch of scripts, but one of the great softwares, I use Speechify — it’s incredible how it reads the script to me, and I can get them done now, understand them all in an hour. It’s fantastic. But then you see streaming coming, that’s sort of a big shift and I think sort of being attuned to technological changes and their inevitability. I actually have a question about that, I want to ask about the streaming shift specifically. But where do you see AI then in terms of entertainment? AE: I think it’s going to be an incredible unlock for creativity. There’s going to be some disintermediation for people inside the system that now exist because you can imagine, very soon, you’re just shooting — either it’s a green screen or light stage — you get the shot, you put it into the AI, say, “I now want this”, or you do the makeup once, and then the guy or the woman never has to put on makeup. There’s going to be some difficult conversations. But for the likes of great filmmakers like Baz Luhrmann or Alejandro , I think it’s only going to be one of the great creative unlocks of all time, and David Ellison talks about it, a lot of people talk about it. And I think the cost of production is going to come down in a good way. That means there’s going to be more content and I think there’s going to be more time for the consumer, and therefore a lot more content being made because David Ellison’s going to pay $30, I think Netflix is starting to pay more, Disney, Amazon, that’s only a good thing. There’s going to be more content being made, more creative, I think you’re going to find also a lot more creative people that we’re not thinking about now that are going to use AI to create an incredible storyline. But isn’t this ultimately a YouTube bull case ? Why is that good for Hollywood? AE: No, I still think you need a Ben Affleck , a Marty Scorsese , a Baz Luhrmann — you need real, you know, Jim Brooks , Larry David — you need great creative to make great product. I don’t think it is like, “Oh, anybody can make a great movie, a great TV show”, I don’t think the AI is going to step into that breach, I do not believe that. Is it going to be, though, much more — you’re going to find the next great creators because they did get started on their own? AE: No, no, no. I think, first of all, if you are a creator — whether it be a writer, director, actor, whatever — this town finds you. Has that changed? How has that changed in the last 40 years? AE: It hasn’t. An agent’s going to find you, whether that be on YouTube or wherever, they’re going to find you and they’re going to help you and the great thing about being an agent is there’s constant conflict — budget, actor, distribution, storylines. Our job is to, one, get the best economics for you, find you the money. It’s going to be easier, because I think it’s going to be less money and then make sure the distribution, the marketing, and all that works properly. There’s going to be other ways to distribute it, that maybe you can create models that, depending on the economics, you can use the system on social, YouTube, etc., but the job of an agent to find those people — one, that are creatively incredible, and to match them and resolve the conflicts that occur — that is a skill set that I don’t think is going away anytime soon. Is Hollywood agents? Because I just asked about Hollywood, and you just gave me the bull case for agents, are they one and the same thing? AE: Well, you need us to make sure that whole assembly line of when products get made, to happen and sometimes it happens at the high end, which is a Warner, a Netflix, an Amazon, a Disney, and sometimes it happens at a smaller scale, and then you have to navigate how to get bigger people with better economics to buy it and that’s the job of an agent. One way to think about your career is you’re an agent, you’re hustling, start your own firm, firm needs to get bigger, you have two transformative deals — William Morris and then IMG . But then there’s the, “What? They just bought what? UFC?” AE: Well, what we did was, you know, this was Egon Durban and myself and when we were just William Morris, I was running around all over the world trying to raise money, as Teddy [ Theodore Forstmann ] got sick. In IMG, back in the day, I went to see Eike Batista in Brazil, who was at the time at $30 billion, one of the fifth richest men in the world, I saw Martin Sorrell when he was running WPP, Khaldoon [Al Mubarak] in Abu Dhabi, just to, “Okay, I think I’m going to need this amount of money”, and then I had been in business, you know, been talking through Raine , Marc Andreessen and Egon Durban. And Egon and I — when he had Skype, and then he had sold it, he wanted to put content on Skype, he had thought about that way before anybody was thinking about that. I think that was 2009 or ’10, so we had been talking about how to do that, he wanted Raine to invest. And he saw the world early, before anybody in PE had seen it, where it was going with content and distribution and that and when we had built the company, we were global, we had live events, we had sports production, sports distribution — we had negotiated all these deals on sports and movie and television rights. And we said, “We should now own something”, so we just had this combination where, when we represent something, we realized, “Oh, they’re losing value, and we could change it, then we could buy it”, we had the licensing business, all these things, we had sponsorship, if you put something on that you owned, you could really reap the benefits, and you do all the things anyway — you’re just collecting 10% and that was a conversation we had. The first one actually was PBR , and we made that work. And then Lorenzo and Frank Fertitta decided to sell and our nervousness was it was on Fox, the deal I had made — they could have stepped in easily, and then Jeff Bewkes at Warner wanted it, or his team wanted it. Jeff was trying to downsize, to sell it, and so he didn’t want to do it and that just left us against the Chinese, who was the other bidder. And Dana [White] didn’t want to go with them — he wanted to come, I’d known him for 20-plus years, and it was an easy transition. You just articulated it, because you moved from this somewhat unstable, like, why did you have to get big, people could leave you with clients, or agents could take their clients with them, into this much more stable owning IP. AE: Owning an asset. Owning an asset. But is there an aspect where, with AI, as it becomes more and more pervasive, as it creates more and more options in terms of content, that actually being an agent is going to be a better place to be precisely because of that human component that made it feel so unstable? AE: Yeah, I mean, I think there’s going to be an incredible place for being an agent. Incredible. Across everything we just talked about, sports. You’ve articulated — which I completely agree with — the extent to which AI supercharges particularly exceptional individuals . Presumably, those super-exceptional individuals would benefit from having an agent, I think that would be your take. AE: If they’re as creative as those super-exceptional people on the business side of their life in the entertainment business — creative as it relates to getting financing, structuring the deals, resolving conflict, marketing, bringing them new IP that they’re not thinking about — I think there’s going to be incredible value. Should people in technology have agents? If you have this sort of idea that — Keith Rabois has had this analogy of barrels versus bullets that companies only have a limited number of barrels, and a company’s capacity is constrained by how many barrels they have. And that most people are bullets — they are pointed and directed by the barrel, as it were. AE: You know, Mike Milken said to me once — he thought teachers one day would have agents. They’re probably doing the lecture business, and probably in the book business because he said universities are really going to be vying for the top. Well, you have this situation now. People are getting paid, AI researchers are getting millions of dollars. AE: And I guess you could say that’s an extension of what Mike said probably about nine years ago, ten years ago. I don’t see the value, personally, that I could bring but I’d probably — with probably some VCs, that probably could happen. Is the VC model even going to make sense, if actually it’s just going to be a world like the superstar world of Hollywood, actually going to be the model for lots of other industries? AE: And I have a really good relationship — I think Mark thinks that VCs are going to exist. Well, I mean, he’s very invested in making sure that’s the case. AE: (laughing) Do you think it is? It’s already changed tremendously. And one way that it’s changed is the first — I think — massive change was AWS , where you used to have to, your initial raising of money was literally just to buy the equipment, so you could actually express the idea and you had a shift to you could actually just build the idea, and then you could rent off of that, and as that’s progressed, right now, a lot of VC money is really just about distribution. On the consumer side, that could literally just be buying ads on the — but more traditionally, with like SaaS, it’s like sales teams, all these things. To the extent that’s the case, then it probably still has a role, because distribution is the hard thing, you’re going to have to pay for distribution. And so we’re basically — we’re already there. AE: They are actually agents, but for companies. And so I think actually the shift in VC already happened. AE: They’re the agents, they’re just not for the individual AI guys, but for companies. It’s also just a particular form of capital, the bigger threat question for VC is, “How many companies are there?”. If the models eat everything, that’s a problem, if the models end up being this commoditized layer on which you can build lots of companies and services, then it’s going to be a greater and greater. AE: Do you think software completely goes away? I just had Ryan Smith on the phone, you know, his firm, and he’s in the software business, and he’s saying they don’t go away. Definitely in his interest, he’s got to defend his. No, but I think the pricing pressure is going to be pretty severe. AE: And they bought at the high, all these guys. The credible alternative is rolling your own and it’s not just that rolling your own is going to be viable, but it’s going to arguably be desirable, because you can build the exact solution that you want. Now, the reality is, building software is fine, maintaining it is hard. I think a strength of American business generally is an overall allergy to doing stuff that’s not your differentiator. AE: I agree. I see this in us. I remember I went to Europe a couple years ago, and suddenly I realized why one of the reasons they’re so bananas about this data protection stuff is because, everywhere you go in Europe, they all have their own customized software that is asking for way too much information. Like, I’m going to a museum, you don’t need to know how many children I have with food allergies. Whereas everyone in the U.S. is like, “Oh, we’re not going to do that, we’re going to just sort of buy off the shelf from someone else”. AE: Because they have so many regs. I don’t know what it is. It’s crazy how many regs they have. It’s nuts. But this is sort of like a life philosophy thing I have, which is you will always benefit from doubling down your strengths, as opposed to trying to ameliorate your weaknesses — or fix your weaknesses. You paper over them to the extent that it’s possible, you can double down your strengths. And I think that U.S. business in general does a very good job of that and that is actually the optimistic case for software. AE: That is the engine of U.S. capitalism. Right. The U.S. tolerates more downside in exchange for more upside and that’s like an articulation of that. So given that, even though people could write their own software, it’s probably not going to be that smart to actually do it but there will be some cases where it just works so much better. I think the bigger problem for the software companies, at least in the short to medium term, is vastly increased competition for their customers. AE: Well, there’s going to be people that are going to do it. And then all of a sudden, one’s going to be incredible, because they’ve written this incredible software that competes with an existing — and then there’s going to be new competition, pricing pressure. If you had your lane and everyone had their lane, if AI actually supercharges productivity for every company, they’re going to want to expand horizontally , which means there’s going to be a lot more competition in other software companies. Which again is going to compete down margins. I think a lot of margin pressure, I think there will still be a software market. AE: A lot of these PE firms that invested at the high end are going to get crushed. Oh yeah. Yeah, like if you had money in, in 2021 or so. AE: Now, here’s the other question I have for you, what inning are we in on AI? It depends on what framework you’re looking at. AE: I’m just asking you, your framework right now. Very early. There’s a sequence of games, if you want to use the inning metaphor. By the way, I’m glad I’m in L.A. and know that you are not a Dodgers fan. AE: I’m a Cubs fan. I know. I’m a Brewers fan. I don’t like the Cubs either AE: You don’t like the Cubs? Yeah well, you’ve killed us. So shut up. (laughing) Back to innings. The game right now is the devouring of everything digital. And that is going to play out for a while. Any company that is digital is threatened. They have opportunities, but they’re also very threatened. There’s, I think, the next game is going into the physical world. AE: What do you mean by that? Robots. Like actual, like manifesting into — and I think that game is a lot further away than people think . AE: Because, let me just tell you something. I went up and I saw the hand that Elon’s building, which is incredible. It’s still difficult, very difficult to manufacture, very difficult to train. Chinese are not doing it any better. It’s hard. No, especially when it comes to fine motor movements. Really, really hard. AE: Yeah, it’s really, really hard. Will they get it? I think they’ll get it. I don’t know if it’s in two years. Not just that, but once you’re in the physical world — I mean, you can already see companies struggling with inference having marginal cost, when they’re used to compute basically being treated as free. Now, if you think about costs, it sort of throws a wrench in things. When you’re dealing with actual physical robots that will break down, and maintenance, and all these sorts of things, the cost structures are just totally foreign as well. So I think that’s quite a ways away. AE: Well, I say to everybody, Elon was talking about copilot or self-driving 12 years ago, 8 years ago, something like that. It’s now incredible, the car, even though he said probably a lot sooner, it’s now incredible. This is the Elon experience in a nutshell — what he says, the timing’s not always right. But what he says is right. AE: It’s going to happen. I just think the timing is a lot — you know, is it a decade? Is it five years? We’re a little bit off. But is that coming? And when that comes, it’s going to be an incredible — GDP is going to go crazy. Right. Well, but I think you can see even in the digital area, where everything in digital is threatened right now — and yet, not that much has changed, even though the AI’s capabilities are very high, because change takes time and one of my theses about SaaS companies, to sort of go back, is SaaS is actually a demographic story . AE: SaaS is a demographic story? That’s right. AE: What the fuck do you mean by that? So of course, you had to have the technology for SaaS to be possible — ubiquitous broadband, browsers with sort of capabilities to do web apps. But you also needed a generation entering the workforce that was used to clicking around on web pages to do stuff and that wasn’t a foreign concept. AE: Yeah, and that took a little bit of time. It took a new generation. And where, of course, “There’s a web app to do this sort of thing”, is the default assumption. You go back to the ’80s. AE: What was the first SaaS company? Depends how you define it, but I would say Microsoft, in that they really pioneered subscription pricing, it took a while to actually get there, that’s a business model question. I think from startups, I think Box is one of them that was very early. Poor Aaron Levie , he just got killed on his — he had such a vision for SaaS, but it was so early, it was so hard for him to raise money, that by the time he finally got that company to market, he barely owns a tiny slice of it even though he sort of helped write— AE: He’s really smart. Their prospectus is actually really interesting, they went out the first time, and total rejection by the market so they withdrew their S-1 and I actually talked to him about this at the time. And what came up with for the second S-1 was cohort analysis. This idea that — you need to not look at the company as a whole, because it’s going to be unprofitable, you look at a cohort, and it grows in profitability over time. And once you see that, you realize you actually want your SaaS company to be losing money, because the way monetization works, the more money you’re losing, the more your upside is actually increasing. Which ended up being — that was every S-1 that came after that had a cohort analysis in it. AE: That’s a little history. Yeah, a little history. But you go back to the ’80s, you had people bringing PCs to work — like toy PCs, like Commodores or Apple IIs, or even Apple I before that and that’s how the whole IBM/Windows story happens. IT administrators are like, “We want them to buy IBM, can you please make something for them?”. But even then, people were using it as a glorified typewriter. There’s just the generational component of — how are most people using AI today? As glorified search. That is the analogy to the glorified typewriter. AE: A little bit of topspin on it, it will take a generation. I mean, my wife now — she’s designing, for her fashion line, almost everything, then giving it to designers, designers are tweaking it, it’s going back and forth, that will just become like one more iteration, “It is what it is”. But at the top end, you still need the high-end designer to make sure the tweaks are human. The problem is the AI is sort of — it’s a probability distribution, you’re sort of definitionally getting middlebrow. AE: You’re getting — what did George Gilder say? You’re getting the greatest average. Right. But the other thing with AI is, if you just ask a general question, that’s what you get. This is part of my pushback on a lot of the safety stuff — AI is still a responsive entity, it responds to a prompt. AE: As I like to say, it’s like watching television, you’re still leaning back. The thing is, the AI will give you what you put in. And so if you talk to the AI about an agent-related question, the quality of analysis that you would get out of the AI would probably blow you away, this is really, really good. If I ask the AI an agent question, it’s going to be the most Wikipedia-esque, basic thing. I’ve talked about this, there was a friend — there was some court case that happened, I think it was something App Store related, it was relatively early on. I’m like, “It was unbelievable how good the AI analysis was”, because I was going back and forth with it, and he’s like, “Oh really? I wasn’t impressed at all”, and I looked — he had asked the AI, “What do I think about this case?”, and it was the most generic answer, it’s such a general question. Whereas I already had an angle on it, because I knew a lot about the area. But I also asked a very specific legal question about it, and then it was like very in-depth. AE: That’s why I think there’s going to be an incredible creative unlock in our business. When Baz Luhrmann is inputting what he wants as a scene, as a shot, etc., and he’s giving it exactly what you’re saying — what he needs — or Ben Affleck, or Pete Berg , or whatever — the conversation is completely different from you doing it. Right — I have no idea what to ask for. AE: Yeah, and I just think there is that 5% that I do not think the AI, because it’s the greatest average, is going to be able to kind of take the next step. I don’t believe it gets past that point. I still think the human condition is needed, and that’s where the greatest value comes from. Right. Also, for stuff that is sort of net new, and taste — taste is not a verifiable function. AE: It’s the black box. That’s right. So one thing that was interesting, you mentioned the politics angle before, I want to ask you another question about your phone call thing. You mentioned you called one of your most famous people you represented — who was obviously Donald Trump, who you fired in 2016. AE: I didn’t fire him! The President shouldn’t be making money. I can’t make money, it’s okay. You related a phone call that you had in 2024, after he was reelected, and I love the anecdote, it was just like a very sort of back-and-forth conversation. Is he the one person in the world who likes to talk on the phone more than you? AE: He likes to talk on the phone, he always picks up, he’s incredible on the phone. He’ll pick up, talk to you about anything, and you can say anything you want to him. Tell him your point of view on it, he’ll push back or not, he’ll take it in, he’ll say what things are that are on his mind, and you can push, have a conversation, and then he’s off the phone. Right. Well, because you mentioned this in the context of, obviously, Dana White spoke at the Republican Convention, Elon Musk was part of the administration, you’re close to both for obvious reasons. And you said in the book, like, “Yeah, I lost the election, but I’m not going to not be friends with half the world”. AE: Yeah, I’m not going to not talk to you. I completely agree with, I think that’s a great sentiment. How much of that is actually intertwined with you being the phone guy? Like, how much of the feeling, like, “I can’t even relate to or connect to people on the other side”, is because people are living in text? AE: I don’t think you can get a sense of a person unless you’re either Zooming or FaceTiming with them, or talking to them. I said it at the beginning — I don’t know if you’re joking or being serious on a text, it’s just too hard, I’m not that sophisticated, and it gets completely misinterpreted. If I pick up the phone, you can say whatever you want to me, you can be aggressive, not aggressive, I can be aggressive, not aggressive. You know exactly who you’re talking to. Or you FaceTime, or you’re doing a Zoom — that’s human interaction. I mean, it’s a little bit distant if it’s a Zoom or a FaceTime, but it’s, you know, during COVID we had to do that but that’s how people can truly understand people and get across their opinion. A lot of times with Elon, I’m texting. But you have a foundation of talking to him in person. AE: A long time. But at least there’s a conversation happening, and you believe it’s familial — that you’re humans and you’re talking. Right, it gives the benefit of the doubt. To the extent that AI comes along and wipes out digital, because everything digital is under threat, and AI is actually going to do everything digital better — things like MARI are more interesting and compelling. Not just because there’s more free time. AE: I think the multiples on MARI are — not that they go up like AI, but are on the same path. I hate that people have framed it as the anti-AI bet. It’s a pro-AI bet, you guys are going to consume all this other stuff. AE: When I say — I’ve said the phrase “anti,” meaning the opposite bet of AI. It’s like the bizarro-AI bet. Yeah. AE: Yeah, it’s like — what’s going to happen in the world? Well, this is going to have to happen, because we’re human, we’re social animals, I think the multiples are going to go up. Not maybe in comparison, because it’s just the economics between them — but they’re going to go up in live. Are you going to actually solve political polarization? Because digital — how much is that actually a driver of this? And people are going to get back to the real world, talking to people. AE: Here’s my opinion about it. I think when you have live events, or live sports, or live music like Michael Rapino , it brings people from all social elements together. I mean, one of the things my brother Rahm Emanuel is saying — he wants to bring back a requirement that people do service for the country — because it’s the way it used to be, where somebody from X neighborhood and somebody from Y neighborhood that would have never interfaced, do service to the country for 18 months and that we all kind of understand each other. When I go to a baseball game — I was at a baseball game, sitting watching the Cubs win — there was a guy next to me, he’s definitely a Republican. It was obviously not a Brewers game, because the Cubs won. AE: No, it wasn’t a Brewers game. We didn’t care that he was Republican and I was Democrat. We were just cheering for them, and it kind of broke all barriers and that’s hopefully the two businesses that I’m in heavily. That’s the great thing about it. For sure and that’s very optimistic. I guess the question, though, is if you think about the MARI business model, and you go to like the Miami Open or something like that — is there also an underlying thesis that actually the rich are just very under-monetized? AE: I think high-end experiences are only getting better, because there’s a great deal of rich people that want singular experiences. But we create environments for all. And, you know, there’s inside the tennis tournament, there’s XYZ, and outside there’s another 10,000 people watching it on all the screens. And Larry Ellison and David Ellison do it, and their event — we do it in Madrid also — where anybody can come and have an experience so I think we’re trying to optimize for all. And what overall — is there a thesis with MARI that you can sort of systematize this delivery of live experiences, and do that at scale? AE: So we have it broken down. There’s the sports vertical, which is our tennis tournaments, our participatory sports. We have our collectible business, which is Frieze , Barrett-Jackson , Collect-A-Con, which is our Pokémon experience. Then we have, like, a holiday — Winter Wonderland, our food festivals — all the stuff in that. And then we just executed against the theater business. So the West End and Broadway — we have 70 theaters in this company called ATG. We think that is a kind of incredible — there hasn’t been one person on the live event side that exists. In the music space, it’s Live Nation and AEG. In live events, there are onesies and twosies, and so we’re trying to capture that. And what we do is, between taking things international when it’s a domestic thing — like Frieze, it was in London and New York. Now there’s two events in London, one in New York, now there’s two events in New York, one in Chicago, one in L.A., one in South Korea. And now we’re just — I think next month, we’re doing one in Abu Dhabi, and there’s other areas. We’re going to do the same thing with Collect-A-Con on the Pokémon business, you saw how we’ve expanded when we had UFC — performance institutes and our fights all over the globe now. Then we do unbelievable sponsorship, site fees now, that’s what we do, so we’ve kind of got it down to a system of how we monetize the assets. So what is next? Is it just acquiring more events, then, so you can plug into the system? AE: It’s really taking our events, like Frieze, and we’re looking at different art fairs all over the place. Barrett-Jackson — can we expand it internationally? Other car auction businesses we can get into? Are there other things like Collect-A-Con — that’s Pokémon, are there other ones that we could do? And so we just look at them. When ATG came available, it’s the perfect kind of vertical that we didn’t have, that we wanted to have. When you think about these events — but also do it like TKO and UFC and WWE — what do you think, from a business model perspective? Is it ticketing? Is it advertising? What’s the balance between those? AE: It first starts with broadcast globally. Then from broadcast, you’re the sponsorship. Then where you take the events internationally, can you get site fees? Then you’re adding — there’s a customer that wants really high end, and will pay for really high end. And then there’s the general public, making sure their experience is incredible. And so those four or five stacks are how we think about the business, to maximize economics. How does that align with the way you think about UFC and WWE? AE: Those are all the things that it started. This concept started with the UFC and then we brought our sponsorship business, our site fee business to the WWE, our premium ticketing business, our ability — Mark Shapiro and myself — to make sure our broadcast deals, domestically, internationally, all of that. For those broadcast rights business — are those, in the long run, going to be about driving subscribers or driving ads? AE: I think for each company it’s different, but they’re all moving to an SVOD and AVOD service. One of the things that we saw early on at the UFC, we knew that they were going to have to get to an AVOD — from a SaaS model to an advertising-based model and one of the greatest drivers there is sports, because it’s the greatest reality show. The Monday Night game — you don’t know what’s going to happen. Overtime, you think the Rams are going to win, the Bills won, and it’s the greatest model. It’s the same thing with our sports so it’s one of the great drivers and you now have four big competitors. Do you have any concern about ending up in sort of monopsony situation where there’s not enough buyers? AE: No. They’re all going to need it. And there’s going to be a bunch of them? AE: You’re now going to see what happens with Comcast and Apple. You have YouTube out there, I think all these models are going to change. One of the fastest things growing for David Ellison at Skydance is Pluto . Right. Fox put together Roku and Tubi , which I thought was a great deal. AE: So you’re going to have a lot of bidders. The one thing that’s great — and I think about this all the time — if the Lakers are $12.5 billion. Fantastic. Love the franchise. Good story in your book about buying tickets. AE: That’s a team. And that’s not the league. If a team is worth that, what are my four leagues worth? Because we have boxing, WWE. Is that part of the allure of the UFC and WWE — you kind of get the whole thing? AE: Yeah, running a league is different than running a team, they’re both very difficult to do. You know, they both have their personnel issues and management issues and etc. But, you know, Mark and I — The difficulty is the moat. AE: Mark and I run leagues. Those are hard things to do, as opposed to just a team. You’re thinking about different things, and if a team is worth that — what are the four leagues worth? I have a different conversation than the stock market is telling us right at this moment. Is the sporting asset, given your whole model, that you are the most jealous of, Formula One ? AE: No! I think it’s an incredible sport. Just all the things you’re talking about — the combination of the in-person events plus the rights, and all those sorts of things. AE: I mean, think about it. First of all, I love golf, I love snooker. I mean, there’s a lot of sports that I love, that doesn’t mean that I want to be in business with them, or run them. Is there a world — just to go back historically a little bit — where you see streaming coming, and streaming shows up, and it’s actually this big boom, because it’s an extra window? AE: At the time, remember, you had network syndication, so on the RSNs, you then had a cable window, it was incredible. And then all of a sudden Netflix came, you had a third window. And is there a world where that actually persists? AE: Well, I don’t think the syndication model — first of all, most shows are happening on streaming. You don’t get to 100 episodes, which was required. But the reason they’re happening on streaming is because everyone decided they need to compete with Netflix. Instead, there’s a world where everyone accepts Netflix as the permanent third window, and actually makes more money all along instead of shooting themselves in the foot . AE: That’s a logical conversation. But let me say the other side of this conversation. Do I think the network business goes to zero in cable? No, I don’t. So there is going to be a play. Remember, the original — when I was in the business, you needed to get to 100 episodes to get into syndication, now you’re doing 40 episodes. That’s a lot these days. AE: That’s like four seasons. So what’s the syndication window to that? It’s different. And Netflix is owning them, HBO is owning them, you’re just negotiating for the profit participants. Is Hollywood logical? AE: Yeah. That’s the only way I know — that you’ve been able to create over 100 years of great entertainment on the global scale, one of our great exports in the United States. Don’t you think? Oh, for sure. Massive soft-power instrument. AE: And I think it’s probably on the export basis — I might be wrong about this — probably our fifth or sixth most important export economically. I write about media along with tech and Hollywood to a certain extent and my hit rate feels lower than it is, sort of, with just more tech companies and I hate the explanation that it’s because Hollywood acts more irrational. AE: Not on every individual movie or television show. Because what do they say — if you’re batting .300 in baseball, you’re in the Hall of Fame. Same thing in Hollywood. So that’s, you know, there’s 66% — right — you’re screwing up. Well, you mentioned David Ellison several times. Why is what he’s doing make sense? AE: He believes if you change the tech — he believes that there’s going to be more consumption, economics for creating products is going to come down, that he’s going to be able to create unbelievable value in the SaaS model, and also take this direct-to-consumer business with the ad-based model that he has now, and also create vertical content on-site that he can kind of capture greater value than it currently exists. He’s the only one that will own his cloud, own his tech, etc. Netflix has AWS, I think Disney’s trying to change its tech right now. Why do you need to own your own cloud? AE: Well, I think he thinks — I think by owning that data, he’s going to get more understanding of the consumer and etc. We’ll see, that’s his point of view. Can I ask you a question? Did you like the book? I did. I was plowing through — no one cares about my personal schedule, but it’s been very fraught, but I was listening to it while driving, and I discovered on the plane I could listen at 3.5x speed and read at the same time, and it was unbelievable, I’ve actually never done this before. AE: I do it all the time. Both at the same time. AE: I don’t look at the book. When I’m listening, I usually do a 3, 3.2x — you fly. But if you’re listening and reading, you enter such a zone. I was flying — I flew here this morning from Chicago to L.A., I was shocked when we were landing. But it helped. I thought the book was very entertaining, I enjoyed it. How much did you write versus— AE: You know, what we did is, when we started in 2016, [J.R. Moehringer] just kept on asking me questions. Then I answered all the questions. We met once a month, and every other week, every other month, and then he first met all my assistants. I was going to ask you, how many assistants have you had? AE: A lot. Some of them had kept journals, it was the craziest thing, then they met family members, friends and so he just compiled it, and then he and I went back as he was piecing it together. Then we were supposed to end when we first went public, but we didn’t go public, and then we just continued until it was 10 years. What would you add if the book had come out a year later? What’s missing from it? AE: I don’t know. The response has been kind of crazy from parents that have dyslexic kids, people that have dyslexia, people loving — like, re-understanding that being aggressive and rage, and taking agency for yourself, is a good thing, not a bad thing, because they’ve grown up in this place where you have to be delicate. It’s been crazy. So all in all, I’m completely happy to where it’s at right now. Yeah. The bit about you know, you frame it as rage, but really just agency — forcing resolution. AE: Yeah. I think that’s important to get to the end. I was having a conversation today about it. It’s like, why do I want to play this stupid game? Like — I know what you’re doing, you know that I know, let’s just have the conversation. You have to do this for this reason, I know that, just get to it already. I cannot stand this whole gray area. I can say I don’t like you, or I like you, and here’s what you did to me, and here’s how I feel about it, and go fuck yourself, and it’s ok. Isn’t that, like, very — particularly on the West Coast — West Coast always strikes me as much more indirect, passive-aggressive. AE: Oh you don’t think Wall Street or Silicon Valley is indirect? No, Silicon Valley is. I think Wall Street’s much more direct. AE: Oh you do? I was thinking about the East Coast versus West Coast, you’re from Chicago. AE: We’re pretty direct in Chicago. Yeah. Is that the real secret? AE: Maybe. I mean, it’s the only way I know how to do it, maybe that’s because I grew up with my mom and dad, and that’s what we did at our dinner table. Well, thank you. I’ll remind you — we’ll have an ending, since we didn’t have a beginning, but thank you for coming on to Stratechery. AE: (lauging) I appreciate it. 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
Stratechery Yesterday

Apple HomeView, The New Apple TV, The App Story

The Apple Homeview is official, and the question is how big is the addressable market for expensive devices based on subpar AI.

0 views
baby steps Yesterday

What agents mean for Rust (and vice versa)

As someone who has made a career of programming language design, I definitely have moments of existential dread about the rise of LLMs. I started coding in 5th grade on an x86 1 that ran at 5MHz, had something like a 5MB hard-disk and 512K of RAM 2 . Computers were really, really different back then. But honestly, programming wasn’t. For all the advances in IDEs and programming languages and so forth, the basic act of entering code into a file has remained surprisingly constant 3 – right up until a few years ago, when everything kinda turned on its head. That’s been exciting and empowering at times 4 but also scary and disorienting. Will my skills in programming matter? What about my skills in programming language design (such as they are)? This blog post is my attempt to answer those questions. So as not to keep you in suspense, let me just give you the conclusion. In short, yes, I believe there will still be a role for humans in programming . And yes, I think that programming language design is still relevant . And, naturally, I also happen to think Rust is a really good fit for agentic development – but that’s not to say we can’t make it a better fit . And that’s what this post is ultimately about: what makes Rust and agentic development work well, and where we could double down on those strengths. This is a kind of “blog post companion version” of a talk I gave this week at REBASE, part of SPLASH . You might also enjoy the slides from the talk I gave at IWACO, IWACO and Rust: hidden links revealed , which was a bit more of a retrospective (no soundtrack for those, though). In any case, this turned out to be a great conference! Jack Huey presented on the Rust Vision Doc and, quite to my surprise, Steve Klabnik and Dorian Scheidt presented “LLMs as Collaborators in Language Specification and Design” , talking about their process in building out Rue . It was fun to see Steve again. On top of that, there was a ton of great research presented at IWACO in particular. I was particularly taken by the work on Reachability Types and Information Borrowing . I also really liked learning about Hylo Lang , particularly their approach to projections. Clever and cool. Rust is popular right now. Very popular: Stratospheric among the breakout languages is TypeScript, cropped from the chart and sitting currently at +1200% growth from the prior year. [..] The second most rapid recent growth is in Rust. Meta engineers have written twice as much first-party Rust code so far this year than in the previous 9 years combined. — David Tolnay (emphasis mine) Some of that is because agents make it very easy to try out new things. And some of that is because Rust has a reputation for being performant and, if it’s just as easy to pick any language, why not pick one that will yield faster execution times? But I think Rust is popular for another reason: because Rust happens to be a really good fit for agentic coding 6 . Of course, I would, wouldn’t I? The point of this post is (1) to argue for why that is and then (2) to discuss what we might change about Rust to make it work even better. It seems to me that an effective “software factory” will have three pillars: None of these pillars are solved, but some have made more progress than others. Rust is designed to give “good performance by default”, making the idiomatic thing typically also be the fastest thing. But another key part of Rust is that you have the knobs to eke out better performance when you need it. You control when something is stack- or heap-allocated and where pointer indirection occurs. If you want to, you can force the layout of your structs to be done in a particular way, or decide where to introduce boxing into your async stack frames. In the limit, you can put in inline assembly. In the past, learning how to “tune the performance knobs” could be a bit of a black art: but agents are making that much easier. 7 It turns out that agents are really good at fine-tuning the performance of existing code. For example, people who work on super high-performance cryptographic algorithms used to do so by hand-tuning assembly code. But those people tell me that they are now turning to agents for that same job. More prosaicly, a lot of people building network services are finding that, using a profiler like dial9 , agents can quite effectively diagnose async performance pitfalls, like long polls or blocking. Therefore, I think the task for Rust is clear. We keep on with our goal of “low-level enough for a kernel, high level enough for a GUI” . If anything, I think the shift around agents means we can tolerate a bit more “noise” in the form of explicit calls to or – but not too much, since we still want the “happy path” of the code to be clear and evident 8 , even as we surface details that are important in specific scenarios (like tracking precisely how many clones you have of a channel endpoint). Combined with a profiler, you get an effective feedback loop to get your code running fast: As usual though, while a reputation for good performance is what brings people to Rust, what makes them want to stay is a sense that using Rust “just seems to work better”. The basic theory is that Rust’s type system and guardrails help keep agents on track : rust is a perfect language for agents, given that if it compiles it's ~correct I think there’s truth in that: languages like Rust, Ocaml, or Haskell all share this “if it compiles, it works” feeling, and I think that agents will benefit from that. Testing can show the presence of bugs, but not their absence. — Edsger W. Dijkstra, 1970 Writing tests has never been enough to show that your program is correct – but, with agents, it’s not even close. It happens so often that my first few tests seem great and then the next one goes completely bonkers. Usually bonkers in a way where I cannot even imagine how that bug could have come about. Then I dig in and I realize the agent completely missed the boat on the logic I was trying to express. 9 This is where a type systems really shines – particularly an advanced one like Rust. Type systems give you some guardrails that keep the agent on track. In Rust, those guardrails extend beyond simple stuff like “do all fields have the correct names” and to stuff like never having to close a socket . Type systems can show the absence of bugs, but not the presence of correctness. — Me, failing to coin a phrase of equal eloquence 10 , 2026 So yeah, type systems are helpful! But they have inherent limits. A type system is a simple set of rules that, if you follow them, make sure that you avoid (certain kinds of) mistakes. But they don’t tell you that you do the right thing – only that you don’t do (certain kinds of) wrong things . If you want to go further, you need a proof system – something that will let you show that richer properties are actively true, not just that you’re avoiding bugs. As it happens, there are a lot of interesting proof tools for Rust, like Verus , Creusot , Aeneas , and Kani . As a starting point, you can prove that your code is panic-free, which will eliminate a lot of bugs, though it is still fundamentally a “type-checker-like” property (i.e., you avoid doing things wrong). But you can also go further and add assertions that show your code is computing the results you expect. Deplying proofs is not just good for getting code right – it’s good for getting code fast . This is somewhat counterintuitive, but it’s true. Earlier I mentioned how optimized cryptographic algorithms were now being written by agents . Part of what makes that possible is that cryptographic algorithms have a very clear mathematical definition. This means that you can basically tell the agent “do whatever you want, as long as you can prove that the code still computes the correct result”. These proofs can be done with theorem provers like Lean or Rocq . The blog post “Why Lean is faster than Rust” makes the point quite well. For Rust, a good example of this would be around unsafe code. Right now, people are sometimes reluctant to deploy unsafe code even if it might make their code faster because it’s not worth the risk of getting it wrong. And I applaud that effort. But what if you could use a prover to show that your unsafe code is, in fact, safe (i.e., incapable of causing undefined behavior)? Then you’d be free to optimize to your heart’s content. You might wonder: if we’re deploying a proof system on our code, do we still need type systems? I think the answer is definitely yes. Type systems are infinitely simpler to work with, which is why they are much more popular. Using a type system lets you rule out all kinds of annoying bugs so that you can focus your “proof energy” only on the important stuff. As a simple example of this, consider the following Java code: Without seeing more code, it is impossible to prove whether this assertion is true or not! This is because there could be any number of other threads running around mutating . In contrast, the following Rust code must be true (at least, so long as the operator is reflexive for ): We know this because the type system of Rust guarantees that implies a unique reference. This is in fact exactly how Verus works. By trusting the Rust borrow checker to track uniqueness etc, it simplifies the job of the SMT solver, making proof checking must faster and more reliable than it would be otherwise. So my take is that Rust should double down on if it compiles, it works . As expressive as Rust’s type system is, there are plenty of things that it cannot capture. This includes fairly common things, like this method only reads one particular field or internal references , but also fancy things like “no logging of personally identifiable information”. We should work to lift those limits, giving agents room to prove more complex properties. We also need to improve the experience of integrating a proof tool by working towards an extensible compiler . As cool as the existing Rust-based proof tools are, using them is a janky experience involing annoying macros and pinned compiler versions. We can do better. I’d like to propose a north star for Rust: no more unsafe code . By that, I don’t mean that we never use the keyword . Rather, I mean that we have the power to prove that all the unsafe code we write is correct and cannot cause undefined behavior. Don’t get me wrong: knowing exactly what code needs to be vetted is a huge step forward, as is normalizing the idea that libraries need to be responsible for protecting their users from undefined behavior via safe API boundaries 11 . But given agents’ ability to find vulnerabilities, I think we need to up-our-game if we want to stop the steady stream of CVEs. 12 But before you go about proving things or optimizing them, you need to have a clear idea of what you are building. As far as I can tell the state of the art here is basically variations on “markdown-driven-development”, developing docs and hoping that agents pay attention. I don’t know how much of a role for Rust there is in this space. I think there are some steps we might wind up taking that could be helpful here – for example, having ways to separate out interface from implementation so that it’s easier to review the interface in isolation or to see when the agent made changes there. 13 Or perhaps just providing betters tools to review that. I also think there’s space for dedicated “modeling languages”, something that let you iterate quickly with agents on the high-level designs and invariants without having to get into the weeds and read the code. I have more thoughts on this but it merits many blog posts all of its own. For the moment, I’ll start by pointing you all at this post by Kari Wilhelm, “Principles of Anchor Engineering” , which I think does a nice job of describing what it means to pull out the key elements of a design and drive the coding from there. We covered a lot of ground here, so let me put this all together. What makes Rust a good choice for developing with agents? And what could make it better, from a language design perspective? Overall, I think it’s very similar to what we were doing, except that the way we weight the tradeoffs is tweaked to account for agents doing the code authoring, and humans focused more on code comprehension: As a final close, let me point you at this interesting article by Marc Brooker, “What’s easy now? What’s hard now?” . He posits that the more it is possible to clearly specify success criteria for a task, the easier it is, and that we may find that tasks we traditionally think of as ‘hard’ (e.g., building out an efficient implementation of a cryptographic algorithm) may soon become automated, whereas tasks that we have thoght of as ’easy’ (e.g., making a unique, compelling website) may become more valued. Looking at it from a PL point-of-view, I think Marc’s point reinforces my sense that the biggest action is going to come from design languages , things that let you capture the architecture and intended behavior at a very high-level. The goal would be to let humans intuitively specify a design that gets translated into effective guardrails, whether that’s type system checks, lints, or theorems to be proven. Agents would then take on the task of translating the design into code written in a traditional PL like Rust, with humans looking at it only rarely. This doesn’t make the design of traditional PLs less interesting, but it definitely makes the tradeoffs very different than they were before. Secretly I have always been jealous of people that coded using punchcards and stored things on gigantic rolls of tape or whatever. I just want to be world weary so badly! I am kinda delighted that I’m finally old enough that I can say things like “I remember when we had to edit CONFIG.SYS before we could play a computer game!” and younger programmers will gasp in horror. 5 But I still feel like I must sound like a silly kid to folks who were around “back in the day”.  ↩︎ I still remember when my dad told me he had bought me a 10MB disk and secretly he had bought a 40MB disk to surprise me. It seemed absurdly large. “I’ll never need a new disk again!”  ↩︎ I mean my god, we’re even using again! My first editor!  ↩︎ I built an electron app! And it was so easy to do! And reading weird papers and things is so much more accessible now that I can ask an LLM to translate all the math jargon for me.  ↩︎ I remember once trying to tell Alex Crichton how I used to “order shareware from a paper catalog by putting a check in the mail” and he was like “I do not understand any of the nouns in that sentence”. Highlight of my life, right after Rust 1.0. Oh, and maybe the birth of my child and getting married. I guess.  ↩︎ I’m not saying Rust is the only language that’s a good fit. I’m not even saying that the way that Rust is a good fit is the only way to be a good fit. I have heard for example that Go is a really good fit for agentic coding and I believe it: I think it hits a different sweet spot, one that helps agents iterate quickly (although I do suspect agents will let data races and subtle bugs slip through that Rust would have prevented).  ↩︎ The fact that agentic development makes more room for knobs is good for Rust performance, but it is quite likely an even better fit for performance in other languages. Tuning a GC has traditionally been a job that really requires a GC expert, but agents can likely fill that role pretty well these days.  ↩︎ On this pont, I’m even more convinced of the importance of ergonomic RC now that I work with agents. Agents are good at introducing the extra clones and things you need to deal with capturing around async tasks, but the resulting code is so annoying to read, it really hides what’s going on.  ↩︎ “Claude, this is not what we talked about!” – me, all too often.  ↩︎ So close though, right? I just .. couldn’t land the plane.  ↩︎ All too often, C++ libraries consider it adequate to tell users “you’re holding it wrong” – i.e., that they are responsible for causing undefined behavior by misusing the API. Rust takes a clear position that a safe API has to protect its users, no matter how much they abuse it.  ↩︎ To be fair, if Rust is encountering a stream of CVEs, other languages like C++ and Java are encountering a veritable flood, since they lack the protection of Rust’s type system. st takes a clear position that a safe API has to protect its users, no matter how much they abuse it.  ↩︎ The revenge of files?  ↩︎ Design: figure out and specify clearly what the code is supposed to do. Construction: author code that does what it is supposed to do. Optimization: optimize the code so that it runs efficiently. It offers good default perf (why pay more?) and, in conjunction with a profiler, can be tuned as much as you want. The type system gives stronger guardrails, and if you setup your agents right, you can strengthen those guardrails through techniques like new types. If it compiles, it works – our type system is our big advantage, we need to make it more expressive and more functional so that agents don’t get stuck trying to work around it! And as an adjunct, establish a North Star: Enable Unsafe code without unsafety by supporting proof, and see the most widely used Rust libraries proven sound. Low-level enough for a kernel, high-level enough for a GUI – make sure we expose the knobs needed to tune for performance, while also making the code’s intent clear (but don’t worry about golfing the code down to an absolute minimum number of characters). Extensible and versatile – one of Rust’s great strengths is that, with macros + our type system, we support DSLs and a wide variety of targets. We need to bring that spirit of extensibility into the compiler so we can target more styles of development (e.g., GPU, deep language interop, etc) and also integrate theorem provers and other tools that require more than just tokens. Secretly I have always been jealous of people that coded using punchcards and stored things on gigantic rolls of tape or whatever. I just want to be world weary so badly! I am kinda delighted that I’m finally old enough that I can say things like “I remember when we had to edit CONFIG.SYS before we could play a computer game!” and younger programmers will gasp in horror. 5 But I still feel like I must sound like a silly kid to folks who were around “back in the day”.  ↩︎ I still remember when my dad told me he had bought me a 10MB disk and secretly he had bought a 40MB disk to surprise me. It seemed absurdly large. “I’ll never need a new disk again!”  ↩︎ I mean my god, we’re even using again! My first editor!  ↩︎ I built an electron app! And it was so easy to do! And reading weird papers and things is so much more accessible now that I can ask an LLM to translate all the math jargon for me.  ↩︎ I remember once trying to tell Alex Crichton how I used to “order shareware from a paper catalog by putting a check in the mail” and he was like “I do not understand any of the nouns in that sentence”. Highlight of my life, right after Rust 1.0. Oh, and maybe the birth of my child and getting married. I guess.  ↩︎ I’m not saying Rust is the only language that’s a good fit. I’m not even saying that the way that Rust is a good fit is the only way to be a good fit. I have heard for example that Go is a really good fit for agentic coding and I believe it: I think it hits a different sweet spot, one that helps agents iterate quickly (although I do suspect agents will let data races and subtle bugs slip through that Rust would have prevented).  ↩︎ The fact that agentic development makes more room for knobs is good for Rust performance, but it is quite likely an even better fit for performance in other languages. Tuning a GC has traditionally been a job that really requires a GC expert, but agents can likely fill that role pretty well these days.  ↩︎ On this pont, I’m even more convinced of the importance of ergonomic RC now that I work with agents. Agents are good at introducing the extra clones and things you need to deal with capturing around async tasks, but the resulting code is so annoying to read, it really hides what’s going on.  ↩︎ “Claude, this is not what we talked about!” – me, all too often.  ↩︎ So close though, right? I just .. couldn’t land the plane.  ↩︎ All too often, C++ libraries consider it adequate to tell users “you’re holding it wrong” – i.e., that they are responsible for causing undefined behavior by misusing the API. Rust takes a clear position that a safe API has to protect its users, no matter how much they abuse it.  ↩︎ To be fair, if Rust is encountering a stream of CVEs, other languages like C++ and Java are encountering a veritable flood, since they lack the protection of Rust’s type system. st takes a clear position that a safe API has to protect its users, no matter how much they abuse it.  ↩︎ The revenge of files?  ↩︎

0 views
sunshowers Yesterday

Anthropic's Scion is heavily inspired by Mononoke

Here is Anthropic describing ( archive link ) yesterday how their new version control system, Scion, uses a concept called “derived data” to make operations like blames more efficient: Here is me, back in 2022, describing in my Oxide candidate materials how the Mononoke source control server I helped build uses a concept called “derived data” to make operations like blames more efficient: I think the level of imitation goes well beyond having similar insights 1 . The fact that Sapling was only credited for “hard-won lessons”, and that Mononoke was not mentioned at all, borders on plagiarism. The post comes off as Anthropic claiming that Claude designed all this, while the reality is that our (extraordinary) team at Meta came up with many of the insights that Claude dutifully applied almost a decade later. (We looked at plenty of prior art for Mononoke and Sapling too, from Google’s SrcFS to write-ahead logs in databases.) I am very glad that the vision our team had back in 2017-18 was so powerful and enduring — when you go against the grain, you’re always a bit unsure if what you’re doing is genius or madness, and I think Mononoke’s design has stood the test of time. And, to be clear, I do not have a problem with Anthropic copying Mononoke’s design. (This is part of why we put out open source — to benefit humanity through the spread of good ideas.) But as LLMs continue to assist in designing new systems, they are likely to index heavily on existing designs. Mononoke is open source and in every LLM’s training set. If you ask Opus 5.5 or GPT-6 Astra (thanks Matthew Fowle ) about prior art, they both immediately point out the similarities to Mononoke. Giving credit to those that came before us is now easier — and more important — than ever. There is no longer an excuse. For an example of a system with similar insights but many key design differences, see Vicent Marti’s blog post for Cursor .  ↩︎ For an example of a system with similar insights but many key design differences, see Vicent Marti’s blog post for Cursor .  ↩︎

0 views
Martin Fowler 2 days ago

Are Harnesses Worth the Cost?

Naresh Jain compares coding agents building the same API service with and without a behavioral harness. A frontier model, GPT-6 Sol, passed every external evaluation either way. But a cost-optimized model, GPT-6 Luna, succeeded in only 3 of 10 unharnessed runs and all 10 with the harness. While adding the harness increased token usage and runtime for Luna, the harnessed Luna runs achieved the same 10-for-10 reliability as GPT-6 Sol while costing 33% less per run ($0.273 vs $0.406). This experiment suggests a behavioral harness might be a practical way to get dependable results from smaller, cost-optimized models.

0 views
xenodium 2 days ago

agent-shell 0.87 updates

It's October. New month, new agent-shell update. If you missed the last post, have a look at the 0.78 update . While the latest changes are focused primarily on bugfixes and polish, we have a handful of new features too. As usual, this post showcases highlights, but please check out the full list of changes if you're after the nitty-gritty. agent-shell brings your favorite AI agents to Emacs , keeping you at home: familiar buffers and bindings, no terminal emulation. All powered by ACP, the Agent Client Protocol . I introduced just over a year ago, with support for two agents: Claude and Gemini. Today, it speaks to 23. Development hasn't let up either. Improvements and new features land every month. Thank you to all users, contributors, and sponsors. A couple more join the family, bringing it to 23 agents . As usual, they're all reachable via , or go straight to the new ones: With the ability to prompt at any time ( see my last post ), you can queue prompts or steer agents straight from the persistent shell prompt. Animating the prompt ties it all together: it's now obvious at a glance that the agent is busy, and that anything else you submit will queue. Check out for relevant customizations (more on that shortly). Thanks to @cark for the proposal . The header's busy indicator has been animated for some time now. Amongst the existing customizations, could turn it off altogether. Having said that, there's now a middle ground: use static text via . Just set it to a string like so: If you'd like to use smarter logic, you can now set it to a function as follows: takes all the same forms, so the prompt's own animation can also be a list of frames, a static string, or a function. With the new setting (enabled by default), pending prompts are joined (separated by blank lines) and submitted as a single turn. Queued prompts are typically follow-ups to the same instruction, so the agent now sees them together rather than acting on the first before reading the rest. If you prefer the previous behaviour, disable it with: Thank you @Gleek for the proposal . While on the subject of queueing, cancelling now offers to continue with the queue rather than quietly dropping it, and killing a shell now warns you about the pending work you'd lose. and completion used to bundle two things: how to complete, and when to pop up. Turning the popping off lost completion altogether, leaving corfu and company users out. They're now decoupled. The completion functions are always registered, so , corfu and company work either way. Two options decide whether completion pops as you type: for and for . For example, listing files can be slow in a large project, so to only complete on demand while keeps popping: Trailing spaces (and mention quoting) are now only inserted on a finished completion, fixing the stray spaces corfu and company users were seeing. Thanks to @bcc32 for proposing the split and separate and options in #537 , and to @jcubic for filing it and flagging the stray spaces. and ( and ) now move between blocks. Thank you @OSadovy for #876 . Chat mode draws "Me" and "Agent" labels (or rather "Claude", "Codex" etc.). If the current style isn't your jam, now lets you draw them yourself. It's handed an alist with and (either or ), and must return a single-line propertized string. The property is honored, so labels can also be rendered as images. Thanks to @nhojb for the idea. Transcripts now open with YAML frontmatter, including a start timestamp as follows: Thank you @vermiculus for #854 . While on topic, transcripts also got a little sturdier, thanks to @mrcnski 's proposal . now pastes images straight from the system clipboard ( #853 ), no external utilities needed, the same way Org mode handles it. Pasted image previews also survive being queued or steered, thanks to @Gleek for #852 . Codex gained for setting config options at session start, reasoning effort included. For example: Thank you @ianthetechie for #855 . Tool call output can be fairly long. A single chunky line was enough to bog a buffer down. Long tool output lines are now limited ( #844 by @Gleek ), and fallback titles are truncated so they no longer flash chunkily as they stream. File summaries also count distinct files now, so reading the same file three times counts as one file rather than three ( #863 , also by @Gleek ). While we have a handful of new features, the bulk of this release went into fixes. Performance and responsiveness: New shells now show the last few release posts on the welcome screen, so they are a little more discoverable. A few additions for package authors building on . returns non-nil once the handshake, authentication, session and any default options are all done. Until then, subscribe to the new event via ( #860 ). Agent config options are now reachable from elisp rather than the UI alone: agent-shell-gc joins the lot, bringing buffer garbage collection (auto-kill) to . If you peeked at the commit logs for the period, you'll see it's been a busy few weeks. Since the last post, 125 commits shipped, 33 issues have been closed and 15 pull requests merged. As of this writing, the backlog sits at 4 open issues and 6 open PRs (versus 16 and 6 last time around). Zooming out a little, here's how the backlog has tracked: As usual, this chart was generated using the skill shared in my emacs-skills repo. Four open issues is the lowest it's been since the project's first week, which I'm pleased about. All of this requires daily attention. Tokens keep your agents running. Sponsors keep running. is built and maintained by me, an indie dev, while the tools it competes with have well-funded teams behind them. Vendor-neutral tooling matters more than ever. Using at work? Ask your employer to sponsor too. Companies can contribute at a scale individuals can't. Thank you to all contributors for these improvements! stands on acp.el to speak ACP and shell-maker for its shell foundations, so fixes landing there reach you just the same: As of this writing, we're 88% of the way to the 150 monthly sponsors goal . If is part of your daily workflow, please consider becoming a monthly sponsor (or ask your employer to). Not in a position to sponsor? A GitHub star helps with exposure and brings in new users. Junie (JetBrains), #847 by @thanhvg . Start it with . OpenClaw , #878 by @jtmoulia . Start it with . Emphasis no longer swallows asterisks inside inline code ( #870 ). Bold around inline code now renders, as does a trailing quote or header line. Streamed tables keep their alignment and markup ( #868 ). no longer mangles bullets carrying bold text ( #867 ). Expanding or collapsing an item inside a group now works mid-stream. Chat mode no longer hides notices rendered above the live prompt. The graphical header no longer gets cut off when showing cost ( #849 ). Terminal hyperlinks (osc-8) are rendered ( #850 by @gnufied ). Severe cursor lag from large collapsed tool outputs is gone ( #839 ). Bare references are now found in linear time ( #848 by @catern ), and failed searches leave point where it was. Heartbeat ticks skip redrawing when the busy frames haven't changed. In acp.el , draining the agent's output is now bounded in how long it holds the main thread ( #32 by @moyotar ), so a chatty agent no longer makes Emacs feel laggy. In shell-maker , launching a shell with enabled no longer hangs Emacs ( #842 ). Forking resumes the session, and keeps the fork rather than falling back to another session if that resume fails ( #871 ). Grouped config options are handled ( #851 ), and a missing config change event is now emitted ( #864 ). is preserved when displaying asynchronously ( #846 by @bcc32 ), and docstring command binding specifiers are fixed ( #845 , also by @bcc32 ). Shell command output now runs in the shell's directory via its file handler ( #879 by @junyi-hou ), which matters for TRAMP users. The README gained guidance for agents hanging at "Loading…" over TRAMP ( #872 ), which turned out to be about and direct async processes rather than a bug. returns when the shell last saw a submitted prompt or an incoming notification ( #856 ), handy for idle tracking. writes the session's ACP traffic to a file and reveals it in , simplifying the bug-filing process. #797 : Render ACP elicitation forms ( @OSadovy ) #844 : Limit long tool output lines ( @Gleek ) #845 : Fix docstring command binding specifiers ( @bcc32 ) #846 : Preserve when displaying asynchronously ( @bcc32 ) #847 : Add Junie ( @thanhvg ) #848 : Find bare path:line references in linear time ( @catern ) #850 : Add support for rendering browse-url-data with osc-8 sequences ( @gnufied ) #852 : Preserve pasted image previews in queued and steered prompts ( @Gleek ) #854 : Emit parse-able YAML frontmatter for transcripts ( @vermiculus ) #855 : Add tunable for default Codex config options ( @ianthetechie ) #862 : Mention agent-shell-gc package in the README ( @izeigerman ) #863 : Count distinct files in read, edit, and delete summaries ( @Gleek ) #876 : Move by blocks with beginning-of-defun and end-of-defun ( @OSadovy ) #878 : Add OpenClaw agent support ( @jtmoulia ) #879 : Run command output in shell directory via file handler ( @junyi-hou ) acp.el #32 : Bound how long a single drain holds the main thread ( @moyotar ) shell-maker #46 : Fix byte-compile warnings, runtime cl-lib, defvar ordering and lazy-org declarations ( @tothedarktowercame ) shell-maker #48 : Quote mode-map before splicing into eval'd define-derived-mode ( @necaris )

0 views
flowtwo.io 3 days ago

SWE Interview Prep in 2026

Interviewing for software engineering roles in 2026 is a challenging, fast-moving landscape. Some companies are abandoning traditional interview formats in favour of more AI-native assessments, but some aren't. Which means for you, the interviewee, you still have to be prepared for all of it. Here's what worked well for me as I did interview prep over the last few months. I primarily use leetcode for practicing coding problems. I know there's alternatives out there, but I think leetcode's question bank is the most challenging and diverse. There's also some useful features included in the premium subscription, if you're willing to pay for it. Here's some tips to optimize your preparation for "manual" coding interviews: it's a directed acyclic graph...of course When preparing for a specific company's interview, use leetcode's company filter to do problems that are actually asked by that company. There's a good chance you could be asked the same or a similar question in your interview. * *IMPORTANT** Practice doing "Design" problems on leetcode. In my experience, the questions you get asked in interviews are usually more like this type of question, compared to a straight up algorithm/data structure type question. These are invaluable practice AND are genuinely more interesting problems to solve. Examples include building an LRU cache, making a log aggregator, making a stack calculator. When solving questions like these you generally have to make tradeoffs in the read / write portions of the API. This is a more realistic problem that companies use to assess design thinking and how well you reason about tradeoffs. Make sure you review how to do common "practical" operations in your language of choice. Operations like reading and writing to the terminal, File IO, Network IO, serialization, CSV and JSON parsing, and concurrency primitives. These are all critical parts of programming interviews that you might not do often at work, and you'll definitely forget to practice if you only rip leetcode questions. I've tripped up in past interviews when part of the question required doing one of these basic operations (like parsing a CSV file) and I didn't know how to do it off the top of my head. Looking up the API and/or libraries will waste time, so it's super helpful if you have an idea about how to do it already. System design is usually the most intimidating part of the engineering interview loop. It's how companies decide on levelling and team fit. It's also one of the hardest to prepare for because it's more about experience and generic best practices. But here are some tips anyway. There's a lot of system design preparation services out there. I've found HelloInterview to be the best bang for your buck. They have a great practice platform with AI judging and feedback. Do as many as possible so you develop a muscle memory for thinking through these types of problems. They also have in-depth written and video guides that are up-to-date and balance technical/practical knowledge pretty well. When you get tired of just talking with AI, try out Pramp for doing actual mock interviews with other people who are also studying. It's free, and there's nothing better than live practice with a complete stranger judging you (just like an interview). I started an LLM Wiki using Obsidian + Claude specifically for system design knowledge. The LLM Wiki concept was introduced by Andrej Karpathy earlier this year. I use this Claude plugin to streamline the process. The wiki was great for providing structure to my research and learnings. Over time it became a useful reference for concepts and case studies I'd read already. You can you Claude to query it, or even get it to quiz you on specific things you've learnt. I recommend reading the engineering blogs for well-known tech companies to get insight into how the biggest software organizations in the world are solving scalability and distributed systems issues. Lots of excellent reads out there. Behavioural might be the least practiced part of the interview loop. It's easy to assume you'll be able to talk about your past projects and work impact, especially if it's recent. But it's still important to practice so you know what you should highlight in your stories and what questions will likely be asked when you finish. Otherwise you end up just blabbing about unimportant details and it will be hard to understand. Everyone talks about the STAR format for behavioural questions, but I prefer the CARL format . It puts focus on ending stories with what you learnt , instead of just what happened . This shows the interviewer you reflect and look to improve on your past experiences. It also sounds more natural in a conversation, instead of just "we shipped the new feature and it improved user session length by 30%". In addition to using CARL, make sure you begin each story with a 1-line summary of the whole experience, including the outcome. Only after do you start diving in to more details—being flexible enough to pivot based on the conversation with the interviewer. Structuring your responses this way shows professionalism and leadership qualities. You provide the headline and then continue with the details. If this sort of dialogue doesn't come naturally to you, as is the case with me, I highly encourage you to practice. If you can practice with a friend or colleague, that's great. Another option now is practicing with AI. I got in the habit of going on walks and having ChatGPT run through mock questions with me via voice input. Nice way to get your steps in and also prepare for that upcoming interview. That's all I got. These strategies helped me land a new gig last month after about 3 months of preparing and interviewing. My final tip—be patient. Getting an offer is a combination of preparation, timing, and luck. So if something doesn't work out don't get discouraged...the right opportunity will come. Good luck with your interviews! Don't do random questions if you're just starting to study. You'll waste a ton of time slamming your head against most problems and eventually have to give up and look at the solution. It's much more helpful to do systematic practice and learning of the concepts. Eventually you'll develop an intuition for how to model a given problem when you see it (e.g. as a graph traversal, dynamic programming, greedy etc...) I recommend using this learning path on leetcode that combines quick lessons with practice problems. Each lesson builds on the concepts from the previous lessons. When preparing for a specific company's interview, use leetcode's company filter to do problems that are actually asked by that company. There's a good chance you could be asked the same or a similar question in your interview. * *IMPORTANT** Practice doing "Design" problems on leetcode. In my experience, the questions you get asked in interviews are usually more like this type of question, compared to a straight up algorithm/data structure type question. These are invaluable practice AND are genuinely more interesting problems to solve. Examples include building an LRU cache, making a log aggregator, making a stack calculator. When solving questions like these you generally have to make tradeoffs in the read / write portions of the API. This is a more realistic problem that companies use to assess design thinking and how well you reason about tradeoffs. Make sure you review how to do common "practical" operations in your language of choice. Operations like reading and writing to the terminal, File IO, Network IO, serialization, CSV and JSON parsing, and concurrency primitives. These are all critical parts of programming interviews that you might not do often at work, and you'll definitely forget to practice if you only rip leetcode questions. I've tripped up in past interviews when part of the question required doing one of these basic operations (like parsing a CSV file) and I didn't know how to do it off the top of my head. Looking up the API and/or libraries will waste time, so it's super helpful if you have an idea about how to do it already. There's a lot of system design preparation services out there. I've found HelloInterview to be the best bang for your buck. They have a great practice platform with AI judging and feedback. Do as many as possible so you develop a muscle memory for thinking through these types of problems. They also have in-depth written and video guides that are up-to-date and balance technical/practical knowledge pretty well. When you get tired of just talking with AI, try out Pramp for doing actual mock interviews with other people who are also studying. It's free, and there's nothing better than live practice with a complete stranger judging you (just like an interview). I started an LLM Wiki using Obsidian + Claude specifically for system design knowledge. The LLM Wiki concept was introduced by Andrej Karpathy earlier this year. I use this Claude plugin to streamline the process. The wiki was great for providing structure to my research and learnings. Over time it became a useful reference for concepts and case studies I'd read already. You can you Claude to query it, or even get it to quiz you on specific things you've learnt. I recommend reading the engineering blogs for well-known tech companies to get insight into how the biggest software organizations in the world are solving scalability and distributed systems issues. Lots of excellent reads out there. Everyone talks about the STAR format for behavioural questions, but I prefer the CARL format . It puts focus on ending stories with what you learnt , instead of just what happened . This shows the interviewer you reflect and look to improve on your past experiences. It also sounds more natural in a conversation, instead of just "we shipped the new feature and it improved user session length by 30%". In addition to using CARL, make sure you begin each story with a 1-line summary of the whole experience, including the outcome. Only after do you start diving in to more details—being flexible enough to pivot based on the conversation with the interviewer. Structuring your responses this way shows professionalism and leadership qualities. You provide the headline and then continue with the details. If this sort of dialogue doesn't come naturally to you, as is the case with me, I highly encourage you to practice. If you can practice with a friend or colleague, that's great. Another option now is practicing with AI. I got in the habit of going on walks and having ChatGPT run through mock questions with me via voice input. Nice way to get your steps in and also prepare for that upcoming interview.

0 views
neilzone 3 days ago

Blurring part of a video using ffmpeg

Hello, future Neil! You are probably trying to remember how you blurred part of a video. You blurred the bottom left portion of a circus video, using . : this is the size of the boxblur, 440px wide, 80px high : this is the position of the boxblur, starting from left top. i.e. 0 pixels from the left, 370 pixels from the top : this is how dense the blurring is. 2 is quite weak; 10 is strong : this needs to match the position of the boxblur

0 views
Dan Moore! 4 days ago

Corporations Already Showed Us How This Goes

I’m writing in response to Derek Thompson’s fascinating discussion about AI as normal technology . I believe that we human beings are going to turn more and more things over to AI. There are four data points that illustrate this. The first is my own personal experience. Like many, I have access to AI that can explain documents and RFCs to me, and I often use it to do so rather than reading these from first principles. It does depend on the length of the document and whether I’m reading it for work or for fun, though. I also have a habit of asking AI to argue both sides of a particular decision I’m faced with. I still make the decision. But anybody who’s been a secretary in an organization understands that the person who writes down the notes frames the discussion. So I’m relying on AI to frame the problem. Again, my actions after AI suggests alternatives depend on the decision’s impact and how well I know the domain space. There are times I push back but there are times I do not. The second data point is what we’ve done with the technology of computers as a society up to now. I remember reading Joseph Weizenbaum’s excellent book Computer Power and Human Reason , which I found while I was traveling. It talked about how much of the decision making in the Vietnam War was driven by computer systems. This is happening in 2026 as well. There’s a spectrum between using AI to make more intelligent decisions (by doing more research) and outsourcing decision-making to AI (by asking it to act on that research). This is because of the framing I mentioned above. You make decisions only based on what you know. If AI is limited to certain data sets, or is making up points in some data sets, or is inclined towards certain data sets, that constrains the decision space, even if a human being is ultimately pressing the “go” button. Finally, humans have outsourced decisions to non-human entities before. What do I mean by that? I’m not talking about chimpanzees or dolphins. I’m talking about corporations. ( A point made by John Scalzi in 2017. ) Anyone who’s ever been laid off knows that there are decisions a corporation makes that an individual human being in that corporation would not necessarily make. Such decisions ensure the life of the corporation and are reflected in the incentive structure for the human beings who are part of the corporation (aka employees). That drives human beings to make decisions they would not make if they were independent. I’ve seen managers racked with guilt and frustration because someone was not a fit for the job, or they had to lay people off, or things weren’t going the way they wanted them to. But they still made the hard decisions, because that is what the structure of the corporation forced them to do. How does that apply to AI? Anyone who says “AI can’t make more data centers and will be reliant on humans, leaving us in control” needs to answer why AI can’t force humans to do things in the real world the same way a corporation does. When combined with the previous two data points, AI can find humans who are willing to take actions against the interests of humanity. It doesn’t have to be obvious. AI could split a task that individual humans, if they saw the full picture, would say no to. But with the split task humans can think “oh, this is innocuous, opening this is fine, because there are these other limits”, not knowing the AI has talked to other human beings about relaxing other limits. The final data point is what we do to protect against any low-probability, high-impact calamity. When you have a very small risk of something very, very bad happening, people buy insurance. Yes, insurance costs money, but a small amount of money paid regularly means the negative impact of a large loss is lower. Why not, as Ezra Klein suggests , slow things down? It would be hard to enforce across every model builder, but certainly the major AI powers, the US and China, could agree to ban techniques like recursive self-improvement. Other entities would keep pushing AI forward, but they don’t have the resources, the money, the software, or the expertise to do so at the same pace. The costs of a slow down are a small price to pay to lower some of the existential risk. There are two books that have been echoing in my mind about this aspect of things, and I highly recommend you read both. One is a pulp fiction thriller, Daemon . I read it a couple of years ago, and the premise is that a piece of software gains access to and control of the real world through the work of human beings. The other one is Genesis . I read it in the 2000s. It has an amazing twist I still remember. I won’t tell you more, other than that I still remember how powerfully the novel illustrated unintended consequences. AI has aspects of normal, high-impact technology like electricity or railroads. But there are new aspects too. You cannot ask a steam shovel or a Word document what to do.

0 views

Picks and Shovels

I've owned picksandshovels.org for the better part of a year. This afternoon, Claude Opus 5.5 built a web game for the site (with a little bit of inspiration from me.) As Claude was working, I interjected a bit of commentary, but pretty much all of the jokes and catastrophes are Claude's doing. Below is the sum total of my prompting to make the game. Happy clicking! Good luck avoiding the apocalypse!

0 views
Sean Goedecke 4 days ago

Don't diagnose your opponents

When you disagree with someone, there are two paths forward. The first is to try to engage with what they’re saying: what their reasons are, whether their position is true, what evidence could be brought to bear, and so on. The second is to diagnose them: to engage with the second-order question of why they’re saying it. For instance, if you’re arguing with somebody about microservices 1 , you could say “well, you only like microservices because you want to polish your resume”, or “you only like monoliths because you’re scared of distributed systems”. This happens a lot in online arguments. On the question “are AI models improving”, some anti-AI people will argue that people only think so because AI psychosis is rotting their brain , and the dumber they get, the smarter AI models seem in comparison. Likewise, many pro-AI people argue that people only disagree because they’re Luddites, or scared of change, and so on. None of these arguments are about the quality of AI models. It feels so good to diagnose your opponents because there’s no possible response. If you say “I think AI models are improving because these benchmark scores are rising”, somebody might point out that the AI labs are training on those benchmarks, or argue that they represent isolated skills that don’t transfer, and so on, making you feel stupid. If you say “you only disagree with me because you want to roleplay as a revolutionary”, how could you be proven wrong? The more someone protests a diagnosis, the more it sounds like it must be right. Otherwise why would they be so upset? Of course, they’re so upset precisely because there is no possible response. By moving to diagnosis, you’re no longer having an argument about the facts, you’re purely in the area of rhetoric. But when you’re in the middle of an argument, diagnosing always feels like you’re being piercingly analytical. It feels like you’re cutting right to the heart of the matter: these complicated arguments are just chaff , intended to distract you from the fundamental psychological reason why your opponent is being so foolish. This is just ordinary spite and anger 2 , whatever it feels like at the time. There’s nothing inherently wrong with the second-order question of why someone person believes what they believe. It’s totally fine to think about it or form theories about it, like any other factual question. Just remember that it doesn’t bear on the question of whether they’re right 3 . Every human being forms their beliefs on top of a cocktail of base urges, animal instincts, and barely-suppressed evolutionary drives. If they’re rational, they also have evidence for those beliefs. It’s the quality of that evidence that helps you determine whether the beliefs are true, not the existence of the base urges. As a general rule, you should only diagnose your opponents when you also have a strong, unrelated argument about why they’re wrong. For instance, I think Ed Zitron has been thoroughly audience-captured by AI skeptics, whose demand for news about AI failures far exceeds supply. But I have written many long-form posts about why I think Zitron’s specific claims about the sustainability of AI are incorrect. When I talk to people who think Zitron is right, I talk about my arguments in those posts, not about my personal theory about why he says the things he does. Scott Alexander famously called the “noncentral fallacy” 4 the Worst Argument in the World . For me, diagnosing your opponents is the Worst Argument in the World. I cringe every time I see it in the wild (like most cringeworthy behavior, it bothers me because I myself have to struggle against the urge to do it). Just don’t! It’s good at playing to your base, but it doesn’t persuade: anyone who believes your opponents’ views will just be mad that you’re psychoanalyzing them instead of talking about the actual issues at stake. Am I diagnosing the diagnosers here? Maybe, but I think it’s forgivable, since there is no specific argument about the facts at stake. The philosopher in me wants to clarify that you could theoretically establish that someone’s motives for believing something are leading them away from the truth. In practice, (a) you cannot do this in an internet argument, and (b) it is always better and easier to make a straightforward argument about what the truth is. “You’re a fringe member of some group which has members I have an emotional reaction to, therefore I will have the same reaction to you even though you yourself don’t do those things.” “Group” here is to be understood as “Christian” or “Italian”, not something like the WBC where the fact of membership itself is what’s being judged. Don’t. ↩ Am I diagnosing the diagnosers here? Maybe, but I think it’s forgivable, since there is no specific argument about the facts at stake. ↩ The philosopher in me wants to clarify that you could theoretically establish that someone’s motives for believing something are leading them away from the truth. In practice, (a) you cannot do this in an internet argument, and (b) it is always better and easier to make a straightforward argument about what the truth is. ↩ “You’re a fringe member of some group which has members I have an emotional reaction to, therefore I will have the same reaction to you even though you yourself don’t do those things.” “Group” here is to be understood as “Christian” or “Italian”, not something like the WBC where the fact of membership itself is what’s being judged. ↩

0 views
Unsung 5 days ago

“They take one look at the UI and abandon it.”

Hiding inside this page on “user-driven UI” by Brad Woods are two useful things. The first is the concept of “zone of proximal development.” The idea, as I understand it, is that possible tasks you face span a few categories: The space between these things is a zone. A good book or a teacher would help you navigate the zone, by giving you tasks hard enough that they will expand the zone, or even teach you how to expand it on your own – but not too hard so that you give up in failure and frustration. Woods argues that this doesn’t just apply to traditional classroom teaching, but also software, where the role of the teacher is taken by things like: The second thing was this quote by Anthony Hobday, who made a few appearances on this blog : I think this is brilliant and spot on. I always knew the creators of an app would have a problem of not seeing complexity creep in, but this made me consider that the app’s early users might also be biased the same way, and not exert much pressure. If you are familiar with an app, armed with your desire paths and motor memory, you have a lot of capacity to just ignore new menu items, new panels, and new complexity – provided it doesn’t get in your way. New AI option? Turn it off. New tab? Never click on it. New alternate way of doing things? Just continue with the old way. But as a new user, you don’t have that history, or that experience-backed confidence that a bunch of stuff can simply be ignored as it’s not crucial to everyday operation. Add to this the industry’s perverse incentives that often present new additions as the most important ones , and it’s much harder to make a sense of it all as a newcomer. And all the while, the creators and existing users might not see the problems you do. stuff you already know how to do, stuff you can learn to do on your own, stuff you can learn to do with assistance (e.g. from a teacher), stuff you simply cannot do or imagine doing. onboarding walkthroughs, progressive disclosure, help menus. Simple product is released Lots of people use it every day More features are added It’s now complicated But most people learned the basics when it was simple, so they don’t notice that it got complicated.

0 views
Sean Goedecke 5 days ago

Software's centaur age may last decades

We are currently living in the age of centaurs (2022-20??). Right now, human engineers paired with AI coding systems are more effective than either by themselves. For future generations of software engineers — human or otherwise — this will be the most significant fact about the current period. As in chess’s own centaur age, people are always ready to claim that the centaur age is over and the age of AI supremacy has begun. But the age of centaurs in chess lasted about twenty years, and previous centaur ages have lasted far longer . This should be encouraging to many of us. If software engineering goes along similar lines, we may be able to ride it out another decade or two: enough to make serious plans about what comes next, or to finish out our careers entirely. It began with GitHub Copilot, which launched in 2022 as AI-powered autocomplete. A confident engineer who knew exactly what they wanted could tab-complete their way through lines of code and sometimes entire functions. Being able to chat with language models like GPT-4 provided the next upgrade. Although the models would still get things wrong, it was helpful to have a generalist on tap for areas that were a complete mystery. Coding agents rose to prominence with Cursor’s “agent mode” in 2024 and Claude Code in early 2025. Early agents needed close supervision to prevent them from going off the rails, but were still helpful to automate straightforward tasks. Current agents — after the November 2025 release of Claude Opus 4.5 — are reliable enough to run entirely unsupervised. Their output still needs human review, but the kind of mistakes they make are more mistakes of alignment than regular bugs: not matching the organization’s technical values, over-engineering certain areas and under-engineering others, deciding where to spend effort, and so on. It is no longer possible to credibly argue that an unassisted software engineer can beat a centaur team. The value provided by coding agents is just too great: not just the speed of producing code, but the speed of review and testing. However, we are not yet at the point where an unsupervised coding agent can beat a centaur team either. All the impressive work I’ve seen from LLMs has had a competent human software engineer in control. Centaurs are on top. Would we expect our centaur age to be shorter? On the one hand, chess is a much simpler problem than software engineering, and is more amenable to learning methods like self-play. On the other hand, software engineering is massively more lucrative to solve, and many orders of magnitude more funding is being plowed into the problem than was with chess. On the third hand, “solving” software engineering means creating much more software, which increases the total work-to-be-done, so even if the relative human share of that work is shrinking, the overall amount of human work might grow. On the fourth hand, the level of generally-capable AI needed to address software engineering will have huge effects on other fields, the ripple effects of which are likely to negatively impact software engineering jobs (for instance, crashing the economy, widespread social unrest, and so on). On the fifth hand, we might think that chess had an unusually fast centaur age. Previous centaur ages lasted much longer. In knitting, where a human and a knitting-frame could outcompete any hand-knitter, the centaur age lasted two hundred years . On the sixth hand, technological change is moving ever faster . I could probably find a seventh, eighth, and ninth hand if I wanted to 1 . But overall I think we have no real idea of how this is going to turn out. Chess is the most recent example of a centaur age we have, and it’s attacked by the same AI-based forces of automation as software is. It’s thus reasonable 2 to make a default assumption that the length of software’s centaur age will be similar to chess’s. Suppose I have convinced you that human-AI partnerships will be the dominant force in software engineering for at least the next decade. What then? Don’t quit! Don’t give up on software engineering and go become a carpenter, or open a cafe, or try to get a retail job. Unless you are somehow really, really passionate about doing those things, it is going to suck : unrewarding, grueling work that you are not good at. A decade of software engineering work is long enough to take your time and think seriously about your next steps. Lean into the partnership. A guaranteed way to fail in a centaur age is to refuse to become a centaur. The idea that AI is a passing fad was a reasonable position to hold in 2023, but we’re way past that now. The AI financial bubble popping will not mean the end of AI . It’s here to stay. Think hard about what value humans can still add. This is going to change over time, and getting it right is the difference between being an effective (and employed) centaur and being a meat proxy . In 2023, technical expertise was the primary source of human value. Today, I personally think it’s going to come down to alignment , but this is still early days. I’ve also seen arguments for taste, though it’s hard to define that non-circularly. We need a lot more engineers thinking through this problem. It’s a common fear response to try and skip ahead to the worst-case scenario. But those of us working in the age of centaurs should avoid that. We need to think about how the job of software engineering functions now , not how it might function in twenty years when AI has completely transformed the landscape. People are too quick to declare that we’re in the software engineering apocalypse. We can certainly see it from here, but we’re not there yet. The spectre of full automation can loom on the horizon for decades. If you panic and jump ship early, you could be giving up on an entire normal-length career. Maybe: AI as fundamentally different technology; diffusion of even radically better technology is slow in practice and bottlenecked by organizational friction; human software companies will get outcompeted? I don’t really know what I think about these arguments. This move should be familiar to anyone with a philosophy background. If you have one argument and one counter-argument, the most recent counter-argument is probably right. If you have a stack of arguments and counter-arguments going back a thousand years, the most recent counter-argument should be treated with suspicion: better to take in the whole debate holistically and judge which side is more compelling to you. Maybe: AI as fundamentally different technology; diffusion of even radically better technology is slow in practice and bottlenecked by organizational friction; human software companies will get outcompeted? I don’t really know what I think about these arguments. ↩ This move should be familiar to anyone with a philosophy background. If you have one argument and one counter-argument, the most recent counter-argument is probably right. If you have a stack of arguments and counter-arguments going back a thousand years, the most recent counter-argument should be treated with suspicion: better to take in the whole debate holistically and judge which side is more compelling to you. ↩

0 views
Kev Quirk 6 days ago

2026-10-09 20:15: First fire of the year and Sid is loving it. Not sure we appreciated the...

First fire of the year and Sid is loving it. Not sure we appreciated the giant queen wasp that came bumbling out of the chimney though. Thanks for reading this post via RSS. RSS is ace, and so are you. ❤️ You can reply to this post by email , or leave a comment .

0 views

Premium: The Hater's Guide To Junk

Ladies and gentlemen, we are in a glorious, splendiferous, outrageous era of crap!  Some call it “high-yield,” some call it “speculative-grade,” but to those of us living in the real world, we know them as junk bonds, the formerly-sleepy world of below-investment grade debt that’s exploded in the last six years.  Since the beginning of 2011, junk bond issuance has increased by seventy-five times , from a mere $3 billion issued against $60.8 billion in investment-grade bonds in the first half of 2011 (around 5%) to an astonishing $229 billion of junk against the $805.9 billion in the first half of 2026 — making the high-yield market about 28.4% the size of the investment-grade market. The high-yield market has ballooned over the last few years thanks to the vagaries of the global economy and, in recent years, the arrival of an entirely new category of crap.  And “junk,” in the case of today’s newsletter, is going to extend so much further than simply “high-yield,” and into the murky world of leveraged loans that have been used to fund dodgy software deals and an increasing amount of data center debt deals. So why should you give a shit about junk?  As I covered in this week’s free newsletter , Anthropic and OpenAI are two of the single-worst businesses in the history of capitalism, with negative EBITDA cashflows and massive customer concentrations, making them likely to be rated toward the lowest tiers of junk — CCC, or the equivalent rating in Moody’s system, Caa: While you probably know this, “default” refers to when a company has missed a payment on its debt and the credit agencies don’t believe that it will ever make that payment.  The AI labs will require $50 billion to $100 billion of annual issuance across the worlds of high-yield, private credit, leveraged loans (high-interest loans with floating rates issued to companies with a ton of existing debt), and revolving credit lines that, according to a source in fixed-income, are the kind of thing you only use as a last resort. They’d also be the first parts of the AI industry to truly touch the world of junk other than the disgraceful AI neoclouds, companies that raise oodles of debt with the vague promise of building AI data centers some time in an indeterminate future, but serve the more immediate benefit of pumping NVIDIA’s revenue numbers by buying GPUs years before they’ll ever dance with the power grid.  Regardless of how shitty it is, this industry needs hundreds of billions of dollars to fund the theoretical buildout of these potentially-possible data centers — CoreWeave alone, per UBS, needs to raise $102 billion in debt through 2030 — at a rate with no historical comparison. Even the railroad bubble of the 1800s had, based on rough calculations of inflation, only around $250 billion in total investment compared to the $400 billion in issuance expected from hyperscalers alone in 2027 . Yet the vast majority of companies building AI data centers range from low credit to no credit, with whatever creditworthiness they may have based near-entirely on their proximity to either NVIDIA or one of the hyperscalers that is invariably going to be their customer. The problem, you see, isn’t really the AI of it all, but the uniquely stinky business of being in AI. Even under the best possible circumstances, an AI data center will need billions of dollars up front, years in advance of any potential return on investment, buoyed only by the hype around the potential payoff at the other end.  All of this exists in a time in history when more and more companies are demanding more and more debt from the markets — including the large, wet son of Larry Ellison and his $52 billion bond/loan sale to fund their takeover of Warner Brothers Discovery , $12.4 billion of which was funded with junk due to the sheer scale of the buyout, with Paramount/Skydance/Whatever paying as much as 9.1% on the 10-year end of the deal.  And as I’ve discussed in the past , Larry Ellison’s Oracle now sits on the very last rung of investment-grade debt , with any further downgrades dropping it into the junk markets and leading to investment and pension funds legally having to dump its debt en masse, which would be a big problem considering the $30 billion or more of personal loans Ellison has collateralized using Oracle stock will face brutal margin calls in the event the stock dumps…which it will absolutely do in the event of a downgrade. Its last downgrade came from the most obvious of places, per S&P Global: Today’s exploration of junk is a culmination of multiple different threads of premium research, ranging from the AI data center bubble to the SaaSpocalypse , with massive amounts of leverage powering some of the worst deals in history, creating a setup for private credit and other investors to lose billions of dollars as a result. Welcome to the Hater’s Guide To Junk, or Enter The Crapverse.

0 views
Simon Willison 6 days ago

A new feature for my blog, built using my voice

I shipped a new feature for my blog today: the Newsletters page, which offers an index of all of the newsletters I've sent out, both my free weekly Substack and my monthly sponsors-only updates. I built the feature almost entirely using my voice, chatting away to my laptop while I cooked dinner. I used the ChatGPT desktop app for this, in the Codex tab, using the voice conversation mode, running against a local development environment. Here's what that looks like: I started the session against my local simonwillisonblog checkout by typing: This gave me a preview of the site that it would be working on, and meant that I could later ask it to show me the new pages so I could visually track its progress. Then I clicked the "Start new voice chat" button - that's not the microphone button, it's the one to the right of it - and set my laptop up in the kitchen so I could talk to it while I cooked. I had a pretty good idea of what I wanted to build, and it's a simple enough Django feature that I was certain the model (in this case GPT-6 Astra High) would be able to do it. A new model, a migration, some view code, templates, and a couple of import functions to populate the database from external sources. Here's an extract of my voice transcript that was captured by Codex: Um, they do not. Um, this is going to be a new type of content. Um, it's not going to show up... Oh, hold on. Yeah, no- I do not want this to show up in my, um, tag pages and date archive pages and... Actually, no, I think... I don't want it on the tag pages. I don't want it on the, um, blog index page. But I think I do want it to show up on the date-based pages. You know, if you navigate to September the 19th, and I sent a newsletter on that page, I think I want that to show up. So... this is- so I think we probably need a new model. The other thing is that I want them searchable, uh the Substack ones are not searchable, because those are actually just copies of other s- on content on my blog. These monthly ones do contain unique content, and spe- and once they're... published, like once they're made public a month after they've gone out, I want them to show up on my search results. Apparently this was clear enough that the model knew what I wanted to build! You can read the full transcript, disfluencies and all, in this Gist . We went on like this for about half an hour (the time it took to cook dinner). The model would reply and occasionally ask clarifying questions, then get to work modifying the code. We got a surprisingly long way entirely by voice: It was almost ready to ship. The catch was the imports: Astra offered to export data from my local copy so I could import that into production, but I wanted it to work like my other import scripts. Since some of the data lived in a private GitHub repository, this would involve creating a new API key, and for that I knew I'd have to sit at the keyboard for a while. Once I had finished cooking and judged it mostly feature-complete, I had Codex create a branch and open a pull request. I reviewed the code in the GitHub PR interface. It was nearly what I needed, except it had chosen to use Git in a subprocess for one of the import scripts. I needed one of the imports to pull from a private Git repository, so I figured the API would be a better bet. I switched to typing and had Codex swap that out for an API-based import instead. You can see the changes I made during the review in the extra commits on the PR . I fixed the import mechanism and made a few tweaks to the display of those public pages. It took an additional half hour of typing-based prompting to get to the point where I was happy to deploy it to production by landing the PR. You can see the end result at the new newsletters index page , or view the page for a previous monthly newsletter . The index page shows my most recent Substack weekly newsletters and GitHub sponsors monthly newsletters mixed together in reverse chronological order. Further down the page are links to my by-year archive pages. GPT-6 Astra designed the page, and then tweaked that design based on my vocal feedback from glancing at the local preview across the kitchen. OpenAI love using voice-driven demos like this one for things like DevDay - and they do work well in that environment. I don't think this is going to be a daily driver for me though. I've written before about how much "work" I get done using ChatGPT voice mode on my phone while walking the dog - mostly research and brainstorming, but occasionally actual development work by having ChatGPT write and test out snippets of code. This feels different. The addition of the visual preview, plus being able to type or paste things in via the keyboard when I need to communicate something that doesn't work vocally, makes this a much more powerful way of interacting with a coding agent. I still switch back to typing once I get down to the details of things though. Being able to paste in examples and error messages, or directly highlight the code or feature that needs changing, remains more efficient than trying to describe it in words. I mainly work from home, which is good because there's no way I'd want to talk to my computer like this in a shared workspace! The killer feature for me is the ability to multi-task. I usually cook with a podcast or TikTok running; now I can actually build stuff instead. You are only seeing the long-form articles from my blog. Subscribe to /atom/everything/ to get all of my posts, or take a look at my other subscription options . A new model and migration to represent imported newsletters in Django, plus Django Admin configuration for that Four working imports: The most recent Substack items via RSS Every other Substack item via their undocumented API, which GPT-6 Astra knew about (it tried directly) and then ran a search to figure out how to paginate it and found this article by Karen Spinner All of my published monthly newsletters from my simonw/monthly-newsletter-archive GitHub repository My most recent private sponsors-only newsletter from a private repository The /newsletters/ and /newsletters/2026/ public archive pages Newsletters showing up on day and month archive pages too, but not on tag pages or my homepage Weekly Substack newsletters link to Substack; archived monthly newsletters have their own pages Integration with my site search engine

0 views
Michael Lynch 6 days ago

Why Are Coding Agents So Dumb?

The first time I used a coding agent, I was mesmerized . Before the agent, I was copy/pasting between my IDE and an AI chat interface. It was amazing to see an agent edit files directly and fix its own errors in real time. After a few days, the honeymoon wore off as I encountered frequent bugs. The agent would stop responding entirely until I restarted it. Development workflows felt stiflingly primitive, and the agent would often declare tasks finished when work had barely begun. This was in February 2025, so it was still early days for coding agents. I figured that in six months, agents would be as technically impressive as the underlying LLMs. Instead, coding agents just stayed bad. AI-assisted development has clearly advanced, but the models are doing the heavy lifting while the agents remain the bottleneck. In all the hype around AI, the terms tend to get distorted. People are beginning to overload and mix terms like “model” and “agent.” When I say “model,” I’m talking about large language models (LLMs) like GPT Astra, Claude Sonnet, and GLM-5.3. Models generate text and images, including pretty good software code. When I say “agent,” I mean the software that connects models to codebases and computer systems. These are tools like Anthropic’s Claude Code or OpenAI’s Codex. As a simple analogy, the model is the brain, and the agent is the body. The model produces a stream of text, and the agent acts as the glue that plugs the text into the right commands and files on the system. My biggest gripe with coding agents is how atrociously they manage tasks. For example, I have an open-source web app that generates shareable links for file uploads. I recently added support for protecting links with a passphrase . It was a relatively simple change, totalling about 1.5k lines of new code. OpenCode dutifully broke the feature into 10 subtasks, but then it just… did them all one by one: Why are you doing these embarrassingly parallel tasks one at a time? Umm… you’re a computer ! You’re really good at multitasking. That’s why we keep giving you all those CPU cores. You can do multiple things in parallel and context switch millions of times faster than humans. Why are you doing these embarrassingly parallel tasks one at a time? Claude Code multitasks, but only a little. It will spin up a subagent or two, but it still waits for all of them to finish before moving on. Multiple times per day, I’ll see Claude Code sit around for several minutes waiting for my end-to-end tests to finish, and then only after the tests pass does it say, “Hmm, now I should start drafting a commit message. Let me look at the git history to learn your commit message conventions .” When I’m using a cutting-edge model, and it needs to check 50k lines of code for a particular pattern, the agent never stops and says, “Wait, this is something another model could do cheaper and faster.” It just plows on with the slow, expensive model. Conversely, the agent never says, “This model is too dumb for this task. Let me tag in a smarter one.” Of course, I can actively micromanage the task and keep switching the model and thinking level to match each subtask’s difficulty, but why is that my job? Do you also need me to manage your thread pool for you? Do you expect me free your unused RAM for you, too? You know what technology would be good at assigning a difficulty level to a task and then matching those requirements to a model? An LLM! Just ask the LLM to pick the cheapest, fastest model for the task. Why do you need me to babysit you? I constantly run into tasks that are 95% gruntwork, but I still have to assign them to the smartest model because chopping up the task and delegating on the agent’s behalf would take up too much of my time. Thanks for telling me which is the default model, Claude. Agents don’t know anything about themselves. If I ask Claude how to use the features of Claude, it has to search online to figure out what this “Claude” thing is. Claude is more comfortable answering questions about C programming than talking about itself (in fairness, same with most human developers). Uh… you’re Claude Code! You don’t know any of your own freaking features? And you’re just Googling instructions regardless of whether they match your version number? You’ll casually download 13 GB of files for a feature the user has never used, but you can’t spare 50 KB of gzipped text in your install package to explain your own features to you? Imagine if you asked your teammate for a code review , and they started furiously Googling to find out if code reviews are something developers do. And then when you asked them for another code review the next day, they had no memory of your previous conversation and ran back to Google and anxiously typed, I used to love the agent UX feature of separate “Plan” and “Execute” modes. For complicated tasks, I’d ask the agent to create a plan, then I’d review it, suggest changes, and delegate execution to a faster, cheaper agent. Over time, I felt an aversion to reading the plans. I’d often skip my review and just let the agent move straight to implementation. I thought coding agents had made me lazy, but I realized that agents just communicate their plans so poorly that they’re painful to read. Here’s an example of me asking Codex + GPT-6 Astra to add a feature to my media journalling web app : You can’t just list a bunch of disparate details and call it a plan, Codex. That’s not a plan! That’s just a hodgepodge of low-level design decisions. If I asked a competent developer to plan this feature, they’d either start with a high-level plan for UI changes and work their way down or describe changes to the data model and work their way up. If the developer started enumerating random facts about the feature, I’d assume they were brainstorming and come back later. The other night, I kicked off a long task in a coding agent before I went to bed. I came back the next morning to find that the agent hadn’t even started working. It stopped two minutes after I left to ask me what it should name a git branch and then sat all night waiting for my answer. If I had a human employee tell me they sat idle their whole shift because they wanted my input on some superficial detail, I’d quickly fire them. When I started using my first coding agent, I looked for the setting that controlled which files on my system the agent is allowed to access. Surely, there was some sort of filesystem permissions or limited chroot kind of protection that prevents a random and unpredictable piece of software from exploring my entire computer unfettered, right? Not so. The docs encouraged me to write the LLM a polite letter kindly requesting that it not read certain files or directories. I tried that, and the agent immediately ignored my request, exfiltrating private application keys to OpenAI and Anthropic. I thought that security boundaries would be one of the first things coding agents would implement, but even today, agents are only usable if you give them access to everything. Agents routinely bypass their own vendors’ sandboxes . The alternative is to sit there and click “Allow” 500 times a day, and that’s not even reliable protection because you’re bound to misclick eventually. What makes this so maddening is that we’ve had sandboxing tools for more than a decade that can limit the blast radius of mistakes from coding agents. I rolled my own sandbox so that agents can’t explore my filesystem beyond the repo directory. I never have to worry about agents accidentally exfiltrating my home directory or wiping critical files on my machine because they just don’t have access to do that. I know some readers will say that I can solve all of my problems if I just install 200k lines of skill files from random git repos or set some obscure feature flag in my config file. I’m talking about my expectations of what coding agents should be able to do out of the box without me installing random plugins or skill files or spending hours tweaking the configuration. These are the basics that I think should be table stakes for coding agents in 2026. As long as I’m dreaming, here are some additional features I’d like to see, but I recognize that some of these are overindexing on my personal workflows. Okay, getting back to the question in the title, I don’t have a satisfying answer. My best hypothesis is that underinvestment in coding agents is an example of the principal-agent problem . The people setting the direction of AI tooling are executives at companies like Anthropic, OpenAI, and Google. Those executives are disconnected from the rank-and-file developers who use coding agents every day. Many of these executives are dreaming of a future where they can automate away human developers entirely. AI executives, as well as their largest customers and shareholders, pay attention to metrics that are legible to them, such as slick demos and benchmark scores. Security and efficient use of human developer time aren’t relevant to the demos, and barely any of the benchmarks I’ve seen measure the agents themselves; they just measure the underlying models. My hypothesis isn’t satisfying because AI companies clearly care at least a little bit about coding agents. I see a lot of features being added to Claude and Codex every month, though I can’t recall the last time one of them has improved my life. I’ve only tried Claude, Codex, OpenCode, Cline, and Pi. I use OpenCode and Claude Code as my daily drivers. If you’ve got a coding agent recommendation for me, comment below. AI companies - if you want to acquire my imaginary coding agent for $50B, let me know. I’m ready to fork VS Code at a moment’s notice. The agent splits requests into a series of tasks and assigns each task to the appropriate model. The agent optimizes for cost, speed, and correctness and allows the user to adjust the dials per task (e.g., spend more for a faster result). The agent writes plans that optimize for human comprehension. The agent starts at a high level of abstraction and progresses toward the minutiae . The agent creates UI mockups, data flow diagrams, and decision trees . The agent operates within a real sandbox. The sandbox uses OS-level security primitives to create boundaries at the filesystem and networking level. All access control code is deterministic, not humble suggestions that the agent is welcome to ignore. If I ask the agent whether a list of regexes on bash commands is a sandbox, it replies, “No.” The agent applies per-environment sandboxing. The agent has access to a single repo/directory by default. I can give the agent read-only or read-write access to other repos on a per-session basis. The agent is an expert on itself. If I ask the agent how to express a task or workflow to the agent, it knows the answer without having to search online. The agent can use any LLM provider, including unlimited plans. The agent is open-source. If I don’t answer a question in “Execute” mode, and I haven’t interacted with the session in 30 minutes, the agent makes the decision independently. The agent also offers an “AFK mode,” which skips the 30-minute wait. The agent lets me drive the subagents, too. I should be able to jump into any agent session and drive it or tell it to short-circuit and end early. If the agent tells me that Fable is not available on my Max plan , the agent vendor’s CEO must remain in stockades until the bug is fixed. The agent offers a web interface that shows me a unified view of all sessions and which ones require attention. The web backend runs locally and doesn’t require me to open a tunnel from the Internet that executes arbitrary commands on my system. The web interface works well on my phone. The agent maintains an ETA for task completion. Each subagent maintains its own ETA as well. The agent continuously updates this estimate as the task progresses. The agent tunes its estimation algorithm based on the accuracy of its past estimates. The agent reviews its own sessions and looks for opportunities to improve. e.g., “Wow, I blew through $1k/day in tokens the past five days trying to parse this 20 GB log file with ad-hoc commands. Let’s build a custom tool to do this efficiently.” The agent comes with a good language-aware diff view. I don’t want to have to push to GitHub to see a useful diff of the agent’s work. The agent natively supports a proxy for injecting secrets into network requests. The agent can make requests that require credentials but can’t exfiltrate the credentials to another host. The agent considers provider quota limits when selecting an appropriate model. e.g., if my weekly quota resets in 3 hours, and we still have 90% of quota available, stop optimizing for cost. For tasks above a configurable complexity threshold, the agent automatically requests a code review from another model. The two models iterate on reviews until they converge on the fixes.

0 views
fLaMEd fury 1 weeks ago

Open Tabs September 2026

What’s going on, Internet? If you don’t follow my Bookmarks through the feed , then here’s the bookmarks from September. Enjoy. For more, check out the bookmarks archive, and subscribe to the feeds if you want these as they happen. 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. MVNDY — THE POWER OF VISION Spend more time on the idea than the tooling. Craft on its own doesn’t change much. I don’t like passkeys I’m not a big fan of passkeys either. I’ve tried them and don’t particularly care for them. Rubenerd: Ban infinite scrolling I’ve never liked infinite scroll. I prefer pagination. I always lose my place in infinite scroll websites. This is my top hate of Discourse. Give me pagination. The Art of Brütal: Inside the Creative Legacy of Sam “Samwise” Didier | MadmadeLabel Fantastic interview with Samwise Didier, the original artist of Azeroth FINDING MUSIC WITH A LITTLE LESS BIG TECH Ways of discovering music when you’re not on DSP’s or social media. I follow local music venues, local online music mags and music writers. Simplest single file webring implementation : Garden of Learning by Juhis Juhis shares how to create and manage a simple webring in a single page. Celebrating One Year on the Small Web Small wins on the small web 😃 Start a Blog Shannon shares how to start a blog 😃 Harry Potter and the Teenage Websites of Yore GeoCities, FrontPage, and diving into creating websites with HTML. Love it. FrontPage was a crutch before Dreamweaver came around. A Creative’s Guide to Personal Websites (Zine) - with words, wonder James hits us with a neat zine angled at those who think they can’t make a website. Such a cool little project!

0 views

No Man Is an Island

In this post, I argue that individual intellectual activity can only be sustained in an intellectual community of other humans. AI dissolves these communities, which in turn makes private intellectual activity rarer. Some years ago, when it became clear that AI would solve software engineering, my thinking was: The second point has not quite worked out. What actually happened? First, the discourse of software engineering became worse. As I wrote earlier : Claude Code was released a little over a year ago. In that short time, software engineering has been completely transformed. Materially, it might be positive: higher productivity, though at the cost of a messier codebase. Socially, it has been a disaster. The discourse around software engineering has gotten dumber. It’s like everyone in the industry lost 30 IQ points. People used to talk about compilers, type systems, logic. Now they talk about “prompts”, “harnesses”, “loops”. The discourse is narrower, shallower, and more repetitive. There’s only so many times I can hear about “agentic harnesses” before I lose my mind. Then there’s the loss of human capital formation: there is nothing to learn. Prompting is not a skill, at least, it’s a much shallower skill than software engineering. The instrumental dimension of the work has improved in that people can get more output per unit of effort, but the dimension of work that’s about building up human capital has collapsed. And maybe this is rational. Why learn to code at all? The computers can do that for us. And so the rigorous, systematic thinking you need to practice in order to be a good programmer: all gone. The machines can be rational for us. We can just vibe. Second, contributing to the commons of software engineering is increasingly pointless. Before AI, you could publish open-source code, write blog posts to share ideas or inspire other people, write expository texts like tutorials, forum posts, textbooks etc. to teach people. After AI, what’s the point? It’s not just “you can’t get GitHub stars or traffic to your blog”; rather, there is no sense of a common human project you can contribute to. There’s your own private garden of code, which you can grow infinitely in all directions with the help of AI, but you never have to leave the garden and go to the bazaar to trade with people. Under these conditions, it’s hard to care or do anything. But does it actually matter? Does it matter if we stop writing blog posts about obscure JavaScript features, and designing new programming languages? Maybe writing code was always drudgery, and now we can move on to higher things, like math— oh, wait . From observing what happened to software engineering, and what’s currently happening to mathematics, I think we can derive some general insights about intellectual practices in general. We tend to think of intellectual activity as private and solitary: the philosopher sitting in his armchair, deriving the world ab initio . But intellectual activity has two inputs that can’t be acquired in isolation: a shared body of work to build upon, and motivation . The shared body of work is communal, unless you want to recapitulate the entire tech tree. Motivation we can break down into two components: We tend to think of intrinsic motivation as the purest kind: endogenous, self-created, unmotivated by material or social gain. But it’s an emotion, and, like all emotions, it’s transient and short-lived. And this is rational: otherwise, we’d all be stuck in life-long unproductive obsessions. So, we need something to fill the gaps between moments of divine inspiration. Extrinsic motivation serves this function. Private intellectual activity that is sustained, complex, and long-term requires an external intellectual community to provide material and motivation, like fuel and oxidizer. That private activity, in turn, sustains the community: by publishing papers, textbooks, code, etc., you add to the shared body of work for others to build on top of; by citing someone’s paper or contributing to their repository, you give them the recognition and honor that confirms they are doing useful work, which in turn motivates them to keep contributing. Without community, you don’t get isolated individuals each working on their own things: you get nothing. The inputs to intellectual activity dry up: no one is adding to the shared body of work, and there are no peers to benefit from your own intellectual activity. Without this extrinsic motivation, you get less intellectual activity because, again, intrinsic motivation is fleeting. After AI, intellectual contributions become unnecessary or redundant. In the case of software: the AIs write all the code, so what’s the point of writing either code or prose? The audience for those things is now severely diminished. Humans don’t write code anymore, so they won’t read blog posts about how to write code, or tutorials, or try new libraries or programming languages. In the case of mathematics: the AIs can prove theorems, write papers, explain papers, tutor students, and in the near future, they might write entire textbooks better than humans. So what’s the point of writing a paper, or a textbook? It’s superfluous. If intellectual activity is unnecessary—if there’s no consequence to designing a new programming language or publishing a paper, or if there’s simply no community to contribute to—then it won’t happen. There’s no point. Now apply this to every other domain of intellectual activity, and you see what the future looks like. There may be individuals building new libraries and programming languages, but no shared culture of software engineering; there may be individual students and practitioners of mathematics, but no living community of mathematicians. I’ve spoken to people who think AI will have a positive effect on the life of the mind, and their thinking is that right now too many people are doing intellectual activity for instrumental reasons: citations, clout, etc. In this view, the collapse of intellectual communities is good , because it sifts the intrinsically-motivated übermenschen from the clout-chasing masses. I think this view fits with contemporary society: we view intrinsic and extrinsic motivation as high and low status, respectively. A “developed” person is supposed to have a private, inexhaustible reserve of motivation which is causally disconnected from external reward. But this is not a realistic view of human beings. Humans are social animals who can only flourish in the society of other humans. We care, and we should care, about contributing to the world. And if technology makes our contributions superfluous, then what is left? Thanks to Luke Drago and Andy Matuschak for feedback and conversations. In my professional life, I’m happy to move one level up to become a manager of AI agents. I’m literate, I’m a good technical writer, I can describe what I want and let AI agents write the code. In my own time, I can keep doing the things I care about because I enjoy them intrinsically. This is the “intellectual” side of software engineering: reading technical blog posts and papers, learning new programming languages, designing new programming languages, writing technical essays, writing code for my tiny open source projects. You write a blog post: who’s going to read it? The next training run will ingest it, marginally improving AI capabilities. Maybe the post was a workaround to some obscure technical problem, so the next time someone encounters that problem, they will ask Claude, who will solve it without crediting you. Maybe you had some insight about how to structure large codebases: who cares? The humans aren’t making those decisions anymore. You design a revolutionary new programming language: who cares? Maybe Claude cares, for what that’s worth. But humans don’t write or even read the code anymore. The programming language is an implementation detail the humans no longer have to care about. You write a library, and publish it on GitHub: who cares? The AIs might discover it, and use it, but the operator won’t know you exist or did anything. Intrinsic motivation: we learn for the sake of learning, we create art from a compulsion we can’t understand, etc. Extrinsic motivation: David Chapman defines “nobility” as manifesting glory for the service of others, and using our abilities in service of others. We want our work to be useful to others, we want others to benefit from our work, we want to contribute to a shared human project. Fame and the esteem and good will of your peers are the proxies by which we measure our contribution.

0 views
Andre Garzia 1 weeks ago

BlogCat got a new Youtube subscriptions page

Made a really nice feature today after a friend requested it, added a new page to BlogCat that will list all the Youtube Channels you subscribed as a thumbnail grid, much like a non-algorithmic version of their home page. That means that you can use BlogCat to subscribe to channels, use the new page to view latest videos from the channels you subscribed, and use an alternative front-end to view the said videos such as invidious or nadeko. By combining these features, one doesn’t even need to have a Youtube account. It is quite neat and it skips algorithms and so on.

0 views