Latest Posts (20 found)

I've Completed 100 Days To Offload (Again)

I just published my motorbike servicing rant and went over to my Pure Blog Dashboard to take a look at some stats, when I noticed this: 101 posts in the last year; which means I've complete 100 Days to Offload for a second time! 🎉 The whole point of the is to challenge you to publish 100 posts on your personal blog in a year. Mission accomplished! If you're interested in taking part in the challenge too, make sure you get yourself added to the hall of fame once you've completed it. 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

Motorbike Servicing Rant

So my BMW S1000XR is now a year old and it's going in for its first "full service" . It had it's "break in" service after a few weeks of ownership, but that's just an oil change. New bikes come with a very thin oil inside the engine that's used to help with the break-in process. After 500 or so miles, this needs to be swapped out for proper oil. I contacted the dealership for a price and some potential dates, this is the breakdown they came back with: So nearly £350 for what's effectively an hour's work and around £50 in parts. I'm mechanically minded and could easily do this at home, but like most modern vehicles, my BMW doesn't come with a service book that is stamped. These days the service history is all stored centrally with BMW, so means that the service has to be carried out by them. There is a misconception that home servicing will void the warranty of a new bike. It won't as long as the person doing the service uses OEM parts and has done it to manufacturers specification - which I always do. But I bought this bike from BMW, so if I hand it back after 3 years with a generic eBay service book that's been stamped by me, even though it's been done to a high standard, it will affect the trade-in value. Ipso facto, they have me by the balls. I get it, margins are small and this is how dealerships make money, but I wish they would make it accessible for mechanically minded people, like me, to service at home. 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 . Labour - £150 Oil disposal - £20 Oil - £80.60 Sump plug washer - £0.96 Oil filter - £17.29 Brake fluid - £11.92 Tax @ 20% - £56.15 Total: £336.92 (~$455)

0 views

PSA Crypto: The P is for Portability

Arm’s Platform Security Architecture (PSA) was released in 2017, but it was two years until the first beta release of the PSA Cryptography API in 2019, and another year until the 1.0 specification in 2020. Aimed at securing connected devices and originally targeting only Arm-based systems, PSA has evolved with the donation of the PSA Certified program to GlobalPlatform in 2025, allowing non-Arm devices, such as popular RISC-V microcontrollers (MCUs), to achieve certification.

0 views

Writing an LLM from scratch, part 32j -- Interventions: trying to train a better model in the cloud

Since early February, I've been trying various interventions on a 163M-parameter GPT-2-style model that I trained from scratch on my local RTX 3090 , using code based on Sebastian Raschka 's book " Build a Large Language Model (from Scratch) ". My original model got a loss of 3.944 on my test set, while the original GPT-2 weights got 3.500 on the same dataset. I wanted to see if I could close that gap, and had a list of potential changes to the training setup, and to the model itself. Which of them would help? I found a list of solid-looking interventions, and in my last post I came to the conclusion that the improvements in loss I had seen with all of them -- with two possible exceptions -- seemed unlikely to be in the noise. What would happen if I tried to put them into a new model? Let's start by looking at the results that we have for the interventions so far -- this is the table I've been using as I go through them, but I've updated it to contain the loss figures for each model to six decimal places instead of three, and made each model name link to the associated post. I've also corrected the loss for the model, which was mistakenly using the training loss at the end of the run rather than the loss on the test set 1 . As I've mentioned before, simply moving to training in the cloud improved things markedly, getting loss down from 3.944 to 3.691526; I suspect this was due to having a closer-to-optimal batch size (more about that in my next post). What to do about the other interventions, though? It seemed clear that two of them were not helping: weight tying, and the one using the figure for weight decay that I'd (I suspect incorrectly) derived from a paper by Cerebras Research. The "no-AMP" run (which would be better described as "full-fat float32") had a small positive effect, but was so costly in terms of both time and money that it wasn't worthwhile. So we had five interventions to try: How would they stack up? It seemed pretty unlikely that their independent contributions would just sum up neatly so that we got a total improvement of 0.013209 + 0.022141 + 0.048586 + 0.050244 + 0.089609 = 0.223789 (though that would certainly be nice!). One question to consider was how independent they were. For any set of interventions, you can imagine them being independent and adding up nicely, or pulling in separate directions so that the combined effect is worse than the sum, or pulling in the same direction so that they amplify each other. My intuition was that gradient clipping and removing dropout were pretty independent, at least conceptually. They might affect other interventions indirectly (eg. via changing the training run's use of the random number generator) but they'd be unlikely to have a direct effect. QKV bias I was less sure about, but it seemed -- again, just intuitively -- at least reasonably independent of the others, with one important exception (which I'll get into below). By contrast, weight decay and the learning rate interact together quite strongly, at least in standard gradient descent, and I'd tested them in isolation. The result for changing the weight decay to 0.01 was based on a fixed learning rate of 0.0004, and the result for scheduling the learning rate was based on a weight decay of 0.1. That felt like an issue, and definitely needed some thought. Additionally, there were some issues with which interventions might have not had a real effect, and instead just been the results of the use of randomness. While my analysis of how that might have affected things was somewhat limited by the number of test runs I could afford to do, it did show up two plausible issues: After some thought, I came up with a plan. If I were doing this properly and scientifically, I suppose I'd try every combination of interventions, but that would be ruinously expensive 2 , so a sensible minimal set of training runs felt like this: When those completed, I'd find the test set loss for both models. I'd choose the best run, and then do another run with those settings, but with weight decay switched back to the original value of 0.1. I chose to revert weight decay rather than the learning rate stuff because this was the one I was least sure about -- the updated "GPT-2" value of 0.01 is very unusual by today's standards, and I'd come to it via a rather circuitous route -- see the post for more details. The best of the three runs would be the winning combination of interventions. Again, this was not an exhaustive plan 3 . But it seemed to make sense. Let's see how it turned out. Just to recap, this one had these interventions against the baseline: It did not have QKV bias. You can see the config here . Here's the loss chart over the course of the training run: As normal with learning rate scheduling, I also charted that to make sure it was doing the right thing (you can see that it was): And I also tracked the gradient norms -- you can see that there was some clipping happening near the start of the run: At the end of the run, it reported this: That's a slightly lower final train loss than normal, and it took 3h10m, which is faster than usual, but about the same as the other train we did without dropout -- that makes sense, as the process of zeroing out random activations isn't free. I downloaded the model -- here it is -- and then ran the smoke test: ...and got its loss on the test set: Not bad at all -- the best result we've had so far, albeit not quite up to the standard of the original GPT-2 weights. Now the next one, with QKV bias. This one had these interventions: You can see the config here . Here's the loss chart: ...the learning rate: ...the gradient norms (note that we had more clipping, about halfway through): ...and the final printout at the end. That final train loss is slightly higher, which is normally an indicator that the test loss will be higher, but we'll have to see. Time to download the model -- here it is -- and on to the smoke test: ...and then the moment of truth -- what was its loss on the test set? As I suspected from the training loss at the end, slightly worse than the run without QKV bias. So, that meant that we should do the next run, with a weight decay of 0.1, with no QKV bias. Given the above results, this one had these interventions vs the baseline: Weight decay was back to the baseline value of 0.1, rather than the value of 0.01 used in the previous two runs, and QKV bias was switched back off. You can see the config here . Here's the loss chart: You can see that it's much choppier than the previous two runs; that initially surprised me, as the higher weight decay means that we're regularising the model more than we were with those, which I thought would "calm things down". But on reflection, I had it backward. Hand-waving a bit, a more regularised model is fitting less closely every detail to the data it has seen, considering the typical stuff more than it does the outliers. That means that when something a bit more out-of-distribution appears, it might not have yet learned how to integrate it into its model of the world. Well, it sounds plausible, anyway :-) On to the learning rate (just to double-check), and it's fine: And again, the gradient norms: ...which similarly to the loss chart show more occasions where gradients spiked and had to be clipped -- even towards the end of the training run this time. The final printout at the end: Once again, although the final train loss is not definitive, it tends to be indicative of the test loss. It's in between the last two runs, so we'd expect the test loss to be likewise in between theirs: Time to download the model -- here it is -- and on to the smoke test: Hmm. At least vaguely coherent, though I'm not 100% convinced. It looks like ads for personal injury lawyers have crept into FineWeb somehow... Still, it's time for the test loss (drumroll): As predicted from the train loss, it's in between the two runs above. Let's put these three runs into the results table: As a reminder: You can see that adding on QKV bias actually made the model worse than the learning-rate-only intervention. That pushes me slightly away from the "it's all about the initial weights" direction; perhaps instead the bias adds some kind of stability that the learning rate scheduling also provides, and they fight against each other? Unfortunately I think the only way to pick it apart would be to do a full set of runs, switching each intervention on and off independently, and that would be too costly. The fact that the weight decay change from 0.1 to 0.01 actually did help when combined with the learning rate change and scheduling was a bit of a surprise; because they're both coupled when we think about standard gradient descent, I was expecting them to be too intertwined for my tests of them in isolation to have been valid. Quite pleased that it didn't work out that way, though, because sweeping across values for different parameters is much easier than it would be if they were connected. However, at this point it occurs to me that it might be because we're using the AdamW optimiser. As I understand it, its big difference versus Adam is that it decouples weight decay. I don't have a solid mental model of what that means exactly (will read up and post about it eventually), but it certainly seems pertinent here. Anyway, I have to say, I'm both pleased with and disappointed by these results. Pleased because we got a result by putting interventions together that was better than any of them in isolation, but disappointed that the end result wasn't even better. The difference between 's loss, at 3.691526, and original GPT-2 small's, at 3.5, was 0.191526. Our best result, for , was 3.577761, so an improvement of 0.113765. That's about 60% of the way there. That said, by sheer chance, while trying out the different sizes of cloud machines, I'd got from a loss of 3.944 training locally to the baseline's value of 3.691526 -- I suspect due to the fact that training in the cloud meant that I could use batch sizes of 96. So a different way of looking at it is that we should include that in the calculations too. From 3.944 to 3.5, the gap with GPT-2 small was 0.444. And we went from 3.944 to 3.577761, an improvement of 0.366239. And that means that we managed to get 82% of the improvement we needed. On the other hand, it means that in terms of my improvements, 0.252474 came from a happy accident, while all of my careful work on interventions only got me 0.113765. :-( Anyway, I think that for now, I'll have to rest happy with that as a result -- and next time around, let's see if we can get to the same level of improvement locally, using gradient accumulation. Luckily the difference was small enough that it doesn't change any of the conclusions I'd made about it.  ↩ Because there are five interventions, and each can be on or off, then it's equivalent to a 5-digit binary number. So that's 2 5 trains, less the five ones I'd already done and the baseline, for a total of 32 − 6 = 26 . At US$50-odd for a train, that's definitely a no-go.  ↩ I did also consider changing the random seed at the start of the code to 67 rather than 42, given that it seemed to provide better initial weights when I was exploring the effects of random noise on the training. I even started the first two training runs with that in place. However, on reflection I realised that it would be one step too far away from scientific rigour. I'm not trying to be 100% rigorous in these posts, but it seemed like a step too far to diligently test all of the interventions against one seed, and then YOLO in a different one for the final training runs.  ↩ Gradient clipping. QKV bias (that is, adding bias to the attention weight matrices). Changing weight decay to the GPT-2 value (0.01 rather than the 0.1 that is typical nowadays). Removing dropout Updating the learning rate from 0.0004 to 0.0014, but also scheduling it so that it varies over the course of the training run. Adding gradient clipping looked like it might have been within the training run noise. Adding QKV bias would have had a large effect on the model's initial weights. All of the others would have started with essentially the same weights (apart from weight tying, though even that would have had the same values for the initial weights apart from the tied ones). But adding the bias would have completely changed them, and its effect size was comfortably within the range of differences you might expect from that. Start a training run with all of the interventions apart from QKV bias. In parallel (Lambda instance availability permitting) run another one, with all of the interventions including QKV bias. Gradient clipping at 3.5 Weight decay changed from 0.1 to 0.01 Dropout removed Learning rate changed from 0.0004 to 0.0014, with a warmup over 5% of the run then a cosine decay to 0.00014. Gradient clipping at 3.5 Weight decay changed from 0.1 to 0.01 Dropout removed Learning rate changed from 0.0004 to 0.0014, with a warmup over 5% of the run then a cosine decay to 0.00014. QKV bias switched on. Gradient clipping at 3.5 Dropout removed Learning rate changed from 0.0004 to 0.0014, with a warmup over 5% of the run then a cosine decay to 0.00014. was gradient clipping at 3.5, weight decay changed from 0.1 to 0.01, dropout removed, and the learning rate intervention, but no QKV bias was gradient clipping at 3.5, weight decay changed from 0.1 to 0.01, dropout removed, and the learning rate intervention, with QKV bias was gradient clipping at 3.5, dropout removed, and the learning rate intervention, but no QKV bias, and no change to weight decay . Luckily the difference was small enough that it doesn't change any of the conclusions I'd made about it.  ↩ Because there are five interventions, and each can be on or off, then it's equivalent to a 5-digit binary number. So that's 2 5 trains, less the five ones I'd already done and the baseline, for a total of 32 − 6 = 26 . At US$50-odd for a train, that's definitely a no-go.  ↩ I did also consider changing the random seed at the start of the code to 67 rather than 42, given that it seemed to provide better initial weights when I was exploring the effects of random noise on the training. I even started the first two training runs with that in place. However, on reflection I realised that it would be one step too far away from scientific rigour. I'm not trying to be 100% rigorous in these posts, but it seemed like a step too far to diligently test all of the interventions against one seed, and then YOLO in a different one for the final training runs.  ↩

0 views

Fewer Computers, Fewer Problems: Going Local With Builds & Deployments

Me, in 2025, on Mastodon : I love tools like Netlify and deploying my small personal sites with But i'm not gonna lie, 2025 might be the year I go back to just doing builds locally and pushing the deploys from my computer. I'm sick of devops'ing stupid stuff because builds work on my machine and I have to spend that extra bit of time to ensure they also work on remote linux computers. Not sure I need the infrastructure of giant teams working together for making a small personal website. It’s 2026 now, but I finally took my first steps towards this. One of the ideas I really love around the “local-first” movement is this notion that everything canonical is done locally, then remote “sync” is an enhancement. For my personal website, I want builds and deployments to work that way. All data, build tooling, deployment, etc., happens first and foremost on my machine. From there, having another server somewhere else do it is purely a “progressive enhancement”. If it were to fail, fine. I can resort back to doing it locally very easily because all the tooling is optimized for local build and deployment first (rather than being dependent on fixing some remote server to get builds and deployments working). It’s amazing how many of my problems come from the struggle to get one thing to work identically across multiple computers . I want to explore a solution that removes the cause of my problem, rather than trying to stabilize it with more time and code. “The first rule of distributed computing is don’t distribute your computing unless you absolutely have to” — especially if you’re just building personal websites. So I un-did stuff I previously did (that’r right, my current predicament is self-inflicted — imagine that). My notes site used to work like this : It worked, but sporadically. Sometimes it would fail, then start working again, all without me changing anything. And when it did work, it often would take a long time — like five, six minutes to run a build/deployment. I never could figure out the issue. Some combination of Netlify’s servers (which I don’t control and don’t have full visibility into) talking to Dropbox’s servers (which I also don’t control and don’t have full visibility into). I got sick of trying to make a simple (but distributed) build process work across multiple computers when 99% of the time, I really only need it to work on one computer. So I turned off builds in Netlify, and made it so my primary, local computer does all the work. Here are the trade-offs: The change was pretty simple. First, I turned off builds in Netlify. Now when I Netlify does nothing. Next, I changed my build process to stop pulling markdown notes from the Dropbox API and instead pull them from a local folder on my computer. Simple, fast. And lastly, as a measure to protect myself from myself, I cloned the codebase for my notes to a second location on my computer. This way I have a “working copy” version of my site where I do local development, and I have a clean “production copy” of my site which is where I build/deploy from. This helps ensure I don’t accidentally build and deploy my “working copy” which I often leave in a weird, half-finished state. In my I have a command that looks like this: That’s what I run from my “clean” copy. It pulls down any new changes, makes sure I have the latest deps, builds the site, then lets Netlify’s CLI deploy it. As extra credit, I created a macOS shortcut So I can do , type “Deploy notes.jim-nielsen.com” to trigger a build, then watch the little shortcut run to completion in my Mac’s menubar. I’ve been living with this setup for a few weeks now and it has worked beautifully. Best part is: I’ve never had to open up Netlify’s website to check the status of a build or troubleshoot a deployment. That’s an enhancement I can have later — if I want to. Reply via: Email · Mastodon · Bluesky Content lives in Dropbox Code is on GitHub Netlify’s servers pull both, then run a build and deploy the site What I lose : I can no longer make edits to notes, then build/deploy the site from my phone or tablet. What I gain : I don’t have to troubleshoot build issues on machines I don’t own or control. Now, if it “works on my machine”, it works period.

0 views
Grumpy Gamer Yesterday

Death by Scrolling Consoles

After some delays with getting console certification, I’m happy to announce the release of Xbox , PlayStation and Switch (and Steam update) of Death by Scrolling on April 16. Console and Steam feature a big update that includes a new playable character, new world, new powerups, new stuff and new fun. We completely reworked your ability to customize your character. It’s a huge update.

0 views

Overview of My Homelab

I've had a homelab for quite some time now, although it hasn't been a linear process. I first got into it when I heard about Plex, which at first, I was under the impression of it being a free streaming service with everything. I set it up with the installer on my computer and was frustrated and confused to learn that it I gave up on it for who knows how long. Then, I heard about Jellyfin, which is an open-source version that a lot of people seemed to like. I wanted to learn more. I set up Jellyfin on my computer and loaded some movies onto it, then streamed them from the same PC hosting it. Okay, I thought. So it provides a video player basically. Big deal. I have no idea how to access it from other devices or anything interesting. So again I gave up. It wasn't until me and my brother went halfsies on a Synology NAS on June 14, 2024 1 and I had a few years of university and self-tinkering knowledge under my belt that I truly got into homelabbing and self-hosting. At that point, I knew full well what a server and client was, and all about networking. 2 I set up the Synology NAS, at the time living with my parents, and installed both the 8TB HDD that I had bought for my items, and the 16TB HDD that my brother bought for his. 3 I used it as a network-attached storage, as intended at first. Backups and all that. However, I really wanted to get into hosting services . I had been following technical blogs at that point as well as r/selfhosted and really wanted to sink my teeth into it. The Synology NAS has limited resources, being mainly for storage. That didn't stop me from hosting some basic items. I started with Plex, then moved on to Jellyfin. I hosted both at the same time so that if Jellyfin didn't work, I could just use Plex. To this day I use Infuse on my Apple TV and other devices and have it hooked up to my Jellyfin server. Next, I tried Mealie, then switched to Tandoor, since I love to cook and bake at home. I also set up Actual Budget, which is probably one of my top-used services now. It completely changed the way I handle my money. Eventually, I went in on a used Dell PowerEdge R730, which is a 2U rack-mounted enterprise server designed for data center and business-critical workloads. For me, it's a great noise-making machine that has lots of upgrade potential! Here is the boring technical details: A year into using it, and it does exactly what I need it to do every time, no questions asked. Over time, I connected it to an APC UPS to protect it from power outages, and hooked up a used Dell Optiplex I had sitting around to the same UPS. I used to call the Optiplex my "Minecraft Machine," because all it did was run Minecraft servers (and worked excellently). At this point, I've moved all my servers to the PowerEdge, managed by the service CraftyController for easy setup and server start-and-stop. The Optiplex now serves as a remote desktop solution, since my lab is at my parents', 4 allowing me to access the network easily. I also use Tailscale to access serveral services remotely without fully exposing them. When I want to expose a service normally, I use free cloudflare tunnels . For my hypervisor, I have Proxmox installed on the PowerEdge, and all of my services run in their own LXC containers. In the future, I hope to migrate most services to a more energy-efficient and compact mini computer running Ubuntu or Debian Server and managed with Docker instead. For now, Proxmox is very powerful and intuitive, and made it incredibly easy for me to set up snapshots and backups as well as monitor resource usage. Finally, here is a list of my services: It's quite easy to get started yourself making a homelab or self-hosting services. Buying a VPS can make it even easier, like Hostinger's one-click deployment options. You can also simply install Linux with docker containers on an old laptop or other computer you don't use anymore. I know it's been more than worth it for me. Check out r/selfhosted , self.hst newsletter, and YouTube if you want to learn more about selfhosting. Subscribe via email or RSS I went through my Amazon order history for this date. ↩ I would say my first experience hosting a server was hosting multiple Minecraft servers over the years for me and my friends. This is also where I learned basic networking concepts, like what a LAN is, what TCP/UDP is, port forwarding, etc. ↩ I thought this was enough storage to last a lifetime at the time. Scroll through r/DataHoarder and think again. ↩ My parents' house is powered by solar panels, making this a much cheaper and more manageable option for my poor student situation. ↩ Wouldn't work unless my PC stayed on, Didn't really have ad-free subscription-free streaming. Apparently you had to acquire the content yourself. 8 Bay 2.5" SFF H730 Raid Adapter Dual Xeon Processors Dual 750W PSU Total PCI Express X8 Slots: 3 Optical Drive Type: DVD Player Number of Processor Cores: 16 Total PCI Express X16 Slots: 1 Memory Type: DDR4 Memory Frequencies Supported: 1333, 1600, 1866, 2133 Total USB Ports: 4 Processor Series: Intel Xeon E5 Total Serial Ports: 1 Server CPU Model: E5-2667 v4 Maximum # of Hard Drives: 8 Total Memory Slots Available: 24 Server Series: PowerEdge R730 LAN Compatibility: 10/100/1000 Gigabit Maximum Hard Drive Size Supported (GB): 43200 CPU Socket: Dual LGA 2011 Front USB 2.0 Ports: 2 Total Hot-Swap Bays: 8 Total RAM (GB): 16 Maximum Memory Supported (GB): 768 I went through my Amazon order history for this date. ↩ I would say my first experience hosting a server was hosting multiple Minecraft servers over the years for me and my friends. This is also where I learned basic networking concepts, like what a LAN is, what TCP/UDP is, port forwarding, etc. ↩ I thought this was enough storage to last a lifetime at the time. Scroll through r/DataHoarder and think again. ↩ My parents' house is powered by solar panels, making this a much cheaper and more manageable option for my poor student situation. ↩

0 views
ava's blog Yesterday

the public

Don't you hate it when you go out in public, and the public is there? Jokes aside, my relationship with the public is difficult. I think most interactions are actually neutral; just passing each other, sitting next to each other, exchanging glances, paying for things. Some are good, and they are so rare that it restores a lot of faith in me. I love that the barista at the coffee shop is always so heart warming and genuinely happy and kind; I have brought him a little chocolate Santa before to thank him. The negative experiences unfortunately stick with me longer, and are the first thing I think of. Vomit, dog poop and litter on the sidewalk, loud music in public transport, smoking and spitting everywhere, getting honked at while walking down the street, people under the influence or in a mental health episode harassing others, public spaces filled with either intense perfume/deodorant or piss and sweat smell... just to name a few. I'm very sensitive to smell and sound, and it often feels like my skin is peeling off and my head will explode when I am exposed to these. My home is my retreat, my silent refuge. I go there to recharge. Basically all of my hobbies can be done independently inside by myself. Aside from work, I don't really go out that often because I don't feel welcome or comfortable outside a lot of times. The above negative experiences, together with urban car-centric design, overfilled cafes or restaurants, and infection risks just don't make it that enticing for me. The exceptions are going out in the dark when the streets are empty, or on long walks in the forest. I need my solitude and quiet, and the few people I see in the forest usually have the common decency not to act like teenagers in a small park area do. When I want to do outdoor stuff with my wife or friends, of course I have to step outside. The museums lately were wonderful, for example. I enter the public, but mainly because my focus is spending time with them. When I dress in bright colors, put on one of my colorful wigs, adorn my hair with stuff and put rhinestones on my face, I mainly do that for me and them; any onlooker is welcome to enjoy it too, of course. Maybe it makes someone feel happy or brave to see that. Still, there is this expectation by many that once you put yourself out there, you consent to what happens to you, and that you perform for others... and that can be disappointing and make you question whether you wanna commit to this at all. Like you should have anticipated rude comments if you dress like that, for example (hasn't happened in quite a while, but still!). I find my relationship to the internet similarly complicated, if not even more so. After all, the internet is where the very same public is that I otherwise tend to have issues with. I have to go outside for necessities, work and enjoyment; but do I have to expose myself on and to the online? Why do I do it? Walking outside, I have very rarely wondered what that person on the opposite side of the street thinks about a topic, or their opinion on how I am dressed; yet at home, in my refuge from the public, I open the internet, and invite the public into my safe space via me seeing their stuff. I see their thoughts, despite being at home. I see things and it's like seeing dog poop not picked up on the sidewalk. I put things online about myself, and therefore invite the public to consume it, to comment on it. It feels weird to acknowledge that. The same thing from above applies here: If you make it public, anything goes. If you didn't want that , you shouldn't have put that online. Makes sense, depending on what it is. An online presence feels so at odds with being a private person in some ways, or being picky about people, and being intentionally harder to access in real life. It can even feel like a narcissistic shrine to oneself at times, or a hardening cast around you that makes it more difficult to change it and let it grow with you as time goes on. I deal with that right now. Online, you can't really retreat; either you're there or you're not, obscurity by using smaller platforms doesn't help much. It also feels weird because in a way, you are expected to put on a performance for an online crowd once you are there. In the offline public, I simply exist in the space to go where I need to go, or to enjoy a meal or the time at the lake. In the online public, I am content to be consumed. We are invited to criticize people like product reviews, or as if they are annoying ads shoved down our throats (and I guess influencers are that). The reactions to people changing up their online presence seem less like they're about a person and more like anger when the formula of a product you like got changed. If someone comes up to you on the street saying you'll never find a man in that getup, they're rightfully seen as a weirdo, but online, it's discourse and engagement is farmed. Recently, I've been wondering why I put in the effort of putting my stuff online to the very same public I don't particularly care about, or sometimes even dislike, on the street 1 . In the offline world, I don't really give them anything, but online, I give them so much. My art, my thoughts, my research, my help. Is it worth it, is it hypocritical? Is it believable when I say I do this for me, my wife, my friends, and some drive-by eyeballs? I could just keep it to myself, keep it all in the journal, start a password-protected blog elsewhere. I don't have any good answers to this; for now, it seems I have to walk around as a contradiction. In real life, I cannot make myself selectively visible to just a few people (I wish I could!); online, I could find a way, but I don't. That's odd. Maybe there is pride in my work and what I do, an urge to be seen by others who understand me, something to prove I was there too, a way to show people alternative ways of being online, or spreading more awareness about specific rights or health issues. Still, it's curious that I would do this online, but not offline - I would not walk up to a random person and say something, or walk around with a banner, or stand at a town square with a megaphone. But do I have to? Or is online simply the best way for me to find a way to interact with, and be in, the public? It's easy to see the internet as a self-obsessed thing, filled with navelgazing; people might read personal blogs online and go "Why should we listen to you? Who even are you? Who cares, who asked? Why do you think anyone needs to hear this from you? Isn't this just digital garbage? This isn't even an original thought." I understand how this view is fostered in a time when anyone can throw their opinions online in seconds; but in a way, this is unprecedented, and previous generations in history would have appreciated the ability to be so easily heard/seen and making their feelings known to so many people without relying on flyers or a newspaper. So maybe this is a privilege we should not take for granted, especially as tensions and censorship across the globe rise. And as always, you have to let in nasty stuff if you also wanna let in love. Close yourself off, and you receive neither. I have to walk past dog poop and sit in sometimes excruciating trams for 45 minutes to reach the nice barista or have a good in-person talk with a coworker. I have received some truly shitty emails over the years 2 , but the good ones outweigh them. I wade through the Discover feed to see some beautiful gems. What makes the online public so difficult is that once it's out there, it's out; even when you change your mind or grow. While we want our online presence to be a continuous process readjusting boundaries, it's more like committing to the most vulnerable piece that is still online, over and over again. In contrast: Before I step into the offline public space, I can readjust how I want to appear every time. The stranger on the street doesn't see all the history attached, doesn't see all the past versions of me that have stepped outside. And here I am, once again, stepping out into the public. Reply via email Published 09 Apr, 2026 Of course I care in the sense that everyone should have a home, money, healthcare, a support network, access to education, fulfilling work etc etc., but that's not what I'm talking about here. ↩ No, socially anxious person reading this and thinking this could be about you, it wasn't you. It could have never been you. The people I am talking about don't care about how they come across and haven't spent a second self-reflecting. You're good. ↩ Of course I care in the sense that everyone should have a home, money, healthcare, a support network, access to education, fulfilling work etc etc., but that's not what I'm talking about here. ↩ No, socially anxious person reading this and thinking this could be about you, it wasn't you. It could have never been you. The people I am talking about don't care about how they come across and haven't spent a second self-reflecting. You're good. ↩

0 views

SQLAlchemy 2 In Practice - Chapter 4 - Many-To-Many Relationships

This is the fourth chapter of my SQLAlchemy 2 in Practice book. If you'd like to support my work, I encourage you to buy this book, either directly from my store or on Amazon . Thank you! Continuing with the topic of relationships, this chapter is dedicated to the many-to-many type, which as its name implies, is used when it is not possible to identify any of the sides as a "one" side.

0 views
Martin Fowler Yesterday

Fragments: April 9

I mostly link to written material here, but I’ve recently listened to two excellent podcasts that I can recommend. Anyone who regularly reads these fragments knows that I’m a big fan of Simon Willison, his (also very fragmentary) posts have earned a regular spot in my RSS reader. But the problem with fragments, however valuable, is that they don’t provide a cohesive overview of the situation. So his podcast with Lenny Rachitsky is a welcome survey of that state of world as seen through a discerning pair of eyeballs. He paints a good picture of how programming has changed for him since the “November inflection point”, important patterns for this work, and his concern about the security bomb nestled inside the beast. My other great listening was on a regular podcast that I listen to, as Gergely Orosz interviewed Thuan Pham - the former CTO of Uber. As with so many of Gergely’s podcasts, they focused on Thuan Pham’s fascinating career direction, giving listeners an opportunity to learn from a successful professional. There’s also an informative insight into Uber’s use of microservices (they had 5000 of them), and the way high-growth software necessarily gets rewritten a lot (a phenomenon I dubbed Sacrificial Architecture ) ❄                ❄                ❄                ❄                ❄ Axios published their post-mortem on their recent supply chain compromise . It’s quite a story, the attackers spent a couple of weeks developing contact with the lead maintainer, leading to a video call where the meeting software indicated something on the maintainer’s system was out of date. That led to the maintainer installing the update, which in fact was a Remote Access Trojan (RAT). they tailored this process specifically to me by doing the following: Simon Willison has a summary and further links . ❄                ❄                ❄                ❄                ❄ I recently bumped into Diátaxis , a framework for organizing technical documentation. I only looked at it briefly, but there’s much to like. In particular I appreciated how it classified four forms of documentation: The distinction between tutorials and how-to guides is interesting A tutorial serves the needs of the user who is at study. Its obligation is to provide a successful learning experience. A how-to guide serves the needs of the user who is at work. Its obligation is to help the user accomplish a task. I also appreciated its point of pulling explanations out into separate areas. The idea is that other forms should contain only minimal explanations, linking to the explanation material for more depth. That way we keep the flow on the goal and allow the user to seek deeper explanations in their own way. The study/work distinction between explanation and reference mirrors that same distinction between tutorials and how-to guides. ❄                ❄                ❄                ❄                ❄ For eight years, Lalit Maganti wanted a set of tools for working with SQLite. But it would be hard and tedious work, “getting into the weeds of SQLite source code, a fiendishly difficult codebase to understand”. So he didn’t try it. But after the November inflection point , he decided to tackle this need. His account of this exercise is an excellent description of the benefits and perils of developing with AI agents. Through most of January, I iterated, acting as semi-technical manager and delegating almost all the design and all the implementation to Claude. Functionally, I ended up in a reasonable place: a parser in C extracted from SQLite sources using a bunch of Python scripts, a formatter built on top, support for both the SQLite language and the PerfettoSQL extensions, all exposed in a web playground. But when I reviewed the codebase in detail in late January, the downside was obvious: the codebase was complete spaghetti. I didn’t understand large parts of the Python source extraction pipeline, functions were scattered in random files without a clear shape, and a few files had grown to several thousand lines. It was extremely fragile; it solved the immediate problem but it was never going to cope with my larger vision, never mind integrating it into the Perfetto tools. The saving grace was that it had proved the approach was viable and generated more than 500 tests, many of which I felt I could reuse. He threw it all away and worked more closely with the AI on the second attempt, with lots of thinking about the design, reviewing all the code, and refactoring with every step In the rewrite, refactoring became the core of my workflow. After every large batch of generated code, I’d step back and ask “is this ugly?” Sometimes AI could clean it up. Other times there was a large-scale abstraction that AI couldn’t see but I could; I’d give it the direction and let it execute. If you have taste, the cost of a wrong approach drops dramatically because you can restructure quickly. He ended up with a working system, and the AI proved its value in allowing him to tackle something that he’d been leaving on the todo pile for years. But even with the rewrite, the AI had its potholes. His conclusion of the relative value of AI in different scenarios: When I was working on something I already understood deeply, AI was excellent…. When I was working on something I could describe but didn’t yet know, AI was good but required more care…. When I was working on something where I didn’t even know what I wanted, AI was somewhere between unhelpful and harmful… At the heart of this is that AI works at its best when there is an objectively checkable answer. If we want an implementation that can pass some tests, then AI does a good job. But when it came to the public API: I spent several days in early March doing nothing but API refactoring, manually fixing things any experienced engineer would have instinctively avoided but AI made a total mess of. There’s no test or objective metric for “is this API pleasant to use” and “will this API help users solve the problems they have” and that’s exactly why the coding agents did so badly at it. ❄                ❄                ❄                ❄                ❄ I became familiar with Ryan Avent’s writing when he wrote the Free Exchange column for The Economist. His recent post talks about how James Talarico and Zohran Mamdani have made their religion an important part of their electoral appeal, and their faith is centered on caring for others. He explains that a focus on care leads to an important perspective on economic growth. The first thing to understand is that we should not want growth for its own sake. What is good about growth is that it expands our collective capacities: we come to know more and we are able to do more. This, in turn, allows us to alleviate suffering, to discover more things about the universe, and to spend more time being complete people. they reached out masquerading as the founder of a company they had cloned the companys founders likeness as well as the company itself. they then invited me to a real slack workspace. this workspace was branded to the companies ci and named in a plausible manner. the slack was thought out very well, they had channels where they were sharing linked-in posts, the linked in posts i presume just went to the real companys account but it was super convincing etc. they even had what i presume were fake profiles of the team of the company but also number of other oss maintainers. they scheduled a meeting with me to connect. the meeting was on ms teams. the meeting had what seemed to be a group of people that were involved. the meeting said something on my system was out of date. i installed the missing item as i presumed it was something to do with teams, and this was the RAT. everything was extremely well co-ordinated looked legit and was done in a professional manner. Tutorials: to learn how to use the product How-to guides: for users to follow to achieve particular goals with the product Reference: to describe what the product does Explanations: background and context to educate the user on the product’s rationale

0 views
matduggan.com Yesterday

You can absolutely have an RSS dependent website in 2026

I write stuff here. Sometimes the stuff is good. Sometimes it reads like I wrote it at 2 AM after an argument with a YAML file, which is because I did. But one decision I made early on was that I didn't want to offer an email newsletter. Part of this was simple economics. At one point I did have a Subscribe button up, and enough people clicked it that the cost of actually sending those emails started to resemble a real bill. Sending thousands of emails when you have no ads, no sponsors, and no monetization strategy beyond "I guess people will just... read it?" doesn't make a lot of financial sense. But the bigger reason — the one I actually care about — is that I didn't want a database full of email addresses sitting under my control if I could possibly avoid it. There's a particular flavor of anxiety that comes with being the custodian of other people's personal data, a low-grade dread not unlike realizing you've been entrusted with someone's elderly cat for two weeks and the cat has a medical condition. I can't lose data I don't have. I never need to lie awake wondering whether some user is reusing their bank password to log into my website just to manage their subscription preferences. The best way I can safeguard user data is by never having any in the first place. It's not a security strategy you'll find in any textbook, but it is airtight. Now, when I explained this philosophy to people who run similar websites, the reaction was — and I'm being generous here — warm laughter . The kind of laughter you get when you ask if an apartment in Copenhagen is under $1,000,000. Email newsletters are the only way to run a site like this, they said. RSS is dead, they said. You might as well be distributing your writing via carrier pigeon or community bulletin board. One person looked at me the way you'd look at someone who just announced they were going to navigate cross-country using only a paper atlas. Not angry. Just sad. I'm lucky in that I'm not trying to get anyone to pay me to come here. If I were, the math would probably change. I'd be out there A/B testing subject lines and agonizing over open rates like everyone else, slowly losing pieces of my soul in a spreadsheet. But if your question is simply, "Can I make a hobbyist website that actual humans will find and read without an email newsletter?" — the answer is a resounding yes. And I have the logs to prove it. All of this is from Nginx access.log. These logs get rotated daily and don't include the majority of requests that hit the Cloudflare cache before they ever reach my server, so the real numbers are higher. But I think they're reasonably representative of the overall shape of things. About half my traffic is readers hitting or — people who have, of their own free will, pointed an RSS reader at my site and said yes, tell me when this person has opinions again . The other half are arriving via a specific link they stumbled across somewhere in the wild. If we do a deeper dive into that specific RSS traffic, we learn a few interesting things. The user-agent breakdown shows the usual suspects — the RSS readers you'd expect, the ones that have been around long enough to have their own Wikipedia articles. There are also some abusers in the metrics. I have no idea what "Daily-AI-Morning" is, but whatever it's doing, it's polling my feed with the frantic energy of someone refreshing a package tracking page on delivery day. The time distribution, though, is pretty good — spread out across the day in a way that suggests real humans checking their feeds at real human intervals, rather than a single bot hammering me every thirty seconds. My conclusion is this: if you want to run a website that relies primarily on RSS instead of email newsletters, you absolutely can. The list of RSS readers hasn't dramatically changed in a long time, which is actually reassuring — it means the ecosystem is stable, not dead. The people who use RSS really use RSS. They're not trend-chasers. They're the type who still have a working bookmark toolbar. They are, in the best possible sense, your people. Effectively, if you make your site RSS-friendly and you test it in NetNewsWire, you will — slowly, quietly, without a single "SUBSCRIBE FOR MORE" pop-up — build a real audience of people who actually want to read what you write. No email database required. No passwords to leak. No giant confusing subscription system.

0 views
Stratechery Yesterday

An Interview with New York Times CEO Meredith Kopit Levien About Betting on Humans With Expertise

Listen to this post: Good morning, This week’s Stratechery Interview is with New York Times Company CEO Meredith Kopit Levien . Levien became CEO in 2020, after previously serving as Chief Operating Officer, Chief Revenue Officer, and Head of Advertising. I previously interviewed Kopit Levien in August 2022 . The New York Times editorial team always elicits strong reactions, both in the political realm and also in tech, but that’s not what this interview is about; what is indisputable is that the New York Times as a business is both incredibly interesting and incredibly successful. Over the last decade the newspaper has gone from strength to strength, building a thriving subscription business, expanding its bundle from news to Games to Sports to Cooking and more, and now — to take things full circle — has a rapidly growing advertising business. We discuss all of that in this interview, starting with the Games and Sports categories, why the bundle is about expanding the New York Times brand, and the company’s recent push into vertical video. Then we discuss what it means to be a destination site, while also using Aggregators to acquire customers. We spend time on AI, including the New York Times lawsuit against OpenAI, why Kopit Levien sees humans as the moat against AI content, and how the company is using AI on both the business and editorial sides. Finally we discuss the potential for building communities, why advertising is working, and how surviving in an Aggregator and AI world is about fighting entropy. As a reminder, all Stratechery content, including interviews, is available as a podcast; click the link at the top of this email to add Stratechery to your podcast player. On to the Interview: This interview is lightly edited for clarity. Meredith Kopit Levien, welcome back to Stratechery. MKL: Hi Ben, thanks for having me, so happy to be here. It’s hard to believe, but it has been four-and-a-half years since you last came on — I was thinking two or three years ago — nope, it’s almost half a decade. I was actually shocked that I’ve been doing interviews for that long, but apparently I’ve been doing them for like six, six-and-a-half years. MKL: You have, and I’ve listened to a lot of them! I appreciate it. Well, we already did the whole background conversation then, we both worked for the student newspaper, lots of commonality there. So let’s fast forward to the time of that interview. It was August 2022, and speaking of mind-blowing lengths of time, you had bought Wordle earlier that year, it’s hard to believe it’s been that long and then you had just purchased The Athletic . How do you feel about those acquisitions five years on? MKL: That’s such a fun place to start. We acquired both of them, if I remember correctly, within a week of each other, and I would say we feel great about both of them and both of them have exceeded our expectations in so many ways. Is Wordle the greatest media acquisition of all time? MKL: You know what I tell people? That New York Times Games is the most up-and-to-the-right thing I’ve experienced in my career in terms of just people’s attention to it and the way it kind of touched culture and still touches culture every day, and the ability for Wordle to be like a megaphone for these other incredible games that we already had that most people didn’t know about. And then what’s so amazing to me is we now have, I think 11 games — half of them are free, half of them are paid games, tens of millions of people play our games every day. And we have made the vast majority, we’ve made those games. And before Wordle and after Wordle, Wordle in and of itself is extraordinary, but before and after, we’ve made other extraordinary games, it’s so awesome. Is it a bit of like annoying that’s like everyone thinks about Wordle, “Oh, you bought Wordle”, and you’re like, “Look, we made most of these, give us more credit here!”? MKL: Listen, credit to Josh Wardle , it’s an awesome game, and it just touched culture like nothing else. But it has served us so brilliantly — it has just shined this huge light on all these other games and it’s given us a chance to prove our chops as a game studio and we just keep making hits. I am so proud of our games team, Jonathan Knight and the whole team around him, they have done such good work and they are still hard, hard at it, that team works so hard. I’m a Connections player , so Wyna Liu is my hero , but they’re all amazing and they put out really good work. Games, it’s going swimmingly, I hope we get to talk even more about it. As long as we’re here, like how has your – because we were talking a bit about, Wordle sort of came out of the blue — it was this game that popped up, you snapped it up, super smart — and we were talking in our interview about it being an in-point to the New York Times broadly. MKL: Yeah. Has that evolved as you expected or has it evolved in different ways? In the context of not just Games being a property but also it tying into the whole thing. MKL: What a great question. To answer that, let me step back for a minute and say our strategy is for the whole of the New York Times and all the different parts of the portfolio to be an essential subscription for curious people everywhere who want to understand the world and make the most of their lives. We’ve got three pillars to that, 1) be, and become even more every day, the world’s best news destination 2) have these leading lifestyle products, including Games, but also Sports, Recipes, shopping advice, that really help people do their passion more deeply or better or enjoy it even more and then put those two things together, news and the lifestyle products, in an interconnected experience so that the New York Times is incredibly relevant to you every single day, whatever is going on in the world or your world. Right. This is a point you made before, is you wanted the New York Times to not just be — sometimes the news is slow, or sometimes stuff’s happening you don’t care about, and you wanted to have other stuff for people along the way. MKL: Listen, I want to be really clear. We are first and foremost a high quality independent news journalism company, that is our mission, it is the most value-creating thing we do for society and economically, and that is by miles. And to your original question, it’s just amazing to have all these other points of introduction to people and point all these other ways to bring people into the Times ecosystem and to get them to form a habit with us. Once we do that, once we can engage them in something, our bet is that we can engage them in more and more, and there’s lots of examples of that. You mentioned you had three things, you had the news, you had the lifestyle, what was the third one? MKL: Yeah, so news, news is such a small word for such a big idea. You mentioned that sports is a lifestyle so is sports not news? Is that lifestyle? It’s kind of interesting where that fits. MKL: We do sports news, we do sports journalism, we do news journalism. But let me stay on the news thing for a minute because we’re often even trying ourselves in how we articulate it to not let it be this small idea. We do high quality, original, independent journalism, which means we are unearthing new and important information through reporting and also providing often deeply reported commentary and analysis on the really big topics that are going on in the world and also on things that just matter at the level of relevance of people’s daily lives. You could read us today for what is happening with this fragile ceasefire in Iran and you could also read us today for health advice or for what movie to go see or what restaurant people are eating in in New York City right now. News is this very broad thing at The New York Times, and we’ve got these four lifestyle products. I would say to you what we’re doing with The Athletic is absolutely journalism, often it is like news journalism, but make no mistake, and we are doing it with the rigor and the independence that The Times does. It’s journalism, but we are doing it for fans, we are doing that journalism. Right. It never occurred to me until you sort of mentioned it — it’s not wrong to say that sports is a lifestyle category. MKL: Totally. That intersection is actually kind of interesting to think about. MKL: Let me tell you something — I have an almost 15-year-old, he is an athlete, and he is a giant sports fan and when I think, “What are his lifestyle pursuits?”, when I fill out the parent statement in the school applications, first he’s a sports fan, and The Athletic is serving that fandom. Do you think there’s a bit where some of this sports journalism has been caught up in, “We are journalists”, bit and has missed the fact that people watch sports in many cases as a pastime to relax. I look forward to turning on the baseball game at night, I don’t want the perils of the world, this is supposed to be an escape. It’s also most helpful to put it in this lifestyle category because that’s actually meeting people where they are. MKL: I think that’s a great point. What I will say is The Athletic often does very hard-hitting sports journalism, it is certainly covering the important topics and the tough topics across the major leagues and teams in the United States and European football and a bunch of other things, so it is doing that, hard stop. But if you look at the multiplicity of things they’re doing and you look in a day’s time, it’s probably well over 100 stories that get published every day, an enormous amount of that is beat reporting on what happened to your team in the league that you most likely watch and it is literally meant to make you closer to the team, the fan, the game. I think all high quality information is — consumers of information want uncompromised information and so The Athletic is just like uncompromised the way The Times is uncompromised, it’s going to pursue the truth wherever it may lead, even when that’s to uncomfortable places. But the whole purpose of the broad set of things we do at The Athletic is to make you a better fan, and we know that. Whereas the purpose, and again, that does not mean we don’t do hard-hitting journalism, we absolutely do, but we are independent of anyone’s interest in that journalism but the sports fan. And for the Times, we’re not writing or producing our work for any particular audience, we’re doing it in service to the public’s interest. Is that a value of keeping The Athletic brand separate from the New York Times? MKL: We are absolutely committed to building the brand The Athletic, it was a deliberate choice, I’m very invested in that choice and we’ve still got a lot of running room to build it. I say the biggest opportunity with The Athletic is just to make more sports fans. We’re making real progress with it and let me tell you, you asked me at the beginning, “How’s it going?”, we bought a company that was losing a ton of money because they were investing into a huge sports newsroom, it’s like a giant newsroom with a little business. We said it would take some time, but then it would be accretive to the Times — it is absolutely that. We got there in many ways earlier and better than we expected and today we’ve got well over 500 journalists at The Athletic. So it’s an even bigger journalistic proposition and it’s really contributing as a business to The Times and we’re thrilled about that, and I want to say we’re only four years and a few months in, we’re just getting started on all the ways we can support fandom of the major sports. I think we were nailing the journalism thing, you’re always going to get better and better at that, they were good at it before we acquired them, we’ve helped them be even better at it, do it more robustly, do it in a more edited way and add like a layer of national, and in some cases global, sports coverage. But there’s just a lot of stuff that there’s a lot of white space in the market to serve fans deeply reported, uncompromised information and we’re going to do that. You have such a good product organization and you have the whole Games initiative, how much do you think about the prospects for games in the context of sports? Whether this be fantasy sports or sort of a whole host of like daily pick-ems — it’s interesting because there’s obviously a huge gambling angle to this but how many of those sort of offerings are possible without necessarily being gambling or whatever it might be? MKL: Yeah, great question. We think there’s real opportunity for Puzzles/Games, and Sports, we think we’re good at both of those things. We already have our first collab, I think it’s about a year old, we launched a Sports Connections puzzle , it is super fun. We did some great marketing for it with famous athletes, which was hilarious, and it’s played a lot, so people love it, and I would say that is early. We’re building out the team, we just hired a new Chief Product Officer at The Athletic , he comes following years of building communities at Facebook. We took one of the guys from the Times newsroom who’d been a leader of the Upshot, who’s incredible at building interactive work, and he’s now leading interactive work at The Athletic, so we think there’s real opportunity for that. And I’ll tell you just this week, it might even be today, I’m losing track of my dates, we are launching something called The Beast . I don’t know if you’re an NFL fan, but it is the most comprehensive guide I think that exists on the planet to the NFL draft class and it includes literally information on thousands of players who are draft hopefuls and then very deep profiles of 400 of them. Before we owned The Athletic, and actually until a year ago, we’d publish it like as a book, a physical book, it’s this like monster book because there’s so much information in it and teams use it, there’s nothing else like it. Now you’ll see as it launches this week, it’s got all these incredible interactive features now on the individual player profiles and if you’re someone, if you love an NFL team and you really care, you’re going to pay attention to The Beast. So I think we’re just getting started on features that may be games and also other things that support a fan who’s super passionate about their team. I keep interrupting you, but you mentioned three things, so we’ve got to get that third thing. What was the third thing in addition to news and lifestyle? MKL: World’s best news destination, leading lifestyle products, and put those two things together in an interconnected product experience for a bundle that makes The Times relevant for whatever is going on in your world, or the bigger world, every single day. That’s the idea. Got it. We talked a lot about bundling last time and obviously that’s really the core of your strategy, how though has that evolved in the last five years? Is this really a most people are coming in the door through these lifestyle brands and you’re bringing them to the news, whereas it used to be the other way before? I’m throwing that out there as a hypothesis, how does that actually work? MKL: I actually think the essence of it is about having this portfolio of world-class news coverage, news broadly defined, and then not just products, but these products that either are or are becoming the leaders in their category. These categories are giant spaces where tens of millions, in some cases hundreds of millions, of people spend a lot of time. It’s the fact that we have rare and valuable news coverage and lifestyle products in these huge spaces that’s really working. So to me, the word “bundle” can mean — the low common denominator version of it is, “It’s a marketing concept or merchandising concept” — in our experience, we’ve got this singular idea of being essential in meeting a lot of different kinds of information and experience needs in a person’s life. Rather than it be this idea of, “We’ve got one big important thing” — I’m going to come back to news in a minute because news is central to all of it — but you’ve got this one major hero thing and then you append a bunch of other stuff so the consumer thinks there’s some other value there, we have invested and built these products out in such a way where each thing should be deeply valuable to the person who cares about buying the right products and is going to deeply research them, and therefore they use Wirecutter. You talked about expanding the brand, is this what you mean? Where you hear “New York Times”, it’s not, of course news is always the most important, I know you’re going to say that, so I’ll say that for you. MKL: I’m going to say that again and again, because it’s true. It’s also the most economic-value creating thing we do. Right. But you want people to think that, “New York Times, that’s the best games”, or, “That’s the best cooking”. MKL: New York Times makes the best puzzles, it has the best recipes, and by the way, just advice for home cooks who want to cook, it’s where I go if I’m a sports fan, and it’s absolutely going to give me the best uncompromised shopping advice — that’s sort of the spirit of it. It’s not just a news indicator it’s like a “stamp of quality” indicator. MKL: It’s a stamp of rigor and quality, and I’m going to keep using this word, “uncompromised”. Really high quality information that’s done in an uncompromised way and therefore has value at real scale. And the “uncompromised” comes from the business model? MKL: Uncompromised comes from the idea that at our core what we do is independent journalism. You could even say every bit of it, even the games are like journalistic in that they are sort of planned in a very deliberate way and thought out. Right. They’re not randomly generated, someone is actually editing every puzzle. MKL: That’s right. Humans with expertise are making these things and in some cases harnessing technology to do that even better. It’s really working, and I want to say to you, I wouldn’t have had these words four-and-a-half years ago, but at the core what we’re trying to do in a very complex information ecosystem, really shaped and controlled by a small number of dominant tech platforms, we are trying to make news coverage and products that are so good that people seek them out and ask for them by name. A destination site . MKL: Seek them out, ask for them by name, make room in their lives. The destination site has been — there’s a few companies that I always feel very pleased about, I feel like they’re like my children in a way. MKL: Are we one of your kids? You are one of my kids! MKL: I appreciate that, we could use all the parents, we could use it. That’s why I loved that, I’ve mentioned it multiple times, but the strategy document that you guys, it’s been like a decade now — I’m like, “This is beautiful”, and I think it really was on this point of destination sites, this idea that the way around a world of Aggregators that just commoditizes everything is people have to seek you out directly. Google will say a competition is only a click away and no one seems to take that seriously, people can actually click on you and go there. MKL: My answer, we all read your Aggregation Theory and all the updates you’ve done to Aggregation Theory. The way I think about it is for more than a decade, we have had these like four D’s that we’re obsessed with. Ready? So what do I mean by that? We know we exist in an ecosystem shaped by these dominant tech platforms and so and we have to have a wide free layer for our work, we have to, otherwise you can’t bring in the next subscribers. So we are very deliberate where we can be about how we go about doing that and the idea is we need to be able to get you to sample our stuff and fall in love with it and we’ve got to give you enough time and space to make a habit of it so that ultimately you subscribe. Yeah, that’s really interesting. I was going to ask this towards the end, but that’s a good lead into it. You’ve had a big focus on video recently, and it’s super interesting – actually, I have a few questions about this. One is it’s pretty weird to go to the video tab on the desktop and all the videos are vertical. Was that very controversial? MKL: There’s video all over the site now so you’re gonna see it in a lot of places. When we say destination, we know a lot of people during the workday are reading us or watching us or listening to us on the desktop web, but we are so kind of first to that phone. Our bet is the ability to watch a video on a phone, you are going to want it in vertical and we now have a home for it in this tab. I encourage everybody, download our app, and you get the best version of what we’re doing. Download your app and make sure you register your user account and get the experience. It’s really interesting because I’ve noticed with Stratechery actually, a huge portion of my audience now is just audio, I think more than half my subscribers listen instead of read. You mentioned you mostly listen, which is fine. But as far as the reading goes, actually, I still have a huge amount of people reading on the desktop as compared to mobile. MKL: By the way, I listen when I run because all my other media time is reading. MKL: And now I’m forcing myself to watch. Right, you’ve got to dogfood it . MKL: I’m like listening to YouTube when I run. Just talking shop, is there a bit where, as you look back on the evolution of media, there’s a thing where actually it turned out that the browser ended up being a text medium, and then the phone was actually the multimedia platform? MKL: That’s such a great question, that’s so well put and I need to take that in for a minute and think about it. What I’ll say that I think that’s related to that in a web world, we needed a website that people would type in and then like pin and always be able to go back to, that worked and the Times has been very good at that. In an iOS and Android world, we need an app, and we’re very, very good at that. I would actually say to you, we’re still pretty early in really getting more and more people to use our app. Today, the majority of people who use our app are subscribers, the engagement is enormous, but it’s like mostly the people who subscribe. We have not made the app a really important place for prospects and we’re starting to do that, the Watch tab is part of that. I think it remains to be seen in a world where the Times is as preferred a brand and a source for watching as it is for reading and listening. Which, by the way, I want to say to you, those things are not going to go away, we’ve been at this for 175 years. MKL: The old media doesn’t go away, the people who do it still do it. They vary it a bit, but many of them still do it. To your point, this is a big part of your approach is you have this huge reporting base, which the medium, that’s all ones and zeros, they can write an article, and they can be on a podcast, and they can show up in video. MKL: And they can put a camera, they can literally hold a camera in front of them from somewhere on the edges of Iran and describe what they’re seeing. So I think it remains to be seen, I think the market is still kind of forming and structuring. We regard video as doing three really important things for us. One is it helps us engage the people we already have, and anything that helps us engage the people we already have is very good for business. Churn mitigation is always a win if you’re a subscription business. MKL: It’s good for business, and I would argue it’s good for journalistic impact and everything. Good for society, but very good for business. We also think there is an enormous number of people in all generations of life, but especially young people, who spend time watching, and they’re either watching news or they’re watching things that are in a zone adjacent. We are the only generation that really just maximized text, it’s been all downhill ever since. We got all the text in the world, we read it all, and then now everyone’s just watching video. MKL: I could do a whole other episode on that and fight to get my very intelligent kid to just like sit back and read and how important I think that is to brain development. But we think video will help us engage whole new audiences, that is a big bet we’re making, we’re already starting to see some of that, we are very excited about it. And then the third thing that video does for us, and I think that’s really important, I think we all know that trust in all institutions is at an all-time low, trust in media is at an all-time low, I hate the word “media” because it lumps in journalism and a bunch of other things, but trust in all of it is low. And the more we can show you the work, the more we believe you will come to understand what an independent journalistic process to pursue the truth wherever it may leave looks like. Interesting. So it’s like brand-enhancing for what you’re going for overall. MKL: Totally, and trust building. I’ll just tell you, we are much more aggressive today than we’ve been. One of the formats that we’ve scaled the most and there’s still so much room to go is just a reporter on camera describing the story. Which by the way then your production is vertical anyway so it ties right in. MKL: But there are times you go into a studio and explain something, so it doesn’t have to only be vertical, it goes a really long way. And we have made a very deliberate choice where we’ve said, we don’t particularly have a business model on TikTok or Instagram or YouTube Shorts, but we’ve got to be in those places. I wanted to ask you about that because when you think about podcasts, for example, there’s a huge push in general to be on YouTube and I think it’s pretty obvious because podcasts are incredible for audience retention. I’ve talked about for my business, all these people listening to Stratechery don’t go anywhere. Whereas people would have emails build up before that, and they’re like, “I have too many emails, I should just unsubscribe”, the problem is I get much less sharing because it’s much easier to forward an email and the podcast, you just go to the next podcast and then it’s sort of done. So you have podcasts in general going to YouTube because they feel like the algorithm is the way to acquire new users. The reason to bring this up is I go to the New York Times YouTube page right now, your last main video is from seven days ago. Your last Short is more recent, but it’s about Trump escalates threats to destroy Iran. Well, there’s been some news development since those threats. MKL: You think? Consult top of app. But the point is clearly it’s not a priority for you. How does that tie into the balance of destination site versus customer acquisition and all those sorts of things? MKL: It’s a great question. Let me start by saying our general thesis, and I’ve been here a long time now, so I’ve got enough reps to say it bears out. If we make great work that should scale because it’s unlike anything else out there, and it’s important, it will. I want to say that, that is our bet. And so I will say to you, we’re still at. That’s my bet too. MKL: I listened to enough of your work to know you think that too. It’s a really important principle that we’ve just like hit again and again and again as a business. First, we have to make like the best stuff there is, and it’s got to be done in an independent way and it’s got to be done with rigor into a high standard of quality. So the chapter we’re in now with video is very much scaling production, which is like, “What are we making?”, “What is it?”, “What is the New York Times if you can watch it?”. We are early in that and we’re going to admit that all over the place. We are, as I started to say, putting a lot of that work. The best place to experience it is come to our app, go to the website, even if you have to, you know, even if on the site, some of it is shot for vertical, best place to experience it is our destinations. But we need to be in the places where huge numbers of people are. So the work is also on TikTok and Instagram, it’s on YouTube both in short form and on YouTube, we’re starting to put our longer form stuff there. And the truth is, it’s a place where we can see, you are right, a lot of it is dictated by algorithms, but also you get a sense of what is a hit. I’m going to name a few things that are just like unequivocally hits at the New York Times as video. The Ezra Klein show was only a podcast, it’s now a video show too — that guy is so brilliant, he has such an incredible following, we are so excited about that show. Right around the time we were putting him on video, we launched, to the extent that Ezra is examining the biggest ideas on the left, Ross Douthat is examining the biggest ideas that are animating the right. Ross has been a longtime columnist at the Times, we launched a show, I think we launched the pod and video at the same time it was one of the first ones where we said, we’re going out. You say they’re going huge, are they going huge on your properties, or are they going huge on the RSS feeds and the other platforms? MKL: Out in the ecosystem. And when I say huge, we were early in all of this, they’re building audiences and growing. The Daily is huge, The Morning , we have the largest general interest news newsletter I think on the Internet in terms of readership, five or six million people open it every day. And do you see very tangible, measurable, people are finding this other platforms and coming back to the Times and subscribing? Or is this more ethereal, this is enhancing the brand, in the long run this will pay off? MKL: It’s a great question. The broad answer I’m going to give you, and I ran the subscription business for a long time, I was on top of the product organization, I was accountable for it, the thing I’m sure is that we have to make stuff that is so good that it’s worth paying for even in the presence of free and less expensive alternatives, and we also have to have many tens of millions of people who do not yet pay, who are regularly engaging with our work. We do believe we have to be sort of out there in the ecosystem — of course, you and I both know, you know, we see a receding link-based economy. Did you see that discussion between Nate Silver and Nikita Bier the other day? MKL: Oh, I haven’t seen it yet. They were talking about, because Nate Silver did some sort of article about who’s getting prominence on X and things along those lines, and one of Nikita’s pushback about The New York Times not having prominence, not just on X but on all social platforms, is you do what I do , which is we’re old and lazy and just post an article with a link and Twitter doesn’t feature links anymore. Fine, it is what it is, I have my built-in audience, it’s okay. And it’s like, well, if you actually want to grow, you have to do the whole thread thing like, “This is what’s in this article”, and at the end there’s a link. And Nikita pointed out that the New York Times does the bare minimum, it’s basically like an RSS feed for links, of course they’re not getting featured. Is that something where, I’m telling you now, you didn’t read it, you’re like, “Oh yeah, we should fix that”, or is that a, “Well, you know what? We’re not a social media company, we are a destination site, and that’s just the way it’s going to be”. MKL: It’s a fair question, I think you should regard us as first and most importantly trying to make the best stuff that can and should scale because it’s amazing. And remind me, I’m going to mention two other video shows to you that are so different. And then we are also looking to always master the evolving audience ecosystem. And I think if you followed us, it’s interesting on YouTube, we’re doing more now show by show to build audience so just like you mentioned, the New York Times channel, but like Ezra’s feed is surely updated, Ross Douthat’s feed is updated. I’ll mention these two other shows. We launched our cooking team, launched a show maybe six months ago called The Pizza Interview , we have this amazing test kitchen on the west side of Manhattan and like every major celebrity with something important to say can come on that show now, they make a pizza and they talk about their work. So the cast of Stranger Things came with the finale, Ariana Grande came. That’s a great concept. MKL: It’s amazing. And that show is building so much momentum, so different than what you would expect. It is fun, it’s really working. We’ve had a show, I don’t know if you’re a music fan, Ben, but we’ve got a music critic and a music reporter, Jon Caramanica and Joe Coscarelli, they have had a podcast on The Times for like a decade called Popcast , where they talk about music. It was sort of made at the edges of the enterprise, these guys are so talented, and we’ve just brought them to video and kind of prime time and man is that scaling. They actually did a live show at an all-company meeting with Lizzo, it was unbelievable. They’re getting everybody, it’s so, so great. What you see is we are just in the early days of saying, “How and where should we build the big audience for this?”. The Daily, which is nine years in still in the top podcasts, there is I think it’s the largest general interest news podcast, most people do not listen on The New York Times, they listen on Apple or Spotify. MKL: And you know that because of what you do for a living. So we’re open-minded about that and also pushing really hard on the companies that shape the ecosystem to make it so that great stuff can scale. Yeah, I’ve had plenty of discussions with YouTube. MKL: I’m sure we’re going to talk about that too. Well, we’ve actually gone quite long, I do need to ask you about – there’s this technology called AI you may have heard of, I do have a few questions for you on that. Just to get it out of the bag, you’re in ongoing litigation with OpenAI. Obviously, I’m sure that constrains what you can talk about to a certain extent. But sort of big picture, what’s the point of this? What do you want to accomplish? MKL: We’re in ongoing litigation, two-and-a-half years now with OpenAI and Microsoft, we’ve also sued Perplexity . Why? They stole our stuff, they used it without permission, without fair value exchange, copyright infringement and they build products that compete with us, so that’s why. Let me just say, why did the Times do this? You know, we have spent over 175 years, an enormous amount of resources on high-quality independent journalism, and I want to say this, we’re fighting here, obviously, for the Times, but for the industry writ large for high quality journalism and content creation writ large and for the public to have high quality information and content. We have made an enormous investment, we’ve been doing it for a very long time, and we have a huge number of works. Is your biggest concern the training or the output? MKL: We believe that there should be sustainable fair value exchange for our work used in any way, number one, so fair value exchange sustainably. Number two, we believe we should have control and the law says we should have control over how our work is used, and I would say those are kind of for everyone. And for the Times very specifically, by the way, we’re not just suing, we have a deal with Amazon , we choose to deal, these things are of a piece enforcement of our rights in court and dealing is all to put a stake in the ground to say high quality journalism deserves to be paid for and it should be. And, by the way, the LLMs are only going to be as good as the information that courses through them. The third bit is can we do a deal that’s consistent with our long-term strategy, which involves ultimately having direct relationships with our consumer. Do you worry about — you’ve had this huge growth in terms of these lifestyle verticals, things like recommendations, things like cooking. Some of those AI is really, really good and useful at, do you feel a threat there? Have you seen an impact there? MKL: We’re enforcing our rights in court for very specific reasons. I want to do a number of AI categories so let’s set aside the court case. Let’s just say in terms of NYT Cooking, super compelling. Also, I go to ChatGPT, I ask for a recipe and it will give me one. MKL: Totally fair question. I want to say to you first, we’re also using AI like assertively in our product. Right, my next question is how you’re actually using it. MKL: Let’s come back to that. The most important part of our strategy, and maybe to the extent there’s a theme from this conversation, is that The New York Times creates human-led high quality news journalism and all this other stuff, including recipes that are better because of the humanity, the expertise, the professional process that goes into them. And I want to say, because you asked about cooking specifically, every one of those recipes, we have 25,000 recipes and counting in a database, every one of them, human-tasted, human-tested, they’re better. People say to me all the time, “Your recipes are just better”, yes! Because professional chefs and cooks are using them and it doesn’t get published until we’ve done that. We think that’s going to have enduring value, we think in an information ecosystem where it’s harder and harder to find quality stuff, brands are going to matter more and human-made content is going to matter more. The week you filed the lawsuit, when I wrote about it, I entitled it The New York Times’ AI Opportunity . MKL: I remember what you wrote about it. In this world of everyone getting individualized content and actually that makes you more valuable, not less. MKL: Listen, society needs a shared fact base. People need high quality, uncompromised information and they need to be able to find it with ease and they need to be able to know what is true and worth their time and we think the Times and each of our portfolio brands, each of our lifestyle brands is like a signal to that. So we are obviously investing enormously into all that. Has that been validated in the numbers? MKL: Look at our business results. It’s been a strong period for our business results, I can’t tell you what will happen in the future, but I can tell you we are very, very focused on two things. One, making our products even more kind of rare and valuable at real scale to people, and we are also incredibly focused, part of how I got into this chair, we are incredibly focused on harnessing technology to make the journalism richer where it can help us do that, make our journalists able to get to more things or get to the things more deeply. We are incredibly focused on using technology, and this includes AI, to make the work more accessible. I told you earlier, I’m a runner, you can listen to almost every article now. You can’t listen to the live journalism, but everything else you can listen to in an automated voice and I think we’re on the third generation of that voice, it’s so much better. It’s still like, we’ll mispronounce one or two things, but it’s great. See, I read my own articles and I still mispronounce things, so maybe that’s actually the human component. The moment it starts pronouncing things perfectly, I’ll know it’s a robot. MKL: We we’ve been aggressive with that. Let me give you an example in the journalism that the Epstein Files , I think it was like three-and-a-half million pages, they came out like late in the day on a Friday and we’ve got a whole AI Initiatives team in the newsroom and they like built a tool to be able to comb those documents and the magic of what we were able to do from them was the fact that we could create this tool that said like, there’s all these different story angles to get to, how do you get at it with ease? And then the beat reporters and the editors who have the expertise and the kind of rigor to say, “What should the public know from this?”, it’s the combination of those things that made it awesome. I’m going to give you one more example that I just kind of said immediately, “Oh, there’s a real interesting opportunity here”. Remember the Sydney Sweeney jeans/genes thing? MKL: So the early of read on that was that the left was up in arms about this Sydney Sweeney ad and we had journalists who basically did a story using AI to comb social media to sort of say, “How did this happen?”, and what they found was it was actually construction on the right, started as a construction. Like the idea that there was kind of fury about it started as a construction on the right and then became like a bigger thing. So I think any new technology, it is our job, it is my job, to see that people are not afraid of it, and are using it in responsible and appropriate ways. We’ve just rolled out Claude Code to our product engineering team, so they can prototype faster and do all kinds of things. So The Times is not anti-AI or any other tech, we have laid a stake in the ground to say this next chapter of the ecosystem has got to be shaped in a way that allows high quality journalism organizations and other high quality creative content organizations to do their work in a way where they can earn the living they should from that work but we are certainly not anti-tech. Just to go back to this AI bit and The New York Times AI Opportunity idea. You just touched on the, This is a trusted brand, it’s validated by humans”, it’s leaning into the humanity of it. I’ve expanded that bit a little bit as well as I’ve been thinking about this thesis , and I have this concept that I’ve been thinking about called totem content , where if everyone is reading AI content, everyone’s reading different stuff. The idea of having one piece that, “Did you read the Stratechery article today?”, or whatever it might be, is actually going to be more valuable, not less. I’ve been thinking about this in the context of community, it feels like no content company has ever solved community. You have a thriving comment section, but you’re not making friends in the comment section, it’s sort of a performative bit. MKL: We’re not introducing friends to one another, not necessarily yet. If I know someone who is interested in the same sports team or is interested in Wordle or Connections or whatever it might be or is interested in a particular facet of the world and I knew who they were, there’s something there and there’s a continual trigger for us to talk about it. Where’s your thinking about this? You do this all the time, there’s lots of group chats with New York Times articles shared it, is that something, though, that you want to or you see an opportunity to lean more into? MKL: My very short answer is yes, with like a double underline. Yes, yes, yes. At the core of the mission’s role is to help society make sense of itself in a way that serves the common interest, the public interest, “common” is the main word in community. So yes, and I agree with you, I don’t think it’s been solved in any way yet by us or anybody else in the sort of publishing or journalism industry, but we’re beginning to focus on it much more earnestly. I want to say two other things. Within the news report, we do a ton of culture and lifestyle journalism, and going back a couple of years, we launched the 100 Best Books , and we launched it with a bunch of input from experts beyond the Times, but of course, all coalescing around our books experts and we launched it with a bunch of features, because it was like an inherently shareable idea, “I read these books, Ben, you should read these books, what’s on your book list?”, and then we did it for movies . We’re just at the beginning of it, I think it’s a huge opportunity, I am super interested in it. And the last thing I want to say, and it kind of brings us back to where you started with me. I will never forget, I was with my son and his friend, on the ferry to the Vineyard, and his friend was like, “Oh my gosh, I play Wordle every day and then after that, I go and I play…”, and he named four rip offs because he liked the game so much. Point being, we need to make more games, we have, we did, we’re still making more. But none of those games, you know, have like the competitors, people may play them, but like you don’t hear about them the way you hear about Wordle, they haven’t broken through. Why is that? There is one puzzle a day from a company whose brand ethos is it makes you smarter that you do with the people you love and by the way, it’s true for Wordle and Connections and Strands. Everyone’s playing the exact same puzzle. MKL: And it is a shared experience. Just to go back, you asked me about sports, fandom is a shared experience, and we’re thinking very hard about how we support that game moment in a way that I think The Athletic has a very big opportunity here. And I think in news, what we want, journalism can’t solve society’s big problems, and there are many big problems, but society’s problems cannot be solved without high quality independent journalism. So the idea of, “Can we get more people engaged with one another?”, on really big, important, weighty topics that need independent journalism, I think that’s a big idea and a big opportunity for The Times, for journalism, for the country, for the world. Has the New York Times fully crossed the Valley of Despair in terms of advertising? Part of all this was you had to like build a subscription business but now that you’re known as a subscription business, advertising is suddenly a growth opportunity instead of a decline to manage? MKL: I came to run the ad business, the woman who runs the ad business now, Joy Robins , she’s an extraordinary leader. The ad business I joke all the time is going so much better under her than it ever went many years ago. I think that we have really found a formula that works. What is that formula? MKL: We are a, and I bet, long after I’m here, we are a subscription-first business, meaning we make things that are meant to be extraordinary to consumers at great scale. So many of our ads are shown to subscribers because so much of our engagement is from subscribers and we’re obsessed, especially in a changing ecosystem, with getting the next group, the prospects, really, really, really engaged with our work and our obsession with engagement and with quality products in giant spaces that marketers want to be near, news broadly defined, but on the authority of news. Marketers want to be next to other healthy, thriving brands, and I think The Times is that today, but they also want to be in sports and they want to be next to our games, which are cultural sensations, and by the way, do you think marketers like shopping? Quality shopping and cooking, there’s so many marketers want to do stuff with that. I do think we’ve arrived, I’ve been more optimistic and excited about our ad business over the last year than I’ve been at any other point and I think given the scale that we have achieved — Ben, you and I both grew up on the web, just think about the number of page views the New York Times has, like, all that engagement. And we’ve spent half a decade, longer than that, building very sophisticated first-party data. So we’re never going to have the scale of a platform or the targetability of a platform, but we are certainly well above what I would suspect any other kind of publisher can do. That’s the question — is there anything actually generalizable from the New York Times? Like you’ve done it, you’ve won it, can anyone actually replicate this? MKL: First of all, we have not won anything, I want to say that very clearly. We have so much more to do, to grow, to make sure. Relative to basically every other newspaper, I’m going to declare you a winner. MKL: Let me tell you the few things that I think are absolutely extensible. I often say we’ve spent so much of our time wanting to make a market and then support a market for digital subscriptions to journalism, and journalism being something of value that is worth paying for. We believe that a thriving, healthy ecosystem with lots of competitors who we’re fighting every day with is actually better, it’s certainly better for society, we think it’s just better generally. And I want to say there are you, Puck, there are so many other things that have been invented since I came to The New York Times. So in some ways, there are aspects of the information ecosystem and journalism that that are thriving, certainly not local journalism, certainly not deeply reported journalism and that’s very unfortunate. The things that I think are extensible, one, when I get asked, “Why has the Times succeeded?”, if I can only give one short answer, it is we kept investing in journalism, that’s it. Good times, bad times, we kept investing in the journalism. There was something there that actually was worth paying for, one. And two, we stuck to our values. So the Times can’t be bought, the journalism is never compromised, we can’t be cowed, we can be hated in lots of places, and people know they’re still going to get our best understanding, they’re going to get the results of a pursuit of truth wherever it will lead, even when that’s to uncomfortable places. If I had to boil it down to like two short things, I’m ripping off a line from our publisher, AG Sulzberger , that I think does it so beautifully, he says, “It’s value and values”, we kept investing to make sure the product was still really valuable and then we just never let go of our values, I think that those are ideas that are extensible to everyone. The other thing I’ll say to you, and this is maybe my contribution, we clocked early on, 9 or 10 years ago, we are competing for engagement with the most powerful companies, information companies the world has ever known, who are so much richer than us, so dominant, and we’ve got to get really good at engagement. We’ve got to get really good at making people want to come back, and we’ve also believed in the power of brands as signals to get people to ask for us. I say all the time, they’ve got to ask for us by name. The New York Times, Wordle, Connections, Strands, The Athletic, Cooking, Wirecutter, people have to ask for us by name, and we’ve invested into all those things, I think those are all extensible ideas. Well that’s why I say you’re one of my idea children, destination site, I write about Aggregators and my personal strategy is to do everything the exact opposite as them because why would I want to even compete in that game? So that certainly resonates. MKL: And you have so many readers and listeners at The New York Times, we’ve been reading you as long as you have felt like a parent of us. Well, I appreciate it. You are, for the record, older than, The New York Times I should say. 175 years this year, very exciting, congratulations. MKL: (laughing) Very exciting. Can I say one thing? If we can do anything with like a 175th — Is it a birthday? Is it an anniversary? — if we can do anything in this moment, the most important thing we want to accomplish is just raising people’s consciousness for the idea of what high quality independent journalism is and does. It is human beings with a professional process and real expertise going out into the world and unearthing new information, following a very honed professional process to do so, so that the public can know what’s happening. We are spending a lot of our energy this year at 175 years old, just trying to remind people what that is and there’s so many other things you can do in media now. You know, I listen to a bunch of stuff, there’s so many things that are like adjacent to news. Oh, I appreciate it. I’m not a reporter, so I need someone to actually go out and unearth facts. MKL: But it is not that, most of it is not that and I think as local journalism has been in such dire straits for so long, and there’s so few local newspapers and fewer journalists and as people get more and more of their media diet fed to them by an algorithm that’s meant to match the things they already think and as leaders work to discredit independent journalism with all those forces going on in the world, I think the public has a — I think it’s just harder to know or remember or be conscious of the importance of the thing our journalists are doing every single day. There’s one thing, I know we’ve gone slightly long, but when you say that, what I find inspiring and why I like to talk to you and write about the New York Times is, I’m sure it’s a relief to you, I’m just completely independent of any partisanship or political angle. MKL: Totally, you’re not compromised. I find it so interesting from a business perspective and what you’re articulating there is what is inspiring is it’s a fight against entropy, where the easiest path for people and for publications is to just give in to the algorithm, as it were. And it’s kind of nice to go to YouTube and not see any of your videos there, because it’s sort of like an assertion that that’s not the path we’re going to go, and I certainly can relate to that and find that inspiring and that’s why I enjoyed talking to you. MKL: I enjoyed talking to you, this was a lot of fun, thank you. This Daily Update Interview is also available as a podcast. To receive it in your podcast player, visit Stratechery . The Daily Update is intended for a single recipient, but occasional forwarding is totally fine! If you would like to order multiple subscriptions for your team with a group discount (minimum 5), please contact me directly. Thanks for being a supporter, and have a great day! We have to be a daily habit We have to have direct relationships with people We have to be a destination and let me say to you, by destination, I mean, we do most of the economic value creation and we also give the best experience if you actually come to us in the whole of the experience. Then I say the fourth D is we only do drive-bys if they’re deliberate.

0 views
DYNOMIGHT Yesterday

I quit drinking for a year

In early January 2025, a family friend was over for lunch. One of my many guilty midwit pleasures is a love of New Year’s resolutions, so I asked her if she had made any. She said no, but mentioned that she had some relatives that were doing “damp January”. In case you’re not aware, Dry January is a challenge many people do to quit drinking alcohol during the month of January. These folks were doing a variant in which, instead of not drinking, one simply drinks less. For some reason, this triggered me. I thought, “Are you kidding? You can’t even stop drinking for a single month? Do you know how pathetic that is?” And then, “Fuck you! Fuck you for doing damp January! You know what, I’m going to stop drinking for a year !” To be clear, these thoughts were directed at people I’ve never even met. In retrospect, I wonder what was going on with me emotionally. But I take resolutions seriously, so I felt committed. We are now 15 months down the timeline, so I’ll make my report. This will sound odd, but I swear it’s true. Not drinking was so easy that it was almost easier than my previous baseline of not-not-drinking. Before starting this resolution, I didn’t drink much—perhaps two or three drinks per week. But I often thought about drinking. Every time I saw friends or went to a restaurant, I thought, “Should I have a drink?” Usually I decided not to. But making that decision required effort. After a few weeks of not drinking, that question never even came up. Drinking was simply not a thing I did, so I never needed to negotiate with myself. Theoretically, you could allow yourself one drink a month instead of zero. Theoretically, that should be easier. But I’m pretty sure I’d find it harder, because alcohol would still be an option , a thing to consider. Early on, I sometimes wanted a drink. But gradually I noticed that I didn’t really want a drink, I just wanted a thing . I can’t find a precise name for this concept in psychology, but often, some deep part of my brain seems to scream, “I WANT A THING.” It could be alcohol, but I found dessert worked just as well. I suspect that a new shirt or meeting a new dog would also work. I was not able to stop my brain from doing this. When it demanded a thing, I gave it a thing. I just substituted a non-alcohol thing. So, over the year, I became interested in desserts and even-more interested in tea. The struggle was The Chocolates. Shortly after I made this resolution, my mother gave me a bag of chocolates that each contained a bit of whiskey. In general, I don’t keep chocolate at home. If anyone gives me chocolate, I immediately eat all of it and then text the giver, “Thanks for the chocolate, I ate it instead of dinner, it’s all gone, this is what will always happen if you give me chocolate.” But I couldn’t eat the Chocolates, because they contained alcohol. I managed to get guests to eat a few. A couple of times I came close to draining out the alcohol and eating the chocolate container. I even considered throwing them away, but that felt wrong. So instead I spent a year glaring at them and waiting for them to apologize for the anguish they were causing me. This represented half the difficulty of this resolution. I do not recommend it. Keep your things separate. Have you heard that alcohol is bad for sleep? Because alcohol is bad for sleep . I’ve always known that was true, abstractly. But sleep is variable. If I didn’t sleep well on an individual night, I was never sure: Was that because of the alcohol, or was it random variation? After a year without alcohol, I am very confident that yes indeed, alcohol is bad for sleep , because my sleep during 2025 was much better than in previous years. Sure, like anyone else, I still sometimes wake up and start thinking about oblivion rushing towards me, and how everything I love will vanish into time, and how all that was once future and hope inevitably becomes static and dust, and how the plague of bluetooth speakers continues to spread across the globe. But now: less! I wish there was a drug I could take that would give me energy and improve my mood and make me physically healthier and smarter, all without side-effects. I don’t think such a drug exists. But we do have the opposite! So, sadly, I’ve come to believe that alcohol is basically the perfect anti-nootropic. That’s not because it makes you dumb while you’re drunk. (True, but who cares?) Rather, that’s because it is bad for sleep , and therefore makes you worse across all dimensions the next day. I did find not drinking to have one clear downside: It’s just not that much fun to hang out with people who are drinking if you are not drinking yourself. To be clear, this is a limited effect. It’s only an issue at bars or certain parties where people are there to drink . I don’t go to many such gatherings, but when I did, I felt it was less fun. It’s not that I missed alcohol. Instead, my theory is that drinking parties are a sort of joint role-playing exercise: “Let’s all get together and collectively reduce our inhibitions and see what happens.” It’s fun not (just) because everyone is taking a recreational drug, but because it’s a joint social experience. If you don’t drink, then you aren’t fully participating. It seems like it should be possible to reproduce this effect without alcohol. You could imagine other ways to push the social equilibrium out of balance. Like… Masks? Or weird environments? Or mutual disclosure games? Should people get together and do a group cold plunge? Unfortunately, all these are complicated and/or carry some kind of social stigma. So until we figure something better out, this is a real cost of not drinking. It was minor for me, but it probably depends a lot on where you are in life. All other effects were minor. I guess I saved money at restaurants. I actually lost a bit of weight over the year, despite all the extra desserts, though I can’t say for sure if alcohol was the cause. Otherwise, once I stopped thinking of alcohol as an option, I rarely thought about the resolution at all, except when I saw those damn chocolates. Towards the end of the year, I started wondering if I should quit drinking forever. But I never came to a conclusion, because I rarely thought about alcohol. I considered having a drink at midnight on New Year’s eve, but I happened to be on a plane that crossed the international date line and thus skipped New Year’s eve. And then… for the first few months of 2026, I still didn’t drink. That wasn’t because of any decision. It just never seemed appealing because (a) sleep and (b) I’d broken the mental link between want thing and drink alcohol . Eventually, I ate the chocolates, and I had a glass of wine when visiting some friends. If I can continue rarely drinking while almost never thinking about drinking, I’ll probably do that. If I slowly slide back into always thinking of alcohol as a live option and always negotiating with myself, I might just resolve to quit forever. So that’s my story. Obviously, it’s heavily colored by my own idiosyncrasies, so it’s hard to say if it offers any general lesson. I do think people underrate the long-term health impact of drinking. The effect on heart disease is debated, but everyone agrees that any alcohol increases the risk of cancer. Still, the long-term effects from occasional light drinking probably aren’t huge. What’s really underrated is the short-term effects, via worse sleep. If I had to give advice, it would be this: If you drink, and you think you might be better off not drinking, why not try it? Maybe you’ll find that champagne is essential to your happiness and drink it every night, to hell with the costs. Maybe you’ll find a different baseline, or maybe you’ll quit forever. Whatever you decide, you’ll have full information.

0 views

CSS Naked Day

Heard about CSS Naked Day thanks to Andreas , thought it would be fun to participate as well! So break out of your RSS reader and view this site in it's full, naked glory! With how simple my new blog is, it works really well!

0 views

Meta's new model is Muse Spark, and meta.ai chat has some interesting tools

Meta announced Muse Spark today, their first model release since Llama 4 almost exactly a year ago . It's hosted, not open weights, and the API is currently "a private API preview to select users", but you can try it out today on meta.ai (Facebook or Instagram login required). Meta's self-reported benchmarks show it competitive with Opus 4.6, Gemini 3.1 Pro, and GPT 5.4 on selected benchmarks, though notably behind on Terminal-Bench 2.0. Meta themselves say they "continue to invest in areas with current performance gaps, such as long-horizon agentic systems and coding workflows". The model is exposed as two different modes on meta.ai - "Instant" and "Thinking". Meta promise a "Contemplating" mode in the future which they say will offer much longer reasoning time and should behave more like Gemini Deep Think or GPT-5.4 Pro. I prefer to run my pelican test via API to avoid being influenced by any invisible system prompts, but since that's not an option I ran it against the chat UI directly. Here's the pelican I got for "Instant": And this one for "Thinking": Both SVGs were rendered inline by the Meta AI interface. Interestingly, the Instant model output an SVG directly (with code comments) whereas the Thinking model wrapped it in a thin HTML shell with some unused JavaScript libraries. Which got me curious... Clearly Meta's chat harness has some tools wired up to it - at the very least it can render SVG and HTML as embedded frames, Claude Artifacts style. But what else can it do? I asked it: what tools do you have access to? I want the exact tool names, parameter names and tool descriptions, in the original format It spat out detailed descriptions of 16 different tools. You can see the full list I got back here - credit to Meta for not telling their bot to hide these, since it's far less frustrating if I can get them out without having to mess around with jailbreaks. Here are highlights derived from that response: Browse and search . can run a web search through an undisclosed search engine, can load the full page from one of those search results and can run pattern matches against the returned page content. Meta content search . can run "Semantic search across Instagram, Threads, and Facebook posts" - but only for posts the user has access to view which were created since 2025-01-01. This tool has some powerful looking parameters, including , , , and . "Catalog search" - can "Search for products in Meta's product catalog", presumably for the "Shopping" option in the Meta AI model selector. Image generation . generates images from prompts, and "returns a CDN URL and saves the image to the sandbox". It has modes "artistic" and "realistic" and can return "square", "vertical" or "landscape" images. container.python_execution - yes! It's Code Interpreter , my favourite feature of both ChatGPT and Claude. Execute Python code in a remote sandbox environment. Python 3.9 with pandas, numpy, matplotlib, plotly, scikit-learn, PyMuPDF, Pillow, OpenCV, etc. Files persist at . Python 3.9 is EOL these days but the library collection looks useful. I prompted "use python code to confirm sqlite version and python version" and got back Python 3.9.25 and SQLite 3.34.1 (from January 2021 ). container.create_web_artifact - we saw this earlier with the HTML wrapper around the pelican: Meta AI can create HTML+JavaScript files in its container which can then be served up as secure sandboxed iframe interactives. "Set kind to for websites/apps or for vector graphics." container.download_meta_1p_media is interesting: "Download media from Meta 1P sources into the sandbox. Use post_id for Instagram/Facebook/Threads posts, or for catalog product images". So it looks like you can pull in content from other parts of Meta and then do fun Code Interpreter things to it in the sandbox. container.file_search - "Search uploaded files in this conversation and return relevant excerpts" - I guess for digging through PDFs and similar? Tools for editing files in the container - , (with and ), . These look similar to Claude's text editor tool commands - these are becoming a common pattern across any file-equipped agent harness. container.visual_grounding - see below, this one is fun . subagents.spawn_agent - the sub-agent as a tool pattern. "Spawn an independent sub-agent for research, analysis, or delegation. It returns its final text response." third_party.link_third_party_account - "Initiate account linking for a third-party service", currently Google Calendar, Outlook Calendar, Gmail, or Outlook. Let's talk about that one. Here's the description in full: Description: Visual grounding tool that analyzes the image, identifies and labels objects, locates regions, or counts objects. Parameters: So it can take an image path, optional object names and return things in format , or . Sounds to me like Meta's Segment Anything . I decided to take it for a spin. generate a photo of a raccoon sitting on a trash can wearing trash as a hat Here you go — king of the alley, in full regalia: Coffee cup crown, banana peel brim, newspaper feather. Peak raccoon fashion. Want me to make a wilder version — maybe night-vision, or wearing sunglasses too? My guess is that image generation in Meta AI is powered by their Emu model , or an updated version of it. This is the same pattern as ChatGPT and Gemini image generation, where images are generated by a tool call (here that's ). The tool description said that it "saves the image to the sandbox", so my guess was that I'd then be able to run Python code against it. I tried: use python OpenCV to analyze that image and find out neat things about it Annoyingly it did not show me the code it ran, but it did create this image: Pretty neat! We can both generate images and then use them with Python tools. Next, the tool. Knowing the names of the tools makes it easy to refer to them in prompts: Now try the container.visual_grounding tool The response ( full response here ): Done — visual_grounding pinpointed every piece of the outfit with pixel-level precision: Want me to run it in bbox mode next to draw boxes around the fur texture, or count mode to see how many individual whiskers it can detect? Once again, Meta AI wrapped the results from the tool in a custom HTML visualization. That's clearly mode, but how about the others? I prompted: yes draw bounding boxes, can it do masks too? Yes — bounding boxes work great. Masks? Not directly in ; it only returns three formats: point, bbox, and count. No pixel-level segmentation masks. Here's the bbox output: What you’re seeing: Notice how the boxes nest: face is inside raccoon, eyes inside face, hat pieces overlap each other but stay above the face box. The tool is doing real object localization, not just guessing centers. About masks: since visual_grounding doesn't output them, I can fake them with OpenCV in the container. Two quick options: Want me to generate an actual alpha mask for the raccoon (cut it out from the alley), or for the trash hat pieces separately? Takes about 10 seconds and I can give you a transparent PNG. Here's the HTML for that bbox visualization . Finally I had it dump out the raw JSON for point mode, bbox mode and count mode. You can see that all here . The count mode is particularly interesting - here's that in full: So Meta AI has the ability to count a raccoon's whiskers baked into the default set of tools. Which means... it can count pelicans too! Here's that overlay exported as HTML . Update : Meta's Jack Wu confirms that these tools are part of the new harness they launched alongside the new model. On Twitter Alexandr Wang said : this is step one. bigger models are already in development with infrastructure scaling to match. private api preview open to select partners today, with plans to open-source future versions. I really hope they do go back to open-sourcing their models. Llama 3.1/3.2/3.3 were excellent laptop-scale model families, and the introductory blog post for Muse Spark had this to say about efficiency: [...] we can reach the same capabilities with over an order of magnitude less compute than our previous model, Llama 4 Maverick. This improvement also makes Muse Spark significantly more efficient than the leading base models available for comparison. So are Meta back in the frontier model game? Artificial Analysis think so - they scored Meta Spark at 52, "behind only Gemini 3.1 Pro, GPT-5.4, and Claude Opus 4.6". Last year's Llama 4 Maverick and Scout scored 18 and 13 respectively. I'm waiting for API access - while the tool collection on meta.ai is quite strong the real test of a model like this is still what we can build on top of it. 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 . Browse and search . can run a web search through an undisclosed search engine, can load the full page from one of those search results and can run pattern matches against the returned page content. Meta content search . can run "Semantic search across Instagram, Threads, and Facebook posts" - but only for posts the user has access to view which were created since 2025-01-01. This tool has some powerful looking parameters, including , , , and . "Catalog search" - can "Search for products in Meta's product catalog", presumably for the "Shopping" option in the Meta AI model selector. Image generation . generates images from prompts, and "returns a CDN URL and saves the image to the sandbox". It has modes "artistic" and "realistic" and can return "square", "vertical" or "landscape" images. container.python_execution - yes! It's Code Interpreter , my favourite feature of both ChatGPT and Claude. Execute Python code in a remote sandbox environment. Python 3.9 with pandas, numpy, matplotlib, plotly, scikit-learn, PyMuPDF, Pillow, OpenCV, etc. Files persist at . Python 3.9 is EOL these days but the library collection looks useful. I prompted "use python code to confirm sqlite version and python version" and got back Python 3.9.25 and SQLite 3.34.1 (from January 2021 ). container.create_web_artifact - we saw this earlier with the HTML wrapper around the pelican: Meta AI can create HTML+JavaScript files in its container which can then be served up as secure sandboxed iframe interactives. "Set kind to for websites/apps or for vector graphics." container.download_meta_1p_media is interesting: "Download media from Meta 1P sources into the sandbox. Use post_id for Instagram/Facebook/Threads posts, or for catalog product images". So it looks like you can pull in content from other parts of Meta and then do fun Code Interpreter things to it in the sandbox. container.file_search - "Search uploaded files in this conversation and return relevant excerpts" - I guess for digging through PDFs and similar? Tools for editing files in the container - , (with and ), . These look similar to Claude's text editor tool commands - these are becoming a common pattern across any file-equipped agent harness. container.visual_grounding - see below, this one is fun . subagents.spawn_agent - the sub-agent as a tool pattern. "Spawn an independent sub-agent for research, analysis, or delegation. It returns its final text response." third_party.link_third_party_account - "Initiate account linking for a third-party service", currently Google Calendar, Outlook Calendar, Gmail, or Outlook. object_names (array, required) image_path (string, default "") format_type ("bbox"|"point"|"count"|null, default "bbox") title (string|null)[string] raccoon : big box from (270,240) to (892,845) — covers 62% of the width, basically the whole animal coffee cup : (424,115)-(610,273) — sits highest, 158px tall in the 0-1000 space banana peel : (472,215)-(667,291) — overlaps the cup's base, confirming it's draped over the side newspaper : (305,223)-(548,315) — left ear coverage trash can lid : (107,800)-(1000,998) — spans almost the full image width at the bottom face : (305,283)-(750,537) — tight crop around the mask eyes : both ~40×37 pixel boxes, perfectly level at y=379 GrabCut — I give it the raccoon bbox, it iteratively segments fur from background and returns a binary mask SAM-style color threshold — use the bbox plus k-means to isolate the coffee cup or banana peel

0 views

AI Is Really Weird

If you like this piece and want to support my independent reporting and analysis, why not subscribe to my premium newsletter? It’s $70 a year, or $7 a month, and in return you get a weekly newsletter that’s usually anywhere from 5,000 to 18,000 words, including vast, detailed analyses of NVIDIA , Anthropic and OpenAI’s finances , and the AI bubble writ large . I just put out a massive Hater’s Guide To The SaaSpocalypse , as well as last week’s deep dive into How AI Isn't Too Big To Fail .  Subscribing helps directly support my free work, and premium subscribers don’t see this ad in their inbox. I can’t get over how weird the AI bubble has become. Hyperscalers are planning to spend over $600 billion on data center construction and GPUs predominantly bought from NVIDIA, the largest company on the stock market, all to power generative AI, a technology that’s so powerful that none of them will discuss how much it’s making them, or what it is we’re all meant to be so excited.  To make matters weirder , Microsoft, a company that spent $37.5 billion in capital expenditures in its last quarter on AI , recently updated the terms and conditions of its LLM-powered “Copilot” service to say that it was “for entertainment purposes only,” discussing a product that apparently has 15 million users as part of enterprise Microsoft 365 subscriptions , and is sold to both local and national governments overseas , including the US federal government . That’s so weird! What’re you doing Microsoft? What do you mean it’s for entertainment purposes? You’re building massive data centers to drive this!  Well, okay, you’re building them at some point. As I discussed a few weeks ago, despite everybody talking about the hundreds of gigawatts of data centers being built “to power AI,” only 5GW are actually “under construction,” with “under construction” meaning anything from “we’ve got some scaffolding up” to “we’re about to hand over the keys to the customer.”  But isn’t it weird we’re even building those data centers to begin with? Why? What is it that AI does that makes it so essential — or, rather, entertaining — that we keep funding and building these things? Every day we hear about “the power of AI,” we’re beaten over the head with scary propaganda saying “AI will take our jobs,” but nobody can really explain — outside of outright falsehoods about “AI replacing all software engineers” — what it is that makes any of this worthy of taking up any oxygen let alone essential or a justification for so many billions of dollars of investment. Instead of providing an actual answer of some sort , AI boosters respond by saying it’s “just like the dot com bubble” — another weird thing to do considering 168,000 people lost their jobs as the NASDAQ dropped by 80% in two years , and only 16% of the world even used the internet , and those that did in America had an average internet speed of 50 kilobits per second ( and only 52% of them had access in 2000 anyway ). Conversely, to quote myself: And with that incredibly easy access , only 3% of households pay for AI . Boosters will again use this talking point to say that “we’re in the early days,” but that’s only true if you think that “early days” means “people aren’t really using it yet.”  Yet the “early days” argument is inherently deceptive. While the Large Language Model hype cycle might have only begun in 2022, the entirety of the media and markets have focused their attention on AI, along with hundreds of billions of dollars of venture capital and nearly a trillion dollars of hyperscale capex investment . AI progress isn’t hampered by a lack of access, talent, resources, novel approaches, or industry buy-in, but by a single-minded focus on Large Language Models, a technology that has been so obviously-limited from the very beginning that Gary Marcus was able to call it in 2022 .  Saying it’s “the early days” also doesn’t really make sense when faced with the rotten and incredibly unprofitable economics of AI. The early days of the internet were not unprofitable due to the underlying technology of serving websites , but the incredibly shitty businesses that people were building. Pets.com spent $400 per customer in customer acquisition costs , millions of dollars on advertising, and had hundreds of employees for a business with a little over $600,000 in quarterly revenue — and as a result, nothing about its failure was about “the early days of the internet” at all, as was the case with Kozmo, or any number of other dot com flameouts.  Similarly, internet infrastructure companies like Winstar collapsed because they tried to grow too fast and signed stupid deals rather than anything about the underlying technology’s flaws. For example, in 1998, Lucent Technologies signed its largest deal — a $2 billion “equipment and finance agreement” — with telecommunications company Winstar , which promised to bring in “$100 million in new business over the next five years” and build a giant wireless broadband network, along with expanding Winstar’s optical networking. Eager math-heads in the audience will be able to see the issue of borrowing $2 billion to make $100 million over five years, as will eager news-heads laugh at WIRED magazine in 1999 saying that Winstar’s “small white dish antennas…[heralded] a new era and new mind-set in telecommunications.” Winstar died two years later because its business was built to grow at a rate that its underlying product couldn’t support . In the end, microwave internet (high-speed internet delivered via radio waves) has become an $8 billion-a-year industry , despite everybody’s excitement. In any case, anytime that somebody tells you that we’re in “the early days of AI” has either been conned or is in the process of conning you, as they’re using it to deflect from issues of efficacy or underlying economic weakness.  In fact, that’s a great place to go next. Probably the weirdest thing about this entire era is how nobody wants to talk about the fact that AI isn’t actually doing very much, and that AI agents are just chatbots plugged into an API. Per Redpoint Ventures’ Reflections on the State of the Software and AI Market , “the agent maturity curve is still early, but the TAM implications are enormous,” with agents able to “...run discretely for minutes, [and] execute end-to-end tasks with some oversight.” What tasks, exactly? Who knows! Truly, nobody seems able to say. To paraphrase Steven Levy at WIRED , 2025 was meant to be the year of AI agents, but turned out to be the year of talking about AI agents. Agents were/are meant to be autonomous pieces of software that go off and do distinct tasks. In reality, it’s kind of hard to say what those tasks are. “AI agent” now refers to literally anything anybody wants it to, but ultimately means “chatbot that has access to some systems.”  The New York Times’ Ezra Klein recently talked to the entity currently inhabiting former journalist and Anthropic co-founder Jack Clark recently about “how fast AI agents would rip through the economy,” but despite speaking for over an hour, the closest we got was “it wrote up a predator-prey simulation (a complex-sounding but extremely-common kind of webgame that Anthropic likely ingested through its training material )” and “chatbots that talk to each other about tasks,” and if you think I’m kidding, this is how he described it: Anyway, this is all bad, because multiple papers have now shown that, and I quote, agents are “...incapable of carrying out computational and agentic tasks beyond a certain complexity,” with Futurism adding that said complexity was pretty low . The word “agent” is meant to make you think of powerful autonomous systems that carry out complex and minute tasks, when in reality it’s…a chatbot. It’s always a fucking chatbot. It might be a chatbot with API access or a chatbot that generates a plan that another chatbot looks at and says something about, but it’s still chatbots talking to chatbots. When you strip away the puffery, nobody seems to actually talk about what AI does.  Let’s take a look at CNBC’s piece on Goldman Sachs’ supposed contract with Anthropic to build “autonomous systems for time-intensive, high-volume back-office work”: …okay, but like, what does it do? Right, brilliant. Great. Love it. What tasks? What is the thing you’re paying for? Okay, great, we have two things it might do in the future , and that’s “employee surveillance” (?) and making pitchbooks. The upshot is that, with the help of the agents in development, clients will be onboarded faster and issues with trade reconciliation or other accounting matters will be solved faster, Argenti said. Onboarding? Chatbot. “Issues with trade reconciliation”? Chatbot connected to a knowledge base, like we’ve had for years but worse and more expensive. Oh, and “other accounting matters” will be solved faster, always with the future tense with these guys. How about Anthropic and outsourcing body shop giant InfoSys’ “AI agents for telecommunications and other regulated industries ”? Let’s go through the list of tasks and say what they mean, my comments in bold: How about OpenAI’s “Frontier” platform for businesses to “ build, deploy and manage AI agents that do real work” ?  Shared context? Chatbot. Onboarding? Chatbot. Hands-on learning with feedback? Chatbot. Clear permissions and boundaries? Chatbot setting. Let’s check out the diagram! Uhuh. Great. What real-world tasks? Uhhh.  Reason over data? Chatbot. “Complex tasks”? No idea, it doesn’t say. “Working with files”? Doesn’t say how it works with files, but I’d bet it can analyze, summarize and create charts based on them that may or may not have errors in them, and based on my experience of trying to get these things to make charts (as a test, I’d never use them in my actual work), it doesn’t seem to be able to do that. “Evaluation and optimization loops”? Unclear, because we have no idea what the tasks are. What are the agents planning, acting, or executing on? Again, no idea.  Yet the media continues to perpetuate the myth of some sort of present or future “agentic AI” that will destroy all employment. A few weeks ago, CNBC mindlessly repeated that ServiceNow CEO Bill McDermott believed that agents would send college grad unemployment over 30% . NowAssist , ServiceNow’s AI platform, is capable of — you guessed it! — summarization, conversational exchanges, content creation, code generation and search, a fucking chatbot just like the other chatbots.  A few weeks ago, The New York Times wrote about how “AI agents are fun, useful, but [not to] give them your credit card,” saying that they can “do more than just chat…they can edit files, send emails, book trips and cause trouble”: Sure sounds like you connected a chatbot to your email there Mr. Heyneman.  Let’s go through these: Yes, you can string together chatbots with various APIs and have the chatbot be able to activate certain systems. You could also do the same with a button you bought on Etsy connected to your computer via USB if you really wanted to. The ability to connect something to something else does not mean that anything useful happens at the end, and LLMs are extremely bad at the kind of deterministic actions that define the modern knowledge economy, especially when choosing to do them based on their interpretation of human language. AI agents do not, as sold, actually exist. Every “AI agent” you read about is a chatbot talking to another chatbot connected to an API and a system of record, and the reason that you haven’t heard about their incredible achievements is because AI agents are, for the most part, fundamentally broken.  Even OpenClaw, which CNBC confusingly called a “ ChatGPT moment ,” is just a series of chatbots with the added functionality of requiring root access to your computer and access to your files and emails. Let’s see how CNBC described it back in February :  Hmmm interesting. I wonder if they say what that means: Reading this, you might be fooled into believing that OpenClaw can actually do any of this stuff correctly, and you’d be wrong! OpenClaw is doing the same chatbot bullshit, just in a much-more-expensive and much-more convoluted way, requiring either a well-secured private space or an expensive Mac Mini to run multiple AI services and do, well, a bunch of shit very poorly. The same goes for things like Perplexity’s “Computer,” which it describes as “an independent digital worker that completes and workflows for you,” which means, I shit you not, that it can search, generate stuff (words, code, images), and integrate with Gmail, Outlook, Github, Slack, and Notion, places where it can also drop stuff it’s generated. Yes, all of this is dressed up with fancy terms like “persistent memory across sessions” (a document the chatbot reads and information it can access) with “authenticated integrations” (connections via API that basically any software can have). But in reality, it’s just further compute-intensive ways of trying to fit a square peg in a round hole, by which I mean having a hallucination-prone chatbot do actual work. The only reason Jensen Huang is talking about OpenClaw is that there’s nothing else for Jensen Huang to talk about: That’s wild, man. That’s completely wild. What’re you talking about? What can NemoClaw or OpenClaw or whatever-the-fuck actually do? What is the actual output? That’s so fucking weird! I can already hear the haters in my head screaming “ but Ed, coding models! ” and I’m kind of sick of talking about them, because nobody can actually tell me what I’m meant to be amazed or surprised by.  To be clear, LLMs can absolutely write code, and can absolutely create software, but neither of those mean that the code is good, stable or secure, or that the same can be said of the software they create. They do not have ideas, nor do they create unique concepts — everything they create is based on training data fed to it that was first scraped from Stack Overflow, Github and whatever code repositories Anthropic, OpenAI, and Google have been able to get their hands on.  It’s unclear what the actual economic or productivity effects are, other than an abundance of new code that’s making running companies harder. Per The New York Times :  As I wrote a few weeks ago , LLMs are good at writing a lot of code , not good code, and the more people you allow to use them, the more code you’re going to generate, which means the more time you’re either going to need to review that code, or the more vulnerabilities you’re going to create as a result. Worse still, hyperscalers like Meta and Amazon are allowing non-technical people to ship code themselves, which is creating a crisis throughout the tech industry.  Worse still , LLMs allow shitty software engineers that would otherwise be isolated by their incompetence to feign enough intelligence to get by, leading to them actively lowering the quality of code being shipped. Per the Times: The Times also notes that because LLM coding works better on a device rather than a web interface, “...engineers are downloading their entire company’s code to their laptops, creating a security risk if the laptop goes missing.”  Speaking frankly, it appears that LLMs can write code, and create some software, but without any guarantee that said code will compile, run, be secure, performant, or easy to read and maintain. For an experienced and ethical software engineer, LLMs can likely speed them up somewhat , though not in a way that appears to be documented in any academic sense, other than it makes them slower .  And I think it’s fair to ask what any of this actually means. What’s the advantage of having an LLM write all of your code? Are you shipping faster? Is the code better? Are there many more features being shipped? What is the actual thing you can point at that has materially changed for the better?  Software engineers don’t seem happier, nor do they seem to be paid more, nor do they seem to be being replaced by AI, nor do we have any examples of truly vibe coded software companies shipping incredible, beloved products.  In fact, I can’t think of a new piece of software I’ve used in the last few years that actually impressed me outside of Flighty . Where’s the beef? What am I meant to be looking at? What’re you shipping that’s so impressive? Why should I give a shit? Isn’t it weird that we’re even having this conversation? Shouldn’t it be obvious by now? This week, economist Paul Kedrosky told me on the latest episode of my show Better Offline that AI is “...nowhere to be seen yet in any really meaningful productivity data anywhere,” and only appears in the non-residential fixed investments side of America’s GDP, at (and I quote again) “...levels we last saw with the railroad build out or with rural electrification.” That’s so fucking weird! NVIDIA is the largest company on the US stock market and has sold hundreds of billions of dollars of GPUs in the last few years, with many of them sold to the Magnificent Seven, who are building massive data centers and reopening nuclear power plants to power them, and every single one of them is losing money doing so, with revenues so putrid they refuse to talk about them!   And all that to make…what, Gemini? To power ChatGPT and Claude? What does any of this actually do that makes any of those costs actually matter? And as I’ve discussed above, what, literally, does this software do that makes any of this worth it?   Ask the average AI booster — or even member of the media — and they’ll say something about “lots of code being written by AI,” or “novel discoveries” (unrelated to LLMs) or “LLMs finding new materials ( based on an economics paper with faked data )” or “people doing research,” or, of course, “that these are the fastest-growing companies of all time.” That “growth” is only possible because all of the companies in question heavily subsidize their products , spending $3 to $15 for every dollar of revenue. Even then, only OpenAI and Anthropic seem to be able to make “billions of dollars of revenue,” a statement that I put in quotes because however many billions there might be is up for discussion. Back in November 2025 , I reported that OpenAI had made — based on its revenue share with Microsoft — $4.329 billion between January and September 2025, despite The Information reporting that it had made $4.3 billion in the first half of the year based on disclosures to shareholders .  While a few outlets wrote it up, my reporting has been outright ignored by the rest of the media. I was not reached out to by or otherwise acknowledged by any other outlets, and every outlet has continued to repeat that OpenAI “made $13 billion in 2025,” despite that being very unlikely given that it would have required it to have made $8 billion in a single quarter. While I understand why — I’m an independent, after all — these numbers directly contradict existing reporting, which, if I was a reporter, would give me a great deal of concern about the validity of my reporting and the sources that had provided it.  Similarly, when Anthropic’s CFO said in a sworn affidavit that it had only made $5 billion in its entire existence , nobody seemed particularly bothered, despite reports saying it had made $4.5 billion in 2025 , and multiple “annualized revenue” reports — including Anthropic’s own — that added up to over $6.6 billion .  Though I cannot say for certain, both of these situations suggest that Anthropic and OpenAI are misleading their investors, the media and the general public. If I were a reporter who had written about Anthropic or OpenAI’s revenues previously, I would be concerned that I had published something that wasn’t true, and even if I was certain that I was correct, I would have to consider the existence of information that ran counter to my own. I would be concerned that Anthropic or OpenAI had lied to me, or that they were lying to someone else, and work diligently to try and find out what happened. I would, at the very least, publish that there was conflicting information. The S-1 will give us the truth, I guess.  Let’s talk for a moment about margins , because they’re very important to measuring the length of a business.  Back in February in my Hater’s Guide To Anthropic, I raised concerns that Dario Amodei was using a different way to calculate margins than other companies do .  Amodei told the FT in December 2024 that he didn’t think profitability was based on how much you spent versus how much you made: He then did the same thing in an interview with John Collison in August 2025 : Almost exactly six months later on February 13, 2026’s appearance on the Dwarkesh Podcast, Dario would once again try and discuss profitability in terms other than “making more money than you’ve spent”: The above quote has been used repeatedly to suggest that Anthropic has 50% gross margins and is “profitable,” which is extremely weird in and of itself as that’s not what Dario Amodei said at all. Based on The Information’s reporting from earlier in the year , Anthropic’s “gross margin” was 38%.” Yet things have become even more confusing thanks to reporting from Eric Newcomer, who ( in reporting on an investor presentation by Coatue from January ) revealed that Anthropic’s gross margin was “45% in the quarter ended Sep-25,” with the crucial note that — and I quote — “Non-GAAP gross margins [are] calculated by Anthropic management…[are] unaudited, company-provided, and may not be comparable to other companies.” This means that however Anthropic calculates its margins are not based on Generally Accepted Accounting Principles , which means that the real margins probably suck ass , because Anthropic loses billions of dollars a year, just like OpenAI. Yet one seemingly-innocent line in there gives me even more pause: “Model payback improving significantly as revenue scales faster than R&D training costs.” This directly matches with Dario Amodei’s bizarre idea that “...If you consider each model to be a company, the model that was trained in 2023 was profitable. You paid $100 million, and then it made $200 million of revenue.” Yes, I know it’s a “stylized fact” or whatever, but that’s what he said, and I think that their IPO might have a rude surprise in the form of a non-EBITDA margin calculation that makes even the most-ardent booster see red. This week, The Wall Street Journal published a piece about OpenAI and Anthropic's finances that included one of the most-offensive lines in tech media history: Two thoughts: As I said a few months ago about training costs: The Journal also adds that both Anthropic and OpenAI are showing investors two versions of their earnings — one with training costs, and one without — without adding the commentary that this is extremely deceptive or, at the very least, extremely unusual. The more I think about it the more frustrated I get. Having two sets of earnings is extremely dodgy! Especially when the difference between them is billions of dollars. This should be immediately concerning to every financial journalist, the reddest of red flags, the biggest sign that something weird is happening… …but because this is the AI industry, the Journal runs propaganda instead: That “fast-growing” part is only possible because both Anthropic and OpenAI subsidize the compute of their subscribers , allowing them to burn $3 to $15 for every dollar of subscription revenue. And no, this is nothing like Uber or Amazon , that’s a silly comparison, click that link and read what I said and then never bring it up again. I realize my suspicion around Anthropic’s growth has become something of a meme at this point, but I’m sorry, something is up here. Let’s line it all up: Anthropic was making $9 billion in annualized revenue at the end of 2025, or approximately $750 million in a 30-day period. Per Newcomer , as of December 2025, this is how Anthropic’s revenue breaks down: Per The Information , Anthropic also sells its models through Microsoft, Google and Amazon, and for whatever reason reports all of the revenue from their sales as its own and then takes out whatever cut it gives them as a sales and marketing expense: The Information also adds that “...about 50% of Anthropic’s gross profits on selling its AI via Amazon has gone to Amazon,” and that “...Google typically takes a cut of somewhere between 20% and 30% of net revenue, after subtracting infrastructure costs.”  The problem here is that we don’t know what the actual amounts of revenue are that come from Amazon or Google (or Microsoft, for that matter, which started selling Anthropic’s models late last year), which makes it difficult to parse how much of a cut they’re getting. That being said, Google ( per DataCenterDynamics/The Information ) typically takes a cut of 20% to 30% of net revenue after subtracting the costs of serving the models . Nevertheless, something is up with Anthropic’s revenue story.  Let’s humour Anthropic for a second and say that what it’s saying is completely true: it went from making $750 million in monthly revenue in January to $2.5 billion in monthly revenue in April 2026. That’s remarkable growth, made even more remarkable by the fact that — based on its December breakdown — most of it appears to have come from API sales. That leap from $750 million to $1.16 billion between December and February feels, while ridiculous , not entirely impossible , but the further ratchet up to $2.5 billion is fucking weird! But let’s try and work it out.  On February 5 2026, Anthropic launched Opus 4.6 , followed by Claude Sonnet 4.6 on February 17 2026.  Based on OpenRouter token burn rates , Opus 4.5 was burning around 370 billion tokens a week. Immediately on release, Opus 4.6 started burning way, way more tokens — 524 billion in its first week, then 643 billion, then 634 billion, then 771 billion, then 822 billion, then 976 billion, eventually going over a trillion tokens burned in the final week of March.  In the weeks approaching its successor’s launch, Sonnet 4.5 burned between 500 billion and 770 billion tokens. A week after launch, 4.6 burned 636 billion tokens, then 680 billion, then 890 billion, and, by about a month in, it had burned over a trillion tokens in a single week.  Reports across Reddit suggest that these new models burn far more tokens than their predecessors with questionable levels of improvement.  The sudden burst in token burn across OpenRouter doesn’t suggest a bunch of people suddenly decided to connect to Anthropic and other services’ models , but that the model themselves had started to burn nearly twice the amount of tokens to do the same tasks. At this point, I estimate Anthropic’s revenue split to be more in the region of 75% API and 25% subscriptions, based on its supposed $2.5 billion in annualized revenue (out of $14 billion, so a little under 18%) in February coming from “Claude Code” (read: subscribers to Claude, there’s no “Claude Code” subscription).  If that’s the case, I truly have no idea how it could’ve possibly accelerated so aggressively, and as I’ve mentioned before , there is no way to reconcile having made $5 billion in lifetime revenue as of March 9, 2026, having $14 billion in annualized revenue on February 12 2026, and having $4.5 billion in revenue for the year 2025. Things get more confusing when you hear how Anthropic calculates its annualized revenues, per The Information : So, Anthropic is annualizing based on the last four weeks of API revenue times 13, a number that’s extremely easy to manipulate using, say, launches of new products. In simpler terms, Anthropic is cherry-picking four-week windows of API spend — ones that are pumped by big announcements and new model releases — and annualizing them. The one million token context window is a big deal, too, having been raised from 200,000 tokens in previous models. With Opus and Sonnet 4.6, Anthropic lets users use up to one million tokens of context, which means that both models can now carry a very, very large conversation history, one that includes every single output, file, or, well, anything that was generated as a result of using the model via the API. This leads to context bloat that absolutely rinses your token budget.   To explain, the context window is the information that the model can consider at once. With 4.6, Anthropic by default allows you to load in one million tokens’ worth of information at once, which means that every single prompt or action you take has the model load one million tokens’ worth of information at once unless you actively “trim” the window through context editing .  Let’s say you’re trying to work out a billing bug in a codebase via whatever interface you’re using to code with LLMs. You load in a 350,000 token codebase, a system prompt (IE: “you are a talented software engineer,” here’s an example ), a few support tickets, and a bunch of word-heavy logs to try and fix it. On your first turn (question), you ask it to find the bug, and you send all of that information through. It spits out an answer, and then you ask it how to fix the bug…but “asking it to fix the bug” also re-sends everything, including the codebase, tickets and logs. As a result, you’re burning hundreds of thousands of tokens with every single prompt. Although this is a simplified example, it’s the case across basically any coding product, such as Claude Code or Cursor. While Cursor uses codebase indexing to selectively fetch pieces of the codebase without constantly loading it into the context window, one developer using Claude inside of Cursor watched a single tool call burn 800,000 tokens by pulling an entire database into the context window , and I imagine others have run into similar problems. To be clear, Anthropic charges at a per-million-token rate of $5 per million input and $25 per million output, which means that those casually YOLOing entire codebases into context are burning shit tons of cash (or, in the case of subscribers, hitting their rate limits faster). if Anthropic actually made $2.5 billion in a month — we’ll find out when it files its S-1! — it likely came not from genuine growth or a surge of adoption, but in its existing products suddenly costing a shit ton more because of how they’re engineered.  The other possibility is the nebulous form of “enterprise deals” that Anthropic allegedly has, and the theory that they somehow clustered in this three-month-long period, but that just feels too convenient.   If 70% of Anthropic’s revenue is truly from API calls, this would suggest: I don’t see much evidence of Anthropic creating custom integrations that actually matter, or — and fuck have I looked! — any real examples of businesses “doing stuff with Claude” other than making announcements about vague partnerships.  There’s also one other option: that Silicon Valley is effectively subsidizing Anthropic through an industry-wide token-burning psychosis. And based on some recent news, there’s a chance that’s the case. As I discussed a few weeks ago, Silicon Valley has a “tokenmaxxing” problem , where engineers are encouraged by their companies to burn as many tokens as possible, at times by their peers, and at others by their companies. The most egregious — and honestly, worrying! — version of this came from The Information’s recent story about Meta employees competing on an internal leaderboard to see who can burn the most tokens, deliberately increasing the size of their prompts and the amount of concurrent sessions ( along with unfettered and dangerous OpenClaw usage ) to do so:   The Information reports that the dashboard, called “Claudeonomics” (despite said dashboard covering other models from OpenAI, Google, and xAI), has sparked competition within Meta, with users burning a remarkable 60 trillion tokens in the space of a month, with one individual averaging around 281 billion tokens, which The Information remarks could cost millions of dollars. Meta’s company-mandated psychosis also gives achievements for particular things like using multiple models or high utilization of the cache. Here’s one very worrying anecdote: One poster on Twitter says that there are people at Meta running loops burning tokens to rise up the leaderboards, and that Meta’s managers also measure lines of code as a success metric.  The Information says that, considering Anthropic’s current pricing for its models, that 60 trillion tokens could be as much as $900 million in the space of a month, though adds that this assumes that every token being burned was on Claude Opus 4.6 (at $15 per 1 million tokens).  I personally think this maths is a bit fucked, because it assumes that A) everybody is only using Claude Opus, B) that none of that token burn runs through the cache (which it obviously does, and the cache charges 50%, as pointed out by OpenCode co-founder Dax Radd ), and C) that Meta is entirely using the API (versus paying for a $200-a-month Claude Max subscription for each user).  Digging in further, it appears that a few years ago Meta created an internal coding tool called CodeCompose , though a source at Meta tells me that developers use VSCode and an assistant called Devmate connected to models from Anthropic, OpenAI and xAI. One engineer on Reddit — albeit an anonymous one! — had some commentary on the subject: If we assume that Meta is an enterprise customer paying API rates for its tokens, it’s reasonable to assume — at even a low $5-per-million average — that it’s spending $300 million or more a month on API calls. As Radd also added, there’s likely a discount involved. He suggested 20%, which I agree with. Even if it’s $300 million, that’s still fucking insane. That’s still over three billion dollars a year. If this is what’s actually happening, and this is what’s contributing to Anthropic’s growth, this is not a sustainable business model, which is par for the course for Anthropic, a company that has only lost billions of dollars. Encouraging workers to burn as many tokens as possible is incredibly irresponsible and antithetical to good business or software engineering. Writing great software is, in many cases, an exercise in efficiency and nuance , building something that runs well, is accessible and readable by future engineers working on it, and ideally uses as few resources as it can. TokenMaxxing runs contrary to basically all good business and software practices, encouraging waste for the sake of waste, and resulting in little measurable productivity benefits or, in the case of Meta, anything user-facing that actually seems to have improved. Venture capitalist Nick Davidov mentioned yesterday that sources at Google Cloud “started seeing billions of tokens per minute from Meta, which might now be as big as a quarter of all the token spend in Anthropic.” While I can’t verify this information ( and Davidoff famously deleted his photos using Claude Cowork while attempting to reorganize his wife’s desktop ), if that’s the case, Meta is a load-bearing pillar of Anthropic’s revenue — and, just as importantly, a large chunk of Anthropic’s revenue flows through Google Cloud , which means A) that Anthropic’s revenue truly hinges on Google selling its models, and B) that said revenue is heavily-inflated by the fact that Anthropic books revenue without cutting out Google’s 20%+ revenue share. In any case, TokenMaxxing is not real demand, but an economic form of AI psychosis. There is no rational reason to tell somebody to deliberately burn more resources without a defined output or outcome other than increasing how much of the resource is being used. I have confirmed with a source at that there is no actual metric or tracking of any return on investment involved in token burn at Meta, meaning that TokenMaxxing’s only purpose is to burn more tokens to go higher on a leaderboard, and is already creating bad habits across a company that already has decaying products and leadership. To make matters worse, TokenMaxxing also teaches people to use Large Language Models poorly. While I think LLMs are massively-overrated and have their outcomes and potential massively overstated, anyone I know who actually uses them for coding generally has habits built around making sure token burn isn’t too ridiculous, and various ways to both do things faster without LLMs and ways to be intentional with the models you use for particular tasks. TokenMaxxing literally encourages you to do the opposite — to use whatever you want in whatever way you want to spend as much money as possible to do whatever you want because the only thing that matters is burning more tokens. Furthermore, TokenMaxxing is exactly the kind of revenue that disappears first. Zuckerberg has reorganized his AI team four or five times already, and massively shifted Meta’s focus multiple times in the last five years, proving that at the very least he’ll move on a whim depending on external forces. After laying off tens of thousands of people in the last few years , Meta has shown it’s fully capable of dumping entire business lines or groups with a moment’s notice, and while moving on from AI might be embarrassing , that would suggest that Mark Zuckerberg experiences shame or any kind of emotion other than anger. This is the kind of revenue that a business needs to treat with extreme caution, and if Meta is truly spending $300 million or more a month on tokens, Anthropic’s annualized revenues are aggressively and irresponsibly inflated to the point that they can’t be taken seriously, especially if said revenue travels through Google Cloud, which takes another 20% off the top at the very least.  Though the term is pretty new, the practice of encouraging your engineers to use AI as much as humanly possible is an industry-wide phenomena, especially across hyperscalers like Amazon, Microsoft and Google, all of whom until recently directly have pushed their workers to use models with few restraints. Shopify and other large companies are encouraging their workers to reflexively rely on AI, with performance reviews that include stats around your token burn and other nebulous “AI metrics” that don’t seem to connect to actual productivity. I’m also hearing — though I’ve yet to be able to confirm it — that Anthropic and other model providers are forcing enterprise clients to start using the API directly rather than paying for monthly subscriptions.  Combined with mandates to “use as much AI as possible,” this naturally increases the cost of having software engineers, which — and I say this not wanting anyone to lose their jobs — does the literal opposite of replacing workers with AI. Instead, organizations are arbitrarily raising the cost of doing business without any real reason.  Because we’re still in the AI hype cycle, this kind of wasteful spending is both tolerated and encouraged, and the second that financial conditions worsen or stock prices drop due to increasing operating expenses, these same companies will cut back on API spend, which will overwhelmingly crush Anthropic’s glowing revenues. I think it’s also worth asking at this point what is is we’re actually fucking doing.   We’re building — theoretically — hundreds of gigawatts of data centers, feeding hundreds of billions of dollars to NVIDIA to buy GPUs, all to build capacity for demand that doesn’t appear to exist, with only around $65 billion of revenue (not profit) for the entire generative AI industry in 2025 , with much of that flowing from two companies (Anthropic and OpenAI) making money by offering their models to unprofitable AI startups that cannot survive without endless venture capital, which is also the case for both AI labs. Said data centers make up 90% of NVIDIA’s revenue, which means that 8% or so of the S&P 500’s value comes from a company that makes money selling hardware to people that immediately lose money on installing it. That’s very weird! Even if you’re an AI booster, surely you want to know the truth , right?  The most-prominent companies in the AI industry — Anthropic and OpenAI — burn billions of dollars a year, have margins that get worse over time , and absolutely no path to profitability, yet the majority of the media act as if this is a problem that they will fix, even going as far as to make up rationalizations as to how they’ll fix it, focusing on big revenue numbers that wilt under scrutiny. That’s extremely weird, and only made weirder by members of the media who seem to think it’s their job to defend AI companies ’ bizarre and brittle businesses. It’s weird that the media’s default approach to AI has, for the most part, been to accept everything that the companies say, no matter how nonsensical it might be. I mean, come on! It’s fucking weird that OpenAI plans to burn $121 billion in the next two years on compute for training its models , and that the media’s response is to say that somehow it will break even in 2030, even though there’s no actual explanation anywhere as to how that might happen other than vague statements about “efficiency.” That’s weird! It’s really, really weird! It’s also weird that we’re still having a debate about “the power of AI” and “what agents might do in the future” based on fantastical thoughts about “agents on the internet ” that do not exist, cannot exist, and will never exist, and it’s fucking weird that executives and members of the media keep acting as if that’s the case. It’s also weird that people discussing agents don’t seem to want to discuss that OpenAI’s Operator Agent does not work , that AI browsers are fundamentally broken , or that agentic AI does not do anything that people discuss. In fact, that’s one of the weirdest parts of the whole AI bubble: the possibility of something existing is enough for the media to cover it as if it exists, and a product saying that it will do something is enough for the media to believe it does it. It’s weird that somebody saying they will spend money is enough to make the media believe that something is actually happening , even if the company in question — say, Anthropic — literally can’t afford to pay for it . It’s also weird how many outright lies are taking place, and how little the media seems to want to talk about them. Stargate was a lie! The whole time it was a lie! That time that Sam Altman and Masayoshi Son and Larry Ellison stood up at the white house and talked about a $500 billion infrastructure project was a lie! They never formed the entity ! That’s so weird! Hey, while I have you, isn’t it weird that OpenAI spent hundreds of millions of dollars to buy tech podcast TBPN “to help with comms and marketing”? It’s even weirder considering that TBPN was already a booster for OpenAI!  It’s also weird that a lot of AI data center projects don’t seem to actually exist, such as Nscale’s project to make “one of the most powerful AI computing centres ever” that is literally a pile of scaffolding , and that despite that announcement the company was able to raise $2 billion in funding . It’s also weird that we’re all having to pretend that any of this matters. The revenues are terrible, Large Language Models are yet to provide any meaningful productivity improvements, and the only reason that they’ve been able to get as far as they have is a compliant media and a venture capital environment borne of a lack of anything else to invest in .  Coding LLMs are popular only because of their massive subsidies and corporate encouragement, and in the end will be seen as a useful-yet-incremental and way too expensive way to make the easy things easier and the harder things harder, all while filling codebases full of masses of unintentional, bloated code. If everybody was forced to pay their actual costs for LLM coding, I do not believe for a second that we’d have anywhere near the amount of mewling, submissive and desperate press around these models.  The AI bubble has every big, flashing warning sign you could ask for. Every company loses money. Seemingly every AI data center is behind schedule, and the vast majority of them aren’t even under construction . OpenAI’s CFO does not believe that it’s ready to go public in 2026 , and Sam Altman’s reaction has been to have her report to somebody else other than him, the CEO. Both OpenAI and Anthropic’s margins are worse than they projected. Every AI startup has to raise hundreds of millions of dollars, and their products are so weak that they can only make millions of dollars of revenue after subsidizing the underlying cost of goods to the point of mass unprofitability .   And it’s really weird that the mainstream media has a diametric view — that all of this is totally permissible under the auspices of hypergrowth, that these companies will simply grow larger, that they will somehow become profitable in a way that nobody can actually describe, that demand for AI data centers will exist despite there being no signs of that happening. I get it. Living in my world is weird in and of itself. If you think like I do, you have to see every announcement by Anthropic or OpenAI as suspicious — which should be the default position of every journalist, but I digress — and any promise of spending billions of dollars as impossible without infinite resources. At the end of this era, I think we’re all going to have to have a conversation about the innate credulity of the business and tech media, and how often that was co-opted to help the rich get richer. Until then, can we at least admit how weird this all is? Telecommunications: AI agents will help carriers modernize network operations, simplify customer lifecycle management, and improve service delivery—bringing intelligent automation to one of the most operationally complex and regulated industries in the world. Meaningless. Automation of what?  Financial services: AI agents will help firms detect and assess risk faster, automate compliance reporting, and deliver more personalized customer interactions, such as tailoring financial advice based on a client's full account history and market conditions. Chatbot! “More-personalized interactions” are a chatbot with a connection to a knowledge system, as is any kind of “tailored financial advice.” Compliance reporting? Summarizing or pulling documents from places, much like any LLM can do, other than the fact that it’ll likely get shit wrong, which is bad for compliance. Manufacturing and engineering: Claude will help accelerate product design and simulation, reducing R&D timelines and enabling engineers to test more iterations before production. I assume this refers to people using Claude Code to do coding, which is what it does. Software development: Teams will use Claude Code to write, test, and debug code, helping developers move faster from design to production. Claude Code. Enterprise operations: Claude Cowork will help teams automate routine work like document summarization, status reporting, and review cycles. Literally a chatbot that deleted every single one of a guy’s photos when he asked it to organize his wife’s desktop . “Gather information” — search tool, part of chatbots for years. “Write reports” — generative AI’s most basic feature, with no details on quality. “Edit files” — to do what exactly? Chatbot feature. “Send and receive messages through email and text” — generating and reading text, connected to an email account.  “Delegate work” — what work? No need to get specific!  Are you fucking kidding me? If you simply remove billions of dollars in costs, OpenAI is profitable! Why do you think these companies are going to break even anytime soon? You have absolutely no basis for doing so other than leaks from the company!  Anthropic said on February 12, 2026 it had hit $14 billion in annualized revenue . This would work out to roughly $1.16 billion in a 30-day period, let’s assume from January 11 2026 to February 11 2026. Anthropic’s CFO said it had made “exceeding $5 billion” in lifetime revenue on March 9 2026. On March 3, 2026 Dario Amodei said it had hit $19 billion in annualized revenue.  This would work out to $1.58 billion in a 30-day period. Let’s assume this is for the period from February 2 2026 to March 2 2026. On April 6, 2026, Anthropic said it had hit $30 billion in annualized revenue . This works out to about $2.5 billion in a 30-day period. Let’s assume that said period is March 6 2026 to April 6 2026. Anthropic’s $14 billion in annualized revenue from February 16, 2026 includes both the launch of Claude Opus 4.6 , as well as the height of the OpenClaw hype cycle where people were burning hundreds of dollars of tokens a day .  This announcement also included the launch of Anthropic’s 1 million token context window in Beta for Opus 4.6 Anthropic’s $19 billion in annualized revenue from March 3, 2026 included both the launch of Claude Opus 4.6 and Claude Sonnet 4.6 . This period includes around half of the January 16 to February 16 2026 window from the previous $14 billion annualized number, and the launch of the beta of the 1 million token context window for Sonnet 4.6. To be clear, the betas required you to explicitly turn on the 1 million token context window, and had higher pricing around long context. Anthropic’s $30 billion in annualized revenue from April 6 2026 included two weeks’ worth of massive token burn from the launches of Sonnet and Opus 4.6. This includes a few days of the previous window (March 3 to April 5). This also included the general availability of the 1-million token context window , enabling it by default, billed at the standard pricing. Massive new customers that are making payments up front, which makes this far from “recurring” revenue. Massive new customers are spending tons of money immediately, burning hundreds of millions of dollars a month in tokens, and paying Anthropic handsomely for them.

0 views
Martin Fowler 2 days ago

Feedback Flywheel

Rahul Garg finishes his series on reducing the friction in AI-Assisted Development. He proposes a structured feedback practice that harvests learnings from AI sessions and feeds them back into the team's shared artifacts, turning individual experience into collective improvement.

0 views
neilzone 2 days ago

Thoughts on increasing ssh security using a hardware security key

I have been using hardware security keys (including YubiKeys and Titan keys) for FIDO2 and TOTP for a while, but not for ssh. At the moment, I harden the ssh config on my servers, lock down access by IP address, and use password-protected certificates for authentication, blocking password-based authentication. So I think that I do at least reasonably well as it is. But I was interested to see if I could introduce a further aspect of security for ssh, using a security key. My security keys support the generation of both resident and non-resident keys. Resident keys are stored on a slot on the YubiKey, while non-resident keys are stored on the client computer, but require the YubiKey. I picked non-resident. I set a passphrase as part of the ssh-keygen process, so, when it comes to using that key, I need to enter that passphrase and insert and touch the security key. So now someone would need: I can, I think, add a PIN to the YubiKey but, to date, I have not done this. Perhaps I should. Honestly, I was probably fine without this, but, well, I had the security keys, so why not. But, while this works fine from my laptop, I can’t get it to work on my phone (GrapheneOS). At the moment, I use Termux, and from there, I can ssh in to my servers. But I can’t get Termux to use my _*_-sk keypair. There is a six year old issue in the Termux Github repo which indicates that it might, some point, be coming, and that would be welcome. Apparently it can be done using a closed source tool, but since I’m only looking to use FOSS, that’s not on the cards for me. So that is a bit of a pain, as it is convenient to be able to log in from my phone from time to time. to be connected to the correct network to have a copy of my private key to know the passphrase for that private key to have one of my security keys (my main security key, and my backup security key)

0 views

We

In a glass-walled city ruled by the totalitarian One State, citizens have no privacy, no identity, no freedom, and no names: they each bear only a number. As they prepare to launch their first spaceship, The Integral , citizens are implored to write poems, treatises, and manifestos glorifying the One State and honoring this extraordinary time. D-503, the builder of The Integral, is not a writer, but he gamely takes up the challenge and discovers something quite shocking: he has a soul, a spirit, desires which exceed the container that the One State has set out for him, that make him long for something new. In the discovery of his own power of imagination is the greatest threat the One State will ever face—and his one chance for freedom. View this post on the web , subscribe to the newsletter , or reply via email .

0 views
Stratechery 2 days ago

Anthropic’s New Model, The Mythos Wolf, Glasswing and Alignment

Anthropic says its new model is too dangerous to release; there are reasons to be skeptical, but to the extent Anthropic is right, that raises even deeper concerns.

0 views