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


Transcript #402: How to monetize your blog

Return to episode page view on github
Recorded on Monday, Sep 23, 2024.

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

00:05 This is episode 402 recorded September 23rd, 2024.

00:11 I'm Michael Kennedy.

00:12 And I'm Brian Okken.

00:13 This episode is brought to you by Scout APM.

00:17 We'll tell you more about them later.

00:18 If you want to keep up with us or the show, follow us on Mastodon.

00:22 Links are in the show notes or over on X.

00:25 If you really, really want to, you can find the links there in the footer of the website.

00:29 We typically live stream on Mondays.

00:32 Now we used to do Tuesdays.

00:33 Remember we moved to Mondays.

00:35 So Mondays 10 a.m.

00:36 Pacific time on YouTube.

00:38 If you want to check that out, we'd love to have you.

00:39 Always great to have people in the audience, but certainly not the environment.

00:43 And finally, if you want to get artisanal handcrafted summary put together by your

00:50 very own Brian Okken about the show right after it ships, sign up for the newsletter.

00:55 Just go to PythonBites.fm/ right there and just click newsletter right at the front.

00:59 It's probably the easiest way actually.

01:00 But in your email, we won't, we won't do bad things with it.

01:02 We'll just send you updates.

01:04 So, and things about like horses and other stuff.

01:06 Horses, courses.

01:08 Okay.

01:08 Horses, courses for horses.

01:10 No, this is a totally different kind of show.

01:13 We go down that path.

01:14 Let's what path do you want to take?

01:16 let, actually let's make some decisions.

01:18 how about that?

01:20 Yes.

01:20 Okay.

01:21 I actually, this was suggested to me actually at a work setting.

01:25 a friend of mine, Christian Gazelle said, Hey, architectural decision records are pretty cool.

01:30 do you use them?

01:31 And I had not heard of these things.

01:34 So I was excited to explore the rabbit hole.

01:36 So, this was, there's a article that we're going to link to.

01:40 This is the original from 2011 called documenting architecture decisions from Michael Nygaard.

01:45 And, and it's, it, it's kind of this idea that you just have this lightweight

01:50 document to, to discuss things like, what you're deciding about, what the

01:57 context is, what, you know, what, what the current situation is, and then the

02:01 decision, what you're going to do.

02:03 And so the context is why, why you're doing it.

02:06 The decision is what you're going to do.

02:08 And then, you know, status, like if you're, whether you're proposing it or whatever, I'm playing with status right now.

02:13 So, and then the consequences, what you hope to will be the benefits of this decision.

02:18 This seems like, like, like so silly and simple that it can't be helpful, but it

02:23 is, it is awesome.

02:24 and I've started using it just for a few days, so we'll see.

02:28 But, so there's another article I'd like to link to, and it's from, from

02:32 Red Hat called why you should be using ADRs or architectural decision records

02:37 to document your project.

02:38 And it's a, that's, that's a really nice, lightweight introduction.

02:42 and, shows you basically you just had a handful of things and there's a bunch of templates people are using.

02:49 I'm using Markdown.

02:50 and I'm going to show you the, essentially the template I'm using.

02:54 It's just a Markdown file and I've got like a template, just a 0 0 0 ADR template

03:00 dot MD that just copy paste, modify.

03:02 And it's just a few lines.

03:04 And I've likely, sometimes I just put none in.

03:07 If I'm not considering any options, I'll just put none, but I might fill it in

03:11 later, but including pros and cons for options.

03:14 this isn't, this is really only taking me a few minutes to get the stuff that

03:18 I'm thinking about or the project and the things I want to change out of my head.

03:21 And somewhere.

03:23 and since it's in Markdown and I'm storing it with the, with the code in the

03:27 repository, it works great because, because the, because it's a GitHub or

03:33 GitLab just renders it it's Markdown.

03:35 So it just gets rendered and it looks beautiful.

03:37 but it's super fast to just write this down.

03:41 and I'm, I'm already like, in, so the step, okay.

03:44 I want to talk about the status a little bit.

03:46 The proposed status, the status that was recommended in the original is like

03:50 proposed, accepted, rejected, deprecated, superseded, and it's kind of formally.

03:55 So I've been using things like trying it out.

03:58 haven't decided yet because I'm like documenting the process as I'm going.

04:04 And I'm guessing like, by the time I say accepted, I'm going to stop editing these documents, but.

04:09 I've got a couple architecture things that I'm just trying out playing with,

04:13 you know, do be an agile about it.

04:14 And, and it's helping me to actually go even just back a day to say, what was I thinking yesterday?

04:21 And, and having that written down someplace.

04:24 And then I'm also working with a remote team, so it's good to have the remote

04:27 team to be able to like, they can see what I'm thinking by reading these docs

04:32 and other people can do too.

04:33 So anyway, highly recommend architecture decision records.

04:37 Yeah, that's great.

04:38 You know, one thing that's might be cool to pair this with is the old style

04:43 GitHub projects, not the crummy new ones, but the good new, good old ones.

04:47 Okay.

04:47 Where you have counter on boards and they go through different stages, right?

04:52 So the status could be the columns of your projects and you could have just a

04:56 project for decisions and you could just see where they've gone and you know,

04:59 maybe, somehow reference.

05:02 Yeah.

05:02 And a great issue is something to link it all together through GitHub, but that'd be cool.

05:05 Definitely.

05:06 And I've seen, there's a bunch of people that have done a bunch of extra stuff on

05:10 top of this to make it more processy.

05:12 But to me, now it feels official and I don't want it to feel official.

05:17 I want it to just be like dumping stuff out of my head.

05:19 There's also a different, a different thing of like, how much things do you put in there?

05:23 Is it everything?

05:25 Is it, just big, important architectural changes and that you just sort of have, I'm

05:30 just playing with it to see what it is.

05:32 I'm not putting bug fixes in here, but I'm putting things like, I'm really changing

05:37 a component, taking it here and putting it over here.

05:39 Why am I doing that?

05:40 Right.

05:41 We're switching from FastAPI to flask and here's why.

05:44 Something like that, right?

05:45 So yeah.

05:46 Theoretically.

05:47 Awesome.

05:47 Well, let's go to the sea and visit some narwhals.

05:51 So I just had this, this project, had Marco Corelli on talk Python.

05:57 This is a project he's doing a lot of work with and narwhals, it solves a problem.

06:02 You can see their logo.

06:03 If you go to their website, it's a pandas and a polar bear in a narwhal kind of hanging out behind them.

06:08 And the idea is if you have, if you are writing a library that takes a data frame

06:15 source, right?

06:16 So if you have users for doing pandas and they want to, you want to write, write a

06:21 library and say, Hey, send me your pandas data frame and I'll graph it or I'll analyze

06:25 it or I'll do AI around it or whatever it is you're doing with it.

06:28 You will probably get a message issue or something that says, Hey, we'd like you to

06:34 use polars.

06:34 How do I work with that?

06:36 I want to convert everything to pandas.

06:37 I want to use polar's like, now how do I take these two?

06:40 And then you're like, well, we actually use moden or we use, QPI for, GPU

06:46 programming.

06:46 Can we pass our data frames?

06:48 You're like, great.

06:50 Cause nobody wants to convert out of their native framework into this thing and into

06:54 some other one.

06:55 Cause it's probably going to make it slow.

06:56 Like if you convert out of a GPU into pandas, well, what's the point, you know?

07:00 So that's what the goal of this narwhals thing is.

07:02 It lets you primarily, it's primarily for people who are creating graphing libraries,

07:08 analysis libraries, others that can take all these different frameworks.

07:13 Okay.

07:13 Right.

07:14 And then what you do as the library writer is use a subset of the polar's API, a real

07:19 simple one program that comes from narwhals, but it's the same API.

07:24 Right.

07:24 And so you basically do that and then narwhals itself knows how to figure out

07:28 which data frame library you're working with, how to work with it.

07:31 If it's polar's and it does, it's lazy operations, it won't turn it into eager

07:37 operations that will continue to be lazy until it gets evaluated, which is really

07:41 good for performance and memory.

07:42 But if it's an eager API from pandas, also that very low overhead.

07:47 If you go check it out, full static typing, lots of promises of stability.

07:51 Because the point is to be a foundational library for other libraries, not cutting

07:55 edge, new features.

07:56 So anyway, if people are out there and they want to work with multiple frameworks for

08:01 whatever reason, especially if you're creating libraries that you want to let

08:04 people from different slices of the data science world use, then this is pretty

08:08 awesome.

08:08 So do you know, is it, it's not converting things as it brings it in, it's leaving it

08:13 in the native data.

08:14 Yes, exactly.

08:15 Yeah, exactly.

08:16 That's part of the bonus here is that it does that.

08:19 And then basically you write to the subset of the polar's API, but then narwhals

08:24 it's okay.

08:25 Well, is it really a pandas thing or whatever?

08:28 Yeah.

08:28 What's the underlying thing?

08:29 Yeah.

08:29 Yeah.

08:30 Yeah.

08:30 I don't have a direct use for it because I don't data science as much, but I think

08:35 it's cool and wanted to share it.

08:37 It will be on talk Python in much greater detail than I just explained in a couple of

08:42 weeks.

08:42 You can find it on the Python live stream YouTube section already, but the full

08:47 edited version will be out later.

08:49 All right.

08:49 That's pretty cool.

08:50 Yes, indeed.

08:51 And sure is.

08:52 How about we talk about our sponsor real quick, Brian, before we move on.

08:56 That sounds great.

08:57 Let me tell you real quick about Scout APM.

09:01 They're big supporters of Python bites.

09:03 So we appreciate that very much.

09:04 So if you are tired of spending hours trying to find the root cause of issues

09:09 impacting your performance, then you owe it to yourself to check out Scout APM.

09:13 They're a leading Python application performance monitoring tool, APM.

09:18 That helps you identify and solve performance abnormalities faster and easier.

09:22 Scout APM ties bottlenecks such as memory leaks, slow database queries, background

09:27 jobs, and the dreaded N plus one queries that you can end up if you do lazy loading

09:32 in your ORM, then you say, Oh no, why is it so slow?

09:36 Why are you doing 200 database queries for what should be one?

09:38 So you can find out things like that.

09:39 And it links it back directly to the source code.

09:41 So you can spend less time in the debugger and healing logs and just finding the

09:46 problems and moving on.

09:47 And you'll love it because it's built for developers by developers.

09:50 It makes it easy to get set up.

09:51 Seriously.

09:52 You can do it in less than four minutes.

09:54 So that's awesome.

09:55 And the best part is the pricing is straightforward.

09:58 You only pay for the data that used with no hidden overage fees or per seat pricing.

10:03 And I just learned this, Brian.

10:05 They also have, they provide the pro version for free to all open source projects.

10:11 So if you're an open source maintainer and you want to have Scout APM for that

10:14 project, just shoot them a message or something on their pricing page about that.

10:18 So you can start your free trial and get instant insights today.

10:22 Visit by them by set of him slash scout.

10:24 The link is in your podcast player show notes as well.

10:27 And please use that link.

10:28 Don't just search for them because otherwise they don't think you came from us.

10:32 And then they'd stop supporting the show.

10:33 So please use our link by them by set of him slash scout, check them out.

10:37 It really supports the show.

10:39 Well, next is, it's a little bit of bizarre news from the Northwest.

10:43 the you're probably, so I'm, I'm a little bit older than you, I think.

10:47 so I don't directly remember it, but I kind of remember the, the, the meltdown at three mile Island.

10:54 And then I'm 27.

10:55 How old are you?

10:56 I'm just, so I was born in 1970, so I was nine years old.

11:01 So it wasn't really something I was completely aware of, but we, you know,

11:04 we heard about it later cause it was kind of a big deal.

11:07 So what this was, was a, nuclear nuclear facility in near, near Seattle.

11:14 Ish.

11:14 I don't know.

11:15 I'm not that good at geography.

11:16 three mile Island in Washington.

11:19 And there were two reactors and one of them did a partial meltdown and it was a big, big thing, but it was, it's the worst nuclear accident

11:27 we've had in the United States.

11:29 and okay.

11:31 So why am I talking about this?

11:33 Well, I didn't, I guess, I guess I didn't realize it was still operating up until

11:37 2019, not those reactors.

11:39 There were other reactors nearby safer.

11:42 I mean, in nuclear energy has come a long way and there's, and actually this three

11:46 mile thing was the reason why we have a lot of the nuclear, regulations we

11:51 have now, it did sort of put nuclear energy on the back burner more than it

11:55 probably should have been.

11:56 And I'm not going to get into the politics of whether or not we should have nuclear energy too much with that.

12:02 I didn't want to get into that too much, but what I am want to talk about is that

12:06 it's going to start up again or it's proposed to, so it was closed in 2019.

12:10 It might open again in 2028 and it's only going to be for Microsoft.

12:15 This is the bizarre bit.

12:16 So Microsoft, Microsoft wants to start this up again and have an exclusive 20

12:22 year deal for what 835 megawatts of energy.

12:26 just going to AI.

12:28 this seems bizarre to me.

12:30 So the, so AI needs a lot of power and, and yeah, so that they're just going to, they hope this isn't the still in proposal phase, regulators,

12:40 regulators have to approve it.

12:41 But, we're going to start up another nuclear power plant just for, just for Microsoft AI.

12:48 This, I just don't get it.

12:49 so there's, there's that.

12:51 and then it was, this was, we linked to the verge article.

12:55 I, I found it on the verge, but then I searched for it again.

12:58 Some more, and there's just a CNN article as well.

13:01 And also what it looks like.

13:02 There's only one picture of this thing that's being used everywhere.

13:05 anyway.

13:06 Oh, I guess that's a different picture, but, so kind of start up again.

13:11 it seems odd.

13:13 and then, in a related news, I guess that's all I just wanted to say is, I think this is weird that we're going to start a nuclear power plant just for AI.

13:24 Maybe that's a problem.

13:25 anyway, the article I found was, just, it's kind of a mock news article,

13:31 but this is just a mixed weenies, internet tendency.

13:34 The article is the department of energy wants you to know that your conservation

13:39 efforts are making a difference.

13:41 So I thought we were trying to like save the planet by saving energy and stuff.

13:46 And, this has got some interesting bits.

13:49 it says, by turning off your lights all day, every day, you can serve about 1% of the energy needed for AI to generate a picture of a duck wearing

13:58 sunglasses is an EQ, aside from the fact that he has feet that are a human of a

14:03 human man, of course.

14:04 so AI is consuming tons of energy and we're in the rest of our lives.

14:09 We're trying to conserve energy.

14:11 That's just a, I don't know.

14:12 I, maybe I shouldn't brought it up as a topic.

14:14 It's just seems bizarre to me.

14:16 So I'll leave it there.

14:17 Well, so I love these.

14:22 Let's put your, your feeling bad about wasting energy or your effort to save

14:28 some energy and perspective.

14:30 And it's just like, yeah, I mean, I still go around and turn off the lights after

14:33 my kid who just like leaves them on.

14:35 Well, yeah.

14:36 And also we're, I've like stopped buying 25 cent light bulbs and now we buy $8 LED

14:43 light bulbs that last about the same as the other bulbs used to.

14:46 And they are more, I mean, we're spending way more on light bulbs and for what?

14:52 So that AI can have more energy, I guess.

14:54 Yeah.

14:55 So on one side, I totally see the point there on the other.

15:00 If we're going to dump tons of energy into AI, I would much rather see it coming from

15:05 carbon neutral sources than coal plants, you know, true fair, right?

15:09 Like, are you going to make the duck or are you going to not make the duck?

15:12 Like regardless of what light bulbs using people are making ducks and let's do that.

15:16 Better.

15:16 I think it's super bizarre that three mile Island is the choice because if there's

15:20 anything in at least American culture that says nuclear energy bad, it's three miles.

15:26 Like anywhere else, you know?

15:29 Yeah.

15:29 Well, they're going to change the name.

15:30 It's going to be called the crane clean energy center.

15:33 Oh, there's a good rebranding that, that said I'm super optimistic on nuclear energy as a climate solution.

15:44 Not necessarily old school three mile Island stuff, but the molten salt reactors, the things that fail safe and not fail explosive like Fukushima.

15:51 Right.

15:52 I know there's nuclear waste.

15:53 There are less, those new ones are less bad.

15:55 And you know, I feel like a lot of the pushback against it.

15:59 It's a little bit like, well, there's this rare endangered lizard in the desert.

16:04 So we can't have in this desert, any solar farms.

16:07 It's like, well, if it gets 20 degrees hotter, there's going to be no lizards in the desert.

16:11 We need to take some more positive action.

16:13 And I feel like, you know, nuclear energy is that sort of in the extreme, right?

16:18 People have such strong reactions, but there's so much better tech now.

16:20 And I would love to see that.

16:21 Yeah.

16:23 My personal views are that I think it would be good to utilize what we have,

16:27 including nuclear energy as a stop gap to get us off carbon based fuel.

16:34 And then once we get that, we can get carbon neutral.

16:37 Then we can go to, then we can be, as we beef up solar and, and wind and everything, then we can maybe draw away from nuclear.

16:46 That's a great way to put it.

16:47 Like let's get rid of the carbon pollution and then we can debate of the things that are working, which ones are working best.

16:54 Very well.

16:54 I also wanted to point out the excellent pun that you made intentional or not,

16:59 that with nuclear energy, people have strong reactions.

17:02 That's very good.

17:03 All right.

17:05 People might have a strong reaction to this as well, but I got to say it's way less, way less out there.

17:10 So here's the strong reaction.

17:12 I think when people use Docker, so this is a Docker topic.

17:15 When people use Docker, there's two philosophies.

17:18 One philosophy is I want the lightest weight, simplest, most basic thing that

17:24 I can possibly use to build my containers.

17:26 So they're insanely small, right?

17:28 I want almost nothing there.

17:30 I just want, if it is not needed for whatever I'm trying to do to execute,

17:34 it doesn't belong there.

17:35 Let's get it out of there.

17:36 Yeah.

17:37 That's one side.

17:38 Does this topic is not from that topic is from the other side of perspective

17:43 that I would say the Michael side lives on that I live on in that is Docker can be

17:48 more difficult to understand what's going wrong when something goes wrong.

17:51 How do you fix it?

17:52 How do you get other tools to see what's happening inside there?

17:55 Right.

17:56 And so I think there's a bunch of people that stay away from Docker because

17:59 they're like, Oh, I just want to have access to the logs and the, the tools

18:04 that I normally use and all that kind of stuff inside my server or my VM.

18:08 So I can understand what's happening better.

18:10 Right.

18:11 So one of the tools I really like is, Oh, my Z shell, right.

18:14 With all of his plugins is auto-complete is cool history.

18:16 And so I present to you ZSH in Docker.

18:21 It installs Z shell.

18:23 Oh, my Z shell and the plugins like auto-complete for source control and for,

18:28 you know, all the, all the various plugins that you get right from Z shell.

18:33 And it's one line.

18:34 So you put this run shell at the, the, the, out of this repo and it just installs

18:40 Z shell and installs, Oh, my Z shell.

18:42 It makes it the default shell.

18:44 Or you just run it when you get into it, whatever.

18:46 And then all the plugins, et cetera.

18:48 So really, really nice.

18:49 You even get to pick your theme as part of the one liner so that you can see

18:54 like what version of Python is active.

18:56 What is the state of a get repo?

18:58 If you copied a get repo in as part of setting up your Docker container and all those kinds of things.

19:02 So super simple.

19:04 If you believe in the, I want some tools inside of my container.

19:07 So when things are not working, I can exec into it and ask what's going on.

19:11 And this is really awesome.

19:13 if you don't want that, if you're in the opposite side, this is not for you.

19:16 All right, cool.

19:17 Indeed.

19:18 So do you, how much time do you spend in Docker?

19:20 very little, but when things are not quite working or I'm trying to figure out

19:26 a command, you know, maybe you've got a database running in there and you're

19:28 like, I really need to see, I just want to see what's going on with this.

19:31 And you know that inside the container, there's some database management tools.

19:36 If you just Docker exec Z shell, and then you start typing, it's like you're, you're

19:41 just on SSH in effectively.

19:43 So, yeah, I'm going to have to check that out.

19:45 So I'm changing my doc.

19:46 Like I used to use Docker a lot for like actually cross compiling, C++ code.

19:51 And I'm using it more now for web stuff.

19:53 and so, yeah, absolutely.

19:56 I think it's great.

19:57 And obviously I do a ton of stuff with Docker and for running the web apps and

20:01 things, but I don't go into the web apps unless I have questions.

20:06 You know, but when you do, it's nice to just go, oh, okay, well, here's the thing.

20:10 And you just make this one of your base layers of your Docker image and it builds nice and fast.

20:15 Nice.

20:15 Okay.

20:16 well, we're, ran through our topics.

20:19 I don't have any extras today, so you're extra less.

20:23 I'm extra list.

20:24 What is the opposite of extra?

20:26 I don't know.

20:27 I got a few basic, maybe I guess bear the bare minimums.

20:32 Okay.

20:33 So first one is I remember I spoke about this thing, this uptime Kuma while ago.

20:40 Uptime Kuma is great.

20:41 So it's self-hosted, free uptime monitoring.

20:46 Okay.

20:46 Well, I put in a bunch of things, like for example, if you go to Python bytes and you

20:50 go to the bottom and hit server status, it'll show you the server status of Python

20:54 bytes, how old the SSL search from let's encrypt are and all those kinds of things.

20:59 Right.

20:59 Very cool.

21:00 Well, I turned that on all of my web things.

21:03 Including my personal blog, which this might resonate with you, Brian is my

21:06 personal blog built with Hugo, which is a static site, so it cannot crash.

21:11 It is HTML, CSS image.

21:14 Like you can't crash.

21:15 Right.

21:16 And I thought, Oh, I'm going to host this on Netlify because Netlify is pretty awesome.

21:19 Right.

21:20 Right.

21:20 Yeah.

21:21 Well, I started getting every single day or every other day, your site has a five

21:26 Oh two error and it's been down for 10 minutes.

21:29 Now it's back.

21:30 It's been down.

21:31 What?

21:31 How could it possibly?

21:32 It's a static site.

21:34 So something about the Netlify infrastructure was going bonkers.

21:39 And I will tell you if you already have an Intunix server laying around somewhere,

21:43 it's about eight or nine lines of code of Intunix configuration to just host it yourself.

21:49 So I switched this over to running on server that runs all the other things that I got,

21:53 but because Netlify was crashing.

21:56 So I think the takeaway is not that mkennedy.code is my personal blog, website,

22:01 consider is hosted anywhere different.

22:03 Like, why do you care?

22:03 But if you're hosted on Netlify, maybe point some uptime status at your thing,

22:08 even though it's a static site, shouldn't fail.

22:10 Look at it anyway.

22:11 Mine was for a week or two.

22:13 I would say at least two weeks, it has been all sorts of broken temporarily.

22:17 So is it better now?

22:19 Yeah, it's perfect.

22:20 Cause why would it have any problems now?

22:21 It's on our server.

22:22 Yeah, it's better now.

22:25 Okay.

22:25 Okay.

22:26 So that's number one.

22:26 That's just a, check that out.

22:28 Number two, over at Talk Python, if you go to the courses and you go to the apps, we've

22:35 really nice new version that came out, I think last year of our mobile apps for all

22:41 the courses, including Brian's pytest course.

22:43 You can take it that way.

22:44 The one that comes from Talk Python that is.

22:46 Well, the guy who wrote this, Lauren Auge, I had him on Talk Python when we talked

22:52 about Python and mobile apps along with some other folks.

22:55 Anyway, he used to be a live sound engineer until COVID hit.

22:59 And then he moved over into software development and he wrote up a really

23:03 detailed story of his life journey.

23:05 And I just wanted to share that if people are interested in that, maybe you're making

23:09 that transition as well, then, you know, check that out.

23:12 It's pretty cool.

23:12 That's pretty cool.

23:13 Yeah.

23:13 This other short one comes to us from it.

23:17 Itmar Turner.

23:19 I Turner trowing says it's time to stop using Python three, eight.

23:23 I can't believe that, but it is.

23:24 He puts it, he puts it onto our radar that, you know, 14% of the packages

23:29 downloaded from PyPI are for Python three, eight installations.

23:33 And by the way, next month it's going end of life out of supported, no virus, no security fixes, nothing.

23:39 So you might not want that to be your foundation if you get to choose.

23:43 And we got like seven days left to September.

23:45 Yeah.

23:45 I would say it's yeah, five weeks.

23:48 What could go wrong?

23:49 Anyway, just put it on your radar.

23:51 Maybe Python three 12.

23:52 It's been out for a long time.

23:53 Version six of that one just came out.

23:55 So I think we're good.

23:56 You know, three, 12, six.

23:57 Oh, I also want to add to that, that since like, it's been years since I've ever

24:02 had any, any significant issue upgrading.

24:05 at most I'll see deprecations that I have to go through and, and clean up or warnings or something.

24:12 But I, maybe other people have, but I haven't had any issues, for really long time upgrading.

24:17 So, yeah, same.

24:19 I did have an issue with, I can't remember.

24:22 There was some, it was packages that didn't support three 12.

24:26 There was some deprecation in there that I had to wait three or four weeks before

24:30 I could start using three 12 when it first came out for some of my apps.

24:33 However, that's not the same as to say that Python itself is unreliable.

24:38 You would know right away if the imports fail or whatever, right?

24:42 Like you'll, you'll find out straight away.

24:44 And so, yeah.

24:44 And I don't remember the reason why, but on a couple of the projects that I've

24:47 converted from three eight to three 12, work projects, I jumped to from three

24:52 eight to three 10 with no issues or minor issues and then to three 12 fairly easy.

24:58 And for some reason it just helped me to go from three 10 and then three 12.

25:02 but anyway, your mileage may vary.

25:05 It's these, it's these kinds of things that if you don't do it, you eventually

25:09 end up saying we have a two six app and a half million lines of code and

25:14 it's still running on Python two six.

25:16 So don't talk to me about your fancy new libraries and your typing and your async.

25:20 We're just trying to survive, you know, like, but if you keep, if you get into

25:23 the practice of just like, okay, well, let's just keep this stuff moving.

25:26 All those steps are generally small unless you try to take them 10 years at a time.

25:30 They're stressing me out, man.

25:31 PTSD from two six.

25:34 All right.

25:36 Last thing.

25:37 So pass keys.

25:38 Let me ask you really quick, Brian, are you a pass key user?

25:41 Yes.

25:42 Well, pass key is in believer.

25:44 Well, yeah, I use pass keys.

25:46 Yeah.

25:46 I do too.

25:47 I've been resisting using pass keys.

25:49 So pass keys are cryptographic kind of like, almost like SSH keys, but for the

25:55 normal normal folks for just web authentication, right?

25:58 So cryptographic thing, blob that gets put into your, whatever thing is signing

26:02 in and if it shares that back, it's supposed to be dedicated to that instance.

26:06 It knows it's you.

26:07 Often you can skip to a phase, all those kinds of things.

26:09 Right.

26:10 But one of the things that really turned me off on pass keys is they felt to me,

26:16 like a couple of the tech giants are like, Hey, this is a sweet opportunity for lock-in.

26:21 So let's see how much lock-in we can get, you know, Android and Apple, especially

26:26 right, like, Hey, just save your pass key to your iPhone.

26:29 What could go wrong?

26:29 I was like, well, I could lose my, yeah.

26:32 If I could lose my iPhone or even if it's synced to iCloud, like what?

26:35 I have a smart TV that says, you know, log in with your password.

26:39 It's a super pain to type in, but you can do it.

26:41 Or maybe I'll go over to my windows PC and I have to type in some password to log in.

26:46 A lot of times it'll say like, Oh, your Microsoft account is expired.

26:50 It's login, login again at the boot screen.

26:52 So I don't get access to anything.

26:55 I was like, Oh my gosh, this is a pain.

26:56 But those situations get way worse.

26:58 If you have pass keys that are dedicated to, you know, one provider, right.

27:02 That's, that's just a mega lock-in.

27:04 So I realized that if you're a one password user or I think also bit warden, I'm a user of both of

27:11 them and I really like them.

27:13 If you store your pass keys there, all of a sudden they live everywhere.

27:16 It's beautiful.

27:16 And if your computer gets destroyed, just log into one password or it wouldn't or whatever

27:21 again, and you have them all again.

27:22 So if you at least for one password, if you go into the watchtower, there's a section that

27:27 says, show me all the sites that could have past keys that I don't have stored past keys for

27:32 here, and it'll help you go through and basically add the no one password, which is a form of

27:37 lock-in, but a much lower grade form of lock-in in my, my feeling.

27:41 So anyway, I am now a believer of past keys.

27:45 I believe I went through and did that this weekend.

27:47 I added like 35 accounts or so that have past keys and now life's a little easier.

27:51 Like GitHub, for example.

27:52 Yeah.

27:54 Nice.

27:54 Yeah.

27:55 So, all right.

27:56 You have the joke for us this week.

27:58 Do you not?

27:59 I do.

27:59 And I actually, I thought it was going to be a topic.

28:02 I just had it in my, in my backlog of how to monetize a blog.

28:06 And then I started reading it and realized this is just a hilarious joke.

28:11 And I love it.

28:13 So I wanted to bring it up here.

28:14 And so, and you should either, if you're listening and not, not on YouTube, you should

28:19 watch the, watch the video version or just go check it out yourself.

28:24 I'll link in the show notes.

28:26 Okay.

28:26 So how to monetize a blog.

28:28 I talked to, and I actually thought it was going to be advice, but it's just funny.

28:32 Maintaining a blog can be a lot of work.

28:35 I started reading it.

28:35 You don't really need to read it.

28:37 There's some fun font that shows up right away.

28:39 Like, like there's, it can become a fairly lucrative venture and the become is in this

28:44 wacky font.

28:45 I love the M that's cool.

28:47 And then so you're going down and you see these various things like, like TimberQuest

28:54 advertisement, your lumberyard awaits you, my Lord.

28:57 Play now.

28:58 And almost all the, the, the clickable things, if you click on them, they just like pop up

29:03 little coins.

29:04 You don't actually go anywhere.

29:06 And then talks about slapping this bad boy here can start raking in some cash through

29:12 true primary means CPM or CPA.

29:15 And and then you just sort of, if it's sort of seems reasonable, but it says, look, look,

29:21 how am I doing so far?

29:22 I've, I've made 0.123 cents so far on this.

29:27 And then it just adds it up.

29:30 There's different various various little links around that if you click on them, it

29:35 increases the how much money this person's made, even though it's not real.

29:38 But if you, I just started reading the ads, like there's an ad for minimal effort

29:44 graphic design, no proofing and time to say the ads are hilarious.

29:51 Here's one free cruise sign up today with eligible purchase meeting or exceeding value

29:58 of cruise, after which no purchase is necessary.

30:00 Of course, click on that guy for some extra cents.

30:05 Let's see.

30:07 I'll read one.

30:08 The more clicks and grizzly bear sales you can squeeze out of your beloved readers, the

30:12 more of their money you can siphon to spend on cheeseburger deliveries.

30:16 And of course, cheeseburger deliveries is clickable.

30:19 It's got to be an affiliate link, right?

30:21 Yeah.

30:21 All these things.

30:22 let's see.

30:24 here's a little, a little weird thing.

30:27 add on the side that looks like a Amazon or eBay thing.

30:31 Friendship assembly, 1595 collapsible by valve, and a that which molts beneath enclosures toy.

30:40 This is bizarre.

30:41 I love these.

30:42 I'm going to scroll down more literal snake oil, vials of freshly squeezing, squeezing oil from actual snakes.

30:49 befriend a sandwich.

30:51 No doctors allowed.

30:53 The first mystery grab bag of unmarked vitamins is free.

30:56 oh, and then it pops up.

31:00 We get a pop up, push notifications.

31:02 Would you like to enable push notifications so you can receive intrusive alert messages like these outside of the browser?

31:09 Yes.

31:09 Or ask me later.

31:10 I'm sure I said yes.

31:14 And see if you got a coin for that.

31:15 Yeah, maybe let's do it again.

31:17 Another one.

31:18 Yes.

31:18 Oh yeah.

31:19 Oh, you did.

31:20 You make, get some money for that.

31:21 Yeah.

31:21 And a weird pop-up cheese cube burger now open.

31:25 let's see.

31:27 We soon become, oh, it's too bad.

31:29 You can't see this.

31:30 This one is a ice cream holding tips.

31:33 there's, we have radishes that will change your life.

31:37 Add, let's see.

31:39 huh.

31:40 Oh, these, these are my, these are just my mind rending.

31:43 God radishes, old school.

31:47 excuse me, a virus was detected on a computer.

31:50 Send bit points like a Solaris window.

31:54 oh, anyway.

31:56 And then you, you just sort of scroll down.

31:58 It just comes, it becomes even more bizarre.

32:00 You've got sideways text.

32:02 and then, the, the spiral, this is awesome.

32:07 I don't even know.

32:07 So I was like, how did they do some of this stuff?

32:09 It's pretty cool.

32:10 It's some pretty cool stuff.

32:11 monetize.

32:12 That's how you do it.

32:13 Yeah.

32:13 If you go all the way down also in the, if you actually start reading it, it says

32:18 stuff like there's not actually, you just sort of have to spew out lots of words.

32:22 I didn't even edit this.

32:23 and then way at the bottom, there's a credits, how this was made.

32:27 And then, this person goes through and walks through, basically all the different, procedures for how, like how to do the spiral, how to do the

32:36 cool font, and all these sort of tricks, with HTML and CSS and whatnot.

32:42 So anyway, just a hilarious little, blog on stupid ads.

32:46 that's awesome.

32:47 Andre out there says this is art.

32:49 It's definitely art.

32:51 Yeah.

32:51 Not art, but real time follow up.

32:54 Bitwarden also supports pass keys, which Bitwarden being open source and the

33:00 paid version is insanely affordable.

33:03 It's like a dollar, a couple of dollars a year or something.

33:06 I can't remember exactly what it is, but maybe that's the proper recommendation there for, for pass keys.

33:12 But anyway, pretty cool.

33:13 Yeah.

33:13 Cool.

33:14 Yeah.

33:14 Well, let's call it a show, huh?

33:16 Yeah.

33:16 It sounds good.

33:17 All right.

33:17 Well, thanks for being here.

33:18 Thank you everyone for listening.

33:19 See y'all later.

Back to show page