Python Bytes - #494 Python Wrapture

Episode Date: September 1, 2026

Topics covered in this episode: OpenAI's Python SDK has migrated to HTTPX2 TMOG - Native Task Manager for macOS, Windows, and Linux wrapture - one wrapper for mocking, tracing, and observability li...nkedin2md: turn your LinkedIn export into 40+ Markdown files Extras Joke Watch on YouTube About the show Sponsored by us! Support our work through: Our courses at Talk Python Consulting from Six Feet Up Connect with the hosts Michael: Mastodon / BlueSky / X / LinkedIn Calvin: Mastodon / BlueSky / X / LinkedIn Show: Mastodon / BlueSky / X Join us on YouTube at pythonbytes.fm/live to be part of the audience. Usually Tuesday at 7am PT. Older video versions available there too. Finally, if you want an artisanal digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Calvin #1: OpenAI's Python SDK has migrated to HTTPX2 The OpenAI Python SDK has migrated to HTTPX2, the Pydantic-stewarded fork of httpx. Pydantic picked it up citing "limited activity recently" in the original project, promising "a reliably maintained path forward." If you just use the default client, nothing to do. No code changes. The catch is TLS. Quoting the guide: HTTPX "previously verified certificates against the CA bundle provided by certifi. HTTPX2 instead uses the operating-system trust store, and the SDK no longer installs certifi." That "can break certificate verification in minimal container images without system CA certificates, environments using corporate TLS-inspecting proxies, and deployments that relied on a custom or modified certifi bundle." The fix is SSL_CERT_FILE or SSL_CERT_DIR, or pass your own ssl.SSLContext via verify. Deeper integrations need real edits: custom clients, auth handlers, hooks, and request mocking all take HTTPX2 objects now, and plain httpx is no longer pulled in transitively. So import httpx in your own code means declaring it yourself or moving over. Temporary escape hatch: a legacy HTTPX client Michael #2: TMOG - Native Task Manager for macOS, Windows, and Linux A native, deeply instrumented system monitor for macOS, Windows, and Linux, now in public beta - from Plummers' Software, i.e. Dave Plummer, who wrote the original Windows Task Manager and donated it to Microsoft in 1995. Wikipedia Three real native apps: Swift/AppKit on macOS, Win32 on Windows, C++/Qt 6 on Linux, with a shared C++ core keeping metric semantics aligned - no browser shell anywhere. One dense summary: CPU, clocks, thermals, GPU, memory, storage, network, energy, and the processes responsible for the load, all click-through. Per-core honesty: logical processor and NUMA views, P and E cores color-coded, optional kernel time, 60 FPS live meters. Memory with context: pressure, wired, compressed, cached, committed, available, and swap, plus configurable scrolling history. Processes that act like processes: tree view, filtering, sorting, follow mode, and native verbs including service and launchd control. Phosphor themes: light, dark, green, amber, blue, or mono, with color and saturation you tune yourself. Calvin #3: wrapture - one wrapper for mocking, tracing, and observability Graham Dumpleton, author of wrapt and the original New Relic Python agent, has released wrapture. The name is wrapt plus capture. The core idea: wrap real code instead of replacing it, so the real code still runs while you watch every call. Name a method with wrapture.binding(Class, "method"), open a timeline(), and you get a tape of what actually happened. Real return values, real nesting, arguments normalised against real signatures. tape.tree() prints the call graph as it ran. One mechanism, three jobs: monkey patching with a real lifecycle (apply, remove, suspend, plus returns, raises, transforms_args), unit testing that asserts on real call flow instead of a flat MagicMock call list, and ad-hoc tracing of a running app. The testing pitch is error paths. Inject TimeoutError at the payment gateway, then assert the ledger was never written. Stubs and mocks are strict and spec-required, and there is deliberately no bare Mock(). Tracing needs no code at all. A wrapture.toml naming targets and a sink, run with python -m wrapture main.py, and you get a live call tree with timings. It captures ordinary logging calls as nested events, and with the otel extra it exports spans, metrics and correlated logs with W3C trace ids that join across services. Every line of code and docs was AI-written under their direction, and they say so up front. Two weeks from first commit, eleventh alpha, over 1000 tests, 150+ pages of docs. Alpha on PyPI, needs Python 3.12+ and wrapt 2.4.0+. Michael #4: linkedin2md: turn your LinkedIn export into 40+ Markdown files Via Juan Manuel Daza - a Python CLI that unpacks LinkedIn's data-export ZIP into clean, per-category Markdown you can drop straight into an LLM. One command: linkedin2md Complete_LinkedInDataExport.zip, plus o for output dir, -lang en|es, and -pdf. 40+ output files: profile, experience, education, skills, connections, posts, comments, reactions, recommendations, endorsements, job applications, even ad targeting and LinkedIn's inferences about you. Built for LLM analysis: the README pitches NotebookLM, Claude Projects, Obsidian, and Ollama, with example prompts like "what patterns do you see in my career transitions?" PDF resume mode: -pdf renders an A4 CV via weasyprint, and degrades gracefully to Markdown-only if it isn't installed. Dependency note: "pure Python / zero-dep" holds for the Markdown path only - the PDF path needs weasyprint and markdown installed. Install: pipx install linkedin2md recommended, pip in a venv otherwise - 86% Python, 10 releases, v0.3.1 in May. Agentic dev angle: repo ships opencode config and an N3RV subagent pipeline, including a "judgment day" dual-model adversarial PR review. Extras Calvin: EVE Online Migrates to Python 3 Michael: Dinkus by Will McGugan Joke: Tao of Programming: Book 5 Maintenance

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds. This is episode 494. Recorded September 1st, 2026. Calvin, can you believe it is September? It is my birthday month. Well, awesome. I'm excited for your birthday. I'm excited to be here. Let's do this. Yeah, I'm Michael Kennedy. And I'm Calvin Hendix Parker. And this episode is brought to you by us. Check out six feet up if you have a impactful, meaningful consulting project. They focus on that kind of stuff and they solve the hard problems.
Starting point is 00:00:29 so you keep on doing what you do. If you want to learn things about Python, we have over 285 hours of Python courses at Talk Python Training. So also check that out as well. Sign up to the newsletter. Follow us on the socials and watch the live stream if you wish. All that stuff is in the show notes. I wish to know what you're looking to do,
Starting point is 00:00:51 what you're looking to talk about. HTTPX2, amazing. I have thoughts. I know you do because I've seen you use it. So if you all haven't moved over to HTTPX2, probably a good time to do so. I think in May of this year, the Pidentic folks took over the HTTPX project and renamed it to HDPX2. So if you're wondering about the naming from HGPX to HDPX2, that is what that is about. It's gotten a little more visibility.
Starting point is 00:01:20 I think it was mentioned on a couple lists here in August, but it actually happened back in May. The more kind of important news right now is that the overall, open AI Python SDK has moved to HTTPX2, which I'm sure there's a lot of folks out there who are writing agentic apps or are 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 Pidentic. If you're just using the default client, 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 the new OpenAI Python SDK. The bit that's going to trip you up if you're doing some
Starting point is 00:02:03 special stuff, like for example, if you're using a really stripped down container that may not include 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 the operating system trust store. So the workaround for that is to pass in your own SSL cert files, your own insert dur. So basically as part of the verify argument into the client, you can pass in 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 people could a lot of people could probably spend their wheels quite a bit trying to figure out what's wrong or how to do that. But the docs actually go over pretty much
Starting point is 00:02:48 in depth right here. So I'm on the HTTPX2 markdown inside the SDK docs here. So if you are needing 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. I think it also works with Legacy HTTPX AIO HTTP 2. 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 your own certificate store and you'll be good to go. Michael, what are your thoughts on this? Well, this is big news, but did you see the headlines that Python BySOTFM switched to it like four months ago? It was pretty incredible. Yeah, yeah, yeah.
Starting point is 00:03:34 Just kidding. No, this is actually, I wholeheartedly support this. I think just thanks to the Piedantic team over there who has done this work. We actually covered, oh, my gosh, sorry for getting the person's name who sent this in. It's like Michelle, Mikkel, who did the original fork of HTTP. to something slightly different, and then a month later, the Pidantic folks took it over. And I think this is good because I won't rehash it, but HCPX has been, while I think the best ACP client I've used, also it's kind of gotten into a weird, tied itself into some weird knots.
Starting point is 00:04:13 And so I think what we're seeing from HGX2 is a really great direction. So that's really good. 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, Most of the time you can drop it in as or placement for requests.
Starting point is 00:04:28 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 of Bidantic. Yeah, exactly. It gives it. Hard to beat. Yeah, it's definitely giving it a serious boost forward. So I'm here for it.
Starting point is 00:04:42 Thanks, Bidana team. It's cool to see Open AI adopting it. They use a lot of the tools that we sing the praises of here, which is also pretty neat. Yeah. I think that you're going to find that when there's great minds think they like they're going to be using similar patterns, dependencies, the well-adopted, well-trodden ones.
Starting point is 00:04:59 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 ISDK. It must be huge. I didn't go look, but I can only imagine. Yeah. I think your next item also is going to have an interesting. Put a bunch of libraries and runtimes for a bunch of.
Starting point is 00:05:23 the tests at a very high scale pretty soon. But I want to move on and talk about, I don't even know how to call it, T-Mogg, a native task manager for MacOS, Windows, and Linux. Works for all three of these. Now, you might think, don't you already have activity monitor? Like, what do you want, Michael? Let me show you, Calvin, and you kind of give your first impressions of this to the listeners. And if you're listening and you want to see the video version,
Starting point is 00:05:49 jump over to the, like right at the top of the episode file, the video part will be about like seven minutes and 29 seconds. So check this out. So I'm all making it a little skinnier. All right. So this comes to us from Dave Plummer. And Dave Plummer is the guy. He does Dave's Garage.
Starting point is 00:06:08 It's kind of a cool YouTube channel. I've actually got to have dinner with him one time at a Microsoft event, which is kind of cool. But notably for this conversation, he's the guy who made task manager for Windows, like in Windows, right, from Microsoft. That's cool. And so, but this is for all the platforms. Now, there's a couple things to note. I left it in the very much pure first run, because I put it on my laptop. I put it on my workstation, but not on my streaming computer because that's, I just have too many computers.
Starting point is 00:06:34 First thing I asked, would you like Control Shift Escape to automatically run this? Yes. 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. So you can command queue it, and then it'll come back. You can see it just popped up, but running in the background thing. That's the little watcher that just like launches it, right? Also, you'll notice it's got a bit of a color flare that I'm not a super fan of.
Starting point is 00:06:58 So you can go over here. I don't like it. Do you? Well, it's called visual bloom. You like it? I do. But I'm always looking for interesting visual eye candy in my apps. And that's cool.
Starting point is 00:07:08 Yeah. Well, it's got all these different flare. 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've got all these different things that you would get and make a proper task manager. Nice graphs, but a lot of attention in detail, too.
Starting point is 00:07:32 So it's got a CPU, he's got the temperature, which is interesting. It's got the GPU memory utilization. But do you notice anything weird about the scale of the graphs, Calvin? This is with the scale of the graphs here. They're logarithmic. But not logarithmic in terms of the input, but logarithmic in terms of time. So as stuff gets older, it compresses. So you can see a really long tale of performance history,
Starting point is 00:07:57 but you can also see fine-grained detail in the immediate part, which is super cool, I think. It's on the memory, it's on the CPU, all the things. Yeah, yeah, I like that. And each one of the, there's a bunch of stuff here. There's like network, there's CPU. And each one of these, if you click them, it takes you to, like, show you all the cores and all the things.
Starting point is 00:08:13 And, right, you can jump in to these different parts of the app with, like, crazy amounts of detail. So these are all really neat. You can go see all the processes, and you can filter them by trees. You can search or like show them as a tree. So you can see like, for example, Vivaldi has like a crap ton of stuff going underneath it, which is fine. Background processes. You can see system information, all sorts of fun stuff there.
Starting point is 00:08:40 What apps are startups? What user are running? Hey, it's me. What services run? And there's all these pro features like power and frequency. a bunch of network stuff. Those are, you got to, there's some kind of pro thing coming apparently. But the pro, it's all in beta.
Starting point is 00:08:56 So the pro feature is not available. So I even know. 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. How's this? Well, I would love to see this. I would love to have this as a client that can talk to remote systems too. So you could switch between like three or four different remote systems.
Starting point is 00:09:13 Because you just mentioned you've got like three or four or five computers sitting in your office lab, et cetera. And so I'm regularly using like B-Pi-Top on all of them. So I can log in the machine, see it's like C-Com's so many stats, but I love the visual again, eye candy for that this is giving me. 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. Yeah, that would be cool. I'm a fan of B-top as well. But there you can just do a terminal or a T-Mux window for each one, right? Yeah, and this is Yeah, and this is super. In the navigation from sort of high level to detail, I thought it was really cool.
Starting point is 00:09:49 And it's free. Well, and the fact is cross-platform, because I'm regularly moving back and forth between Linux and Mac OS. And so I really appreciate good cross-platform tools, especially ones that are open source. So my favorite terminals, Kitty, Kitty runs Mac, Windows, Linux. And so I get the same experience across all three platforms. I don't feel like I've missed that on anything. Hey, Michael. I've lost your audio.
Starting point is 00:10:10 Sorry. What's interesting is the way that they've done the cross-platform is it's not just like some electrons-like thing, right? It's native for each platform. Like Swift and AppleKit and Native Win32 and UT6. Yeah. That's a first half around heart doing it right. Yeah. That's the guy that writes a low-level content for Windows.
Starting point is 00:10:34 Now, I'm pretty sure that this. Yeah, because the 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. Yeah. So I think this is a neat, a neat tool that I've run across and just happy to share. Yeah. Let's see, a little bit of real-time feedback.
Starting point is 00:10:54 Alfred says, don't care much for the colored and 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? I'm a big fan of Winamp. I've been a long time ago. Like, you could change the shape of Winamp. Like, you could, your Winamp could be completely different from anyone.
Starting point is 00:11:23 It's an audio player from back when like, hey, let's put something on the computer. Look, it plays audio. It was so amazing. If you liked Winamp, you'll probably like this thing. It's kind of the feel I get for it. Nice. All right. what is a
Starting point is 00:11:36 the rapture? What is going on here? This is a very important spelling, not phonetic sort of thing. Yeah, it is. It is very important spelling. So this is about a new library
Starting point is 00:11:47 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 agent. And so thinking of someone who has their software
Starting point is 00:11:59 in the critical path of many, many production applications. He is also the author of RAPT. So RAPT was a library for dealing with the mechanics of monkey patching in Python, which I'm not a fan of monkey patching, but if you got to do it, you want to do it the right way. This is probably a person who's thought deeply about how that should be done. But Rapture is Rapture plus capture. The core idea is to wrap real code instead of replacing it so that the real code still runs while you watch every call. So you get a new method.
Starting point is 00:12:32 basically you wrap a method with your rapture call open up a timeline and then you get like a play tape of what actually happened and you can actually do a tape dot tree and you can actually print out the call graph as it ran so you can see all the args that got sent to that specific call you can see how it ran and so it's a really cool mechanism but it does seems like an awesome debugging tool oh my yeah totally yeah so you get you get monkey pass monkey patching with a real life cycle like you can actually apply them remove them suspend them plus like returns raises transforms like there's a whole bunch of like functionality and features it now provides you if you're doing this you also get a
Starting point is 00:13:17 unit testing that can assert on real call flow instead of again and against normalize 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 of the graph as it ran so So it's kind of cool that you get this ad hoc tracing of a running app in real time. I mean, I mentioned the injecting call. So if you're doing unit testing against your application, and I'll give a shout out to Brian Ockin's new Lean TD book here,
Starting point is 00:13:48 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 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 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 how your code would react to the time of error, you can basically stub and mocks are strict and their spec required and there's basically no bare mocks allowed with this set of tools.
Starting point is 00:14:29 So 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 Rapture, there's a Tomlphile configuration that you can put in there. You can define all your targets and then a sync, which is where all the data kind of goes to you. And then you run it with the Rapture turned on. And you get a live tree call with all the timings for everything you just configured in the
Starting point is 00:14:57 rapture Toml file. you did not have to modify your own Python code to enable that. So you can get all that tracing logged. It's a really cool tool. Another cool thing about the project is, there's a really good write-up here, obviously, from Graham on this. The whole thing was built with AI on purpose. So he gives a really good mini essay inside of the blog post
Starting point is 00:15:20 about his opinions about vibe coding, agentic engineering, and 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 all up front. So I thought those are a good way to convey to folks how this was made and why it was made with AI. It's very interesting. And it's cool that he calls it out. I think it's so interesting.
Starting point is 00:15:44 We get a lot of submissions for the show for show topics. And I've noticed a lot more coming in lately from just AI generated stuff. Like, hey, here's a project that created. And it's not only is the project created with AI, but the email was written with AI. And I'm like, oh, please. Okay. I'm not going to tell people how I know, but it's absolutely obvious because humans wouldn't write this way, because if I tell them, then they're going to stop doing it.
Starting point is 00:16:09 They'll have to figure any way to find out. But as you know, we're both like, we see AI as a pretty incredible tool. Yes. But I also, what you can't tell really easily is how much thought from the human has gone into it. and then maybe an implementation with the AI versus just some kind of like one big prompt and let's see what comes out. You know what I mean? Yep.
Starting point is 00:16:31 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. It's also not a competitor to open telemetry, but it emits open telemetry rather than trying to replace it. So it can play alongside of all your existing O-Tel tools. Again, if I was wanting one of these things to put in place into my applications, I think I trust that coming from a person like Graham. Yeah, super cool.
Starting point is 00:16:58 I'm going to be interviewing Pablo and Laslo about the Python 315 profiler changes that allow you to do production profiling without, you know, just attach to like some production code and just do profiling there soon on top Python. So, yeah, it feels like this lives in that space. Yeah, it does live in that space. It's kind of cool that you could basically configure the Tommel file, restart the app in real time, turn on tracing and see what's going on and then tell it to turn itself off. Yeah.
Starting point is 00:17:27 Yeah, that's really cool. Really cool. All right. Let's jump over to my last item here, which is LinkedIn. I get up, caught down, LinkedIn to Markdown or LinkedIn to MD. Now, this is a project that does not have a ton of stars or anything like that. But I think there's a lot of people out there for whom the job space is changing. And a lot of these companies are using AI and stuff like that to pre-filter.
Starting point is 00:17:52 resumes and it's like, do you stand a chance? You know what I mean? So this thing, what it lets you do is it lets you download your own LinkedIn data. So you can go to LinkedIn and say export all of my data. And in here somewhere, it shows you what to do. So you get some LinkedIn export, right? And so this is just a CLI that you can say, LinkedIn to Markdown. Give it your zip file and it generates over 40 different analysis and views of your, of you, according to LinkedIn at least. And it gives you like a CV or a resume that you can submit, all kinds of things it gives you here. You can run notebook L.M against it or chat or Olama and ask it, ask it about yourself.
Starting point is 00:18:38 So it'll create a profile, your experience, your education, your skills, all your endorsements, what you've learned. I feel it'll generate, like I said, the PDF. It's configured to work with open code in the N3RV orchestration framework, so you can work with it more. Anyway, I just think this is a pretty interesting thing for folks out there, you know, job hunting or wanting to make themselves. I love Markdown. I'm already a fan. Exactly.
Starting point is 00:19:04 When I saw Markdown, I'm like, oh, yeah, I like it. Okay. It's true, the LLM analysis. I guess you're giving it good context because you're taking the LinkedIn data and put it into a format that that the LLMs, the gendered of AI pieces can do something more with. Yeah, I think the basic idea is take every bit of data that LinkedIn has about you and convert it into structured known markdown and now you can do all sorts of things with it. Yeah.
Starting point is 00:19:30 Did you try it? Did you get any interesting insights about your career, Mike? Gosh, I have not. I honestly, I haven't done enough with LinkedIn lately. Though I can't tell you, I do frequently get, hey, your colleagues at the Python Software Foundation are doing X, Y, and Z. And could you connect me with somebody because I put that I'm a PSF fellow on my LinkedIn? Oh, now they all think I work for the PSF.
Starting point is 00:19:52 I don't work for them. I just there's this designation. So I put it on my LinkedIn. Yeah. I get the same thing for IndyPy. People want to provide offshore development services for my local Python user group called Indypie. Well, I'm sure that it needs a huge development team. Yay, bots and AI.
Starting point is 00:20:11 Or could they interest you maybe in some audits? automation using AI. Have you thought about this, Calvin? I don't know. God, I get it all the time. It makes me want to go play a game. It makes me want to just check out and just play a game on Python 3. You know what? You could play a game on Python 3 soon. Have you ever played Eve online? A little bit. I had Christian, one of the folks behind Eve way back in the day in 2026, to talk about running. Python that backs Yvonline. And it's a massive amount of compute and stuff that their MMO does.
Starting point is 00:20:51 And in fact, I just spoke with him yesterday about this article and we're going to do a talk Python episode diving into it with the team. I think 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, what was it, Stackless Python 2? Yeah, Stackless Python 2.5. They did a migration in 2007. to 27 and in 2010 they went to 27 in 2007 they went to two to two five 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 two and they're talking about the move to python three and so they're seeing a huge performance
Starting point is 00:21:32 boost by potentially moving into python three low world uh nothing else they're going to enjoy life a lot better not being on some weird not i'm sorry i shouldn't say weird an alternate implementation of python two they're going to move into probably a more standard Python 3 world since we have these threadless capabilities built into Python 3 now. But it's a big community. I'm not a gamer. I take that back. I look like a gamer because I got all those cool gaming gear around me.
Starting point is 00:21:59 But it is probably one of the bigger Python news items in the gaming ecosystem. Yeah. I was a gamer when I was younger. Then for a long time I was not. But in the last four or five years, I've really gotten into it. my daughter will set and we'll do like cooperative games like small lands or subnotica or something and we're just having a really nice time so let's see uh i asked to a little bit of asking here and it says that there's typically around 20,000 online playing on tranquility on a typical day um yeah that's
Starting point is 00:22:35 pretty high and i don't know it's still trying to figure out how many it's something around half a million registered users yeah they're moving a million players yeah two or two 3.4 million lines of Python. That's a hard number to wrap your head around. Yeah. It's an amazing project. So yeah. There's nothing else to look at the blog post just for the beautiful like space art that is included in it. And don't you like how they presented it? It's the move to Python 3 begin. It's like a game launch, right? Yeah, it's like you're in the mission. Like the move to Python 3 is the mission. Yeah, yeah, yeah. It's like we're doing the mission of the migration. I'm not logged in the right place to look, so I'm not entirely sure.
Starting point is 00:23:18 But someone else sent this over as a, hey, you should check. I think actually it was LinkedIn of all places. Hey, you should check this out and shared this with me. So that's super cool. I might have been Sam. So thanks for sending it over. But yeah. I got one other extra, which is kind of falling in line with my extras from last week.
Starting point is 00:23:33 If you are on old hardware, I think last week I mentioned not or just different kinds of hardware where Python may not be supported as well. Last week I mentioned some of the Risk 5 hardware. This week, UV now gains S390, PowerPC, and Long Arch 64 support. So if you have got some friends who are on mainframes or the power platform, you're now going to have the ability to use UV as a version 12.7, or 0.12.7. Wow. So is that UV itself, or is that to the Python install for you?
Starting point is 00:24:11 That here I shall I popped it open here. UV itself is getting the Linux support for S390X, PowerPC 64. Nice. That must be a breath of... For cross-platform dependency resolution. So it doesn't... It's not the download and install Python, but it is the dependency management for those platforms. Like the UV ad or UV sync or UVPIP install, et cetera, yeah, cool.
Starting point is 00:24:38 If you were filling left out and left behind because you're on a mainframe or power, frame or power. Good news. You can go upgrade and check out UVO. Yeah. And one more 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? Yep. All right. I have got one extra as a well. Let's see. I want to just give a quick shout out to Will Magugan from Textual and Rich and all that. He is releasing this project called Dinkus, a distraction-free, Markdown Studio for Mac. So no account works offline, but it looks really nice. It's got, it's like sort of marked down plus more, really, you know, really neat stuff here, like really nice
Starting point is 00:25:21 work with tables and images and stuff that's typically not the best, you know, syntax highlighting for code and so on. Stuff that's not great for, you know, typical markdown stuff. I will point out that I kind of feel like it needs a bit. It's not quite 100% ready and probably will know that, but like, for example, it has this typewriter mode, which is sort of a non-standing, you know, it's like more for writers. You can't tell it to not start in a typewriter mode. So every file you open, you've got to find like a way to turn it off. And there's not a hockey to turn it up.
Starting point is 00:25:49 You got to find the button. You know what I mean? Like that kind of stuff. Like it's early days. But it's still, it's on sale for, what is it? $9. So, yeah. If you want to support Will, definitely take that out.
Starting point is 00:26:00 Just a good support Will. Nothing else. That's probably a good way of supporting Will and all the things he's been doing. Yeah, a few people have used Will's work. for example, over a billion downloads for rich and textual, I believe, which is an insane contribution for an individual. So worth, worth thinking about. All right. Shall we close this out with a little bit of Eastern philosophy? No, we shall. We shall. I'm going to come back. I'm going to come back to the Tao Programming one more time here. Remember this, if people didn't
Starting point is 00:26:29 listen last time, this is a book that is like, some of the philosophies like Tata Chang sort of thing, but for, you know, a lot of sort of master student Friday type of stuff, but for programming. So we're going to do a little, a few readings from book five, maintenance. Thus, this is, we close out with them, 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 maintained. This is true as well.
Starting point is 00:26:58 Wiser words have never been spoken. Exactly. Five point one. A well-used door needs no oil on its hinges. A swift flowing stream does not grow stagnant. Neither sound nor thoughts can travel through a vacuum. Software wroughts, if not used, these are great mysteries. It's true about the rot.
Starting point is 00:27:14 Folks ask about that, because people who have software developed for them think it's done. And we release and they run and then something breaks. And they're like, well, what happened? Like, well, the rest of the world around your software changed. And that's where a lot of the rot happens that you don't control. And it's true. And it's real, I think it's an insightful part of programming actually, right? Like, if you keep using it, eventually you'll see there's little issues and you'll, you'll get them fixed.
Starting point is 00:27:39 But if you don't, you come back 10 years later or whatever, like, oh, study will start. The world is a non-a-static place. 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? Does a good teacher overlook even the most humble student? Does a good father allow a single child to starve? Does a good programmer refuse to maintain their code? Hmm. Deep thoughts.
Starting point is 00:28:01 Or in the terms of, like, pop culture. Things that make you go, hmm, or rap from the 90s, whatever you call it. I'm definitely not letting my kids starve. So you better get out there and maintain your code. Obviously, it will go maintain my code. Exactly. All right, well, Calvin, thanks for being here. Kind of reminds me of the old business software alliance.
Starting point is 00:28:21 You wouldn't steal a car, would you? Exactly. Put your Napster down. Yeah. But don't, do you know where your Napster's doing? It's 10.10 p.m. All right. Thanks a bunch, Calvin.
Starting point is 00:28:36 See you later. All right. Talk, later.

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