Python Bytes - #298 "Unstoppable" Python

Episode Date: August 24, 2022

Topics covered in this episode: Uncommon Uses of Python in Commonly Used Libraries Skyplane Cloud Transfers 7 things I've learned building a modern TUI framework ‘Unstoppable’ Python Extras Jok...e See the full show notes for this episode on the website at pythonbytes.fm/298

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 298, just too short of 300, coming in fast. Recorded August 23rd, 2022. I'm Michael Kennedy. And I'm Brian Ocken. Wow, close to 300. That's amazing. Yeah, that's, what is that, coming up on six years here pretty soon? Really? That's amazing. Well, 52 times. Yeah, I don't know. Yeah years here pretty soon. That's insane. That's amazing. Well, 52 times. Yeah, I don't know.
Starting point is 00:00:27 Yeah, so pretty awesome. And got some fun folks we see in the audience who are out here frequently. Will McGugan is here. Will is going to be a guest on the next episode. So if you want to hear from Will, be sure to at least listen to the next episode if you don't come to the live one.
Starting point is 00:00:42 Yeah, should be good. Yeah, it'll be fantastic. Yeah, it'll be fantastic. Also, before we get going on the topics, I just want to say thank you to Microsoft for Startups Founders Hub for sponsoring this and so many of the episodes this year. Super great to have their support. Very cool. It's uncommon, Brian, to have such great supporters, wouldn't you say?
Starting point is 00:01:01 It is uncommon. Nice segue. I like it. So I'd like to talk about uncommon uses of Python in commonly used libraries. Actually, this is just a pretty cool article. It's by Eugene Yan. And he goes through a handful of things. I'm just going to pull out one, but it goes through using superclasses and a whole bunch of things. The idea was to learn how to build more maintainable and usable Python libraries. He's been reading some of the most widely used Python packages and learning some things along the way,
Starting point is 00:01:32 which is an awesome way to learn is to read other code. I agree. I think it's fantastic. Yeah, so he goes through super and a handful of other things. When to use a mixin. I don't know if I'd use that. Anyway, the thing I want to pull out is using relative imports all the time.
Starting point is 00:01:50 And this is something I picked up not too long ago, but it really isn't talked about much. So the idea is that if you do an import, like import something or from some library import, you don't if you put a dot in front of at the beginning is like the first dot then it looks in your in your path your current search uh the directory of the the file that it's in so in the example he has a base by a base dot pi from scikit-learn and it it uses it says from dot utils dot validation import something and and these are uh because it says dot utils it'll look for utils in the current directory
Starting point is 00:02:35 and not somewhere else because there's probably a utils like somewhere else also uh looking for the search path um so this is neat you can can do multiple, you can do multiple dots. Also. I don't ever, I don't think I ever do that. I do the current directory and down or the current project and down. So this is. Dot dot will get you up,
Starting point is 00:02:54 up one and then down a different path or something like that. Right. It will. So if you do dot dot something and you don't do slashes, you don't, it's not a direct, a pat. It's kind of like a path,
Starting point is 00:03:04 but it's not like dot is the current directory. of like a path but it's not uh like dot is the current directory dot dot is like one up and you can do three but wow um i think there's something wrong with your project if you're doing that um but uh but maybe not maybe not there is um a couple links in there for further reading there's a guido's decision on relative imports which is part of the um part of part of the, the PEP three 28 write-up and actually the, this PEP three 28 write-up is this little bit about Guido's decision where he's talked about the leading dot or leading two dots. There's a really good, easy way to get a handle on how to use this. And, um, I, I use this a lot now and try to put it in, uh, projects,
Starting point is 00:03:44 uh, you know, projects at work and personal projects as well. So the dot thing is cool. And yeah, it isn't talked about much. So I like it. Yeah, it's fantastic. It only works in packages and not just a pile of module files, right? Oh, yeah. Yeah.
Starting point is 00:03:59 So you have to have Dunder init files within the directory and that's i guess one of the things that i wish we had another name for because in python we talk about a package or a sub package these are um this could be just a directory with python files in it that has dunder init and the done and that that makes it a package in python but we also definition. Yeah. Yeah. We also talk about the package repository and PyPI. It's the Python package index. Those are not just directories with Dunder and Nitz. They're packaged up with a whole bunch of other meditated and stuff like that. So there's two things that we call packages, but yeah, they have to have Dunder and Nitz
Starting point is 00:04:37 in them for this to work. So anyway. Yeah. Brent, Brandon on the audience asks, so are we arguing for relative imports? For the current directory, I am. I think that within a project, if you're like internal stuff, you're not, I mean, if it's part of the external API of the project, I will always go through the external API to get at something. But there's a whole, there's a lot of times where you're just developing a bunch of Python modules together. And they're internally, they're going to talk to other subcomponents and that isn't necessarily part of the external API. And this is the best way to get at it. So yeah. Yeah. All right. Sounds good. Next up, let's go to the Skyplane. So this one comes to us from, let me make sure I give the proper credit. This one comes to us from RMRF, the Sudur.
Starting point is 00:05:33 Thank you for sending this in. Really appreciate it. The project is called Skyplane, 114 times faster cloud transfers. At first I was like, what does that mean exactly? Like, what's the baseline for this? I'll say so, probably what they're basing that on in a minute. This is interesting for two reasons. It's interesting because it's a tool that I think many Python developers would find useful,
Starting point is 00:05:58 especially those folks doing a lot of work in the cloud. It is also useful or interesting because it is itself a Python project. Okay. So if you want to contribute to it or understand it or extend it or work it and do other things, that's totally possible. It's worked on by a pretty big group of folks. The idea is it gives you blazing fast bulk transfers, file transfers between any cloud, any, it needs a little like star or an asterisk by it that says any means any of the big three cloud providers. Okay. Whereas, you know, this is like AWS, it's Azure and it's Google GCP. Okay. So those three, however, what I'm not clear on is whether you can point it at the S3 compatible places like
Starting point is 00:06:47 Linode and DigitalOcean also have cloud storage that are S3 like, but I'm pretty sure it won't work based on the way I'm about to tell you what's going to happen next. Okay. Okay. So if you go over, there's an architecture section. And if you look in there, they've got this Sky Retreat 2022, where Paris Jane introduces Skyplane to the folks there. It's about a 15 minute video, but you really got to watch just two minutes of it to get the zen. So they laid out a scenario. This is, I believe in their world, they're doing data science. And so what they need is they need the data very near to them. And there's a woman in the Middle East using some AWS S3 in point there. And she has 80 gigs of data.
Starting point is 00:07:31 And Paras is on the East Coast of the US and wants closer access to that data for their other work that they're doing. So there's a way with the AWS CLI to just copy from Bahrain or wherever it is over to Virginia. And they run that and it says the, after running for a while, it says estimated time to completion one hour, right? I don't know. Is that good or bad? Like it's, it's a lot of data, right? 80 gigs halfway around the world. It's miraculous that this is possible, but is that good or not? So then they say, well, let's try it with Skyplane. They were getting like 20 megabit, I think. They run it with Skyplane,
Starting point is 00:08:06 they're getting 30 gigabit transfers from the Middle East. And it took 30 seconds instead of an hour. That's quite a bit faster. That is pretty awesome. Yeah. Exactly. And so instead of going across the open internet, it was transferring basically over like dedicated fiber
Starting point is 00:08:24 for just AWS data center connects or something like that, right? But what it does is it will spin up a virtual machine or many virtual machines in the different data centers. So I think what happened here, not 100% sure, but I think it fired up some VMs in Virginia, copied it from S3 in Bahrain directly through the internal data center transfer, and then pushed it into like nearly local S3 storage. And you can do the same thing from like AWS East Coast to Azure West Coast, right?
Starting point is 00:08:59 You would fire up a VM, I think in that scenario, and both of the data centers and those VMs would talk directly over the high-speed data center network. Instead of like the S3 one, we'll copy it down to your machine, and then you push it back out of your machine to the new destination. Yeah.
Starting point is 00:09:13 So it basically manages data center to data center traffic. That's pretty cool. Makes sense. It's pretty cool. It has, yeah, yeah, yeah. And it's like all the CLI. It's like one CLI command, and that's creating the various virtual machines, provisioning them, setting up the encryption,
Starting point is 00:09:28 doing all the stuff, and then it shuts back down. So, and as far as security goes, what you do is you basically install the AWS CLI or the Azure CLI, and you just log into those local CLIs and it uses those behind the scenes to do the setup of like create the VM and then SSH over to it, do the work or something like that. So it has a lot of integrity checking. So it does like checksums and verifies the files are there. The file sizes are the same and all that kind of stuff.
Starting point is 00:09:59 It does end-to-end encryption sort of. So the VM, as it gets it out of cloud storage, encrypts it and then sends it over to the network. And then when it has to decrypt it to drop it back into the other place. But it also, on top of that, goes over TLS. However, some people might be storing encrypted data in the cloud because they don't trust
Starting point is 00:10:17 that it's not going to get looked at. So even the stuff in S3 or wherever, Azure Blob Storage could be encrypted, in which case you can turn all this off and it'll go a lot faster because it's already encrypted end to end. It'll set up like virtual private networks if it's within a data center. And there's a bunch of cool things that are kind of nice that you don't have to worry about. Anyway, this is the sky plane. So if you're transferring data between different clouds or even different data centers within a single cloud, it looks like it'll do a lot of nice work for you. Now, it's believable it is faster.
Starting point is 00:10:50 I'm curious if it's cheaper also. Any comment? Oh, that's a really good point, actually. If you go and say AWS to Azure or vice versa, I think it's the same price. But if you're going Azure to Azure, it probably is cheaper because I don't know if they really charge you for the S3 CLI. If you say do a transfer, you're still like flowing through, but you know, the within data center transfer is cheaper than outside of, out of the, yeah, exactly. Oh, cool.
Starting point is 00:11:19 So maybe, I don't know. They didn't talk about it, but possibly. Yeah. Wow. That's awesome. That's what I got for you. Yeah. Skyplane.
Starting point is 00:11:25 You know what else is awesome? Speaking of Azure. Microsoft for startups. Yeah. Yeah, absolutely. They are, like I said, big supporters of the show, big fans of the show. And this episode, like many of them, is, or you've dreamed of going to something like a Y Combinator type of accelerator, this is a really great way to get some of the benefits of that. resources for running your startup in the cloud, in Azure, but also many other cloud resources, like a bunch of GitHub credits for automation and actions, as well as access to places like OpenAI. But another thing I think is really important is having access to mentors and people who have been there and have the right connections, right? Like, I think honestly, that might be the hardest thing about doing a startup because as developers, we can build it. Often we can build it, but then it's,
Starting point is 00:12:30 well, how do you build the right thing? How do you, you know, in terms of customer fit, how do you get access to the right networks so that you can find people for investing or get better, maybe coaching for like sales and marketing. All those things are incredibly hard, especially if your expertise is in software. So through Microsoft for Startup Founders Hub, you get access to their entire mentorship network, access a pool of hundreds of mentors across a bunch of disciplines like idea validation,
Starting point is 00:12:58 fundraising, management, coaching, sales and marketing, and a bunch of technical areas as well. So you'll be able to book a one-on-one meetings with these mentors, many of whom are founders themselves. You'll make your idea a reality today with the critical support you'll get from Microsoft for Startups, Founders Hub. To join the program, there are very few restrictions. You don't have to be third-party validated.
Starting point is 00:13:20 You don't have to necessarily have funding. You just visit pythonbytes.fm slash foundershub2022 in your show notes you apply for free you get accepted you get all these benefits and it seems like a great program yeah i'm excited to see what comes out of this yeah absolutely all right what's what do you got for us here brian well uh it wouldn't be complete if we didn't talk about Will McCougan a little bit. Absolutely. Hey, Will. So there's an article that is from the textualize.io blog. And it's seven things I've learned about building
Starting point is 00:13:59 a modern TUI framework. And this is pretty interesting because I think that, I mean uh will more than anybody else has went has really thought about like okay i want to i want to have something be really responsive and really good to work with on the command line which is it's been there for a long time we just haven't developed it much so there's a whole bunch of cool learnings that he talks about like terminals are fast and and they're faster than we realize. But there's a whole bunch of like things that you can that are different about terminals and other places like Flickr and tearing and stuff and how to deal with that. There's a whole bunch of learnings in here.
Starting point is 00:14:35 The thing that like popped out is something that everybody can use that I wanted to talk about was a little blip that he talked about that is dict views are amazing. So the thing he talks about here is that, so maybe, I don't know if everybody knows the term dict views or views into a dictionary, but things like if you ask for, if you have a dictionary and you ask for the keys or you ask for items, that is a view. It's called a view into dictionary. And they are super fast. And one of the things he points out is that they act like sets also. And you can use set operators.
Starting point is 00:15:17 Like here's the little carrot symbol. And I can't remember. I'll have to look it up. The carrot symbol is a symmetric difference. Basically, just give me a set of the stuff that's different about the two different sets or two dictionaries. And you can do this in code, but he's doing it using using views because those those operators are happening with with C code. Python has optimized those. So they they work super fast.
Starting point is 00:15:45 And they're way faster than anything you could write in Python. So just taking the items of two dictionaries and using set operations on them. And then you can go back to dictionaries if you want. You don't have to use that. But super cool. I didn't know that about dictionaries and views. So super nice. Obviously, use.items and.keys all the time. um i i hadn't had i didn't know that about dictionaries and views so yeah nice obviously use dot items and dot keys all the time didn't know they had this name and i didn't know you
Starting point is 00:16:13 could do set operations on them quite cool right yeah super neat um then he he goes covers a whole bunch of other stuff like uh lru caching and that how that is. One of the things that I thought was great where he talks about Unicode in art, Unicode art in doc strings of just like a picture says, you know, a picture gives you a thousand words or whatever. But he gives an example here for talking about splitting the screen into sub regions. And yeah, there's no way to I mean, describing it in text is good. But this little picture goes, you can just mentally go, Oh,
Starting point is 00:16:50 yeah, I get it. If you give it a cut x and a cut y, you end up with four regions, obviously, but it isn't obvious just looking at the API. But with with a little picture, you're like, Oh, yeah, that's cool. So he's got a little uh for people listening he's got a picture showing uh just a spatially what what it would look like using ascii characters so neat yeah i love it i love when people put art like that in there uh i'm looking for where it is i have to i guess i'm gonna have to look this up but in c python there's actually this huge diagram in the malloc in the the minute of the memory management section that shows you it's like this it shows you all the different uh data structures and concepts that are used to manage memory like the the pools the blocks and the arenas and all
Starting point is 00:17:39 that stuff in like a huge diagram in code comments it's perfect nice and he gives a um shout out to just one uh tool that's around you must use it called monodraw it's a mac tool but so there are drawing tools that you can use to generate uh ascii art so or our unicode art okay as it were yeah so yeah yeah nice oh maybe i'll be able to find it here let's see i'd love to share it with everyone if i can find it oh yes here we go. I'd love to share it with everyone if I could find it. Oh yes. Here we go. I'll put the link in here. You ready for this, Brian? Yeah. You can show it. Yeah. Yeah. I just got to, I had to find it. Hold on. There we go. Look at this.
Starting point is 00:18:14 Oh yeah. Here's the object allocator in Python and it shows here's the object specific ones, and then there's like object specific. And then you can see these tiers. Then there's the object, the Python object allocator, the raw memory, and it even goes down to like, it's an ant dick, and then there's like object-specific, and then you can see these tiers, then there's the object, the Python object allocator, the raw memory, and it even goes down to like, here's the OS and the physical memory, and then I think maybe further down,
Starting point is 00:18:32 we might be able to find like, some of the stuff about arenas or whatever, but isn't that nuts? Yeah, but also it's awesome, because you, I mean, you can visually, now you can read the text,
Starting point is 00:18:40 and it makes more sense, instead of just having. Yeah, it has a short description, and then a proper picture, of here's what's happening. Yeah. Yeah. Absolutely. Very good.
Starting point is 00:18:49 Cool. So yeah, yeah. That's a great, great example and great recommendation. Sometimes a little bit of ASCII art like this, it really does help. It goes a long ways. Yeah. But there's a whole bunch of other great tips in Will's article. So I encourage people to check it out.
Starting point is 00:19:04 Right on. Another thing that goes a long way is python there's an info world article that refers to python as unstoppable the title is python popularity is still soaring but the subtitle is unstoppable python once again ranked number one in the august updates for both the tob and pypl indexes i don't know that's pipel or i don't know how to say this but uh another secondary programming language index and uh yeah how cool is that very cool also a really nice rocket image i was gonna say this is uh it characterizes the other programming language is hot air balloons and python is a rocket. Yeah. So, yeah. Some interesting things to take away from here.
Starting point is 00:19:48 Let's see. That Python first took the top spot just last October. So that was actually big news, right? Yeah. Now that makes it the only language besides C and Java to ever hold the number one position from the tov index and not only is it still number one but it's actually gained a couple of percentage points on the current rankings uh year over year so um for example come down here you can see it's actually up you know 3.56 i think that's year over yeah that's year over year nice uh which which is pretty awesome um also but java have gained also so other i guess we're whittling down
Starting point is 00:20:27 taking away from i think it's taking from the lower languages down here right like objective c or here we go what a surprise you that pearl and fortran have lost um by the way also that it has the ratings i don't know if that's quite what you would consider market share, but Python is at 15%. You know, C is at 14%. Things that sometimes get compared, like R is less than 1%. Ruby is less than 1%. Those are pretty interesting comparisons. Yeah, they're also not really general purpose languages. I mean, R isn't at least.
Starting point is 00:21:00 Yeah, yeah, yeah, that's for sure. Let's see. Yeah, the TOB commentary accompanying the index was python seems to be unstoppable it's hard to find a field of programming in which python is not used extensively extensively nowadays except for safety critical embedded systems so that's that's pretty cool um let's see rust is now number 22 closing in on the top 20 and carbon have you been tracking carbon no this is i believe it's google who's behind carbon um yeah it's a language that's intended to be to supplant c++ but be very c++ like an experimental successor to c++ strives for the c++ performance and compatibility
Starting point is 00:21:38 while avoiding its technical debt and extreme difficulty to improve. Ouch. Yeah. Yeah. Not saying extreme difficulty to use, but like, it's just, it's where it is. You know what I mean? Yeah. Yeah. It's like a language on top of a language on top of 50 years.
Starting point is 00:21:59 Anyway. But so carbon has entered the index at a number, a position 192. They've got some work to do. Yeah. But it's still interesting. Something to watch. Yeah, and you look at the other programming index, again, no idea how to say it.
Starting point is 00:22:14 P-Y-P-L, the popularity of programming language is what the acronym stands for. It's an index created by analyzing how often tutorials, language tutorials are searched on google so that's one metric um python is like massively ahead of second place java third place javascript and then it drops quick quick quick down from there like for example ruby one percent people are interested in tutorials how to do it versus almost 30 for python yeah anyway uh that's just another another uh factor that was part of this info world article so you know i on one of the live streams not too
Starting point is 00:22:51 long ago somebody said oh i heard that there's not a whole lot of jobs or interest in python maybe what else should i learn but you know what i'm not so sure you're getting great advice if if that's uh where what you're. Okay. Popular is not everything, but it's an important part of like, can I have a job? Can I find developers doing this? Will there be a library for my thing X I want to talk to with it and so on?
Starting point is 00:23:13 I love Python, obviously. But it's hard to answer those, like for a job, which languages should I, whether languages should I learn? I don't want to answer that. Depends on what you're trying to get into. But just as a roundabout developer, I think it is important to learn more than one language.
Starting point is 00:23:33 I don't think that it would, I wouldn't want somebody to just stop with Python and say, oh, I'm good. No, no, no. Yeah, yeah. Well, and you also, if you want to build mobile apps, you might want to look elsewhere. I will, except I might have something in an extra section for you on that. Okay, cool. But did I, did I switch the order? Did I jump in front of you? I think I may have. I don't think so. You got one more thing to go. No. Tell us about some magic. Oh no, this is part, one of my extras. So. Oh, this is one of your extras. Okay. Well let's, that's it then. Jump into your extras. All right.
Starting point is 00:24:02 I didn't want to cover this. Really quick comment. I think this is kind of amusing from SE Steve in the audience. Extreme difficulty to use is just a side benefit of C++. Yeah. I mean, yeah. Yeah. Think about all the jobs people get to keep without much effort over time. Exactly.
Starting point is 00:24:20 You still need C++. I mean, if there was a lot of competition for c++ developers um uh i don't know what i would i would do i'm enjoying the lack of competition yeah um so exactly um i just ran across this the magic of my matt plotlib style sheets uh article and i just wanted to bring it up for people that might might want to to try it out so i've um i've used matplotlib matplotlib style sheets before and they're just great so you could just say like um so let's say you've got a current plot and by default it's just um it's not bad it just it is what it is um and then if you just drop in one line of code use styles plot style use and then you drop a style sheet name there's a whole
Starting point is 00:25:05 bunch of built-in ones you can use it just looks nicer it's got like i love it sounds subtle but it looks so much better yeah um but i didn't know that it's pretty easy to write your own i didn't i mean i figured maybe style sheets were complicated so the rest of this article just talks about um uh really how to how to write your own style sheet. So if anybody's interested in in customizing the style sheet for their for their group or something might be a good thing to just have, you know, be able to roll your own style sheet. So, yeah, fantastic. The 10-year-old in me enjoyed that if you want the lines to end in a square instead of a rounded line, you give it a solid cap style of butt. It makes it chop off the end. That's funny.
Starting point is 00:25:57 That is funny. All right. Yeah, this is not one of my extras, but I might as well add it as a follow on here is, um, XKCD plots have landed. Yeah. And Matt plot lib, right?
Starting point is 00:26:10 Like this, I'm sure this is probably accomplished the same way, but look at that. Isn't this, aren't these fantastic? I use these at work because they're just, it especially, I,
Starting point is 00:26:21 I especially like it. If, if I've just made up, like made up the data or my sample size is small. I don't want anybody to take it as a research project. It's just I'm showing something informally. Right, right. Sometimes there's a whole ton of value to present it not quite polished.
Starting point is 00:26:41 Yeah. There's an app I use called, let's see, why does it not want to make a new, Balsamic? It doesn't let me type anymore. Oh, well. It's called Balsamic. And it will generate wireframes of like web browsers and buttons or it'll do mobile apps or whatever.
Starting point is 00:26:57 And it intentionally has this shape. Like it looks very XKCD-like. Like, okay, don't, this is not the answer. This is not the final thing. It's just to give you an idea of like here's the layout and so on yeah and it's i think it's balsamic with a q uh if people are looking yes it's funky small it's spelled funky yeah i think what happened is the my keyboard's battery died so anyway that's why i can't type anymore i'm not on a laptop so when
Starting point is 00:27:20 the battery dies that's it but that's fine because i already got all the stuff i want to talk about anyway um we talked about i wouldn't try to learn Python to write mobile apps. And I still stand by that. But we discussed way back on episode, which one was it? On 295, a couple weeks ago, we talked about Flet. And Flet lets you write Flutter apps in Python. It is super neat. Yeah.
Starting point is 00:27:43 Where, just looking at an example or whatever, pull up the tutorial, but like the code that you write, I mean, if you've ever done Flutter, it feels very much like that. But what you write is Python and it's glorious. Anyway, the extra that I want to talk about is I had Theodore Fitzner,
Starting point is 00:28:02 who is the creator of Flet on talk python last week and people want to hear what he had to say about it in our conversation they should check that out nice yeah all right that's it for my extras i believe it's you uh you ready for a joke i am but i just i want to like pause and just say what i think that's one of the cool things about how we've done Python Bytes and TalkPython and Test and Code. We do these small segments within Python Bytes, but if we want to just also do a deep dive, we've got the other podcasts to do a deep dive into something that's good.
Starting point is 00:28:37 Absolutely. It's super nice and kind of on purpose, right? We kind of designed this one so we could just quick talk a bunch of fun stuff and then the other one, if you really want to spend an hour on something like that's what it's for. Yeah. So hopefully people listen to both or all three, rather. All three. Yeah, exactly.
Starting point is 00:28:52 Yeah, yeah, yeah. Yeah. All right. Now something funny. Now, you know, we talked about the cloud stuff and you specifically ask about price. So here's the joke. This one has two pictures. One, somebody who is new to AWS and somebody who is experienced at AWS. The new person, it shows this like cartoon character walking. One step, steps on a rake. The rake whacks up and smashes him in the face. It's new to AWS. Accidental, $50,252 monthly bill. The experienced one with the rake is like, you know, sometimes skateboarders will jump up and they'll like grind down like a stair railing.
Starting point is 00:29:29 They'll do something amazing. Oh, it's a kickflip they're showing, yeah. Yeah. Sorry, off the stairs. A kickflip off the stairs. And like that often goes good, but not always. So here they're doing like an amazing kickflip with the rake. Off a rake.
Starting point is 00:29:41 At the end, they land at the bottom, smacks them in the face. This is accidental 50 252 yeah yeah and then down here uh there's a funny comment from somebody who how they forgot to turn off something so they just but luckily their card expired so they just let their ec2 account um expire and you know um Amazon was talking about doing like healthcare stuff and whatnot. So this person here, Jess, Jess the Unstill, she says, just wait, soon enough, if you don't pay your EC2 AWS bill, they won't even let you visit your doctor. Sometimes things are funny.
Starting point is 00:30:19 Interesting idea, though, to attach your AWS account to a credit card with a low balance. So that's, that's one way. Interesting. Yes, exactly. It might be a benefit. Yeah. It just might be a benefit actually. Yeah.
Starting point is 00:30:34 Quite cool. Anyway, I, I thought this was kind of funny, but you also have heard of real stories of startups shutting down because they accidentally did get like a $60,000 bill. They're like, we can't pay this. Well, also just, yeah. Or're like, we can't pay this. Well, also just, yeah. Or, or somebody just misconfigured it and suddenly they're, they're making like, uh, the transfers are like, you know, three times larger than they're supposed to be or something like that.
Starting point is 00:30:56 Yep. Absolutely. So every time I run this command, it spins up a cool, uh, VM to do the test in the cloud. I forgot to shut it down. Whoops. Now I have a hundred VMs, right? Yeah. Yeah.
Starting point is 00:31:08 So concrete advice, you can set up billing alerts at different tiers. Like once it crosses a hundred dollars, send me a message. Once it crosses $200, send me a message. Those numbers will differ for people,
Starting point is 00:31:20 but I would strongly recommend that you set that up at your cloud provider. Like if it goes beyond a reasonable amount of what I normally would like to pay or expect to pay. Yeah. Let me know soon. Yeah. Not like tomorrow. Let me know right away.
Starting point is 00:31:35 Exactly. In fact, can you make my smoke alarm go off? Because I really need to get up and get going. Yeah. So anyway. All right. Well, fantastic to be here with you brian good to be with you too talk to you next week yep yep see you later thanks everyone for listening oh really quick one piece of follow-up out here from kim and the audience if a huge aws bill accidentally happens i'd rather um i can speak to the aws directly before giving in in despair yeah indeed yeah i've heard of i've heard of success stories where people just talk and they work with them.
Starting point is 00:32:08 On the other top- It's worth a try. On the drawing topic, Will recommends that, where'd it go? Acceladraw has a similar look. So I'll have to check that out too. Yeah, I haven't heard of that one. That's cool.
Starting point is 00:32:19 All right. All right. Talk to you later. See you all later. Bye.

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