# 126: Scope Explosion ![Cover](https://wsrv.nl/?url=https%3A%2F%2Fimg.transistorcdn.com%2F7-tuF7RMSNRIRfD3M2fNWLQLF-ShDgRiBeceKLOFVZc%2Frs%3Afill%3A0%3A0%3A1%2Fw%3A1400%2Fh%3A1400%2Fq%3A60%2Fmb%3A500000%2FaHR0cHM6Ly9pbWct%2FdXBsb2FkLXByb2R1%2FY3Rpb24udHJhbnNp%2Fc3Rvci5mbS9zaG93%2FLzQzNjc3LzE2OTE1%2FODI4NTItYXJ0d29y%2Fay5qcGc.jpg&w=500&h=500) ## Episode metadata - Episode title: 126: Scope Explosion - Show: Mostly Technical - Owner / Host: Ian Landsman and Aaron Francis - Episode publish date: 2026-04-07 - Episode AI description: They explain why their planned releases stalled and dig into deployment delays and architecture tradeoffs. They explore surfacing hidden features, UX choices for agent tools, and prompt-library ideas. They debate AI hype, model churn, and Claude vs Codex. They also talk viral tweets, moderation, and launching a new AI-focused show called Token Town. - Duration: 01:35:58 - Episode URL: [Open in Snipd](https://share.snipd.com/episode/ec4be257-7190-4b90-a51b-0e5b6444162f) - Show URL: [Open in Snipd](https://share.snipd.com/show/7ad45fb4-8aa6-49c2-83cc-bc2327d14b03) - Export date: 2026-07-08T01:13:38 ## Snips ### [Solo Rebuild Reached 120fps Performance](https://share.snipd.com/snip/58b601da-24ae-48c0-a530-53557330bc0e) 🎧 07:21 - 11:49 (04:27) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/2fbf1e2c-f8f0-49b1-b663-2fd1a5f9db2b" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian describes rebuilding Solo's terminal engine multiple times and finally hitting 120fps by flipping a private macOS WebKit API switch. - He resolved scrollback, copy/paste, image drop, and a diffing algorithm that sends backend grid patches to the frontend for speed and polish. #### πŸ’¬ Quote > So the problem there was Tari is, it uses the WebKit engine or whatever's native on the system. On macOS, it uses the WebKit engine. And macOS limits [...] to 60 frames per second. But there's a private macOS API where you can override that. > β€” Ian Landsman Ian Landsman on getting Solo to 120fps #### πŸ“š Transcript **Ian Landsman:** I mean, we've talked about this before that if the terminal sucks, the product sucks because that that's what we're dealing with here. Um, so it, this, this most recent one wasn't a full rewrite. Um, but like we talked about already X terms gone and I just finalized, um, I just finalized like the, the fourth version counts as like the uh like the patching algorithm or like the diffing algorithm to because i hold all the grid state of the terminal on the back end and then i send it patches to the front end um and so i've just finalized that including um 2E scroll back. So when a program enters the alternate buffer, you don't get real scroll back. Everything has to be managed by the 2E. That's what AMP does. That's what Codex does. That's what OpenCode does. Claude's new anti-flicker mode, which I haven't tried, is a 2E instead of just main screen buffer. So you end up having to track all that stuff yourself. So Codex does all the heavy lifting, but I have to map all of the scrolling to non-traditional scroll inputs. So when I scroll, I basically have to send these codes that's like hey i'm scrolling and codex has to say all right well we're in the alternate buffer i'm gonna scroll back my you know internal history state whatever so **Aaron Francis:** where we're says this or codex says this uh **Ian Landsman:** solo has to send the correct uh control characters to scroll and then Codex says, all right, I got scroll. Or the you're in. Yeah, exactly. Okay, gotcha. For a normal terminal, it's just like there's history and there's the line you're on and it just scrolls. And that's super easy. So where we're at now, it's incredibly fast. I figured out a way to get Tari, which is the framework I'm using, up to 120 frames per second. I **Aaron Francis:** saw you. We can play video games in this thing. **Ian Landsman:** We can play video games in this thing. So the problem there was Tari is, it uses the WebKit engine or whatever's native on the system. So on macOS, it it the WebKit engine. It doesn't bundle Chromium along with it. And macOS limits on certain releases, limits the WebKit engine to 60 frames per second, which is like, God dang it. But there's a private macOS API where you can override that. And so now we just flip a switch and we're at 120 frames per second. Then the question becomes, can the whole system like handle that kind of throughput? you messing with **Aaron Francis:** us? Yeah. **Ian Landsman:** Yeah, that's where like sending the patches over the wire and applying them in React and all of that then becomes the bottleneck for the frames per second but we're good i ran out there i ran amp uh which has a heavy like animation loading screen that is just pounding uh bites over the wire it's like redraw redraw redraw um and we're solid at 120 frames per second um it's fast. It's right. And now all the two E's and everything works. I got copy, paste, image drop, drag and drop images. All of the like little fiddly things that have been, like, frustrations, those are all fixed now. Yes! So it's, like, it's pretty good, if I'm being honest. So we're going to, I'm in the final polish phases today, so I've been doing a lot of disparate things, and now I'm pulling it all together, doing the final like QA, cleaning up some UI stuff. Will King is still working on the real UI. And so I'm still just limping along here. And a few other things have sprung out of it as I've been working. Oh boy. I am now. Scope creep. Oh, it's scope explosion like you wouldn't believe. And it's beautiful. It's beautiful. All right. So --- ### [Timer Primitive Raises Agent Autonomy](https://share.snipd.com/snip/2fb367d3-2859-488a-91dc-edfc549699a7) 🎧 11:51 - 16:17 (04:25) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/0c06b758-78ca-42ee-9b9d-1efe9dc851ca" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian realized MCP server timers let agents be autonomous and avoid getting stuck by scheduling wake-up prompts into running terminal sessions. - The timer primitive lets Claude/Gemini register wake prompts, sleep, then Solo fires the prompt and can kill or reset the timer on completion. #### πŸ’¬ Quote > These agents can now set timers for themselves to wake up in a loop and receive a prompt. Claude can say, all right, I'll check in on this in two minutes or whatever, and it calls the MCP tool that says set timer for two minutes. > β€” Ian Landsman Ian Landsman on MCP timer tool #### πŸ“š Transcript **Ian Landsman:** The MCP server is now integral to Solo being a success. Yeah. Okay. All right. So what I have realized is no other terminal, ghosty, iterm, whatever, no other terminal gives running agents control over its sister terminals, right? And so where I'm at now is I will launch, I'll launch a clod, and I have a whole like, I have a whole skill for this, but I'll launch a clod because it's just, it's friendly. And I'll say, you're, you're the orchestrator. Don't write any code. It's like, all right, yes, sir. On it, sir. Right. Um, and then I'll describe the problem that I'm having. a Claude and a Gemini to do research and it opens new terminals and it sends the input and it monitors for permissions prompts or like if it if it gets stuck, it can look at it and say fixing it's stuck on this thing. Let go ahead and send, you know, approve or approve for the session or whatever. And so this orchestrator is just like a human that's watching, you know, three or four terminals run. And it's like gathering output and all of this stuff. And so it can read and write the output, which is really nice. I noticed as I was like spinning up these other terminals that Claude would be like, okay, I'll check in on them in a few minutes, and then it would just go to sleep. It's just like, great, I'll check on it. See you later. And these things never wake up. They don't have a sense of self. It's not like, oh, I should maybe just sometimes it'll be like, let me just do a bash sleep loop for 60 seconds and then wake up. But that's what I've seen it do. Yeah. unreliable. Okay. So yeah, things starting to come together, right? Where I've got some tools. I take it here. I've got some tools. Okay. I got some tools. So I've got, I've got the MCP server, right? Solo itself can send bytes a running process. That's kind of the whole thing Solo does. Okay. And so now there is a new MCP tool. There are several, but there is at least one new MCP tool that is called a timer. Hmm. Interesting. Okay. And so these agents can now set timers for themselves to wake up in a loop and receive a prompt, right? So Claude can say, all right, I'll check in on this in two minutes or whatever. And it calls the MCP tool that says set timer for two minutes and then claude decides here's the prompt you should send me in two minutes so then claude just goes to sleep it just like turns off that's great i'll i'll wake up later and then solo manages these timers and when the two minute timer fires it sends a prompt to that running session that says you know you know health check solo timer whatever plus the body that claude decided to register the timer with so then every two minutes it's like waking up checking for permissions prompts seeing if any agents are done and then it can kill its timer. It can reset its timer. It can extend. It can do whatever. And so now I'm having these like, it's not like a Ralph loop. It's just a don't get stuck loop. Like, hey, I told you to do all this research. Maybe it's like a five-stage research plan. Set a timer. Monitor progress. And then when you're done, let's look over the report together. And then you can dispatch codexes to do the implementation. Set a timer, monitor the whole thing, and then you can dispatch Claude and Gemini to do QA. It's amazing. the timer turns out the timer is a pretty good primitive because it allows like it increases the autonomy factor by by quite a bit. And so that's one thing that has surfaced. --- ### [Terminal Multiplexing Enables Agent Orchestration](https://share.snipd.com/snip/705973d1-6d21-4c39-a54e-22a859802ec8) 🎧 13:55 - 20:55 (06:59) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/340cd45d-98e9-4b21-bb15-d886197d7e45" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Solo's unique value is letting running agents orchestrate and read/write across multiple sibling terminals for coordinated workflows. - That multiplies use cases from simple multiplexing to multi-agent research, monitoring, QA and orchestration inside the terminal UI. #### πŸ’¬ Quote > No other terminal gives running agents control over its sister terminals. So I will launch a Claude...and it opens new terminals and it sends the input and it monitors for permissions prompts or like if it gets stuck, it can look at it and say fixing it's stuck on this thing. > β€” Ian Landsman Ian Landsman on agents controlling sister terminals #### πŸ“š Transcript **Ian Landsman:** Where I've got some tools. I take it here. I've got some tools. Okay. I got some tools. So I've got, I've got the MCP server, right? Solo itself can send bytes a running process. That's kind of the whole thing Solo does. Okay. And so now there is a new MCP tool. There are several, but there is at least one new MCP tool that is called a timer. Hmm. Interesting. Okay. And so these agents can now set timers for themselves to wake up in a loop and receive a prompt, right? So Claude can say, all right, I'll check in on this in two minutes or whatever. And it calls the MCP tool that says set timer for two minutes and then claude decides here's the prompt you should send me in two minutes so then claude just goes to sleep it just like turns off that's great i'll i'll wake up later and then solo manages these timers and when the two minute timer fires it sends a prompt to that running session that says you know you know health check solo timer whatever plus the body that claude decided to register the timer with so then every two minutes it's like waking up checking for permissions prompts seeing if any agents are done and then it can kill its timer. It can reset its timer. It can extend. It can do whatever. And so now I'm having these like, it's not like a Ralph loop. It's just a don't get stuck loop. Like, hey, I told you to do all this research. Maybe it's like a five-stage research plan. Set a timer. Monitor progress. And then when you're done, let's look over the report together. And then you can dispatch codexes to do the implementation. Set a timer, monitor the whole thing, and then you can dispatch Claude and Gemini to do QA. It's amazing. the timer turns out the timer is a pretty good primitive because it allows like it increases the autonomy factor by by quite a bit. And so that's one thing that has surfaced. There have been a few others, which I'll hold off on. But we're really cruising now. It's **Aaron Francis:** pretty good. You're seeing the real needs and you like, all right, what are we going to do here? **Ian Landsman:** I really am. I **Aaron Francis:** like all that stuff. I've had a need of a timer myself this week. So, and I, it doing the bash sleep little thing it does, uh, which I seem to work. Okay. I wasn't like super closely monitoring it, um I could definitely see it going south so I like the idea of it being in solo itself makes sense and so I can have your own little counselors it sounds like I don't need the counselor CLI anymore I don't the counselor CLI anymore yeah I could just do it uh sort of on the fly I could be like spin up two Geminis and two Codexes and see what they think about this and and **Ian Landsman:** it's better because it's interactive. So it can continue to feed, like it can continue to feed information to it if it finds, well, that wasn't quite what I was asking for. Or I can go in there after it's done into the Gemini or into the Claude or codex or whatever and be like, hey, actually, I'm going to steer you this direction. Do that instead, instead of just like a one-shot wait for the markdown to come back. So I haven't used the Counselor CLI since this has been invented. It's just, it's awesome. I like **Aaron Francis:** it. Yeah, well, and also like sometimes in the Counselors, like things get, you know, whatever. It's asking permissions or it's got some question and then like that's just a dead end. So it just tells you, oh, Clodex never returned because whatever. So now it can handle all those because it's live. it's all coming together. All your foundational stuff is building. It's actually starting to pay off. It really is. It's like Ghosty **Ian Landsman:** would never do this. No other like conductor or anybody like that is built around this concept of terminal multiplexing yeah they **Aaron Francis:** all go a different path yeah nope **Ian Landsman:** nobody nobody can do this which is awesome i do like this idea of like i think that's sort **Aaron Francis:** of interesting that you have to like i feel like you need to actually reconsider maybe even like things like your pricing a little bit and stuff but like because i feel like what the guys just continues it's like you are niching down to me into like a very like more hardcore kind of very specific use case or user right like because like conductor, codex, all the other people are going towards like, here's a chat box. We're smoothing over the rough edges, right? Like of everything. You're not trying to keep you from thinking about like all these, obviously the first party ones are often, they're not going to make it easy. Although Claude actually introduced a tool to let you call codex and stuff. But like they're not trying to optimize for those use cases where you are trying to optimize for all those use cases. And you're a little closer to the metal. Right. So like, I don't know. So is that a more expensive tool? Maybe. I don't know. It's kind of interesting. Like this is for people who want to be close to the metal. That's **Ian Landsman:** a good question. I think. But **Aaron Francis:** I like to think of a vision. It feels like the vision, who your customer is, is coming together. Right. Like the type of person you're not building for a certain type of person and you are building for a different type of person. And that is very useful. **Ian Landsman:** I'm hoping that I can have like a pretty gradual adoption path where obviously what we see on Twitter is not reality. Right. And I'm hoping my adoption path can match what is closer to reality, which is the average developer wants a nice container to run a bunch of terminals that are scoped to a project, right? So you want to have more organization than Ghosty provides. That's a great start. And then you're like, wait, I can ask, and even if you're just with one big lab, you can say like, I can ask Claude to spawn another Claude and do something, or I can ask Claude to spawn 10 Claude's and do parallel research. Oh, let me dabble with that. And I hope that the adoption story is like it's a low bar and a low floor and a high ceiling so they can just come in and just use it as a terminal multiplexer that runs your dev stack and manages that stuff and then hopefully become more and more uh agentic pilled. And once they're super into it, they hit the pricing limits of Solo and pay for it. So that's the current thesis. --- ### [Use Targeted In-App Hints For Discoverability](https://share.snipd.com/snip/cb253899-46ab-4cb3-b8ef-c19edb7ba41d) 🎧 22:26 - 24:01 (01:35) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/86694022-b40c-42c8-bcfc-a3348d8b44eb" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Surface new features with low-friction in-app hints and toasts tied to feature usage, not spammy notifications. - Example: show a bottom-left hint for Command+K until user invokes it five times, then remove it permanently. #### πŸ’¬ Quote > The app knows how many times the user has opened the command palette. So if they open the command palette fewer than five times, there's a little indicator in the bottom left that's like, command K to open the command palette. > β€” Ian Landsman Ian Landsman on feature discoverability #### πŸ“š Transcript **Ian Landsman:** I have in-app toasts that launch or pop up for like, this process needs your attention, this command crashed, whatever. I have light tracking for what things have been used. So I know, well, the app knows, I don't really know. The app knows how many times the user has opened the command palette. So like if they open the command palette fewer than five times, there's a little indicator in the bottom left that's like, command to open the command palette. And after they open it five times that hint goes away forever so one of my thoughts is if they don't have um if they don't have like the uh timers thing enabled in their mcp or if they have it enabled and they've never called it maybe after a week and zero usages of the timers mcp i can do a little in-app toast that's like hey did you know solo has this click here to read more and it takes you to a page on the website that's my current thinking my other this is more of a brute force is i can send server server sent notifications from the back end um and i think i have to check, I think that can be tied to feature usage. I know it can be tied to version. And so, you know, I could send out a server sent notification that's like, Hey, we've just released, you know, whatever click here to learn more and how it might fit your workflow, something like that. --- ### [Expose Agent Tools Inline Instead Of Modal Popups](https://share.snipd.com/snip/ff633825-357e-436d-afd6-abb08f061902) 🎧 24:10 - 25:45 (01:35) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/edba2bd0-172a-4e91-8fc6-ec463822eca9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Expose agent tools in contextual UI (sidebar, menu, right-click) so users discover capabilities without disrupting flow. - Implement a prompt-library UI that pastes a timer prompt into the terminal instead of building a full scheduling UI. #### πŸ’¬ Quote > It's almost like a prompt generator so I don't build out a whole UI to like schedule your own timers. I'd build out a little almost like prompt library drop down thing. It's like set a timer. > β€” Ian Landsman Ian Landsman on prompt-library UI idea #### πŸ“š Transcript **Aaron Francis:** I wonder if there should be like, like when you have a, you know, when you do like a new thing in the sidebar and you can do an agent or a terminal or command or whatever, like maybe there should be like a new panel or counselors or whatever you want to call it. And like that just sits, that could be a type of thing that sits there. And it also exposes that exists. **Ian Landsman:** Okay. I built that pre-hardening and strengthening of the MCP to send the bites back and forth. I built counselors as like a sidebar first class citizen. And I don't, it. What's it working for you? No, because there's still a lot of configuration required to like make sure that every agent has its headless mode or whatever. Yeah. And do the one shot. Then what do you do with the markdown? And so I think this is much better in that it is still **Aaron Francis:** this i mean still exactly what you're talking about not actual counselor cli but just exposing that like it just spins up a clod that is the orchestrator right it's got a little special thing that's like you're in a in a counselors or in a panel or whatever you want to call it yeah like this is designed to like connect out to codex and gemini or whatever like just a way to make it even visible that you can do such a thing and maybe some guardrails like i quick tested and gemini is not connected and you know like do you want to walk through that with me blah blah blah yeah **Ian Landsman:** i'll need to think about it i like that from like a discoverability point of view. --- ### [Hide MCP Tools Until Feature Is Enabled](https://share.snipd.com/snip/df47a021-cc29-42c6-81a1-33ba3b5531b2) 🎧 28:49 - 29:18 (00:29) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/389fb8fe-3975-4cf8-9ac2-2bc05ab43f70" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian limits MCP tool disclosure by product section so agents only see tools relevant to that user's intent, avoiding overwhelming agents with too many capabilities. - Administrators toggle features off so a basic terminal multiplexer stays lightweight and agents don't learn unused tools. #### πŸ’¬ Quote > Certain sections of the product you can enable it. And if it's not enabled, the MCP tools don't even disclose themselves at all to the connecting agent. > β€” Ian Landsman Ian Landsman on selective MCP disclosure #### πŸ“š Transcript **Ian Landsman:** so I can't hit them with like a wall of a million tools so one way that I've done that is certain sections of like the product so solo the product certain sections you can enable it so like certain features. And if it's not enabled, the MCP tools don't even disclose themselves at all to the connecting agent. And so if you go in and you're like, dude, I just want a terminal multiplexer. Well, keep the MCP off first of all. --- ### [AI Mania Is Shifting To Pragmatic Tooling](https://share.snipd.com/snip/4c9531df-9b29-49e2-ac9c-b2d87cf12ade) 🎧 32:58 - 35:05 (02:06) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/9fd9f941-3eef-4ffe-8e8e-5b02b3fb967d" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - AI hype appears to be settling: model-release-driven mania cooled, adoption is becoming incremental tooling (Otter, editing) rather than revolutionary daily churn. - Aaron and Ian note a slow, boring, practical adoption where tools become useful plumbing. #### πŸ’¬ Quote > I do think the hype is dying down a little bit and a little bit more of the fundamental plumbing is getting figured out, which I think is good. > β€” Ian Landsman Ian Landsman on AI hype settling #### πŸ“š Transcript **Ian Landsman:** still exists. I do think some of the open-claw hype has worn off, which I think is appropriate. I think some of the anti-AI people are softening just a little bit, but there's still a big holdout contingency. But I think a little bit of the mania maybe has died down. Now, to be fair, we haven't had a model release in, you know, a month or something. So, God, where are we going so slow? But I do think the hype is dying down a little bit and a little bit more of the fundamental plumbing is getting figured out, which I think is good. **Aaron Francis:** There was an interesting thing, and I subscribed to Nate Silver, who I know not everybody's a Nate Silver guy, but I kind of like Nate Silver, poker guy, whatever. Anyway, he had an article. Well, I'm not going to through the whole thing. It was mostly about Twitter being slop or something, whatever. It was like a pretty good thing about Twitter. It's bread **Ian Landsman:** and butter for **Aaron Francis:** Ian right there. right. So he's a big Twitter guy, but he's like, come on, now it goes terrible, blah, blah, blah. But anyway, as part of this, he randomly, I think it was part of this article. Anyway, it doesn't matter. Nate Silver brought up the idea of this anti-AI person he follows where they had now carved out this exception. Of course, they use Otter, one of these transcribing tools to transcribe their meetings. So they use Otter, but they don't use AI for their stuff. Sure. And maybe this wasn't Nate Silver, actually. It might have been the other guy. It's a good story, so it doesn't really matter. It doesn't matter. The point is, we're getting to the point where like tools are infesting themselves into everything. Yeah. And but they're like useful. It's like useful tools are out there now. And yes, they're AI, but that's fine. Like it transcribes stuff and it does a good job. And that's all I care about. And yeah, and you, you are, and you know, a year from now, like that same person's going to be like, well, yeah, I used Otter and I use this other thing that does copy edits because like, who cares about commas and that does a good job with that. And it's not like it's writing my thing. Yeah. So. Slow, boring adoption. Exactly. Exactly. --- ### [Viral Astronaut Tweet Exposed Toxic Replies](https://share.snipd.com/snip/9f94e4ee-4c4b-4262-a873-da8ff775c243) 🎧 37:48 - 42:56 (05:08) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/dd06f2a0-f22d-4c54-b4bb-8654394962ba" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian's tweet of an astronaut family photo (β€œImagine winning this hard”) unexpectedly reached ~14 million views and exposed waves of racist and conspiratorial replies. - He restricted replies to verified accounts and regions to reduce low-value, abusive responses. #### πŸ’¬ Quote > Imagine winning this hard. [...] I eventually limited the replies to North and South America, Europe and verified accounts only. > β€” Ian Landsman Ian Landsman on viral tweet and moderating replies #### πŸ“š Transcript **Ian Landsman:** the kings of Twitter, you and I. What a wild weekend. First, why don't you tell us where Outdoor.fm is deployed? Why don't you give us a little insight into that? **Aaron Francis:** Oh, let's talk about our friends over at Laravel Private Cloud. It's not actually on private cloud, to be fair. It's on regular cloud, but Laravel Private Cloud. Laravel Cloud frees your team from hands-on infrastructure work so they can ship product features faster. And did you know Laravel Private Cloud is Laravel's isolated infrastructure offering, ideal for organizations with strict security, compliance, and performance requirements? You can VPC peer in existing AWS resources and have full control over networking and compute. Check it out at cloud.laraval slash enterprise. Big thanks to Laravel Private Cloud for sponsoring the show. Yeah, the Laravel Private Cloud stuff, like we've talked about before, I'm quite intrigued by. I don't have anything that I can put on it just yet, but I like the idea of my Laravel Black card, you know? I got a Laravel Black card. It's like special. One **Ian Landsman:** day when Outro's made it, you can just do private cloud just for giggles. Yeah, **Aaron Francis:** that's the plan. I don't think Outro's that kind of product, unfortunately, to get that **Ian Landsman:** big, but maybe, you never know. Why not? Dream big. 14.1 million views. **Aaron Francis:** You're up to that much of this tweet. 14 million views. I have so much to say on this. We should have started the episode with this. I have like an hour of stuff on it. But okay. What did you tweet that got 14 million views? This **Ian Landsman:** is far and away my most popular tweet, for sure. All right, so on X.com, the Everything app, I saw a tweet that said Victor Glover, who's the pilot of the spaceship that's out there right now, was a pilot for SpaceX. He was a Navy captain for 25 years, or his naval wings for 25 years, three degrees, 24 combat deployments. And he's been a test pilot, which I understand is quite difficult to become. So that was the original tweet that I saw. Picture of him. It an Yeah, it had a picture of him his like official probably navy photo shoot because he's got the flags behind him he's got his uniform on looking very stoic so it's this picture and talking about how freaking awesome he is i read that and thought yeah he is freaking awesome and then uh in somewhere in the replies i saw a picture of him posed in his space suit with his family it was like a NASA family photo shoot. And so I just finished reading how awesome this guy is because he's a genius and a war hero and super brave guy. And then I see this picture of him with this big old cheesy grin on in his goofy space suit, his NASA space suit. And he has count them one, two, three, four daughters with the identical big cheesy grin. Everyone looks so happy. The wife looks so happy. And there's a dog at his feet. Big dog, actually. It's a big dog. Yeah. And so I looked at this and thought, okay, so I just finished reading how this guy has three master's degrees, has been in the Navy for 25 years and been to war a bunch of times. Like, this is the bravest man in the world. And he's also this happy dad of four girls and happily married to this wonderful woman. And so I grabbed that picture and I quoted the original tweet talking about his work accolades. And the thesis is basically like, yes, he has all that work accolade, all those work accolades. But look, he's got this beautiful family and he's got these wonderful daughters and this perfect wife. And so I said, imagine winning this hard. Impossible. And I posted that picture. That was it. That's it. That was it. That's one, two, three, four, five words and a picture. And somehow I got 14 million views. That's crazy. Makes no sense. And then you actually linked to the tweet, and I thought **Aaron Francis:** that was bad. Isn't linking to tweets bad or linking to tweets is okay? I don't think quoting **Ian Landsman:** tweets is bad because it stays on the platform. That's **Aaron Francis:** what I thought, but I've sometimes seen like that's bad too. But okay, we think quoting tweets, apparently it's not that bad because you got 14 million views. It's not that bad. So okay. There we go. So, yeah, the picture's awesome. Like, him in a spacesuit with the family is like... And they all look so happy. Yeah. They all, they got the four kids. Obviously, you have the four kids. I of like that. I assume they're all **Ian Landsman:** these my wife is one of four girls. And so, like, my father-in is not an astronaut, but in the same position, you know, father of four girls. And so I thought, this guy is totally winning. **Aaron Francis:** Man, 14 million. So I looked quick to see how many followers you gained. It looks like you gained no followers. So 14 million views. Well, that's **Ian Landsman:** not actually true. A hundred new followers who are going to be very disappointed when the programming goes back to the original. That's sense. But yeah, it's okay. So, cool. don't do it for followers. We do it for likes. We do it for love of the game. --- ### [Businesses Prioritize Long-Term Paying Customers Over Hobbyists](https://share.snipd.com/snip/eac52264-a5b1-4415-b961-9125ca970c38) 🎧 01:02:33 - 01:07:07 (04:33) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/a8cbeaec-9064-461c-b76b-14516828aad9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron frames Claude's decision to restrict hobbyist OpenClaw users as a business move: prioritize long-term paying business customers over subsidizing heavy hobby token users. - He argues companies will favor customers who produce sustained revenue and integrations over ephemeral token burners. #### πŸ’¬ Quote > Claude is like business customer...10 years from now, some of these relationships are going to mean you use Claude for the next 10 years. Some of these relationships are like just burning tokens now. > β€” Aaron Francis Aaron Francis on Claude limiting OpenClaw users #### πŸ“š Transcript **Ian Landsman:** I **Aaron Francis:** mean, I just think that, I think it's very interesting, the comparison of OpenAI and Claude right now. And so Claude is like business customer. They got the deal with Microsoft now where you can like use Claude co-work, like inside of all the Microsoft stuff that's rolling out. Obviously,ers business coders business stuff they're very focused on the business ecosystem right and like this is just them dialing in on that like okay open claw hobbyist dude who's got three claws right in your basement and maxing out this 200 plan like you're not a valuable customer because a we're subsidizing you even worse b you're using valuable resources that a real business customer could use and then the part that most people don't seem to get, at least for the reply people, right, is that like 10 years from now, some of these relationships are going to mean you use Claude for the next 10 years. And some of these relationships are like just burning tokens now. And in a year, you're not even going know what happened to your open claw bot mac mini right and so like that's a not valuable long-term relationship whereas the relationship with like me is valuable for them and is going to lead to me both using it myself but also using their api key to like build other products and all those type of things right so i'm going to spend thousands and thousands of dollars. you're **Ian Landsman:** so special and handsome or what aspects about you because **Aaron Francis:** you're a business? Me, me. Yeah, business person, right? And it doesn't have to be you own the business. It could be you're a developer in a business and then you love using Claude and Claude has good uptime and does accurate results for you and doesn't get dumb sometimes. Like the better they can make all those things, the more likely you are to, when your boss says, what should we use? You're more likely to say Claude, right? These are all good things for them. So I think this is where I agree with you most. You **Ian Landsman:** mentioned it in passing, the uptime. If you've got 100,000 people, I don't know, run an open clause that every minute wake up and burn tokens just to see like what's going on um and then i'm trying to use it to change the world right via coding and i'm getting downtime because the clause are all like heartbeat okay heartbeat i'm i i'm i'm great i think it's. I also think there is a false argument going on about, I think it's being masqueraded as like developer choice, open source, integrity. And it's like, guys, this is a business. Like there's no, this is not a public utility. Whether I agree with it or not, I happen to agree with the decision, but whether I agree with it or not, they don't owe you access to their service. Right. It no sense. Gmail shut you down at any moment. Also, if they find that you're running a file transfer service out of Gmail, they're going to shut you down. Yes. so that's the part where I'm like, guys, you're being a little, I don't know if it's like, I don't know if it's malicious or like conniving, but it's like, guys, this is not open source. Right. This is not about developer freedom. This is a freaking business. So that's the part where I'm just like, come on, guys. **Aaron Francis:** One of my mantras on this show is that developers are bad customers. And I feel like this is like, not all of them, blah, blah, not in all scenarios. But like we're seeing a lot of developers are bad customers here. And like the ones who are most loud are like, look at you are just, you are showing how you are such a poor customer. And why would they want to subsidize your use of this tool When you are so finicky, you will just switch like that. Like you don't care, right? You're like, oh, that's not free enough anymore. So I'm going over here, right? It's like, dude, that's a bad customer. This is the indie hacker customer of the AI era. Yeah, the bad version **Ian Landsman:** of the indie hacker. And like... I'll just build it myself. And it's like six months later, you're like, did you build it **Aaron Francis:** yet? And then, so then I think it's interesting with OpenAI. It's like, Claude knows who they are and knows what's working and is going after that. And this is just a, like a symptom, a effect of that. Claude **Ian Landsman:** knows who Claude is? Is that what you're saying? Like they understand **Aaron Francis:** who they're doing? Claude who they are, right? And it's like, these are not valuable customers. We're going to get rid of those customers. We're going to focus on business, blah, blah. We want the people to come either through our tools or our partner's tools, which makes sense. I every other product you use works the same way. --- ### [Durable Objects Course Is Effective Introductory Content](https://share.snipd.com/snip/43211791-188d-45f7-aafd-a3b040b1d62f) 🎧 01:15:36 - 01:16:39 (01:02) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/8423b2c5-4949-46c7-8101-1ab956c378a9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Durable Objects course served as a successful 4-hour primer and drove Cloudflare developer interest, with potential for a deeper 201 course showing integration patterns with full-stack frameworks. - Ian plans a short 'What the hell is a durable object' video as top-of-funnel content. #### πŸ’¬ Quote > The durable objects course is live for free on databaseschool.com. The launch went super well...it ended up being four hours. > β€” Ian Landsman Ian Landsman on Durable Objects course launch #### πŸ“š Transcript **Ian Landsman:** Buckle in, folks. We're not done yet. Give them the money's worth. The durable objects course is live for free on databaseschool.com. Get out there and get it. The launch, as it were, went super well. Some people watched it the first day. It ended up being four hours. Of course, I was shooting for two or three and hit four. So still working on that. Yeah, that's my M.O. But it went super well. Cloudflare folks are super happy. People are really liking it. Many calls for me to go work at Cloudflare, which always very flattering um and yeah like i said last week it felt good to like be back in the the database game um yeah so i'm really happy with it i will probably do i'll probably do like a top of funnel youtube video for it like something like what the hell is a durable object and then kind of explain it and then point them to the free course. But yeah, it went great. --- ### [Chose PlanetScale MySQL To Avoid Unfamiliar Topologies](https://share.snipd.com/snip/f5b38488-06eb-4c27-9293-a768daf72ccb) 🎧 01:19:42 - 01:21:14 (01:31) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/783109e1-d81d-48d8-bc2e-0a70a38023cc" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron picked PlanetScale MySQL for Outro's database due to familiarity and UI, choosing shared hosting one tier above the smallest to avoid underpowered CPU. - He considered Vitess vs Postgres costs and prioritized known operational comfort over newer providers. #### πŸ’¬ Quote > I load up PlanetScale...Do I want Vitess or do I want Postgres? I went MySQL. I just know it better. So I went that branch, went on the shared hosting version for now. > β€” Aaron Francis Aaron Francis on selecting PlanetScale for Outro #### πŸ“š Transcript **Aaron Francis:** Last night, it's 8 o'clock. I'm in deployment. I'm ready to deploy stuff. I was like, I got to figure out the database. What am I doing for the database? Okay. I load up PlanetScale. I become a member of the PlanetScale family Wow. In planet scale. And they have a very nice little UI for adding anything, right? It's like, okay, but right at the top, I'm already paralyzed. Do I want Vitesse or do I want Postgres? Vitesse or Postgres? And I click between them. And then there's some huge differences, like obviously different platforms, but even like cost-wise, like Postgres, one of them you can't even like get a cheaper version. I think it's that Postgres, you can have a metal version of Postgres that's only like still like 50 bucks or 80 bucks or something. **Ian Landsman:** But **Aaron Francis:** like the metal version of Vitess starts at 600. So I don't really want to start at 600 yet. So I was like, okay, well, I'll probably not use the Metal. Blah, blah. They started at an eighth of a CPU, which is a little light. I feel like an eighth of a CPU is a little light. So I had to decide, and I went MySQL. Oh, wow. I just know it better. Just going to throw it on MySQL, you know, Vitess, my SQL, whatever. So I that branch, went on the shared hosting version for now. Did one up from the bottom because I couldn't bring myself to do the very smallest one. So we're going to see how that goes. I haven't actually done it yet because I haven't got deployed yet. But when I get deployed and wired up, I see how it goes. --- ### [PlanetScale Handles Connection Routing And Replica Topology](https://share.snipd.com/snip/a8233237-df8c-4d44-af30-3c192097b2d4) 🎧 01:24:44 - 01:27:04 (02:19) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/a76e47e3-3f3d-4355-bd50-c73d525e3423" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - PlanetScale abstracts connections and can rotate instances while preserving client connections, implying smart internal routing and replica awareness. - Ian notes Vitess topology mandates three replicas which explains higher baseline costs than single-node Postgres. #### πŸ’¬ Quote > They kill them and they bring them back and your connection survives, which is super cool. So it's entirely possible they have smart routing in there. > β€” Ian Landsman Ian Landsman on PlanetScale connection behavior #### πŸ“š Transcript **Ian Landsman:** to you. Yeah, other than the foreign **Aaron Francis:** keys and stuff, which is fun. **Ian Landsman:** Which they allow now. **Aaron Francis:** I did see that they allow that, yeah. There **Ian Landsman:** could be some things you run into like um correlated sub queries or some some like mysql specific things that aren't pulled up to the vatess layer that you might hit but i think that i think that gap is narrowing uh and has narrowed a lot over time now **Aaron Francis:** maybe you know the answer to this i didn't look into this but the you have three servers, like a primary and the two replicas. Are they all receiving read traffic or just the primary received read traffic? I don't even remember. Okay, I will have to look. I was curious about that. I did see a note that says you can create a way or provides a way or whatever to query directly against the replicas. That I know. I just want all the reads to go to this replicas, then there's a way to do that. But it wasn't clear to me from the surface if I just do a normal query through the normal path, if it's going to load balance them across all three or not. I **Ian Landsman:** don't really know, to be honest with you. I know that in Laravel and Rails, you can have separate model like read connections. And that's probably where that feature becomes powerful is if the framework itself decides I'm not inside of a sticky write session, I'm just going to read from the replica. Then you can bypass it altogether. But I don't know. I don't know. I imagine they do some intelligence there of like how far behind is the replica? Is it up to date? Well, let's just send it over there then. But I have no idea. **Aaron Francis:** Interesting. Yeah, I wonder if it does keep track of that. It seems like it does some fancy stuff. It does. And **Ian Landsman:** their connection, so you connect to PlanetScale and then they handle all the internal connections to the databases. And so you're not even really connecting properly to the instance because they roll them all the time. They kill them and they bring them back and your connection survives, which is super cool. So it's entirely possible they have smart routing in there. I just frankly don't remember. Okay. --- ### [Run A Tight Weekly AI Wrap Up Show](https://share.snipd.com/snip/089e52fe-7a6b-4789-b0af-7d498618030c) 🎧 01:27:20 - 01:31:22 (04:01) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/7a066bbb-5f9a-4ffd-ac58-da2cf73204dc" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Launch a focused, short-format AI show to cover rapid weekly changes: make Token Town 30-minute, topic-driven, live-streamed, and tightly produced. - Aaron and Ian plan Friday live broadcasts to wrap the week's AI news and debate what matters. #### πŸ’¬ Quote > This will be a spot...core of the show, 30 minutes, key topics. What happened this week? What do you need to know about? What's stupid that people are pushing out there that we think is dumb? > β€” Aaron Francis Aaron Francis on Token Town format #### πŸ“š Transcript **Aaron Francis:** This is kind of crazy. It's actually kind of crazy. The more we closer we get to doing it, the more crazy I kind of feel like it is. I agree. But we're doing a new podcast called Token Town. **Ian Landsman:** Token Town. What **Aaron Francis:** a great name. I don't know if they can imagine what this podcast might be about. But we're going to do it. We're going to have a new podcast. It's to be AI focused, if you could believe that. We end up talking a lot about AI on here. And we thought maybe we should do a little something AI specific. Kind of push a little more into that world with a new story, a new podcast. A little different format, I believe. A little Yep. Going to do also live streaming of that. Yep. Is at least the current plan that that will be live streamed. And also, of course, available as a podcast and YouTube and all the stuff. So still all those things. But live broadcast every Friday. We don't know what time yet, exactly. Probably, I don't know, what do we want to do? Do we want to set a time for this week to maybe shoot for? Do we want to do lunchtime? Do we want to do... **Ian Landsman:** Let's do like, so 2 p.m. Central would be, is that noon on the West Coast? Or is that 11 on the West Coast? **Aaron Francis:** I think that's noon. Noon on the west coast yeah so **Ian Landsman:** that might be good okay 3 **Aaron Francis:** p.m eastern 3 **Ian Landsman:** p.m eastern 2 p.m central that's like 9 p.m europe which **Aaron Francis:** is getting up there a little bit i don't know i don't know if i like 3 p.m eastern man 3 p.m eastern on a friday am i going to be shocked? You ready to cruise out? I mean, I might be a little ready to cruise out. 3 p.m. **Ian Landsman:** Eastern What if we back it up an hour? What if we did 1 p.m. Central, 2 p.m. Eastern? Let's do that. **Aaron Francis:** Okay. **Ian Landsman:** 1 p.m. Central this week. Let me tell you what's different, okay? All right. This is going to be a much tighter show. And I know you're thinking, mostly technical is very tight. You guys never ramble. And I know somehow it'll be even tighter on Token Town. There's not going to be any, and there was very little today, but there's not going to be how's your father? What did you get? How are the kids? Who's sick this week? There's going to be none of that. So if you're here, if you're here because we're the personality hires, you're going to want to stay here. But why not both? **Aaron Francis:** Join us. wants to stay here. Let's just be clear. All of you want to stay here. Yeah. **Ian Landsman:** If you're just here for the AI takes, you've been suffering because there's a lot of how's your father on these. But on Token Town, it's going to be short, tight, topic-based, fast, kind of, I'm led to believe, like, sports talk shows where they, like, have a topic, run it down, do the next topic. So it's not a ride-along, which is what I call this one, which is like, here's what I got up to this week. It's, here's what happened this week here's our takes on it on to the next one um yeah so if you're looking for a denser ai information podcast that will be token town if you're here for me to make fun of ian then stay here and don't change the channel uh we'll have a little bit of making fun of each other, but within the confines **Aaron Francis:** of a topic, at **Ian Landsman:** least, generally. **Aaron Francis:** And yeah, exactly. I feel like the vision, right, is like kind of, there's a lot going on out there. We both have the luxury of being maybe on top of it in a way that if you just have a job or you're in the middle of grinding on something else, like on top of everything is not the easiest thing to do because it literally changes every day practically. So this will be a spot. I think we're trying to keep it maybe to like a half hour, kind of make it tight, at least for the core. Maybe we go, the live stream part maybe goes, maybe sometimes we go late or we throw somebody on who comes into the chat and be interesting. But like core of the show, 30 minutes, key topics. What happened this week? What do you to know about? --- Created with [Snipd](https://www.snipd.com) | Highlight & Take Notes from Podcasts # Snips updated after 2026-04-05T10:16:17 ### [Solo Rebuild Reached 120fps Performance](https://share.snipd.com/snip/58b601da-24ae-48c0-a530-53557330bc0e) 🎧 07:21 - 11:49 (04:27) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/2fbf1e2c-f8f0-49b1-b663-2fd1a5f9db2b" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian describes rebuilding Solo's terminal engine multiple times and finally hitting 120fps by flipping a private macOS WebKit API switch. - He resolved scrollback, copy/paste, image drop, and a diffing algorithm that sends backend grid patches to the frontend for speed and polish. #### πŸ’¬ Quote > So the problem there was Tari is, it uses the WebKit engine or whatever's native on the system. On macOS, it uses the WebKit engine. And macOS limits [...] to 60 frames per second. But there's a private macOS API where you can override that. > β€” Ian Landsman Ian Landsman on getting Solo to 120fps #### πŸ“š Transcript **Ian Landsman:** I mean, we've talked about this before that if the terminal sucks, the product sucks because that that's what we're dealing with here. Um, so it, this, this most recent one wasn't a full rewrite. Um, but like we talked about already X terms gone and I just finalized, um, I just finalized like the, the fourth version counts as like the uh like the patching algorithm or like the diffing algorithm to because i hold all the grid state of the terminal on the back end and then i send it patches to the front end um and so i've just finalized that including um 2E scroll back. So when a program enters the alternate buffer, you don't get real scroll back. Everything has to be managed by the 2E. That's what AMP does. That's what Codex does. That's what OpenCode does. Claude's new anti-flicker mode, which I haven't tried, is a 2E instead of just main screen buffer. So you end up having to track all that stuff yourself. So Codex does all the heavy lifting, but I have to map all of the scrolling to non-traditional scroll inputs. So when I scroll, I basically have to send these codes that's like hey i'm scrolling and codex has to say all right well we're in the alternate buffer i'm gonna scroll back my you know internal history state whatever so **Aaron Francis:** where we're says this or codex says this uh **Ian Landsman:** solo has to send the correct uh control characters to scroll and then Codex says, all right, I got scroll. Or the you're in. Yeah, exactly. Okay, gotcha. For a normal terminal, it's just like there's history and there's the line you're on and it just scrolls. And that's super easy. So where we're at now, it's incredibly fast. I figured out a way to get Tari, which is the framework I'm using, up to 120 frames per second. I **Aaron Francis:** saw you. We can play video games in this thing. **Ian Landsman:** We can play video games in this thing. So the problem there was Tari is, it uses the WebKit engine or whatever's native on the system. So on macOS, it it the WebKit engine. It doesn't bundle Chromium along with it. And macOS limits on certain releases, limits the WebKit engine to 60 frames per second, which is like, God dang it. But there's a private macOS API where you can override that. And so now we just flip a switch and we're at 120 frames per second. Then the question becomes, can the whole system like handle that kind of throughput? you messing with **Aaron Francis:** us? Yeah. **Ian Landsman:** Yeah, that's where like sending the patches over the wire and applying them in React and all of that then becomes the bottleneck for the frames per second but we're good i ran out there i ran amp uh which has a heavy like animation loading screen that is just pounding uh bites over the wire it's like redraw redraw redraw um and we're solid at 120 frames per second um it's fast. It's right. And now all the two E's and everything works. I got copy, paste, image drop, drag and drop images. All of the like little fiddly things that have been, like, frustrations, those are all fixed now. Yes! So it's, like, it's pretty good, if I'm being honest. So we're going to, I'm in the final polish phases today, so I've been doing a lot of disparate things, and now I'm pulling it all together, doing the final like QA, cleaning up some UI stuff. Will King is still working on the real UI. And so I'm still just limping along here. And a few other things have sprung out of it as I've been working. Oh boy. I am now. Scope creep. Oh, it's scope explosion like you wouldn't believe. And it's beautiful. It's beautiful. All right. So --- ### [Timer Primitive Raises Agent Autonomy](https://share.snipd.com/snip/2fb367d3-2859-488a-91dc-edfc549699a7) 🎧 11:51 - 16:17 (04:25) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/0c06b758-78ca-42ee-9b9d-1efe9dc851ca" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian realized MCP server timers let agents be autonomous and avoid getting stuck by scheduling wake-up prompts into running terminal sessions. - The timer primitive lets Claude/Gemini register wake prompts, sleep, then Solo fires the prompt and can kill or reset the timer on completion. #### πŸ’¬ Quote > These agents can now set timers for themselves to wake up in a loop and receive a prompt. Claude can say, all right, I'll check in on this in two minutes or whatever, and it calls the MCP tool that says set timer for two minutes. > β€” Ian Landsman Ian Landsman on MCP timer tool #### πŸ“š Transcript **Ian Landsman:** The MCP server is now integral to Solo being a success. Yeah. Okay. All right. So what I have realized is no other terminal, ghosty, iterm, whatever, no other terminal gives running agents control over its sister terminals, right? And so where I'm at now is I will launch, I'll launch a clod, and I have a whole like, I have a whole skill for this, but I'll launch a clod because it's just, it's friendly. And I'll say, you're, you're the orchestrator. Don't write any code. It's like, all right, yes, sir. On it, sir. Right. Um, and then I'll describe the problem that I'm having. a Claude and a Gemini to do research and it opens new terminals and it sends the input and it monitors for permissions prompts or like if it if it gets stuck, it can look at it and say fixing it's stuck on this thing. Let go ahead and send, you know, approve or approve for the session or whatever. And so this orchestrator is just like a human that's watching, you know, three or four terminals run. And it's like gathering output and all of this stuff. And so it can read and write the output, which is really nice. I noticed as I was like spinning up these other terminals that Claude would be like, okay, I'll check in on them in a few minutes, and then it would just go to sleep. It's just like, great, I'll check on it. See you later. And these things never wake up. They don't have a sense of self. It's not like, oh, I should maybe just sometimes it'll be like, let me just do a bash sleep loop for 60 seconds and then wake up. But that's what I've seen it do. Yeah. unreliable. Okay. So yeah, things starting to come together, right? Where I've got some tools. I take it here. I've got some tools. Okay. I got some tools. So I've got, I've got the MCP server, right? Solo itself can send bytes a running process. That's kind of the whole thing Solo does. Okay. And so now there is a new MCP tool. There are several, but there is at least one new MCP tool that is called a timer. Hmm. Interesting. Okay. And so these agents can now set timers for themselves to wake up in a loop and receive a prompt, right? So Claude can say, all right, I'll check in on this in two minutes or whatever. And it calls the MCP tool that says set timer for two minutes and then claude decides here's the prompt you should send me in two minutes so then claude just goes to sleep it just like turns off that's great i'll i'll wake up later and then solo manages these timers and when the two minute timer fires it sends a prompt to that running session that says you know you know health check solo timer whatever plus the body that claude decided to register the timer with so then every two minutes it's like waking up checking for permissions prompts seeing if any agents are done and then it can kill its timer. It can reset its timer. It can extend. It can do whatever. And so now I'm having these like, it's not like a Ralph loop. It's just a don't get stuck loop. Like, hey, I told you to do all this research. Maybe it's like a five-stage research plan. Set a timer. Monitor progress. And then when you're done, let's look over the report together. And then you can dispatch codexes to do the implementation. Set a timer, monitor the whole thing, and then you can dispatch Claude and Gemini to do QA. It's amazing. the timer turns out the timer is a pretty good primitive because it allows like it increases the autonomy factor by by quite a bit. And so that's one thing that has surfaced. --- ### [Terminal Multiplexing Enables Agent Orchestration](https://share.snipd.com/snip/705973d1-6d21-4c39-a54e-22a859802ec8) 🎧 13:55 - 20:55 (06:59) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/340cd45d-98e9-4b21-bb15-d886197d7e45" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Solo's unique value is letting running agents orchestrate and read/write across multiple sibling terminals for coordinated workflows. - That multiplies use cases from simple multiplexing to multi-agent research, monitoring, QA and orchestration inside the terminal UI. #### πŸ’¬ Quote > No other terminal gives running agents control over its sister terminals. So I will launch a Claude...and it opens new terminals and it sends the input and it monitors for permissions prompts or like if it gets stuck, it can look at it and say fixing it's stuck on this thing. > β€” Ian Landsman Ian Landsman on agents controlling sister terminals #### πŸ“š Transcript **Ian Landsman:** Where I've got some tools. I take it here. I've got some tools. Okay. I got some tools. So I've got, I've got the MCP server, right? Solo itself can send bytes a running process. That's kind of the whole thing Solo does. Okay. And so now there is a new MCP tool. There are several, but there is at least one new MCP tool that is called a timer. Hmm. Interesting. Okay. And so these agents can now set timers for themselves to wake up in a loop and receive a prompt, right? So Claude can say, all right, I'll check in on this in two minutes or whatever. And it calls the MCP tool that says set timer for two minutes and then claude decides here's the prompt you should send me in two minutes so then claude just goes to sleep it just like turns off that's great i'll i'll wake up later and then solo manages these timers and when the two minute timer fires it sends a prompt to that running session that says you know you know health check solo timer whatever plus the body that claude decided to register the timer with so then every two minutes it's like waking up checking for permissions prompts seeing if any agents are done and then it can kill its timer. It can reset its timer. It can extend. It can do whatever. And so now I'm having these like, it's not like a Ralph loop. It's just a don't get stuck loop. Like, hey, I told you to do all this research. Maybe it's like a five-stage research plan. Set a timer. Monitor progress. And then when you're done, let's look over the report together. And then you can dispatch codexes to do the implementation. Set a timer, monitor the whole thing, and then you can dispatch Claude and Gemini to do QA. It's amazing. the timer turns out the timer is a pretty good primitive because it allows like it increases the autonomy factor by by quite a bit. And so that's one thing that has surfaced. There have been a few others, which I'll hold off on. But we're really cruising now. It's **Aaron Francis:** pretty good. You're seeing the real needs and you like, all right, what are we going to do here? **Ian Landsman:** I really am. I **Aaron Francis:** like all that stuff. I've had a need of a timer myself this week. So, and I, it doing the bash sleep little thing it does, uh, which I seem to work. Okay. I wasn't like super closely monitoring it, um I could definitely see it going south so I like the idea of it being in solo itself makes sense and so I can have your own little counselors it sounds like I don't need the counselor CLI anymore I don't the counselor CLI anymore yeah I could just do it uh sort of on the fly I could be like spin up two Geminis and two Codexes and see what they think about this and and **Ian Landsman:** it's better because it's interactive. So it can continue to feed, like it can continue to feed information to it if it finds, well, that wasn't quite what I was asking for. Or I can go in there after it's done into the Gemini or into the Claude or codex or whatever and be like, hey, actually, I'm going to steer you this direction. Do that instead, instead of just like a one-shot wait for the markdown to come back. So I haven't used the Counselor CLI since this has been invented. It's just, it's awesome. I like **Aaron Francis:** it. Yeah, well, and also like sometimes in the Counselors, like things get, you know, whatever. It's asking permissions or it's got some question and then like that's just a dead end. So it just tells you, oh, Clodex never returned because whatever. So now it can handle all those because it's live. it's all coming together. All your foundational stuff is building. It's actually starting to pay off. It really is. It's like Ghosty **Ian Landsman:** would never do this. No other like conductor or anybody like that is built around this concept of terminal multiplexing yeah they **Aaron Francis:** all go a different path yeah nope **Ian Landsman:** nobody nobody can do this which is awesome i do like this idea of like i think that's sort **Aaron Francis:** of interesting that you have to like i feel like you need to actually reconsider maybe even like things like your pricing a little bit and stuff but like because i feel like what the guys just continues it's like you are niching down to me into like a very like more hardcore kind of very specific use case or user right like because like conductor, codex, all the other people are going towards like, here's a chat box. We're smoothing over the rough edges, right? Like of everything. You're not trying to keep you from thinking about like all these, obviously the first party ones are often, they're not going to make it easy. Although Claude actually introduced a tool to let you call codex and stuff. But like they're not trying to optimize for those use cases where you are trying to optimize for all those use cases. And you're a little closer to the metal. Right. So like, I don't know. So is that a more expensive tool? Maybe. I don't know. It's kind of interesting. Like this is for people who want to be close to the metal. That's **Ian Landsman:** a good question. I think. But **Aaron Francis:** I like to think of a vision. It feels like the vision, who your customer is, is coming together. Right. Like the type of person you're not building for a certain type of person and you are building for a different type of person. And that is very useful. **Ian Landsman:** I'm hoping that I can have like a pretty gradual adoption path where obviously what we see on Twitter is not reality. Right. And I'm hoping my adoption path can match what is closer to reality, which is the average developer wants a nice container to run a bunch of terminals that are scoped to a project, right? So you want to have more organization than Ghosty provides. That's a great start. And then you're like, wait, I can ask, and even if you're just with one big lab, you can say like, I can ask Claude to spawn another Claude and do something, or I can ask Claude to spawn 10 Claude's and do parallel research. Oh, let me dabble with that. And I hope that the adoption story is like it's a low bar and a low floor and a high ceiling so they can just come in and just use it as a terminal multiplexer that runs your dev stack and manages that stuff and then hopefully become more and more uh agentic pilled. And once they're super into it, they hit the pricing limits of Solo and pay for it. So that's the current thesis. --- ### [Use Targeted In-App Hints For Discoverability](https://share.snipd.com/snip/cb253899-46ab-4cb3-b8ef-c19edb7ba41d) 🎧 22:26 - 24:01 (01:35) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/86694022-b40c-42c8-bcfc-a3348d8b44eb" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Surface new features with low-friction in-app hints and toasts tied to feature usage, not spammy notifications. - Example: show a bottom-left hint for Command+K until user invokes it five times, then remove it permanently. #### πŸ’¬ Quote > The app knows how many times the user has opened the command palette. So if they open the command palette fewer than five times, there's a little indicator in the bottom left that's like, command K to open the command palette. > β€” Ian Landsman Ian Landsman on feature discoverability #### πŸ“š Transcript **Ian Landsman:** I have in-app toasts that launch or pop up for like, this process needs your attention, this command crashed, whatever. I have light tracking for what things have been used. So I know, well, the app knows, I don't really know. The app knows how many times the user has opened the command palette. So like if they open the command palette fewer than five times, there's a little indicator in the bottom left that's like, command to open the command palette. And after they open it five times that hint goes away forever so one of my thoughts is if they don't have um if they don't have like the uh timers thing enabled in their mcp or if they have it enabled and they've never called it maybe after a week and zero usages of the timers mcp i can do a little in-app toast that's like hey did you know solo has this click here to read more and it takes you to a page on the website that's my current thinking my other this is more of a brute force is i can send server server sent notifications from the back end um and i think i have to check, I think that can be tied to feature usage. I know it can be tied to version. And so, you know, I could send out a server sent notification that's like, Hey, we've just released, you know, whatever click here to learn more and how it might fit your workflow, something like that. --- ### [Expose Agent Tools Inline Instead Of Modal Popups](https://share.snipd.com/snip/ff633825-357e-436d-afd6-abb08f061902) 🎧 24:10 - 25:45 (01:35) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/edba2bd0-172a-4e91-8fc6-ec463822eca9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Expose agent tools in contextual UI (sidebar, menu, right-click) so users discover capabilities without disrupting flow. - Implement a prompt-library UI that pastes a timer prompt into the terminal instead of building a full scheduling UI. #### πŸ’¬ Quote > It's almost like a prompt generator so I don't build out a whole UI to like schedule your own timers. I'd build out a little almost like prompt library drop down thing. It's like set a timer. > β€” Ian Landsman Ian Landsman on prompt-library UI idea #### πŸ“š Transcript **Aaron Francis:** I wonder if there should be like, like when you have a, you know, when you do like a new thing in the sidebar and you can do an agent or a terminal or command or whatever, like maybe there should be like a new panel or counselors or whatever you want to call it. And like that just sits, that could be a type of thing that sits there. And it also exposes that exists. **Ian Landsman:** Okay. I built that pre-hardening and strengthening of the MCP to send the bites back and forth. I built counselors as like a sidebar first class citizen. And I don't, it. What's it working for you? No, because there's still a lot of configuration required to like make sure that every agent has its headless mode or whatever. Yeah. And do the one shot. Then what do you do with the markdown? And so I think this is much better in that it is still **Aaron Francis:** this i mean still exactly what you're talking about not actual counselor cli but just exposing that like it just spins up a clod that is the orchestrator right it's got a little special thing that's like you're in a in a counselors or in a panel or whatever you want to call it yeah like this is designed to like connect out to codex and gemini or whatever like just a way to make it even visible that you can do such a thing and maybe some guardrails like i quick tested and gemini is not connected and you know like do you want to walk through that with me blah blah blah yeah **Ian Landsman:** i'll need to think about it i like that from like a discoverability point of view. --- ### [Hide MCP Tools Until Feature Is Enabled](https://share.snipd.com/snip/df47a021-cc29-42c6-81a1-33ba3b5531b2) 🎧 28:49 - 29:18 (00:29) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/389fb8fe-3975-4cf8-9ac2-2bc05ab43f70" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian limits MCP tool disclosure by product section so agents only see tools relevant to that user's intent, avoiding overwhelming agents with too many capabilities. - Administrators toggle features off so a basic terminal multiplexer stays lightweight and agents don't learn unused tools. #### πŸ’¬ Quote > Certain sections of the product you can enable it. And if it's not enabled, the MCP tools don't even disclose themselves at all to the connecting agent. > β€” Ian Landsman Ian Landsman on selective MCP disclosure #### πŸ“š Transcript **Ian Landsman:** so I can't hit them with like a wall of a million tools so one way that I've done that is certain sections of like the product so solo the product certain sections you can enable it so like certain features. And if it's not enabled, the MCP tools don't even disclose themselves at all to the connecting agent. And so if you go in and you're like, dude, I just want a terminal multiplexer. Well, keep the MCP off first of all. --- ### [AI Mania Is Shifting To Pragmatic Tooling](https://share.snipd.com/snip/4c9531df-9b29-49e2-ac9c-b2d87cf12ade) 🎧 32:58 - 35:05 (02:06) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/9fd9f941-3eef-4ffe-8e8e-5b02b3fb967d" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - AI hype appears to be settling: model-release-driven mania cooled, adoption is becoming incremental tooling (Otter, editing) rather than revolutionary daily churn. - Aaron and Ian note a slow, boring, practical adoption where tools become useful plumbing. #### πŸ’¬ Quote > I do think the hype is dying down a little bit and a little bit more of the fundamental plumbing is getting figured out, which I think is good. > β€” Ian Landsman Ian Landsman on AI hype settling #### πŸ“š Transcript **Ian Landsman:** still exists. I do think some of the open-claw hype has worn off, which I think is appropriate. I think some of the anti-AI people are softening just a little bit, but there's still a big holdout contingency. But I think a little bit of the mania maybe has died down. Now, to be fair, we haven't had a model release in, you know, a month or something. So, God, where are we going so slow? But I do think the hype is dying down a little bit and a little bit more of the fundamental plumbing is getting figured out, which I think is good. **Aaron Francis:** There was an interesting thing, and I subscribed to Nate Silver, who I know not everybody's a Nate Silver guy, but I kind of like Nate Silver, poker guy, whatever. Anyway, he had an article. Well, I'm not going to through the whole thing. It was mostly about Twitter being slop or something, whatever. It was like a pretty good thing about Twitter. It's bread **Ian Landsman:** and butter for **Aaron Francis:** Ian right there. right. So he's a big Twitter guy, but he's like, come on, now it goes terrible, blah, blah, blah. But anyway, as part of this, he randomly, I think it was part of this article. Anyway, it doesn't matter. Nate Silver brought up the idea of this anti-AI person he follows where they had now carved out this exception. Of course, they use Otter, one of these transcribing tools to transcribe their meetings. So they use Otter, but they don't use AI for their stuff. Sure. And maybe this wasn't Nate Silver, actually. It might have been the other guy. It's a good story, so it doesn't really matter. It doesn't matter. The point is, we're getting to the point where like tools are infesting themselves into everything. Yeah. And but they're like useful. It's like useful tools are out there now. And yes, they're AI, but that's fine. Like it transcribes stuff and it does a good job. And that's all I care about. And yeah, and you, you are, and you know, a year from now, like that same person's going to be like, well, yeah, I used Otter and I use this other thing that does copy edits because like, who cares about commas and that does a good job with that. And it's not like it's writing my thing. Yeah. So. Slow, boring adoption. Exactly. Exactly. --- ### [Viral Astronaut Tweet Exposed Toxic Replies](https://share.snipd.com/snip/9f94e4ee-4c4b-4262-a873-da8ff775c243) 🎧 37:48 - 42:56 (05:08) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/dd06f2a0-f22d-4c54-b4bb-8654394962ba" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Ian's tweet of an astronaut family photo (β€œImagine winning this hard”) unexpectedly reached ~14 million views and exposed waves of racist and conspiratorial replies. - He restricted replies to verified accounts and regions to reduce low-value, abusive responses. #### πŸ’¬ Quote > Imagine winning this hard. [...] I eventually limited the replies to North and South America, Europe and verified accounts only. > β€” Ian Landsman Ian Landsman on viral tweet and moderating replies #### πŸ“š Transcript **Ian Landsman:** the kings of Twitter, you and I. What a wild weekend. First, why don't you tell us where Outdoor.fm is deployed? Why don't you give us a little insight into that? **Aaron Francis:** Oh, let's talk about our friends over at Laravel Private Cloud. It's not actually on private cloud, to be fair. It's on regular cloud, but Laravel Private Cloud. Laravel Cloud frees your team from hands-on infrastructure work so they can ship product features faster. And did you know Laravel Private Cloud is Laravel's isolated infrastructure offering, ideal for organizations with strict security, compliance, and performance requirements? You can VPC peer in existing AWS resources and have full control over networking and compute. Check it out at cloud.laraval slash enterprise. Big thanks to Laravel Private Cloud for sponsoring the show. Yeah, the Laravel Private Cloud stuff, like we've talked about before, I'm quite intrigued by. I don't have anything that I can put on it just yet, but I like the idea of my Laravel Black card, you know? I got a Laravel Black card. It's like special. One **Ian Landsman:** day when Outro's made it, you can just do private cloud just for giggles. Yeah, **Aaron Francis:** that's the plan. I don't think Outro's that kind of product, unfortunately, to get that **Ian Landsman:** big, but maybe, you never know. Why not? Dream big. 14.1 million views. **Aaron Francis:** You're up to that much of this tweet. 14 million views. I have so much to say on this. We should have started the episode with this. I have like an hour of stuff on it. But okay. What did you tweet that got 14 million views? This **Ian Landsman:** is far and away my most popular tweet, for sure. All right, so on X.com, the Everything app, I saw a tweet that said Victor Glover, who's the pilot of the spaceship that's out there right now, was a pilot for SpaceX. He was a Navy captain for 25 years, or his naval wings for 25 years, three degrees, 24 combat deployments. And he's been a test pilot, which I understand is quite difficult to become. So that was the original tweet that I saw. Picture of him. It an Yeah, it had a picture of him his like official probably navy photo shoot because he's got the flags behind him he's got his uniform on looking very stoic so it's this picture and talking about how freaking awesome he is i read that and thought yeah he is freaking awesome and then uh in somewhere in the replies i saw a picture of him posed in his space suit with his family it was like a NASA family photo shoot. And so I just finished reading how awesome this guy is because he's a genius and a war hero and super brave guy. And then I see this picture of him with this big old cheesy grin on in his goofy space suit, his NASA space suit. And he has count them one, two, three, four daughters with the identical big cheesy grin. Everyone looks so happy. The wife looks so happy. And there's a dog at his feet. Big dog, actually. It's a big dog. Yeah. And so I looked at this and thought, okay, so I just finished reading how this guy has three master's degrees, has been in the Navy for 25 years and been to war a bunch of times. Like, this is the bravest man in the world. And he's also this happy dad of four girls and happily married to this wonderful woman. And so I grabbed that picture and I quoted the original tweet talking about his work accolades. And the thesis is basically like, yes, he has all that work accolade, all those work accolades. But look, he's got this beautiful family and he's got these wonderful daughters and this perfect wife. And so I said, imagine winning this hard. Impossible. And I posted that picture. That was it. That's it. That was it. That's one, two, three, four, five words and a picture. And somehow I got 14 million views. That's crazy. Makes no sense. And then you actually linked to the tweet, and I thought **Aaron Francis:** that was bad. Isn't linking to tweets bad or linking to tweets is okay? I don't think quoting **Ian Landsman:** tweets is bad because it stays on the platform. That's **Aaron Francis:** what I thought, but I've sometimes seen like that's bad too. But okay, we think quoting tweets, apparently it's not that bad because you got 14 million views. It's not that bad. So okay. There we go. So, yeah, the picture's awesome. Like, him in a spacesuit with the family is like... And they all look so happy. Yeah. They all, they got the four kids. Obviously, you have the four kids. I of like that. I assume they're all **Ian Landsman:** these my wife is one of four girls. And so, like, my father-in is not an astronaut, but in the same position, you know, father of four girls. And so I thought, this guy is totally winning. **Aaron Francis:** Man, 14 million. So I looked quick to see how many followers you gained. It looks like you gained no followers. So 14 million views. Well, that's **Ian Landsman:** not actually true. A hundred new followers who are going to be very disappointed when the programming goes back to the original. That's sense. But yeah, it's okay. So, cool. don't do it for followers. We do it for likes. We do it for love of the game. --- ### [Businesses Prioritize Long-Term Paying Customers Over Hobbyists](https://share.snipd.com/snip/eac52264-a5b1-4415-b961-9125ca970c38) 🎧 01:02:33 - 01:07:07 (04:33) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/a8cbeaec-9064-461c-b76b-14516828aad9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron frames Claude's decision to restrict hobbyist OpenClaw users as a business move: prioritize long-term paying business customers over subsidizing heavy hobby token users. - He argues companies will favor customers who produce sustained revenue and integrations over ephemeral token burners. #### πŸ’¬ Quote > Claude is like business customer...10 years from now, some of these relationships are going to mean you use Claude for the next 10 years. Some of these relationships are like just burning tokens now. > β€” Aaron Francis Aaron Francis on Claude limiting OpenClaw users #### πŸ“š Transcript **Ian Landsman:** I **Aaron Francis:** mean, I just think that, I think it's very interesting, the comparison of OpenAI and Claude right now. And so Claude is like business customer. They got the deal with Microsoft now where you can like use Claude co-work, like inside of all the Microsoft stuff that's rolling out. Obviously,ers business coders business stuff they're very focused on the business ecosystem right and like this is just them dialing in on that like okay open claw hobbyist dude who's got three claws right in your basement and maxing out this 200 plan like you're not a valuable customer because a we're subsidizing you even worse b you're using valuable resources that a real business customer could use and then the part that most people don't seem to get, at least for the reply people, right, is that like 10 years from now, some of these relationships are going to mean you use Claude for the next 10 years. And some of these relationships are like just burning tokens now. And in a year, you're not even going know what happened to your open claw bot mac mini right and so like that's a not valuable long-term relationship whereas the relationship with like me is valuable for them and is going to lead to me both using it myself but also using their api key to like build other products and all those type of things right so i'm going to spend thousands and thousands of dollars. you're **Ian Landsman:** so special and handsome or what aspects about you because **Aaron Francis:** you're a business? Me, me. Yeah, business person, right? And it doesn't have to be you own the business. It could be you're a developer in a business and then you love using Claude and Claude has good uptime and does accurate results for you and doesn't get dumb sometimes. Like the better they can make all those things, the more likely you are to, when your boss says, what should we use? You're more likely to say Claude, right? These are all good things for them. So I think this is where I agree with you most. You **Ian Landsman:** mentioned it in passing, the uptime. If you've got 100,000 people, I don't know, run an open clause that every minute wake up and burn tokens just to see like what's going on um and then i'm trying to use it to change the world right via coding and i'm getting downtime because the clause are all like heartbeat okay heartbeat i'm i i'm i'm great i think it's. I also think there is a false argument going on about, I think it's being masqueraded as like developer choice, open source, integrity. And it's like, guys, this is a business. Like there's no, this is not a public utility. Whether I agree with it or not, I happen to agree with the decision, but whether I agree with it or not, they don't owe you access to their service. Right. It no sense. Gmail shut you down at any moment. Also, if they find that you're running a file transfer service out of Gmail, they're going to shut you down. Yes. so that's the part where I'm like, guys, you're being a little, I don't know if it's like, I don't know if it's malicious or like conniving, but it's like, guys, this is not open source. Right. This is not about developer freedom. This is a freaking business. So that's the part where I'm just like, come on, guys. **Aaron Francis:** One of my mantras on this show is that developers are bad customers. And I feel like this is like, not all of them, blah, blah, not in all scenarios. But like we're seeing a lot of developers are bad customers here. And like the ones who are most loud are like, look at you are just, you are showing how you are such a poor customer. And why would they want to subsidize your use of this tool When you are so finicky, you will just switch like that. Like you don't care, right? You're like, oh, that's not free enough anymore. So I'm going over here, right? It's like, dude, that's a bad customer. This is the indie hacker customer of the AI era. Yeah, the bad version **Ian Landsman:** of the indie hacker. And like... I'll just build it myself. And it's like six months later, you're like, did you build it **Aaron Francis:** yet? And then, so then I think it's interesting with OpenAI. It's like, Claude knows who they are and knows what's working and is going after that. And this is just a, like a symptom, a effect of that. Claude **Ian Landsman:** knows who Claude is? Is that what you're saying? Like they understand **Aaron Francis:** who they're doing? Claude who they are, right? And it's like, these are not valuable customers. We're going to get rid of those customers. We're going to focus on business, blah, blah. We want the people to come either through our tools or our partner's tools, which makes sense. I every other product you use works the same way. --- ### [Durable Objects Course Is Effective Introductory Content](https://share.snipd.com/snip/43211791-188d-45f7-aafd-a3b040b1d62f) 🎧 01:15:36 - 01:16:39 (01:02) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/8423b2c5-4949-46c7-8101-1ab956c378a9" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Durable Objects course served as a successful 4-hour primer and drove Cloudflare developer interest, with potential for a deeper 201 course showing integration patterns with full-stack frameworks. - Ian plans a short 'What the hell is a durable object' video as top-of-funnel content. #### πŸ’¬ Quote > The durable objects course is live for free on databaseschool.com. The launch went super well...it ended up being four hours. > β€” Ian Landsman Ian Landsman on Durable Objects course launch #### πŸ“š Transcript **Ian Landsman:** Buckle in, folks. We're not done yet. Give them the money's worth. The durable objects course is live for free on databaseschool.com. Get out there and get it. The launch, as it were, went super well. Some people watched it the first day. It ended up being four hours. Of course, I was shooting for two or three and hit four. So still working on that. Yeah, that's my M.O. But it went super well. Cloudflare folks are super happy. People are really liking it. Many calls for me to go work at Cloudflare, which always very flattering um and yeah like i said last week it felt good to like be back in the the database game um yeah so i'm really happy with it i will probably do i'll probably do like a top of funnel youtube video for it like something like what the hell is a durable object and then kind of explain it and then point them to the free course. But yeah, it went great. --- ### [Chose PlanetScale MySQL To Avoid Unfamiliar Topologies](https://share.snipd.com/snip/f5b38488-06eb-4c27-9293-a768daf72ccb) 🎧 01:19:42 - 01:21:14 (01:31) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/783109e1-d81d-48d8-bc2e-0a70a38023cc" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Aaron picked PlanetScale MySQL for Outro's database due to familiarity and UI, choosing shared hosting one tier above the smallest to avoid underpowered CPU. - He considered Vitess vs Postgres costs and prioritized known operational comfort over newer providers. #### πŸ’¬ Quote > I load up PlanetScale...Do I want Vitess or do I want Postgres? I went MySQL. I just know it better. So I went that branch, went on the shared hosting version for now. > β€” Aaron Francis Aaron Francis on selecting PlanetScale for Outro #### πŸ“š Transcript **Aaron Francis:** Last night, it's 8 o'clock. I'm in deployment. I'm ready to deploy stuff. I was like, I got to figure out the database. What am I doing for the database? Okay. I load up PlanetScale. I become a member of the PlanetScale family Wow. In planet scale. And they have a very nice little UI for adding anything, right? It's like, okay, but right at the top, I'm already paralyzed. Do I want Vitesse or do I want Postgres? Vitesse or Postgres? And I click between them. And then there's some huge differences, like obviously different platforms, but even like cost-wise, like Postgres, one of them you can't even like get a cheaper version. I think it's that Postgres, you can have a metal version of Postgres that's only like still like 50 bucks or 80 bucks or something. **Ian Landsman:** But **Aaron Francis:** like the metal version of Vitess starts at 600. So I don't really want to start at 600 yet. So I was like, okay, well, I'll probably not use the Metal. Blah, blah. They started at an eighth of a CPU, which is a little light. I feel like an eighth of a CPU is a little light. So I had to decide, and I went MySQL. Oh, wow. I just know it better. Just going to throw it on MySQL, you know, Vitess, my SQL, whatever. So I that branch, went on the shared hosting version for now. Did one up from the bottom because I couldn't bring myself to do the very smallest one. So we're going to see how that goes. I haven't actually done it yet because I haven't got deployed yet. But when I get deployed and wired up, I see how it goes. --- ### [PlanetScale Handles Connection Routing And Replica Topology](https://share.snipd.com/snip/a8233237-df8c-4d44-af30-3c192097b2d4) 🎧 01:24:44 - 01:27:04 (02:19) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/a76e47e3-3f3d-4355-bd50-c73d525e3423" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - PlanetScale abstracts connections and can rotate instances while preserving client connections, implying smart internal routing and replica awareness. - Ian notes Vitess topology mandates three replicas which explains higher baseline costs than single-node Postgres. #### πŸ’¬ Quote > They kill them and they bring them back and your connection survives, which is super cool. So it's entirely possible they have smart routing in there. > β€” Ian Landsman Ian Landsman on PlanetScale connection behavior #### πŸ“š Transcript **Ian Landsman:** to you. Yeah, other than the foreign **Aaron Francis:** keys and stuff, which is fun. **Ian Landsman:** Which they allow now. **Aaron Francis:** I did see that they allow that, yeah. There **Ian Landsman:** could be some things you run into like um correlated sub queries or some some like mysql specific things that aren't pulled up to the vatess layer that you might hit but i think that i think that gap is narrowing uh and has narrowed a lot over time now **Aaron Francis:** maybe you know the answer to this i didn't look into this but the you have three servers, like a primary and the two replicas. Are they all receiving read traffic or just the primary received read traffic? I don't even remember. Okay, I will have to look. I was curious about that. I did see a note that says you can create a way or provides a way or whatever to query directly against the replicas. That I know. I just want all the reads to go to this replicas, then there's a way to do that. But it wasn't clear to me from the surface if I just do a normal query through the normal path, if it's going to load balance them across all three or not. I **Ian Landsman:** don't really know, to be honest with you. I know that in Laravel and Rails, you can have separate model like read connections. And that's probably where that feature becomes powerful is if the framework itself decides I'm not inside of a sticky write session, I'm just going to read from the replica. Then you can bypass it altogether. But I don't know. I don't know. I imagine they do some intelligence there of like how far behind is the replica? Is it up to date? Well, let's just send it over there then. But I have no idea. **Aaron Francis:** Interesting. Yeah, I wonder if it does keep track of that. It seems like it does some fancy stuff. It does. And **Ian Landsman:** their connection, so you connect to PlanetScale and then they handle all the internal connections to the databases. And so you're not even really connecting properly to the instance because they roll them all the time. They kill them and they bring them back and your connection survives, which is super cool. So it's entirely possible they have smart routing in there. I just frankly don't remember. Okay. --- ### [Run A Tight Weekly AI Wrap Up Show](https://share.snipd.com/snip/089e52fe-7a6b-4789-b0af-7d498618030c) 🎧 01:27:20 - 01:31:22 (04:01) <iframe src="https://share.snipd.com/embed/obsidian-player/snip/7a066bbb-5f9a-4ffd-ac58-da2cf73204dc" width="100%" height="100" style="border: none; border-radius: 12px;" sandbox="allow-scripts allow-same-origin allow-forms allow-popups allow-clipboard-write" ></iframe> - Launch a focused, short-format AI show to cover rapid weekly changes: make Token Town 30-minute, topic-driven, live-streamed, and tightly produced. - Aaron and Ian plan Friday live broadcasts to wrap the week's AI news and debate what matters. #### πŸ’¬ Quote > This will be a spot...core of the show, 30 minutes, key topics. What happened this week? What do you need to know about? What's stupid that people are pushing out there that we think is dumb? > β€” Aaron Francis Aaron Francis on Token Town format #### πŸ“š Transcript **Aaron Francis:** This is kind of crazy. It's actually kind of crazy. The more we closer we get to doing it, the more crazy I kind of feel like it is. I agree. But we're doing a new podcast called Token Town. **Ian Landsman:** Token Town. What **Aaron Francis:** a great name. I don't know if they can imagine what this podcast might be about. But we're going to do it. We're going to have a new podcast. It's to be AI focused, if you could believe that. We end up talking a lot about AI on here. And we thought maybe we should do a little something AI specific. Kind of push a little more into that world with a new story, a new podcast. A little different format, I believe. A little Yep. Going to do also live streaming of that. Yep. Is at least the current plan that that will be live streamed. And also, of course, available as a podcast and YouTube and all the stuff. So still all those things. But live broadcast every Friday. We don't know what time yet, exactly. Probably, I don't know, what do we want to do? Do we want to set a time for this week to maybe shoot for? Do we want to do lunchtime? Do we want to do... **Ian Landsman:** Let's do like, so 2 p.m. Central would be, is that noon on the West Coast? Or is that 11 on the West Coast? **Aaron Francis:** I think that's noon. Noon on the west coast yeah so **Ian Landsman:** that might be good okay 3 **Aaron Francis:** p.m eastern 3 **Ian Landsman:** p.m eastern 2 p.m central that's like 9 p.m europe which **Aaron Francis:** is getting up there a little bit i don't know i don't know if i like 3 p.m eastern man 3 p.m eastern on a friday am i going to be shocked? You ready to cruise out? I mean, I might be a little ready to cruise out. 3 p.m. **Ian Landsman:** Eastern What if we back it up an hour? What if we did 1 p.m. Central, 2 p.m. Eastern? Let's do that. **Aaron Francis:** Okay. **Ian Landsman:** 1 p.m. Central this week. Let me tell you what's different, okay? All right. This is going to be a much tighter show. And I know you're thinking, mostly technical is very tight. You guys never ramble. And I know somehow it'll be even tighter on Token Town. There's not going to be any, and there was very little today, but there's not going to be how's your father? What did you get? How are the kids? Who's sick this week? There's going to be none of that. So if you're here, if you're here because we're the personality hires, you're going to want to stay here. But why not both? **Aaron Francis:** Join us. wants to stay here. Let's just be clear. All of you want to stay here. Yeah. **Ian Landsman:** If you're just here for the AI takes, you've been suffering because there's a lot of how's your father on these. But on Token Town, it's going to be short, tight, topic-based, fast, kind of, I'm led to believe, like, sports talk shows where they, like, have a topic, run it down, do the next topic. So it's not a ride-along, which is what I call this one, which is like, here's what I got up to this week. It's, here's what happened this week here's our takes on it on to the next one um yeah so if you're looking for a denser ai information podcast that will be token town if you're here for me to make fun of ian then stay here and don't change the channel uh we'll have a little bit of making fun of each other, but within the confines **Aaron Francis:** of a topic, at **Ian Landsman:** least, generally. **Aaron Francis:** And yeah, exactly. I feel like the vision, right, is like kind of, there's a lot going on out there. We both have the luxury of being maybe on top of it in a way that if you just have a job or you're in the middle of grinding on something else, like on top of everything is not the easiest thing to do because it literally changes every day practically. So this will be a spot. I think we're trying to keep it maybe to like a half hour, kind of make it tight, at least for the core. Maybe we go, the live stream part maybe goes, maybe sometimes we go late or we throw somebody on who comes into the chat and be interesting. But like core of the show, 30 minutes, key topics. What happened this week? What do you to know about? ---