Python Bytes - #469 Commands, out of the terminal

Episode Date: February 9, 2026

Topics covered in this episode: Command Book App uvx.sh: Install Python tools without uv or Python Ending 15 years of subprocess polling monty: A minimal, secure Python interpreter written in Rust ...for use by AI Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Training The Complete pytest Course Patreon Supporters Connect with the hosts Michael: @mkennedy@fosstodon.org / @mkennedy.codes (bsky) Brian: @brianokken@fosstodon.org / @brianokken.bsky.social Show: @pythonbytes@fosstodon.org / @pythonbytes.fm (bsky) Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Monday at 10am PT. Older video versions available there too. Finally, if you want an artisanal, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: Command Book App New app from Michael Command Book App is a native macOS app for developers, data scientists, AI enthusiasts and more. This is a tool I've been using lately to help build Talk Python, Python Bytes, Talk Python Training, and many more applications. It's a bit like advanced terminal commands or complex shell aliases, but hosted outside of your terminal. This leaves the terminal there for interactive commands, exploration, short actions. Command Book manages commands like "tail this log while I'm developing the app", "Run the dev web server with true auto-reload", and even "Run MongoDB in Docker with exactly the settings I need" I'd love it if you gave it a look, shared it with your team, and send me feedback. Has a free version and paid version. Build with Swift and Swift UI Check it out at https://commandbookapp.com Brian #2: uvx.sh: Install Python tools without uv or Python Tim Hopper Michael #3: Ending 15 years of subprocess polling by Giampaolo Rodola The standard library's subprocess module has relied on a busy-loop polling approach since the timeout parameter was added to Popen.wait() in Python 3.3, around 15 years ago The problem with busy-polling CPU wake-ups: even with exponential backoff (starting at 0.1ms, capping at 40ms), the system constantly wakes up to check process status, wasting CPU cycles and draining batteries. Latency: there's always a gap between when a process actually terminates and when you detect it. Scalability: monitoring many processes simultaneously magnifies all of the above. + L1/L2 CPU cache invalidations It’s interesting to note that waiting via poll() (or kqueue()) puts the process into the exact same sleeping state as a plain time.sleep() call. From the kernel's perspective, both are interruptible sleeps. Here is the merged PR for this change. Brian #4: monty: A minimal, secure Python interpreter written in Rust for use by AI Samuel Colvin and others at Pydantic Still experimental “Monty avoids the cost, latency, complexity and general faff of using a full container based sandbox for running LLM generated code. “ “Instead, it lets you safely run Python code written by an LLM embedded in your agent, with startup times measured in single digit microseconds not hundreds of milliseconds.” Extras Brian: Expertise is the art of ignoring - Kevin Renskers You don’t need to master the language. You need to master your slice. Learning everything up front is wasted effort. Experience changes what you pay attention to. I hate fish - Rands (Michael Lopp) Really about productivity systems And a nice process for dealing with email Michael: Talk Python now has a CLI New essay: It's not vibe coding - Agentic engineering GitHub is having a day Python 3.14.3 and 3.13.12 are available Wall Street just lost $285 billion because of 13 markdown files Joke: Silence, current side project!

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Python Bites where we deliver Python news and headlines directly to your earbuds. This is episode 469 recorded Monday, February 9th, 2026. And I am Brian Ockin. And I am Michael Kennedy. As usual, as frequently lately, this episode is brought to you by us. So thank you for supporting us through contributing through Patreon or grabbing a course or book or whatever you want. But chipping in a few bucks helps keep the show going. Connect with us.
Starting point is 00:00:33 Send us news. If you hear something exciting, even if you think we've heard it, we may not have or we may have forgotten. So send it on over, connect with us through Mastodon or Blue Sky. Links are in the show notes. Or email. You can also, yeah, there's a contact forum on the site too. You can join us live if you'd like to see us on YouTube.
Starting point is 00:00:56 or live, go to Pythonbytes.fm slash live and be part of the audience. And you can, you know, listen to us, heckless, send in questions, comments. And we sometimes we read those during the show and that's fun. And then also, you don't need to take notes because we'll send it to your inbox. Just go over to the Pythonbytes.com. You can sign up to the newsletter. And we will send you links to everything we covered plus a little background information and send that to your email once a week.
Starting point is 00:01:26 Yeah, that's great. Well, I am excited about this first topic, Michael. So let's kick it off. Thanks, Brian. So this one is a homegrown topic. So I've created a new app, and I got to tell you, this is one of the very first proper desktop applications. I have shipped in a long time.
Starting point is 00:01:45 Like, when was the last time that you shipped a desktop app? Like, I tell you, it's been years for me. I don't think I ever have. Yeah. Well, I used to do a lot of ways. Windows development and build legit desktop apps. I worked at this scientific visualization company. We'd build like things to do data processing and visualization.
Starting point is 00:02:03 And this predates the web being real powerful for that. So I guess I did way back when systems. Exactly. I mean, that used to be the way. And so I've been working building a ton of web apps, which is what drove me to build a desktop app, which is strange. But here's the deal. I built this thing called Command Book.
Starting point is 00:02:22 And the idea is. As developers, we have a lot of long running processes that we keep in the terminal. Okay? I want to tail this log. I want to turn on some monitoring software. I want to run this web app. Oh yeah, but the web app also has this background damon thing. So I got to run that.
Starting point is 00:02:40 And I want to run the database that powers that, those two things. So then you end up with like four terminal tabs, all that just say Python, Python, Docker. And you're like, huh? Well, I need to go see the output of one of those. Which one do I go to? Like, maybe it's this Python. No, no, that Python, right?
Starting point is 00:02:57 Oh, guess what? I set him to auto reload so that as I'm working on the code or Claude Code is working on the code, I don't have to keep closing the web app, opening it back up, then refreshing it. I can just set it up to auto, you know, like dash-nash reload or set it in dev mode with reload true, that kind of thing. That works great, except for if the timing lines up such that your app detects a change, but the code is in an invalid state. Like you're typing deaf function open parentheses,
Starting point is 00:03:24 but you haven't closed it yet. Boom, it tries to reload. It goes cannot parse code, shuts down and won't reload ever again. You're like, now I've got to go find it amongst those tabs again, right? So that's the kind of the thing. I'm like, can we just do better?
Starting point is 00:03:35 Like, do these long running commands? Should they really be four or five terminal tabs? No. So I created this thing called command book. And the idea is that you take those long running commands and you put them into an app, a native app, that runs them with just the same.
Starting point is 00:03:49 same output, but a bunch of bonuses. And then you keep your terminal for actually, I want to do commands that are more short-lived, right? And also, let's you jump around really quick from, like, I want to quickly see what this log looks like. Oh, I also, I need to turn on this database thing real quick. Doom, hit this, you know, get this thing to run it. And so, you don't even have a little example.
Starting point is 00:04:11 I can even run the Python bytes thing. So if you check out the video, you can see the app in action, but link to the website at commandbook app. And so it does a bunch of cool things. So like if I go and edit, it has a command palette. So if I want to type anything with Hugo, like I want to publish to the talk Python blog, I just type Hugo and find that. Or I want to publish this one. I want to just run my personal blog, hit that one.
Starting point is 00:04:34 Off it goes. And it doesn't just do that because what else is it doing? You don't want to have merge conflicts so it runs Git pull. You can specify what to do. It runs Git pull before it runs your server every time you say run your server. And it makes sure no matter where you are, you're always in the right directory. that kind of stuff. And you can like chain them with ampersand, Ampersand, which is like a Linux terminal thing. And it will auto detect those, break them apart, run them as multiple commands and that kind of stuff.
Starting point is 00:05:00 So yeah, I think this is just super neat. It detects all the URLs that are shown. So if you're the thing to start the browser to the right place scrolls off the screen, you don't have to scroll. It shows you uptime, how much memory is being used. There's a bunch of cool little things that you can do if you just go like, maybe these long running things don't need to live in my terminal all the time. Because you'll have messages like, oh, there's an update for warp. You're like, yeah, but I don't really want to install it right now because all this other stuff's been going for a day. And I want to shut it down. Like, do those need to be the same thing?
Starting point is 00:05:29 So I hope people really like this. There's a free and a paid version over at command book app.com. I spent about three full-time weeks working on this thing. And I'm really proud of how it came out. I think it has a bunch of cool features that are not obvious, but as you start to work with him, oh, and that, and that's cool. And I built it with Swift UI if people are interested. The back end is all Python, of course.
Starting point is 00:05:54 But the app itself is Swift UI when he megs. It's not a huge electron thing, and it starts in. I'm excited about trying this out, Michael. This is neat. I like the stop-ball. And also like, there's a, so I don't normally have stuff running for, like, a long time, like, days. But I do have things that I run. regularly in the background, like you said, running a server or something like that, or that I kind of forget all the commands, all the prompts that I, the command line thinks that I usually add to it.
Starting point is 00:06:26 And having them already there just waiting and I can go, oh, yeah, run that. It's right there. Yeah, totally awesome. Thanks, Brian. I totally agree with that because it's like, oh, I got to change directory to here and then activate the virtual environment. And then I run this command. Oh, I forgot that flag. And then I got to change directory there. like click click click or you can group them and say just run all of these things for this project it's it's pretty neat so and my experience building with swift ui and publishing this has to be like signed and notarized by apple which made me worry given my last experience and i hinted it this last time we talked it was a lot better to distribute a desktop app even though it has to be signed you've got to digitally sign it and notarize it with your developer key but then you've got to put it
Starting point is 00:07:11 it into one of those DMG things that you open up and drag from like over to the app folder. That's how the Mac stuff installs. You've got to digitally sign and notarize that. I'm like, oh my gosh. Where are they going to tell me I've got to add in that purchasing for this just so they can have more money, you know? No. It was way better. And one final wild sort of its turtles all the way down thing.
Starting point is 00:07:34 With this app down here, I can run the website for Command Book app, of course. but I can also build command book itself. So the app has a command that builds itself. And then it has another command that will actually notarize and sign the app and build the installer and upload it to the server and set up an auto update sequence that starts kicking off from within the app. It's super cool. So yeah, anyway, people check commandbook app.com out. It's neat.
Starting point is 00:08:03 For now, it's Swift only. If I get a bunch of people going, Michael, where's my Windows version? I will gladly build us a Windows version. Gladly? Hey, I'm going to build this baby in Windows forms. I'm going back old school. I love that. It's like the VB6 style.
Starting point is 00:08:19 And I would be happy to do it. But again, I'd have to figure out how to notarize stuff on Windows, which I think is even harder these days. Can I get it in DOS 6-2? You know what? No, we only support Dr. Doss. No, I think there's a fun app. And hopefully people can check out. Oh, maybe I can inspire some people to write.
Starting point is 00:08:38 write some other desktop apps as well, right? Like it's not a terrible idea, even though the web is a really nice, nice option these days. Yeah. Over here. Well, let's see. What do I got? I wanted to talk about UVX.
Starting point is 00:08:51 SH. So this came out from Astral, install Python tools with a single command powered by UV. OK, so I didn't quite know what to make of this. I know that we use curl sometimes to install, like if you want install rough you can use curl or actually uv if you want to install uv you use the curl to pull in sh and install it and stuff but but like why other stuff so i was really glad that um that tim hopper wrote a couple articles about it so tim hopper wrote uvx dot s h install python tools without uv or python and then also how to install python cly tools without python so astro's release
Starting point is 00:09:38 UVAE, I'm just going to read right here. Astros released UVX.SH, a service that generates installation scripts for any Python tool on PiPI. With a single curl or PowerShell command, users can install tools like Rough Pi test. A nice example. Without having UV or Python already installed there in their system. Now this sort of makes sense. So you've got like something, I don't know, some people that need to, you want to distribute
Starting point is 00:10:04 something and distribution is hard sometimes. And you maybe don't want to write a Windows app. You could do something like this and use this service to distribute your stuff. Or, you know, as long as you publish it, I guess. This is super interesting because it does not, it just takes one more step out of the sequence. The much improved sequence was, first you figure out however the heck you install UV with curl. And then you can start running UV tool install or UV run. But now you just go straight to the thing that you're actually trying to get to, even though it makes UV happen, right?
Starting point is 00:10:43 I like it. Yeah. So I'm not sure. Like, so clearly it's installing without Python or UV. So somehow it's like sort of doing a shimmed version of both, maybe? I think step one is basically run the curl install command for UV. And then step two is then UV tool install rough or whatever it is you picked. I think it's like just those two things and one at one CLI command.
Starting point is 00:11:06 Okay. Anyway, interesting. And thanks, Tim, for writing up some examples. So, yeah. And, yeah, anyway, I don't know if I'll use it, but that doesn't matter. A lot of people will. I already know where I can start putting this in. So that's sweet. And really quick, before we'll move on to the next topic,
Starting point is 00:11:26 the command book app is a GUI, app, but it also has a command line CLI. So anything that you can do in the GUI, you can do in the CLI and just like if you've constructed one of these really careful commands with like six steps you can just you know command book space name of your command and boom off it goes and they're always in sync which is kind of weird for a desktop app that seems very gooey focused all right but let's move on I want to talk about sub process polling now this is actually a good follow-on from command book because all that thing does is just run a bunch of sub processes and stream the output and check on their ending and do you know what it's been doing hey is that done let me wait a second is that Is that done? Is it done? Is it done? Like, no, that is not great. So I want to talk about this thing called ending 15 years of sub-process polling.
Starting point is 00:12:16 So this comes to us from, yeah, hello, and it says from Python 3-3 until today, we've always had code that goes like this. While we're waiting for some amount of time, get us, you'll wait on this, the goodest details about this process. Is it done? No, time. dot sleep. Okay, we're going to try to do it again. Is it done? Time. And obviously this means that there's a bunch of effort going into just sitting there and spinning
Starting point is 00:12:41 over. There's an extra CPU time. Yeah, it sounds like it's not that big of a deal like, oh, you just, you know, it sleeps for a tenth of a millisecond. So at first and then like it backs off as it gets longer. So it sleeps are up to 40 milliseconds. Great. So that's like zero CPU usage. Let me tell you where it does matter. If you think a little bit more deeply, when you've got multiple processes running and checking on things and so on, and your process says, I need to just wake up for a second. Oh, there's nothing for me to do. Let me go back to sleep. It's blown out the L1, probably L2 cache of that CPU that it ran on. And then it just went back to sleep. You know, like, great. You woke up to like wreck the room and you left, right? Because I don't know, a lot of people know this, but not,
Starting point is 00:13:25 not everyone, I'm sure, is if you try to access memory from your program and it's in the L2 cache, that's 400 times, 200 to 400 times faster than you have to access it and it's in regular RAM. It's not in the cache. So that's a huge challenge. There's a bunch of things like this. Plus the latency, like, you know, it might not be a huge deal that it might be 20 milliseconds until you actually see the end. But still, it's not ideal.
Starting point is 00:13:50 So it turns out that all positive systems provide at least one mechanism to be notified when a file descriptor becomes ready. But here's the thing that unlocked it. So he said, until recently, I believe that this could only be used with file descriptors like files and sockets and so on. But it turns out a file descriptor can also be a process ID.
Starting point is 00:14:11 Oh. How about that for great naming and document. I didn't know that. Yeah. But so what you can do is you can just give it the process idea and just go wait until this thing is done. And wake me up when it's done. And Linux in 2019 introduced PID,
Starting point is 00:14:24 FD underscore open, which was added to the OS module for Python 3-9, and it returns a file description and a descriptor referencing the PID, right? So it can be used in conjunction with a select a pole or an e-pole. There's like OS-level things to effectively wait until it exits. So that works well there. MacOS, I believe, has always had this thing called KQ, which always has had this polling capability. And then Windows, actually, Windows is the winner here. Now it's fun to like, oh, Windows is in the corner eaten glue. No. Not this time. In fact, Windows is the only one that had like native support from the beginning. So there's a win 32 call, I believe wait for single object or something like that, which has always been able to just wait for a process to end. And it can fall back to polling if it has
Starting point is 00:15:09 to. So anyway, pretty interesting. And the big news is this bad boy right here has been merged by Victor Stinner. And you can go actually a link to the poll request, pull request, 144. thousand and forty seven that was merged two weeks ago pretty cool yeah so that'll be in 315 exactly yes exactly okay exactly exactly so yeah people can check that out and you don't have to do anything you just your sub-processed your multi-processing etc gets a little better yeah cool um also actually there are some people that are already doing extra things to try to get around this and in 315 they won't have they'll be able to get rid of those work around yeah yeah so um Okay, I mostly was, wanted to talk about this next topic because of the name.
Starting point is 00:15:59 So, Pedantic came out with Monty for Monty Python, of course. So Monty Python is experimental. This project is still in development, not ready for prime time, but, you know, sure. Fast API is still on zerover. So who knows? So I think. Sorry, Fast API if I'm wrong. Okay, so pedantic folks, at least Monty,
Starting point is 00:16:27 minimal secure Python interpreter written in Rust for use by AI. Wait a second, I don't know if this is the first one, but a programming implementation of a language, primarily intended to be used by AI. I don't know if there's others. Anyway, it's minimally, minimal secure interpreter. It says Monty avoids the costs, latency, complexity, and general Faf of using a full container based, a container-based sandbox for
Starting point is 00:16:58 running LLM generated code. So I'm guessing that a lot of people are in some process are saying, hey, like sandbox this so that the AI doesn't escape and try to take over the world. Maybe it can only access these directories. Maybe it can't call these kernel methods or something, right? Who knows? Yeah. And we get like, you know, so it's, It promises from the Claude people and other people that they've turned off reasonable things or like things that we, but who knows. So there's a subset of what Monty can do.
Starting point is 00:17:36 It has a reasonable subset of Python code enough for your agent to express what it wants to do. Completely block access to the host environment. No access to the file system, environmental variables, or network access. This is interesting. Okay, file system, environmental variables and network access are all implemented via external function calls that the developer can control.
Starting point is 00:18:01 Okay, so it doesn't completely block it, but the developer can control what it could have access to. That's cool. Anyway, so there's basically this minimal Python set that controls what your AI can do with it. Kind of interesting. I'm not sure it can't do, it can't do standard library yet. So I'm not sure exactly where this use model is, but I'm interested to watch and see what's going to happen to this.
Starting point is 00:18:29 So any take on this at all, Michael? I'm very excited about it. When I do like to troll the GitHub feed. I used to think that was a dumb thing. I'm like, what is this? It's in my way of my code. Like, get out of here. I actually really love the Getup feed.
Starting point is 00:18:42 And I was watching it day and a half ago or something. And I saw this come by and I saw Samuel Colvin was behind it. I'm like, yes, this is interesting. So he and I are talking next week. I think it's next week. No, wait, it might be tomorrow. I'm like, you know that joke for the progress monitor or the progress bar for the windows, the windows guy? Yeah.
Starting point is 00:19:01 No, it is, it's next Tuesday, the 17th. The joke is, I'm on my way to your house. I'll be there in about half an hour. No, wait, it's going to take a day. Actually, I'm at your front door, right? That's kind of how I feel. No, I'm talking next, not next, not tomorrow, but the week after tomorrow, I said, hey, when I saw this come by, I'm like, this is looking like it could be a huge thing.
Starting point is 00:19:21 Let's talk. So that was my take, right? Email Samuel, say, this looks awesome. How do we share it? His announcement when he said it was something like, it might be a little early for this, but what the heck, here we go, right? And sharing it. And that thing, like maybe the standard library and so on is a bit of that.
Starting point is 00:19:38 Right. Look, the possibility of what's on the other side of this is incredible, right? Like if we get a fully working Python or nearly fully working, right, one of the things that you can do when you're doing this kind of stuff is you're like, well, do we really need to support that edge case that was carried over from 2.4? No, the AI is not going to try to do that anyway. You know what I mean? Like you can cut some corners and like drop some baggage,
Starting point is 00:20:01 which may or may not make it generally useful. But I don't know. I think it's super interesting. So how like, okay, hype driven development maybe. He just announced it like within the last week. And it's got 2,000 stars already. Yeah, I know. A day ago when I saw it or something, it had like 500 stars, but it was going click, click, click, you know, it was incredible. Yeah, it shows you the faith and the trust that the Pynatic team has earned. And, you know, I don't know. Well deserved. Yeah, absolutely. Also, one of their big projects, not just Pidentic, but is Pidentic AI, right? So they've got a whole like agent system for running AIs and stuff. And so this is like a really interesting building block to make. that more of a self-contained world, you know?
Starting point is 00:20:49 Yeah. Yeah, it's also possible that they're already using it. It's just they're exposing it for other people to access to or something. Yeah, exactly. But it absolutely is a popular one. And all that cool, they're also, they're using cod speed also. We covered that. Oh, yeah, yeah, they are. Okay, cool.
Starting point is 00:21:07 So sweet. All right. All right. Well, that's it for our main stuff, right? Yep. Yep. Do you have any extras? Yes, I do. Yes, I do. Let's jump over here to the extra.
Starting point is 00:21:17 First off, command book, no. No, but more CLEs from Talk Python things. This is another thing that I wrote. I have a couple things that I wrote actually that I want to talk about. So a while ago over at Talk Python, I added this MCP and AI section, right? And I talked about that, like, okay, here's how you can plug that
Starting point is 00:21:35 into Cod and other systems and the LLMs.t. But it occurred to me, as I played with different AI tools trying to make it talk to this thing, like, you know what? Most things don't do MCPs. MCPs and even the ones that do most of the users of those projects don't install the custom MCP into their thing so could I give people access to all the talk Python data in a more wide-ranging way right so I decided the way to do that would be to create a talk Python CLI so now you can
Starting point is 00:22:09 listen to this how recent is this Brian I literally have not written this down but in my mind I can UVX dash SH slash Talk Python CLI with dashes install.s. And then I will be able to just type things like down here somewhere. I could just type Talk Python, then episodes, search, put some text in there. Or Talk Python Guests list. Or Talk Python guests get and give them an ID that came from the list. And basically all the data that is behind Talk Python, which is insane. I have 7.5 million words in the corpus of content at Talk Python.
Starting point is 00:22:46 Wow. Yeah. If you take the transcripts, the show notes, the guest bios, you know, and you go, how many words is that? 7.5 million. It's a couple. So this is like a huge resource for people to go back and use to ask questions like what has changed over time and so on, right?
Starting point is 00:23:01 So I thought it'd be really cool to create this CLI tool for that. And so I have. Oh, that's cool. Yeah. So super easy. It's all written in Python, install it with UV. and then once you install it, just you have a Talk Python,
Starting point is 00:23:12 no spaces command, right? Oh, one final thing is it has three different outputs. It has, uh, does anyone here? I don't know. It does, but you can have, yeah, it does. Normally it puts out text
Starting point is 00:23:24 formatted by the rich library, you know, Will Guggen, of Will Guggan. It's creation, but it can also put out JSON, which is good for apps, and it can put out Markdown,
Starting point is 00:23:33 which is really good. If you would say, go to Claude code and say, hey, Claude, use this Talk Python thing and talk to it and give me answers or something,
Starting point is 00:23:39 You know what I mean? So for any agendic stuff, give it the markdown one. That's what those want, which is, I always thought JSON, but no, markdown is what they want. Very weird. Okay. Speaking of which, I wrote a little riff on someone else's article called It's Not Vibe Coding, Agentic Engineering. This guy, Adi, Adi, Azimani wrote a really, like really good article.
Starting point is 00:24:02 This guy's from one of the Google teams called Agentic Engineering. So I wrote some stuff about that. People can check that out if they want. It's honestly the idea is like, I think a lot of serious work with agentic coding tools and vibe coding. Hey, my manager made this last night. Now we have to build it. Like those two worlds get grouped into one thing and this article is a little bit to like love it or hate it. There's two different things you should be talking about in this world.
Starting point is 00:24:26 So check that out. GitHub was having a day this morning. Did you notice this? No. Yeah. I got the magic unicorn and status code 503 just trying to do some work getting ready for the show. So the issues didn't work. Full requests were degraded.
Starting point is 00:24:40 Actions were degraded. It says other things were fine, but like going to the website wouldn't work. It would 503. I couldn't get clone anything. So if you're having problems this morning, you know, many people were. Python 3143 is now available. Third maintenance release of 314. So I really dislike this format.
Starting point is 00:25:00 I mean, whoever wrote it, thank you for writing out. But I do dislike this format of, hey, we got this new minor. We have this release. I'm going to tell you about all the changes that have happened over the last year. All I want to know is the changes in this release. Yeah. If I want to know the changes over a year over year, I could go check that out. But it says, here's the changes of 314 to 313.
Starting point is 00:25:21 You're like, well, what about the one that I had before? Like, how is this related? Do you know what I mean? I know if I track it down, there's other places I can find that information. But I don't have it on the screen. Yeah, but you have to track it down. Why shouldn't, why wouldn't it be right here? Yeah.
Starting point is 00:25:34 What is the value of saying this like eight times before you say, You know what I mean? Anyway, it's weird. Just restate the change log year over year. But awesome. Upgrade to this. UV Python install 3143. Dash, manage only, something like that.
Starting point is 00:25:50 Anyway, that's how you get it. All right. This is the wildest story. Absolute wildest story and my last extra, Brian. Okay. This is already out of date because the number is wrong. But Wall Street just lost $285 billion. The valuation of companies like,
Starting point is 00:26:07 Salesforce, bunch of sort of offshoring, like support team programmer companies. Like, hey, we have a bunch of experts who will, like, be your legal review and, like, write code to help you do that kind of stuff and so on. They just lost $285 billion because of 13 markdown files. And the marktime files are short, by the way. This is not like an Epstein type thing where, like, some thing has been revealed. So we live in this, like, in this weird dichotomy. We have two bizarre viewpoints.
Starting point is 00:26:39 One, AI is a fad, the bubble is going to burst, and that's just not very much of an important thing. So don't even bother learning it. It's going to crash. It's never going to replace people. Remember, we've tried all these layoffs. They tried to replace people with AI. It's going badly.
Starting point is 00:26:54 Like there's a hundred of those articles. This article says, Anthropic released something that would help Claude Code basically do better legal work. So all of these companies lost $285 billion. because it was so good. And all it is, literally all it is, is if you go to KnowledgeWork plugin slash legal on the Anthropic Cloud Code repo,
Starting point is 00:27:15 it's just a handful of markdown files that are just pre-prompts or skills to be given to Anthropic. How insane is that? Yeah, that's something. It is something. So we live in this world where both AI is about going to pop and even just a few focused prompts
Starting point is 00:27:33 will destroy large companies. So I don't know. It's going to see how to show. takes out we got to go up to the name like go up to the top of that article um sass sapsapocalypse again on the third of february 26th with yeah because it's these um you know there's it links to a Bloomberg article what's behind the saspocalypse i do not care about your you know what get unlimited access there we go we'll go into the reader yeah so yeah anyway you can see like i'm not sure good name it's a good name forgot some of the companies there probably
Starting point is 00:28:05 once you wouldn't have heard of. But yeah, they they opened it us up for like a legal specialization and then like it broke loose. I guess hurry up and copy those files. Exactly. Lone those things before they get banned. Over to you. Well, do you just your comment about Epstein files reminded me of an extra I saw recently that the Bash shell manual was part of the Epstein files? I saw that. What? It's bizarre. Anyway, there's whatever. There's a bunch of stuff. My daughter was telling me some, I don't know if this is true or not. This is way thirdhand through a teenager, but that like the Biden was like a clone or something.
Starting point is 00:28:51 Jesus. Anyway, okay, back to back to sort of reality. Rans, Michael Lopp, wrote under the name of Rans for a while. I just want to point out a couple articles I found amusing recently or just helpful and interesting. RAN's article, I hate fish, is not really about fish. It's about productivity systems and also just sort of talking about productivity systems because I know a lot of people kind of go down that rabbit hole of getting things done and whatever. But there's an interesting discussion around email and I thought the email, discussion was what was worth the peruse so good writing there is he's also just a great author
Starting point is 00:29:39 and then also um this one is expertise is the art of ignoring and this is very true this is from kevin wrenskers and um who is um apparently open for sidework so um you know uh so but um i'm i'm not going to go through the whole thing we're uh near the end He had some final thoughts. Let's see. Oh, here there, some lessons. You don't need to master the language. You need to master your slice, which is very important.
Starting point is 00:30:14 And that's, that actually used to be, we used to talk about Python being the language you could fit in your head all at once. And it kind of isn't now. So it's okay that you can't fit it all in there. If you don't really understand comprehensions yet, don't worry about it. Actually, you should. And even if it's, you should, but even if you could fit the whole language in your head, Pi Pi Pi. Yeah, Pi, and even the standard library, though, like, I forget stuff that's in the standard library all the time. So, and, you know, you don't need to master your language, master your slice, and build things.
Starting point is 00:30:50 And you'll provide value as you build things. Learn everything up front is wasted effort. Again, knowledge decays fast. learn what the problem demands when it demands it. I like to go a little further, obviously. I'm kind of like, you know, how does that work and explore a little bit further? But that's just, that's my entertainment. And also, expertise changes what you pay attention to.
Starting point is 00:31:16 So senior developers don't necessarily know more facts. They're better at recognizing which details matter right now and which ones don't. And that's definitely true. I think when I was all of my years as a project lead, I think my main skill was the ability to say, yeah, it's probably not actually going to happen. So let's not work on that right now. Yeah. And why does that matter?
Starting point is 00:31:40 It's not just, oh, I probably should ignore that. That stops you from going. And I'm going to spend two weeks learning that framework or that angle or something and then try and then decide I don't need it. Right. That's a big deal. Yeah. And actually, context, the context shift time is very real. and context shift time for entire engineers is destructive.
Starting point is 00:32:02 And so the more time you can, I'm talking to leaders here, the more time you can save individual contributors from having to shift gears all the time, if you can keep them going like, you know, hey, I need you to start working on something new. When are you done with the current thing? If it's like less than a day or a day or so, let them finish.
Starting point is 00:32:23 You'll get more productivity that way. So 100%. Okay. That's just a couple of nice articles. That's it. Awesome. Well, you have set the stage perfectly with this context switching story. Mental context switching for the joke.
Starting point is 00:32:38 And this one, I feel called out. I'm going to just tell people I feel called out of here. So I've entitled this joke, silence current side project. Oh, yeah. Are you ready? Yeah. Silence current side project. A new side project is talking.
Starting point is 00:32:52 Oh. Oh, hers. I mean, how many people out here listening have worked on a side project got it 65% of the way done and like squirrel and they go off and do another thing. You get 40% done. Come back, get distracted. You know, just silence current side project, a new side project is talking. Yes. Well, my existing current book that I'm writing that I need to get back to that I'd rather spend on my time on a new SaaS project right now.
Starting point is 00:33:21 Mm-hmm. Even my new projects get subverted by my other new projects. I'm like, stop, please. This cannot go on. That's why I'm so thrilled about getting the command book app out because it literally went from like zero to documentation, published for sale without me not being able to focus. So it's a good deal.
Starting point is 00:33:39 Nice. Yeah. But in the shadow of that experience, there are many things that are still pending. And awesome. Well, once again, lovely to talk to you about Python and catch up. Thanks everybody for sending in ideas and keep them coming. And yeah, we'll talk to you all next week.
Starting point is 00:33:56 Bye, everyone.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.