Python Bytes - #487 Minimum requirements

Episode Date: July 7, 2026

Topics covered in this episode: dust - a better du Hermes Agent: The AI agent that grows with you llm-coding-agent 0.1a0 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, hand-crafted digest of every week of the show notes in email form? Add your name and email to our friends of the show list, we'll never share it. Michael #1: dust - a better du du + Rust = dust - a fast, visual, intuitive disk-usage CLI Run dust and immediately see the biggest directories and files without piping through sort, head, or awk Smart recursive output focuses on what matters instead of dumping every folder Colored bars show relative size and parent/child hierarchy, making “where did the space go?” obvious Perfect for Python projects bloated by .venv, caches, Docker volumes, downloaded datasets, and local AI models Install via brew, cargo install du-dust, conda-forge, Scoop, Snap, deb-get, or GitHub releases Calvin #2: A Way better ARchive format for Python packaging war - new archive format spec from Astral (same team as uv/ruff), v0.0.2, still no binary encoding defined yet Header-Index-Store layout: header IDs the file, index maps names to store offsets, store holds compressed data Index uses a finite-state transducer (FST) to dedupe common path prefixes across entry names Supports three entry types (file, directory, link) and three compression modes (store/DEFLATE/zstd), plus an "executable" metadata flag Unpacking is atomic - writes to a temp dir, then renames into place, so a failed extract never leaves a half-unpacked directory Strict name-segment rules (no NUL/control chars, no leading/trailing whitespace, blocks Windows-reserved names like CON/PRN) to avoid path traversal and cross-platform footguns Michael #3: Hermes Agent: The AI agent that grows with you Hermes Agent is an open-source, Python-built AI agent framework from Nous Research - think ChatGPT-style assistant, but connected to your tools, files, shell, browser, calendar, memory, and messaging apps I’m using it in Discord as a long-running agent conversation, not just a one-off chatbot session Hermes can connect through a gateway to platforms like Discord, Telegram, Slack, WhatsApp, email, webhooks, and more - so the same assistant can follow you across surfaces In my setup, I can send Hermes voice/text from Discord, keep project context across turns as threads, and ask it to actually do things: read GitHub repos, run commands, edit files, schedule calendar events, generate drafts, and verify results A fun workflow: I can trigger one-shot actions from an Apple Watch shortcut - dictate a request, send it to Hermes, and have the agent execute it asynchronously Hermes has persistent memory, so it can remember durable preferences and facts - for example, how I like my research formatted It also has “skills,” which are reusable procedures the agent can load later, so Hermes can self-improve over time instead of rediscovering the same workflow repeatedly It supports scheduled jobs / cron-style automations, so it can proactively watch for releases, send summaries, run checks, or remind you about things It’s provider-agnostic: OpenRouter, Anthropic, Google, xAI, local models, Nous Portal, and others The big idea: Hermes turns an LLM from “a chat box I visit” into “an agent I can reach from anywhere that knows my workflows and can take real actions and learns over time.” Calvin #4: llm-coding-agent 0.1a0 Simon Willison built a Claude/Codex-style coding agent on top of his llm library, using an alpha of the llm package plus his python-lib-template-repo Built almost entirely via prompted TDD - asked an agent to write a spec.md, then commit + implement with red/green tests, occasionally hitting a real OpenAI key to sanity-check Shipped to PyPI as an alpha: uvx --prerelease=allow --with llm-coding-agent llm code Tool set mirrors familiar coding-agent primitives: read_file, edit_file (exact string replace + diff), write_file, list_files, search_files, execute_command Also exposes a Python API - CodingAgent(model="gpt-5.5", root=..., approve=True).run(...) - which Simon didn't ask for but got anyway Demo: llm code --yolo told GPT-5.5 to build a SwiftUI CLI clock; model correctly noted SwiftUI isn't really CLI-friendly and still produced an ASCII-art time display Extras Calvin: Slides, but for developers https://sli.dev/ Wanna reduce your token usage…. only issue is that its lossy https://github.com/teamchong/pxpipe PEP 772 - Python Packaging Council inaugural election dates set, nominations open July 28, voting September 1-15 Michael: What the pls? revisited! Joke: Min requirements for Linux

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Python Bites, where we deliver Python news and headlines directly to your earbuds. This is episode 487 recorded Tuesday, July 8th, 2026. I'm Calvin Hendricks Parker. I'm Michael Kennedy. Nice to have you, Michael. Thanks for joining me today. We are sponsored by us. So check out the Talk Python courses.
Starting point is 00:00:21 Your co-host, Michael here. Put a tremendous amount of effort into making sure every last human being on the planet can learn Python like nobody's business. So excited to have that. And then check out 6 feet up. I am a co-founder, ATO of 6Peed Up. We love solving hard problems. We're hiring. So if you're looking for a position, go check out our careers page.
Starting point is 00:00:40 Put that little plug in there. And make sure you connect with the hosts online. We are on all the socials. You can find Michael, myself, and the show over on Macedon, Blue Sky, X, LinkedIn. I'm mostly active on LinkedIn. I don't know, Michael, where are you mostly active at? We'll talk to me. Otherwise, I'm not there active.
Starting point is 00:00:56 So we'll go at Michael and tell him something. There's interesting. Yeah, there you go. Send in a show idea. Send in a show idea. That's a great idea. So if you want to join us live on YouTube, we do record this live. You can watch it all of its liveliness at Pythonbites.fm slash live.
Starting point is 00:01:11 Be part of the audience, usually Tuesday mornings, but today is Tuesday afternoons. The older video versions are also available on that YouTube channel too. And finally, if you want a handcrafted artisanal digest of every week's show and get all the notes, make sure you add your name and your email to our friends of the show. email to our friends of the show list, and we never share those emails, but you will get a great list of links and things to go dive into right into your inbox. All right, Michael, let's kick it off. I love shell scripts and the little utilities, and it seems like you got a good one for us. I know you're a fan of the shell world, and let me introduce this topic by way of a sad face.
Starting point is 00:01:51 I use Sentry for all the server stuff, and I get a notification from Century saying, operational failure for, I don't know, what are the smaller apps that I run, API or something. And it says that slash temp is full and it can't write to it. I'm like, well, that doesn't make any sense because that's just like the Docker image. So it can just write to like this 150 gig hard drive that I have dedicated to just Docker volumes and Docker build data, like image data and stuff. Something else has gone awry. Oh, no, no.
Starting point is 00:02:22 It was right. So I go in there. I'm like, I pull up B-tive. which I love B-top. And it says, B-B-B-B-Top. Oh, my, that's so good. And it's 100% full.
Starting point is 00:02:31 All red, no green. I'm like, oh, God, it's right. What is going on here? I've been playing with switching to multi-step, multi-image, multi-stage builds with Docker. And apparently those builds take up a much more image-based if you don't clean up the old ones for some reason. I don't know why.
Starting point is 00:02:47 I don't really care. But I do care that it was out of space. And I'm like, what is going on? What can I get rid of? So I typically run like a Docker system prune type thing. And it's okay. But I'm like, Let me just give this a look.
Starting point is 00:02:57 And if you want to ask for file size on a Linux terminal, it's not the easiest. I mean, you can't do it in DU. You can't say DU, but you know, you get it in bytes. And you're like, what are these huge numbers that are like? They don't make any sense to me. I actually wouldn't it recursive for the folders? And wouldn't it be great if it's at this GB? And I know there are flags you can pass it to you.
Starting point is 00:03:16 If you remember the incantation, wouldn't it be nice if there was a better way? So I want to introduce you to dust. So it's a more intuitive version of DU built and Rust, The rust part doesn't really matter. What does matter is both that it gives you sizes in human terms. That's cool. And it gives you a graph. Graph.
Starting point is 00:03:35 That's even better. Yeah. And I like the tree structure too. You get to see that the tree. I use like BR root or B root for seeing like tree structures, but now this may do all of it. Yeah, exactly. So you can ask, it's kind of like tree and it's kind of like DU. It gives you the disc size information in the tree view.
Starting point is 00:03:54 And on the right-hand side, there's actually a visual graph that plots them and it sorts it by size. So you can see the bigger ones are at the bottom. I think you can invert that if I remember. That's how I had run it. And so you can actually just say, show me the big stuff first in a hierarchical way. So like what folder is like the word? Where do I start to make this thing run again and not happen, not do this again where it runs out of space?
Starting point is 00:04:18 So I started playing around with this thing. And I thought this is pretty dope, man. I really like it. You can just curl and install it. cargo install it, brew install it. If I was doing it on Mac, I would brew install it. Yeah. But I think I cargo installed it on Linux. I can't really remember. Anyway, it got installed onto Linux somehow. And there it is. So yeah, it's really nice. I think, I mean, not a whole lot more to say. There's tons of options for how you run it. Actually, lists a whole bunch of alternatives.
Starting point is 00:04:46 This is kind of a nice shout out to like, hey, there's like six other tools that do this. But here's why I wrote this still. You know what I mean? Yeah. Dust simply does the right thing when It handles lots of small files and directory. Keeps the output simple by only showing larger entities and so on and so on. Anyway, that's cool. I think it shows that if there's an it's to scratch someplace, someone's going to scratch it. If you've got a better idea for an implementation of a tool, you should go do it. Dust one looks really awesome and I'll be installing it momentarily.
Starting point is 00:05:13 That's sweet. Yeah, I really like it. So I can recommend and it's, I mean, I was able to just do like a Docker cleanup real quick and fix stuff. But I still like, where is all the space? Because that's bigger than before. So let me just like, I have plans, and this has helped me form a plan. Nice. I love the plans.
Starting point is 00:05:29 Speaking of plans, the next item I'm going to present to you is actually more of a specification and it's a proposal for a specification as opposed to something you can use today. But I really want this to exist. So I felt like I needed to highlight the fact that define folks at Astral, once we got absorbed into a nice frontier model company, are still doing interesting work. And this one is building a way better archive format for Python. packaging called war. Now, Michael, I know you're going to say, I've heard of the war format before.
Starting point is 00:06:00 And it's true. I don't know. I've only heard of the RAR format. Really? I don't know if I've heard a war. I mean, I know what war is, but not as a compression form. This has nothing to do with the war format from the Java world. The Java had a web archive that you could basically deploy servers into like a Tomcat server. You throw a war file into a directory and poof you've duplication. This is also packaging for Python applications, but it's going to be optimize, and given as astral doing the work, they're optimizing around speed. Speed, ease of use, reliability, resilience to failure is the goals for this specific format. So it's a new archive format.
Starting point is 00:06:39 Basically, their goal is to be faster than zip or tar from the standard Python library so that you can actually make speed still be the main feature when deploying software. It has support for three kinds of entities like files, directories, and links, three kind of compression modes, store, deflate, and if you've never used Z-standard or Z-S-T-D, you know that it can compress tremendously faster and more than standard G-Zipped. So it's also atomic, which I think, I'm hoping this comes to fruition because how many times have you ever unzipped a file for it to crash halfway through and you're left with a directory full of some of the stuff, not all the stuff? know how much of the stuff, that's one of their goals, is actually to make the unpacking atomic. It fails, you end up with the director of nothing. If it works, you get everything. My favorite part of that scenario is if you place in something when you're unzipping it, then it fails. You're like, oh, oh, no. Right, right, right. So, yeah, it gets back into the kind of the
Starting point is 00:07:37 unambiguity. Unambiguity. Unlike Tara, there should only be one way to express a given concept in the war, because, you know, with Tar files, you can have B-zips and G-zips and non-compressed. So, there's really just one extension and one command and it should be intuitive to use. So it's not optimized for maximal compression, but for speed and indexability and then also this like per member compression support. So the idea is you could actually have if this is meant for more streaming operation. So be very compatible with a sending out zip distributions or war distributions to say your edge servers. You want that to be fast, efficient, only copy the bits it needs. So it can understand what parts it has and what parts
Starting point is 00:08:23 it doesn't and copied them a lot faster. So I'm excited for this proposal to move forward. There's a link here to the GitHub spec. There's a couple friendly faces who are the current authors of said spec over here. So this is very, very promising. And like the other things from Astro, I anticipate it'll be well executed. Looks very cool. Yeah, I had Charlie Marsh on a few weeks ago to talk about Yeah. Astral moving into open AI and what does it mean for UV and different things? Well, now they're not focused on on PYX. They can focus on this. Exactly. Yeah. So I think it's pretty interesting that, you know, lots of new stuff and not just releases, but new initiatives are coming out. That's cool. Yeah. No, definitely. Yeah. So short suite doesn't exist yet. But keep your eye on this space.
Starting point is 00:09:08 I assume it'll be open source and so people can contribute it. I would definitely think so. Yeah. So let's talk about a fun topic. I'm excited. I love this one. I don't even know. I don't even have the words. Talk about this right, because it's so overloaded. This term agent and agentic. So if I'm using co-work, it's agentic. But also, if I'm using something that just uses tools and takes multiple steps, it's agentic. If I have, like, a gas town full of people running around burning, but my credit's doing weird like stuff, that's a, like, you know what I mean? Like, it's just, there's so much non-clarity. And with that,
Starting point is 00:09:43 I introduced to you Hermie's agent. another one. Here's another one. And this one follows in the open claw realm, but it's a little bit of research projects, and I think it's interesting. So Hugo Bounde Anderson actually introduced me to this, although I mean it's lots of people know about it.
Starting point is 00:10:00 I've talked about it that I've heard more than I kind of think back, right? So the idea is it's kind of like open claw and that it's something that continuously runs. And it's by Nose research, open source, MIT, et cetera. And it's written in Python, which is very interesting. If I go over here to the GitHub, This thing is madness.
Starting point is 00:10:17 I made a fork of it because I had to customize something. And it is like every day or two days, I'll be like, oh, I should sync up the fork because I think it's changing fast. 350 commits. I'm like, oh, man, that was like yesterday I synced it. 211,000 get-up stars. People are using this thing, it seems like. So here's the idea.
Starting point is 00:10:35 It's like OpenClaw in that, let's say, it's not like chat GPT or even, let's say, co-work. So Anthropics co-work is really cool because what you can do is give it tasks. It can use tools like I've taught Claude how to use my notion. So I can say, hey, Claude, I want you to do this analysis and then save it in this notion page or something. And it'll just do it, which is cool. But what it doesn't really seem to do is it doesn't cross coordinate and know about the different actions. Like you have a project that it could do one thing, but another project doesn't know about that other project. And so this Hermes thing, like, learns a ton and it's like self-improving, self-programming.
Starting point is 00:11:16 So it keeps a memory of you, which I know other ones do. But you can ask it to, hey, generate some skills for me and just save them and make them available any other time that I might ask about skills. Oh, and could you reprogram yourself a little bit? Because this isn't working right. Yeah, sure, no problem. I'll change my internals. You just got to restart me real quick if you don't mind because I can't do that to myself. So it's just really got a lot of neat connectors.
Starting point is 00:11:40 And this sort of self-improving thing is super cool. So, Calvin, let me give you an example of just one of the things. And I'll give you two examples, but I will demonstrate one. Ooh, live demo. Nothing like a live demo on a new show. So I have my, notice my Apple Watch, notice it's the, it's just the face. It's not, and I haven't done anything to it. Watch this.
Starting point is 00:12:01 Tell Hermes. What's the text? Send Calvin Hendrix Parker an email using my Talk Python account. And I want the title to be, hey, hello from the live show and the body to be, check this out, man. Done. There you go. So I didn't even touch my watch.
Starting point is 00:12:14 I just told it to do that. And it's using a bunch of different skills to figure out how to send email to like which account should it use. It's composing the email and it's going to send it to you in a little bit. And you could connect all sorts of LLM backends. Like that's right now using chat GPT55. You could do local models. You could do Claude.
Starting point is 00:12:32 You could do GLM, whatever you want to connect to it. And multiple ones. You can switch them around. So that's pretty cool. And while I'm waiting on that. The other thing that I did is like this will give you a sense of the self-programmability. So I was sitting on the couch and my daughter just got her a little dirt bike thing. And she's like, we somehow ran across this private motocross track that had like a kid track side of it that was really perfect for like some off-road riding.
Starting point is 00:12:59 She's like, can we really go to that? The problem is it only opens twice a month for a few hours, like four hours at a time and the times vary. And the only way you know is if you go on their Facebook page and I'm not really on Facebook. I'm like, how am I going to even keep track of this? So I sat on the couch with my iPad, pasted the URL for the page, and then I just spoke to it. I said, hey, here's the problem.
Starting point is 00:13:18 I'd like you to create a skill so that you can go do this and then create an automated job. And by the time, five minutes later, it had built a skill, written some, like, browser use code and had set up a cron job. So like three days a week,
Starting point is 00:13:31 it will automatically do that and it'll send me an email if and only if new times appear in Facebook. Just talking to it. I didn't touch it. I didn't program. It used code. internally to write that for itself.
Starting point is 00:13:42 Yeah. So on Hermes, what's their security stance? It seemed like the open clock crowd was a little yolo. Let's go for it. It's a little bit stronger. I don't know. It's still, it's still a weird world.
Starting point is 00:13:54 So the way I do, as I just have it running in Docker on my Mac Mini. That's my work Mac Mini, but it's just always on and it's my database server anyway. So it's just running in a Docker container. Yeah. And it uses like, I don't know, 600 megs, a RAM, not terribly, terribly much.
Starting point is 00:14:09 Did you get an email? Let me see. My email. Other cool things that it does is it like integrates with Discord. So one of the main ways I talk to it is just through Discord. And you can have a text conversation. Every new chat session becomes its own thread that then you can carry on. And I taught it how to, like if I tell it to join the voice channel,
Starting point is 00:14:27 it'll join the voice channel of Discord and it'll just have a conversation like you and I. But it'll keep a transcript somewhere else if I need to go see it. I'm still waiting for the email to work its way through the inner tubes. Oh, man. Anyway. I'll give you a real-time update later in the show, I'm sure. Yeah, we'll see. Anyway.
Starting point is 00:14:45 So is there also a store, like an open store or marketplace of add-ons? Or is this you build your own, which I think is probably a better idea for most people. It has add-ons and it has skills. But the main thing that you want to have, the add-ons are the connectors. Yeah. Like, how does it? So it'll do like daily briefings and save them to Notion in a database and so on. You know what?
Starting point is 00:15:04 I just checked. The problem is it wanted to run some scroll. ripped and asked for, do you want to allow? Yes or no? I said always. But, you know, it's a pretty new setup. So the first time anyway, eventually you'll get an email now. I'm pretty sure. But I think it's cool. I've been playing a lot with it. And yeah, there goes my free time. Why did I play with this? Now, it's super fun to dream about what you might do with it. That is super cool. Well, Michael, I have another agent for you that's in a very different vein. Like you said, there's all kinds of different agents available out there. This one is by our
Starting point is 00:15:34 friend, Simon Willison. If you know Simon from the Django Project and the dataset work, he's doing and all the kind of advocacy and he's been doing around AI and LLMs. If you aren't familiar, he wrote a command line utility and another great command line utility called LLM, hard to search for because of the name that he used for it. But if you just search for Simon and LLM, you'll find his normal command line LLM, which lets you just ask an LLM a question from the command line, get their response back. He's been growing that with tons of plugins and add-ons. So, for example, I've got an LLM add-on called CMD that I use regularly, where you do LLM-CMD, and you type like what you want to do.
Starting point is 00:16:11 Find me all the Python files that are one level deep in my directory. You hit return, and it'll come back to a prompt ready for you to hit return with the fine command does exactly what you want. So basically it's kind of a shell extension to auto-complete with an LLM, hard to remember commands, like DU flag options, for example. Well, he's taken this to the next level. He has built a plugin for LLM that is still very alpha. This is very, very early days.
Starting point is 00:16:34 This only came out a couple days ago called the LLM coding agent. And so now you can install the coding agent and you can do LLM code and you can give it a flag like dash-dhose and have it build with tools. So he basically using Fable, he had Fable write this plugin to basically turn LLM into a clod code-like experience. And it works with local models. So I install the LLM-O-Lama plugin or the Lama CPP plugin. And I used a Quinn-35 MLX accelerated model on my MacBook Pro here. And I wrote some CLI calendar tools really quickly with the, just from the command line,
Starting point is 00:17:14 very, very, very low barrier to entry. It'll be interesting to see where this goes because I like the lightweight nature of the LLM tool itself. Do you use the LLM tool at all? From Simon? Yeah. No. I should. I haven't yet, though.
Starting point is 00:17:28 It looks really cool. When you're just sitting at your terminal and you need a quick answer or something, Like you can put it on like the GPT mini or haiku for really quick, like quick, super quick responses. Or you can pass it just keep everything local. Like this fully runs locally on my own machine when I'm playing with it. So if you want to play with it, you need to, it's shipped as an alpha currently. So you can UVX if you want to test it out with pre-release the allow flag and then install it into your LLM and run the code keyword. And it'll just give you a prompt just like a clot code.
Starting point is 00:17:57 And now it has access to tools to read, write, files, investigate, And so it'll build up a picture of the files that are in that directory and act like a coding agent. Here's a demo where he did it with GPT55 to build a Swift UI CLI clock. The demos at the bottom of that page is a GitHub repo because it's all open source. But you can see here the prompts he used to actually write this plugin, two prompts, write the spec, implement the spec. So it's pretty cool. I'm excited for more to come. I always love Simon's tools. If you're not following Simon's blog,
Starting point is 00:18:27 you should definitely go out there and follow Simon online. So that's what I do. I think Simon's doing really good work. He is. I think his writing, he's got a mini thing that's online for, like, coding. For engineering. Yeah. And that's really good.
Starting point is 00:18:41 A lot of neat stuff. And, man, he is just on so many interesting places. He was on Python a while ago to talk about something with Django. Maybe it was his birthday, the birthday, like a big milestone birthday or something like that. I was like, yeah, I was just on CNBC. I got a, sorry, I was late. You know what? You're living a different world than most of the developer.
Starting point is 00:18:59 Like, congratulations, man. Yeah, but I like his pragmatic style. He writes about it very realistically about what they're capable of and what they're not capable of. And so if it took him this long to get around to writing a plugin for an agintic coding agent for LLM, it must be about time. I feel like that's the timeline I like to follow. All right, you got an extra for me? I got some extras, but I also have a real-time follow-up real-up real quick here. So you mentioned Fable.
Starting point is 00:19:23 Yeah, is open to the public. It was back, but it was back until July 7th, which is today, the time of the time. recording. And then it was supposed to go into API only. And then I just heard that it's supposed to be back permanently for the Max Max subscribers. And for everyone, it's now available for one more week. So if you're like, if you're like, I was going to build something with it, but I didn't get it done. And now it went away. It's back for one more week. So we'll build that thing. All right. So. All right. Last week, I talked about PLS and I wrote a blog post like, what the PLS, man. Come on. Because I was a little frustrated, not like a super frustrated.
Starting point is 00:20:00 just like some people we'd recommend it we both on our all of our tools episode we recommend we're like oh this so cool and people are like yeah but what do you mean but like yeah but you can't really install the you follow the instructions and it doesn't quite give it to right there's like a bunch of stuff so i wrote this blog post called what the pls which said like look it's not really doing what you want so please don't please don't uvip install it's instead what you should do is this well well well if you look at the top there's an update from not too long ago and it says Drew Banu Shali saw this post and decided to take, he's the maintainer, decided to take some action so that you can no longer be like freaked out about like
Starting point is 00:20:40 what the heck is going on. So now if you go over to the GitHub issue, which notice it is closed. And let me hover and get a name. Christian Letterman. Yeah, yeah. We know Christian. He too, very cool. Yeah.
Starting point is 00:20:52 And said, hey, post, oh, by the way, also tagging, so actually, Drewv said also tagging Mike C. Kennedy. he might be interested after seeing and said hey guys look I'm sorry but uh now look you got sub commented I did I did so if you go over you know I said hey thanks so much and actually changed it such that even if you go over here just the latest release so UVPip install PLS now we'll install this one which is the Rust version so you're kind of back to good it's not There's some other sort of funkiness around this. Read me on Pi Pi-PI, but he says that'll be fixed when 70 comes out.
Starting point is 00:21:34 And 7-0 is like almost out, but not out. So, you know. But look at this. Woo-hoo. Updated. So. I love how developers sweat the small stuff sometimes. There's a lot.
Starting point is 00:21:43 There's like layers of sweating the small stuff. And I would like to just point out that Christian did the right thing and posted a thing. It said, hey, dear project and maintainer of this project. It's just really kind of janky. Do you think you could maybe fix this? so it's not so confusing. Whereas I just wrote like a not a hate pose, but like it's sort of frustrated.
Starting point is 00:22:03 Like, eh, don't do this. This is kind of not great. But just a world. The only reason I did that and didn't create one of these is I was sure that they were just uninterested in fixing this because surely it would have been fixed by now if they'd known and wanted to, you know what I mean? But no, I was wrong. So I should have followed Christians lead and just posted this first.
Starting point is 00:22:21 Because I should be doing the right thing. Exactly. That's cool. Very cool. Well, speaking of developers doing the right thing, I've got a couple of extras here. You are a developer that gives presentations at conferences. You should check out Slide-Dove. I was at a conference two weeks ago, the AWS Midwest Community Day, and I, for the last six years, have been using Revealjs via Pandock and some cookie cutter, markdown glue that I put
Starting point is 00:22:47 together to basically build my presentations with it. I loved dearly because I handcrafted it, but I wasn't actually out in love with it. And I'm going to move to this. I found out this via Corey Quinn, of the AWS screaming in the cloud fame. He uses this to give his talks. And I saw his talk on stage. I was like asking him afterwards what he was using. And it's slide dev. So it's all marked down.
Starting point is 00:23:08 I like the way the markdown comes out a lot cleaner with slide dev than what I was doing. I could do similar things, but it got a little messy and just didn't have the spirit of true markdown. But here you've got the ability to turn markdown like this into slides like this. So I would check it out. If you give presentations, it's got a ton of features, tons of. ton, ton, I'll click over on the features page real quick. I mean, you just remote presentations. You can package it up as a PDF immediately.
Starting point is 00:23:35 You can put it into a CI pipeline and have a rendered version of it. It's kind of fully baked. You can have fully inline code that run. So if you want to give demos during your talk, you can do that inline in your slides without leaving the deck itself. Yeah, that's pretty cool. And I found out it was using, I believe it was using MDX, which are markdown live components inside of the tool itself.
Starting point is 00:23:58 So pretty cool. I'm going to be checking it out. The next time you see me give a talk on the stage, it will most likely be using slide-dove for it. Excellent. Yeah. I love it. The last one here, I got two more.
Starting point is 00:24:08 This one, I have not tried this yet, but if you want to reduce your token usage on Claude, for use with Fable, for example, someone wrote a tool called PXPipe for pixel pipe. It takes your text and encodes it into an image because Anthropic treats images differently, token-wise, and it does the text. They claim up to a 70% a token reduction because of the handling of images versus the text itself. If you all could see the screen here.
Starting point is 00:24:36 Yeah, that is. It's not just text. It's really small text. Black text on it. Yeah, yeah. It looks like a gray wall, but that's actually like the text of the prompt. Now, there are downsides. Be careful.
Starting point is 00:24:48 The honest part. It is lossy. It is lossy. Yeah, so it's lossy. I wouldn't use it for real work. It's workload dependent. Your mileage may vary. So I just thought it was interesting.
Starting point is 00:25:00 I'd share it with the crowd because some people might be interested in just token maxing and on the other direction. How many tokens can I save? Which I thought was interesting. Yeah, it's the anti-tog. I am not a fan of token maxing. No, I'm not either. I want to conserve the tokens. Not just conserve.
Starting point is 00:25:16 I think there is an art and a skill to say, what is the least this thing needs to know? so it can focus the most on it. Not like what is the maximum I can jam into its memory and still get it to accomplish something, you know what I mean? Yeah, exactly. So really quick, before we wrap up extras, do you have an email? Oh, let me see. Let me go double check.
Starting point is 00:25:36 Do I have an email? I don't see an email, Michael. Let me click refresh. Don't see an email? No. You sure did it send a six feet up, I assume? It did. It says it did.
Starting point is 00:25:45 Maybe it's like, maybe it's like that's just too body. And like you let it in the bot son. I might have gotten bought it. Anyway, we'll review that later. Okay. Let's go over. One last lecture before we leave. Yeah, yeah.
Starting point is 00:26:01 You had mentioned PEP 772, which is the Python Packaging Council on a previous episode. I wanted to bring it to everyone's attention that the inaugural election dates have been set. The nominations are open until July 28th, and the voting will happen from September 1st. So if you're interested in the Packaging Council, jump on the boat and go participate. Awesome. All right. How about a joke now? So this one I hand selected for you, Calvin, because I thought you might appreciate this. And I've entitled, it's minimum requirements for Linux. I've already. I've already in. I know. You're in. And I, this is putting Linux in a good light. So it's mostly a picture, but I'll just describe it too because it's fun. Like, you know, there's this big brouhaha about Windows 11 and TPM chips 2.0. So even if you have a TPM chip, you're not enough for Windows 11. So you've got to go buy yet another one. I think Linux has a different deal here. So the idea is there's this, I can't play it, there's this old, dirty, nasty 486 looking thing
Starting point is 00:27:01 that's found in like a ditch in the water. Probably like a Hewlett Packard. Yeah, like a Hewlett Packard. I mean, it's got DVD drives and stuff on the front. Yeah, yeah. Yes, or a compact maybe. Yes. Just in the water and in the mud and they pull it out and go minimum requirements for Linux.
Starting point is 00:27:19 It will run. It's a video. Sadly, I can't play it because I'm not logged in, but apparently, whatever. You can play it when you log in. I'll go long in and play it, Michael. Very good stuff. Very good stuff. Well, thank you very much, Michael, for this edition of Python Bites. We will see you all next week.
Starting point is 00:27:33 Thank you very much. Yeah, thanks. Bye.

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