Brought to you by Michael and Brian - take a Talk Python course or get Brian's pytest book


Transcript #258: Python built us an anime dog!

Return to episode page view on github
Recorded on Wednesday, Nov 10, 2021.

00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.

00:04 This is episode 258, recorded November 10th, 2021. I'm Michael Kennedy.

00:10 And I'm Brian Okken.

00:11 And I'm Karen Dalton.

00:12 Yay.

00:13 Yay. Welcome, Karen. So good to have you here.

00:16 It is quite a delight and an honor. I've been a longtime fan, as they say on the radio,

00:22 a longtime listener, first time caller of both of your podcasts and books and Slack channels and training.

00:30 And so I'm really excited to be here.

00:33 Well, thanks for being part of the community in all those ways.

00:35 And you and I got to meet down at Pi Bay in San Francisco. That was a lot of fun.

00:40 Yeah. I don't know if Brian knows.

00:44 I arrived at Pi Bay and I was going to be one of the emcees.

00:49 And I saw Michael Kennedy, who I cherry picked to introduce.

00:53 I, you know, I was one of the organizers and emcees for the event.

00:57 And I approached him and overwhelmed him. I'm like, you're a super fan.

01:01 And he was like, so, but he was very gracious about, about being a fangirled just at the registration table.

01:10 Yeah, no, you, you were great to help me out with the talk. Thank you so much.

01:13 And hey, it's Anthony Shaw on the live stream. Hey, says, hi, Karen. Great to have you on the show.

01:18 Nice.

01:18 Hi, Anthony.

01:19 Anthony and I just did a show on Pigeon, P-Y-J-I-O, and the JIT compiler that he just released version 1.0.

01:27 That's that Hawk Python episode will be out today, tomorrow. Fingers crossed very, very soon.

01:32 So stay tuned for more on that. But let's start with whatever you brought us, Brian.

01:36 Well, number one.

01:38 Well, I figure we really need to talk about Will McCoogan because, you know, get that.

01:43 Has it been a show since we've done that?

01:46 So just get that out of the way. So on Twitter, Will asked a general question to everybody.

01:50 Something like if I've got an open source project and somebody files an issue with it, but I have a question about it.

01:59 And I asked them a question and they don't ever respond for a really long time.

02:04 So is there a way to just automatically clean those up or clean them up easily?

02:08 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.

02:16 So one of the responses, which I liked, which I thought was pretty cool, was a bot, a GitHub bot.

02:22 It's actually from GitHub.

02:24 It's a bot called Stale.

02:28 So it's a bot that closes stale issues and PRs.

02:31 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.

02:42 That sounds perfect.

02:44 Configuration must be on the default branch and the default values will be it will add a stale label to issues or PRs that are six with after 60 days of inactivity and close stale issues or PRs after seven days of inactivity.

03:02 And if an update or comment occurs during that time frame, it restarts the clock.

03:06 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.

03:15 I would definitely want to bump that up to make sure that it's at least within my time frame so that, you know, my own if my own inactivity problems might not be the case.

03:26 So I totally hear that.

03:27 I would love to see one minor change, one more bullet point on the things it does.

03:33 Add a stale label after 60 days, close it after seven days of inactivity.

03:37 A comment will bring it back.

03:40 But I would love to see this bot put a comment on there saying, if we don't deal with this, it's going away.

03:46 That way, the people who submitted the PR will get an email.

03:49 The maintainer will get an email.

03:51 And so like you're notified the seven day clock has begun, you know, Karen, you're shaking your head.

03:57 Yeah, I mean, I've certainly seen it on open source repos.

04:02 And it's it's nice to have that there.

04:06 But sometimes it's an issue that's important to you and you don't want it to necessarily go away.

04:12 Like and I wish there was a way to like say this is actually really important to me.

04:18 Please don't close it even if you can't pay attention.

04:20 Yeah.

04:21 Well, there's for instance, I'm in one of the settings.

04:24 There's a bunch of settings.

04:24 One of the settings is a stale issue message or comment on stale issue.

04:28 So unless you got it, it does.

04:30 I thought about it already.

04:31 That one.

04:33 And I think there's exempt issue labels, labels on issues exempted.

04:38 So you can mark something as, you know, keep this around or something.

04:42 Oh, so see, I don't have that window up.

04:46 So I didn't scroll.

04:46 Perfect.

04:47 Yeah.

04:47 So that's what I need.

04:49 Looks like this looks well thought out then.

04:50 I love it now.

04:51 Yeah.

04:52 And it's been around for a while and it's got like, I guess only four, 498 stars, but it'll

04:58 be more than that after we do this show.

04:59 That's right.

05:00 Exactly.

05:01 It'll be at least 500.

05:03 Yeah.

05:04 499.

05:04 No, this is a great find.

05:08 I really like it.

05:09 So yeah.

05:10 Good one, Brian.

05:11 Yeah.

05:11 I think I'm really impressed with GitHub that they've added so many features.

05:16 I use it more than I have GitLab.

05:18 So GitLab may have as many, you know, in all fairness, but GitHub has added lots of cool

05:25 features and ongoing development to make things easier.

05:29 As you know, many things have evolved, lots more features added, but things like this

05:33 that make it easier to maintain things.

05:35 Yeah.

05:36 I'm really happy with the way, the direction of GitHub these days.

05:40 So it seems like it's going really well.

05:41 Yeah.

05:42 Yeah.

05:42 I'm definitely happy there.

05:43 I use both.

05:44 I like them both, but GitHub definitely has a focus on the, or at least it feels like

05:49 it's listening to open source maintainers and their needs.

05:52 Yeah.

05:53 For sure.

05:53 For sure.

05:54 All right.

05:54 So I want to show you another one that I think also may involve Wilma Guggen.

05:58 I got to do a quick check here.

05:59 It is called Jut, Jut, Jut.

06:02 Maybe if you're, you're German, it's Jut.

06:04 I don't know.

06:05 But we could look at the Pyre Project Tom and see if Rich is in here.

06:09 It is.

06:09 Okay.

06:10 So yeah, it definitely involves Rich and Wilma Guggen.

06:13 And what it is, is it's a renderer, not a interactive environment, but a renderer for Jupyter

06:20 notebooks.

06:20 And we've had that, you know, in B viewer, things like that, like on the web, but this

06:26 one is in your terminal.

06:28 So here's the scenario.

06:29 Like you're in the terminal remote, maybe SSH into a remote machine.

06:33 And you're like, oh, there's this notebook file that what the heck is this?

06:36 You know, what is it?

06:37 I'm like, I don't have a browser or whatever.

06:40 And so the way that it works, let me pull up this little animation for everyone and have

06:44 it go is if you're somewhere, you just say, I'm going to go with Jut, Jut, give it a URL

06:49 and you can literally give it something off of the internet.

06:52 And you can even give it like tail command.

06:54 So I want to see the last 10 cells instead of lines.

06:58 And it uses Rich to colorize and style what the notebook has, including the data cells,

07:05 as well as the actual output, the computation.

07:08 You know how the notebooks will store their output from the last time they were run unless

07:12 you clear them.

07:12 It'll show that as well.

07:13 What do you all think?

07:14 I love that.

07:16 I mean, there's there's sometimes you get a file and you just want to check some introspect,

07:21 some portion of it.

07:23 And you can't just do more for cat on a Jupyter notebook.

07:26 Yeah, you get something completely wrong.

07:28 And I don't sometimes in the space that you're in, you don't you just want to quickly be able

07:33 to check what it is and move on.

07:36 And so I love that.

07:38 And I love Rich.

07:39 That's that it's, you know, the color, the colorized terminal is really helpful.

07:44 Honestly, it might have better syntax highlighting than notebooks themselves.

07:51 Brian, what were you going to say?

07:52 No, no, just I love I really like the focus on the of tools making things usable on on command

08:01 line because I'm a command line lover.

08:03 And I mean, I've got nothing against doing notebooks in on the web browser.

08:08 But things like this make it possible to do things like put them in a pipeline and automate

08:14 them more easily.

08:15 And like this, it's not really automating using the notebook, but it might be you might make

08:21 sure that like something is, you know, a regression thing.

08:25 You want to make sure that things are visible so you can use this to to grab grab one off your

08:30 repo or something and make sure nothing weird happened.

08:32 Yeah, for sure.

08:33 Yeah, it looks good.

08:34 And to bring it back around full circle, Will McGugan out in the audience says, neat, that's

08:39 a new one for me.

08:39 Hey, Will.

08:39 Yeah, it's always fun to show you projects using your library because there's a bunch of

08:45 cool ones out there.

08:45 Awesome.

08:46 All right.

08:47 Well, I'm not sure what else I have to say about this one other than it was sent into

08:50 us by KidPixo.

08:51 Thank you for that.

08:52 That was awesome.

08:53 Keep them coming.

08:54 He sent a bunch of things along.

08:56 Like I said, you can display the different cells like the first five, last five, you know,

09:00 whatever you want to pass over.

09:01 You can also do things like show it to me just in plain text.

09:04 If you for some reason want to copy it and you don't want the formatting.

09:07 Pretty straightforward to use, but also really nice.

09:09 All right, Karen, you're up next.

09:11 Adding on to the Jupyter thread.

09:15 One of the interesting things that's coming out is Jupyter Lite.

09:18 It's, it is being developed by core Jupyter developers, but it's still unofficial.

09:25 And one of the nice things is static.

09:28 And if you share it with somebody, they can just go to a web page and you can just, you

09:34 can cache it.

09:35 So you don't have to have a Jupyter notebook server running.

09:40 It's a static page.

09:41 Obviously there's JavaScript and other elements involved.

09:44 And so if you just click on one of those things, try it with JupyterLab.

09:47 It takes you to a browser that window.

09:51 It says, as you can see, it's a static page.

09:53 It's going to take a second to come up because it's got some JavaScript.

09:56 And if you click on that pile light and then just do like an import this to see a standard

10:02 kind of notebook.

10:03 Yeah.

10:03 It has a little, it has a notebook tour.

10:05 If you do an import this, which is a standard kind of test to do the Python mantras, it,

10:10 you know, it runs simply and that's all just running in a browser.

10:14 So obviously it's, if you wanted to share things with some, somebody it's, it's an

10:21 easy way for them to see it.

10:23 You would just send them that file and they can open it up and do some additional things.

10:28 It's probably, you won't want to run your core data pipelines in a static web browser window,

10:35 but it does allow you to do a variety of things.

10:38 and there's some sample notebooks included with it that let you do some, some things.

10:43 So you can run through either step-by-step, that you can actually add text into, as you

10:48 saw into the window.

10:50 So it's, it's a nice feature ad, to be able to run, a notebook in a browser window

10:57 and show some examples of your code in a static way.

11:00 I know that, you know, people have sent me Jupyter notebooks or shared them, or sometimes you can

11:06 see them on GitHub.

11:06 There's even tools now that you can do, get diffs.

11:11 there's a service that allows you to do diffs of Jupyter notebooks that you can do that

11:15 for your full request reviews.

11:17 But, sometimes it's nice to be able to see, like, I would like to change this a little

11:21 bit without like starting up a server yourself.

11:23 So, yeah, yeah.

11:25 We've been able to host these.

11:26 We've been able to set up notebook servers and host them, but there's issues with letting

11:30 people run code.

11:31 Maybe you don't want to let them run it.

11:32 It's only street only.

11:33 And so, but this is cool because it will let you run it in the browser, right?

11:38 Which is using WebAssembly.

11:40 Yeah, exactly.

11:41 And they, you can have the JupyterLab look or kind of retro look, which is just very minimalist without that kind of UI.

11:50 So it's, it's a really nice feature.

11:52 I've never tried retro lab.

11:54 Yeah.

11:55 It's just a more of a basic, like, file list.

11:57 It doesn't have that.

11:58 it doesn't have that nice kind of look and feel of the newer version of JupyterLab,

12:04 but it works.

12:06 Yeah.

12:06 Fantastic.

12:07 Just run all the cells and it runs, I guess, in WebAssembly.

12:11 Super cool.

12:12 Oh yeah, that's a, that's a good one.

12:13 Brian, what do you think?

12:14 A simple, pip install.

12:16 And then you, you run another command as to, it, to generate all the JavaScript and

12:23 things it needs.

12:24 And then once that index file is made, that directory is made, then it's really easy.

12:29 You just open up that index.html on your, on your, you can run it on localhost.

12:35 You can Python start at HTTP server with a, you know, easily with Python three.

12:40 So that it will serve that page as well.

12:42 You can even deploy it to GitHub pages or something like Netlify or some other static host.

12:47 Yeah.

12:48 Pretty sweet.

12:48 I definitely think, I agree that, that you don't want to do big, heavy workloads on this,

12:53 but I, especially for graphing and interactive stuff and, just like tweaking the data a

12:58 little bit.

12:59 I think this is amazing to be able to, especially for, reports and things.

13:04 there's a lot of, a lot of places where this is useful.

13:06 Yep.

13:07 And you have no security issues or worried about people running code or messing with it

13:11 because whatever they do, they're doing this themselves.

13:13 Yeah.

13:14 Exactly.

13:15 Right.

13:15 There's no little Bobby tables issues that you have to worry about with a static web browser

13:21 on your site.

13:22 Yeah.

13:23 You definitely want to lower your surface area there.

13:25 All right, Brian, a bit of an intermission.

13:27 Yeah.

13:28 let's talk about, our sponsor today.

13:30 So today's sponsor is shortcut.

13:33 Shortcut, which is formerly clubhouse.

13:36 And thank you for sponsoring the episode.

13:37 There are a lot of project management tools out there and I've used, I've used a ton of

13:42 them, but most suffer, suffer from a few common problems.

13:46 They're either too complex and it's hard to get started.

13:49 And there's all tons of options all the time.

13:52 Get you, make you confused or they're too simple.

13:54 And you really, you can get started on one project, but you can't use it for multiple projects

13:59 and stuff.

13:59 or they seem to be like geared towards managers, but difficult for engineers or geared

14:05 towards engineers and difficult for managers.

14:07 I think shortcut is different.

14:09 So shortcut is built for software teams and based on making workflows easy, which I like.

14:15 So let's say you have a big scale objectives, goals, and roadmaps, topics in those and

14:22 items in those, big goals and roadmaps can easily be tied to teams and individual work

14:27 sprints and progress on those can be easily, easily flow back into reports at the top level.

14:33 It's keyboard friendly.

14:34 So you can hook up short codes and stuff.

14:36 So, you don't, the UI is intuitive and it's pretty easy to use, but, the things

14:41 you do every day, you can tie those to keyboard shortcuts and make them even faster.

14:45 And it has tight VCS integration.

14:48 So you can update your task process progress by just adding a comment or a, a little key

14:55 code into your commit or PR and it flows back upstream.

14:59 This is really cool.

15:00 iteration planning is also a breeze.

15:02 You can see your activity team activity when you need it, but you can see your own work

15:06 really easily when you need that too.

15:08 And burden down charts and cycle time and lead time charts are just built in for you.

15:13 it's really, really great to see all that.

15:15 so finally a project management tool for both engineers and managers.

15:19 Give it a try at shortcut.com slash Python bytes.

15:22 Awesome.

15:23 Thanks shortcut.

15:24 Hey, Brian, before we move on to your next item that Jupyter light was sent in by Marcel

15:29 Millicent.

15:29 So thank you, Marcel for sending that over.

15:31 Yeah.

15:32 Nice.

15:32 Yeah.

15:33 We always appreciate when our listeners help us do our research because they have all these

15:37 ideas that we don't know about.

15:39 Yeah.

15:40 So yeah.

15:40 Thanks for picking that up.

15:41 for sure.

15:43 Yeah, of course.

15:44 Well, act, act now when supplies are limited.

15:48 no, I don't actually use that.

15:51 Wait, wait more.

15:52 Yeah.

15:53 I want to talk about grep a little bit.

15:55 I, I use grep all the time for, for finding stuff within my codes, command line

16:02 tool for finance, finding stuff in files.

16:05 And, I'm not going to cover it in the show, but I threw in, in the show notes, if

16:09 you're not, if you don't use grep or tools like grep, I threw in a couple of examples

16:13 in the show notes to get you started real easily.

16:15 It's a, I think, I think it's useful to find stuff.

16:18 one question I did have is like, I've got a command sequence in the show notes that I'd

16:23 like to have people take a look at.

16:24 I don't have a screenshot for it, but, if I want to find like say foo in, in recursively

16:31 in all the, all the folders and directories, I can do that easily.

16:34 and I want to try to eliminate a directory, like don't look in my virtual environment folder.

16:41 I've got a weird thing about using just grep and then piping it to another grep.

16:45 I don't know how to do it easier.

16:46 So please help me out.

16:47 But anyway, this article, I'm, I'd like to point to is called feature comparison

16:53 of ack, silver surfer, get grep, new grep and rip grep.

16:59 and this is actually really cool.

17:01 So it's, it's, put out by the ack people themselves at beyond grep.com.

17:07 Ack is a, kind of a grep alternative that's written in Perl, but this comparison chart says,

17:14 we need more comparison charts like this.

17:16 And, and, and it had, it compares all these different alternatives to grep.

17:21 silver surfer, silver searcher, sorry, is a G, a G for silver.

17:27 It's kind of clever, but the, the chart from the chemical is symbol table.

17:32 Yeah.

17:33 And also kind of a play on silver surfer, the, the, superhero as well.

17:37 So, the, the chart shows like kind of a whole bunch of stuff about all these tools,

17:43 like what languages they're written in.

17:44 Most of them are in C, but ack is in Perl and, RG or rip grep is in rust.

17:51 So that kind of intrigues me.

17:52 I've been enjoying some rust tools lately.

17:54 but it goes through a whole bunch of features.

17:57 So I didn't really know that these were all that different.

17:59 So if you're going to try something new, it's kind of nice to see if the thing that you really

18:03 need, qualifies and it's got some high level features, but then also dives into like

18:09 specifics.

18:10 Like, if you have specific pattern matching needs or output needs, but, kind of a

18:15 cool tool to decide which grep alternative to use.

18:18 It's cool.

18:19 I'd never heard of get grep.

18:20 That'll let you grep, but against a get repo.

18:22 I don't know.

18:24 It says up at the top that it lets you search a get repository by default, like search

18:28 where right at the bottom of your screen there.

18:30 Oh yeah.

18:31 So that was pretty interesting.

18:33 A repo by default.

18:35 Oh, nice.

18:36 Search your get history.

18:37 That sounds useful.

18:38 Yeah.

18:40 Let's try that out too.

18:41 This is cool.

18:41 Exactly.

18:42 I'm going to make me learn grep, but actually, so one of the things I do appreciate is,

18:47 if people that write tool like little tools that are alternatives to something else, often

18:51 they do look at the landscape to find out what else is out there and try things out.

18:56 So actually one of the, one of the reasons I'm highlighting is that this is I agree with

19:01 the, with the author that says we need more of these, take that research you've done and

19:05 actually publish it.

19:07 because some of the, sometimes one of these tool authors is the, is one of the best

19:11 people to compare all the different alternatives.

19:13 So yeah, yeah, this is cool.

19:15 Nice one.

19:16 I don't use grep nearly as much as I should or hardly at all, but it seems very useful in

19:20 the skit.

19:21 Like I said, the skit one might make me learn grep.

19:23 Karen, do you do anything with grep?

19:24 No, it's all good.

19:26 Well, we're happy to have your puppy on the show as well.

19:28 Yeah.

19:29 Featuring a five moments old golden retriever.

19:32 It's very vocal.

19:33 Yeah.

19:34 I, I love silver searcher and I think it's really super fast.

19:38 If you're, that's, that's my favorite of these.

19:41 long time ago, I started programming in, my backgrounds in molecular biology.

19:48 I started in academic publishing and putting academic journals online.

19:51 And so Pearl is, you know, close to my heart, but I'm surprised that, you know, like

19:56 these, Pearl tools that are still around and they still work perfectly fine.

20:02 I learned a lot of Pearl compatible, regular expression use, you know, that PCREs.

20:07 and, I remember asking some years ago, you know, in another language, they had

20:12 PCRE regular expression.

20:13 They're like, what's PCRE or, you know, it's real compatible, regular expression.

20:17 So, but I, I, AG is great.

20:19 I think in, my world, a lot of people are submitting data and sometimes you're looking

20:25 for bets and places and things.

20:26 And, so these kinds of tools are really helpful.

20:30 I use Grap mostly because that's, you know, it's easy to pipe it to something else,

20:36 but AG is great, great because it colorizes your results without passing a color flag, which

20:40 is usually more convenient.

20:41 And it's a little bit different syntax.

20:43 So, so.

20:46 But I haven't used some of these other ones.

20:48 So this is a cool to know about.

20:50 Yeah.

20:50 It's always good to learn about more.

20:52 Maybe I'll try all of them just for the heck.

20:54 Nice.

20:54 Yeah.

20:55 All right.

20:55 I want to talk about air table real quick.

20:58 So air table is like Excel, but it kind of has a database backend.

21:02 It's also got like a Trello aspect to it.

21:05 So I don't know if people are using air table for things.

21:08 It also has kind of a Gantt chart or a project management thing.

21:11 I don't exactly want to talk about air table, but I want to set the stage.

21:15 I want to talk about PI air table.

21:16 So I just had we, the maintainer of this on, the on talk Python to talk about Python and

21:24 architecture.

21:24 And what they were doing where he was working was a lot of things were backed by air table.

21:29 So PI air table is this, this API to talk to it through Python, which is pretty interesting

21:35 already.

21:36 But then if you look a little bit more on the docs, it's got, where's the right spot

21:42 to go look.

21:43 There is under the API somewhere in here, there's an ORM aspect as well.

21:50 So you can even use, air table like an ORM where you create classes that map to the

21:57 stuff you're doing over there and do select statements against it and delete them and whatnot.

22:01 So if people are doing stuff with air table, here's a pretty awesome way to automate it.

22:06 I guess I think.

22:06 I think it's great.

22:07 Is it done by the same people or?

22:09 No, no.

22:10 It's done by a guy named Gwee.

22:13 Last name.

22:14 I'm going to look.

22:15 Sorry, Gwee.

22:15 I just think it's a, it's pretty cool to have.

22:20 Oh, nice name.

22:21 Yeah.

22:22 Tala, Tala Rico.

22:25 Yeah.

22:25 Gwee Tala Rico.

22:27 And he's also in San Francisco.

22:28 So he's, one of your extended neighbors, Karen.

22:31 Yeah.

22:32 I, the Bay area is, big.

22:35 Yeah.

22:36 He was also a PyBay.

22:37 Yeah.

22:38 Well, there was a lot of people at mass.

22:40 So even people that are in my community, I'm a co-organizer for a Bay area Python interest

22:46 group.

22:46 We're in the longest, running Python groups.

22:50 obviously I didn't, I didn't start it.

22:53 but I recently started helping out and even people that I'm in meetings with every

22:59 month and for a number of years, they'd have to say like, oh, Karen.

23:03 And, and, even with badges on, so I, I, I, I'm, you try to like spy people or,

23:11 you know, based on their silhouette, if that's the right person.

23:14 And so, yeah, a lot of people had sunglasses or a hat.

23:18 Yeah.

23:18 It was, it was tricky, but yeah.

23:20 Yeah.

23:20 So he was there.

23:21 So yeah, he maintains this, but it's, sort of endorsed by the air table folks.

23:26 It's like listed as one of the independent things that they might recommend for people

23:30 doing Python.

23:31 So.

23:31 Yeah.

23:32 I think it's great to have a Python APIs for a lot of services, you know, have a

23:38 Python client to help support them.

23:40 it's really helpful that whether it's written by the company or somebody else.

23:46 And sometimes it's really helpful if you're a small team as the kinds of teams, I'm in a

23:51 research community.

23:52 We have small teams to be able to like, look at the tests, look at their code to see how

23:56 to use it.

23:56 Sometimes the company's documentation is not great on how to use their API.

24:01 And sometimes these extra Python components help you understand their API a little better

24:06 and what you can do with their API.

24:09 some companies are better than others in documenting their own APIs to be able to

24:14 interact with this.

24:15 But I know that people use, air table for a variety of different things and use things

24:20 like Zapier to connect it to, you know, it's like a Rube Goldberg kind of like stitching

24:27 together all these kinds of services to do, you know, a thing at the end, like make toast.

24:31 Yeah.

24:32 Yeah.

24:32 Cause you want to let the business people still just use air table, but you need other things

24:36 to happen or something like that.

24:37 Right.

24:37 Right.

24:37 So when they intercept and they insert this, it's going to heat up that thing, which will

24:42 knock over a cup, which will then trigger an API like that kind of thing.

24:45 Yeah.

24:46 Yeah.

24:46 Or send a meeting invite.

24:48 So.

24:49 Or exactly.

24:50 One of the things I like is, if, like a company that's using, one of these

24:54 tools, having a Python API allows individual hackers like me to be able to just say, how

25:00 do I find just the stuff I need to care about?

25:02 And I can write my own little application just to pull out the bits that I need to care about

25:07 and do it on the command line and, probably use rich if I doing that.

25:11 And, and only see.

25:13 And grep air table for things to do.

25:16 Exactly.

25:16 Yeah.

25:17 No.

25:18 Yeah.

25:18 I've actually done that.

25:19 You can search within GitHub itself or I sometimes I'll clone it and kind of, for

25:25 about for some keywords that help might help me, figure out what I need to do a little

25:30 bit faster.

25:30 Yeah.

25:31 Yeah, for sure.

25:32 And, Neil Heather out there just giving a quick shout out to Bay Piggies, the meetup

25:37 group out there.

25:38 Awesome.

25:39 Nice.

25:39 Very, very cool.

25:40 All right.

25:40 we have a, we have, we're, we're pretty fortunate in the Bay area that we have a several

25:45 different from all the way from down in Santa Cruz.

25:47 So for people who don't know that, you know, the Bay area is, or depending on how you're

25:52 looking at it, you know, the San Francisco Bay and, and, and there's meetup groups and

25:57 Python groups all along and we're kind of a mid to South peninsula.

26:01 there's all the way from Santa Cruz to up to, asset Python, which runs PyBay,

26:08 Grace Law, and there's other ones in the North Bay.

26:11 So we're pretty fortunate to have a lot of, really rich, strong Python community.

26:16 Yeah.

26:17 A lot of great local stuff going on there for sure, which is no surprise in San Francisco.

26:21 But it's also necessary because even though things are close together, you can't get there

26:25 from here.

26:26 Usually they're separated far by time.

26:29 If not, yeah, perhaps the traffic has started to pick up again for sure.

26:33 Yeah.

26:33 Same here.

26:34 All right, Karen, you want to do our last item here?

26:37 Touch one more time on some notebook things.

26:38 Yeah.

26:40 One of the, the ways of your part of a team, every, everyone probably knows about the

26:46 black formatter that helps you, make opinionated decisions or it makes opinionated decisions for

26:53 you about how things should be formatted.

26:54 So your, your team's a little bit more, streamlined.

26:57 And now, Marco Gorelli has, who is a creator of a package called NBQA for notebook QA that

27:07 did things like ice work and other things has added into black, the black formatter itself,

27:14 an ability to do black formatting on notebooks, which is great because then it's part of the

27:20 core package and support will be even richer, very powerful.

27:25 So you can just run once you've, once you've installed it, it, there's a command there shown

27:31 on the screen, pip install black, that you can run, black on it, like notebook,

27:39 you know, black.

27:40 There's probably some hockey or something like within Jupyter itself, right?

27:45 Say that again.

27:46 There's probably like some kind of little icon or hotkey or something in there automatically.

27:51 Right.

27:52 I would guess.

27:52 I, I don't know.

27:54 I've run it on the command line and the kind of instructions have it run on a command line.

27:59 I don't know if you can run it on itself.

28:02 It would be like, you know, modifying an array that you're iterating over.

28:05 I don't know if it, you can like, you can format yourself while you're, this is actually

28:10 going into black, not into Jupyter.

28:13 Right.

28:13 So yeah.

28:14 So it's more, right.

28:15 Yeah.

28:15 Go from the black side.

28:16 Got it.

28:16 Yeah.

28:16 You're running it against a notebook to, apply black formatting to a notebook itself.

28:23 Yeah.

28:24 But at this point, how long until somebody puts a button into Jupyter to do this?

28:28 Yeah.

28:28 I imagine that certainly can happen.

28:31 I think that you have like in VS Code, you already can apply black or other kinds of

28:36 F8 formatting, within something.

28:39 So I imagine that totally makes sense.

28:42 You'd be able to apply it, but I guess I think about it in that sense.

28:45 It's not the notebook itself.

28:47 It's not the notebook itself.

28:47 That's applying that standardization.

28:49 It's a package runs running against whatever kind of thing that you're using, whether it's

28:53 by charm or a VS Code or some other tool.

28:56 So I still think it's running against it rather than the notebook itself, changing itself, like

29:01 spinning around like wonder woman and becoming a super sorted, I sort, you know, package

29:07 import.

29:08 Absolutely.

29:08 Yeah.

29:09 Yeah.

29:09 This is cool.

29:09 I really like this.

29:10 I've always thought that the notebooks lacked a little bit of coding assistance.

29:15 Standardization too.

29:17 Yeah.

29:18 Yeah.

29:18 And also black brings that.

29:19 Right.

29:19 But I felt like, you know, if you type a thing dot, it doesn't pull up any autocomplete.

29:24 You have to do the research to know, well, now I have to proactively hit tab to trigger

29:29 an autocomplete.

29:30 And, you know, also formatting is not just a hotkey for format my code or command palette

29:37 thing to format my code as easily.

29:38 Yeah.

29:39 I imagine that, you know, we're lucky that this, the Jupyter community is really rich

29:45 and people are committed to it and enhancing on it.

29:48 I know that there's other kinds of notebook systems that are being developed by places like

29:53 Netflix where they're like, what is the bare bones we can do so that our, our data scientists

29:58 can run something else.

29:59 but the Jupyter notebook community is really extensively used.

30:04 The community is very active.

30:05 So I'm glad that things like this are being added to enhance its usability and,

30:12 readability and standardize it in an easier way for everyone.

30:17 Yeah, absolutely.

30:18 Well done, Marco.

30:19 All right, Brian.

30:19 I think that brings us to the extras.

30:22 Extras.

30:23 Yeah.

30:24 You got any extras you want to throw out there?

30:26 no, I, I just, like, I'm not going to like put a link or anything, but I just wanted

30:33 to comment.

30:33 Some of the times I've been giggling today is because, Anthony Shaw's on the show

30:37 and we talked about pigeon first briefly.

30:39 And every time I hear the, about pigeon, I think of, the, Bert and Ernie skit

30:45 with, doing the pigeon.

30:46 I don't know if anybody else remembers that, but anyway, that's, that's my quick extra.

30:51 Yeah.

30:52 Hold on.

30:52 Well, I know that Anthony Shaw likes to run, VS Code pets.

30:57 Are you sure?

30:58 That's right.

30:58 I think I wonder if there's a pigeon in this.

31:00 Yes.

31:01 Maybe, maybe it could come full circle and it could be some kind of pigeon in the pets,

31:05 in the pets, in the, like below the project settings.

31:08 That'd be fantastic.

31:09 What are the, what are these pets that you're talking about?

31:12 And let me see if I can find it.

31:13 Let's see if I can see VS Code pets.

31:15 Yeah.

31:15 I'm, I don't have a link.

31:16 I don't do that much VS Code, so I don't know all that much, but what it is, is it will

31:21 literally put like a little animated animal in your editor.

31:25 And it can be simple like this.

31:26 This is like a cat that's crawl, crawling along like a get diff section, or they can

31:33 be way more complicated.

31:34 Like here, like see this one, for example, there's like a castle and there's a cat that

31:38 lives in the end.

31:39 Alas, Anthony Shaw says, but there is no pigeon on the pets extension.

31:45 There's a lot of stuff happening.

31:46 Like here, here we go.

31:47 There's like a hunting cat in the forest and all kinds of things.

31:51 So, and Chris May out in the live stream says, yet, there's no pigeon.

31:57 Yeah.

31:57 Well, a pull request accepted.

32:00 Exactly.

32:01 Exactly.

32:02 Who's going to be adding this?

32:03 Anyway, this, this is how we should bring it around.

32:06 Full circle, Brian.

32:06 Well, do you have any extras?

32:08 I do, but I always have them.

32:10 So let me ask Karen if she has anything she wants to add or throw out while we're here.

32:13 Yeah.

32:13 Well, it's a general thing.

32:15 I just helped out at Pi Bay.

32:17 I help out at Bay Piggies.

32:20 And I just want to off, just tell people whatever, wherever your community is, they're always

32:28 looking for lightning talks.

32:29 It's good practice.

32:31 It's as, as both of you know, Michael and Brian, that, you know, coming up with show ideas

32:37 or, you know, meetup talks and finding speakers is a challenge.

32:42 And so, you know, offering something that you want to talk about is good practice.

32:47 And the people in the communities around you are really supportive and welcoming.

32:51 And a lightning talks, great practice.

32:53 It gets you feedback.

32:54 And I know that for somebody who's, who talked at Bay Piggies and also for some of the speakers

33:01 at Pi Bay, you know, I've been willing to work with them on their slides and talk to them

33:06 how to give the talk and everything too.

33:08 It's, it's great practice, both, you know, professionally, and then you have a recording

33:13 of what you talked about.

33:14 So, contribute, you contribute in code or you can contribute in ideas and experience

33:21 in your learning journey.

33:22 Even if you're just starting out, talking about that journey is really helpful.

33:26 Talking about a new package that came out and, and you guys are doing a fantastic job bringing

33:31 things up to date, but maybe, you know, in these other communities, people can do that.

33:36 I just want to just open it up.

33:37 It's not just the experts who are contributing at people at every level in your local meetups

33:43 can, can give a talk.

33:44 And, it's good experience.

33:47 It's good for you.

33:47 It's good for them.

33:48 And so I'm just going to encourage everybody to volunteer in your Python community.

33:53 Yeah, absolutely.

33:54 And if you're thinking about doing like submitting a talk to say PyCon or another big conference,

33:57 doing it locally at your local meetup with people, you know, with just 10 people is a really

34:03 good way to practice that and get a sense for what it's going to be like if you do get accepted

34:07 and hone it a little bit.

34:09 Yeah.

34:09 Great feedback and great questions too.

34:11 So perfect prep.

34:13 Great.

34:13 Yep.

34:14 All right.

34:14 My Apple watch wants me to stand up, but instead I'm going to talk about some extras.

34:18 So first one is I've been playing around with a new password manager.

34:24 I use one password.

34:25 I love one password.

34:26 I use it on all my things, but I've decided that there are certain things I would like to

34:30 put on the systems.

34:31 I don't want to set up my super important passwords on, or I want to share with people

34:36 and so on.

34:36 I was like, all right, well, what else could I use?

34:38 So I came across Bitwarden, which is an open source password manager that also has like

34:43 a cloud backend and mobile apps and all sorts of stuff, browser integration.

34:48 So instead of just running a local encrypted file or something, this is a really good option

34:53 from what I can tell for setting up.

34:56 It does have a paid plan if you want, but if you look at the paid plan, the paid personal

35:02 plan, it's like $10 a year or $0.80 a month or something.

35:07 So it's totally doable.

35:09 For only $0.80 a month, you too could be secure.

35:12 Exactly.

35:13 For the coffee that you spilled on yourself, the price of that you could have.

35:17 I like this, but actually just, I know you have a bunch of other stuff, but it's driving

35:22 me kind of nuts that even like $5 or $10 a month or $20 a month for some things, everything

35:28 is going towards these subscription plans.

35:30 And it's like, it's just storing my password.

35:32 I don't want to pay $20 a month.

35:34 So this also has a self-hosted version, I believe, because it's open source.

35:39 You could run it at your company.

35:40 If that was that the kind of thing you wanted to do.

35:42 So anyway, cool.

35:43 Good recommendation.

35:44 I think this is a pretty neat option.

35:46 Again, I'm still using one password for my personal main stuff, but this is like my,

35:49 I want another one that doesn't hold all that stuff.

35:52 And it's pretty neat.

35:53 Also, Chris May, I'll give you a shout out for Pi RVA for the Virginia meetup is also

35:58 looking for speakers because Chris, as Karen, and as we know, booking people to come for this

36:05 kind of stuff is never easy.

36:06 Lightning talks, long talks, whatever, you know, there's lots of options.

36:10 Show up and help us out.

36:12 All right.

36:12 So Bitwarden, check it out.

36:14 Seems cool.

36:14 Open source bonus as well.

36:16 This one is both a joke and a real thing.

36:19 Okay.

36:20 So I love it that it all comes together and it's for Python.

36:22 So Patrick Mason, synonymous said the at PSF is on Twitter.

36:27 The at PSF is searching for an executive director.

36:30 So Iwa has been the executive director for 10 years.

36:35 Thank you so much for that.

36:36 She's finally retiring or moving on, I suppose.

36:39 And so they're looking for a new person, but that's the real part.

36:43 So if you want to apply for that, that'd be excellent.

36:45 The joke is the at PSF is actually the Pacific Salmon Foundation.

36:50 So, so they, they said, you want to swim upstream.

36:55 Exactly.

36:57 But here's the thing that's funny is the, the Salmon Foundation replied saying at the PSF

37:02 is looking for an executive director at just PSF without the, the is not currently looking

37:08 for one.

37:08 Cheers on a successful search.

37:10 So Patrick come back and says, sorry for the confusion.

37:13 The P the, the Salmon Foundation says it happens.

37:16 We're starting to feel like at the PSF family.

37:19 It's not like at Java ever calls us broken heart.

37:25 Isn't that fantastic?

37:26 Yeah.

37:26 That's great.

37:27 Yeah.

37:27 Yeah.

37:28 Good, good.

37:29 sense of humor.

37:30 Now, now I kind of want to give to the Salmon Foundation just for being cool people.

37:33 I know.

37:33 I do too.

37:34 Yeah.

37:34 All right.

37:35 I got it.

37:35 I got a quick pull up a little bit extra for this one.

37:37 So, Karen, this will, this will, relate to you as well.

37:41 So there's a, this thing called the anime Gan V2 face portrait thing that will take

37:47 a picture that you put up here and it will turn it into anime in like some really wild looking

37:53 ways.

37:54 Oh, wow.

37:55 Isn't this crazy?

37:56 Yeah.

37:57 I want to anime me.

37:58 So you can take a picture and throw it up here and get these.

38:01 They're not very anime.

38:02 Like I don't think there's exaggerated as anime often is, but you put a picture up here.

38:07 It doesn't work very well for me with glasses, but I did put up here a picture of my dog.

38:12 So there's a picture of my dog, which, I'll try to link to this in the show notes or

38:17 something.

38:17 And I threw it up there.

38:18 That is a carrier mix of like 10 different things.

38:22 It's very, very sweet.

38:24 But I can't really give it a type.

38:25 But if you turn it into anime, it looks like this, which is pretty awesome.

38:30 Well, I think it should have some kind of battle sword or a helmet.

38:34 I feel like.

38:35 Yeah.

38:35 It's just way too chill this dog.

38:37 It needs to be much more, ready to go.

38:40 Yeah.

38:40 And battle.

38:41 So anyway.

38:42 With a slowly forming tear.

38:43 Exactly.

38:44 Go back to the other, the, the animated, the, the other.

38:47 The humans.

38:48 Yeah.

38:49 So it looks like there's, there's moving.

38:52 Can you have.

38:53 Yeah.

38:53 I don't know what this move.

38:54 I couldn't make it move.

38:55 Maybe if you drop a movie or something up there, there's like an Elon Musk and a Bill Gates,

39:00 anime.

39:01 So I was hoping that you could do real time filters so we could possibly do our YouTube

39:06 all in anime sometime.

39:08 Oh my gosh.

39:08 If we could do a, we could do an episode like once a year where we're in anime, that would

39:12 be fantastic.

39:13 I would be all about it.

39:14 Yeah.

39:14 They've got Tim Apple there.

39:16 Or a Snapchat filter.

39:18 You know, I'm really on fight on bytes.

39:21 I'm not a cat.

39:22 Exactly.

39:23 Your honor.

39:24 I'm not a cat.

39:24 I'm ready to proceed.

39:26 Maybe we could ask stream or to update that in our new update.

39:29 Oh yeah.

39:30 That would be fantastic.

39:31 All right.

39:32 And then finally, a pie, a couple of versions of Python are out.

39:35 The interesting one is three 11 alpha two is now available for people to download.

39:40 we've spoken about Mark Shannon's plan to make Python faster.

39:44 Guido van Rossum has been helping over the last year.

39:47 And I actually.

39:48 Yeah.

39:49 I interviewed them on.

39:50 Go listen to it.

39:52 Yeah.

39:53 I recently had the, at the moment, the most recent episode on talk Python to me is Guido

39:59 and Mark talking about the work they're doing to make Python five times faster.

40:04 This is the first release that has some of those features in it.

40:08 And you can test to see if this is any faster on your code.

40:10 So they, they said they'd love people to try it out.

40:12 So a double shout out there to that.

40:15 All right.

40:15 I think that's enough time for a joke.

40:17 Although I feel like the salmon one.

40:18 It's really kind of also a joke, but it was also real.

40:20 Like if, if you're looking for a job within the PSF, the PSF, not just PSF, check it out.

40:26 All right.

40:27 But as somebody who does testing, Brian, I'm hoping this one touches heart here a little

40:32 bit.

40:32 You ready?

40:32 Yeah.

40:33 So here's a picture.

40:34 So here's a picture.

40:34 It's a meme type of picture and it has some text on it.

40:38 It says hot fix in production.

40:39 Could you describe that for our audience, please?

40:42 This is an awesome picture.

40:43 So you've got like a drainage pipe coming out in the water and it's clearly not, not attached

40:49 to there's, and then it kind of, it's coming out at an angle, then going down there.

40:55 The pipe goes down and straight down.

40:57 It's supposed to be connected as one big pipe.

40:59 It's supposed to be connected, but it's not, but actually there's a hole in the lower pipe.

41:04 So the upper pipe actually just directly hit.

41:06 It all works.

41:07 The broken pipe on top is being poured into a broken pipe, a hole in a broken pipe that

41:15 is disconnected.

41:15 So it works.

41:17 Yeah.

41:18 So it's a hot fix in production.

41:19 Just make it work.

41:20 I'm guessing somebody like just, notice the break and then just popped a hole in the

41:26 pipe in the bottom to fix it.

41:28 Something like that.

41:29 Yeah.

41:29 This is great.

41:30 I feel like this is, that rush to get that broken website.

41:34 The website is down type of thing running as fast as possible.

41:37 Well, it could be Facebook and the whole internal network could be broken and you have to break

41:42 out like a saw to saw open the data center door because the network is required to open the

41:47 door, but the network is down and you've got to get in the door to restore the network.

41:51 Well, actually, you know, some stuff like this happens all the time because you've got

41:55 like a team that finds a problem, but the problem isn't in their code.

41:59 It's in like some other component that happens to be written by the team in Germany that's

42:05 on vacation because it's one of their million big holidays.

42:08 And, and so you, you just fix it in the other layer or something like that.

42:12 So, yeah.

42:12 Yeah, absolutely.

42:13 That's awesome.

42:14 All right.

42:14 We got a little audience participation in this joke.

42:16 Anthony Shaw says integration tests pass.

42:19 Exactly.

42:20 And Wilma Coogan says leaky abstractions.

42:23 Oh, nice.

42:25 Well done.

42:25 Yeah.

42:26 Well done.

42:26 You all out there.

42:27 And well done to you, Karen, as well.

42:29 Thanks for being here.

42:30 I'm super excited.

42:31 I've been a longtime fan of both of your work.

42:35 And I just thank you for letting me be here.

42:40 And thank you for inviting me after I super fangirled you at PyBay.

42:44 Because I appreciate both of your work.

42:47 Everybody should also help out these two wonderful podcasts, Talk Python.

42:53 Oh, and the Python Testing Podcast and Python Bytes on Patreon as I have for a number of years.

43:00 So super exciting to be here.

43:02 Thank you so much for the invite.

43:04 Yeah, it's great to have you here.

43:05 Thanks again.

43:05 Brian, thanks as always.

43:06 Bye.

Back to show page