Transcript #349: Djangonauts: Ready for Takeoff!
Return to episode page view on github00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to
00:04 your earbuds. This is episode 349, recorded August 21st, 2023. And I am Brian Okken.
00:11 And I'm Michael Kennedy.
00:12 And we have a lot of exciting stuff to cover this week. But before we do, I'd like to thank
00:19 our Patreon supporters and ourselves for keeping this thing going, even without sponsors. But
00:26 if you or your company would like to sponsor Python Bytes, just talk to us. So anyway,
00:33 Michael, do you want to kick us off with the first story?
00:36 Let's kick it off. Let's kick it off with some open source that's not exactly Python. But
00:41 when I talked about this on Mastodon, you know what? Mastodon hasn't even changed its name
00:46 this week. So that's pretty cool. I talked about a Mastodon. There seemed to be quite a bit of
00:51 excitement and interest in this. So I figured, you know what? Let's make this a topic for Python
00:56 Bytes. Because there's two cool open source things. So surely you've heard of Instapaper.
01:01 That's the OG. I want to read something later without ads, without distractions. You know,
01:07 a lot of times it's not even ads. It's just like, wow, the fonts are so small on this website or the
01:13 layout is so bad, you know?
01:15 Yeah, I kind of forgot about Instapaper.
01:18 Yeah. Yeah. Instapaper was the OG, right? Yeah. And then Pocket is probably the most
01:22 well-known version of that. And, you know, Pocket's kind of cool. It was either, I believe it was
01:28 acquired by, not created by Mozilla, but, you know, supporting Pocket kind of supports Mozilla,
01:33 which kind of supports Firefox, which is good. But Google mostly supports Firefox. So there's that.
01:38 So Pocket's pretty good, but there's this new project, let's say new to Michael, called Omnivore. And it is the free open source read it later app for serious readers.
01:52 Okay. Okay. So this thing is super, super nice. The integrations with, at least I've only tested it on iOS, but the integration with iOS are incredible. So it's really easy to go from something like reader, right? Reader, which I've talked about before in the RSS world. But, you know, you pick your RSS reader of choice, go through your articles, you hit share and boom, it just goes straight into Omnivore, which is pretty cool.
02:19 And then it has a really nice way to like categorize tag, all that kind of stuff, and then read it. So Brett Cannon, when I posted this, asked like, well, how do you find it compared to like Pocket and other stuff? Does it strip out too much, too many things? Henick jumped in and said, oh, this is way better. It seems to err a little bit on the side and leaving potentially a little bit too much stuff in, but at the same time, not moving quotes or code sections or things like that. So really, really nice. It's, it's distraction free.
02:49 So if you're privacy focused, privacy focused, open source, you can even self host it if you'd like. So for some reason you want, you're like, I'm going to read stuff and I want to make sure that it's completely private, then you can set it up and run it on your own.
03:02 Oh, that's, that's pretty cool.
03:03 That's pretty cool. Right.
03:04 Yeah.
03:04 And one other thing that's quite neat about it. Let me kind of pull through here a bit. So one of the things you can do, I don't know if it even shows it, but it obviously syncs where you, you've read. So you can go down and like, if you've read 23% into an article, like a long, you know, 30 minute read time article.
03:22 And you switch to another device or to the web, it'll say, you know, here's how far you are resume from there. The other thing it does is it has text to speech, which, you know, that's, it sounds like a robot reading to you sometime. But they have a, it's like a high end text to speech option where there's not very many voices to choose from.
03:39 But it sounds almost like a person reading the articles to you.
03:42 Oh, wow.
03:43 And so that is, that's super nice. And it'll show you, you can have it like highlight the words as you, as it's reading along. And so if you, you got an article to read, but really also got the yard to mow, you know, seriously, put it in the background and just go. It's actually, actually super, super neat.
04:00 And what else I think that's probably it. There's, you can take highlights and stuff as you would expect, but it's really good for, you know, when you've got to do a lot of research on a project.
04:09 It's, I think it's really good for us. Honestly, we read a lot of articles and you want to take notes, you know, highlight a section, add a note about why that's relevant and stuff.
04:17 So when we go back to one of these long articles and we're like, Hey, I want to tell Brian about it or vice versa. You're like, what was the part of this that actually stood out here? It is, you know, you just bump through it. So really, really neat.
04:27 And then it said, you can also sync it with other stuff like your second brain things. I'm like, wait, what is it talking about? It says you can connect it to things like log sec.
04:38 Log sec is another open source thing. That's kind of like notion, but running locally, I think runs locally.
04:45 Anyway, so here's something else that I discovered along the way. That's also pretty excellent.
04:52 So you can do like whiteboards with like YouTube videos that connect over to different parts and like these sort of, it's kind of funky, but I haven't used that much, but omnivore strong recommendation for this.
05:04 People should definitely, definitely check it out.
05:06 Oh, that's pretty cool. I would also, I was thinking about that text to speech thing. I would have loved that when I was in college and I had to read a bunch of junk.
05:13 Oh gosh, I know.
05:14 And I'm on the bus or something. It would have been great.
05:16 Yeah. Or, you know, you're in a car, but you, at least for me, I can't really read in the car. I can read a little bit, but then I'm like, you know, just one wrong turn or one bump.
05:25 And I'm like, you know what? Kind of woozy. I don't want to read in the car anymore.
05:28 But this you could totally do. I'm, I'm, I'm a big fan. I've started reading a lot more in the last week since I've been playing with this.
05:34 Nice. Okay, cool.
05:36 Yeah. And Pat, Pat on the audience points out that edge, the browser has good voices when you read aloud.
05:42 So pretty cool.
05:43 What's that?
05:44 I think it's some kind of browser.
05:45 Okay.
05:46 Just kidding. You know, it's Chromium. If you say the word browser and it's not Firefox, it's really just Chromium.
05:54 Yeah. Isn't, isn't Vivaldi based on Chromium?
05:56 Yeah, Vivaldi is. Brave is. They all are, yeah.
05:59 Well, Firefox isn't, is it? Or is it?
06:01 No, but Firefox is the standout. It's the holdout.
06:04 Which, which is like the main reason I love them.
06:08 So what I kind of is, is Google like supporting them so that they don't look like a monopoly just to make sure that.
06:15 That's a pretty strong theory, isn't it?
06:17 Yeah.
06:17 I mean, I'm not saying that, but you said that.
06:19 Anyway.
06:21 I think 80 to 90% of Mozilla's revenue comes from Google, which I think also leads to a little bit of perverse incentives, right?
06:29 Like Firefox would be better if it could be more assertive in ad blocking and more assertive in privacy.
06:35 I know it kind of has it, but not really.
06:37 Like it could go way more in like Vivaldi or Brave does, except it's almost entirely single customer is an ad company.
06:45 So yeah, how much, yeah, it's, it's a little, it's a little weird set up, but it does keep Firefox alive.
06:51 So there's that over to you.
06:53 What's next?
06:54 Well, I'd like to talk about Django a little bit and actually people learning about Django.
06:59 So I learned about this place called Django, not Django, not dot space.
07:04 It's where contributors launch.
07:06 So kind of a fun, kind of a fun drop or homepage.
07:11 But I mean, if you click on anything, you go to go to just like a docs thing.
07:17 But so the, but that's all right.
07:19 The Django not program is kind of neat.
07:22 It's a program to help people learn Django, like really dig into it.
07:27 So it's a, it says this program places an emphasis on group learning, sustainability, and longevity.
07:34 Djangonauts are members of the community who wish to level up their current Django code contribute contributions and potentially take on leadership roles in Django in the future.
07:45 So this is pretty cool.
07:47 It's a self-paced, semi-structured learning environment with group mentoring, and it's in three month chunks.
07:54 So, and they have like different cohorts and then there's like, there's like different documentation on if you want to be a Django not, if you want to be a navigator, which is people leading other Djangonauts, and then a captain and stuff like that.
08:08 And this is actually just kind of a neat, I'd love to talk to somebody that has been involved in this, or maybe it's new.
08:14 I'm not sure.
08:15 It's a, it doesn't look like it's been around for much for very long.
08:18 So I'm not sure if they already have cohorts gone through or not, but I'd love to hear more about how it's going.
08:24 And because it's kind of a model for an open source project seems neat of let the people that kind of want to get more involved, but really don't know what to do or how to get further.
08:34 Maybe like having a guided thing.
08:36 That's awesome.
08:37 So the other thing, one of the things I think that's really cool about this is the small group setting.
08:43 So this is a said cohorts are no more than four Djangonauts per one navigator and no more than eight Djangonauts in a group.
08:51 So you might have like two navigators per group, which is kind of neat, three months.
08:57 And then one of the things that they have access to a private discord server and then programs receive support from captains.
09:04 So I'm not, I haven't dug in too much.
09:06 I'm not sure what a captain does.
09:07 They help.
09:08 Oh, the captains help organize the program and reduce the admin burden of navigators.
09:13 Neat.
09:13 One of the goals here is of course to do peer mentoring and to get people leveled up a lot.
09:19 But one of the things that I think is really cool here is even if you, if you think you sign on, I can't find words in the docs right here, but it somewhere it said, basically you sign up, you think you're going to do it, but life happens and you need to not work on it so much.
09:37 Do that.
09:38 I mean, that's more important.
09:39 So I love the humanity in there of saying, you know, personal health is always above things like this.
09:46 So it's neat.
09:48 Django does community like no other way, web framework, right?
09:51 Yeah.
09:52 I mean, seriously, this is a fantastic idea.
09:54 Yeah.
09:55 I think it's pretty cool.
09:56 The, the, the, the, the welcome summary, welcome in summary for the Django is pretty cool.
10:02 Oh, here, here it is.
10:04 The program will have a focus on sustainability and longevity.
10:08 Remember that while we want you to be successful, your health and happiness comes above all else.
10:13 I just love it.
10:14 It seems like a cool program.
10:16 Yeah, that's cool.
10:16 So.
10:16 This is great.
10:21 So a comment from the chat.
10:23 Kids, these kids today have it so easy.
10:26 This makes open source contributions look like a cruise.
10:29 I think that we, we just need to, we need to make it easier for the next generation to come
10:34 in and help take over.
10:35 So I think it's great.
10:36 Yeah.
10:37 I used to have to do my pull requests uphill both ways.
10:40 I used to have to mail zip files to people.
10:44 Exactly.
10:47 Anyway.
10:48 Get all sneaker net.
10:49 So, all right.
10:52 Yeah.
10:52 This is a great, this is a great thing for people to sign up to.
10:55 And I guess presumably you just go there.
10:57 It tells you how to sign up and register to possibly be part of it.
11:00 Yeah.
11:00 So let's see if I click sign up it.
11:03 Oh yeah.
11:04 It takes me to a signup form.
11:05 You fill out your.
11:06 Oh, you can even sign up as a navigator or a captain if you want to help out.
11:09 Yeah.
11:09 That's cool.
11:10 Or an other.
11:10 I want to try to sign up as a cheerleader.
11:13 You can't label me, man.
11:14 You can't label me.
11:15 I'm just going to be here.
11:16 Other.
11:17 But you have to label yourself.
11:19 If you, if you pick other, you have to pick something.
11:21 Yeah.
11:24 Yeah.
11:24 All right.
11:26 Well, Michael, I want to.
11:28 This is on to another one here.
11:31 This one is from me, actually, something I created this week.
11:35 I want to give a shout out to, because I think it's just going to help people a ton.
11:38 Okay.
11:39 And it's going to lead over to maybe some more Django stuff.
11:42 And then later we'll come back to a Google form.
11:44 Let's start with this.
11:46 So I'll set the stage.
11:47 So if you're working on a website, especially the web design aspect of a website.
11:52 Okay.
11:53 What you often do is you'll, you'll go over to your CSS file.
11:56 You'll make some changes.
11:58 You'll have to reload your page.
11:59 Right.
12:00 You'll go over to the browser controller or command R or F5, whatever your system does.
12:05 You'll reload it.
12:06 You'll look at it.
12:06 Okay.
12:07 Great.
12:07 Maybe sometimes you need it on mobile.
12:09 So you'll have like a, one of those device, you know, sort of device sized changers for your browser.
12:16 Or you could open up a real, you know, real iPhone or an iPhone simulator pointed at it.
12:21 Maybe a both of those side by side.
12:23 So you've got to refresh one, refresh the other.
12:25 Go back to your CSS.
12:26 Now you go over to your HTML, you add some, classes, go back, see how it looks.
12:30 Refresh it.
12:31 Right.
12:31 What would be cool is if you could just have on a second monitor or on a large monitor off to the side, your browser.
12:39 And as you type, when you hit save, regardless of whether you're editing CSS, JavaScript, HTML, whatever, the page just refreshes and shows you the new view.
12:47 That'd be awesome.
12:48 Right?
12:48 Yeah.
12:49 So I created a JavaScript script that you include only in development time.
12:54 So don't forget that.
12:55 You put it at the top of your page.
12:56 It does exactly that.
12:58 So you can have an iOS simulator running.
13:01 You can have, you know, like brave, let's say running over there and then you're over to the side, you're working on your editor.
13:06 And as you hit save any file you want, right?
13:08 HTML templates, whether it's a CSS, JavaScript, just reloads, even images.
13:14 Cool.
13:14 Without touching it.
13:15 Isn't that cool?
13:16 Okay.
13:16 So I've got, I've got my editor set up to just save all the time.
13:20 So it's going to save junk.
13:22 Does it just like, what happens if I've got junk saved?
13:25 Well, so if you're typing in the HTML, it'll probably go a little bit wonky.
13:31 Okay.
13:32 Right.
13:32 If, if, if it's Python though, it depends on what you want to do.
13:36 So for me, what I found is that I'm not needing it to reload almost constantly when I'm doing logic of the website.
13:44 Yeah.
13:45 Like sometimes I want it to, but not all the time.
13:47 whereas when I'm actually messing with the CSS and I'm actually messing with.
13:52 Yeah.
13:52 Then you want it to do it all the time.
13:53 Yeah.
13:54 Then you want to do all the time.
13:55 Right.
13:55 So the way it works, if you don't take any action is it will reload if the contents of the page change.
14:00 So if you don't restart your Python web setup, even as you type, it's not going to.
14:07 Yeah.
14:07 Presumably you wouldn't have it set up.
14:09 Cause like every keystroke would restart it and that would be like pretty annoying.
14:12 Yeah.
14:13 well, that's what I was worried about.
14:15 Yeah.
14:16 Yeah.
14:16 Yeah.
14:17 So, there's a few other projects like Alex, first of all, I just want to give Alex
14:23 Riviera a shout out for helping me sort of modernize the script.
14:27 He says, Hey, that's cool.
14:27 You want me to like a more modern version of it?
14:29 I'm like, yes, please.
14:30 My JavaScript is not that good.
14:32 And then Adam chains pointed out that he created Django browser reload, which does something
14:38 somewhat like this for Django where it looks and it says, you know, if my Django code has
14:44 changed and the server has been restarted, then reloaded.
14:47 If, it's, he says it does static files, although, haven't, I don't know that it's
14:52 necessarily showing, passing through enough information to really reliably do that.
14:58 You know, like for caching, it might still load a stale version of something.
15:01 but anyway, if you're doing this as like a web hook thing, so you install something inside
15:07 of your website on the server and then the script and those like coordinate.
15:11 Right.
15:11 And I specifically decided I don't want that.
15:14 Like this would work on node.
15:16 This would work on human.
15:18 The example I'm playing with now is FastAPI tailwind, all those things.
15:23 So like, it doesn't matter what's on the server.
15:25 Right.
15:26 And so that's a trade-off cause it, it's a little bit more chatty checking back with
15:30 a server, but not, I find that just I include a script.
15:33 This happens.
15:34 I don't include the script.
15:35 It doesn't know that there's no difference that that's nice to me.
15:38 Yeah.
15:38 So, yeah, like I said, you just include a script and make sure that you don't do it
15:43 in production.
15:43 It checks by default every second, but you can change that to whatever you can open
15:47 up your dev console and toggle it on and off.
15:49 So like, I, I need you to not mess with it cause I'm going to set a break point.
15:53 And if you keep requesting this page over and over, you're going to make me crazy and screw
15:57 up the debugging session.
15:58 so it works even indirectly.
16:01 So like I'm doing tailwind, so I added a source CSS file tailwind watches that builds a new
16:06 CSS file that CSS files included in the HTML.
16:11 The HTML is smart enough to put a little like version hash identifier on the CSS.
16:16 Anytime it changes that triggers a change to the HTML, which reloads.
16:19 So like same thing for images, same things for JavaScript.
16:22 So anytime there's like a static resource change, as long as you do something like this, it'll
16:26 pick it up.
16:26 So if you're doing web development, especially the, while you're doing the design side, you
16:31 you know, consider grabbing this little script.
16:33 I don't know how big it is.
16:34 It's small.
16:35 It is.
16:36 Let's go pull it up.
16:37 I don't know how many lines it is.
16:39 Probably it's like two and a half pages.
16:40 One of those pages is comments.
16:42 So that's, that's no big deal.
16:44 So you can just throw it in there and try it if you like.
16:46 it's really nice.
16:48 Even works over the network.
16:49 If you can like get to the server with Ngrok or something like that.
16:52 Oh yeah.
16:52 Cool.
16:53 Yeah.
16:53 So it works outside of Python as well, but I built for Python.
16:57 Exactly.
16:58 I was working on FastAPI when I built it.
17:00 Nice.
17:01 All right.
17:01 Over to you.
17:02 What's next?
17:02 Well, we just, this is a hot off the presses, at least for us.
17:06 my Matthew Feikert, let us know this more just this morning.
17:13 Hey, it seems like, the day has finally come for Excel users to rejoice and use Python
17:18 in Excel.
17:19 So what is he talking about?
17:21 There's an announcement from Anaconda that, Python and Excel next level data analysis
17:26 for all.
17:26 So what does this look like?
17:28 it says you can write Python code directly in a Microsoft Excel grid.
17:33 No Python install required.
17:35 So I don't know much about this.
17:36 I haven't played with it, but it looks fun.
17:38 It like, all you need is equal PI equal, like P Y.
17:43 Oh, there's a little video.
17:44 Cool.
17:45 So you just say PI and then you can just type in some code.
17:48 I don't know how much coding I want to do right in a Python or in a Excel, cell,
17:55 I guess.
17:56 But, but I don't know.
17:57 It sounds kind of neat.
17:58 even in, it says that you can use matplotlib and seaborne and stuff like this.
18:04 So I'm not sure how this works.
18:05 Is it just built into Excel now?
18:07 I don't know.
18:08 But anyway, I'm excited about it.
18:10 So I guess I should have researched it a little bit more before talking about it, but neat.
18:14 Yeah.
18:15 People can check it out.
18:16 I, I don't know.
18:17 I have heard rumors of Python coming to Excel and this looks like it's coming from Anaconda.
18:24 Yeah.
18:25 So I'm not sure if this is the same thing or if this is something different.
18:29 Yeah.
18:31 It says, experience, experience the power of Python and Excel for yourself.
18:35 Windows users can sign up here.
18:37 So that's a click on that.
18:39 Where's that take you?
18:39 a Microsoft.
18:41 Yeah, there you go.
18:42 I'm interested.
18:43 So it is, it's part of the 365 insider program right now to use this feature.
18:48 So, kind of neat.
18:51 oh, neat.
18:53 A little, insert.
18:54 Wow.
18:54 Start using Python.
18:55 Python formula.
18:56 Yeah.
18:56 Insert the formula.
18:57 Huh?
18:58 Yeah.
18:58 I gotta, I gotta do some more research on this before I can, I can say for sure.
19:01 But, you know, I think if, if we can save the world from doing VBA, let's do it.
19:07 But I think it's, it's, as far as getting this right, I think it's pretty cool to have Anaconda and
19:12 Microsoft working together to make this work.
19:14 Like there's, those are the right partners to, to look into this.
19:17 So, yeah.
19:18 Anyway.
19:19 I wonder if I, I don't think I'm part of this beta channel thing.
19:24 So I don't think I can try it, but yeah, I'd like to anyway.
19:28 So that's.
19:30 Yeah.
19:30 I, I'm not part of the beta program either.
19:33 I'm not that excited about office, but I'm excited that this is, you know, this is really
19:38 cool.
19:38 Yeah.
19:38 I am having to use, do it more and more spreadsheets as, as my management, the sort of things
19:44 increase.
19:45 so does Excel.
19:47 it's just part of it anyway.
19:50 Yeah.
19:51 Yeah.
19:52 There's also some other companies and projects out there that have in a Google doc, like hosted
19:57 spreadsheets that are purely Python based.
20:00 I talked to, I can't remember the name.
20:02 I don't want to talk to so many companies at the startup row.
20:05 I don't want to miss represent them.
20:07 I would say, you know, cross one over with the other, but that looked really, really cool
20:12 as well.
20:13 and it was only Python.
20:14 So I don't know if there's a lot of, a lot of stuff happening around this right now and
20:18 it's, it's pretty exciting.
20:19 Yeah.
20:20 I guess just a step in the right direction.
20:22 So that's good.
20:23 It was like five years ago.
20:25 This was the single biggest user voice, single, most uploaded user voice thing in the Microsoft
20:33 request for features and ideas.
20:35 And it just got no reply.
20:37 Like they just ignored it.
20:38 There was crickets below it.
20:41 Right.
20:42 And, so it's, it's interesting that it, you know, finally got some traction.
20:46 Yeah.
20:47 Yeah.
20:48 I think it's pretty cool.
20:49 So maybe we'll see, if anybody out there is, is, has played with it or knows anything,
20:55 let me know.
20:56 Be great.
20:57 Yeah.
20:57 Or, throw a comment at the bottom of YouTube live stream.
21:00 Oh yeah.
21:01 That's good.
21:01 For folks.
21:01 Yeah.
21:02 All right.
21:03 All right.
21:03 Well, those are our items.
21:05 do you have any extras for us?
21:08 I have two things that are extra.
21:10 Let's talk about them.
21:11 PyCon Sweden.
21:12 The call for proposals is out and it will be in 78 days, 12 hours, 29 minutes, 16 seconds
21:21 on November 9th and 10th.
21:22 Okay.
21:23 Don't know if I can attend online or in person.
21:27 It looks like it will be at the Hilton Srdusen.
21:29 So I'm guessing that that's not online.
21:32 So people can check that out there.
21:33 It sounds like it'd be pretty awesome.
21:35 I was near Sweden.
21:36 I would go to.
21:37 I would too.
21:38 Yeah.
21:39 But it's quite the flight from here.
21:41 So.
21:41 Never been to Sweden.
21:42 All right.
21:43 anything else?
21:44 No, neither have I.
21:45 I have been to Norway, been to Amsterdam, but not there.
21:48 And one more thing.
21:49 So I'm looking to do, a talk Python episode around mobile apps and Python.
21:57 And this got started as a listeners like, Hey, I'd really love to hear about how you built in, you know, how was Python serving as the backend for your flutter redesign for your mobile apps?
22:11 Right.
22:11 Cause it's all Python APIs, but it's something else on the front end.
22:15 They're like, how did you decide to not use something Python for the front end?
22:19 Or how did you decide on what you used?
22:21 And a couple other people had some thoughts as well.
22:24 So I think it might be really fun to do an episode where people who have created or work with, you know, either they're the backend dev or the front end dev or cross the board created mobile apps that are actual apps in the app store.
22:38 Or not just like, Oh, I tried this framework, but if you have an app in the app store and it has Python involved deeply in some way, right?
22:45 Maybe the APIs are in Python or there's some other way in which Python is involved.
22:50 Maybe you're somehow embedding Python into the app, or even, you know, maybe it's a Kivi app or something like that.
22:58 If you're interested in being on talk Python and a panel to kind of talk about like, you know, what, what are people doing with Python and mobile these days?
23:06 Right.
23:06 I think that would be a lot of fun.
23:07 Like, I I'd love to have you on that show.
23:10 So the link for this is in the podcast platter show notes.
23:14 I will not read it out, but it says beyond talk Python around mobile apps.
23:18 the link is tremendously long.
23:21 So go click that in the show notes or the episode page and just, you know, give us your name.
23:27 What's your app about, like how, how it's building and like maybe a couple of the really short things.
23:32 So I'd love to put it together in an episode like that, but it's really hard to like know who to invite because it's not entirely obvious looking in from the outside, you know?
23:40 Yeah.
23:40 Yeah.
23:41 Yeah.
23:41 So call, it's kind of a call for proposals to talk Python, I suppose.
23:45 And the second appearance of a Google form.
23:48 Flutter.
23:48 Blase says Flutter.
23:49 Yeah.
23:49 Flutter is pretty excellent.
23:50 Flutter is, I had the Flutter folks on talk Python and, what is basically a Python wrapper around Flutter.
23:58 Don't know that they have, app store support yet.
24:02 maybe they do.
24:04 Is Flutter the past tense of Flutter?
24:06 I am fluttering.
24:07 I did Flutter.
24:08 Maybe.
24:08 Yes, exactly.
24:09 that has something about PyCon 2024 on there.
24:13 But anyway, Flutter is really interesting.
24:15 I did talk to, I can't remember the guy's name over on talk Python, but I remember it was not quite ready for the app stores, but that was a while ago.
24:24 So if it's made it further on, sure, Flutter would be an awesome part of that discussion.
24:28 Neat.
24:29 I think I might check it out.
24:30 Yeah.
24:30 I can't wait.
24:31 Yeah.
24:31 All right.
24:31 Can't wait.
24:32 So.
24:32 Yeah.
24:33 Thanks.
24:33 Okay.
24:35 So I, I have.
24:36 Extras.
24:37 I have, I've just, I've been so busy lately, because I'm working on this pytest course and I find, we announced it last week, but I finally, like yesterday morning or something, I finally put it up on my blog.
24:50 pytest.
24:50 So pythontest.com courses.
24:53 You can finally find it.
24:54 You can also find the one that I have up on Talk Python Training.
24:57 There's a link to that.
24:58 And it's still a great course.
24:59 Some, but some people asked me, was that like different?
25:02 It is different, but it's, it's a, the Talk Python Training one is like a, is a, is a good like starter one to like, just get, get you going on pytest.
25:11 and it's still awesome.
25:13 and it's not outdated or anything.
25:15 the new one is just, is like the full book, but I'm, I'm, I'm really trying to keep every, it's not just the full book.
25:22 It's a whole bunch of extra stuff too.
25:24 But, it's not, I just wanted to mention it's up on, pythontest.com slash courses now.
25:29 So you don't have to find the link because it, it links to, it's a teachable site.
25:35 So it links to that one.
25:36 But the, because I hadn't really announced it really everywhere.
25:40 I've extended the, last, last week we said there was a 20% discount.
25:45 I've extended that 20% discount till the end of the month.
25:48 So it'll be in the show notes.
25:49 It's just Python bytes and all one word and it's 20% discount.
25:53 So, and a whole bunch of people have, signed up so far, or enough to make me believe it's a good idea to do this.
26:01 And I really appreciate the support and the encouragement.
26:04 I'm really having fun with the fixtures, chapter because fixtures are a thing that is hard to get your head around.
26:10 And I'm really, putting a lot of extra effort, putting some drawings in stuff.
26:14 So it's going good.
26:15 I guess that's my extra so far is just, this is going well.
26:19 Yeah.
26:20 Great.
26:20 Glad to hear it.
26:21 It's, exciting to see people interacting with the stuff you build.
26:25 Isn't it?
26:25 I remember when I did a Kickstarter for the first course that I did, I had an early access aspect to it and it was, it was good.
26:33 It was fun.
26:33 Yeah.
26:34 And I think I'm going to try to do, I'm not going to promise this, but I'm going to try to do some open hours or office hours things associated with this also.
26:41 I just don't have any time this week, so I'm not sure when I'll try to fit that in, but, yeah, it'll be good.
26:48 All right.
26:49 Yeah.
26:49 Cool.
26:49 How about something funny?
26:51 How about two?
26:52 Something's funny.
26:53 Yeah.
26:53 Do you want to start with mine or yours?
26:55 Yours.
26:55 Okay.
26:56 somebody, I can't remember where I saw this, but I just think it's hilarious.
26:59 I was looking for password, secure password generators and I've got one on my phone, but, but I wanted one, like a web accessible one that I could just look up.
27:08 Kenny logins.
27:09 It's Kenny log dash in.com.
27:12 And it's a password generator based on Kenny logins.
27:16 Something about the highway to the dangers.
27:19 Yeah.
27:20 Yeah.
27:20 And all those things.
27:20 So you can, so you can pick, Oh, the danger zone is weak.
27:23 Oh no.
27:23 The danger zone is weak.
27:25 Yeah.
27:25 Cause it's a danger zone.
27:26 So you can just, click which, how secure you want it.
27:29 And then you hit generate and then it generates, so head up like a king.
27:34 I don't know what's some symbols in there.
27:36 It's a pretty secure password for a weak one.
27:38 Okay.
27:39 Watching the river run.
27:41 nowhere to hide.
27:43 No way to hide.
27:43 And then, okay.
27:44 So all right.
27:45 I'm all right.
27:46 Is all right.
27:47 Like security.
27:48 And, I guess they're just a little bit longer.
27:50 anyway, this, and then strong passwords.
27:53 This is it.
27:54 There we go.
27:55 Yeah.
27:55 Those are, but there's like, mixed capitalizations and stuff.
27:58 these would be hard to remember.
28:00 It's actually a really good password.
28:02 That's a totally valid one.
28:03 These are all pretty good.
28:04 it's just, I thought it was really funny to have a themed password generator.
28:08 It's awesome.
28:09 So me in the F14 with Maverick in the sky back there, leaving a pond trail with a password.
28:16 And I don't know if it's a generational thing, but I can't even hear the, the phrase danger zone without it playing in my head.
28:23 I know.
28:23 I know it's pretty good stuff.
28:25 All right.
28:26 Okay.
28:26 What do you got?
28:27 Speaking with a theme here, the password game.
28:29 Do you want to play it?
28:30 Sure.
28:31 At Neil dot fun slash password dash game.
28:34 It says choose a password.
28:35 Okay.
28:36 I like the letter A.
28:37 I typically go with that.
28:38 So it's got to be, five characters.
28:41 So there we go.
28:43 Then it says, all right, cool.
28:44 You passed a couple of things.
28:45 It has to include a number because I typed five, A, A, A, A.
28:48 Oh, wait, A, five, five, five, five.
28:49 It says it must include an uppercase.
28:51 A must include a special character.
28:53 Bang.
28:53 What else would you put?
28:54 Your digits must add 25.
28:56 So I got to put another five in there.
28:58 It could go at the end though.
28:59 It doesn't have to be in order.
29:00 Include a monthly.
29:01 It must include.
29:01 Yeah.
29:02 So may.
29:03 Must include a sponsor in here.
29:06 So Pepsi, one of their sponsors, right?
29:08 So it shows their sponsors.
29:09 You got to use it.
29:10 Whatever.
29:11 Roman numerals should multiply to five.
29:13 This is all additive under the rules.
29:14 Roman numerals in your, let's see.
29:18 What is five in a Roman numeral?
29:20 Do you know?
29:21 V right?
29:23 Right.
29:23 Yeah.
29:23 V and then V I I.
29:25 Oh, come on.
29:26 That's, it's five times seven.
29:29 No, whatever.
29:30 I can't do Roman numeral multiple, like it of math.
29:33 So I'm done.
29:34 I can't create an account apparently, but here we are.
29:37 Roman.
29:37 Let's look it up.
29:38 Roman 35.
29:39 It has to multiply.
29:41 It has to be two numbers that multiply.
29:43 Roman numbers in your password should multiply to 35.
29:46 So like seven and it's like seven and five, right?
29:49 Yeah.
29:49 That's what I thought.
29:50 I thought I did seven.
29:51 I, I, I and V or is that maybe like, I can't get rid of the M.
29:56 Oh yeah.
29:56 It says there's a problem with the M.
29:57 Cause that's may.
29:58 I got to do a lowercase.
29:59 There we go.
30:00 Thank you, Pat.
30:01 Right.
30:02 No.
30:02 Thank you, Mike.
30:03 So I had may capitalize cause it's a formal noun.
30:06 but it was being treated as a room.
30:09 This capture.
30:10 Okay.
30:12 Does a recap.
30:12 So you got to type it.
30:13 Yeah.
30:14 Let's go.
30:14 Keep going.
30:15 Y4N6M.
30:17 But now my digits don't add up anymore.
30:19 And there were digits.
30:19 There were digits in the capture.
30:22 Okay.
30:23 I must include today's word.
30:25 Okay.
30:25 Then I'm, I'm completely.
30:28 I'm done.
30:28 Yeah.
30:29 I'm out.
30:29 I'm out.
30:30 This is good.
30:31 Yeah.
30:32 Nice.
30:33 I personally just use a proper password manager and let it guess.
30:38 Yeah.
30:38 Or they come up with one.
30:39 Yeah.
30:40 Or Kenny Loggins.
30:41 Kenny Loggins.
30:41 It's always there for you.
30:44 Oh, look at.
30:46 Talk to me, Goose.
30:47 Talk to me.
30:48 Come on.
30:48 Oh, look at the bottom.
30:49 look at all the old computers and stuff at the bottom.
30:51 We got a Commodore.
30:52 Oh, I love it.
30:53 It's got like an Atari 2600.
30:55 Yeah.
30:56 Anyway.
30:57 Joystick.
30:57 Ah, well, this was a great episode.
31:00 nice, funny passwords at the end.
31:03 Thanks a lot again.
31:04 And, yeah, we'll talk next week.