Calvin Hendryx-Parker: Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to
Calvin Hendryx-Parker: your earbuds. This is episode 485, recorded on Tuesday, June 23rd. I'm Calvin Hendryx-Parker.
Calvin Hendryx-Parker: And I'm Michael Kennedy.
Calvin Hendryx-Parker: Thanks, Michael, for being here with me today. I'm excited to be your co-host for Python Bytes.
Calvin Hendryx-Parker: We've got a lot going on. We're going to dive right in. But first, make sure you go check out
Calvin Hendryx-Parker: our sponsors. It is sponsored by us in our work.
Calvin Hendryx-Parker: Michael's great work over at the Talk Python courses.
Calvin Hendryx-Parker: So check out Talk Python's coursework over there.
Calvin Hendryx-Parker: And if you are in the Midwest tomorrow, since this does go live today,
Calvin Hendryx-Parker: AWS Community Day Midwest is tomorrow, June 24th in downtown Indianapolis.
Calvin Hendryx-Parker: Six Feet Up is sponsoring and there'll be two Sixies presenting.
Calvin Hendryx-Parker: So you've got, that's actually what Six Feet Up people refer to themselves as.
Calvin Hendryx-Parker: So if you want to come check out two of us presenting at the conference tomorrow, check that out.
Calvin Hendryx-Parker: If you want to connect with the hosts, you can find Michael and myself at all the various social spots on Mastodon, Bluesky.
Calvin Hendryx-Parker: Do you still use X?
Michael Kennedy: I do still use X.
Michael Kennedy: And I updated our show notes template so that we have our X links and LinkedIn.
Michael Kennedy: Perfect.
Calvin Hendryx-Parker: Yeah, because I'm probably a little more active on LinkedIn.
Calvin Hendryx-Parker: But maybe this is a nudge or a motivation that I should go be active over on the other platforms too.
Calvin Hendryx-Parker: And you can check out the show on Mastodon and Bluesky at those various links.
Calvin Hendryx-Parker: And X there as well.
Calvin Hendryx-Parker: So join us on YouTube for the live version of the show at pythonbytes.fm/live to be part of the audience.
Calvin Hendryx-Parker: Usually we record Tuesday at 7 a.m. Pacific, 10 a.m. Eastern for those of us on the East Coast.
Calvin Hendryx-Parker: I guess we cover both the coasts, Michael.
Calvin Hendryx-Parker: And then older video versions are available there as well.
Calvin Hendryx-Parker: Finally, if you want a bonus digest of every week's show notes from an email form, just add your name
Calvin Hendryx-Parker: and email to our friends of the show list. And we'll never share that email address with anyone
Calvin Hendryx-Parker: else. You'll just get great sets of links and show notes from the team over here at Python Bytes.
Calvin Hendryx-Parker: All right, Michael, let's kick it off. You've got the first topic up here.
Michael Kennedy: And let me tell you, I think this one is going to resonate with you.
Calvin Hendryx-Parker: Yeah, I already saw why I peeked at some of the headlines. I was like, this is interesting.
Michael Kennedy: Backing up Docker volumes.
Michael Kennedy: So maybe we should do a quick, what the heck?
Michael Kennedy: What are Docker volumes?
Michael Kennedy: So if you do Docker a lot, you know exactly what Docker volumes are.
Michael Kennedy: But Docker's a little bit one of those things like, oh, it seems so complicated, so weird.
Michael Kennedy: And it's just really different than what I'm used to doing.
Michael Kennedy: And then you work on the Go.
Michael Kennedy: That's kind of like Linux, but just in a file.
Michael Kennedy: You know what I mean?
Michael Kennedy: But one of the things that is different about Docker is it's very transient.
Michael Kennedy: It's not quite Nix, that it can't be changed once it's fired up.
Michael Kennedy: but it's generally ephemeral, right?
Michael Kennedy: I start up a Docker container,
Michael Kennedy: my app or whatever app is running there might write to it,
Michael Kennedy: but that's right inside the Docker container.
Michael Kennedy: And then when it goes away,
Michael Kennedy: if I restart it, rebuild it, especially,
Michael Kennedy: then whatever it wrote is just gone.
Michael Kennedy: Sometimes you want that.
Michael Kennedy: But say if you want your web server logs to stick around,
Michael Kennedy: you don't want it.
Michael Kennedy: If you want your database data to stick around,
Michael Kennedy: you really don't want it.
Michael Kennedy: So there's a lot of times that you want a permanent storage,
Michael Kennedy: but an ephemeral operated system and code and so on for Docker.
Michael Kennedy: So what you can create is a Docker volume,
Michael Kennedy: which is a managed persistent virtual hard drive type thing
Michael Kennedy: associated with that particular Docker container.
Michael Kennedy: And you can move around theoretically afterwards, right?
Michael Kennedy: But typically you say, okay, my Docker setup,
Michael Kennedy: this database server gets a volume for its data, something like that.
Calvin Hendryx-Parker: Yeah, that's one of my favorite features of Docker
Calvin Hendryx-Parker: is the immutability of the containers.
Calvin Hendryx-Parker: And if people respect that, things go a lot smoother generally.
Michael Kennedy: Yes, exactly.
Michael Kennedy: Like, well, what I typically do, Calvin, when my Docker doesn't work, I just log into the container.
Michael Kennedy: And then I like get pulled a new version and just like read.
Michael Kennedy: No, just kidding.
Calvin Hendryx-Parker: This is this is the modern equivalent of change mod 777 across all your files.
Calvin Hendryx-Parker: Exactly.
Michael Kennedy: It's not working.
Michael Kennedy: That always fixes it.
Michael Kennedy: Just fix it.
Michael Kennedy: I just open all the ports.
Michael Kennedy: It says it can't get to it.
Michael Kennedy: What's the problem?
Michael Kennedy: Passwords.
Michael Kennedy: Exactly.
Michael Kennedy: So what do you do with those volumes, Michael?
Michael Kennedy: So you've got to back that data up.
Michael Kennedy: I mean, unless you just don't like yourself.
Michael Kennedy: You've got to back up your data because if something goes wrong,
Michael Kennedy: from a whole host of reasons, things can go wrong.
Michael Kennedy: You need a backup of your data.
Michael Kennedy: That's just living in servers, right?
Michael Kennedy: Yeah.
Michael Kennedy: Or just computers.
Michael Kennedy: So a lot of times what you can do is you can run some kind of command,
Michael Kennedy: like I use MongoDB.
Michael Kennedy: A lot of these people, I also use Postgres.
Michael Kennedy: For either of those, there's a command you can run that says backup this
Michael Kennedy: and like back it up to the host or somewhere like that and then send it off to a encrypted storage
Michael Kennedy: or something. But if it's just the hard drive, the volume that you want to back up specifically,
Michael Kennedy: that's way more challenging. So Brian Weber, thanks Brian, sent over this idea called this Rust
Michael Kennedy: utility called Docker Volume Backup. And the idea is you can back up Docker volumes to in the,
Michael Kennedy: all the ways I can imagine I would possibly want to back them up.
Michael Kennedy: So you can back them up locally.
Michael Kennedy: You can back them up to an S3 bucket.
Michael Kennedy: And when you say S3, that means not just AWS that you can learn about tomorrow,
Michael Kennedy: but many of the cloud storage providers have adopted some kind of S3 compatible API.
Michael Kennedy: So you could back it up to, I don't know, Digitalization or something if you want as well.
Michael Kennedy: WebDev, Azure Blob Storage, which you probably could just treat as S3 directly.
Michael Kennedy: Dropbox, Google Drive, some SSH compatible storage,
Michael Kennedy: I'm guessing SCP or something like that.
Michael Kennedy: All those things.
Michael Kennedy: And how sweet is that?
Michael Kennedy: So the idea is when you've got a Docker Compose type of setup,
Michael Kennedy: you can go and add a separate service, right?
Michael Kennedy: In your Compose.
Michael Kennedy: And it just says the image is this project,
Michael Kennedy: this Docker volume backup,
Michael Kennedy: and you give it environment files
Michael Kennedy: and then it can just back up.
Michael Kennedy: That's really easy.
Calvin Hendryx-Parker: Really, if it's easy to do, you will do it.
Michael Kennedy: Yes, it's nice, right?
Michael Kennedy: So you basically just add it as a separate service.
Michael Kennedy: And then in your ENV, you give it a schedule and a destination.
Michael Kennedy: And then you're on the ENV settings, right?
Michael Kennedy: The backup settings.
Michael Kennedy: You just give it those kinds of things.
Calvin Hendryx-Parker: And if you've got a home lab and you've got a NAS on there,
Calvin Hendryx-Parker: most NASs have S3 compatible storage.
Calvin Hendryx-Parker: So you can keep it all, I'm kind of touting the local first operation again,
Calvin Hendryx-Parker: keeping all your data, your data.
Michael Kennedy: Yeah, absolutely.
Michael Kennedy: So this thing is super small, written in Go, 25 megs.
Michael Kennedy: So there was also a Docker volume backup Docker shell based image, and this is 1/20th the size.
Michael Kennedy: So that's cool.
Michael Kennedy: let's see, you can set up a cron job in your composed setup, or you can just CLI run it.
Michael Kennedy: It, this is, this is part of the stuff that I thought was really cool.
Michael Kennedy: It rotates away your old backups.
Michael Kennedy: You don't have to worry about that kind of stuff.
Michael Kennedy: You say like, just keep me, give me a backup every day or for a month, you know, or, or
Michael Kennedy: something like that.
Michael Kennedy: And then you move it on.
Michael Kennedy: local GPT encryption, like at rest encryption of your backups, which I think is super important
Michael Kennedy: because the last thing you want to do is like, well, I want to make sure I back it up.
Michael Kennedy: So it doesn't, if things get hacked, it doesn't go wrong.
Michael Kennedy: And then that actually being the thing that gets stole.
Michael Kennedy: Get notification on finished infill build, filled runs.
Michael Kennedy: you can have it stop the container before it does the snapshot and start it back up.
Michael Kennedy: So if you're doing like, I don't know, a SQL light sort of thing as your storage
Michael Kennedy: and you don't need that much uptime,
Michael Kennedy: you want to make sure it's not in some like half-committed journaling state
Michael Kennedy: or whatever, you know.
Michael Kennedy: You can run custom commands during the backup lifecycle.
Calvin Hendryx-Parker: That was my next question.
Calvin Hendryx-Parker: Can you run a custom command?
Michael Kennedy: And here's the one that maybe go start going down this list.
Michael Kennedy: It has Docker Swarm support plus ARM64 and ARMv7,
Michael Kennedy: which means it runs on Raspberry Pi Home Labs.
Calvin Hendryx-Parker: Oh, that's nice.
Michael Kennedy: It's hitting all the check marks.
Michael Kennedy: Yeah, it's pretty calm, right?
Michael Kennedy: It's all right.
Michael Kennedy: That's very cool.
Michael Kennedy: This also gives me a chance to shout out Idlembyte's search.
Michael Kennedy: So people come over and search for like Docker backup.
Michael Kennedy: And Brian pointed out like, oh, if you search for volume until today, it came back with no results.
Michael Kennedy: And he thought it was broken.
Michael Kennedy: But actually, he said, it's so fast, I thought it didn't work.
Michael Kennedy: It felt kind of like a rough thing.
Michael Kennedy: But I actually put a ton of energy into this custom search engine that I built for this.
Michael Kennedy: If you're interested in what we cover some of them, please check out our search engine.
Michael Kennedy: And you can even add it.
Michael Kennedy: Now, this is like next level right here.
Michael Kennedy: You can add it as a custom search engine to your browser.
Michael Kennedy: So you just say PB space and search our site.
Calvin Hendryx-Parker: So you can have Python bites all the things.
Calvin Hendryx-Parker: Actually, I was looking for that this morning.
Calvin Hendryx-Parker: Because I was like, did we cover this?
Calvin Hendryx-Parker: Have we talked about this in the past?
Calvin Hendryx-Parker: So that's super cool.
Calvin Hendryx-Parker: Now, that's awesome that they went and looked at your site to see if this thing existed
Calvin Hendryx-Parker: and didn't find it and scratched that itch and made that thing happen.
Calvin Hendryx-Parker: So very cool.
Calvin Hendryx-Parker: Well, speaking of making things happen.
Michael Kennedy: Before we move on, I just want to give a shout out to Chris out there.
Michael Kennedy: It says, backing up a volume is surprisingly hard when you think about application state,
Michael Kennedy: stateful data, restore points.
Michael Kennedy: Yes.
Michael Kennedy: So absolutely.
Michael Kennedy: And this is a really nice option there.
Calvin Hendryx-Parker: Yeah, that is very true.
Calvin Hendryx-Parker: Like I said, if you make a thing easy to do, it will get done.
Calvin Hendryx-Parker: If it is hard to do, it will go into that queue of things still to do.
Calvin Hendryx-Parker: All right.
Calvin Hendryx-Parker: Well, thanks for that tip on backing up my Docker volumes
Calvin Hendryx-Parker: into S3 compatible storage.
Calvin Hendryx-Parker: But the next one up here actually is kind of exciting
Calvin Hendryx-Parker: because it's not just a release of Pyodide 314,
Calvin Hendryx-Parker: which you'll notice a new numbering scheme there going on.
Calvin Hendryx-Parker: The real news here is actually the fact that PEP783
Calvin Hendryx-Parker: has made this possible.
Calvin Hendryx-Parker: The Pyodide maintainers were basically hand building
Calvin Hendryx-Parker: 300 plus packages for your browser
Calvin Hendryx-Parker: to use Python in the browser.
Calvin Hendryx-Parker: So this is all about using Python in the browser.
Calvin Hendryx-Parker: If you've ever thought about why do I have to use JavaScript
Calvin Hendryx-Parker: to make fun web apps, you can actually use Python
Calvin Hendryx-Parker: to do that with tools like Piodide.
Calvin Hendryx-Parker: And now that the 783 has actually been accepted,
Calvin Hendryx-Parker: you can use cibuildwheel and put wheels,
Calvin Hendryx-Parker: like compiled binary packages onto PyPy
Calvin Hendryx-Parker: so that if you write an app for the browser,
Calvin Hendryx-Parker: someone can quickly download and get the latest versions
Calvin Hendryx-Parker: of the dependencies you may be including
Calvin Hendryx-Parker: in that application itself.
Calvin Hendryx-Parker: So again, I don't know, they may be seeing hopefully
Calvin Hendryx-Parker: a surge of browser-based Pyodide packages
Calvin Hendryx-Parker: onto PyPI or PyPI coming up here in the future,
Calvin Hendryx-Parker: but that's actually really cool to see that ease of use now.
Calvin Hendryx-Parker: And so there's a whole tool chain available
Calvin Hendryx-Parker: to build these packages and make them available.
Calvin Hendryx-Parker: A couple other changes that have happened
Calvin Hendryx-Parker: in this 314 release, you'll notice the numbering change.
Calvin Hendryx-Parker: There's a version jump from 0.29 to 314.
Calvin Hendryx-Parker: that's intentional. Basically, you're going to have the Pyodide version track the Python version
Calvin Hendryx-Parker: that it closely matches with. So if you're looking for the 3.12 version of Pyodide, that's the older
Calvin Hendryx-Parker: 0.29. But moving forward, you'll quickly spot and know which version of Python you're getting when
Calvin Hendryx-Parker: you install and use Pyodide in your projects based on the version number of Pyodide itself. So you'll
Calvin Hendryx-Parker: get 314 tracks to 3.14.
Calvin Hendryx-Parker: So for binary compatibility,
Calvin Hendryx-Parker: it's locked within the Python cycle,
Calvin Hendryx-Parker: meaning the packages you build today won't break
Calvin Hendryx-Parker: with the next Pyodide release.
Calvin Hendryx-Parker: So another big benefit to this piece here.
Calvin Hendryx-Parker: They've also brought back in some packages
Calvin Hendryx-Parker: that were taken out of the standard library
Calvin Hendryx-Parker: for Pyodide to make the packaging smaller.
Calvin Hendryx-Parker: Things like SQLite3, SSL, and LZMA
Calvin Hendryx-Parker: are back in the default standard library,
Calvin Hendryx-Parker: which is nice, so you don't have to basically install
Calvin Hendryx-Parker: something like SQLite if you're using that
Calvin Hendryx-Parker: in your browser-based application.
Calvin Hendryx-Parker: There's some bug fixes and other things in there.
Calvin Hendryx-Parker: There's also experimental TCP socket support in Node.js,
Calvin Hendryx-Parker: and you can now connect Pyodide to a real database.
Calvin Hendryx-Parker: So that's kind of a wordy,
Calvin Hendryx-Parker: if you've got Python running in the browser,
Calvin Hendryx-Parker: but you can't connect to a database or to sockets,
Calvin Hendryx-Parker: you were kind of limited in what you could do
Calvin Hendryx-Parker: with local storage, for example,
Calvin Hendryx-Parker: but now that opens up a wider spectrum of things you can do.
Calvin Hendryx-Parker: It looks like they've tested it on MySQL, Postgres, and Redis
Calvin Hendryx-Parker: when running on server side.
Calvin Hendryx-Parker: So it definitely blurs the lines between Python in the browser
Calvin Hendryx-Parker: and Python runtime anywhere WASM runs,
Calvin Hendryx-Parker: which I think is, again, super cool.
Calvin Hendryx-Parker: So I don't know, what do you think?
Calvin Hendryx-Parker: Are you building some web-based Python apps, Michael?
Michael Kennedy: I would love a Vue.js-like equivalent
Michael Kennedy: or something along those lines built on top of PyScript,
Michael Kennedy: which can run Pyodide or even MicroPython,
Michael Kennedy: which I think would be super neat.
Michael Kennedy: I built some examples actually when I built a PWA
Michael Kennedy: based on PyScript when it first came out
Michael Kennedy: and that was based on Pyodide.
Michael Kennedy: And it worked really, really well, but I have not.
Michael Kennedy: I've not been doing it lately.
Michael Kennedy: You guys see a lot more variations
Michael Kennedy: with all your projects that you work on.
Michael Kennedy: How about you?
Calvin Hendryx-Parker: I mean, we've got some interesting stuff going on
Calvin Hendryx-Parker: in the appliance world,
Calvin Hendryx-Parker: but this might actually open the door to,
Calvin Hendryx-Parker: again, more of those at-edge applications
Calvin Hendryx-Parker: where connectivity may be limited to,
Calvin Hendryx-Parker: I just see a lot of special use cases
Calvin Hendryx-Parker: that open up when you can run Python in the browser.
Calvin Hendryx-Parker: I've always wanted Python in the browser.
Calvin Hendryx-Parker: And when PyScript came out, what was that back?
Calvin Hendryx-Parker: Oh, it's been a few years back now.
Calvin Hendryx-Parker: That was exciting and kind of big news,
Calvin Hendryx-Parker: but obviously it was slow in the early days.
Calvin Hendryx-Parker: There was limitations, but this,
Calvin Hendryx-Parker: I think this is a big move
Calvin Hendryx-Parker: that's going to open up a lot of options
Calvin Hendryx-Parker: for folks to build either embedded applications
Calvin Hendryx-Parker: or things that can kind of stand on their own
Calvin Hendryx-Parker: and run at the edge.
Calvin Hendryx-Parker: i'm excited i think it's going to offer a lot of interesting uh moves there yeah uh i'm very
Michael Kennedy: excited about um about wasm i think it's going to be i think it's going to be cool i think it's
Calvin Hendryx-Parker: going to be super cool uh now let's continue on you've been talking a lot about tools uh lately
Calvin Hendryx-Parker: you've got another one here i never stop we don't stop talking about the tools so i won't talk about
Michael Kennedy: won't stop exactly i want to talk about the nbcli so this is a command line interface or automation
Michael Kennedy: people but the primary reason for bullying is ai agents and notebooks specifically the envy
Michael Kennedy: obviously is for notebooks so this is a jupyter ai contrib project and i'm sure you've noticed
Michael Kennedy: this calvin but so many projects now have some form of cli as kind of the final integration
Calvin Hendryx-Parker: pointer the ultimate integration should be the ultimate integration point yeah i mean the
Michael Kennedy: motivation allows like well we our agents can't get to our data and it doesn't know the authenticated
Michael Kennedy: API is too complicated. So what can we just do to make it simple? But it opens up so much more,
Michael Kennedy: right, to just have a CLI for whatever you're working on. And so, so here's one for Jupyter
Michael Kennedy: notebooks. And if you do Marimo, like hang tight, I got something there as well. But the idea here
Michael Kennedy: is that instead of having the agents try to parse the IPYNB files, which are just gnarly JSON,
Michael Kennedy: especially if like lots of output is in there, you know, it's like there's your actual code and your
Michael Kennedy: cell definitions, but then there's maybe 10,000 lines of output to the next cell. That's not a
Michael Kennedy: great place for agents to be working. Right. Right. Context windows are a precious space.
Michael Kennedy: Exactly. And you're, you're messing with that. And also it's hard for it to actually kind of see
Michael Kennedy: the ambient variables and stuff like that that are in the kernel. So the idea here is with this CLI,
Michael Kennedy: you get more direct access to those types of things.
Michael Kennedy: So let me over here.
Michael Kennedy: First of all, experimental.
Michael Kennedy: So heads up.
Michael Kennedy: It is Rust-based, so it's likely you can see VC funding.
Michael Kennedy: That's super good.
Michael Kennedy: But the idea is that it can read, write, execute,
Michael Kennedy: and search Jupyter Notebooks and just skip that whole thing.
Michael Kennedy: It doesn't necessarily need to parse the IPYMB files,
Michael Kennedy: and it even works without a Jupyter server.
Michael Kennedy: So it can just talk directly.
Michael Kennedy: So it works with files directly,
Michael Kennedy: And it talks to the kernels using zero MQ, which is super cool.
Michael Kennedy: And instead of using that token heavy JSON or just markdown, it uses at at cell and at
Michael Kennedy: at output sentinels with inline metadata.
Michael Kennedy: So as I said, less wasted context and you compose these things and it even ships with
Michael Kennedy: an agent skill.
Michael Kennedy: This is another thing I'm starting to see a lot of and have been working on.
Michael Kennedy: I should have prepared an announcement on this that I'm not really talking about, but I got
Michael Kennedy: some stuff over.
Michael Kennedy: Some skills.
Michael Kennedy: I got skills.
Michael Kennedy: So if you want to install this, you can just npx skills install jupyter-a-dash-contrib-nb-cli
Michael Kennedy: to install it with Claude Code.
Calvin Hendryx-Parker: Yeah, I think that's smart because MCP is not the answer to everything.
Calvin Hendryx-Parker: I think there's a lot of value in skills and CLI combined together because, again, preserving
Calvin Hendryx-Parker: that context window in a tool like this opens up a lot for folks who are doing data science
Calvin Hendryx-Parker: and they don't know how to write or want to write an MCP,
Calvin Hendryx-Parker: but they're definitely a whole in on AI and agentic and LLMs.
Calvin Hendryx-Parker: Yeah.
Michael Kennedy: And MCPs basically say, hey, AI, here are some tools you can use,
Michael Kennedy: but they don't set the context of, here's why you need to use the tools.
Michael Kennedy: Here's the ways in which they work together.
Michael Kennedy: You know, like you need an agent or a skill.
Michael Kennedy: You need a skill to kind of set the stage, even if it's an MCP,
Michael Kennedy: like, hey, you can use all this stuff in the MCP, by the way.
Michael Kennedy: Makes me think I should improve my skills.
Michael Kennedy: Okay.
Michael Kennedy: So I said I got skills, but we'll see.
Michael Kennedy: there's an article about it by
Michael Kennedy: so you check that out
Michael Kennedy: and if you're a Marimo person
Michael Kennedy: I am going to have
Michael Kennedy: Trevor on from the Marimo team
Michael Kennedy: to talk about Marimo pair
Michael Kennedy: which is a similar
Michael Kennedy: not the same idea but a pretty similar idea
Michael Kennedy: of basically how you get the agents
Michael Kennedy: inside the kernel instead
Michael Kennedy: of just having them work
Michael Kennedy: with the files and so on
Michael Kennedy: so look forward to that
Michael Kennedy: over to you
Calvin Hendryx-Parker: I like that
Calvin Hendryx-Parker: I like that. The Marimo pair of aspects. I've become a Marimo, like I mentioned in the last
Calvin Hendryx-Parker: episode of Marimo fan. Okay. So pairing well with something like that last tool you just mentioned
Calvin Hendryx-Parker: is that a lot of agents and a lot of these agentic workflows are lacking the ability to recall memory
Calvin Hendryx-Parker: in an efficient way. So this next piece here is actually a tool you can add into your agentic
Calvin Hendryx-Parker: workflow to do AI memory. So, and more than just memory, memory that learns. So thinking about this
Calvin Hendryx-Parker: memory problem is actually kind of hard. AIs forget everything between sessions, obviously.
Calvin Hendryx-Parker: So you're constantly writing project specs, implementation detail plans. You know, those are
Calvin Hendryx-Parker: good practices, but wouldn't it be nice if it could remember like last Tuesday when you use this tool,
Calvin Hendryx-Parker: this kind of output happened. And maybe in this context, it's actually better to use this other
Calvin Hendryx-Parker: tool, but that kind of, that temporal, like using time and associating facts and details together
Calvin Hendryx-Parker: isn't something that just a markdown memory.md file is going to help you out with. So there's
Calvin Hendryx-Parker: an open source tool called Hindsight from the folks at Vectorize, and they offer a cloud version
Calvin Hendryx-Parker: of this, but you can run it locally. You can install it with Python. It's got, I think,
Calvin Hendryx-Parker: adapters for all the major like Python, JavaScript, Node, et cetera. But basically what they're saying
Calvin Hendryx-Parker: is simple vector search is not enough.
Calvin Hendryx-Parker: Even if you had a ChromaDB locally
Calvin Hendryx-Parker: with your documents all loaded into it,
Calvin Hendryx-Parker: that isn't enough to solve the problem
Calvin Hendryx-Parker: about what did you do last spring, for example,
Calvin Hendryx-Parker: like the example they give here.
Calvin Hendryx-Parker: That requires temporal reasoning
Calvin Hendryx-Parker: and not just semantic similarity.
Calvin Hendryx-Parker: So hindsight attempts to add in
Calvin Hendryx-Parker: this extra layer of temporal retrieval,
Calvin Hendryx-Parker: which runs semantic keyword graph
Calvin Hendryx-Parker: and temporal search in parallel
Calvin Hendryx-Parker: to store, retrieve, and reason over those memories.
Calvin Hendryx-Parker: So you actually get kind of three main functions.
Calvin Hendryx-Parker: There's three, it's a simple API.
Calvin Hendryx-Parker: There's just retain, recall, and reflect.
Calvin Hendryx-Parker: And then it uses this temper technique
Calvin Hendryx-Parker: to do the search across all in parallel.
Calvin Hendryx-Parker: And then it brings it all together
Calvin Hendryx-Parker: and it automatically consolidates the related facts
Calvin Hendryx-Parker: into durable observations instead of piling up duplicates.
Calvin Hendryx-Parker: So again, preserving that context window,
Calvin Hendryx-Parker: putting in what is most valuable,
Calvin Hendryx-Parker: when it means the most to what you're doing,
Calvin Hendryx-Parker: it's probably the next step in memory.
Calvin Hendryx-Parker: I think this is, again, a next front that has to be conquered
Calvin Hendryx-Parker: is giving these agents better recall and memory.
Calvin Hendryx-Parker: I think a lot of people got a little taste of this
Calvin Hendryx-Parker: with OpenClaw, but OpenClaw's default memory,
Calvin Hendryx-Parker: I don't think gives you this level out of the box,
Calvin Hendryx-Parker: but you could integrate this into your existing OpenClaws.
Calvin Hendryx-Parker: It is on GitHub, it's open source.
Calvin Hendryx-Parker: You can pip install hindsight all,
Calvin Hendryx-Parker: And that actually brings down and installs the whole server and process includes like a line chain,
Calvin Hendryx-Parker: llama index, Pydantic AI and crew AI and more all kind of bundled together into a nice package that
Calvin Hendryx-Parker: you can just start using with your Claude Code or cursor or whatever agent you want. You can now give
Calvin Hendryx-Parker: it better memory that can actually learn from what you're doing along the way. So I don't know if
Calvin Hendryx-Parker: Have you run into memory issues, Michael?
Michael Kennedy: Especially as we age.
Michael Kennedy: Oh, yes.
Michael Kennedy: 100%.
Michael Kennedy: I have my command book app that I mentioned last week.
Michael Kennedy: Oh, yeah.
Michael Kennedy: You're all about this.
Michael Kennedy: It doesn't work as well as Python in terms of agentic stuff,
Michael Kennedy: but obviously you can do stuff like that.
Michael Kennedy: But just to give you an example, I had to add a feature to the CLI.
Michael Kennedy: I've been doing a lot of search work to the CLI for the command book UI GUI app,
Michael Kennedy: which is weird, but will make sense the next time I talk about it.
Michael Kennedy: But the way that those things are built is the Xcode project has them linked in the project
Michael Kennedy: and you don't have to build them separately.
Michael Kennedy: But the agent, even though it's worked on it a ton of times, is like, oh, I got to figure
Michael Kennedy: out how to build the CLI.
Michael Kennedy: I can't find it.
Michael Kennedy: It doesn't seem to be a CLI project.
Michael Kennedy: What is going on?
Michael Kennedy: And it spent like five minutes on this.
Michael Kennedy: And what are you doing?
Michael Kennedy: Save a memory that you just build the project this way.
Michael Kennedy: And he goes, oh, yes, that would be great for next time.
Michael Kennedy: Right?
Calvin Hendryx-Parker: Right.
Calvin Hendryx-Parker: It's like having a fresh intern.
Calvin Hendryx-Parker: Every hour you start a new thing.
Michael Kennedy: Every day they show up, they're like, hey, I'm here for my first day of work.
Michael Kennedy: Like, no, you're not.
Michael Kennedy: What are you doing?
Michael Kennedy: You've been here for weeks.
Michael Kennedy: And so I think that would be great.
Michael Kennedy: One of the things that I think would be cool would be, and I don't know if you could do
Michael Kennedy: this, is have it sync across computers because I work on my MacBook and I work on my mini
Michael Kennedy: and I'm like, I told it to save on my mini.
Michael Kennedy: But, you know, why is that not part of your somehow part of your account rather than part
Michael Kennedy: of your, you know, like on my account, it knows that this project is like this, right?
Michael Kennedy: so this must have files right maybe you could save them to your dropbox yeah well i was thinking that
Calvin Hendryx-Parker: after our tools episode from last week i'm really focusing on building out my framework desktop
Calvin Hendryx-Parker: machine to be that central place i go um i mentioned tmux last week is my favorite go-to
Calvin Hendryx-Parker: tool for basically using mosh and logging into that machine but i think i'm going to switch over
Calvin Hendryx-Parker: to zelige if you've tried z-e-l-l-i-j i don't know how you pronounce it these are zelige or zelige
Calvin Hendryx-Parker: but having this mental model,
Calvin Hendryx-Parker: this hindsight running over there
Calvin Hendryx-Parker: where no matter where I'm out and about
Calvin Hendryx-Parker: or if I'm at my desk or sitting on the couch,
Calvin Hendryx-Parker: I'm always actually working off that one machine
Calvin Hendryx-Parker: where I've got great local model availability.
Calvin Hendryx-Parker: You can talk to it over the network?
Calvin Hendryx-Parker: Yeah, talk to it over the network.
Calvin Hendryx-Parker: Exactly.
Calvin Hendryx-Parker: Well, combining that with the tail scale
Calvin Hendryx-Parker: or I've got the Ubiquiti,
Calvin Hendryx-Parker: what do you call it?
Calvin Hendryx-Parker: Teleport here.
Calvin Hendryx-Parker: Yeah.
Calvin Hendryx-Parker: Okay, this is cool.
Calvin Hendryx-Parker: I'm standing up on my mini.
Calvin Hendryx-Parker: Yeah.
Calvin Hendryx-Parker: I think you put it on one spot.
Calvin Hendryx-Parker: So you can see here,
Calvin Hendryx-Parker: the memory bank consists of not just like
Calvin Hendryx-Parker: a single markdown file of memories,
Calvin Hendryx-Parker: but it's like middle models, observations,
Calvin Hendryx-Parker: memories and entities, chunks and documents,
Calvin Hendryx-Parker: which is important because whole documents
Calvin Hendryx-Parker: won't do it for you.
Calvin Hendryx-Parker: Sometimes it needs to be able to do that reasoning
Calvin Hendryx-Parker: and reflecting and pull those chunks into specific spots.
Calvin Hendryx-Parker: And based on, again, I think the key bit here is time,
Calvin Hendryx-Parker: a clever name, hindsight.
Calvin Hendryx-Parker: In hindsight, time would matter for memory.
Calvin Hendryx-Parker: And so I think they've definitely solved this problem,
Calvin Hendryx-Parker: which I think is pretty cool.
Calvin Hendryx-Parker: So check it out.
Calvin Hendryx-Parker: Yep.
Calvin Hendryx-Parker: Check it out.
Calvin Hendryx-Parker: I'm going to, I'm going to install it on my framework desktop and start using this for
Calvin Hendryx-Parker: memory inside of my projects.
Calvin Hendryx-Parker: I think it's going to be pretty cool.
Calvin Hendryx-Parker: All right.
Calvin Hendryx-Parker: Let's head into, let's go to the extra part of the show.
Calvin Hendryx-Parker: And I think both of us have quite a few extras here.
Calvin Hendryx-Parker: When you want to kick it off, Michael.
Michael Kennedy: You got your screen.
Michael Kennedy: Okay.
Michael Kennedy: Yeah.
Calvin Hendryx-Parker: Okay.
Calvin Hendryx-Parker: I can do that.
Calvin Hendryx-Parker: Yeah.
Calvin Hendryx-Parker: Let me, let's see here.
Calvin Hendryx-Parker: The first one I was going to talk about, oh my gosh, I've got too many, I've got too many
Calvin Hendryx-Parker: things on my screen now.
Michael Kennedy: That's basically what this, I guess it's about.
Calvin Hendryx-Parker: How do you refer to your AI agents when you're talking to them?
Calvin Hendryx-Parker: Do you have a term of endearment for them, Michael?
Michael Kennedy: Not in a personalized way, but I refer to Claude as Claude.
Michael Kennedy: And I refer to...
Michael Kennedy: With their name, their branding, their branding.
Michael Kennedy: Yeah, I refer to ChatGPT as Chat.
Michael Kennedy: Like, hey, Chat, let's talk about this.
Michael Kennedy: Or like, hey, Claude, good job on that.
Calvin Hendryx-Parker: I kind of like Armin's approach of calling it clanker.
Calvin Hendryx-Parker: I think it puts it in...
Calvin Hendryx-Parker: Clanker.
Calvin Hendryx-Parker: It kind of puts it in the right spot.
Calvin Hendryx-Parker: And when I think about it, I think about this.
Calvin Hendryx-Parker: I assume this is the Star Wars reference because in Star Wars, they called all the Trade Federation robot bots clankers as a derogatory term in their case.
Calvin Hendryx-Parker: But I feel like it doesn't make it as human.
Calvin Hendryx-Parker: And you can yell at a clanker a lot easier than you could if you're yelling at Claude.
Calvin Hendryx-Parker: People might get upset about you yelling at something named Claude.
Calvin Hendryx-Parker: So I thought clanker was kind of interesting.
Calvin Hendryx-Parker: Check that out.
Calvin Hendryx-Parker: There's a blog post from Armin about it from a couple weeks old, but I think it's still very relevant to check out.
Calvin Hendryx-Parker: So that was my first one. And the next one is everyone has one of these in their office.
Calvin Hendryx-Parker: Someone decided to make it more official. Do I not have the, let me grab the link for that one.
Calvin Hendryx-Parker: There's a project called Ponytail. And now I've got it open over here.
Michael Kennedy: I read this article. I know I watched a video evaluating this on YouTube just last night.
Calvin Hendryx-Parker: There it is. Yes. So make your AI agent think like the laziest senior dev in the room.
Calvin Hendryx-Parker: The best code is the code you never wrote.
Calvin Hendryx-Parker: So instead of the, it's kind of the not invented here,
Calvin Hendryx-Parker: like our Yagni, like I'm not gonna rewrite
Calvin Hendryx-Parker: my own requests library.
Calvin Hendryx-Parker: Make sure you always use the libraries that are available.
Calvin Hendryx-Parker: I kind of like, I haven't tried it,
Calvin Hendryx-Parker: but I thought it was kind of clever.
Calvin Hendryx-Parker: Less code, less tokens, obviously.
Calvin Hendryx-Parker: And you basically can just insert into your code,
Calvin Hendryx-Parker: hey, ponytail, browser has this,
Calvin Hendryx-Parker: and put in there like a placeholder of like what you want,
Calvin Hendryx-Parker: if you want to date that for example in this case is a date picker so it's like input type date and
Calvin Hendryx-Parker: then let your agent figure it out with this uh skill installed to figure out what what um uh what
Calvin Hendryx-Parker: dependency it should go install instead of trying to write its own so a lot of times these ai agents
Calvin Hendryx-Parker: are going to try and write their own versions of things that probably already exist why would you
Michael Kennedy: they're very happy to go oh yeah enterprise on you when it's like i just i don't need this is not in
Michael Kennedy: need of that. It is a very simple project. I just need like a dialogue. So maybe you could just use,
Michael Kennedy: hey, guess what? HTML is recently has a built-in dialogue thing. You don't need to install React
Michael Kennedy: just so I can have a dialogue. You know, that's kind of the vibe. All right. The next one is,
Calvin Hendryx-Parker: we've been talking a lot about agents, AI, and giving them control over our computers.
Calvin Hendryx-Parker: How can we do that in a safe way? And how can we do it for multi-user? A good friend of mine,
Calvin Hendryx-Parker: Chris McDonough from the Zope Python clone communities. He has wrote a agentic wrapper
Calvin Hendryx-Parker: around all this. So it kind of does containerized sandbox workspaces where you can actually do it
Calvin Hendryx-Parker: multiplayer. So check out Dave. I don't believe he's done much fanfare around this project. It's
Calvin Hendryx-Parker: very new. Just started a couple of weeks back, but I think it's already made a ton of progress.
Calvin Hendryx-Parker: There's already like well over a thousand commits in there from him and a couple other contributors
Calvin Hendryx-Parker: into this, but basically use it with Pi or Claude Code, but intentionally given wide permissions.
Calvin Hendryx-Parker: So you want to be able to have them read, write, and execute code, but do it in a safe space,
Calvin Hendryx-Parker: in its own safely isolated workspace. And then for Teams, you basically, I believe it incorporates
Calvin Hendryx-Parker: Tmux in for allowing kind of the multi-user, multiplayer. If you've ever done Tmux with
Calvin Hendryx-Parker: multi-user, it's actually kind of magical. It feels like Google Docs where multiple people can edit.
Calvin Hendryx-Parker: simultaneously, well, multiple people can be in the terminal
Calvin Hendryx-Parker: simultaneously working together.
Calvin Hendryx-Parker: And so when you wanna collaborate
Calvin Hendryx-Parker: and wanna be using an agent
Calvin Hendryx-Parker: and actually collaborate with other humans,
Calvin Hendryx-Parker: this actually may be a really good option for you.
Calvin Hendryx-Parker: It is called Clang, kind of maybe a play
Calvin Hendryx-Parker: on the word clankers again.
Calvin Hendryx-Parker: So Clang with the K at the end, how do you pronounce that?
Calvin Hendryx-Parker: These projects need to get better naming.
Calvin Hendryx-Parker: Clang
Calvin Hendryx-Parker: I don't know.
Michael Kennedy: Yeah.
Michael Kennedy: I honestly think when projects are like this
Michael Kennedy: and they could be pronounced many ways,
Calvin Hendryx-Parker: There should be a little MP3, just like, here's how it sounds.
Calvin Hendryx-Parker: How do I pronounce this?
Calvin Hendryx-Parker: All right.
Calvin Hendryx-Parker: Another one.
Calvin Hendryx-Parker: Who's been having struggles with GitHub and their outages recently?
Calvin Hendryx-Parker: Well, Cursor has announced Origin.
Calvin Hendryx-Parker: It's currently on a public wait list, but it might be something worth watching.
Calvin Hendryx-Parker: But it is basically a source control optimized for the agentic world.
Calvin Hendryx-Parker: I think they are claiming something like over 22 commits per second support out of the box.
Calvin Hendryx-Parker: So if you've got a lot of users going at it with their agents
Calvin Hendryx-Parker: and be able to commit at that level of scale,
Calvin Hendryx-Parker: I think this is the future
Calvin Hendryx-Parker: and where GitHub better get their act together
Calvin Hendryx-Parker: because it sounds like Cursor's coming for their lunch.
Calvin Hendryx-Parker: And the last extra I wanted to cover was performative UI.
Calvin Hendryx-Parker: Michael, have you ever wanted to launch your own AI startup
Calvin Hendryx-Parker: and you needed to have the right AI components
Calvin Hendryx-Parker: onto the page?
Calvin Hendryx-Parker: Oh yeah.
Calvin Hendryx-Parker: This is AI native React components
Calvin Hendryx-Parker: for the next you name it.
Calvin Hendryx-Parker: So any fancy sparkles, any fancy pills with, you know, status lights in them.
Calvin Hendryx-Parker: You can just npm install performative UI.
Michael Kennedy: I just added a pill to my, one of my websites and I didn't even think that I could use the framework for it.
Calvin Hendryx-Parker: Oh yeah.
Calvin Hendryx-Parker: Well, so there's, for example, golden eye, the golden eye effect.
Calvin Hendryx-Parker: If you'd like to have that, you can, you can get that right out of here.
Michael Kennedy: I kind of, I kind of don't want to like this, what I do kind of like it.
Calvin Hendryx-Parker: I know.
Calvin Hendryx-Parker: I was, when I saw it, I was like, oh my gosh, the things, I mean, you, you scroll down through here, they have thought of, well, or
Calvin Hendryx-Parker: every possible trope that most of the ai startups are doing uh if you want to have your chat bubbles
Calvin Hendryx-Parker: look like they are coming straight out of the existing chat client uh if you want to have an ide
Calvin Hendryx-Parker: they've got a mock ide component that you can land in your page to show developers that you're very
Calvin Hendryx-Parker: developer friendly so that was a fun one uh that i thought i would share with the group here uh
Michael Kennedy: michael what do you got in the way extras all right i got it i got a couple of things um by the way
Michael Kennedy: before I jump over there, it's just, you talked about Armin's article on clinker, clinkers in that
Michael Kennedy: word. I have gone the opposite direction. And I found it surprisingly makes me feel better working
Michael Kennedy: with these things is I've gotten Claude to address me in a way more personal way. Okay. So instead of
Michael Kennedy: going, the user has requested or the project, you know, it refers to me as Michael and like uses me.
Michael Kennedy: So it'll be like, and Michael already committed this.
Michael Kennedy: And so we're going to do this.
Michael Kennedy: And it's because it sounds so silly, but here's the thing.
Michael Kennedy: I find some, you know, without those kinds of things, like doing a lot of this agentic
Michael Kennedy: stuff, it's super sterile.
Michael Kennedy: It's still like working with other people.
Michael Kennedy: I'm just now working with this thing that like refers to me as user.
Michael Kennedy: I'm like, I am not a number.
Michael Kennedy: I am a man, you know, like that's what I feel like.
Calvin Hendryx-Parker: I'm going to be worried, Michael, when you start referring to yourself in the third person.
Michael Kennedy: I know.
Michael Kennedy: Well, well, well, Michael wants to cover.
Michael Kennedy: No, just kidding.
Michael Kennedy: So a really cool Talk Python episode that I released last week, and it will still be the
Michael Kennedy: live one for a day or two before I release.
Michael Kennedy: The next one is I interviewed Charlie Marsh.
Michael Kennedy: Now that Astral has been part of OpenAI for a little while.
Michael Kennedy: What a journey.
Michael Kennedy: Yeah, basically it talks about the whole journey he's been on.
Michael Kennedy: It talks about what does this acquisition by OpenAI mean for the Python community, for
Michael Kennedy: uv ty rough all those kinds of things so uh i think people if you care about like what is happening to
Michael Kennedy: uv check this out and you mentioned cursor they're gonna have a little extra money to you know build
Michael Kennedy: build origin because they just got acquired by spacex or are going to be i mean what do you do
Calvin Hendryx-Parker: what do you do with that extra money other than build more stuff exactly you could run a lot of
Michael Kennedy: agents for 60 billion dollars because that's what they're apparently getting acquired for 60 billion
Michael Kennedy: dollars a vs code clone oh my gosh wow wow wow wow wow um i was a huge lover of of cursor for a long
Calvin Hendryx-Parker: time and never been a cursor user it was not my not my normal toolkit not your vibe no it's i'm
Calvin Hendryx-Parker: cli's i know i know see this is why it's good you're here we have different perspectives i love
Michael Kennedy: of cursor but it's been moving more and more towards just like just fire off a bunch of agents
Michael Kennedy: that don't even look at what it does sort of that's been it's what it's embracing and the more it does
Michael Kennedy: that the less like i kind of want to still see what's going on a little bit anyway um also astral
Michael Kennedy: intersect open ai but this is not the same thing charlie marsh posted i'm proud to announce that
Michael Kennedy: we're renewing and expanding our support for maintainers of open source projects used across
Michael Kennedy: Astral and Codex tool chains at OpenAI.
Michael Kennedy: Today, that starts with committing more than $160,000
Michael Kennedy: in direct sponsorship through GitHub sponsors.
Calvin Hendryx-Parker: Nice.
Michael Kennedy: So there's the Astral open source fund and so on,
Michael Kennedy: and it shows you how to apply.
Michael Kennedy: So if you want to get,
Michael Kennedy: also the Codex open source, a million dollar fund
Michael Kennedy: that includes six months of ChatGP Pro,
Michael Kennedy: API credits, and so on and so on.
Calvin Hendryx-Parker: Which have you noticed in Codex,
Calvin Hendryx-Parker: if you're using ChatGPT in Codex,
Calvin Hendryx-Parker: it now gives you an option to reset your quota twice.
Calvin Hendryx-Parker: Like you get two resets of,
Calvin Hendryx-Parker: oh,
Calvin Hendryx-Parker: I messed up and I went over.
Michael Kennedy: Okay.
Michael Kennedy: Interesting.
Calvin Hendryx-Parker: Watch,
Calvin Hendryx-Parker: keep an eye on tokenomics.
Calvin Hendryx-Parker: I think this is going to be the next three months,
Calvin Hendryx-Parker: two months are going to be very interesting in the token space.
Michael Kennedy: I agree.
Michael Kennedy: And things like,
Michael Kennedy: not necessarily endorsement,
Michael Kennedy: but things like ponytail.
Michael Kennedy: Yeah.
Michael Kennedy: In memories and other stuff that keep it more focused are going to become more and more
Michael Kennedy: important.
Michael Kennedy: I imagine.
Michael Kennedy: All right.
Michael Kennedy: What am I?
Michael Kennedy: Oh yes.
Michael Kennedy: I know what I'm talking about here.
Michael Kennedy: If I go to any of these courses on Talk Python, what is really cool is I can now, I guess I had to log in to show you, which I'm not.
Michael Kennedy: I won't bother.
Michael Kennedy: But now every single course at Talk Python training, all 283.9 hours of them have Spanish subtitles, German subtitles, which they always have been there for a little while.
Michael Kennedy: But the announcement is now Portuguese.
Michael Kennedy: Every course has full high quality Portuguese transcripts.
Michael Kennedy: And boy, boy, was that a lot of words to generate those correctly.
Calvin Hendryx-Parker: So who QAs those?
Calvin Hendryx-Parker: Do you have some folks in the community who are QAing these translations?
Michael Kennedy: No, I have a whole series of AI agents and Python software that like re-evaluates them.
Michael Kennedy: And it's just a whole back and forth.
Michael Kennedy: I was able to QA them somewhat in German because I can speak some German, but my technical German is not great.
Michael Kennedy: So, you know, somewhat.
Michael Kennedy: But it worked well for there.
Michael Kennedy: So I'm just trying to apply the same process.
Michael Kennedy: We'll see.
Michael Kennedy: People let me know how they're turning out.
Michael Kennedy: But I think they're pretty good.
Calvin Hendryx-Parker: Well, I'm glad you're making the effort to make it accessible.
Michael Kennedy: Yeah, exactly.
Michael Kennedy: I'm thinking, even if they're not perfect, you know what?
Michael Kennedy: The English subtitles aren't perfect either.
Michael Kennedy: They were done mostly by humans directly, but non-technical humans.
Michael Kennedy: So they still need a little bit of fixes here and there.
Michael Kennedy: That's the challenge.
Michael Kennedy: right like even if you get a human being to do it then you got to find a human being who both is
Michael Kennedy: patient diligent and does python which is like really and wants to do transgress this is a very
Michael Kennedy: rare person i'll tell you what okay a couple more quick announcements uh this one um we've got the
Michael Kennedy: jango developer survey is out but the analysis in the search for a dsf executive director so
Michael Kennedy: So boosted by our friend Jeff Triplett out there.
Michael Kennedy: So they're looking to hire somebody for this.
Michael Kennedy: And I believe you deserve a bit of a shout out here.
Michael Kennedy: Hey, look at that.
Michael Kennedy: Shout out to Six Feet Up, who is one of the key sponsors making this happen.
Michael Kennedy: Do you want to say one quick word about that?
Michael Kennedy: You know more than I do.
Calvin Hendryx-Parker: Yeah.
Calvin Hendryx-Parker: No, I think we're definitely very involved in wanting to be engaged in getting the Django
Calvin Hendryx-Parker: Software Foundation and executive director.
Calvin Hendryx-Parker: it's gonna be a big move for that group
Calvin Hendryx-Parker: to have that kind of dedicated leadership.
Calvin Hendryx-Parker: Right now it's very all volunteer run.
Calvin Hendryx-Parker: So things like the conferences are done
Calvin Hendryx-Parker: through another volunteer group called Defna
Calvin Hendryx-Parker: and the Software Foundation managed some pieces of it.
Calvin Hendryx-Parker: There are some paid positions like the fellows
Calvin Hendryx-Parker: who work on the code,
Calvin Hendryx-Parker: but this is working on growing the community.
Calvin Hendryx-Parker: And there's a huge tale of people using Django out there
Calvin Hendryx-Parker: in the world and they don't know how to give back.
Calvin Hendryx-Parker: And I think that's part of this executive director's mission
Calvin Hendryx-Parker: is going to be how do they go and find the folks
Calvin Hendryx-Parker: who are getting a lot of value out of Django
Calvin Hendryx-Parker: and making sure that that value kind of gets put back
Calvin Hendryx-Parker: into the community in the form of sponsorships
Calvin Hendryx-Parker: for the software project itself.
Calvin Hendryx-Parker: So we can have more fellows,
Calvin Hendryx-Parker: we can have bigger sponsors at the conferences,
Calvin Hendryx-Parker: people can get greater adoption of Django into more places.
Calvin Hendryx-Parker: I think there's a lot of behind the firewall usage here
Calvin Hendryx-Parker: that this is gonna help bring to light
Calvin Hendryx-Parker: and get more sponsorships.
Calvin Hendryx-Parker: So yeah, 6Whip is super excited to sponsor
Calvin Hendryx-Parker: and help find the right person.
Michael Kennedy: That's awesome, Calvin.
Michael Kennedy: One of the, I think, key secret sauces of Django
Michael Kennedy: is the community.
Michael Kennedy: So this is right in that space, yeah.
Calvin Hendryx-Parker: Yeah, yeah.
Michael Kennedy: Especially now in this agetic world, right?
Calvin Hendryx-Parker: Human contact is even more important than ever.
Calvin Hendryx-Parker: I agree, 100%.
Calvin Hendryx-Parker: All right, I've got a joke.
Calvin Hendryx-Parker: So you got a joke for us?
Michael Kennedy: You got a joke?
Michael Kennedy: It's called, oh, babe.
Michael Kennedy: Oh, babe.
Michael Kennedy: Oh, this is rough, but it's right on point
Michael Kennedy: for what we've been talking about, some of the things.
Michael Kennedy: All right, hit me with it.
Michael Kennedy: You talked about tokenomics.
Michael Kennedy: So this is a screenshot of an iMessage.
Michael Kennedy: It says, babe, heart, heart.
Michael Kennedy: $15,000 out of our ticket to go.
Michael Kennedy: Oh, my God.
Michael Kennedy: Oh, is this what I think it is?
Michael Kennedy: Ring emoji, ring emoji, ring emoji.
Michael Kennedy: Hands over.
Michael Kennedy: Anthropic PC.
Michael Kennedy: Invoice from Anthropic.
Michael Kennedy: $15,000.
Calvin Hendryx-Parker: Keep an eye on that token bill.
Calvin Hendryx-Parker: I don't think it's going to go down.
Michael Kennedy: I'm so sorry, but it's not a ring.
Michael Kennedy: It's just a monthly Claude bill.
Calvin Hendryx-Parker: How rough is that?
Calvin Hendryx-Parker: It's very real.
Calvin Hendryx-Parker: I feel seen.
Calvin Hendryx-Parker: All right, Michael, thank you so much for joining us for another episode of Python Bytes.
Calvin Hendryx-Parker: We will be back next week with more Python news and headlines right to your earbuds.
Calvin Hendryx-Parker: So we'll see you all later.
Calvin Hendryx-Parker: Thanks, everyone.
Calvin Hendryx-Parker: Thanks, Calvin.