WEBVTT

00:00:00.020 --> 00:00:04.780
<v Calvin Hendryx-Parker>Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.

00:00:05.200 --> 00:00:10.020
<v Calvin Hendryx-Parker>This is episode 491, recorded on Tuesday, August 11th, 2026.

00:00:10.520 --> 00:00:11.540
<v Calvin Hendryx-Parker>I'm Calvin Hendryx-Parker.

00:00:11.800 --> 00:00:12.560
<v Calvin Hendryx-Parker>And I'm Michael Kennedy.

00:00:13.000 --> 00:00:14.300
<v Calvin Hendryx-Parker>Hey, Michael, it's great to see you.

00:00:14.620 --> 00:00:16.240
<v Calvin Hendryx-Parker>It's great to be back. I missed you, Calvin.

00:00:16.430 --> 00:00:21.180
<v Calvin Hendryx-Parker>I missed you too. A week off, a week with no Michael was a little, you know, somehow I got through.

00:00:22.580 --> 00:00:24.640
<v Calvin Hendryx-Parker>Let's get this thing started. We've got a lot to talk about.

00:00:24.710 --> 00:00:28.160
<v Calvin Hendryx-Parker>I see some cool stories on the docket for today.

00:00:28.560 --> 00:00:30.940
<v Calvin Hendryx-Parker>But first, this episode is sponsored by XWeather.

00:00:31.340 --> 00:00:38.340
<v Calvin Hendryx-Parker>XWeather combines enterprise-grade weather intelligence with agent-ready APIs, natural language capabilities, and an MCP server.

00:00:38.680 --> 00:00:44.540
<v Calvin Hendryx-Parker>So your agents can adopt workflow, automate responses, and make better decisions based on real-world conditions.

00:00:44.900 --> 00:00:51.220
<v Calvin Hendryx-Parker>Michael's going to tell you more later in the show, but get started for free at pythonbytes.fm/xweather.

00:00:51.620 --> 00:00:57.480
<v Calvin Hendryx-Parker>If you want to connect with Michael or I on the socials, we are on Mastodon, BlueSkyX, and LinkedIn.

00:00:57.520 --> 00:01:01.100
<v Calvin Hendryx-Parker>You can also follow the show at MassathonBlueSkyNX.

00:01:01.720 --> 00:01:04.900
<v Calvin Hendryx-Parker>Join us on YouTube for the live session of this.

00:01:04.980 --> 00:01:08.360
<v Calvin Hendryx-Parker>So at pythonbytes.fm/live to be part of the live audience.

00:01:08.880 --> 00:01:12.660
<v Calvin Hendryx-Parker>We usually record this on Tuesdays at 7 a.m. Pacific, 10 a.m. Eastern.

00:01:13.080 --> 00:01:14.820
<v Calvin Hendryx-Parker>Older video versions are there too.

00:01:15.210 --> 00:01:18.920
<v Calvin Hendryx-Parker>We record without a net so you can watch us live and join in all the fun.

00:01:19.280 --> 00:01:27.040
<v Calvin Hendryx-Parker>Finally, if you want an artisanal digest of every week's shows and the notes from the email form, add your name and email to our friends of the show list.

00:01:27.120 --> 00:01:29.560
<v Calvin Hendryx-Parker>We promise we will never share it with anyone else.

00:01:30.000 --> 00:01:35.720
<v Calvin Hendryx-Parker>You're just going to get cool messages from Michael and myself about all the show notes here, which are pretty good.

00:01:35.860 --> 00:01:37.860
<v Calvin Hendryx-Parker>You could almost read the show notes and not listen to us.

00:01:38.000 --> 00:01:40.340
<v Calvin Hendryx-Parker>But I know everyone loves hearing our voices.

00:01:40.710 --> 00:01:42.540
<v Calvin Hendryx-Parker>And speaking of, Michael, let's kick it off.

00:01:42.590 --> 00:01:43.320
<v Calvin Hendryx-Parker>What do you got for us first?

00:01:43.660 --> 00:01:44.900
<v Michael Kennedy>Let me ask you a question.

00:01:44.950 --> 00:01:47.300
<v Michael Kennedy>I know you do a fair amount of AI stuff.

00:01:47.680 --> 00:01:48.000
<v Michael Kennedy>A little bit.

00:01:48.520 --> 00:01:49.700
<v Michael Kennedy>Yeah, a little bit.

00:01:49.910 --> 00:01:50.380
<v Michael Kennedy>And me too.

00:01:50.780 --> 00:01:51.140
<v Michael Kennedy>I dabble.

00:01:52.280 --> 00:01:54.280
<v Michael Kennedy>It's probably sad, but I'm going to stick with it for a week or two.

00:01:55.050 --> 00:01:55.500
<v Michael Kennedy>Give it a go.

00:01:55.800 --> 00:01:59.960
<v Michael Kennedy>This one, you have to ask yourself, are you ready to be judged?

00:02:00.480 --> 00:02:02.500
<v Michael Kennedy>And sort of what's your confidence level?

00:02:02.890 --> 00:02:07.340
<v Michael Kennedy>So what I'm talking about is something called Claude Code Insights.

00:02:07.620 --> 00:02:09.200
<v Michael Kennedy>Have you experimented with this, Calvin?

00:02:09.440 --> 00:02:11.760
<v Calvin Hendryx-Parker>I've not run the slash insights command yet.

00:02:11.940 --> 00:02:14.680
<v Calvin Hendryx-Parker>I've been totally in the world of AgentsView from last time.

00:02:14.980 --> 00:02:15.260
<v Michael Kennedy>I know.

00:02:15.380 --> 00:02:16.440
<v Michael Kennedy>I've been all about AgentsView.

00:02:16.510 --> 00:02:16.660
<v Michael Kennedy>Same.

00:02:16.660 --> 00:02:20.040
<v Michael Kennedy>And I'm so bugged that I can't get, I know I can.

00:02:20.100 --> 00:02:28.960
<v Michael Kennedy>And I have not yet set up AgentsView to unify my Mac laptop and desktop because I'm only seeing half of my view.

00:02:29.280 --> 00:02:29.460
<v Michael Kennedy>Yeah.

00:02:29.780 --> 00:02:30.080
<v Michael Kennedy>Yeah.

00:02:30.320 --> 00:02:31.620
<v Michael Kennedy>So I'm going to set that up at some point.

00:02:31.710 --> 00:02:32.260
<v Michael Kennedy>But you know what?

00:02:32.560 --> 00:02:37.140
<v Michael Kennedy>There's a few things more important than that, but not that many things I'm like, I want to do this.

00:02:37.220 --> 00:02:37.620
<v Michael Kennedy>Let's check it out.

00:02:37.920 --> 00:02:38.700
<v Michael Kennedy>So Claude Code Insights.

00:02:38.840 --> 00:02:39.200
<v Michael Kennedy>What is this?

00:02:39.520 --> 00:02:44.200
<v Michael Kennedy>So Claude Code Insights is you just type slash insights, press enter, nothing else.

00:02:44.380 --> 00:02:48.320
<v Michael Kennedy>Now, annoyingly, this does not work in the VS Code Variants plugin.

00:02:49.000 --> 00:02:52.340
<v Michael Kennedy>You can say slash compact, clear, slash usage.

00:02:52.800 --> 00:02:56.720
<v Michael Kennedy>All those work in the VS Code version, but this has to literally be in the terminal version.

00:02:57.020 --> 00:02:58.740
<v Michael Kennedy>Does it have anything to do with the terminal?

00:02:59.040 --> 00:03:00.060
<v Michael Kennedy>No, absolutely not.

00:03:00.400 --> 00:03:01.400
<v Michael Kennedy>But it still has to be there.

00:03:01.560 --> 00:03:01.900
<v Michael Kennedy>Don't know why.

00:03:02.420 --> 00:03:03.520
<v Michael Kennedy>But it's fine.

00:03:03.700 --> 00:03:10.520
<v Michael Kennedy>So if you're not using the terminal version of Claude Code, you have to temporarily go down and use that to get this to work, okay?

00:03:10.800 --> 00:03:13.080
<v Michael Kennedy>So what you do, like I said, you just type slash insights.

00:03:13.260 --> 00:03:19.880
<v Michael Kennedy>And what it does is it will look through all of your sessions, which are stored on your local machine, not in the cloud, just on your machine.

00:03:20.020 --> 00:03:24.340
<v Michael Kennedy>So you've got to do it on a machine that you use Claude Code a lot to get anything meaningful from it.

00:03:24.600 --> 00:03:26.240
<v Michael Kennedy>And it will assess you, Calvin.

00:03:26.640 --> 00:03:29.540
<v Michael Kennedy>It'll tell you how you do rather than how it's done.

00:03:30.200 --> 00:03:32.000
<v Calvin Hendryx-Parker>Am I guiding you well enough?

00:03:32.260 --> 00:03:32.940
<v Calvin Hendryx-Parker>So what I've done.

00:03:32.940 --> 00:03:33.480
<v Calvin Hendryx-Parker>Am I treating you nicely?

00:03:34.140 --> 00:03:34.500
<v Michael Kennedy>Exactly.

00:03:34.920 --> 00:03:40.600
<v Michael Kennedy>What I've done is I'm like, all right, well, if I'm going to talk about this, let me just share one of my Claude Code insights.

00:03:40.620 --> 00:03:43.380
<v Michael Kennedy>So I ran that and I put it up on the internet.

00:03:43.780 --> 00:03:44.000
<v Calvin Hendryx-Parker>Wow.

00:03:44.580 --> 00:03:45.460
<v Michael Kennedy>That's being very vulnerable.

00:03:45.900 --> 00:03:46.300
<v Michael Kennedy>I know.

00:03:46.460 --> 00:03:48.200
<v Michael Kennedy>See, I'm open here.

00:03:48.380 --> 00:03:49.680
<v Michael Kennedy>I may regret it, but I'm open here.

00:03:51.120 --> 00:03:51.780
<v Michael Kennedy>Here's the thing.

00:03:51.840 --> 00:03:55.120
<v Michael Kennedy>I believe this is a 30-day window, even though it says the time is bigger.

00:03:55.820 --> 00:03:57.440
<v Michael Kennedy>But the docs say it's 30 days.

00:03:57.580 --> 00:03:59.080
<v Michael Kennedy>I don't know what the actual time frame is.

00:03:59.080 --> 00:04:00.220
<v Michael Kennedy>It doesn't really matter that much.

00:04:00.500 --> 00:04:04.480
<v Michael Kennedy>It talks about how many sessions there were, how many messages, all those kind of things.

00:04:04.580 --> 00:04:18.739
<v Michael Kennedy>But then it gives you an overall assessment, what went well, what went bad, and what's super interesting and why you might actually care rather than just morbid curiosity of what AI thinks of you is it gives you a bunch of things to make it work better.

00:04:18.739 --> 00:04:22.540
<v Michael Kennedy>It says, look, when we tried these things, systematically, this is not working that well.

00:04:22.830 --> 00:04:25.740
<v Michael Kennedy>So here, paste this into Claude Code to create a skill that makes it better.

00:04:26.220 --> 00:04:26.820
<v Michael Kennedy>That's cool.

00:04:26.880 --> 00:04:34.620
<v Michael Kennedy>Yeah, so it's kind of like a meta thing and sort of a counseling because it also gives a little bit of insight into itself.

00:04:35.110 --> 00:04:43.540
<v Michael Kennedy>Now, you may not want to put your Claude Code insight on the internet because it has detailed information about your projects.

00:04:44.060 --> 00:04:53.280
<v Michael Kennedy>It could say, oh, yeah, I worked at big tech company X and you were really successful in helping track down that huge vulnerability or whatever.

00:04:53.930 --> 00:04:55.260
<v Michael Kennedy>Then describe it, you know what I mean?

00:04:55.460 --> 00:05:09.880
<v Calvin Hendryx-Parker>Yeah, that's no good. That's a reason I can't publish any of my agent's views because it definitely tells you very detailed information about what's going on in there. I like that it's suggesting to you basically you should use superpowers in your plan, phase, verify, commit.

00:05:10.680 --> 00:05:24.720
<v Michael Kennedy>Yes, exactly. It does tell me that. So here, I'll read you a few fragments of it so you get a sense. And then you all can go run slash insights either as you're listening right now or later. So what it does is it just generates an HTML file. Like that's why I was complaining it doesn't work in the VS Code variants.

00:05:24.960 --> 00:05:30.240
<v Michael Kennedy>or any other UIs because literally all it goes is thinking, here's your HTML file, please open it up.

00:05:30.520 --> 00:05:31.660
<v Michael Kennedy>It's like, that can work anywhere.

00:05:31.740 --> 00:05:32.660
<v Michael Kennedy>I don't know what you're talking about.

00:05:32.660 --> 00:05:34.240
<v Michael Kennedy>But anyway, it gives you an at a glance.

00:05:34.320 --> 00:05:35.080
<v Michael Kennedy>Like what's working?

00:05:35.420 --> 00:05:37.760
<v Michael Kennedy>You work in phases rather than one-shot requests.

00:05:38.180 --> 00:05:42.980
<v Michael Kennedy>Number plan files, one phase at a time with verification gates between them.

00:05:43.280 --> 00:05:43.720
<v Michael Kennedy>That's discipline.

00:05:44.640 --> 00:05:50.640
<v Michael Kennedy>That discipline is what let you drive ty diagnostics from 363 to zero across 25 commits without destabilizing.

00:05:50.820 --> 00:05:54.140
<v Michael Kennedy>A 1,399 test suite.

00:05:54.560 --> 00:06:02.080
<v Michael Kennedy>And why your Sentry work closes the full loop from raw ID issue to root cause, fix, test, change log, and resolve issue.

00:06:02.520 --> 00:06:09.200
<v Michael Kennedy>By the way, I've been using the Sentry MCP, Sentry past sponsor, possible future sponsor, definitely sponsor.

00:06:09.560 --> 00:06:10.260
<v Calvin Hendryx-Parker>General good folks.

00:06:10.660 --> 00:06:11.460
<v Michael Kennedy>Really like Sentry.

00:06:11.640 --> 00:06:11.760
<v Michael Kennedy>Yeah.

00:06:12.020 --> 00:06:18.280
<v Michael Kennedy>And so I've hooked it up to report errors when something goes wrong, and it will just log those with details.

00:06:18.590 --> 00:06:21.780
<v Michael Kennedy>And so now you can just go, hey, Claude, there's an issue over at Sentry.

00:06:22.200 --> 00:06:22.760
<v Michael Kennedy>Look into it.

00:06:23.020 --> 00:06:23.520
<v Michael Kennedy>Propose a fix.

00:06:24.000 --> 00:06:25.840
<v Michael Kennedy>walk away and it's really, really cool.

00:06:26.120 --> 00:06:35.640
<v Michael Kennedy>So that's what it's talking about, right? So that's what's working. And it said, well, what's going on? Well, on Claude's side, the biggest cost was asserting correctness instead of verifying, like saying, yes, that's how we're saying. No, it doesn't work that way, Claude.

00:06:36.280 --> 00:06:40.220
<v Michael Kennedy>Stop saying that. Go check. Oh, you're absolutely right. You know, remember, that's not a code review, is it?

00:06:40.440 --> 00:06:41.440
<v Calvin Hendryx-Parker>It's so self-aware.

00:06:42.280 --> 00:06:50.000
<v Michael Kennedy>It is self-aware. And the quick ones to try, turn your plan phase, verify, commit loop into a custom skill. This is where Calvin is suggesting that I just adopt

00:06:50.440 --> 00:06:51.600
<v Calvin Hendryx-Parker>superpowers. You should just give it.

00:06:52.020 --> 00:07:00.600
<v Michael Kennedy>I have used superpowers and I like really well how it came out, but I feel less connected to the code when I'm using superpowers.

00:07:01.020 --> 00:07:03.520
<v Michael Kennedy>In that it just goes, I got this.

00:07:04.000 --> 00:07:04.260
<v Michael Kennedy>See you later.

00:07:04.560 --> 00:07:07.500
<v Michael Kennedy>And then like two hours later, here's your output.

00:07:08.600 --> 00:07:09.760
<v Michael Kennedy>Where's the flow that I have?

00:07:09.820 --> 00:07:14.580
<v Michael Kennedy>It checks in with me just a little bit or at least it narrates while it's going.

00:07:14.640 --> 00:07:15.320
<v Michael Kennedy>I can hold on.

00:07:15.720 --> 00:07:16.680
<v Michael Kennedy>Why did you just say that?

00:07:16.680 --> 00:07:17.100
<v Michael Kennedy>You know what I mean?

00:07:17.760 --> 00:07:18.080
<v Michael Kennedy>I don't know.

00:07:18.600 --> 00:07:20.200
<v Michael Kennedy>Maybe I will someday give in to superpowers.

00:07:20.440 --> 00:07:22.460
<v Calvin Hendryx-Parker>But I have a very similar flow to it nonetheless.

00:07:23.340 --> 00:07:24.080
<v Michael Kennedy>Ambitious workflow.

00:07:24.400 --> 00:07:26.380
<v Michael Kennedy>Your sentry to triage loop was deterministic.

00:07:26.580 --> 00:07:31.440
<v Michael Kennedy>I did this whole mega thing where I went through the Talk Python mobile apps.

00:07:31.880 --> 00:07:35.680
<v Michael Kennedy>They had years of errors that I was like, I cannot deal with these.

00:07:35.680 --> 00:07:41.920
<v Michael Kennedy>And I cannot do – this is too subtle for me to fix without making it worse in Flutter and then getting it back in the App Store.

00:07:42.060 --> 00:07:45.920
<v Michael Kennedy>And I eventually just broke down and said, okay, I'm going to – Claude and I are figuring this out.

00:07:46.380 --> 00:07:49.420
<v Calvin Hendryx-Parker>That's a perfect kind of tedium for these models.

00:07:50.060 --> 00:07:50.900
<v Michael Kennedy>Yeah, it was so good.

00:07:50.960 --> 00:07:51.480
<v Michael Kennedy>It was so good.

00:07:51.520 --> 00:07:55.260
<v Michael Kennedy>It will even open up the simulator and automate it to track down the issues and so on.

00:07:55.540 --> 00:08:03.940
<v Michael Kennedy>So there's a lot more than I'm reading here, but it tells you what you worked on, how you used Claude Code, impressive things, what went wrong on the horizon, all these things.

00:08:04.120 --> 00:08:09.720
<v Michael Kennedy>So it tells you here's all your projects, and this is certainly where you want to be a little less detailed.

00:08:10.140 --> 00:08:13.160
<v Michael Kennedy>But it talks about how I worked on Python Bytes and Talk Python Web Platform.

00:08:13.420 --> 00:08:14.260
<v Michael Kennedy>And what did I do?

00:08:14.700 --> 00:08:15.060
<v Michael Kennedy>I don't know.

00:08:15.120 --> 00:08:16.920
<v Michael Kennedy>I worked on some admin backend stuff.

00:08:17.160 --> 00:08:20.760
<v Michael Kennedy>There's a really neat admin section that no one is going to ever see.

00:08:21.120 --> 00:08:22.340
<v Michael Kennedy>A few people will ever see.

00:08:22.540 --> 00:08:22.720
<v Calvin Hendryx-Parker>Yeah.

00:08:23.640 --> 00:08:26.360
<v Michael Kennedy>Because, you know, it's private to make the whole thing go.

00:08:26.740 --> 00:08:29.620
<v Michael Kennedy>Some DevOps seeing the Sentry thing coming back again.

00:08:29.740 --> 00:08:31.960
<v Michael Kennedy>But it gives you also like really nice graphs.

00:08:32.140 --> 00:08:32.320
<v Michael Kennedy>Too neat.

00:08:32.760 --> 00:08:33.320
<v Michael Kennedy>What you wanted.

00:08:33.719 --> 00:08:35.900
<v Calvin Hendryx-Parker>Feature implementations, bug fixes, UI styling.

00:08:36.219 --> 00:08:39.380
<v Michael Kennedy>And apparently I wanted features most and then bug fixing.

00:08:39.839 --> 00:08:40.460
<v Michael Kennedy>That's good.

00:08:40.700 --> 00:08:45.600
<v Michael Kennedy>The languages that I interacted with through Claude, the type of sessions, the tools.

00:08:46.140 --> 00:08:47.580
<v Michael Kennedy>I use 2,680.

00:08:48.300 --> 00:08:49.520
<v Calvin Hendryx-Parker>That's a jump on mine too.

00:08:50.620 --> 00:08:50.860
<v Michael Kennedy>Nice.

00:08:51.060 --> 00:08:51.160
<v Michael Kennedy>Awesome.

00:08:51.600 --> 00:08:51.760
<v Michael Kennedy>Yeah.

00:08:51.880 --> 00:08:57.260
<v Michael Kennedy>And then, yeah, it goes and talks about how you operate like this techno and such and such and such and so on.

00:08:57.520 --> 00:08:58.220
<v Calvin Hendryx-Parker>I think this is great.

00:08:58.800 --> 00:09:03.740
<v Calvin Hendryx-Parker>I mean, if you're a heavy Claude Code user, does it also track the co-work sessions or is it only Claude Code?

00:09:04.020 --> 00:09:06.600
<v Michael Kennedy>I think it's only Claude Code.

00:09:06.720 --> 00:09:09.400
<v Michael Kennedy>It depends if it stores it as a session.

00:09:09.860 --> 00:09:10.440
<v Calvin Hendryx-Parker>I think it does.

00:09:10.560 --> 00:09:15.040
<v Calvin Hendryx-Parker>Well, at least I know the agency picks up co-work and Claude Code sessions.

00:09:15.340 --> 00:09:20.580
<v Michael Kennedy>I would imagine it would because it just, all this thing does is it just reads and analyzes your session folder.

00:09:20.920 --> 00:09:21.040
<v Michael Kennedy>Right.

00:09:22.100 --> 00:09:28.040
<v Michael Kennedy>The types of errors that were encountered, stuff that works, but also stuff that went wrong.

00:09:28.240 --> 00:09:37.880
<v Michael Kennedy>So here's where it gets to be like, you can actually make buggy intermediate code or self-inflicted tool collisions, claiming correctness when it shouldn't have wrong, wrong target.

00:09:38.300 --> 00:09:39.940
<v Michael Kennedy>And then here's the last thing I'm going to talk about.

00:09:40.140 --> 00:09:40.920
<v Michael Kennedy>And you guys can check.

00:09:41.380 --> 00:09:42.480
<v Calvin Hendryx-Parker>That's exactly what I was going to ask about.

00:09:43.360 --> 00:09:44.180
<v Calvin Hendryx-Parker>It looks like it's right here.

00:09:44.900 --> 00:09:45.060
<v Michael Kennedy>Yeah.

00:09:45.140 --> 00:09:48.480
<v Michael Kennedy>Here's at the bottom, it says existing Claude Code features to try.

00:09:48.980 --> 00:09:50.400
<v Michael Kennedy>And you can just say copy all.

00:09:50.870 --> 00:09:54.980
<v Calvin Hendryx-Parker>And it literally says paste this into your cloud to empty.

00:09:55.290 --> 00:09:58.480
<v Michael Kennedy>And you could just check and uncheck whichever you want and copy and paste.

00:09:58.800 --> 00:10:09.460
<v Michael Kennedy>So it says just give you little things that you can record for Claude Code that will make it better based on its sort of, it's like a profiler guided optimization sort of thing.

00:10:10.020 --> 00:10:13.180
<v Michael Kennedy>But for AI, it says verification before claiming done.

00:10:13.560 --> 00:10:14.900
<v Michael Kennedy>This sounds like a superpower sort of thing.

00:10:15.600 --> 00:10:28.200
<v Michael Kennedy>never claim a layout UI change is correct based on reading code take a headless screenshot with Playwright and browser tooling inspect it before you bother the person and tell them it's done because they often have to give you screenshots back and say actually it's not done

00:10:28.540 --> 00:10:42.339
<v Michael Kennedy>editing rules, sentry triage, workflows and then finally, this is a cool part too, is custom skills why don't you copy this and it'll tell you you like this sentry triage thing? Copy this, paste it in there

00:10:42.300 --> 00:10:46.340
<v Michael Kennedy>and Claude will create a skill, which then you can just say slash sentry triage.

00:10:46.700 --> 00:10:49.880
<v Michael Kennedy>And hooks you can put in, all kinds of stuff, new ways to use it.

00:10:49.980 --> 00:10:53.460
<v Michael Kennedy>Like there is a ton of stuff in here that is proactive, right?

00:10:53.660 --> 00:10:58.020
<v Michael Kennedy>And then it gives you a little, I don't know if it's inspirational or whatever, but just like a call, a pull quote.

00:11:02.220 --> 00:11:03.480
<v Michael Kennedy>So what do you think of this, Calvin?

00:11:04.220 --> 00:11:04.820
<v Calvin Hendryx-Parker>It's pretty cool.

00:11:05.040 --> 00:11:07.180
<v Calvin Hendryx-Parker>I think more folks should be using these kinds of tools.

00:11:07.360 --> 00:11:11.860
<v Calvin Hendryx-Parker>Like if you are a Claude code junkie, like this is perfect for improving your game.

00:11:12.480 --> 00:11:18.980
<v Calvin Hendryx-Parker>It's a feedback loop right into the human side of things that you get to now feed back into the Claude side of things to improve your experience.

00:11:20.280 --> 00:11:27.840
<v Calvin Hendryx-Parker>To me, folks are probably still just trying to one-shot a thing without enough guidance to the agents, ending up in kind of weird spots.

00:11:28.260 --> 00:11:30.440
<v Calvin Hendryx-Parker>It's all about honing and shaping your experience.

00:11:30.920 --> 00:11:36.040
<v Calvin Hendryx-Parker>Like those Claude MD additions, very specific to you, like the kinds of work you're doing.

00:11:36.060 --> 00:11:38.880
<v Calvin Hendryx-Parker>You don't want to overload that file with too much stuff.

00:11:38.980 --> 00:11:42.640
<v Calvin Hendryx-Parker>you want it to be very specific to the kind of workloads you're doing. So I love it.

00:11:43.859 --> 00:11:46.980
<v Calvin Hendryx-Parker>Guide people to the right place. That's right. It also

00:11:47.120 --> 00:12:01.040
<v Michael Kennedy>talks a lot about your AI engineering style, if such a thing exists. You work in phases instead of just one shot. Plans, phases at a time, verification gates, adversarial sub-agents, and all these kinds

00:12:01.040 --> 00:12:06.959
<v Michael Kennedy>of things that you might use or don't use, but probably should be. So I think it's...

00:12:06.980 --> 00:12:09.640
<v Michael Kennedy>It has a section called Impressive Things You Did.

00:12:09.820 --> 00:12:11.400
<v Calvin Hendryx-Parker>So, you know, give yourself a little warning.

00:12:11.480 --> 00:12:14.180
<v Calvin Hendryx-Parker>Yeah, a little pat on the back, feel pretty good about yourself there.

00:12:15.600 --> 00:12:16.460
<v Michael Kennedy>Absolutely, absolutely.

00:12:17.120 --> 00:12:17.620
<v Calvin Hendryx-Parker>Very cool.

00:12:17.920 --> 00:12:19.040
<v Calvin Hendryx-Parker>Well, you know what else we can feel good about?

00:12:19.400 --> 00:12:19.840
<v Calvin Hendryx-Parker>What's that?

00:12:20.060 --> 00:12:24.060
<v Calvin Hendryx-Parker>We now have post-quantum cryptography in Python.

00:12:24.500 --> 00:12:30.980
<v Calvin Hendryx-Parker>So Python cryptography in version 48, which actually was back in May, but I don't believe we ever reported on this.

00:12:31.360 --> 00:12:37.040
<v Calvin Hendryx-Parker>but it is shipping two variants of some post-quantum standard enablements.

00:12:37.220 --> 00:12:41.060
<v Calvin Hendryx-Parker>So we've got MLKEM, which is key encapsulation.

00:12:41.460 --> 00:12:45.120
<v Calvin Hendryx-Parker>So basically the way we do it now with Diffie-Hellman, it's a key exchange.

00:12:45.520 --> 00:12:47.300
<v Calvin Hendryx-Parker>We share bits and pieces and parts.

00:12:47.920 --> 00:12:50.740
<v Calvin Hendryx-Parker>Key encapsulation actually shares the whole key at once.

00:12:51.120 --> 00:12:52.740
<v Calvin Hendryx-Parker>So it's a different form of doing this.

00:12:52.990 --> 00:12:55.580
<v Calvin Hendryx-Parker>And then MLDSA, which is the signatures.

00:12:56.400 --> 00:12:59.260
<v Calvin Hendryx-Parker>These are all, again, part of the NIST post-quantum standards.

00:13:00.060 --> 00:13:01.100
<v Calvin Hendryx-Parker>Why is this a big deal?

00:13:01.260 --> 00:13:01.900
<v Calvin Hendryx-Parker>Why do we care?

00:13:02.490 --> 00:13:17.140
<v Calvin Hendryx-Parker>This all tracks back to a executive order from our White House, the June 22nd executive order setting the federal deadlines for post-quantum key establishment by the end of 2030 and post-quantum signatures by the end of 2031.

00:13:18.120 --> 00:13:23.320
<v Calvin Hendryx-Parker>Trail of Bits here did a great write-up on what it's all about, what you're getting for it.

00:13:23.720 --> 00:13:32.320
<v Calvin Hendryx-Parker>There's actually an interesting article if you go read here from 2024 about quantum resistance isn't the main benefit of post-quantum code.

00:13:32.460 --> 00:13:37.160
<v Calvin Hendryx-Parker>There's actually some benefit to the new algorithms that were developed as part of this.

00:13:37.540 --> 00:13:41.740
<v Calvin Hendryx-Parker>It doesn't come without some difficulties or drop-in.

00:13:41.780 --> 00:13:43.160
<v Calvin Hendryx-Parker>It's not a drop-in swap.

00:13:43.480 --> 00:13:56.160
<v Calvin Hendryx-Parker>If you're using the standard ED25519 or the standard Diffie-Hellman key exchange pieces, some of them work alike, some of them don't.

00:13:56.460 --> 00:14:09.740
<v Calvin Hendryx-Parker>For example, the key signatures or the encapsulate versus decapsulate piece rather than the key exchange isn't the same, but they're going to be putting in the SLHDSA, all these acronyms that your mind can kind of like

00:14:10.460 --> 00:14:24.799
<v Calvin Hendryx-Parker>explode on. But the wire sizes on the wire size of the signatures and key encapsulations are much, much bigger. So for example, if you're using the ED25519, that's 64 bytes on the wire for the

00:14:24.940 --> 00:14:34.980
<v Calvin Hendryx-Parker>the key exchange versus 3,309 for the MLDSA signatures. So it's probably negligible even

00:14:35.300 --> 00:14:46.120
<v Calvin Hendryx-Parker>today on our current hardware. Hardware from a few years back would have been having noticeable time processing these signatures. New hardware should see even less of this being an impact on performance.

00:14:46.380 --> 00:14:57.740
<v Calvin Hendryx-Parker>So there's more of a processing performance impact to swapping over to these new post-quantum signatures and the key exchanges. But it's also a big deal because, let me go over here into

00:14:58.240 --> 00:15:11.100
<v Calvin Hendryx-Parker>showing you the PyPI downloads. Cryptography is number 10 in the past day, number 10 in the past week, number 10 in the past month. So since this is downloaded very, very often, we're on version

00:15:11.500 --> 00:15:26.100
<v Calvin Hendryx-Parker>50 now, people have the capability to upgrade their use of this encryption to that post-quantum capable world. Why do you care? Basically, there are malicious actors out there that are

00:15:26.980 --> 00:15:31.940
<v Calvin Hendryx-Parker>hoarding currently encrypted data, waiting for a time when these quantum computers become a reality.

00:15:32.640 --> 00:15:46.859
<v Calvin Hendryx-Parker>It's still an if. We don't know that to be for certain that they'll ever reach a capability to be able to decrypt these things. But quantum would unlock the ability to decrypt all the traffic that has been basically passed across the wire. Most traffic has been passed across the wires since

00:15:46.880 --> 00:15:56.520
<v Calvin Hendryx-Parker>the internet and networks were a thing anytime it was encrypted. I can tell you a lot of places are already using the post-quantum encryption internally. For example, I know Amazon has

00:15:56.520 --> 00:16:08.980
<v Calvin Hendryx-Parker>been a big backer of some of the post-quantum enhancements to requests in the HTTP libraries so that all their internal operations behind the scenes in AWS Cloud are using post-quantum

00:16:09.320 --> 00:16:24.060
<v Calvin Hendryx-Parker>encryption. This means that if someone does hoard or stockpile your data that has been used with these post-quantum tools that they shouldn't or they'll have a much greater difficulty actually decrypting that data so it's important here to know that you should be on board with uh you know

00:16:24.160 --> 00:16:38.260
<v Calvin Hendryx-Parker>maybe not this week but maybe in the future very soon using these new versions of these key exchanges and signatures so that you'll be ready for the post-quantum world i guess the protocols haven't caught up yet but usually you know you're not going to be running a post-quantum cert bot

00:16:38.460 --> 00:16:49.580
<v Calvin Hendryx-Parker>this week but it'll be coming very very soon and everyone basically has it in their hands that's pretty wild yeah it feels like the future but i know if you look i mean the pi pi pi boy people

00:16:49.580 --> 00:16:55.980
<v Michael Kennedy>are going to get on me about saying pi pi um it's pi pi and the downloads for i think it's worth a

00:16:56.220 --> 00:17:10.079
<v Michael Kennedy>sidebar here uh is it when i first started doing podcasts talk python and python by yeah especially talk python people will come on and they would say pi pi frequently and obviously there's the

00:17:10.480 --> 00:17:12.620
<v Michael Kennedy>And that's a fair pronunciation of it.

00:17:12.689 --> 00:17:17.480
<v Michael Kennedy>But there's also PYPY, which is the runtime, which is the JIT version.

00:17:18.040 --> 00:17:21.180
<v Michael Kennedy>And there's all this – it was pretty evenly split.

00:17:21.270 --> 00:17:23.339
<v Michael Kennedy>And I'm like, you know, this is – I need to know.

00:17:24.069 --> 00:17:31.700
<v Michael Kennedy>You know, inquiring minds, as they say, from the checkout line investigators, I guess.

00:17:32.070 --> 00:17:32.980
<v Michael Kennedy>Yeah, exactly.

00:17:34.700 --> 00:17:40.040
<v Michael Kennedy>So I asked a lot of the folks that work at PyPI, how do you pronounce this?

00:17:40.340 --> 00:17:41.600
<v Michael Kennedy>Like, you guys made it.

00:17:41.900 --> 00:17:42.900
<v Michael Kennedy>You can kind of pick the name.

00:17:42.980 --> 00:17:44.200
<v Michael Kennedy>Like, what would you say, right?

00:17:45.120 --> 00:17:48.360
<v Michael Kennedy>And Donald stuffed and some of the other folks are like, PyPI.

00:17:48.780 --> 00:17:50.620
<v Michael Kennedy>And I asked Guido and he said, PyPI.

00:17:50.680 --> 00:17:51.120
<v Michael Kennedy>I'm like, all right.

00:17:52.240 --> 00:17:53.540
<v Calvin Hendryx-Parker>They have it in their FAQ.

00:17:53.800 --> 00:17:55.880
<v Calvin Hendryx-Parker>It's been pointed to me by some of our listeners.

00:17:56.700 --> 00:17:59.380
<v Calvin Hendryx-Parker>That is the official designation.

00:18:01.060 --> 00:18:02.220
<v Calvin Hendryx-Parker>Maybe it's just generational.

00:18:02.280 --> 00:18:06.420
<v Calvin Hendryx-Parker>I mean, when you and I were growing up, it was called the cheese shop at the time.

00:18:06.620 --> 00:18:08.840
<v Calvin Hendryx-Parker>So sorry for the PyPI diversion.

00:18:09.780 --> 00:18:13.140
<v Calvin Hendryx-Parker>I'm working hard to break some pronunciation habits.

00:18:13.720 --> 00:18:14.300
<v Calvin Hendryx-Parker>And that's one of them.

00:18:14.580 --> 00:18:15.460
<v Michael Kennedy>No, it's amazing.

00:18:15.640 --> 00:18:15.840
<v Michael Kennedy>Keep going.

00:18:16.480 --> 00:18:18.720
<v Michael Kennedy>I thought a little bit of history might be fun for people.

00:18:18.900 --> 00:18:19.680
<v Calvin Hendryx-Parker>It is a little fun.

00:18:19.760 --> 00:18:20.940
<v Calvin Hendryx-Parker>It is fun, but it is PyPI.

00:18:21.620 --> 00:18:22.840
<v Calvin Hendryx-Parker>But cryptography, you can see here.

00:18:22.900 --> 00:18:24.140
<v Calvin Hendryx-Parker>I mean, this is incredible.

00:18:24.460 --> 00:18:33.420
<v Calvin Hendryx-Parker>The fact that this work got sponsored, got implemented, and now is immediately in the hands that everyone needed to be able to do the right thing.

00:18:33.820 --> 00:18:35.600
<v Calvin Hendryx-Parker>This sets us up in a really, really good spot.

00:18:37.120 --> 00:18:41.700
<v Calvin Hendryx-Parker>Yeah, again, this was funded by the Sovereign Tech Agency, and I had to go look up who that was.

00:18:41.920 --> 00:18:48.240
<v Calvin Hendryx-Parker>So if you check that out, basically, it's a German industry or agency that put forth the money to make sure this all happens.

00:18:48.700 --> 00:18:51.580
<v Calvin Hendryx-Parker>And as they say here, the engine room for digital sovereignty.

00:18:51.980 --> 00:19:02.120
<v Calvin Hendryx-Parker>And so I thought it was cool to give them a shout out for sponsoring it and then for Trail of Bits doing the work, putting in place the Rust bindings, the cross backend APIs, like all the tests, everything is in there.

00:19:02.480 --> 00:19:08.040
<v Calvin Hendryx-Parker>So I think it's a huge win for the Python community that we are ready to go for this post-quantum world.

00:19:08.300 --> 00:19:09.660
<v Michael Kennedy>I do too. I think it's totally neat.

00:19:09.760 --> 00:19:24.580
<v Michael Kennedy>Also, I think it's neat that it was put into cryptography, as you pointed out, the 10th most popular downloaded API thing, rather than here's a Python-quantum-crypto whatever, right, that nobody uses.

00:19:25.040 --> 00:19:34.000
<v Michael Kennedy>Because I think a lot of people don't realize how significant the default transitive dependency thing is, right?

00:19:34.180 --> 00:19:39.580
<v Michael Kennedy>Like we would all like to switch from this, but seven of the 10 dependencies I have all depend on that.

00:19:40.050 --> 00:19:43.880
<v Michael Kennedy>And I've just got to take that because that's what they use, not what, you know what I mean?

00:19:43.890 --> 00:19:46.680
<v Michael Kennedy>And so I think this will just like come along to a lot of projects.

00:19:47.020 --> 00:19:48.060
<v Calvin Hendryx-Parker>Yeah, this is a real good model.

00:19:48.280 --> 00:19:55.420
<v Calvin Hendryx-Parker>I also love the fact that it shows that community bridging with the Rust community on it as well.

00:19:55.860 --> 00:19:58.040
<v Calvin Hendryx-Parker>And so Python has really great support for bringing in.

00:19:58.280 --> 00:20:01.860
<v Calvin Hendryx-Parker>It used to be we were using C extensions for things that required performance like this.

00:20:01.980 --> 00:20:04.540
<v Calvin Hendryx-Parker>And now we've really got a native way to use Rust.

00:20:04.840 --> 00:20:05.860
<v Calvin Hendryx-Parker>It's been in a while.

00:20:06.260 --> 00:20:07.440
<v Calvin Hendryx-Parker>This is a great example of that.

00:20:07.640 --> 00:20:08.600
<v Calvin Hendryx-Parker>Yeah, it definitely is.

00:20:08.700 --> 00:20:09.220
<v Calvin Hendryx-Parker>That's super cool.

00:20:09.480 --> 00:20:09.700
<v Calvin Hendryx-Parker>All right.

00:20:10.020 --> 00:20:11.460
<v Calvin Hendryx-Parker>Well, Michael, let's move on.

00:20:11.500 --> 00:20:12.920
<v Calvin Hendryx-Parker>We got a sponsor segment.

00:20:13.300 --> 00:20:15.200
<v Michael Kennedy>We do have a sponsor segment.

00:20:15.480 --> 00:20:19.660
<v Michael Kennedy>So let me quickly tell everyone about XWeather from Vysala.

00:20:20.040 --> 00:20:22.680
<v Michael Kennedy>And so they're supporting the show last week and this week.

00:20:22.900 --> 00:20:24.500
<v Michael Kennedy>And they've got a really cool project.

00:20:24.840 --> 00:20:36.720
<v Michael Kennedy>So if you're using agents that can write code, summarize documents, automate workflows, but they don't know about the weather, awareness of the world around them, well, you should check out XWeather, all one word.

00:20:37.060 --> 00:20:39.380
<v Michael Kennedy>This is where today's sponsored XWeather comes in.

00:20:39.700 --> 00:20:50.120
<v Michael Kennedy>It combines enterprise-grade weather intelligence with agent-ready APIs, natural language capabilities, and an MCP server built for tools like Cloud, Codex, Copilot, and Modern IDs.

00:20:50.720 --> 00:20:57.060
<v Michael Kennedy>So your agents can adopt workflows, automate responses, and make better decisions based on real-world conditions.

00:20:57.560 --> 00:21:01.840
<v Michael Kennedy>Backed by Vaisala, whose instruments fly on NASA missions to Mars.

00:21:02.340 --> 00:21:02.960
<v Michael Kennedy>That's super cool.

00:21:03.200 --> 00:21:04.480
<v Michael Kennedy>Talk about the weather there.

00:21:05.080 --> 00:21:08.060
<v Michael Kennedy>Our weather API works on multiple planets.

00:21:08.240 --> 00:21:08.620
<v Michael Kennedy>That's pretty awesome.

00:21:09.460 --> 00:21:17.940
<v Michael Kennedy>So they deliver trusted data and unique insights that go beyond conditions to actual impact, like real-time lightning strikes, road service forecasts, and so on.

00:21:18.300 --> 00:21:23.420
<v Michael Kennedy>So start with 15,000 free API calls a month and pay only for what you use as you grow.

00:21:23.780 --> 00:21:26.820
<v Michael Kennedy>Xweather is a full weather stack for developers by developers.

00:21:26.970 --> 00:21:31.280
<v Michael Kennedy>So start building for free today at pythonbytes.fm/xweather.

00:21:31.640 --> 00:21:34.220
<v Michael Kennedy>The link is your podcast player show notes and on the episode page.

00:21:34.460 --> 00:21:37.020
<v Michael Kennedy>Thank you so much to xweather for supporting Python Bytes.

00:21:37.130 --> 00:21:37.980
<v Michael Kennedy>We really appreciate it.

00:21:38.120 --> 00:21:41.280
<v Calvin Hendryx-Parker>Yeah, it's amazing how much weather, how weather can impact all of our lives.

00:21:41.540 --> 00:21:46.160
<v Calvin Hendryx-Parker>So having a tool like this to be able to check in and get high quality weather results.

00:21:46.680 --> 00:21:47.240
<v Calvin Hendryx-Parker>I love it.

00:21:47.430 --> 00:21:47.760
<v Calvin Hendryx-Parker>Super awesome.

00:21:48.220 --> 00:21:49.280
<v Michael Kennedy>Yeah, yeah. Very cool. Very cool.

00:21:49.500 --> 00:21:50.720
<v Calvin Hendryx-Parker>Well, thanks to them for sponsoring.

00:21:51.180 --> 00:21:54.100
<v Calvin Hendryx-Parker>And up next, we got some MCP news.

00:21:54.520 --> 00:21:57.440
<v Calvin Hendryx-Parker>So the model context protocol has gone stateless.

00:21:58.380 --> 00:22:04.380
<v Calvin Hendryx-Parker>The folks over here at RealPython, thanks to Philip for giving a good roundup on the news around this.

00:22:04.720 --> 00:22:14.980
<v Calvin Hendryx-Parker>But not only has the MCP spec gone stateless, so if you check out the 2026.07.28 spec, it landed last month.

00:22:15.400 --> 00:22:18.160
<v Calvin Hendryx-Parker>And the Python SDK also shipped a v2.

00:22:18.740 --> 00:22:21.240
<v Calvin Hendryx-Parker>That is the biggest rewrite since MCP launched.

00:22:21.580 --> 00:22:27.800
<v Calvin Hendryx-Parker>And there's a big breaking or not a breaking change, but a forward moving change here, which is that going stateless.

00:22:28.180 --> 00:22:37.360
<v Calvin Hendryx-Parker>Prior to this new version of the MCP spec, you would establish a session with your MCP servers from your clients and hold that session open kind of like WebSockets.

00:22:37.620 --> 00:22:40.560
<v Calvin Hendryx-Parker>But that can be it has obviously troubles with scaling.

00:22:40.960 --> 00:22:49.100
<v Calvin Hendryx-Parker>If you are trying to hold a big session open and have many, many clients, you're going to need a lot of resources to be able to handle a ton of clients against your MCP server.

00:22:49.580 --> 00:22:56.360
<v Calvin Hendryx-Parker>The stateless version of this is we now can basically send over enough context information to headers.

00:22:56.640 --> 00:23:01.300
<v Calvin Hendryx-Parker>There's a new initialize and initialized handshake and the MCP session ID headers.

00:23:02.560 --> 00:23:05.080
<v Calvin Hendryx-Parker>The MCP session ID header has been retired.

00:23:05.600 --> 00:23:19.800
<v Calvin Hendryx-Parker>And now you basically make those requests and you can optionally do what's called the round trip, multi-round trip request to the MCP server if you need to pass in more context or additional information.

00:23:20.260 --> 00:23:23.360
<v Calvin Hendryx-Parker>So this was a big deal for the MCP world.

00:23:23.780 --> 00:23:29.180
<v Calvin Hendryx-Parker>Luckily, the MCP servers are backward compatible to the 1.0 version of this.

00:23:29.620 --> 00:23:34.800
<v Calvin Hendryx-Parker>So for us as Python users, this is actually more important because we get the Python SDK 2.0.

00:23:35.360 --> 00:23:39.140
<v Calvin Hendryx-Parker>Biggest change here, some folks may recognize it as Fast MCP.

00:23:39.450 --> 00:23:41.300
<v Calvin Hendryx-Parker>It is now just called MCP Server.

00:23:42.000 --> 00:23:44.960
<v Calvin Hendryx-Parker>There's no deprecation or backward compatibility piece of that.

00:23:45.010 --> 00:23:51.980
<v Calvin Hendryx-Parker>So if you are writing an MCP server based on Fast MCP, you're going to need to go basically fix that code before you release your new versions.

00:23:52.030 --> 00:23:57.920
<v Calvin Hendryx-Parker>If you want to use the Python SDK version 2.0, lots of cool changes or fixes in there.

00:23:58.420 --> 00:24:06.620
<v Calvin Hendryx-Parker>Another big piece of the new spec, if you haven't used it, which is there's tasks that were experimental and apps that were experimental.

00:24:06.940 --> 00:24:17.180
<v Calvin Hendryx-Parker>And if you've not used apps, it's kind of neat because it allows apps to send back an HTML interactive sandboxed mini application as part of the MCP specification.

00:24:17.880 --> 00:24:18.680
<v Calvin Hendryx-Parker>Again, it was experimental.

00:24:18.720 --> 00:24:20.020
<v Calvin Hendryx-Parker>We didn't know where that would land.

00:24:20.360 --> 00:24:22.160
<v Calvin Hendryx-Parker>That has been picked up and officially put into the spec.

00:24:22.520 --> 00:24:26.560
<v Calvin Hendryx-Parker>The SDK 2.0 doesn't have that included just yet, but it's coming.

00:24:26.880 --> 00:24:39.340
<v Calvin Hendryx-Parker>So if you want to be able to use those sandbox interactive HTML pieces, that is going to be really nice because you basically, if you ever had an MCP server for the weather, for example, that it could actually return UI to the end user of that MCP service.

00:24:39.470 --> 00:24:49.060
<v Calvin Hendryx-Parker>If you were using it in Cowork or Claude through the web API or web version of this, you can now get rich interactives as part of the new spec.

00:24:50.060 --> 00:24:52.400
<v Calvin Hendryx-Parker>Pretty cool because basically, yeah, we're good to go.

00:24:52.800 --> 00:24:56.600
<v Calvin Hendryx-Parker>If you're only calling MCP servers, this really doesn't matter mostly to you.

00:24:56.600 --> 00:24:57.580
<v Calvin Hendryx-Parker>You get the benefits for free.

00:24:57.980 --> 00:25:01.880
<v Calvin Hendryx-Parker>If you're shipping MCP servers, you know what your week's going to look like.

00:25:01.890 --> 00:25:08.760
<v Calvin Hendryx-Parker>You're going to be doing some subtle code changes and upgrades to get the latest versions of the SDK in place for you.

00:25:09.260 --> 00:25:09.480
<v Calvin Hendryx-Parker>I don't know.

00:25:09.630 --> 00:25:10.040
<v Calvin Hendryx-Parker>Have you written?

00:25:10.520 --> 00:25:12.700
<v Calvin Hendryx-Parker>Actually, Michael, you've written quite a few MCP servers.

00:25:12.980 --> 00:25:13.400
<v Calvin Hendryx-Parker>I have.

00:25:13.920 --> 00:25:16.860
<v Michael Kennedy>You're rocking my world here, Calvin.

00:25:18.700 --> 00:25:22.140
<v Michael Kennedy>So it sounds to me, let me lay this back and you tell me if this is correct.

00:25:22.340 --> 00:25:23.780
<v Michael Kennedy>I'll do this on behalf of the listeners as well.

00:25:23.900 --> 00:25:28.900
<v Michael Kennedy>So for those who don't know, MCP is not just a library or something like that.

00:25:29.060 --> 00:25:37.360
<v Michael Kennedy>It's a standard or a protocol come up with by Anthropic and adopted by, as you've heard from our sponsor, and you're going to hear again in just a minute.

00:25:37.360 --> 00:25:37.540
<v Calvin Hendryx-Parker>Pretty much everybody.

00:25:38.200 --> 00:25:43.160
<v Michael Kennedy>Pretty much everybody who cares about being friendly with having agents like Sentry, for example.

00:25:43.600 --> 00:25:49.360
<v Michael Kennedy>So they've changed the specification and then Fast MCP has said, we're on it.

00:25:49.720 --> 00:25:51.880
<v Michael Kennedy>And they adapted that to actually adopt.

00:25:52.100 --> 00:26:03.940
<v Calvin Hendryx-Parker>Yes. Okay. Yep. Yep. So if you go over here to the latest release, you will see that two weeks ago, we had the version two release to get you off of fast MCP into just MCP and MCP server. There's

00:26:04.080 --> 00:26:16.600
<v Calvin Hendryx-Parker>more types. The one client object replaces the old transport plus client session plus initialized stack. They also upgraded from HTTPX to HTTPX2. So you get a lot of benefits there and performance.

00:26:17.210 --> 00:26:25.560
<v Calvin Hendryx-Parker>I mean, this is all about performance and scaling. If we want to be able to scale the usage of these kinds of services. That's why HTTP has scaled so well for all of us because it's been stateless.

00:26:25.960 --> 00:26:30.060
<v Calvin Hendryx-Parker>It didn't require a lot of server resources. This gets us back into that scaling world for

00:26:30.320 --> 00:26:41.260
<v Michael Kennedy>MCP style calls. Yeah, it opens up possible deploying models that are really tough. Like can you do web sockets to Lambda? It's not so easy, maybe with a proxy or something.

00:26:41.590 --> 00:26:53.480
<v Calvin Hendryx-Parker>Yeah, actually there's a little diagram in here kind of shows you the before and after. Before as the session was established.

00:26:54.000 --> 00:26:58.700
<v Calvin Hendryx-Parker>Here now they can just go to any number of session or any number of handlers that would be on the backend.

00:26:59.160 --> 00:27:07.560
<v Calvin Hendryx-Parker>So now you can set up a nice cluster with a much dumber load balancer, a less smart load balancer in front that can just route traffic.

00:27:08.020 --> 00:27:14.060
<v Calvin Hendryx-Parker>And again, those session pieces all stack on each other from a performance standpoint.

00:27:14.740 --> 00:27:18.120
<v Calvin Hendryx-Parker>So freeing up to be stateless is a huge impact on performance.

00:27:18.640 --> 00:27:19.880
<v Michael Kennedy>Yeah, very neat, very neat.

00:27:20.020 --> 00:27:20.620
<v Michael Kennedy>I'm excited for it.

00:27:20.840 --> 00:27:25.500
<v Calvin Hendryx-Parker>Yeah, yeah. I'm looking forward to leveraging this and writing some more clients that go stateless.

00:27:25.600 --> 00:27:31.200
<v Calvin Hendryx-Parker>So if you're using this in your production agentic workflows, this actually keeps MCP very viable.

00:27:31.660 --> 00:27:34.200
<v Michael Kennedy>Yeah, very cool. It definitely does make it easier to work with.

00:27:34.580 --> 00:27:40.320
<v Michael Kennedy>Yeah, you can even with the 1.0, you can disable streaming, but it's not quite as good.

00:27:40.580 --> 00:27:42.300
<v Michael Kennedy>So this kind of formalizes that.

00:27:42.600 --> 00:27:45.800
<v Calvin Hendryx-Parker>Yeah, yeah. So that's the exciting news in the MCP world.

00:27:46.200 --> 00:27:50.540
<v Calvin Hendryx-Parker>I want to thank again the RealPython folks for giving us that bit of news.

00:27:52.000 --> 00:27:56.820
<v Calvin Hendryx-Parker>actually let's head on to yours Michael you got some more developer tool here it looks like

00:27:56.820 --> 00:28:11.220
<v Michael Kennedy>I don't know I feel like somehow I got a hold of this and this should be all it should be all you so again a little history a lot of people call what happens when you type something and then you hit dot and like a list of options come up call that autocomplete

00:28:12.019 --> 00:28:19.400
<v Michael Kennedy>in Microsoft developer land this is called IntelliSense as in intelligence sensing I don't know it's been around forever

00:28:19.580 --> 00:28:25.040
<v Calvin Hendryx-Parker>I was never a Visual Studio user, so I never used IntelliSense proper.

00:28:25.220 --> 00:28:31.260
<v Michael Kennedy>Yes, and if you lived in the Visual Studio world, we're not talking Visual Studio code, we're talking Visual Studio.

00:28:31.420 --> 00:28:38.060
<v Michael Kennedy>So this comes, I believe, first time I ever experienced it when I was using Visual C++ in the late 90s.

00:28:38.400 --> 00:28:39.980
<v Michael Kennedy>And that was called IntelliSense then.

00:28:40.120 --> 00:28:47.640
<v Michael Kennedy>And obviously around 2000, early, just before then, when Visual Studio for.NET and all that came out, obviously IntelliSense.

00:28:47.980 --> 00:28:50.820
<v Michael Kennedy>So the Microsoft story of autocomplete is IntelliSense, okay?

00:28:51.040 --> 00:28:52.040
<v Michael Kennedy>That's all you got to know.

00:28:52.320 --> 00:28:56.800
<v Michael Kennedy>So I introduced to you a new project from Microsoft, which I can get behind.

00:28:57.200 --> 00:28:58.360
<v Michael Kennedy>It is open source.

00:28:58.860 --> 00:28:59.620
<v Michael Kennedy>It is MIT.

00:29:00.220 --> 00:29:02.180
<v Michael Kennedy>It is called InShellisense.

00:29:03.039 --> 00:29:03.440
<v Calvin Hendryx-Parker>Okay.

00:29:03.800 --> 00:29:04.360
<v Michael Kennedy>You've got me.

00:29:04.400 --> 00:29:04.660
<v Michael Kennedy>InShellisense.

00:29:04.820 --> 00:29:06.000
<v Michael Kennedy>I like the pun.

00:29:06.400 --> 00:29:06.600
<v Michael Kennedy>Yeah.

00:29:06.700 --> 00:29:08.300
<v Michael Kennedy>And see, this is why you got to have the history.

00:29:08.820 --> 00:29:18.760
<v Michael Kennedy>So in Shell Asense, it lets you come along and turn 600 plus command line tools to have autocomplete or IntelliSense here.

00:29:19.060 --> 00:29:22.180
<v Calvin Hendryx-Parker>I like the little ASCII demo there going on.

00:29:22.540 --> 00:29:23.360
<v Michael Kennedy>Yeah, if I can.

00:29:24.440 --> 00:29:26.860
<v Michael Kennedy>So you can come along here and just type.

00:29:27.480 --> 00:29:28.760
<v Michael Kennedy>Come on, let's reset here.

00:29:28.980 --> 00:29:29.280
<v Michael Kennedy>Let's go.

00:29:29.520 --> 00:29:36.400
<v Michael Kennedy>And then as you type, it gives you a dropdown widget sort of experience that is quite good.

00:29:36.500 --> 00:29:39.720
<v Michael Kennedy>So what they are demonstrating on the GitHub repo, it has to do with Git.

00:29:40.280 --> 00:29:44.780
<v Michael Kennedy>And it's not just auto-completing G-I-T because, I mean, that's handy.

00:29:45.120 --> 00:29:46.260
<v Michael Kennedy>Like, that's a lot of typing.

00:29:46.740 --> 00:29:50.440
<v Michael Kennedy>But it's the subcommand, so Git status and then, like, Git branch.

00:29:50.480 --> 00:29:55.160
<v Michael Kennedy>And then it'll drop down, like, specifically your branches or your files that are being applied to.

00:29:55.260 --> 00:29:57.320
<v Calvin Hendryx-Parker>And I think it's pretty cool.

00:29:57.360 --> 00:29:58.740
<v Calvin Hendryx-Parker>I like the tool tip it gives you, too.

00:29:58.860 --> 00:30:04.780
<v Calvin Hendryx-Parker>So it's not only does it, like, auto-completion give you a drop down on the possible completions, but, like, what each completion might do in a couple words.

00:30:05.300 --> 00:30:07.220
<v Calvin Hendryx-Parker>Sometimes you may be like, I think it's this one or that one.

00:30:07.280 --> 00:30:08.920
<v Calvin Hendryx-Parker>I'm not sure which subcommand I actually want to run.

00:30:09.460 --> 00:30:13.680
<v Calvin Hendryx-Parker>That little tooltip can help folks navigate the command line a lot faster, I think.

00:30:13.880 --> 00:30:20.140
<v Michael Kennedy>Yeah, so for people listening, you get a kind of a drop down, like a web drop down, but in the terminal and you navigate it with your arrow keys.

00:30:20.480 --> 00:30:25.140
<v Michael Kennedy>And as you navigate it, there's an additional section that describes what each one of those does.

00:30:25.560 --> 00:30:38.860
<v Calvin Hendryx-Parker>Yeah, I love all the advancements in the terminal UI, the TUI, that have come along because of the agentic tools we're getting, like CloudCo and Codex, etc. because I'm obviously a terminal junkie and I love hanging out there.

00:30:39.100 --> 00:30:39.720
<v Calvin Hendryx-Parker>I'm there all the time.

00:30:39.980 --> 00:30:46.080
<v Calvin Hendryx-Parker>So this is a great way for folks who are less comfortable, even folks who are comfortable, could use this to autocomplete.

00:30:46.320 --> 00:30:54.860
<v Calvin Hendryx-Parker>Because no one knows all the commands and all the sub options and all the things and everyone forgets to get all the autocompleter things hooked into your shell.

00:30:54.940 --> 00:31:00.000
<v Calvin Hendryx-Parker>I mean, it can be tricky to get your power user set up rocking and rolling right away.

00:31:00.300 --> 00:31:02.020
<v Calvin Hendryx-Parker>So this is a great bridge into it, it seems like.

00:31:02.200 --> 00:31:03.080
<v Michael Kennedy>Yeah, I agree.

00:31:03.260 --> 00:31:06.660
<v Michael Kennedy>And it's also not just the commands you know, but like auto-completing your branches.

00:31:07.120 --> 00:31:10.200
<v Michael Kennedy>Maybe there's a branch there that you didn't even write, yeah?

00:31:10.660 --> 00:31:14.780
<v Michael Kennedy>So this is written in TypeScript, just not that it really matters.

00:31:15.500 --> 00:31:28.520
<v Michael Kennedy>Also, interesting sidebar, Anders Hausberg and crew over there rewrote TypeScript, the pilot bit, I believe, the thing that takes TypeScript to JavaScript in Go and got it like 10 times faster just recently.

00:31:28.550 --> 00:31:29.320
<v Michael Kennedy>So that's interesting.

00:31:29.430 --> 00:31:34.380
<v Michael Kennedy>But the way you get it is you can either npm install it globally or you can brew install it.

00:31:34.430 --> 00:31:36.720
<v Michael Kennedy>I haven't decided which way I will be installing it.

00:31:36.960 --> 00:31:38.760
<v Michael Kennedy>But yeah, it's super easy.

00:31:38.810 --> 00:31:42.160
<v Michael Kennedy>You just do IS for in shell essence is the command.

00:31:42.280 --> 00:31:46.880
<v Michael Kennedy>So IS init bash, IS init zshell, et cetera, et cetera.

00:31:47.300 --> 00:31:52.280
<v Michael Kennedy>And yeah, it supports a whole bunch, even quench or sonch, help me out.

00:31:52.600 --> 00:31:53.580
<v Calvin Hendryx-Parker>I've never used that one.

00:31:54.300 --> 00:31:56.300
<v Michael Kennedy>I know, but this is the Python-based one, right?

00:31:56.580 --> 00:31:56.820
<v Calvin Hendryx-Parker>Yeah.

00:31:57.880 --> 00:32:01.000
<v Calvin Hendryx-Parker>I've been a lifelong ZSH zshell user.

00:32:01.500 --> 00:32:03.560
<v Calvin Hendryx-Parker>and I've had no reason to switch.

00:32:04.220 --> 00:32:05.200
<v Calvin Hendryx-Parker>Hashtag ZShell for life.

00:32:05.400 --> 00:32:05.700
<v Calvin Hendryx-Parker>Let's go.

00:32:06.740 --> 00:32:09.100
<v Calvin Hendryx-Parker>And it was kind of convenient when that became the default on macOS.

00:32:10.260 --> 00:32:11.760
<v Calvin Hendryx-Parker>It's like vindication, baby.

00:32:11.920 --> 00:32:12.560
<v Calvin Hendryx-Parker>A little bit.

00:32:13.210 --> 00:32:14.620
<v Calvin Hendryx-Parker>But I mean, I've been using it since college.

00:32:15.150 --> 00:32:16.160
<v Calvin Hendryx-Parker>Like ZShell.

00:32:16.300 --> 00:32:22.040
<v Calvin Hendryx-Parker>And I say using it, I never really dove into the power features of it until probably like 15 years ago.

00:32:22.820 --> 00:32:23.700
<v Calvin Hendryx-Parker>And then I was really hooked.

00:32:23.980 --> 00:32:25.680
<v Michael Kennedy>Let me run this out with a bit of nerdiness.

00:32:26.260 --> 00:32:26.620
<v Michael Kennedy>Okay.

00:32:26.920 --> 00:32:29.020
<v Michael Kennedy>So if you use nerd fonts, and excuse me,

00:32:29.090 --> 00:32:30.160
<v Calvin Hendryx-Parker>if you're not using nerd fonts.

00:32:30.240 --> 00:32:32.000
<v Calvin Hendryx-Parker>You should be using nerd fonts.

00:32:32.330 --> 00:32:32.720
<v Calvin Hendryx-Parker>Thank you.

00:32:32.930 --> 00:32:33.720
<v Calvin Hendryx-Parker>You should be using nerd fonts.

00:32:33.720 --> 00:32:36.180
<v Calvin Hendryx-Parker>Not the terminal font shame you, but you should use nerd fonts.

00:32:36.560 --> 00:32:40.280
<v Michael Kennedy>You really should because it really just gives your shell so much more expressiveness.

00:32:40.580 --> 00:32:54.140
<v Michael Kennedy>And if you want to impress and horrify your co-contributors or fellow employees, you can turn on font ligatures in your editors and then get things like mathematical looking not equal signs.

00:32:54.480 --> 00:32:55.480
<v Calvin Hendryx-Parker>100% behind that.

00:32:55.940 --> 00:33:00.020
<v Calvin Hendryx-Parker>I love full ligatures because I just feel like there's a beauty to the fonts.

00:33:00.200 --> 00:33:03.740
<v Calvin Hendryx-Parker>I came from a desktop publishing background before I got into all this programming stuff.

00:33:04.120 --> 00:33:13.680
<v Calvin Hendryx-Parker>And so the beauty in typography, and I think that those two have always kind of gone side by side in this kind of education, publishing, and computer science world.

00:33:14.540 --> 00:33:16.520
<v Calvin Hendryx-Parker>LaTeX is probably a prime example of that.

00:33:16.660 --> 00:33:18.160
<v Calvin Hendryx-Parker>People who love beautiful typography.

00:33:19.240 --> 00:33:19.720
<v Calvin Hendryx-Parker>100%.

00:33:19.980 --> 00:33:20.120
<v Calvin Hendryx-Parker>Yeah.

00:33:20.920 --> 00:33:22.980
<v Michael Kennedy>Yeah, I'm all behind it as well.

00:33:23.040 --> 00:33:34.020
<v Michael Kennedy>And so the reason it's being talked about here is you can, in Shell, a sense, supports extra stuff if you have nerd fonts, but you have to turn it on in your normal config file.

00:33:34.200 --> 00:33:36.980
<v Michael Kennedy>I don't know what that is called, but it has its steps on the homepage.

00:33:37.220 --> 00:33:43.540
<v Michael Kennedy>Like go to this file and put this line so you get your peak nerd font work in your shell there.

00:33:43.820 --> 00:33:48.860
<v Calvin Hendryx-Parker>It'd be nice if it just picked that up, the fact that it could detect if you had that available instead of having to configure it.

00:33:49.460 --> 00:33:52.800
<v Michael Kennedy>You know, I do believe that you could probably just go, what font is it?

00:33:52.880 --> 00:33:54.700
<v Michael Kennedy>Oh, the font has nerd font.

00:33:55.020 --> 00:33:55.920
<v Calvin Hendryx-Parker>In the name of it.

00:33:56.060 --> 00:33:56.440
<v Michael Kennedy>In the name.

00:33:56.540 --> 00:33:58.740
<v Michael Kennedy>Let's just take a wild flying guess here.

00:33:59.000 --> 00:33:59.880
<v Calvin Hendryx-Parker>Yeah, yeah, definitely.

00:34:00.320 --> 00:34:01.840
<v Calvin Hendryx-Parker>All right, well, that's cool.

00:34:02.500 --> 00:34:04.960
<v Calvin Hendryx-Parker>We've got a couple extras for this go around.

00:34:05.300 --> 00:34:07.120
<v Calvin Hendryx-Parker>One of them is that Django 6.1 released.

00:34:08.340 --> 00:34:12.760
<v Calvin Hendryx-Parker>Release sensor up some minor things in here, but just wanted folks to be aware.

00:34:12.870 --> 00:34:17.919
<v Calvin Hendryx-Parker>So if you are a Django developer, go upgrade all of your dependencies and make sure you're on the latest Django 6.1 release.

00:34:18.579 --> 00:34:21.919
<v Calvin Hendryx-Parker>And related to the Django 6.1 release is DjangoCon.

00:34:22.500 --> 00:34:28.139
<v Calvin Hendryx-Parker>So later this month, in just under about two weeks, come join us all in Chicago for DjangoCon.

00:34:28.200 --> 00:34:29.879
<v Calvin Hendryx-Parker>I know there are still tickets available.

00:34:30.260 --> 00:34:34.340
<v Calvin Hendryx-Parker>I believe the hotel room block may still also be available for the next few days.

00:34:34.720 --> 00:34:39.500
<v Calvin Hendryx-Parker>So if you want to get on board with the Django community and come hang out with us, I will be there.

00:34:39.800 --> 00:34:42.600
<v Calvin Hendryx-Parker>So you want to come meet and talk with me at DjangoCon.

00:34:43.060 --> 00:34:45.379
<v Calvin Hendryx-Parker>I'll be presenting with Frank Wiles actually on Tuesday.

00:34:45.899 --> 00:34:55.179
<v Calvin Hendryx-Parker>He and I are doing a batteries included versus speed talk about FastAPI versus Django with Ninja, which should be fun.

00:34:55.559 --> 00:34:56.580
<v Michael Kennedy>Oh, Ninja.

00:34:56.990 --> 00:34:57.080
<v Calvin Hendryx-Parker>Okay.

00:34:57.280 --> 00:34:57.420
<v Calvin Hendryx-Parker>Yeah.

00:34:57.690 --> 00:34:59.100
<v Calvin Hendryx-Parker>Yeah, Django Ninja looks pretty cool.

00:34:59.460 --> 00:34:59.520
<v Michael Kennedy>Yeah.

00:34:59.590 --> 00:35:04.420
<v Michael Kennedy>I feel like Django Ninja, for those of you who don't know, it's like FastAPI-ish.

00:35:04.840 --> 00:35:05.080
<v Michael Kennedy>It is.

00:35:05.110 --> 00:35:05.220
<v Michael Kennedy>Django.

00:35:05.580 --> 00:35:06.040
<v Calvin Hendryx-Parker>It is.

00:35:07.180 --> 00:35:09.780
<v Calvin Hendryx-Parker>There'll be a slide that uncovers that truth.

00:35:10.180 --> 00:35:10.540
<v Michael Kennedy>Yeah, cool.

00:35:10.800 --> 00:35:11.060
<v Michael Kennedy>That's cool.

00:35:11.120 --> 00:35:12.340
<v Michael Kennedy>You're doing one of the Frank Wilds series.

00:35:12.720 --> 00:35:13.060
<v Michael Kennedy>Yeah, yeah.

00:35:13.630 --> 00:35:13.920
<v Michael Kennedy>Good guy.

00:35:14.260 --> 00:35:15.740
<v Michael Kennedy>I want to be there.

00:35:15.830 --> 00:35:16.820
<v Michael Kennedy>I would love to be there.

00:35:17.340 --> 00:35:20.580
<v Michael Kennedy>But I'm already long ago booked a trip to be somewhere else.

00:35:21.180 --> 00:35:23.020
<v Michael Kennedy>And I cannot yet be in two places at once.

00:35:23.670 --> 00:35:24.520
<v Calvin Hendryx-Parker>It isn't possible yet.

00:35:25.059 --> 00:35:28.400
<v Calvin Hendryx-Parker>Once we get to quantum computers, we'll start working on more of the quantum entanglement.

00:35:28.620 --> 00:35:31.080
<v Michael Kennedy>My superposition will be attending that talk.

00:35:32.160 --> 00:35:32.460
<v Calvin Hendryx-Parker>Excellent.

00:35:32.760 --> 00:35:33.840
<v Calvin Hendryx-Parker>So, yeah, please come join us.

00:35:34.420 --> 00:35:35.300
<v Calvin Hendryx-Parker>I'd love to see everyone there.

00:35:35.560 --> 00:35:36.640
<v Michael Kennedy>Yeah, that's super cool.

00:35:37.060 --> 00:35:38.520
<v Michael Kennedy>All right, I have some extras as well.

00:35:38.520 --> 00:35:39.080
<v Calvin Hendryx-Parker>What do you got, Michael?

00:35:39.700 --> 00:35:41.040
<v Michael Kennedy>I have homework, apparently.

00:35:41.360 --> 00:35:41.700
<v Michael Kennedy>Thanks, Calvin.

00:35:41.870 --> 00:35:43.600
<v Michael Kennedy>So, I think this is super cool.

00:35:43.680 --> 00:35:44.720
<v Michael Kennedy>I'm so excited about it.

00:35:44.780 --> 00:35:48.260
<v Michael Kennedy>And I just put this up over the last two weeks, but since our last episode.

00:35:48.480 --> 00:35:49.200
<v Michael Kennedy>So here you go.

00:35:49.960 --> 00:35:51.820
<v Michael Kennedy>Did you run across this on the website yet?

00:35:51.880 --> 00:35:53.000
<v Calvin Hendryx-Parker>I used it today.

00:35:53.380 --> 00:35:53.640
<v Calvin Hendryx-Parker>You did?

00:35:54.000 --> 00:35:54.300
<v Calvin Hendryx-Parker>I did.

00:35:54.840 --> 00:35:55.940
<v Calvin Hendryx-Parker>It was actually quite nice.

00:35:55.940 --> 00:36:01.600
<v Calvin Hendryx-Parker>I wanted to make sure we had not talked about that quantum, post-quantum release of cryptography in a prior episode.

00:36:01.760 --> 00:36:06.020
<v Calvin Hendryx-Parker>So I actually used the MCP via the cloud web to double check my notes.

00:36:06.480 --> 00:36:07.180
<v Michael Kennedy>How cool.

00:36:07.600 --> 00:36:07.680
<v Michael Kennedy>Yeah.

00:36:07.880 --> 00:36:08.000
<v Michael Kennedy>All right.

00:36:08.020 --> 00:36:09.500
<v Michael Kennedy>So here's the announcement, folks.

00:36:10.040 --> 00:36:12.740
<v Michael Kennedy>Python Bytes has several AI integrations.

00:36:12.980 --> 00:36:16.420
<v Michael Kennedy>Most notably, it has a MCP server.

00:36:16.780 --> 00:36:18.600
<v Calvin Hendryx-Parker>I don't remember how many tools we have.

00:36:19.720 --> 00:36:20.080
<v Calvin Hendryx-Parker>Quite a few.

00:36:20.120 --> 00:36:22.200
<v Calvin Hendryx-Parker>You also had stuff in there for courses as well.

00:36:22.520 --> 00:36:26.300
<v Michael Kennedy>Yeah, I've proxied over the Talk Python courses that people ask about courses.

00:36:26.840 --> 00:36:28.040
<v Michael Kennedy>It's got all the documentation.

00:36:28.280 --> 00:36:32.480
<v Michael Kennedy>I think it's got something like 12 or 13 commands.

00:36:33.060 --> 00:36:33.640
<v Michael Kennedy>But it's got a lot.

00:36:33.920 --> 00:36:34.920
<v Michael Kennedy>So it's more than just the search.

00:36:35.100 --> 00:36:36.780
<v Michael Kennedy>You can ask it all kinds of questions.

00:36:37.180 --> 00:36:48.800
<v Michael Kennedy>And what's really nice about this, Instead of your AI scanning a megabyte worth of RSS feed, it just calls APIs that are database-backed and indexed in sub-millisecond response time and completely up-to-date.

00:36:49.040 --> 00:36:51.280
<v Michael Kennedy>So if you have any questions about it, check it out.

00:36:51.330 --> 00:36:57.460
<v Michael Kennedy>So the marquee here is MCP server now available on Python Bytes.

00:36:57.750 --> 00:37:04.360
<v Michael Kennedy>But there's also some other cool things, Calvin, that I feel like I've sort of gotten this vibe from great docs and I've gotten it from other things.

00:37:05.060 --> 00:37:19.180
<v Michael Kennedy>So, for example, if I was on a URL for one of our episodes, like 488, and I wanted something more friendly than all of this HTML junk, I could just put MD on the end, and now I've got a marked out version.

00:37:19.200 --> 00:37:19.660
<v Calvin Hendryx-Parker>I like that.

00:37:20.000 --> 00:37:24.100
<v Michael Kennedy>And that's the kind of thing that something like Claude would really like to know.

00:37:24.360 --> 00:37:26.200
<v Michael Kennedy>Or you want just the description?

00:37:26.630 --> 00:37:28.940
<v Michael Kennedy>You can just put, whoops, description?

00:37:29.580 --> 00:37:29.660
<v Michael Kennedy>No.

00:37:30.040 --> 00:37:33.180
<v Calvin Hendryx-Parker>I like that because I've been using the Elastic Service Virginia.

00:37:33.640 --> 00:37:37.880
<v Calvin Hendryx-Parker>Virginia, I already say that,.ai for making markdown out of these pages.

00:37:37.980 --> 00:37:40.240
<v Calvin Hendryx-Parker>Now I can just change my skill to just put addMD.

00:37:40.500 --> 00:37:40.840
<v Michael Kennedy>Yeah, yeah.

00:37:41.240 --> 00:37:51.020
<v Michael Kennedy>And if you go to the MCP server, actually it talks about those things like, oh, you can do the MCP server, but you can also just put the extensions.

00:37:51.540 --> 00:37:54.320
<v Michael Kennedy>And it also has an llms.txt.

00:37:54.840 --> 00:38:01.920
<v Michael Kennedy>And in the llms.txt, it tells you you can put.md,.summary,.title, and so on, onto any of the episode URLs.

00:38:02.500 --> 00:38:04.900
<v Michael Kennedy>Yeah, and then they basically upgrade to those.

00:38:04.920 --> 00:38:05.180
<v Calvin Hendryx-Parker>That's funny.

00:38:05.560 --> 00:38:11.720
<v Calvin Hendryx-Parker>This really reminds me, the old days when I first started in web development, I was on Zope.

00:38:11.900 --> 00:38:13.560
<v Calvin Hendryx-Parker>I loved Zope as an application server.

00:38:14.140 --> 00:38:20.040
<v Calvin Hendryx-Parker>And Zope allowed you to do things like this where it could be like slash title, slash description, slash publish date.

00:38:20.420 --> 00:38:28.440
<v Calvin Hendryx-Parker>And so it was an RPC, web RPC call that was just almost like a self-documenting URLs, which is like what I feel like the web should be.

00:38:28.460 --> 00:38:34.960
<v Calvin Hendryx-Parker>And that really demonstrates the power of the web and be able to basically call into the objects that you're publishing.

00:38:35.520 --> 00:38:37.500
<v Calvin Hendryx-Parker>The Z object publisher lives again.

00:38:37.940 --> 00:38:38.660
<v Calvin Hendryx-Parker>It lives again.

00:38:38.800 --> 00:38:39.460
<v Calvin Hendryx-Parker>It definitely does.

00:38:40.160 --> 00:38:41.980
<v Michael Kennedy>But now I have homework, so that's cool.

00:38:42.120 --> 00:38:44.060
<v Michael Kennedy>But also I'll see what I can do about it.

00:38:44.080 --> 00:38:45.900
<v Calvin Hendryx-Parker>But it also should mean less load on your servers.

00:38:46.380 --> 00:38:46.680
<v Calvin Hendryx-Parker>That's true.

00:38:47.100 --> 00:38:49.180
<v Michael Kennedy>Because it's absolutely getting hammered.

00:38:49.460 --> 00:38:49.740
<v Michael Kennedy>Hammered.

00:38:49.860 --> 00:38:50.880
<v Calvin Hendryx-Parker>So popular.

00:38:51.440 --> 00:38:52.260
<v Michael Kennedy>No, it is cool though.

00:38:52.700 --> 00:38:53.700
<v Michael Kennedy>It will be now.

00:38:54.260 --> 00:38:54.720
<v Michael Kennedy>Yeah, I know.

00:38:54.780 --> 00:38:55.340
<v Michael Kennedy>It will be now.

00:38:55.460 --> 00:39:05.080
<v Michael Kennedy>If you register this with your cloud or whatever other things support MCP servers, it'll often, like we just say, what did Python Bytes say about this?

00:39:05.190 --> 00:39:07.620
<v Michael Kennedy>Or tell me like, yeah, it'll just, that's all you got to say.

00:39:07.720 --> 00:39:09.220
<v Michael Kennedy>And it'll go, oh yeah, we got that MCP.

00:39:09.340 --> 00:39:09.900
<v Michael Kennedy>We're on top of it.

00:39:10.040 --> 00:39:10.240
<v Calvin Hendryx-Parker>Yep.

00:39:10.460 --> 00:39:12.920
<v Calvin Hendryx-Parker>I've been a long time user of the Talk Python MCP server as well.

00:39:13.180 --> 00:39:13.380
<v Calvin Hendryx-Parker>Awesome.

00:39:13.730 --> 00:39:13.820
<v Michael Kennedy>Yeah.

00:39:13.960 --> 00:39:14.120
<v Michael Kennedy>Yeah.

00:39:14.520 --> 00:39:16.560
<v Michael Kennedy>So whatever homework I have for this one, I have also for that one.

00:39:16.760 --> 00:39:17.320
<v Calvin Hendryx-Parker>That sounds awesome.

00:39:17.619 --> 00:39:18.320
<v Calvin Hendryx-Parker>Hey, Michael.

00:39:18.370 --> 00:39:20.300
<v Michael Kennedy>One really quick more, one quick more announcement.

00:39:21.020 --> 00:39:22.420
<v Michael Kennedy>I promised you all a Rust course.

00:39:22.640 --> 00:39:23.100
<v Michael Kennedy>Very relevant.

00:39:23.440 --> 00:39:23.960
<v Michael Kennedy>Very relevant.

00:39:24.060 --> 00:39:24.240
<v Michael Kennedy>Yes.

00:39:24.380 --> 00:39:26.920
<v Michael Kennedy>You already gave it a bit of a shout out in terms of a concept.

00:39:27.200 --> 00:39:31.880
<v Michael Kennedy>So Christopher Trudeau and I teamed up to do an up and running with rust course.

00:39:32.060 --> 00:39:35.420
<v Michael Kennedy>So Christopher wrote this and it is super good.

00:39:35.680 --> 00:39:36.820
<v Michael Kennedy>It's, how long is it?

00:39:36.950 --> 00:39:40.280
<v Michael Kennedy>It is three hours long, called Up and Running with Rust.

00:39:40.980 --> 00:39:42.540
<v Michael Kennedy>It's available right now over at Talk Python.

00:39:42.820 --> 00:39:50.920
<v Michael Kennedy>And if you want to just start from the ground up and get a good foundation for rust, it goes through sort of pure rust angles.

00:39:51.150 --> 00:39:55.360
<v Michael Kennedy>And then it says, last thing, I know the dog is super excited about this.

00:39:56.040 --> 00:39:56.540
<v Michael Kennedy>Last thing.

00:39:56.660 --> 00:39:57.720
<v Michael Kennedy>Got very excited about this.

00:39:57.850 --> 00:39:59.240
<v Michael Kennedy>I know how he feels.

00:39:59.480 --> 00:40:00.640
<v Michael Kennedy>I totally understand how he feels.

00:40:01.240 --> 00:40:12.100
<v Michael Kennedy>So if you want to then maybe integrate that with Maturion or PyO3 and that kind of stuff, it goes through building out a Python library that is mixed Python and Rust as well.

00:40:12.280 --> 00:40:15.500
<v Michael Kennedy>So I encourage you to come over and check out the Up and Running with Rust course.

00:40:15.760 --> 00:40:16.280
<v Michael Kennedy>It's really good.

00:40:16.680 --> 00:40:20.160
<v Michael Kennedy>Chris has a ton of humor mixed in there, so you'll really enjoy that as well.

00:40:20.210 --> 00:40:21.180
<v Calvin Hendryx-Parker>Yeah, he's a great presenter.

00:40:21.850 --> 00:40:22.320
<v Calvin Hendryx-Parker>I love that.

00:40:22.520 --> 00:40:22.680
<v Calvin Hendryx-Parker>Yeah.

00:40:22.880 --> 00:40:25.280
<v Calvin Hendryx-Parker>I forgot the dog was even in the room.

00:40:26.360 --> 00:40:27.300
<v Calvin Hendryx-Parker>He's so quiet sometimes.

00:40:27.700 --> 00:40:30.040
<v Michael Kennedy>I love that the dog is being part of the show.

00:40:30.340 --> 00:40:30.560
<v Michael Kennedy>Yeah.

00:40:30.710 --> 00:40:30.800
<v Calvin Hendryx-Parker>Yeah.

00:40:31.120 --> 00:40:34.560
<v Calvin Hendryx-Parker>Mushu approves of the up and running with the Rust course.

00:40:34.800 --> 00:40:37.440
<v Calvin Hendryx-Parker>He fully endorses this course.

00:40:37.880 --> 00:40:38.780
<v Calvin Hendryx-Parker>He's all about performance.

00:40:38.880 --> 00:40:39.720
<v Calvin Hendryx-Parker>It's all about performance.

00:40:40.220 --> 00:40:40.740
<v Calvin Hendryx-Parker>Check it out.

00:40:41.420 --> 00:40:44.360
<v Michael Kennedy>My dog barked as well, but she's outside and a little farther away.

00:40:44.360 --> 00:40:45.220
<v Michael Kennedy>I don't think it came through.

00:40:45.660 --> 00:40:45.860
<v Michael Kennedy>All right.

00:40:46.180 --> 00:40:46.420
<v Calvin Hendryx-Parker>But.

00:40:46.800 --> 00:40:46.960
<v Calvin Hendryx-Parker>All right.

00:40:46.980 --> 00:40:47.740
<v Calvin Hendryx-Parker>Let's head to joke, Michael.

00:40:47.830 --> 00:40:49.340
<v Calvin Hendryx-Parker>You got a joke for me for this week?

00:40:49.880 --> 00:40:50.460
<v Calvin Hendryx-Parker>They already know.

00:40:50.760 --> 00:40:51.140
<v Michael Kennedy>They already know.

00:40:51.240 --> 00:40:54.860
<v Michael Kennedy>I feel this is more just a commentary on life on the internet.

00:40:55.600 --> 00:40:57.480
<v Michael Kennedy>So here's the joke.

00:40:57.580 --> 00:40:58.620
<v Michael Kennedy>and it has to do with Google.

00:40:58.710 --> 00:41:02.000
<v Michael Kennedy>So it's like there's this cartoon character.

00:41:02.000 --> 00:41:04.040
<v Michael Kennedy>It says Google harvests all my data.

00:41:04.430 --> 00:41:05.440
<v Michael Kennedy>And they embrace it, right?

00:41:05.640 --> 00:41:13.920
<v Michael Kennedy>They're like Google knows where I live, my browser history because I'm signed in, my face, my Gmail, my docs, all the things.

00:41:14.420 --> 00:41:18.660
<v Michael Kennedy>And yet it's still on all these web pages.

00:41:18.880 --> 00:41:19.940
<v Michael Kennedy>Ask if I'm a robot.

00:41:21.860 --> 00:41:24.160
<v Calvin Hendryx-Parker>Sometimes it's so smart yet so stupid.

00:41:25.160 --> 00:41:26.540
<v Michael Kennedy>Please identify all the bicycles.

00:41:26.820 --> 00:41:27.760
<v Michael Kennedy>No, those weren't the bicycles.

00:41:28.700 --> 00:41:30.940
<v Michael Kennedy>Please identify all bio-riders.

00:41:31.380 --> 00:41:32.320
<v Michael Kennedy>What are you doing?

00:41:32.860 --> 00:41:35.040
<v Michael Kennedy>You know about me more than I know about me.

00:41:35.180 --> 00:41:36.760
<v Michael Kennedy>I've forgotten half of what you know about me.

00:41:37.760 --> 00:41:39.100
<v Michael Kennedy>So the joke is entitled,

00:41:39.300 --> 00:41:39.980
<v Calvin Hendryx-Parker>but they already know.

00:41:41.240 --> 00:41:42.280
<v Calvin Hendryx-Parker>Yet they'll ask again.

00:41:43.060 --> 00:41:43.560
<v Michael Kennedy>Yes, they will.

00:41:43.860 --> 00:41:47.840
<v Michael Kennedy>It's not a full-on joke, more of just social commentary, internet commentary.

00:41:48.120 --> 00:41:54.020
<v Calvin Hendryx-Parker>Kind of like going into the doctor and having to fill out those dating forms 20 more times. I'm sure they already know.

00:41:54.240 --> 00:41:56.140
<v Calvin Hendryx-Parker>They already have this data. Why are we doing this again?

00:41:56.160 --> 00:41:57.280
<v Michael Kennedy>Are you allergic to any medications?

00:41:58.500 --> 00:42:00.160
<v Michael Kennedy>Nothing's changed the last 20 times I told you.

00:42:00.360 --> 00:42:01.180
<v Michael Kennedy>No, still not.

00:42:01.660 --> 00:42:02.280
<v Calvin Hendryx-Parker>They already know.

00:42:02.420 --> 00:42:02.860
<v Calvin Hendryx-Parker>The same ones.

00:42:03.060 --> 00:42:03.920
<v Calvin Hendryx-Parker>Yeah, they already know.

00:42:04.240 --> 00:42:04.580
<v Calvin Hendryx-Parker>All right.

00:42:04.900 --> 00:42:08.160
<v Calvin Hendryx-Parker>Well, Michael, thank you again for being with us this week for Python Bytes.

00:42:08.960 --> 00:42:10.500
<v Calvin Hendryx-Parker>We'll see you next time.

00:42:10.780 --> 00:42:10.920
<v Calvin Hendryx-Parker>Yeah.

00:42:11.220 --> 00:42:11.980
<v Calvin Hendryx-Parker>Thank you, Calvin.

00:42:12.140 --> 00:42:12.580
<v Calvin Hendryx-Parker>And thank you, everyone.

00:42:12.780 --> 00:42:12.860
<v Calvin Hendryx-Parker>Bye.

00:42:13.020 --> 00:42:13.540
<v Calvin Hendryx-Parker>We'll see you all later.