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 Okken. Wow, close to 300. That's amazing.
Yeah. Yeah. That's, what is that, coming up on six years here pretty soon? That's insane.
That's amazing. Well, 52 times. Yeah, I don't know. 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.
Yeah. Also, before we, yeah, it'd 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? 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 super classes 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, which is an awesome way to learn is to read other code.
I agree. I think it's fantastic.
Yeah. So he's good. He goes through super and a handful of other things. When do you use a mix in?
I don't know if I'd use that. Anyway, the thing I want to pull out is using relative imports all the
time. 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,
if you don't, if you put a dot in front of at the beginning is the first dot, then it looks in your,
in your path, your current search, the directory of the file that it's in. So in the example,
he has a base by a base dot pie from scikit learn and it, it uses, it says from dot utils dot validation
import something. And, and these are, because it says dot utils, it'll look for utils in the
current directory and not somewhere else because there's probably a utils like somewhere else also,
uh, looking for the search path. so this is neat. You can do multiple, you can move, 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, we'll get you up, 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, but it's not, like dot is the
current directory. Dot dot is like one up and you can do three, but wow. I think there's something
wrong with your project if you're doing that. but, maybe not, maybe not. There's,
a couple of links in there for further reading. There's a Guido's decision on relative imports,
which is part of the, part of the PEP 328 writeup. And actually the, this PEP 328 writeup
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, I use this a lot
now and try to put it in, projects, you know, projects at work and project personal projects
as well. So, the dot thing is cool and yeah, it doesn't talk 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. So you have to have Dunder and net 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, this could be just a directory with Python
files in it that has Dunder in it and the, and that, that makes it a package in Python,
but we also definitely, 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 nets. 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 nets in them for this to work. So anyway.
Yeah. Brent, Brandon on the audience asked, so are we arguing for relative imports?
I, for the current, for the current directory, I am, I think that, within a project, if you're,
uh, like internal stuff, you're not, I mean, if it's a, if it's part of the external API of the project,
I, 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 sub components 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 sky plane. 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. Thank you for sending this in. Really
appreciate it. The project is called sky plane, 114 times faster cloud transfers. At first I was like,
uh, 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, 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
Linode and digital ocean 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 sky plane. And to the folks, there's about a 15 minute video,
but you really got to watch just two minutes of it to get the Zen. So they laid on 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 and point
there. And she has 30, 80 gigs of data. And Paris is on the East coast of the U S 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 sky plane.
They were getting like 20 megabit. I think they run it with sky plane. 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's, it was transferring basically
over like dedicated fiber 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 happens here, not a hundred percent sure, but I think it fired up some VMs in
Virginia, copied it from S3 in Bahrain directly through the internal data system 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? You would fire up a VM. I think in that scenario,
in 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.
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,
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,
the Azure CLI, and you just log into those local CIs and 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. 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 that it couldn't,
you know, 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 with, 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 that it's faster.
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 what 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.
Taking it out.
Out of the, yeah, exactly.
Oh, cool.
So maybe, I don't know.
They didn't talk about it, but possibly.
Yeah.
Wow, that's awesome.
Anyway, that's what I got for you.
Yeah, sky plane.
Nice.
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 brought to you by Microsoft for startups,
Founders Hub.
If you have a startup and you intend to have some kind of cloud computing resources,
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.
So with Microsoft for startup, Founders Hub, they give you a bunch of 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, 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 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, 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,
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.
You don't have to necessarily have funding.
You just visit pythonbytes.fm/foundershub 2022.
Link 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, it wouldn't be complete if we didn't talk about Will McGoogan 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 a modern TUI framework.
And this is pretty interesting because I think that, I mean, 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 flicker
and tearing and stuff and how to deal with that.
There's a whole bunch of learnings in here.
The thing that like popped out as something that everybody can use that I wanted to talk
about was a little blip that he talked about that is dicta views are amazing.
So the thing he talks about here is that so maybe, I don't know if everybody knows
the term dicta 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, into a dictionary and they are super fast.
And one of the things he points out is that they act like they act like sets also.
And you can use the, you can use set operators.
Like here's the little carrot symbol and was, I can't remember.
I'll have to look it up.
The carrot symbol is a symmetric difference.
Basically what's, what's just give me a set of the stuff that's different about the two
different sets or two dictionaries.
And the, 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 and they're way faster than anything you could write in
Python.
So this just taking the items of two dictionaries and using a 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, 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 could do set operations on them.
Quite cool.
Right.
Yeah.
Super neat.
Then he, he, he goes, covers a whole bunch of other stuff like LRU caching and the, how
fast 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, says, you know, a picture gives you a thousand words
or whatever.
But, he, he, 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 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, for people listening, he's got a picture showing, 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.
I'm looking for where it is.
I'd have to, I guess I'm going to have to look this up, but in CPython, there's actually
this huge diagram in the malloc in the minute of the memory management section.
that shows you it's like this, it shows you all the different, data structures
and concepts that are used to manage memory, like the pools, the blocks and the arenas
and all that stuff in like a huge diagram in code comments.
It's perfect.
Nice.
And he gives a, shout out to just one, tool that's around.
He must use it called Monodraw.
It's a Mac tool, but so there are drawing tools that you can use to generate, ASCII
art.
So, or our Unicode art, as it were.
Yeah.
Nice.
Oh, maybe, maybe I'll, 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'll put the link in here.
You ready for this, Brian?
Yeah.
You can show it.
Yeah.
I just got to, I had to find it.
Hold on.
There we go.
Look at this.
Oh yeah.
Here's the, here's the object allocator in Python.
And it shows here's the object specific ones, the 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, 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
and it makes more sense instead of just having.
It has a short description and then a proper picture of here's what's happening.
Yeah.
Absolutely.
Very good.
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.
It sure does.
A whole bunch of other great tips in Will's article.
So, encourage people to check it out.
Right on.
Another thing that goes a long way is Python.
There's an InfoWorld 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 if that's PYPL or I don't know how to say this, but, another secondary programming
language index.
And, yeah.
How cool is that?
Very cool.
Also a really nice rocket image.
I was going to say, this is, it, it, it characterizes the other programming languages,
hot air pollutants in Python as a rocket.
Yeah.
So, yeah.
some interesting things to take away from here.
Let's see that, Python first took the top spot just, last October.
So that was actually big news, right?
Yeah.
Now it, that makes it the only language besides C and Java to ever hold the number one position
from the TOB index.
And not only is it still number one, but it's actually gained a couple of percentage points
on the current rankings, year over year.
So, 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.
which, which is pretty awesome.
also, but C and Java have gained also.
So other, I guess we're whittling down, 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.
by the way, also the, 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.
So yeah, yeah, yeah, that's for sure.
Let's see.
Yeah.
The, 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.
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 is behind carbon.
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 while
avoiding its technical debt and extreme difficulty to improve.
Ouch.
Uh.
Yeah.
Not saying extreme difficulty to use, but like, it's just, it's where it is.
You know what I mean?
Yeah.
It's like a language on top of a language on top of 50 years.
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.
P Y P L the popularity of programming language is what the acronym stands for.
It's an index creating, it's created by analyzing how often tutorials are, language
tutorials are searched on Google.
So that's one metric.
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, 1% people are interested in tutorials, how to do it versus almost 30% for
Python.
Hmm.
Yeah.
Anyway, that's just another, another, factor that was part of this info world
article.
So, you know, I, on one of the live streams, not too 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, where, what you're thinking.
Okay.
I mean, popular is 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 you with it.
And so on.
I, I love Python obviously.
but I, it's hard to answer those like for a job, which languages should I, whether languages
should I learn?
I, 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.
I, 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.
Well, and you also, if you want to build mobile apps, you might want to look elsewhere.
I will.
Except I might have a, 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've got one more thing to go.
No.
Tell us about some magic.
Oh, no, this is part of one of my extras.
So.
Oh, this is when you're extras.
Okay.
Well, let's, that's it then.
Yeah.
Okay.
Jump into your extras.
Then let's jump into your extras.
All right.
Oh.
I didn't want to cover this.
Really quick, really quick comment just from, 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.
Like.
Exactly.
I mean, if there was a lot of competition for C++ developers, I don't know what I would
I would do.
I'm, I'm enjoying the competition.
Yeah.
so.
Exactly.
I just ran across this, the magic of my matplotlib style sheets, article, and
I just wanted to bring it up for people that might, might want to, to try it out.
So I've, I've used matplotlib, matplotlib style sheets before, and they're just
great.
So you could just say like, so let's say you've got a, a current plot and by default,
it's just, it's not bad.
It just, it, it is what it is.
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 bunch of built-in ones you can use.
It just looks nicer.
It's got like, I love it.
It's so unsettled, but it looks so much better.
Yeah.
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, 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 here you go.
Yeah.
Fantastic.
one of the things, that the 10 year old in me enjoyed that, the, if you
want the lines to end in a square instead of a rounded line, you give it a solid cap style
of, but, it makes it chop off the end.
So that's funny.
That is funny.
all right.
Yeah.
This is not, this is not one of my extras, but I might as well add it as a follow on here
is, XKCD plots have landed.
Yeah.
And Matt plot live, right?
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 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 like a research project.
It's a, it's just, I'm, I'm showing something in informally.
So.
Right.
sometimes there's a whole ton of value to present it.
Not quite polished.
Yeah.
There's an app I use called, let's see, what does it not want to make a new vault
comic?
Oh, it doesn't let me type in.
Oh, well, it's called balsamic and it, it will generate wireframes of like web browsers
and buttons or to do mobile apps or whatever.
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, if people are looking for it.
Yes.
It's, it's funky, small, it's spelled funky.
Yeah.
I think what happened is the, the, my keyboard's battery died.
So anyway, that's why I can't type anymore.
I'm not on a laptop.
So when the battery dies, that's it, but that's fine.
Cause I already got all the stuff I want to talk about.
Anyway.
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 of weeks ago, we
talked about flit and flit lets you write flutter apps in Python.
It is super neat.
Yeah.
Where, just look at an example or whatever, pull up the tutorial, but like the code that
you write.
I mean, if you 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, who is
the creator of flit on talk Python last week.
And if 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, you ready for a joke?
I am.
But I just, I want to like pause and just say, well, I think that's one of the cool things
about how we've done, Python bytes and talk Python and testing code of, if
we do these small segments within Python bytes, but if we can, if we want to just also do like
a deep dive, we've got the other podcasts to do a deep dive into something.
It's good.
So absolutely.
It's super nice and kind of on purpose, right?
We kind of designed this one so we could just quick talk about to 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, I rather three.
Yeah, exactly.
Yeah.
All right.
Now something funny.
Now, you know, we talked about the cloud stuff and you, 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 has experienced at AWS.
The new person, it shows this like cartoon character walking one step steps on a rake.
The rake wax up and smashes them in the faces.
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.
It'll do something amazing.
Well, it's a kickflip they're showing.
Yeah.
That's right.
Off the stairs.
The 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 the rake.
And then they land at the bottom, smacks them in the faces.
Accidental $50,252 bill.
Yeah.
And then down here, 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 expire.
And, you know, Amazon was talking about doing like healthcare stuff and whatnot.
So this, this person here, Jess, Jess, the unstill 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.
Interesting idea though, to, to attach your AWS account to a credit card with a low balance.
So that's, that's one of the interesting.
Yes, exactly.
It might be a benefit.
Yeah.
It just might be a benefit actually.
Yeah.
Quite cool.
Anyway, 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 and they'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 the transfers are
like, you know, three times larger than they're supposed to be or something like that.
Yeah, absolutely.
So every time I run this command, it spins up a cool VM to do the test in the cloud.
I forgot to shut it down.
Now I have a hundred VMs running.
Yeah.
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, 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.
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.
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 I can speak to the AWS directly before
giving in in despair.
Yeah.
Indeed.
Yeah.
I've heard of success stories where people just talk and they work with them.
On the other top.
It's worth a try.
On the drawing topic, Will recommends that, where'd it go?
AccelerDraw has a similar look.
So I'll have to check that out too.
Yeah.
I haven't heard of that one.
That's cool.
All right.
Talk to you later.
See you all later.