Python Bytes - #258 Python built us an anime dog!

Episode Date: November 11, 2021

Topics covered in this episode: stale: github bot to “Close Stale Issues and PRs” jut - JUpyter notebook Terminal viewer JupyterLyte Feature comparison of ack, ag, git-grep, GNU grep and ripgre...p Python Client for Airtable: pyairtable Black can now format notebooks Extras Joke See the full show notes for this episode on the website at pythonbytes.fm/258

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds. This is episode 258, recorded November 10th, 2021. I'm Michael Kennedy. And I'm Brian Ocken. And I'm Karen Dalton. Yay. Yay. Welcome, Karen. So good to have you here. It is quite a delight and an honor. I've been a longtime fan, as they say in the radio, long-time listener, first-time caller of both of your podcasts and books and Slack channels and training. And so I'm really excited to be here.
Starting point is 00:00:33 Well, thanks for being part of the community in all those ways. And you and I got to meet down at Pi Bay in San Francisco. That was a lot of fun. Yeah. I, Brian, I don't know if Brian uh, I arrived at Pi Bay and I was going to be one of the MCs and I saw Michael Kennedy who I cherry picked to introduce. I, you know, I was one of the organizers and, uh, MCs for the event and I approached him and overwhelmed him. I'm like, you're a super fan. And he was like, um, so, but he was very gracious about being fangirled just at the registration table.
Starting point is 00:01:10 Yeah, no, you were great to help me out with the talk. Thank you so much. And hey, it's Anthony Shaw on the live stream. Hey, says, hi, Karen. Great to have you on the show. Nice. Hi, Anthony. Anthony and I just did a show on Pigeon, P-Y-J-I-O-N, the JIT compiler that he just released, version 1.0.
Starting point is 00:01:27 That TalkPython episode will be out today, tomorrow, fingers crossed, very, very soon. So stay tuned for more on that. But let's start with whatever you brought us, Brian. Number one. Well, I figure we really need to talk about Will McCougan because, you know, get that. Has it been a show since we've done that? So just get that out of the way. So on Twitter,
Starting point is 00:01:48 Will asked a general question to everybody. Something like if I've got an open source project and somebody files an issue with it, but I have a question about it and I asked them a question and they don't ever respond
Starting point is 00:02:02 for a really long time. So is there a way to just automatically clean those up or clean them up easily? Because we could just assume that the person has figured out or solved the problem or it's not a problem anymore, or they don't care. So one of the responses, which I liked, which I thought was pretty cool was a bot, a GitHub bot. It's actually from GitHub. It's a bot called stale. So it's a bot that closes stale issues and PRs. And the gist of it, like on the 10, it says it warns and then closes issues and PRs that have had no activity for a specified amount of time. That sounds perfect. Uh, configuration must be on the default branch and the default values will be, um,
Starting point is 00:02:50 it will add a stale label to issues or PRS that are six with after 60 days of inactivity, um, and close stale issues or NPRS after seven days of inactivity. And if an update or comment occurs during that timeframe, it restarts the clock. But all of those are not for me, since I'm an open source maintainer, but I don't like, sometimes I don't pay attention to them for a couple months. I would definitely want to bump that up to make sure that it's at least within my timeframe so
Starting point is 00:03:21 that, you know, my own, if my own inactivity problems might not be the case. So I totally hear that. I would love to see one minor change, one more bullet point on the things that does add a stale label after 60 days, close it after seven days of inactivity. Um, a comment will bring it back, but I would love to see this bot put a comment on their saying, if we don't deal with this, it's going away. That way, the people who submitted the PR will get an email. The maintainer will get an email. And so, like, you're notified the seven-day clock has begun, you know?
Starting point is 00:03:56 Karen, you're shaking your head. Yeah, I mean, I've certainly seen it on open-source repos, and it's nice to have that there but sometimes it's an issue that's important to you and you don't want it to necessarily go away. And I wish there was a way to say, this is
Starting point is 00:04:16 actually really important to me, please don't close it even if you can't pay attention to it. Yeah, absolutely. For instance, in one of the settings, there's a bunch of settings. One of the settings is a stale issue message or comment on stale issue. So it looks like it does that one. And I think there's exempt issue labels, labels on issues exempted. So you can mark something as, you know, keep this around or something.
Starting point is 00:04:43 Oh, see, I don't have that window up, so I didn't scroll. Perfect. Yeah, so it looks like it. Yeah, this looks well thought out then. I love it now. Yeah, and it's been around for a while, and it's got like, I guess only 498 stars, but it'll be more than that after we do this show. That's right.
Starting point is 00:05:00 Exactly. It'll be at least 500. Yeah, 499. No, this is a great find. I really like it. So yeah, good one, Brian. Yeah, I think I'm really impressed with GitHub that they've added so many features.
Starting point is 00:05:16 I use it more than I have GitLab. So GitLab may have as many, you know, in all fairness. But GitHub has added lots of cool features and ongoing development to make things easier. As you know, many things have evolved, lots more features added, but things like this that make it easier to maintain things. I'm really happy with the way, the direction of GitHub these days. So it seems like it's going really well.
Starting point is 00:05:41 Yeah. Yeah. I'm definitely happy there. I use both. I like them both. But Gab definitely has a focus on the, or at least it feels like it's listening to open source maintainers and their needs. Yeah, for sure, for sure.
Starting point is 00:05:54 All right. So I want to show you another one that I think also may involve Wilma Coogan. I got to do a quick check here. It's called JUT, JUT, JUT. Maybe if you're German, it's JUT. I don't know. But we could look at the Pyre project. Tom will see if Rich is in here. It is. Okay. So yeah, it definitely involves
Starting point is 00:06:11 Rich and Wilma Guggen. And what it is, is it's a renderer, not a interactive environment, but a renderer for Jupyter notebooks. And we've had that, you know, in Bviewer and things like that, like on the web, but this one is in your terminal. So here's the scenario, like you're in the terminal remote, maybe SSH into a remote machine. And you're like, Oh, there's this notebook file that what the heck is this? What is it? I'm like, I don't have a browser or whatever. And so the way that it works, let me pull up this little animation for everyone and have it go, is if you're somewhere, you just say, I'm going to go with jute, give it a URL, and you can literally give it something off of the internet. And you can even give it like tail commands.
Starting point is 00:06:54 So I want to see the last 10 cells instead of lines. And it uses rich to colorize and style what the notebook has, including the data cells, as well as the actual output, the computation, you know how the notebooks will store their output from the last time they were run, unless you clear them. It'll show that as well.
Starting point is 00:07:13 What do you all think? I love that. I mean, sometimes you get a file and you just want to check some, introspect some portion of it and you can't just do more for cat on a Jupiter notebook. Yeah. You get something completely wrong.
Starting point is 00:07:28 And I don't sometimes in the space that you're in, you don't, you just want to quickly be able to check what it is and move on. And so I love that. And I love rich. That's that it's, you know, the color, the colorized terminal is really helpful. Honestly, it might have better syntax highlighting than notebooks themselves. Brian, what were you going to say?
Starting point is 00:07:52 No, no, just I really like the focus of tools making things usable on command line because I'm a command line lover. And I mean, I've got nothing against doing notebooks on a web browser, but things like this make it possible to do things like put them in a pipeline and automate them more easily. And like this, it's not really automating using the notebook,
Starting point is 00:08:19 but it might be, you might make sure that like something is, you know, a regression thing. You want to make sure that things are visible so you can use this to to grab grab one off your hub repo or something and make sure nothing weird happened yeah for sure yeah looks good and to bring it back around full circle will mcgougan out in the audience says neat that's a new one for me hey will yeah it's always fun to show you projects using your library because there's a bunch of cool ones out there. Awesome. All right.
Starting point is 00:08:47 Well, I'm not sure what else I have to say about this one other than it was sent into us by KidPixo. Thank you for that. That was awesome. Keep them coming. He sent a bunch of things along. Like I said, you can display the different cells like the first five, last five, you know, whatever you want to pass over. You can also do things like show it to me just in plain text if you for some reason want to copy it and you don't want the formatting pretty straightforward to use but also really nice all right karen you're up next uh adding on to the the jupiter thread uh
Starting point is 00:09:15 one of the interesting things that's coming out is jupiter light uh it's uh it is being developed by core jupiter developers but it's still unofficial. And one of the nice things is static. And if you share it with somebody, they can just go to a webpage and you can just, you can cache it. So you don't have to have a Jupyter notebook server running. It's a static page.
Starting point is 00:09:41 Obviously there's JavaScript and other elements involved. And so if you just click on one of those things, try it with JupyterLab, it takes you to a browser. That window, as you can see, is a static page. It's going to take a second to come up because it's got some JavaScript. And if you click on that pile light and then just do like an import this to see a standard kind of notebook. Yeah, it has a little, it has a notebook tour. If you do an import this, which is a standard kind of test to do the Python mantras, it, you know, it runs simply and that's all just running in a browser.
Starting point is 00:10:14 So obviously it's, uh, if you wanted to share things with some somebody, it's, uh, it's an easy way for them to see it. You would just send them that file and they can open it up and do some additional things. It's probably you won't want to run your core data pipelines in a static web browser window, but it does allow you to do a variety of things. And there's some sample notebooks included with it that let you do some things. So you can run through either step-by-step that you can actually add text into,
Starting point is 00:10:48 as you saw, into the window. So it's a nice feature add to be able to run a notebook in a browser window and show some examples of your code in a static way. I know that people have sent me Jupyter notebooks or shared them or sometimes you can see them on github there's even tools now that you can do um uh get diffs uh there's a service that allows you to do diffs of jupiter notebooks that you can do that for your pull
Starting point is 00:11:16 request reviews but uh sometimes it's nice to be able to see like i would like to change this a little bit without like starting up a server yourself. So, yeah. Yeah. We've been able to host these. We've been able to set up notebook servers and host them, but there's issues with letting people run code. Maybe you don't want to let them run it. It's only read only. But this is cool because it will let you run it in the browser, right?
Starting point is 00:11:38 Which is using WebAssembly. Yeah, exactly. And you can have the JupyterLab look or kind of retro look, which is just very minimalist without that kind of UI. So it's a really nice feature. I've never tried RetroLab. Yeah, it's just more of a basic like bio list. It doesn't have that nice kind of look and feel of the newer version of JupyterLab, but it works. Yeah, fantastic. Just run all the cells and it runs, I guess, in WebAssembly. Super cool.
Starting point is 00:12:12 Oh, yeah, that's a good one. Brian, what do you think? A simple pip install and then you run another command to generate all the JavaScript and things it needs. And then once that index file is made, that directory is made, then it's really easy. You just open up that index.html on your, you can run it on local host, you can Python start at HTTP server with, you know, easily with Python 3
Starting point is 00:12:39 so that it will serve that page as well. You can even deploy it to GitHub pages or something like Netlify or some other static host. Yeah. Pretty sweet. I definitely think, I agree that you don't want to do big, heavy workloads on this, but especially for graphing and interactive stuff and just like tweaking the data a little bit. I think this is amazing to be able to, especially for reports and things. There's a lot of places where this is useful. Yep. And you have no
Starting point is 00:13:07 security issues or worried about people running code or messing with it because whatever they do, they're doing this themselves. Yeah, exactly. Right. There's no little Bobby Tables issues that you have to worry about with a static web browser on your site. Yeah, you definitely want to lower your surface area there. All right, Brian, a bit of an intermission. Yeah. Let's talk about our sponsor today. So today's sponsor is Shortcut, which is formerly Clubhouse. And thank you for sponsoring the episode. There are a lot of project management tools out there and I've used a ton of them,
Starting point is 00:13:42 but most suffer from a few common problems. They're either too complex and it's hard to get started. And there's all tons of options all the time. Get you, make you confused or they're too simple. And you really, you can get started on one project, but you can't use it for multiple projects and stuff. Um, or they seem to be like geared towards managers, but difficult for engineers or geared towards engineers and difficult for managers. I think shortcut is different. So shortcut is built for software teams and based on making workflows easy, which I like.
Starting point is 00:14:15 So let's say you have a big scale objectives, goals, and roadmaps topics in those and items in those big goals and roadmaps can easily be tied to teams and individual work sprints. And progress on those can be easily easily flow back into reports at the top level. It's keyboard friendly, so you can hook up shortcodes and stuff. So you don't the UI is intuitive and it's pretty easy to use. But the things you do every day, you can tie those to keyboard shortcuts and make them even faster. And it has tight VCS integration. So you can update your task progress
Starting point is 00:14:50 by just adding a comment or a little key code into your commit or PR and it flows back upstream. This is really cool. Iteration planning is also a breeze. You can see your team activity when you need it, but you can see your activity team activity when you need it but you can see your own work really easily when you need that too and burden down charts and cycle time and lead time charts are just built in for you it's really really great to see all that so
Starting point is 00:15:16 finally a project management tool for both engineers and managers give it a try at shortcut.com slash python bytes awesome thanks shortcut hey brian before we move on to your next item, that Jupiter Lite was sent in by Marcel Millicent. So thank you, Marcel, for sending that over. Yeah, nice. Yeah. We always appreciate when our listeners help us do our research because they have all these ideas that we don't know about.
Starting point is 00:15:39 Yeah. Yeah, thanks for picking that up, Michael. For sure. Yeah, of course. Well, ACK now. Supplies are limited. No. I don't actually use it.
Starting point is 00:15:51 But wait. We get more. Yeah. I want to talk about grep a little bit. I use grep all the time for finding stuff within my code, command line tool for finding stuff in files. And I'm not going to cover it in the show, but I threw in, in the show notes, if you're not, if you don't use grep or tools like grep I threw in a couple of examples in the
Starting point is 00:16:13 show notes to get you started really easily. It's a, I think, I think it's useful to find stuff. One question I did have is like, I've got a command sequence in the show notes that I'd like to have people take a look at. I don't have a screenshot for it, but if I want to find like, say, foo in recursively in all the folders and directories, I can do that easily. And I want to try to eliminate a directory, like don't look in my virtual environment folder. I've got a weird thing about using just grep and then piping it to another grep.
Starting point is 00:16:45 I don't know how to do it easier. So please help me out. But anyway, this article I'm, I'd like to point to is called feature comparison of ACK, Silver Surfer, Git grep, GNU grep,
Starting point is 00:16:58 and RIP grep. And this is actually really cool. So it's, it's put out by the ACK people themselves at beyond grep.com. ACK is a kind of a grep alternative that's written in Perl, but this comparison chart says we need more comparison charts like this. And, and, and it, it compares all these different alternatives to grep. Silver surfer, silver searcher, uh is ag ag for silver it's
Starting point is 00:17:27 kind of clever but the the chart from the chemical is symbol table yeah and also kind of a play on silver surfer the the superhero as well so um the um the chart shows like kind of a whole bunch of stuff about all these tools like what languages are written in. Most of them are in C, but ACK is in Perl and RG or RipGrip is in Rust. So that kind of intrigues me. I've been enjoying some Rust tools lately. But it goes through a whole bunch of features. So I didn't really know that these were all that different. So if you're going to try something new, it's kind of nice to see if the thing that you really need qualifies.
Starting point is 00:18:05 And it's got some high-level features, but then also dives into specifics, like if you have specific pattern matching needs or output needs. But kind of a cool tool to decide which grep alternative to use. That's cool. I'd never heard of git grep. That'll let you grep, but against git repo? I don't know it says up at the top that it lets you search a git repository by default unlike search where right at the bottom of your screen there oh yeah so that was pretty it's interesting a repo by default oh nice search your git history that sounds useful yeah let's try that out too this is cool exactly i'm gonna make me learn grep but actually so one of the things I do appreciate is if people that write tool, like little
Starting point is 00:18:49 tools that are alternatives to something else, often they do look at the landscape to find out what else is out there and try things out. So actually one of the, one of the reasons I'm highlighting is that this is, I agree with the, with the author that says we need more of these. Take that research you've done and actually publish it. Because some of the, sometimes one of these tool authors is the, is one of the best people to compare all the different alternatives. So. Yeah, this is cool. Nice one. I don't use grep nearly as much as I should, or hardly at all, but it seems very useful in this get, like I said, this get one might make me learn grep. Karen, do you do anything with grep?
Starting point is 00:19:25 No, it's all good. We're happy to have your puppy on the show as well. Yeah, featuring a five-month-old golden retriever. It's very vocal. Yeah, I love Silver Surter. I think it's really super fast. That's my favorite of these. A long time ago, I started programming in my backgrounds in molecular
Starting point is 00:19:47 biology. I started in academic publishing and putting academic journals online. And so Perl is, you know, close to my heart, but I'm surprised that, you know, like these Perl tools that are still around, they still work perfectly fine. I learned a lot of role-compatible regular expression. You know, that PCREs, and I remember asking some years ago, you know, in another language, they had PCRE regular expression. They're like, what's PCRE?
Starting point is 00:20:16 You know, it's role-compatible regular expression. So, but AG is great. I think in my world, a lot of people are submitting data and sometimes you're looking for bets and places and things. And, uh, so these kinds of tools are really helpful. Um, I use.
Starting point is 00:20:32 Grab mostly because that's, you know, it's easy to pipe it to something else, but AG is great, great because it colorizes your results without passing a color flag, which is usually more convenient and it's a little bit different syntax. But I haven't used some of these other ones, so this is cool to know about. Yeah, it's always good to learn about more of them. Maybe I'll try all of them, just for the heck of it. Nice.
Starting point is 00:20:55 Yeah, all right. I want to talk about Airtable real quick. So Airtable is like Excel, but it kind of has a database backend. It's also got like a Trello aspect to it. So I don't know if people are using Airtable for things. It also has kind of a Gantt chart or a project management thing. I don't exactly want to talk about Airtable, but I want to set the stage. I want to talk about PyAirtable. So I just had Guy, the maintainer of this on the OnTalk Python
Starting point is 00:21:22 to talk about Python and architecture and what they were doing where he was working was a lot of things were backed by Airtable. So PyAirtable is this API to talk to it through Python, which is pretty interesting already. But then if you look a little bit more on the docs, it's got, where's the right spot to go look? There is under the API. Somewhere in here, there's an ORM aspect as well. So you can even use Airtable like an ORM where you create classes that map to the stuff you're doing over there and do select statements against it
Starting point is 00:22:00 and delete them and whatnot. So if people are doing stuff with Airtable, here's a pretty awesome way to automate it, I just think. I think it's great. Is it done by the same people? No, no, it's done by a guy named Gui. Last name, I'm going to look. Sorry, Gui.
Starting point is 00:22:17 I just think it's pretty cool to have. Oh, nice name, Gui. Yeah, Gui Talarico. Yeah, Guido Talarico. And he's also in San Francisco, so he's one of your extended neighbors, Karen. Yeah, the Bay Area is big.
Starting point is 00:22:36 Yeah, he was also at Pi Bay. Yeah, well, there was a lot of people at Mass, so even people that are in my community, I'm a co-organizer for a Bay Area Python interest group, one of the longest running Python groups. Obviously, I didn't start it, but I recently started helping out. And even people that I'm in meetings with every month and for a number of years, they'd have to say like, oh, Karen, and even with badges on. So I, I, I'm, you try to like spy people or, you know, based on their silhouette, if that's
Starting point is 00:23:13 the right person. So yeah. And it was out of the eyes. A lot of people had sunglasses or a hat. Yeah. It was tricky, but yeah. So he was there. So yeah, he maintains this, but it's sort of endorsed by the Airtable folks.
Starting point is 00:23:26 It's like listed as one of the independent things that they might recommend for people doing Python. So yeah, I think it's great to have Python APIs for a lot of services, you know, have a Python client to help support them. It's really helpful that, whether it's written by the company or somebody else. And sometimes it's really helpful that, whether it's written by the company or somebody else. And sometimes it's really helpful if you're a small team as the kinds of teams, I'm in a research community.
Starting point is 00:23:51 We have small teams to be able to like, look at the tests, look at their code to see how to use it. Sometimes the company's documentation is not great on how to use their API. And sometimes these extra Python components help you understand their API a little better and what you can do with their API. And sometimes these extra Python components help you understand their API a little better and what you can do with their API. Some companies are better than others in documenting their own APIs
Starting point is 00:24:13 to be able to interact with them. But I know that people use Airtable for a variety of different things and use things like Zapier to connect it to, you know, it's like a Rube Goldberg kind of like stitching together all these kinds of services to do, you know, a thing at the end, like make toast. Yeah. Yeah. Cause you want to let the business people still just use Airtable, but you need other things to happen or something like that. Right. Right. So when they intercept
Starting point is 00:24:38 and they insert this, it's going to heat up that thing, which knock over a cup, which will then trigger an API like that kind of thing. Yeah. Yeah. Or send a meeting invite. So. Or exactly. One of the things I like is if like a company that's using one of these tools, having a Python API allows individual hackers like me to be able to just say, how do I find just the stuff I need to care about? And I can write my own little application just to pull out the bits that I need to care about and do it on the command line and probably use Rich if I'm doing that. And only see this stuff.
Starting point is 00:25:13 Grep Airtable for things to assign to the brain. Yeah, no, yeah, I've actually done that. You can search within GitHub itself or sometimes I'll clone it and kind of prep for some keywords that help might help me uh figure out what I need to do a little bit faster yeah yeah for sure and uh Neil Heather out there just giving a quick shout out to Bay Piggies the meetup group out there awesome nice very cool all right um we have a we have we're pretty fortunate in the Bay Area that we have
Starting point is 00:25:44 a several different from all the way from down in Santa Cruz so for people who don't know that All right. Um, we have a, we have, we're, we're pretty fortunate in the Bay area that we have a several different from all the way from down in Santa Cruz. So for people who don't know that, you know, the Bay area is, um, or depending on how you're looking at it, you know, the San Francisco Bay and, and, and there's meetup groups and Python groups all along. And we're kind of a mid to South peninsula. Um, there's all the way from Santaanta cruz to up to uh essex python which runs pi bay uh grace law and there's other ones in the north bay so we're pretty fortunate to have a lot of a really rich strong python community yeah a lot of great local stuff going on there for sure which is no surprise in san francisco but it's also necessary because even though things
Starting point is 00:26:23 are close together you can't get there from here. Usually they're separated far by time, if not by distance. Perhaps the traffic has started to pick up again for sure. Yeah. Same here. All right, Karen, you want to do our last item here? Touch one more time on some notebook things. Yeah. One of the, the ways of you're part of a team, everyone probably knows about the black formatter that helps you make opinionated decisions or it makes opinionated decisions for you about how things should be formatted. So your team's a little bit more streamlined. Marco Gorelli, who is a creator of a package called NBQA for Notebook QA that did things like iSort and other things, has added into the Blackformatter itself an ability to do black formatting on notebooks. Which is great because then it's part of the core package and support will be even richer. Very powerful. So you can just run, once you've installed it, there's a command there shown on the screen, pip install black, that you can run black on a notebook.
Starting point is 00:27:40 There's probably some hotkey or something within Jupyter itself, right? Say that again there's probably like some kind of little icon or hotkey or something in there automatically right i would guess uh i i don't know i've run it on the command line and the instructions have it run on a command line i don't know if you can run it on itself it would be like you know modifying an array that you're iterating over. I don't know if you can. I guess I have it backwards. You can format yourself. This is actually going into black, not into Jupyter.
Starting point is 00:28:13 Right. So, yeah. So it's more from the black side. Got it. Yeah. You're running it against a notebook to apply black formatting to a notebook itself. Yeah. But at this point, how long until somebody puts a button into Jupyter to do this?
Starting point is 00:28:28 Yeah, I imagine that certainly can happen. I think that you have like in VS code, you already can apply black or other kinds of F8 formatting, um, within something. So I imagine that totally makes sense that you'd be able to apply it. But I guess I think about it in that sense. It's not the notebook itself that's applying that standardization. It's a package runs running against whatever kind of thing that you're using, whether it's PyCharm or a VS code or some other tool.
Starting point is 00:28:56 So I still think it's running against it rather than the notebook itself, changing itself, like spinning around like Wonder Woman and becoming a super sorted, I sort, you know, package import. Absolutely. Yeah, this is cool. I really like this. I've always thought that the notebooks lacked a little bit of coding assistance. Standardization too. Yeah, yeah. And also Black brings that, right? But I felt like, you know, if you type a thing dot, it doesn't pull up any autocomplete. You have to do the research to know, well, now I have to proactively hit tab to trigger an autocomplete. And, you know, also formatting is not just a hotkey for format my code or command palette
Starting point is 00:29:37 thing to format my code as easily. I imagine that, you know, we're lucky that this, the Jupyter community is really rich and people are committed to it and enhancing on it. I know that there's other kinds of notebook systems that are being developed by places like Netflix where they're like, what is the bare bones we can do so that our data scientists can run something else? But the Jupyter notebook community is really extensively used. The community is very active. So I'm glad that things like this are being added to enhance its usability and readability and standardize it in an easier way for everyone. Yeah, absolutely. Well done, Marco.
Starting point is 00:30:19 All right, Brian, I think that brings us to the extras. Extras? Yeah. You got any extras you want to throw out there? No, I, I just, I'm not going to like put a link or anything,
Starting point is 00:30:32 but I just wanted to comment. Some of the times I've been giggling today is because Anthony shows on the show and we talked about pigeon briefly. And every time I hear the, about pigeon, I think of the Bert and Ernie skit with doing the pigeon. I don't know if anybody else remembers that. But anyway, that's my quick extra.
Starting point is 00:30:52 Well, I know that Anthony Shaw likes to run VS Code Pets. Are you sure that's right? I wonder if there's a pigeon in this. Yes, maybe. Maybe it could come full circle and it could be some kind of pigeon in the pets in the pets in the like below the project settings that'd be fantastic what are the what are these pets that you're talking about in let me see if i can find let's see if i can see vs code pets yeah i'm i don't have a link i don't do that much vs code so i don't know all that much but what it is is it will literally put like a little animated animal
Starting point is 00:31:23 in your editor and it can be simple like this this is like a cat it will literally put like a little animated animal in your editor. And it can be simple like this. This is like a cat that's crawling along like a get diff section. Or they can be way more complicated. Like here, like see this one, for example. There's like a castle and there's a cat that lives in the end. Alas, Anthony Shaw says, but there is no pigeon on the pets extension. There's a lot of stuff happening. Like here, here we go.
Starting point is 00:31:47 There's like a hunting cat in the forest and all kinds of things. So, and Chris may have in the live stream says yet there's no pigeon. Well, pull request accepted. Exactly. Exactly. Who's going to be adding this anyway, this, this is how we should bring it around full circle, Brian. Well, do you have any extras? I do, but I always have them.
Starting point is 00:32:10 So let me ask Karen if she has anything she wants to add or throw out while we're here. Yeah. Well, it's a general thing. I just helped out at Pi Bay. I help out at Bay Piggies. And I just want to just tell people, wherever your community is, they're always looking for lightning talks. It's good practice. It's as as both of, you know, Michael and Brian, that, you know, coming up with show ideas or, you know, meet up talks and finding speakers is a challenge.
Starting point is 00:32:42 And so, you know, offering something that you want to talk about is good practice. And the people in the communities around you are really supportive and welcoming. And a lightning talk is great practice. It gets you feedback. And I know that for somebody who talked at Bay Piggies and also for some of the speakers at Pi Bay, you know, I've been willing to work with them on their slides and talk to them how to give the talk and everything to it's it's great practice both you know professionally and then you have a recording of what you talked about so um contribute you contribute in code or you can contribute in ideas and experience in your learning journey even if you're just starting out talking about that journey is really helpful.
Starting point is 00:33:26 Talking about a new package that came out and you guys are doing a fantastic job bringing things up to date, but maybe in these other communities, people can do that. I just want to just open it up. It's not just the experts who are contributing, people at every level in your local meetups
Starting point is 00:33:43 can give a talk. It's a good experience And it's good experience. It's good for you. It's good for them. And so I'm just going to encourage everybody to volunteer in your Python community. Yeah, absolutely. And if you're thinking about doing like submitting a talk to say PyCon or another big conference, doing it locally at your local meetup with people you know, with just 10 people,
Starting point is 00:34:08 is a really good way to practice that and get a sense for what it's going to be like if you do get accepted and hone it a little bit. Yeah, great feedback and great questions too. So perfect prep. Great. Yep. All right. My Apple Watch wants me to stand up, but instead I'm going to talk about some extras. So first one is I've been playing around with a new password manager. I use one password. I love one password. I use it on all my things. But I've decided that there are certain things I would like to put on the systems I don't want to set up my super important passwords on
Starting point is 00:34:34 or I want to share with people and so on. I was like, all right, well, what else could I use? So I came across Bitwarden, which is an open source password manager that also has like a cloud backend and mobile apps and all sorts of stuff, browser integration. So instead of just running a local encrypted file or something, this is a really good option from what I can tell for setting up. It does,
Starting point is 00:34:56 it does have a paid plan if you want, but if you look at a paid plan, um, the paid personal plan, it's like $10 a year, you know, like 80 cents a month or something. So it plan, it's like $10 a year or $0.80 a month or something. So it's totally doable. For only $0.80 a month, you too could be secure. Exactly. For the coffee that you spilled on yourself, the price of that you could have. I like this, but actually just, I know you have a bunch of other stuff, but it's driving me kind of nuts that even like $5 or $10 a month or $20 a month for some things, everything is going towards these subscription plans. And it's like, it's just storing my password.
Starting point is 00:35:32 I don't want to pay $20 a month. So this also has a self-hosted version, I believe, because it's open source. You could run it at your company if that was not the kind of thing you wanted to do. So anyway, cool. Good recommendation. I think this is a pretty neat option. Again, I'm still using 1Password for my personal main stuff, but this is like my, I want another one that doesn't hold all that stuff. And it's pretty neat. Also, Chris May, I'll give you a shout out for Pi RVA for the Virginia meetup is also looking
Starting point is 00:35:58 for speakers because Chris, as Karen, and as we know, booking people to come for this kind of stuff is never easy. Lightning talks, long talks, whatever, you know, there's lots of options. Show up and help us out. All right. So Bitwarden, check it out. Seems cool. Open source bonus as well. This one is both a joke and a real thing.
Starting point is 00:36:19 Okay. So I love it that it all comes together and it's for Python. So Patrick Mason sent out a message. The at PSF is on Twitter. The at PSF is searching for an executive director. So Iwa has been the executive director for 10 years. Thank you so much for that. She's finally retiring or moving on, I suppose.
Starting point is 00:36:40 And so they're looking for a new person, but that's the real part. So if you want to apply for that, that'd be excellent. The joke is the at PSF is actually the Pacific Salmon Foundation. So they said- So if you want to swim upstream. Exactly. But here's the thing that's funny is the Salmon Foundation replied saying,
Starting point is 00:37:01 at the PSF is looking for an executive director. At just PSF without the the is not currently looking for one. Cheers on a successful search. So Patrick come back and says, sorry for the confusion. The Salmon Foundation says, it happens. We're starting to feel like at the PSF family. It's not like at Java ever calls us broken heart. Isn't that fantastic? Yeah, that's great. Yeah. Yeah. Good, good, uh, sense of humor. Now, now I kind of want to give to the salmon foundation just for being cool people. Yeah. All right. I got it. I had a quick pull up a little bit extra for this one. So, um,
Starting point is 00:37:38 Karen, this will, this will, uh, relate to you as well. So there's a, um, this thing called the anime GAN V2 face portrait thing that will take a picture that you put up here and it will turn it into anime in like some really wild looking ways. Oh, wow. Isn't this crazy? Yeah. I want to animate me. So you can take a picture and throw it up here and get these. They're not very anime. Like I don't think there's exaggerated as anime often is, but you put a picture up here. get these they're not very anime like i don't think they're as exaggerated as anime often is but you put a picture up here doesn't work very well for me with glasses but i did put up here a picture of my dog so there's a picture of my dog which uh i'll try to link to this in
Starting point is 00:38:16 the show notes or something and i threw it up there that is a carrier mix of like 10 different things it's very very sweet but i can't really give it a type but if you turn it into anime it looks like this which is pretty awesome well i i think you should have some kind of battle sword or a helmet i feel like yeah it's just way too chill this dog it needs to be much more uh ready to go yeah and battle so with a slowly forming tear well go back to the other the the anime the the other the humans yeah so it looks like there's there's moving can you have yeah i don't know what this move i i couldn't make it move maybe if you drop a movie or something up there there's like an elon musk and a bill gates uh anime so i was hoping that you could do real-time filters so we could possibly do our
Starting point is 00:39:06 youtube all in anime sometime oh my gosh if we could do it we could do an episode like once a year where we're in anime that would be fantastic i would be all about it yeah they've got tim apple there or a snapchat filter you know i'm really on fight on bites i'm not a cat exactly your honor i'm not a cat i'm ready to proceed oh I'm not a cat. I'm ready to proceed. Maybe we could ask StreamYard to update that in our new update. Oh, yeah, that would be fantastic. All right. And then finally, a couple of versions of Python are out.
Starting point is 00:39:35 The interesting one is 3.11 Alpha 2 is now available for people to download. We've spoken about Mark Shannon's plan to make Python faster. Guido van Rossum has been helping over the last year. Talk Python. Yeah, I interviewed them on Talk Python. Go listen to it. Yeah, I recently had, at the moment, the most recent episode on Talk Python to me is Guido and Mark talking about the work they're doing to make Python five times faster. This is the first release that has some of those features in it. And you can test to see
Starting point is 00:40:09 if this is any faster on your code. So they said they'd love people to try it out. So a double shout out there to that. All right, I think that's enough time for a joke. Although I feel like the salmon one is really kind of also a joke, but it was also real. Like if you're looking for a job within the PSF,
Starting point is 00:40:24 the PSF, not just PSF, check it out. All right. But as somebody who does testing, Brian, I'm hoping this one touches heart here a little bit. You ready? Yeah. So here's a picture. It's a meme type of picture and it has some text on it.
Starting point is 00:40:38 It says hot fix in production. Could you describe that for our audience, please? This is an awesome picture. So you've got like a drainage pipe coming out in the water and it's clearly not not attached to there's and then it kind of it's coming out at an angle then going down there the pipe goes down and uh straight down it's supposed to be connected as one big pipe it's supposed to be connected but it's not but actually there's a hole in the lower pipe so the upper pipe actually just
Starting point is 00:41:05 directly hit it all works the broken pipe on top is being poured into a broken pipe a hole in a broken pipe that is disconnected so it it works yeah so it's a hot fix in production just make it work i'm guessing somebody like just uh noticed the break and then just popped a hole in the pipe in the bottom to fix it. Something like that. Yeah. This is great. I feel like this is that rush to get that broken website, the website is down type of thing, running as fast as possible. Well, yeah.
Starting point is 00:41:38 Or it could be Facebook and the whole internal network could be broken and you have to break out like a saw to saw open the data center door because the network is required to open the door, but the network is down and you've got to get in the door to restore the network. Well, actually, you know, stuff like this happens all the time because you've got like a team that finds a problem, but the problem isn't in their code. It's in like some other component that happens to be written by the team in Germany that's on vacation because it's one of their million holidays.
Starting point is 00:42:08 And so you just fix it in the other layer or something like that. Yeah, absolutely. That's awesome. All right, we got a little audience participation in this joke. Anthony Shaw says, integration test pass. Exactly. And Will McCugan says, leaky abstractions. Oh, nice.
Starting point is 00:42:25 Well done. Yeah, well done, you all out there. And well done toogan says leaky abstractions. Oh, nice. Well done. Yeah, well done, you all out there. And well done to you, Karen, as well. Thanks for being here. I'm super excited. I've been a longtime fan of both of your work. Oh, thanks. I just thank you for letting me be here.
Starting point is 00:42:40 And thank you for inviting me after I super fangirled you at Pi Bay. Because I appreciate both of your work. Everybody should also help out these two wonderful podcasts, TalkPython and the Python Testing Podcast and Python Bytes on Patreon as I have for a number of years. So super exciting to be here.
Starting point is 00:43:02 Thank you so much for the invite. Yeah, it's great to have you here. Thanks again. Brian, thanks as always. Bye. See you all later.

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