Python Bytes - #402 How to monetize your blog

Episode Date: September 23, 2024

Topics covered in this episode: Architecture Decision Records (ADRs) narwhals: extremely lightweight compatibility layer between dataframes Microsoft wants Three Mile Island to fuel its AI power ne...eds zsh-in-docker Extras Joke See the full show notes for this episode on the website at pythonbytes.fm/402

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds. This is episode 402, recorded September 23rd, 2024. I'm Michael Kennedy. And I'm Brian Ocken. This episode is brought to you by Scout APM. We'll tell you more about them later. If you want to keep up with us or the show, follow us on Mastodon. Links are in the show notes.
Starting point is 00:00:24 Or over on X if you really, really want to. You can find the links there in us on Mastodon. Links are in the show notes or over on X. If you really, really want to, you can find the links there in the footer of the website. We typically live stream on Mondays. Now we used to do Tuesdays. Remember we moved to Mondays. So Mondays, 10 a.m. Pacific time on YouTube. If you want to check that out, we'd love to have you always great to have people in the audience, but certainly not environment. And finally, if you want to get an artisanal handcrafted summary put together by your very own Brian Ocken about the show right after it ships, sign up for the newsletter. Just go to Python by the side of him slash right there and just click newsletter right at the front. It's probably the easiest way, actually. Put it in your email.
Starting point is 00:01:01 We won't do bad things with it. We'll just send you updates. So and things about like horses and other stuff. Horses. Horses. Okay. Horses. Horses for horses.
Starting point is 00:01:11 No, this is a totally different kind of show. We can go down that path. What path do you want to take? Actually, let's make some decisions. How about that? Yes. Okay. Actually, this was suggested to me,
Starting point is 00:01:23 actually, at a work setting. A friend of mine, Christian Gazelle, said, hey, architectural decision records are pretty cool. Do you use them? And I had not heard of these things, so I was excited to explore the rabbit hole. So there's an article that we're going to link to. This is the original from 2011 called Documenting Architecture Decisions from Michael Nygaard. And it's kind of this idea that you just have this lightweight document to discuss things like what you're deciding about, what the context is, what the current situation is, and then the decision, what you're going to do. And so the context is why, why you're doing it. The decision is what you're going to do. And so the context is why, why you're doing
Starting point is 00:02:06 it. The decision is what you're going to do. And then, you know, status, like if you're, whether you're proposing it or whatever, I'm playing with status right now. So, and then the consequences, what you hope to will be the benefits of this decision. This seems like, like, like so silly and simple that it can't be helpful, but it is, it is awesome. And I've started using it just for a few days. So we're, we'll see. But so there's another article I'd like to link to, and it's from, from Red Hat called why you should be using ADRs or architectural decision records to document your project. And it's a, that's, that's a really nice lightweight introduction. And it shows you basically, you just have a handful of things and there's a really nice lightweight introduction um and uh shows you basically you just a handful of
Starting point is 00:02:47 things and there's a bunch of templates people are using i'm using markdown um and i'm going to show you the essentially the template i'm using it's just a markdown file and i've got like a template just a 000 adr template.md i just copy paste modify and it's just a few lines and i've likely sometimes i just put none in if i'm not contingent or any options i'll just put none but i might fill it in later but including pros and cons for options um this isn't this is really only taking me a few minutes to get the stuff that i'm thinking about of the project and the things i want to change out of my head and somewhere um and since it's in Markdown and I'm storing it with the, with the code in the repository,
Starting point is 00:03:27 it works great because, because the, because it's a GitHub or GitLab just renders it. It's Markdown. So it just gets rendered and it looks beautiful, but it's super fast to just write this down. And I'm, I'm already like,
Starting point is 00:03:43 and so the step, okay, I wanted to talk about the status a little bit. The proposed status, the status that was recommended in the original is like proposed, accepted, rejected, deprecated, superseded. And it's kind of formally. So I've been using things like trying it out. Haven't decided yet because I'm like documenting the process as I'm going. And I'm guessing like, by the time I say accepted, I'm going to stop editing these documents. But I've got a couple architecture things that I'm just trying out playing with, you know, do be natural about it.
Starting point is 00:04:14 And and it's helping me to actually go even just back a day to say, what was I thinking yesterday? And and having that written down someplace. And then I'm also working with a remote team, so it's good to have the remote team to be able to like, they can see what I'm thinking by reading these docs. And other people can do it too.
Starting point is 00:04:33 So anyway, highly recommend Architecture Decision Records. Yeah, that's great. You know, one thing that might be cool to pair this with is the old style GitHub projects. Not the crummy new ones, but the good old ones. Okay.
Starting point is 00:04:47 Where you have countdown boards and they go through different stages, right? So the status could be the columns of your projects and you could have just a project for decisions and you could just see where they've gone and maybe somehow reference. Yeah. Might be a great issue or something
Starting point is 00:05:03 to link it all together through GitHub, but that'd be cool. Definitely. And I've seen, there's a bunch of people that have done a bunch of extra stuff on top of this to make it more processy, but to me, um, now it feels official and I don't want it to feel official. I want it to just be like dumping stuff out of my head. There's also a different, a different thing of like, how much things do you put in there is it everything is it um just big important architectural changes and that you just sort of have i'm just playing with it to see what it is i'm not putting bug fixes in here but i'm putting things like um i'm really changing a component taking it here and moving over here why am i doing that all right we're switching from fast api to flask. Yeah, definitely. Here's why. Something like that, right?
Starting point is 00:05:45 Yeah. Theoretically. Awesome. Well, let's go to the sea. Okay. And visit some narwhals. So I just had this project,
Starting point is 00:05:54 had Marco Gorelli on TalkPython. This is a project he's doing a lot of work with and narwhals, it solves a problem. You can see their logo if you go to their website.
Starting point is 00:06:04 It's a pandas and a polar bear and a narwhal kind of hanging out behind them. And the idea is if you are writing a library that takes a data frame source. So if you have users who are doing pandas and you want to write a library and say, hey, send me your panda's data frame and I'll graph it or I'll analyze it or I'll do AI around it or whatever it is you're doing with it. You will probably get a message, an issue or something that says, hey, we'd like you to use pullers. How do I work with that? I want to convert everything to pandas.
Starting point is 00:06:37 I want to use pullers. Like, now how do I take these two? And you're like, well, we actually use moden or we use um qpi for gpu programming can we pass our data frames you're like uh great because nobody wants to convert out of their native framework into this thing and it's just some other one because it's probably going to make it slow like if you convert out of a gpu into pandas well what's the point you know so that's what the goal of this narwhals thing is. It lets you primarily, it's primarily for people who are creating graphing libraries, analysis libraries, others
Starting point is 00:07:09 that can take all these different frameworks. Okay. Right? And then what you do as the library writer is use a subset of the Polar's API, a real simple one, program that comes from Narwhals, but it's the same API, right?
Starting point is 00:07:24 And so you basically do that. And then Narwhals, but it's the same API, right? And so you basically do that. And then Narwhals itself knows how to figure out which data frame library you're working with, how to work with it. If it's Polar's and it does its lazy operations, it won't turn it into eager operations. It'll continue to be lazy until it gets evaluated, which is really good for performance and memory. But if it's an eager api from hand is also that very low or overhead if you go check it out full static typing lots of promises of stability because the point is to be a foundational library for other libraries not cutting edge new features so anyway if people are out there and they want to work with multiple frameworks for whatever reason
Starting point is 00:08:01 especially if you're creating libraries that you want to let people from different slices of the data science world use, then this is pretty awesome. So do you know, it's not converting things as it brings it in. It's leaving it in the native data. Yes, exactly. Yeah, exactly. That's part of the bonus here is that it does that. And then basically
Starting point is 00:08:20 you write to a subset of the Polar's API, but then Narwhal says, okay, well, is it really a pandas thing or whatever? Yeah, what's the underlying thing? Yeah, yeah, yeah. I don't have a direct use for it because I don't data science as much, but I think it's cool and wanted to share it.
Starting point is 00:08:37 It will be on TalkPython in much greater detail than I just explained in a couple of weeks. You can find it on the TalkPython live stream YouTube section already, but the full edited version will be out later. All right. That's pretty cool. Yes, indeed. It sure is. How about we talk about our sponsor real quick, Brian, before we move on? That sounds great. Let me tell you real quick about Scout APM. They're big supporters of Python Bytes,
Starting point is 00:09:03 so we appreciate that very much. So if you are tired of spending hours trying to find the root cause of issues impacting your performance, then you owe it to yourself to check out Scout APM. They're a leading Python application performance monitoring tool, APM, that helps you identify and solve performance abnormalities faster and easier. Scout APM ties bottlenecks such as memory leaks, slow database queries, background jobs, and the dreaded N plus one queries that you can end up if you do lazy loading in your ORM and then you say, oh no, why is it so slow? Why are you doing 200 database queries for what should be one? So you can find out things like that. And it links
Starting point is 00:09:40 it back directly to source code so you can spend less time in the debugger and healing logs and just finding the problems and moving on. And you'll love it because it's built for developers by developers. It makes it easy to get set up. Seriously, you can do it in less than four minutes. So that's awesome. And the best part is the pricing is straightforward. You only pay for the data that you use with no hidden overage fees or per seat pricing. And I just learned this, Brian.
Starting point is 00:10:05 They also have, they provide the pro version for free to all open source projects. So if you're an open source maintainer and you want to have Scout APM for that project, just shoot them a message. There's something on their pricing page about that. So you can start your free trial and get instant insights today.
Starting point is 00:10:22 Visit pythonbytes.fm slash Scout. The link is in your podcast player show notes as well. And please use that link. Don't just search for them because otherwise they don't think you came from us. And then they'd stop supporting the show. So please use our link pythonbytes.fm slash scout. Check them out.
Starting point is 00:10:37 It really supports the show. Well, next is a little bit of bizarre news from the Northwest. You're probably, so I'm a little bit older than you, I think. So I don't directly remember it, but I kind of remember the meltdown at Three Mile Island. I'm 27. How old are you? So I was born in 1970.
Starting point is 00:10:59 So I was nine years old. So it wasn't really something I was completely aware of. But we heard about it later because it was kind of a big deal. So what this was was a nuclear nuclear facility in near near Seattle. I don't know. I'm not that good at geography. Three Mile Island in Washington. And there were two reactors and one of them did a partial meltdown. And it was a big thing.
Starting point is 00:11:25 But it's the worst nuclear accident we've had in the United States. And, okay, so why am I talking about this? Well, I guess I didn't realize it was still operating up until 2019. Not those reactors. There were other reactors nearby, safer. I mean, and nuclear energy has come a long way. And actually this three mile thing was the reason why we have a lot of the nuclear regulations we have now. It did sort of put nuclear energy on the back burner more than it probably should have been.
Starting point is 00: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. I didn't want to get into that too much. But what I am want to talk about is that it's going to start up again or it's proposed to. So it was closed in 2019. It might open again in 2028 and it's only going to be for Microsoft. This is the bizarre bit. So Microsoft, Microsoft wants to start this up again and have an exclusive 20 year deal for what? 835 megawatts of energy um just going to ai
Starting point is 00:12:28 uh this seems bizarre to me so this so ai needs a lot of power and uh and yeah so that they're just gonna they hope this isn't still in proposal phase regulators regulators have to approve it but um we're gonna start up another nuclear power plant just for um just for microsoft ai this i just don't get it uh so there's there's that um and then it was this was we linked to the verge article i i found it on the verge but then i searched for it again some more and there's just a cnn article as well and also what it looks like there's only one picture of this thing that's being used everywhere uh anyway oh i guess that's a different picture but um so gonna start up again uh it seems odd uh and then i um in a related news i guess that's all i just wanted to say is
Starting point is 00:13:19 i think this is weird that we're going to start a nuclear power plant just for ai maybe that's a problem uh anyway um the article i found was um just it's kind of a mock news article but this is just uh mcsweeney's internet tendency the article is the department of energy wants you to know that your conservation efforts are making a difference so I thought we were trying to like save the planet by saving energy and stuff. And, uh, this has got some interesting bits.
Starting point is 00:13:49 Um, it says, uh, 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 sunglasses. Isn't he cute?
Starting point is 00:13:59 Aside from the fact that he has feet that are, uh, human of a human man, of course. Um, so AI is consuming tons of energy. And we're in the rest of our lives, we're trying to conserve energy. It's just a, I don't know, I maybe I shouldn't brought it up as a topic. It's just seems bizarre to me. So
Starting point is 00:14:16 I'll leave it there. Well, so I love these. Let's put put your feeling bad about wasting energy or your effort to save some energy in perspective. And it's just like, yeah. I mean, I still go around and turn off the lights after my kid who just like leaves them on. Well, yeah. And also, I've like stopped buying 25 cent light bulbs. And now we buy $8 LED light bulbs that last about the same as the other bulbs used to. And they are more, I mean, we're spending way more on light bulbs and for what? So that AI can have more energy, I guess. Yeah. So on one side, I totally see the point there on the other,
Starting point is 00:15:00 if we're going to dump tons of energy into AI, I would much rather see it coming from carbon neutral sources than coal plants. True. Fair. Right. Are you going to make the duck or are you going to not make the duck? Regardless of what light bulb you're using, people are making ducks and let's do that better. I think it's super bizarre that Three Mile Island is the choice because if there's anything in at least American culture that says nuclear energy bad, it's Three Mile Island. Like, couldn't pick anywhere else, you know? Yeah.
Starting point is 00:15:29 Well, they're going to change the name. It's going to be called the Crane Clean Energy Center. Oh, there's a good rebranding. That said, I'm super optimistic on nuclear energy as a climate solution. Not necessarily old school Three Mile Island stuff, but the molten salt reactors, the things that fail safe and not fail explosive like Fukushima. I know there's nuclear waste. Those new ones are less bad. And I feel like a lot of the pushback against it, it's a little bit like, well, there's this rare endangered lizard in the desert. So we can't have in this desert any solar farms.
Starting point is 00:16:07 It's like, well, if it gets 20 degrees hotter, there's going to be no lizards in the desert. We need to take some more positive action. And I feel like, you know, nuclear energy is that sort of in the extreme, right? People have such strong reactions. But there's so much better tech now. And I would love to see that. Yeah, my personal views are that i think it would be good to utilize what we have including nuclear energy as a stop gap to get us off carbon based uh fuel
Starting point is 00:16:33 and then once we get that we can get carbon neutral then we can um go to uh then we can be as we beef up solar and and wind and, then we can maybe draw away from nuclear. That's a great way to put it. Like let's get rid of the carbon pollution. Yeah. And then we can debate of the things that are working, which ones are working best. Very well.
Starting point is 00:16:54 I also, I also wanted to point out the excellent pun that you made intentional or not that with nuclear energy, people have strong reactions. That's very good. All right. People might have a strong reaction to this as well, but I got to say it's way less, way less out there. So here's the strong reaction. I think when people use Docker, so this is a Docker topic. When people use Docker,
Starting point is 00:17:16 there's two philosophies. One philosophy is I want the lightest weight, simplest, most basic thing that I can possibly use to build my containers. So they're insanely small, right? I want the lightest weight, simplest, most basic thing that I can possibly use to build my containers so they're insanely small, right? I want almost nothing there. I just want, if it is not needed for whatever I'm trying to do to execute, it doesn't belong there. Let's get it out of there. That's one side. This topic is not from that. This topic is from the other side of perspective.
Starting point is 00:17:43 I would say the Michael side lives on that I live on in that is Docker can be more difficult to understand what's going wrong. When something goes wrong, how do you fix it? How do you get other tools to see what's happening inside there? Right. And so I think there's a bunch of people that stay away from Docker because they're like, oh, I just want to have access to the logs and the tools that I normally use and all that kind of stuff inside my server or my VM so I can understand what's happening better, right? So one of the tools I really like is Oh My ZShell, right? With all of its plugins, its autocomplete, its cool history. And so I present to you ZSH in Docker.
Starting point is 00:18:20 It installs ZShell, Oh My ZShell shell and the plugins like autocomplete for source control and for um you know all the all the various plugins that you get right from z shell and it's one line so you put this run shell out of this repo and it just installs z shell and installs oh my z shell it makes it the default shell you just run it when you get into it whatever and then all the plugins etc so really really nice you even get to pick your theme as part of the one liner so that you can see like what version of python is active what is the state of a get repo if you copied a get repo in as part of setting up your docker container and all those kinds of things so super simple if you believe in, I want some tools inside of my container.
Starting point is 00:19:07 So when things are not working, I can exec into it and ask what's going on. Then this is really awesome. If you don't want that, if you're on the opposite side, this is not for you. All right. Cool. Indeed. So how much time do you spend in Docker? Very little.
Starting point is 00:19:21 But when things are not quite working or I'm trying to figure out a command, maybe you've got a database running in there, you're like, I really need to see. I just want to see what's going on with this. And you know that inside the container, there's some database management tools. If you just Docker exec ZShell, and then you start typing,
Starting point is 00:19:40 it's like you're on SSH ineffectively. Yeah, I might have to check that out. So I'm changing my like i used to use docker a lot for like actually cross compiling c++ code and i'm using it more now for web stuff um and so yeah absolutely i think it's great and obviously i do a ton of stuff with docker and for running the web apps and things but i don't go into the web apps unless I have questions. But when you do, it's nice to just go, oh, okay, well, here's the thing. You just make this one of your base layers
Starting point is 00:20:12 of your Docker image and it builds nice and fast. Nice. Okay. Well, we ran through our topics. I don't have any extras today. You're extra-less? I'm extra-less. What is the opposite of extra? I don't know. I got. You're extra-less? I'm extra-less. What is the opposite of extra? I don't know.
Starting point is 00:20:27 I got a few. Basic, maybe? I guess. The bare minimums. Okay, so first one is, remember I spoke about this thing, this Uptime Kuma a while ago? Uptime Kuma is great.
Starting point is 00:20:41 So it's self-hosted, free uptime monitoring. Well, I put in a bunch of things like, for example, if you go to Python Bytes and you go to the bottom and hit server status, it'll show you the server status of Python Bytes, how old the SSL certs from Let's Encrypt are and all those kinds of things, right? Very cool. Well, I turn that on all of my web things, including my personal blog, which this might resonate with you, Brian. It's my personal blog built with Hugo, which is a static site. So it cannot crash. It is HTML, CSS, image.
Starting point is 00:21:14 Like, it can't crash, right? And I thought, oh, I'm going to host this on Netlify because Netlify is pretty awesome, right? Right? Well, I started getting every single day or every other day, your site has a 502 error and it's been down for 10 minutes. Now it's back. It's been down. What?
Starting point is 00:21:31 How could it possibly? It's a static site. So something about the Netlify infrastructure was going bonkers. And I will tell you, if you already have an Nginx server laying around somewhere, it's about eight or nine lines of code of Nginx server laying around somewhere, it's about eight or nine lines of code of Nginx configuration to just host it yourself. So I switched this over to running on server that runs all the other things that I got. But because Netlify was crashing, so I think the takeaway is not that mkennedy.codes, my personal blog, website, et cetera, is hosted anywhere
Starting point is 00:22:02 different. Like, why do you care? But if you're hosted on Netlify, maybe point some uptime status at your thing. Even though it's a static site, shouldn't fail. Look at it anyway. Mine was for a week or two. I would say at least two weeks. It has been all sorts of broken temporarily. So is it better now?
Starting point is 00:22:19 Yeah, it's perfect. Because why would it have any problems now? It's on our server. Yeah, it's better now. Okay. So that's number one. Let's just check that out. Number two, over at TalkPython,
Starting point is 00:22:32 if you go to the courses and you go to the apps, we have a really nice new version that came out, I think, last year of our mobile apps for all the courses, including Brian's PyTest course. You can dig it that way. The one that comes from TalkPython, that is. Well, the guy who wrote this, Lauren Augie,
Starting point is 00:22:49 I had him on TalkPython when we talked about Python and mobile apps, along with some other folks. Anyway, he used to be a live sound engineer until COVID hit, and then he moved over into software development. And he wrote up a really detailed story of his life journey.
Starting point is 00:23:05 And I just wanted to share that. If people are interested in that, maybe you're making that transition as well, then check that out. It's pretty cool. That's pretty cool. Yeah. This other short one comes to us
Starting point is 00:23:17 from Itmar Turner Trowing. It says, it's time to stop using Python 3.8. I can't believe that. But it is. He puts it onto our radar that, you know, 14% of the packages downloaded from PyPI are for Python 3.8 installations.
Starting point is 00:23:33 And by the way, next month, it's going end of life, out of supported, no security fixes, nothing. So you might not want that to be your foundation if you get to choose. And we got like seven days left to September. I would say it's, yeah, five weeks. What could go wrong?
Starting point is 00:23:49 Anyway, just put it on your radar. Maybe Python 3.12, it's been out for a long time. Version 6 of that just came out. So I think we're good. You know, 3.12.6. I also want to add to that, that since like, it's been years since I've ever had any significant issue upgrading. At most, I'll see deprecations that I have to go through and clean up or warnings or something. But maybe other people have, but I haven't had any issues for a really long time upgrading.
Starting point is 00:24:18 Yeah. Same. I did have an issue with, I can't remember. It was packages that didn't support 312 there was some deprecation in there that i had to wait three or four weeks before i could start using 312 when it first came out for some of my apps however that's not the same as to say that python itself is unreliable you would know right away if the imports fail or whatever right like you'll find out straight away and then yeah and i don't remember the reason why, but on a couple of the projects that I've converted from 3.8 to 3.12 work projects, I jumped from 3.8 to 3.10 with no issues or minor issues and then to 3.12 fairly easy. And for some reason, it just helped me to go from 3.10 and then 3.12.
Starting point is 00:25:03 Anyway, your mileage may vary. It's these kind of things that if you don't do it, you eventually end up saying, we have a 2.6 app and a half million lines of code and it's still running on Python 2.6. So don't talk to me about your fancy new libraries and your typing and your async. We're just trying to survive.
Starting point is 00:25:21 But if you get into the practice of just like, okay, let's just keep this stuff moving. All those steps are generally small unless you try to take them 10 years at a time. You're stressing me out, man. PTSD from two six. All right. Last thing. So pass keys. Let me ask you really quick, Brian, are you a pass key user? Yes. Well, pass key isn't- A believer. Well, yeah, I use Passkeys. I do too. I've been resisting using Passkeys. So Passkeys are cryptographic, kind of like, almost like SSH keys,
Starting point is 00:25:54 but for the normal folks for just web authentication, right? It's a cryptographic thing, blob that gets put into your whatever thing is signing in. And if it shares that back, it's supposed to be dedicated to that instance. It knows it's you. Often you can skip two of A's, all those kind of things, right? But one of the things that really turned me off on Passkeys is they felt to me like a couple of the tech giants are like, hey, this is a sweet opportunity for lock-in. So let's see how much lock-in we can get, you know, Android and Apple, especially, right? Like, hey, just save your passkey to your iPhone. What could go wrong?
Starting point is 00:26:33 I was like, well, I could lose my iPhone. Yeah, if I could lose my iPhone or even if it's synced to iCloud, like what? I have a smart TV that says, you know, log in with your password. It's a super pain to type in, but you can do it. Or maybe I'll go over to my Windows PC and I have to type in some password to log in. A lot of times it'll say like, oh, your Microsoft account is expired. It's log in, log in again at the boot screen. So I don't get access to anything like, oh my gosh, this is a pain. But those situations get way worse if you have pass keys that are dedicated to, you know, one provider, right? That's just a mega lock-in so i realized that if you're a one password user or i think also bitwarden i'm a user of both of them and i really like them if you store your paskies there all of a sudden they live everywhere it's beautiful and
Starting point is 00:27:16 if your computer gets destroyed just log into one password or bitwarden or whatever again and you have them all again so if you at least for one password if you go into the watchtower there's a section that says show me all the sites that could have pass keys that i don't have stored pass keys for here and it'll help you go through and basically add them to one password which is a form of lock-in but a much lower grade form of lock-in in my my feeling so anyway uh i am now a believer of passkeys i believe i went through and did that this weekend i added like 35 accounts or so that have passkeys and now life's a little easier like github for example yeah nice yeah yeah so all right you
Starting point is 00:27:56 have the joke for us this week do you not i do and i actually i thought it was going to be a topic i just had it in my uh in my backlog of how to monetize a blog. And then I started reading it and realized this is just a hilarious joke. And I love it. So I wanted to bring it up here. And you should either, if you're listening and not on YouTube, you should watch the video version or just go check it out yourself. We'll have a link in the show notes.
Starting point is 00:28:26 Okay, so how to monetize a blog. I actually thought it was going to be advice, but it's just funny. Maintaining a blog can be a lot of work. I start reading it. You don't really need to read it. There's some fun font that shows up right away. It can become a fairly lucrative venture, and the become is in this wacky font. I love the M. That's cool.
Starting point is 00:28:48 And then, so you're going down, and you see these various things, like Timber Quest advertisement. Your lumberyard awaits you, my lord. Play now. And almost all the clickable things, if you click on them, they just, like, pop up little coins. You don't actually go anywhere.
Starting point is 00:29:06 And then talks about slapping this bad boy here can start raking in some cash through true primary means CPM or CPA. And then you just sort of if it sort of seems reasonable, but it says, look, how am I doing so far? I've made zero point one, two123 cents so far on this. And then it just adds it up. There's different various little links around that if you click on them, it increases how much money this person's made, even though it's not real. But I just started reading the ads. Like, there's an ad for minimal effort graphic design um no proof time saved the ads are hilarious here's one uh free cruise um sign up today uh with eligible
Starting point is 00:29:56 purchase meeting or exceeding value of cruise after which no purchase is necessary uh of course click on that guy for some extra extra sense um let's see i'll read one the more clicks and grizzly bear sales you can squeeze out of your beloved readers the more of their money you can siphon to spend on cheeseburger deliveries and of course cheeseburger deliveries is clickable it's got to be an affiliate link right, all these things. Let's see. Here's a little weird thing. Ad on the side that looks like an Amazon or eBay thing. Friendship Assembly, $15.95.
Starting point is 00:30:35 Collapsible bivalve. And a That Which Molts Beneath Enclosures toy. This is bizarre. I love these. I want to scroll down more. Literal snake oil. Vials of freshly squeezed oil from actual snakes um befriend a sandwich no doctors allowed the first mystery grab bag of unmarked vitamins is free um oh and then it pops up we get a pop-up uh push notifications would you like to enable push notifications so you can receive intrusive alert messages like these outside of the browser yes or ask me later
Starting point is 00:31:10 uh i'm sure i said yes and see if you got a coin for that yeah maybe let's do it again another one yes oh yeah oh you did you're making some money for that yeah and uh a weird pop-up cheese cube burger now open uh um let's see we soon become oh it's too bad you can't see this this one is uh ice cream holding tips um uh there's we have radishes that will change your life ad uh let's see uh huh oh these these are my these are just my mind-rending god rad, uh, old school. Um, excuse me, a virus was detected on a computer send bitcoins like a Solaris window. Um, oh, anyway, and then you, you just sort of scroll down. It just comes, it becomes even more bizarre. You've got sideways text. And then the spiral.
Starting point is 00:32:06 This is awesome. I don't even know. So I was like, how do they do some of this stuff? It's pretty cool. It's pretty cool stuff. That's how you monetize. That's how you do it. Yeah.
Starting point is 00:32:13 If you go all the way down. Also, if you actually start reading it, it says stuff like there's not actually you just sort of have to spew out lots of words. I didn't even edit this. And then way at the bottom, there a credits how this was made and then uh this person goes through and walks through um basically all the different uh procedures for how like how to do the spiral how to do the cool font uh and all these sort of tricks um with html and css. So anyway, just a hilarious little blog on stupid ads. That's awesome. Andre out there says, this is art.
Starting point is 00:32:49 It's definitely art. Yeah. Not art, but real-time follow-up. Bitwarden also supports Passkeys, which Bitwarden being open source and the paid version is insanely affordable. It's like a dollar, a couple of dollars a year or something. I can't remember exactly what it is.
Starting point is 00:33:07 Maybe that's the proper recommendation there for PassKeys. But anyway, pretty cool. Yeah. Cool. Yeah. Well, let's call it a show, huh? Yeah, sounds good. All right.
Starting point is 00:33:17 Well, thanks for being here. Thank you, everyone, for listening. See y'all later. Bye.

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