WEBVTT

00:00:00.020 --> 00:00:05.300
<v Michael Kennedy>Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.

00:00:05.760 --> 00:00:09.620
<v Michael Kennedy>This is episode 494, recorded September 1st, 2026.

00:00:09.980 --> 00:00:11.320
<v Michael Kennedy>Calvin, can you believe it is September?

00:00:11.720 --> 00:00:12.580
<v Calvin Hendryx-Parker>It is my birthday month.

00:00:12.840 --> 00:00:13.300
<v Michael Kennedy>Well, awesome.

00:00:13.560 --> 00:00:14.440
<v Michael Kennedy>I'm excited for your birthday.

00:00:15.000 --> 00:00:16.100
<v Michael Kennedy>I'm excited to be here.

00:00:16.200 --> 00:00:16.580
<v Michael Kennedy>Let's do this.

00:00:16.940 --> 00:00:17.940
<v Michael Kennedy>Yeah, I'm Michael Kennedy.

00:00:18.270 --> 00:00:19.300
<v Calvin Hendryx-Parker>And I'm Calvin Hendrix-Parker.

00:00:19.620 --> 00:00:21.200
<v Michael Kennedy>And this episode is brought to you by us.

00:00:21.480 --> 00:00:25.940
<v Michael Kennedy>Check out Six Feet Up if you have a impactful, meaningful consulting project.

00:00:26.380 --> 00:00:29.080
<v Michael Kennedy>They focus on that kind of stuff and they solve the hard problems.

00:00:29.400 --> 00:00:31.100
<v Michael Kennedy>so you keep on doing what you do.

00:00:31.420 --> 00:00:37.080
<v Michael Kennedy>If you want to learn things about Python, we have over 285 hours of Python courses at Talk Python Training.

00:00:37.320 --> 00:00:39.480
<v Michael Kennedy>So also check that out as well.

00:00:39.940 --> 00:00:45.080
<v Michael Kennedy>Sign up to the newsletter, follow us on the socials and watch the live stream if you wish.

00:00:45.340 --> 00:00:46.560
<v Michael Kennedy>All that stuff is in the show notes.

00:00:47.360 --> 00:00:52.440
<v Michael Kennedy>I wish to know what you're looking to do, what you're looking to talk about.

00:00:53.360 --> 00:00:54.160
<v Michael Kennedy>HTTPX2, amazing.

00:00:54.560 --> 00:00:55.000
<v Michael Kennedy>I have thoughts.

00:00:55.360 --> 00:00:57.320
<v Calvin Hendryx-Parker>I know you do because I've seen you use it.

00:00:57.380 --> 00:01:03.900
<v Calvin Hendryx-Parker>So if you all haven't moved over to HTTP/X2, probably a good time to do so.

00:01:04.050 --> 00:01:18.640
<v Calvin Hendryx-Parker>I think in May of this year, the Pydantic folks took over the HTTP/X project and renamed it to HTTP/X2. So if you're wondering about the naming from HTTP/X to HTTP/X2, that is what that is about.

00:01:19.180 --> 00:01:33.200
<v Calvin Hendryx-Parker>It's gotten a little more visibility. I think it was mentioned on a couple of lists here in August, but it actually happened back in May. The more kind of important news right now is that OpenAI Python SDK has moved to HTTPX2, which I'm sure there's a lot of folks out there who are

00:01:33.380 --> 00:01:45.040
<v Calvin Hendryx-Parker>writing Ingentic apps or using the SDK in some way. That's a great news for you because now you're on the supported version by the great folks over at Pydantic. If you're just using the default client,

00:01:45.840 --> 00:01:58.200
<v Calvin Hendryx-Parker>there's really nothing for you to do. There's no code changes. It is a drop-in replacement for the HTTPX, well, the original version of the OpenAI SDK, the one catch. If you are using HTTPX2 and

00:01:58.200 --> 00:02:08.140
<v Calvin Hendryx-Parker>the new OpenAI Python SDK, the bit that's going to trip you up if you're doing some special stuff, like, for example, if you're using a really stripped down container that may not include

00:02:08.240 --> 00:02:20.340
<v Calvin Hendryx-Parker>things like a certificate store in it, you're going to get run into an error. The HTTPX2 got away from using the CA bundle provided by Certify. And so HTTPX2 now uses the one built into

00:02:20.780 --> 00:02:32.120
<v Calvin Hendryx-Parker>the operating system trust store. So the workaround for that is to pass in your own SSL cert files, your own cert dir. So basically as part of the verify argument into the client, you can pass in

00:02:32.130 --> 00:02:43.180
<v Calvin Hendryx-Parker>your own SSL or when you build your SSL context, you'll be able to pass that in on your own. So just something to watch out for. I know a lot of people could probably spin their wheels quite a

00:02:43.300 --> 00:02:56.320
<v Calvin Hendryx-Parker>bit trying to figure out what's wrong or how to do that. But the docs actually go over pretty much in depth right here. So I'm on the HTTPX2 markdown inside the SDK docs here. So if you are needing

00:02:56.500 --> 00:03:06.300
<v Calvin Hendryx-Parker>to use that legacy HTTPX support, it is an option. There is a temporary escape hatch still available where you can use a legacy HTTPX client. I think they mentioned that down here at the very bottom.

00:03:06.900 --> 00:03:20.160
<v Calvin Hendryx-Parker>I think it also works with legacy HTTPX aiohttp2. So there are some temporary measures if you want to get back on track quickly, but still be using the latest version of the SDK or just pass in

00:03:20.580 --> 00:03:24.580
<v Calvin Hendryx-Parker>your own certificate store and you'll be good to go. Michael, what are your thoughts on this?

00:03:25.060 --> 00:03:34.740
<v Michael Kennedy>Well, this is, this is big news, but did you see the headlines that Python by side of him switched to it like four months ago? It was pretty incredible. Yeah. Yeah. Yeah. Just kidding. No,

00:03:34.860 --> 00:03:44.060
<v Michael Kennedy>this is actually, I wholeheartedly support this. I think just thanks to the Pydantic team over there who has done this work.

00:03:44.320 --> 00:03:48.780
<v Michael Kennedy>We actually covered, oh my gosh, sorry, I'm forgetting the person's name who sent this in.

00:03:49.080 --> 00:03:57.400
<v Michael Kennedy>It's like Michelle, Mikael, who did the original fork of HTTPX to something slightly different.

00:03:57.560 --> 00:04:00.100
<v Michael Kennedy>And then a month later, the Pydantic folks took it over.

00:04:00.240 --> 00:04:13.320
<v Michael Kennedy>And I think this is good because I won't rehash it, but HTTPX has been, while I think the best HTTP client I've used Python, also it's kind of gotten into a weird, tied itself into some weird knots.

00:04:13.380 --> 00:04:17.799
<v Michael Kennedy>And so I think what we're seeing from HTTPX2 is a really great direction.

00:04:18.100 --> 00:04:18.900
<v Michael Kennedy>So that's really good.

00:04:19.220 --> 00:04:24.260
<v Calvin Hendryx-Parker>I mean, if you're holding off or if you're still using requests or you're wanting to jump in, this works synchronous or asynchronous.

00:04:24.640 --> 00:04:27.640
<v Calvin Hendryx-Parker>Most of the time you can drop it in as a replacement for requests.

00:04:28.200 --> 00:04:34.800
<v Calvin Hendryx-Parker>So there's no reason not to move to HTTPX, especially since it's got great support from a commercial entity of the fine folks at Pydantic.

00:04:35.200 --> 00:04:35.580
<v Michael Kennedy>Yeah, exactly.

00:04:35.760 --> 00:04:36.660
<v Michael Kennedy>It gives it hard to beat.

00:04:36.980 --> 00:04:40.040
<v Michael Kennedy>Yeah, it's definitely giving it a serious boost forward.

00:04:40.400 --> 00:04:42.020
<v Michael Kennedy>So I'm here for it.

00:04:42.420 --> 00:04:43.080
<v Michael Kennedy>Thanks, Pytano team.

00:04:43.640 --> 00:04:46.080
<v Michael Kennedy>It's cool to see OpenAI adopting it.

00:04:46.140 --> 00:04:49.880
<v Michael Kennedy>They use a lot of the tools that we sing the praises of here, which is also pretty neat.

00:04:49.980 --> 00:04:50.140
<v Calvin Hendryx-Parker>Yeah.

00:04:50.480 --> 00:04:58.900
<v Calvin Hendryx-Parker>Well, I think that you're going to find that when there's great minds thinking alike are going to be using similar patterns, dependencies, the well-adopted, well-trodden ones.

00:04:59.200 --> 00:05:11.720
<v Calvin Hendryx-Parker>I mean, this is, again, letting you know, it's like a signal to the community that there's a lot of people who are putting real-world road usage on these libraries, Because I can't imagine what the downloads are for the opening SDK.

00:05:11.960 --> 00:05:12.600
<v Calvin Hendryx-Parker>It must be huge.

00:05:12.860 --> 00:05:14.600
<v Calvin Hendryx-Parker>I didn't go look, but I can only imagine.

00:05:15.000 --> 00:05:15.140
<v Michael Kennedy>Yeah.

00:05:15.700 --> 00:05:26.540
<v Michael Kennedy>I think your next item also is going to have an interesting, put a bunch of libraries and runtimes for a bunch of the tests at a very high scale pretty soon.

00:05:26.760 --> 00:05:34.040
<v Michael Kennedy>But I want to move on and talk about, I don't even know how to call it, TMog, a native task manager for macOS, Windows, and Linux.

00:05:34.460 --> 00:05:35.520
<v Michael Kennedy>Works for all three of these.

00:05:35.880 --> 00:05:38.900
<v Michael Kennedy>Now, you might think, don't you already have activity monitor?

00:05:39.100 --> 00:05:40.280
<v Michael Kennedy>Like, what do you want, Michael?

00:05:40.800 --> 00:05:46.940
<v Michael Kennedy>Let me show you, Calvin, and you kind of give your first impressions of this to the listeners.

00:05:47.460 --> 00:05:52.700
<v Michael Kennedy>And if you're listening and you want to see the video version, jump over to the right at the top of the episode file.

00:05:53.060 --> 00:05:57.360
<v Michael Kennedy>The video part will be about like 7 minutes and 29 seconds.

00:05:57.640 --> 00:05:59.420
<v Michael Kennedy>So check this out.

00:06:00.040 --> 00:06:02.460
<v Michael Kennedy>So I'm going to make it a little skinnier.

00:06:02.900 --> 00:06:03.080
<v Michael Kennedy>All right.

00:06:03.120 --> 00:06:05.740
<v Michael Kennedy>So this comes to us from Dave Plummer.

00:06:06.240 --> 00:06:08.500
<v Michael Kennedy>and Dave Plummer is the guy, he does Dave's Garage.

00:06:08.700 --> 00:06:09.920
<v Michael Kennedy>It's kind of a cool YouTube channel.

00:06:10.420 --> 00:06:13.320
<v Michael Kennedy>I've actually got to have dinner with him one time at a Microsoft event, which is kind of cool.

00:06:14.199 --> 00:06:20.200
<v Michael Kennedy>But notably for this conversation, he's the guy who made task manager for Windows, like in Windows, right?

00:06:20.460 --> 00:06:20.880
<v Michael Kennedy>From Microsoft.

00:06:21.300 --> 00:06:21.660
<v Calvin Hendryx-Parker>That's cool.

00:06:22.120 --> 00:06:23.780
<v Michael Kennedy>And so, but this is for all the platforms.

00:06:24.080 --> 00:06:25.680
<v Michael Kennedy>Now there's a couple of things to note.

00:06:25.740 --> 00:06:29.380
<v Michael Kennedy>I left it in the very much pure first run because I put it on my laptop.

00:06:29.520 --> 00:06:33.960
<v Michael Kennedy>I put it on my workstation, but not on my streaming computer because that's, I just have too many computers.

00:06:34.520 --> 00:06:37.480
<v Michael Kennedy>First thing I said, Would you like Control-Shift-Escape to automatically run this?

00:06:37.820 --> 00:06:37.920
<v Michael Kennedy>Yes.

00:06:38.400 --> 00:06:46.500
<v Michael Kennedy>So even if your computer's frozen up and you can't get to your menus or whatever, you just hit Control-Shift-Escape, which is the way Task Manager works on Windows, and it'll bring this up.

00:06:46.690 --> 00:06:48.860
<v Michael Kennedy>So you could Command-Q it, and then it'll come back.

00:06:48.860 --> 00:06:50.720
<v Michael Kennedy>You can see it just popped up a running in the background thing.

00:06:50.800 --> 00:06:52.860
<v Michael Kennedy>That's the little watcher that just launches it, right?

00:06:53.300 --> 00:06:58.480
<v Michael Kennedy>Also, you'll notice it's got a bit of a color flare that I'm not a super fan of.

00:06:58.730 --> 00:06:59.520
<v Michael Kennedy>So you can go over here.

00:06:59.730 --> 00:07:00.400
<v Calvin Hendryx-Parker>I don't like it.

00:07:00.740 --> 00:07:00.900
<v Michael Kennedy>Do you?

00:07:01.040 --> 00:07:02.880
<v Michael Kennedy>Well, it's called Visual Bloom.

00:07:03.500 --> 00:07:04.000
<v Michael Kennedy>You like it?

00:07:04.420 --> 00:07:04.760
<v Michael Kennedy>I do.

00:07:04.880 --> 00:07:09.920
<v Calvin Hendryx-Parker>but I'm always looking for interesting visual eye candy in my apps and that's cool yeah well it's

00:07:10.080 --> 00:07:24.820
<v Michael Kennedy>got all these different flares you can do like a mono mono green but yeah but you can also just turn off the visual bloom and like turn up and down the saturation depending on how you want it so I kind of like it without the bloom but you know to each your own and check this out you got all

00:07:24.960 --> 00:07:36.580
<v Michael Kennedy>these different things that you would get and um like a proper task manager nice graphs but a lot of attention to detail too. So it's got a CPU, it's got the temperature, which is interesting.

00:07:36.690 --> 00:07:42.840
<v Michael Kennedy>It's got the GPU, memory utilization. But do you notice anything weird about the scale of the graphs, Calvin?

00:07:43.140 --> 00:07:44.520
<v Calvin Hendryx-Parker>Just with the scale of the graphs here.

00:07:44.760 --> 00:07:50.220
<v Michael Kennedy>They're logarithmic, but not logarithmic in terms of the input, but logarithmic in terms of time.

00:07:50.290 --> 00:08:01.820
<v Michael Kennedy>So as stuff gets older, it compresses. So you can see a really long tail of performance history, but you can also see fine grain detail in the immediate part, which is super cool, I think it's all on the memory.

00:08:02.000 --> 00:08:03.340
<v Michael Kennedy>It's on the CPU, all the things.

00:08:03.700 --> 00:08:03.800
<v Calvin Hendryx-Parker>Yeah.

00:08:04.100 --> 00:08:04.160
<v Calvin Hendryx-Parker>Yeah.

00:08:04.160 --> 00:08:04.540
<v Calvin Hendryx-Parker>I like that.

00:08:04.880 --> 00:08:06.400
<v Michael Kennedy>And each one of the, there's a bunch of stuff here.

00:08:06.500 --> 00:08:08.200
<v Michael Kennedy>There's like network, there's CPU.

00:08:08.520 --> 00:08:13.000
<v Michael Kennedy>And each one of these, if you click them, it takes you to like show you all the cores and all the things.

00:08:13.720 --> 00:08:14.100
<v Michael Kennedy>And right.

00:08:14.220 --> 00:08:18.460
<v Michael Kennedy>You can jump in to these different parts of the app with like crazy amounts of detail.

00:08:19.280 --> 00:08:20.520
<v Michael Kennedy>So these are all really neat.

00:08:20.700 --> 00:08:24.620
<v Michael Kennedy>You can go see all the processes and you can filter them by trees.

00:08:25.300 --> 00:08:27.020
<v Michael Kennedy>You can search or like show them as a tree.

00:08:27.320 --> 00:08:32.860
<v Michael Kennedy>So you can see, like, for example, Vivaldi has like a crap ton of stuff going underneath it, which is fine.

00:08:33.979 --> 00:08:34.719
<v Michael Kennedy>Background processes.

00:08:35.460 --> 00:08:39.919
<v Michael Kennedy>You can see system information, all sorts of fun stuff there.

00:08:40.120 --> 00:08:41.000
<v Michael Kennedy>What apps are startups?

00:08:41.659 --> 00:08:42.340
<v Michael Kennedy>What user are running?

00:08:42.419 --> 00:08:43.000
<v Michael Kennedy>Hey, it's me.

00:08:43.640 --> 00:08:44.800
<v Michael Kennedy>What services run?

00:08:45.220 --> 00:08:50.120
<v Michael Kennedy>And there's all these pro features like power and frequency, a bunch of network stuff.

00:08:51.720 --> 00:08:54.000
<v Michael Kennedy>There's some kind of pro thing coming, apparently.

00:08:54.600 --> 00:08:58.140
<v Michael Kennedy>the pro it's all in beta. So the pro feature is not available. So I didn't know.

00:08:58.680 --> 00:09:04.400
<v Michael Kennedy>I can't, you could do like benchmarks and manage this space and so on, but just the free stuff already, I think it's super cool.

00:09:04.840 --> 00:09:05.040
<v Michael Kennedy>How's this?

00:09:05.959 --> 00:09:07.260
<v Calvin Hendryx-Parker>Well, I would love to see this.

00:09:07.500 --> 00:09:10.940
<v Calvin Hendryx-Parker>I would love to have this as a client that can talk to remote systems too.

00:09:11.280 --> 00:09:13.640
<v Calvin Hendryx-Parker>So you could switch between like three or four different remote systems.

00:09:13.740 --> 00:09:19.380
<v Calvin Hendryx-Parker>Cause you just mentioned you've got like three or four or five computers sitting in your office lab, et cetera.

00:09:19.780 --> 00:09:22.360
<v Calvin Hendryx-Parker>And so I'm regularly using like Bpy top on all of them.

00:09:22.700 --> 00:09:30.240
<v Calvin Hendryx-Parker>So I can log into the machine, see it's like, see some of these stats, but I love the visual, again, eye candy for that this is giving me.

00:09:30.490 --> 00:09:36.140
<v Calvin Hendryx-Parker>And I'd love to be able to have it like show me my framework desktop sitting over there, but from my MacBook sitting over here.

00:09:36.440 --> 00:09:37.120
<v Michael Kennedy>Yeah, that would be cool.

00:09:37.200 --> 00:09:43.460
<v Michael Kennedy>I'm a fan of BTOP as well, but there you can just do a terminal or a Tmux window for each one, right?

00:09:43.860 --> 00:09:45.480
<v Michael Kennedy>Yeah, and this is super.

00:09:45.940 --> 00:09:50.320
<v Michael Kennedy>In the navigation from sort of high level to detail, I thought it was really cool and it's free.

00:09:50.800 --> 00:09:55.580
<v Calvin Hendryx-Parker>So, well, and the fact is cross-platform, Because I'm regularly moving back and forth between Linux and macOS.

00:09:56.030 --> 00:10:00.640
<v Calvin Hendryx-Parker>And so I really appreciate good cross-platform tools, especially ones that are open source.

00:10:00.910 --> 00:10:02.140
<v Calvin Hendryx-Parker>So my favorite terminal is Kitty.

00:10:02.540 --> 00:10:04.560
<v Calvin Hendryx-Parker>Kitty runs Mac, Windows, Linux.

00:10:05.100 --> 00:10:07.000
<v Calvin Hendryx-Parker>And so I get the same experience across all three platforms.

00:10:07.190 --> 00:10:08.540
<v Calvin Hendryx-Parker>I don't feel like I've missed out on anything.

00:10:08.770 --> 00:10:10.260
<v Calvin Hendryx-Parker>Hey, Michael, I've lost your audio.

00:10:10.980 --> 00:10:11.180
<v Michael Kennedy>Sorry.

00:10:12.620 --> 00:10:19.800
<v Michael Kennedy>What's interesting is the way that they've done the cross-platform is it's not just like some electrons-like thing, right?

00:10:20.000 --> 00:10:22.140
<v Michael Kennedy>It's native for each platform.

00:10:22.320 --> 00:10:35.840
<v Michael Kennedy>like swift and apple kit and native win 32 and ut6 yeah that's a first time around heart doing it right yeah that's the guy that writes low level content for windows now i'm pretty sure that this

00:10:36.639 --> 00:10:45.640
<v Calvin Hendryx-Parker>electron app feels like an electron app no matter where you're at and it's like it just feels a little sometimes it feels suboptimal so i'm really well done but that is the way to do it right there

00:10:46.060 --> 00:10:51.239
<v Michael Kennedy>yeah so i think this is a neat uh neat tool that i've run across and just um happy to share it

00:10:51.260 --> 00:11:13.860
<v Michael Kennedy>Yeah. Let's see a little bit of real time feedback. Alfred says, don't care much for the color of fonts, but the logarithmic X axis graph is a very cool idea. Yeah. You have like six different choices of color palettes and you've got a dark mode and a light mode as well. And I would, I'll just add like for people listening, if you liked Winamp, do you remember Winamp? Was that one of the most insane?

00:11:14.400 --> 00:11:17.600
<v Michael Kennedy>I'm a big fan of Winamp. I haven't met a long time ago.

00:11:18.460 --> 00:11:20.340
<v Michael Kennedy>You could change the shape of Winamp.

00:11:21.270 --> 00:11:23.140
<v Michael Kennedy>Your Winamp could be completely different from anyone.

00:11:23.340 --> 00:11:26.540
<v Michael Kennedy>It's an audio player from back when, like, hey, let's put something on the computer.

00:11:26.660 --> 00:11:27.400
<v Michael Kennedy>Look, it plays audio.

00:11:27.410 --> 00:11:28.080
<v Michael Kennedy>It was so amazing.

00:11:29.360 --> 00:11:31.340
<v Michael Kennedy>If you like Winamp, you'll probably like this thing.

00:11:32.400 --> 00:11:33.840
<v Michael Kennedy>It's kind of the feel I get for it.

00:11:34.660 --> 00:11:34.900
<v Michael Kennedy>Nice.

00:11:35.580 --> 00:11:35.860
<v Michael Kennedy>All right.

00:11:37.700 --> 00:11:39.040
<v Michael Kennedy>The Rapture, what is going on here?

00:11:39.060 --> 00:11:41.700
<v Michael Kennedy>This is a very important spelling, not phonetic sort of thing.

00:11:41.930 --> 00:11:42.520
<v Calvin Hendryx-Parker>Yeah, it is.

00:11:42.570 --> 00:11:43.580
<v Calvin Hendryx-Parker>It is very important spelling.

00:11:44.820 --> 00:11:56.400
<v Calvin Hendryx-Parker>this is about a new library available to folks. If you are familiar with Graham Dumpleton, which many of you probably are, maybe don't know it, but he's the original author of the New Relic Python

00:11:56.660 --> 00:12:09.460
<v Calvin Hendryx-Parker>agent. And so thinking of someone who has their software in the critical path of many, many production applications, he is also the author of Wrapped. So Wrapped was a library for dealing with

00:12:09.460 --> 00:12:15.700
<v Calvin Hendryx-Parker>the mechanics of monkey patching in Python, which I'm not a fan of monkey patching, but if you got you want to do it the right way.

00:12:15.960 --> 00:12:18.940
<v Calvin Hendryx-Parker>This is probably a person who's thought deeply about how that should be done.

00:12:19.360 --> 00:12:22.740
<v Calvin Hendryx-Parker>But wrapture is wrapped plus capture.

00:12:23.420 --> 00:12:30.300
<v Calvin Hendryx-Parker>The core idea is to wrap real code instead of replacing it so that the real code still runs while you watch every call.

00:12:30.570 --> 00:12:32.440
<v Calvin Hendryx-Parker>So you get a new method.

00:12:33.120 --> 00:12:41.020
<v Calvin Hendryx-Parker>Basically, you wrap a method with your wrapture call, open up a timeline, and then you get like a play tape of what actually happened.

00:12:41.330 --> 00:12:46.980
<v Calvin Hendryx-Parker>And you can actually do a tape.tree and you can actually print out the call graph as it ran.

00:12:47.020 --> 00:12:50.340
<v Calvin Hendryx-Parker>So you can see all the args that got sent to that specific call.

00:12:50.900 --> 00:12:52.360
<v Calvin Hendryx-Parker>You can see how it ran.

00:12:52.640 --> 00:12:54.680
<v Calvin Hendryx-Parker>And so it's a really cool mechanism.

00:12:54.980 --> 00:12:57.100
<v Michael Kennedy>But it does sound like an awesome debugging tool.

00:12:57.440 --> 00:12:57.920
<v Michael Kennedy>Oh, my God.

00:12:58.720 --> 00:12:59.320
<v Calvin Hendryx-Parker>Yeah, totally.

00:13:00.260 --> 00:13:00.440
<v Calvin Hendryx-Parker>Yeah.

00:13:01.040 --> 00:13:05.240
<v Calvin Hendryx-Parker>So you get monkey patching with a real life cycle.

00:13:05.600 --> 00:13:11.540
<v Calvin Hendryx-Parker>You can actually apply them, remove them, suspend them, plus returns, raises, transforms.

00:13:11.980 --> 00:13:22.360
<v Calvin Hendryx-Parker>there's a whole bunch of like functionality and features that now provides you if you're doing this. You also get a unit testing that can assert on real call flow instead of again and against

00:13:22.900 --> 00:13:32.920
<v Calvin Hendryx-Parker>normalized against like real call signatures. And then you get the tape tree thing that, or I'm sorry, you get the tape tree that prints out the graph as it ran. So it's kind of cool

00:13:33.040 --> 00:13:42.700
<v Calvin Hendryx-Parker>that you get this ad hoc tracing of a running app in real time. What I mean, I mentioned the injecting calls. So if you're doing unit testing against your application,

00:13:43.680 --> 00:13:54.820
<v Calvin Hendryx-Parker>and I'll give a shout out to Brian Okken's new Lean TDD book here. He mentions in his book, he's not a fan of mocks because they can do a little more heavy lifting than most folks probably

00:13:54.930 --> 00:14:05.360
<v Calvin Hendryx-Parker>should be doing with mocking as part of this testing operation. This gives you a better way, a more structured way to do that. You can do things like inject, for example, into the call

00:14:05.460 --> 00:14:17.060
<v Calvin Hendryx-Parker>in real time into the real code, a timeout error. So if you're trying to simulate maybe a network connection out to a payment gateway, and you want to inject a timeout error in there, so you know

00:14:17.060 --> 00:14:29.420
<v Calvin Hendryx-Parker>how your code would react to the timeout error, you can basically stub and mocks are strict, and they're spec required. And there's basically no bare mocks allowed with this set of tools. So

00:14:29.460 --> 00:14:42.900
<v Calvin Hendryx-Parker>it gives you a very strict framework to run in that gives you all the pieces you want. And so then tracing needs no code at all. So you mentioned tracing. If you actually want to be able to do tracing with wrapture, there's a Toml file configuration that you can put in there.

00:14:43.380 --> 00:14:48.880
<v Calvin Hendryx-Parker>You can define all your targets and then a sync, which is where all the data kind of goes to you.

00:14:49.200 --> 00:14:58.020
<v Calvin Hendryx-Parker>And then you run it with the wrapture turned on and you get a live tree call from all the, with all the timings for everything you just configured in the wrapture Toml file.

00:14:58.430 --> 00:15:08.800
<v Calvin Hendryx-Parker>You did not have to modify your own Python code to enable that. So you can get all that tracing logged. You know, it's a really cool tool. Another cool thing about the project is,

00:15:09.760 --> 00:15:21.200
<v Calvin Hendryx-Parker>and there's a really good write-up here, obviously, from Graham on this, the whole thing was built on with AI on purpose. So he gives a really good mini essay inside of the blog post about his

00:15:21.440 --> 00:15:32.980
<v Calvin Hendryx-Parker>opinions about Vibe Coding, agentic engineering, why he wrote it this way with agentic code, or agentic code agents, and how he was intentional about his usage of AI in writing this and doing it

00:15:32.940 --> 00:15:38.680
<v Calvin Hendryx-Parker>all up front. So I thought those are a good way to convey to folks, you know, how this was made and

00:15:38.840 --> 00:15:48.180
<v Michael Kennedy>why it was made with AI. It's very interesting. And it's cool that he calls it out. I do think it's so interesting. He says like, we get a lot of submissions for the show for show topics. And

00:15:48.220 --> 00:16:00.300
<v Michael Kennedy>I've noticed a lot more coming in lately from just AI generated stuff. Like, Hey, here's a project I created. And it's not only is the project created with AI, but the email was written with AI and

00:16:00.320 --> 00:16:01.020
<v Calvin Hendryx-Parker>I'm like, oh, please.

00:16:01.210 --> 00:16:01.320
<v Michael Kennedy>Okay.

00:16:03.640 --> 00:16:07.740
<v Michael Kennedy>I'm not going to tell people how I know, but it's absolutely obvious because humans wouldn't write this way.

00:16:07.790 --> 00:16:09.480
<v Michael Kennedy>Because if I tell them, then they're going to stop doing it.

00:16:09.520 --> 00:16:10.680
<v Michael Kennedy>They'll have to figure out a way to find out.

00:16:11.080 --> 00:16:16.980
<v Michael Kennedy>But as you know, we're both like, we see AI as a pretty incredible tool.

00:16:17.400 --> 00:16:17.660
<v Calvin Hendryx-Parker>Yes.

00:16:18.000 --> 00:16:24.300
<v Michael Kennedy>But I also, what you can't tell really easily is how much thought from the human has gone into it.

00:16:24.390 --> 00:16:29.820
<v Michael Kennedy>And then maybe an implementation with the AI versus just some kind of like one big prompt and let's see what comes out.

00:16:29.960 --> 00:16:30.400
<v Michael Kennedy>You know what I mean?

00:16:30.760 --> 00:16:30.820
<v Calvin Hendryx-Parker>Yep.

00:16:31.800 --> 00:16:40.160
<v Calvin Hendryx-Parker>Another thing to note again on this project, while this is not in itself a production APM, it's a toolkit that APM-like things could build on.

00:16:40.440 --> 00:16:46.420
<v Calvin Hendryx-Parker>It's also not a competitor to open telemetry, but it emits open telemetry rather than trying to replace it.

00:16:46.560 --> 00:16:49.680
<v Calvin Hendryx-Parker>So it can play alongside of all your existing OTEL tools.

00:16:50.580 --> 00:16:57.340
<v Calvin Hendryx-Parker>Again, if I was wanting one of these things to put in place into my applications, I think I'd trust that coming from a person like Graham.

00:16:57.620 --> 00:16:58.480
<v Calvin Hendryx-Parker>Yeah, super cool.

00:16:58.660 --> 00:17:15.220
<v Michael Kennedy>I'm going to be interviewing Pablo and Laszlo about the Python 3.15 profiler changes that allow you to do production profiling without, you know, just attached to like some production code and just do profiling there soon on Python.

00:17:15.540 --> 00:17:17.240
<v Michael Kennedy>So, yeah, it feels like this lives in that space.

00:17:17.699 --> 00:17:18.540
<v Calvin Hendryx-Parker>Yeah, it does live in that space.

00:17:18.699 --> 00:17:27.079
<v Calvin Hendryx-Parker>It's kind of cool that you could basically configure the Toml file, restart the app in real time, turn on tracing and see what's going on and then tell it to turn itself off.

00:17:27.339 --> 00:17:27.480
<v Calvin Hendryx-Parker>Yeah.

00:17:27.780 --> 00:17:28.439
<v Michael Kennedy>Yeah, that's really cool.

00:17:28.700 --> 00:17:41.760
<v Michael Kennedy>Really cool. All right. Let's jump over to my last item here, which is LinkedIn. I get a comment LinkedIn to Markdown or LinkedIn to MD. Now this is a project that does not have a ton of stars or

00:17:41.860 --> 00:17:47.420
<v Michael Kennedy>anything like that. But I think there's a lot of people out there for whom the job space is changing.

00:17:47.960 --> 00:17:55.680
<v Michael Kennedy>And a lot of these companies are using AI and stuff like that to pre-filter resumes. And it's like, To stand a chance, you know what I mean?

00:17:56.160 --> 00:18:03.000
<v Michael Kennedy>So this thing, what it lets you do is it lets you download your own LinkedIn data.

00:18:03.040 --> 00:18:05.360
<v Michael Kennedy>So you can go to LinkedIn and say, export all of my data.

00:18:05.800 --> 00:18:08.660
<v Michael Kennedy>And in here somewhere, it shows you what to do.

00:18:08.700 --> 00:18:10.860
<v Michael Kennedy>So you get some LinkedIn export, right?

00:18:10.980 --> 00:18:14.800
<v Michael Kennedy>And so this is just a CLI that you can say, LinkedIn to Markdown.

00:18:15.240 --> 00:18:22.500
<v Michael Kennedy>Give it your zip file, and it generates over 40 different analysis and views of you.

00:18:23.180 --> 00:18:24.580
<v Michael Kennedy>According to LinkedIn, at least.

00:18:25.000 --> 00:18:29.280
<v Michael Kennedy>And it gives you like a CV or a resume that you can submit.

00:18:30.160 --> 00:18:32.080
<v Michael Kennedy>All kinds of things it gives you here.

00:18:32.290 --> 00:18:38.380
<v Michael Kennedy>You can run Notebook LM against it or chat or Olama and ask it about yourself.

00:18:38.920 --> 00:18:45.120
<v Michael Kennedy>So it'll create a profile, your experience, your education, your skills, all your endorsements, what you've learned.

00:18:45.420 --> 00:18:47.140
<v Michael Kennedy>I feel it'll generate, like I said, the PDF.

00:18:48.440 --> 00:18:52.800
<v Michael Kennedy>It's configured to work with open code in the N3RV orchestration framework.

00:18:53.080 --> 00:18:54.300
<v Michael Kennedy>So you can work with it more.

00:18:54.540 --> 00:19:01.360
<v Michael Kennedy>Anyway, I just think this is a pretty interesting thing for folks out there, you know, job hunting or wanting to make themselves stand out of the way.

00:19:01.700 --> 00:19:02.540
<v Michael Kennedy>I'm already a fan.

00:19:03.520 --> 00:19:03.840
<v Michael Kennedy>Exactly.

00:19:04.010 --> 00:19:05.860
<v Michael Kennedy>When I saw Markdown, I'm like, oh, yeah, I like it.

00:19:05.910 --> 00:19:06.020
<v Michael Kennedy>Okay.

00:19:07.360 --> 00:19:08.940
<v Calvin Hendryx-Parker>It's the LLM analysis.

00:19:09.450 --> 00:19:19.040
<v Calvin Hendryx-Parker>I guess you're giving it good context because you're taking the LinkedIn data and put it into a format that the LLMs, the Generative AI pieces can do something more with.

00:19:19.360 --> 00:19:27.320
<v Michael Kennedy>Yeah, I think the basic idea is take every bit of data that LinkedIn has about you and convert it into structured, known markdown.

00:19:27.480 --> 00:19:29.400
<v Michael Kennedy>And now you can do all sorts of things with it.

00:19:29.680 --> 00:19:29.820
<v Calvin Hendryx-Parker>Yeah.

00:19:30.600 --> 00:19:31.420
<v Calvin Hendryx-Parker>Did you try it?

00:19:31.420 --> 00:19:33.380
<v Michael Kennedy>Did you get any interesting insights about your career, Mike?

00:19:33.540 --> 00:19:34.160
<v Michael Kennedy>I have not.

00:19:34.200 --> 00:19:44.360
<v Michael Kennedy>I honestly, I haven't done enough with LinkedIn lately, though I can tell you, I do frequently get, hey, your colleagues at the Python Software Foundation are doing X, Y, and Z.

00:19:44.660 --> 00:19:55.980
<v Michael Kennedy>could you connect me with somebody because i put i'm that i'm a psf fellow yeah on my linkedin oh now they all think i work for the psf i don't work for them i just there's this designation so

00:19:55.980 --> 00:20:07.900
<v Calvin Hendryx-Parker>i put it on my linkedin yeah i get the same thing for indypi people want to provide offshore development services for my local python user group called indypi well i'm sure that it needs a huge

00:20:08.600 --> 00:20:19.340
<v Michael Kennedy>development team yay bots and ai or could they interest you maybe in uh some automation using ai have you thought about this calvin i don't know that maybe i get it all the time

00:20:21.520 --> 00:20:25.420
<v Michael Kennedy>i just it makes me want to go play a game it makes me want to just check out and just play

00:20:25.480 --> 00:20:31.260
<v Calvin Hendryx-Parker>a game on python 3 you know what you could play a game on python 3 soon uh have you ever played

00:20:31.440 --> 00:20:40.980
<v Michael Kennedy>eve online a little bit i had uh christian one of the folks behind eve way back in the day uh in

00:20:41.000 --> 00:20:53.620
<v Michael Kennedy>2026 who uh to talk about running python that backs um eve online and it's a massive amount of compute and stuff that their mass their their mmo does and in fact i just spoke with him yesterday

00:20:54.180 --> 00:20:58.340
<v Michael Kennedy>about this article and we're going to do a talk python episode diving into it with the team i think

00:20:58.340 --> 00:21:10.960
<v Calvin Hendryx-Parker>it's worthy it's worthy of a great talk because this is probably one of the more massive moves from python 2 to python 3 and it's not just standard python 2 it's the whole uh was it stackless

00:21:10.980 --> 00:21:18.080
<v Calvin Hendryx-Parker>to, yeah, stackless Python 2.5. They did a migration in 2007 to 2.7. And in 2010, they went to 2.7.

00:21:18.520 --> 00:21:28.560
<v Calvin Hendryx-Parker>In 2007, they went to 2.5. So it's got to be one of the larger code bases out there that is still running. I'm sure it's the largest code base still running Python 2. And they're talking about the

00:21:28.930 --> 00:21:41.220
<v Calvin Hendryx-Parker>move to Python 3. And so they are seeing a huge performance boost by potentially moving into Python 3.0. Nothing else. They're going to enjoy life a lot better, not being on some weird, I'm sorry, I shouldn't say weird.

00:21:41.470 --> 00:21:51.720
<v Calvin Hendryx-Parker>An alternate implementation of Python 2, they're going to move into probably a more standard Python 3 world since we have these threadless capabilities built into Python 3 now.

00:21:52.300 --> 00:21:53.460
<v Calvin Hendryx-Parker>But it's a big community.

00:21:53.620 --> 00:21:54.620
<v Calvin Hendryx-Parker>I'm not a gamer.

00:21:55.460 --> 00:21:56.380
<v Calvin Hendryx-Parker>I take that back.

00:21:56.380 --> 00:21:59.000
<v Calvin Hendryx-Parker>I look like a gamer because I've got all this cool gaming gear around me.

00:21:59.710 --> 00:22:05.320
<v Calvin Hendryx-Parker>But it is probably one of the bigger Python news items in the gaming ecosystem.

00:22:05.800 --> 00:22:06.640
<v Calvin Hendryx-Parker>So that's pretty cool.

00:22:07.320 --> 00:22:09.660
<v Michael Kennedy>I was a gamer when I was younger.

00:22:09.860 --> 00:22:10.960
<v Michael Kennedy>And for a long time, I was not.

00:22:11.140 --> 00:22:14.520
<v Michael Kennedy>But in the last four or five years, I've really gotten into it with my daughter.

00:22:14.650 --> 00:22:19.200
<v Michael Kennedy>We'll do like cooperative games, like Small Lands or Subnautica or something.

00:22:19.380 --> 00:22:21.140
<v Michael Kennedy>And we're just having a really nice time.

00:22:21.640 --> 00:22:22.840
<v Michael Kennedy>So let's see.

00:22:23.450 --> 00:22:26.300
<v Michael Kennedy>I asked a little bit of asking here.

00:22:26.600 --> 00:22:33.860
<v Michael Kennedy>And it says that there's typically around 20,000 online playing on Tranquility on a typical day.

00:22:34.420 --> 00:22:36.200
<v Michael Kennedy>Yeah, that's pretty high.

00:22:36.300 --> 00:22:36.900
<v Michael Kennedy>And I don't know.

00:22:36.940 --> 00:22:38.020
<v Michael Kennedy>I'm still trying to figure out how many.

00:22:38.380 --> 00:22:40.840
<v Michael Kennedy>There's something around half a million registered users.

00:22:41.540 --> 00:22:41.620
<v Michael Kennedy>Yeah.

00:22:42.140 --> 00:22:42.460
<v Calvin Hendryx-Parker>They're moving.

00:22:42.580 --> 00:22:43.260
<v Calvin Hendryx-Parker>A million players.

00:22:43.420 --> 00:22:43.560
<v Michael Kennedy>Yeah.

00:22:43.820 --> 00:22:45.500
<v Calvin Hendryx-Parker>2.4 million lines of Python.

00:22:45.980 --> 00:22:48.040
<v Calvin Hendryx-Parker>Like that's a hard number to wrap your head around.

00:22:48.520 --> 00:22:48.720
<v Michael Kennedy>Yeah.

00:22:49.080 --> 00:22:49.800
<v Michael Kennedy>It's an amazing project.

00:22:50.300 --> 00:22:50.380
<v Michael Kennedy>So.

00:22:50.620 --> 00:22:50.680
<v Calvin Hendryx-Parker>Yeah.

00:22:50.960 --> 00:22:51.460
<v Calvin Hendryx-Parker>There's nothing else.

00:22:51.560 --> 00:22:55.560
<v Calvin Hendryx-Parker>Go look at the blog post just for the beautiful like space art that is included in it.

00:22:56.360 --> 00:22:58.880
<v Michael Kennedy>And don't you like how they presented it?

00:22:59.100 --> 00:23:02.440
<v Michael Kennedy>It's the move to Python 3.

00:23:02.700 --> 00:23:04.880
<v Michael Kennedy>It's like a game launch, right?

00:23:05.240 --> 00:23:05.340
<v Calvin Hendryx-Parker>Yeah.

00:23:05.480 --> 00:23:06.240
<v Calvin Hendryx-Parker>It's like you're in the mission.

00:23:06.740 --> 00:23:08.300
<v Calvin Hendryx-Parker>Like the move to Python 3 is the mission.

00:23:09.860 --> 00:23:10.340
<v Michael Kennedy>Yeah, yeah, yeah.

00:23:10.400 --> 00:23:13.260
<v Michael Kennedy>It's like we're doing the mission of the migration.

00:23:14.100 --> 00:23:17.540
<v Michael Kennedy>I'm not logged in the right place to look, so I'm not entirely sure.

00:23:17.920 --> 00:23:21.360
<v Michael Kennedy>But someone else sent this over as a, hey, you should check.

00:23:21.440 --> 00:23:22.920
<v Michael Kennedy>Actually, it was LinkedIn of all places.

00:23:23.280 --> 00:23:24.820
<v Michael Kennedy>Hey, you should check this out and share this with me.

00:23:25.040 --> 00:23:25.820
<v Michael Kennedy>So that's super cool.

00:23:25.940 --> 00:23:26.800
<v Michael Kennedy>I might've been Sam.

00:23:26.960 --> 00:23:27.700
<v Michael Kennedy>So thanks for sending it over.

00:23:28.220 --> 00:23:28.700
<v Michael Kennedy>But yeah.

00:23:28.960 --> 00:23:33.220
<v Calvin Hendryx-Parker>I got one other extra, which is kind of falling in line with my extras from last week.

00:23:33.560 --> 00:23:41.480
<v Calvin Hendryx-Parker>If you are on old hardware, I think last week I mentioned or just different kinds of hardware where Python may not be supported as well.

00:23:42.120 --> 00:23:45.560
<v Calvin Hendryx-Parker>Last week I mentioned some of the RISC-V hardware.

00:23:46.140 --> 00:23:53.820
<v Calvin Hendryx-Parker>This week, uv now gains S390, PowerPC, and long Arch64 support.

00:23:54.140 --> 00:24:04.640
<v Calvin Hendryx-Parker>So if you have got some friends who are on mainframes or the Power Platform, you're now gonna have the ability to use uv as a version 12.7 or 0.12.7.

00:24:04.940 --> 00:24:05.480
<v Michael Kennedy>Wow.

00:24:06.040 --> 00:24:11.680
<v Michael Kennedy>So is that uv itself or is that to the Python install for uv?

00:24:12.140 --> 00:24:14.400
<v Calvin Hendryx-Parker>That here, I actually, I popped it open here.

00:24:15.600 --> 00:24:22.340
<v Calvin Hendryx-Parker>uv itself is getting the Linux support for S390X, PowerPC, 64.

00:24:22.920 --> 00:24:23.320
<v Calvin Hendryx-Parker>Nice.

00:24:23.440 --> 00:24:24.460
<v Calvin Hendryx-Parker>That must be a breath.

00:24:24.900 --> 00:24:26.780
<v Calvin Hendryx-Parker>For cross-platform dependency resolution.

00:24:26.880 --> 00:24:33.320
<v Calvin Hendryx-Parker>So it's not the download and install of Python, but it is the dependency management for those platforms.

00:24:34.000 --> 00:24:37.580
<v Michael Kennedy>Like the uv add or uv sync or uv pip install, et cetera.

00:24:37.760 --> 00:24:37.840
<v Michael Kennedy>Yeah.

00:24:37.990 --> 00:24:38.080
<v Michael Kennedy>Cool.

00:24:38.340 --> 00:24:41.960
<v Calvin Hendryx-Parker>If you were feeling left out and left behind because you're on a main frame or power, good news.

00:24:42.540 --> 00:24:45.140
<v Calvin Hendryx-Parker>You're, you can go upgrade and check out uv now.

00:24:45.480 --> 00:24:45.600
<v Michael Kennedy>Yeah.

00:24:45.760 --> 00:24:55.220
<v Michael Kennedy>And, one more, a really nice sign of dedication and activity from the astral team within OpenAI, because I know that was a concern three, four months ago, right?

00:24:55.540 --> 00:24:55.620
<v Calvin Hendryx-Parker>Yep.

00:24:55.880 --> 00:24:56.160
<v Michael Kennedy>All right.

00:24:56.310 --> 00:24:59.860
<v Michael Kennedy>I have got, one extra as well.

00:25:00.260 --> 00:25:00.900
<v Michael Kennedy>Let's see.

00:25:01.320 --> 00:25:06.460
<v Michael Kennedy>I want to just give a quick shout out to Will McGugan from Textual Enrich and all that.

00:25:06.650 --> 00:25:11.580
<v Michael Kennedy>He is releasing this project called Dinkus, a distraction-free markdown studio for Mac.

00:25:12.120 --> 00:25:15.260
<v Michael Kennedy>So no account, works offline, but it looks really nice.

00:25:15.440 --> 00:25:20.640
<v Michael Kennedy>It's got, it's like sort of markdown plus more, really, you know, really neat stuff here.

00:25:21.040 --> 00:25:27.300
<v Michael Kennedy>Like really nice work with tables and images and stuff that's typically not the best, you know, syntax highlighting for code and so on.

00:25:27.690 --> 00:25:30.320
<v Michael Kennedy>Stuff that's not great for typical markdown stuff.

00:25:30.600 --> 00:25:33.700
<v Michael Kennedy>I will point out that I kind of feel like it needs a bit.

00:25:34.520 --> 00:25:38.040
<v Michael Kennedy>It's not quite 100% ready and probably Will knows that.

00:25:38.220 --> 00:25:42.680
<v Michael Kennedy>But like, for example, it has this typewriter mode, which is sort of a non-standard, you know, it's like more for writers.

00:25:43.160 --> 00:25:45.320
<v Michael Kennedy>You can't tell it to not start in a typewriter mode.

00:25:45.480 --> 00:25:47.740
<v Michael Kennedy>So every file you open, you've got to find like a way to turn it off.

00:25:47.740 --> 00:25:49.000
<v Michael Kennedy>And there's not a hotkey to turn it off.

00:25:49.080 --> 00:25:50.380
<v Michael Kennedy>You've got to find the button.

00:25:50.520 --> 00:25:50.760
<v Michael Kennedy>You know what I mean?

00:25:50.840 --> 00:25:51.500
<v Michael Kennedy>Like that kind of stuff.

00:25:51.620 --> 00:25:56.620
<v Michael Kennedy>Like it's early days, but it's still, it's on sale for, what is it?

00:25:57.120 --> 00:25:57.440
<v Michael Kennedy>$9.

00:25:58.100 --> 00:25:58.640
<v Michael Kennedy>So yeah.

00:25:58.900 --> 00:26:00.140
<v Michael Kennedy>If you want to support Will, definitely.

00:26:00.240 --> 00:26:01.080
<v Calvin Hendryx-Parker>Let's take the support Will.

00:26:01.760 --> 00:26:02.040
<v Calvin Hendryx-Parker>Nothing else.

00:26:02.560 --> 00:26:05.040
<v Calvin Hendryx-Parker>It's probably a good way of supporting Will and all the things he's been doing.

00:26:05.330 --> 00:26:07.340
<v Michael Kennedy>Yeah, a few people have used Will's work.

00:26:07.780 --> 00:26:14.860
<v Michael Kennedy>For example, over a billion downloads for rich and textual, I believe, which is an insane contribution for an individual.

00:26:15.160 --> 00:26:16.600
<v Michael Kennedy>So worth thinking about.

00:26:16.780 --> 00:26:21.520
<v Michael Kennedy>All right, shall we close this out with a little bit of Eastern philosophy?

00:26:21.980 --> 00:26:22.700
<v Calvin Hendryx-Parker>No, we shall.

00:26:22.980 --> 00:26:23.320
<v Michael Kennedy>We shall.

00:26:23.680 --> 00:26:24.320
<v Michael Kennedy>I'm going to come back.

00:26:24.660 --> 00:26:27.520
<v Michael Kennedy>I'm going to come back to the Tao of programming one more time here.

00:26:27.780 --> 00:26:42.560
<v Michael Kennedy>Remember this, if people didn't listen time. This is a book that is like, some of the philosophies like Tao Te Ching sort of thing, but, but for, you know, a lot of sort of master student karate type of stuff, but for

00:26:42.820 --> 00:26:56.639
<v Michael Kennedy>programming. So we're going to do a little, a few readings from book five maintenance. Thus, this is, we, we closed out with it, but I got to do it again because it's short. It's so good. Thus spake the master programmer, though a program be but three lines long someday it will have to be

00:26:56.660 --> 00:27:08.900
<v Michael Kennedy>maintain this is true as well as wiser words have never been spoken exactly 5.1 a well-used door needs no oil on its hinges a swift flowing stream does not grow stagnant neither sound nor thoughts

00:27:09.060 --> 00:27:14.100
<v Michael Kennedy>can travel through a vacuum software rots if not used these are great mysteries it's true about the

00:27:14.240 --> 00:27:27.520
<v Calvin Hendryx-Parker>rot folks ask about that because you know people who have software developed for them think it's done like and we release and they run and then something breaks and like well what happened like well, the rest of the world around your software changed.

00:27:27.980 --> 00:27:30.100
<v Calvin Hendryx-Parker>And that's where a lot of the rot happens that you don't control.

00:27:30.420 --> 00:27:31.160
<v Michael Kennedy>And it's true.

00:27:31.340 --> 00:27:34.100
<v Michael Kennedy>And it's real, I think it's an insightful part of programming actually, right?

00:27:34.320 --> 00:27:38.720
<v Michael Kennedy>Like if you keep using it, eventually you'll see there's little issues and you'll get them fixed.

00:27:39.040 --> 00:27:43.340
<v Michael Kennedy>But if you don't, you come back 10 years later or whatever, you're like, oh, study would start.

00:27:43.520 --> 00:27:44.880
<v Calvin Hendryx-Parker>The world is not a static place.

00:27:45.380 --> 00:27:51.220
<v Michael Kennedy>I'll leave a few passages for other folks, but we'll close it out with, does a good farmer neglect a crop he has planted?

00:27:51.600 --> 00:27:54.140
<v Michael Kennedy>Does a good teacher overlook even the most humble student?

00:27:54.580 --> 00:28:05.420
<v Michael Kennedy>does a good father allow a single child to starve does a good programmer refuse to maintain their code deep thoughts or in the in the terms of like pop culture things that make you go hmm

00:28:06.370 --> 00:28:10.160
<v Calvin Hendryx-Parker>or rap from the 90s whatever you call it i'm definitely not letting my kids starve so i

00:28:10.650 --> 00:28:19.240
<v Michael Kennedy>so you better get out there and maintain your code obviously we'll maintain my code exactly all right well calvin thanks for being here kind of reminds me of the old

00:28:19.380 --> 00:28:23.660
<v Calvin Hendryx-Parker>business software uh alliance would you you wouldn't steal a car would you

00:28:26.200 --> 00:28:36.980
<v Michael Kennedy>exactly put put your um napster down yeah but don't do you know what your napster's doing it's 10 10 p.m all right thanks so much calvin see you later all right talk to you