Python Bytes - #210 Analyzing Kickstarter Campaigns with Python
Episode Date: December 3, 2020Topics covered in this episode: Analyzing Kickstarter Campaigns with Python Data Science Tools GPU Accelerated Python for Machine Learning on Cross-Vendor Graphics Cards Extras Joke See the full... show notes for this episode on the website at pythonbytes.fm/210
Transcript
Discussion (0)
Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds, or in this case, your eyeballs also.
This is episode 210, recorded November 23rd, 2020, and I'm Brian Ocken.
I'm Michael Kennedy.
Yeah, I'm Jay. Hi.
Jay Miller, welcome to Python Bytes, man.
I'm glad to be here. I will say this is hard because coming up with picks for the show that you normally get all your picks from is quite the challenge.
Have we pulled the rug out from you? Like normally you would just listen and then go, here we go. But now it's...
Not gonna lie, I went to the search page and typed in like my first three picks and sure enough, they were taken.
No, there's 210 episodes. So we just have been recycling them
for like the last four months.
We just started with zero and started over again.
Yeah, if people listen, like,
what are we on?
Are we on episode 40 again?
Yeah.
Funny.
We probably could, but you know, anyway.
Only our best fans would know.
And Brian, we're live streaming as well.
We should tell the non-live stream listeners
that this might be a thing in the future.
Yeah, this might be a thing. We're going to see how it goes it's kind of fun we're live
streaming right now but that's boring for people that are listening to us in the future but anyway
yeah we'll put a link and like a way to know when we're live streaming and stuff like that so yeah
we'll talk more about that later yeah well let's start it off i want to talk about kickstarter so
you had a kickstarter campaign once a long time ago, right?
I did.
I've actually done three Kickstarter campaigns.
One for a bunch of t-shirts, which was a ton of work and was fun.
But shipping a thousand shirts or something was quite the deal.
Maybe not that many, but many shirts.
And I did one to start the training company around the Python Jumpstart course, which was awesome.
And I did one with Matt McKay
for the Python for Entrepreneurs course.
So yeah, I love Kickstarter.
So I think Kickstarter is a pretty cool thing.
And so I was interested to see,
there was an article called Kickstarter Projects,
Do They Succeed?
But yes, the success or failure of them
is sort of interesting.
I really loved that this was an analysis
done with Python data science tools.
So it looks like, I think it's Aditya, it was the author.
And it looks like this may have been a university project or something.
I'm not quite sure, but I guess it doesn't matter.
It's a pretty cool article.
So he used Kaggle information that used all the projects up through 2018, I think.
So it's not up through today, but that's a pretty big data set.
There's like 370 plus thousand projects in the data set.
So that's neat. Came from Kaggle.
And then the article goes through using Pandas data frames
to explore the data using Describe,
which is a cool thing that data frames have to just learn.
You can learn quite a bit about your data just with describe,
but then he goes on and uses map plot lib and Seaborn to analyze the data
further. And I really, I kind of really liked the,
I've seen articles like this before of how to use pandas and stuff and graphics
to explore data.
But this is data I actually really kind of cared about learning about
Kickstarter. I may want to go back and use some of the techniques that
he talked about in this article to kind of explore it more.
I got to point out, there was an interesting line in there that said, the data set goes
back, has a 1970 listing, and it said, the data from 1970 seems to be bad or insignificant
data. listing and it said the data from 1970 seems to be bad or insignificant data i wasn't sure if this
was just like a misunderstanding of when kickstarter started or a joke but yeah it wasn't around in
1970 that's not when the song kickstart my heart came out is it oh i don't know that was motley
crew but i think that was like late 80s probably yeah yeah yeah yeah yeah You know, there's a bunch of punchlines.
One of the punchlines is about 35% are successful,
although they describe success as meeting the goal.
It's funded, right?
Not necessarily shipped, delivered the product, right?
Yeah, well, I'm not sure.
But one of the things I love about Kickstarter is the feedback.
So I personally think that a failed kickstarter is also a success
because people people learn that there's not enough demand to push forward so that's information
and that's successful too but you know maybe i'm just an optimist there's a lot of research that's
been done on like the idea of kickstarter and how now kickstarter is almost 80% marketing and 20% product idea.
There have been Kickstarters that have failed
that have retried on Kickstarter
with a different marketing approach
and like wildly succeeded.
So interesting.
It would be interesting to see like
out of the ones that did succeed,
like how many of them had videos?
How many, like how long were their posts?
Because I think a lot of times
people want to jump on these projects like,
hey, fund me, please, please give me money.
And it's like, you almost have to do a little bit more work than that
to even get to the bare minimum opportunity of success.
I did a lot of research on Kickstarter success and failure and stuff in the early days.
And yeah, there's a whole thing that you don't see about getting the word out
about if you get a high enough growth in the early days, Kickstarter will feature you like my first one when i launched talk by then training
it became for like two weeks my python course was the number one software product on kickstarter
and we got like 40 of the people who bought the course discovered it on kickstarter not because
i told them about it or someone else told them about it but the reason it got there is the podcast the podcast
listeners who heard about it all went and quickly funded it so it kickstarter saw like this trajectory
of going up and uh yeah it worked well i think that's good information though also i mean that's
yes it's marketing but yes selling a product is also marketing it's also
having a platform to tell people about it it's um you can't really sell stuff into a vacuum and
expect to make money so yeah one really final interesting thought if people are kind of
interested in kickstarter there's a fantastic movie one of my favorite documentaries of all
time called capital c capital the letter c the movie you
search for that it's like it's in 19 not 2015 following people around who got funded and like
when kickstarter was all the brand new rage and it's just super cool to see those people go through
there it's it's amazing i'll check it out but you know what was not super commonly used back then
at least compared to now is is using GPUs for machine learning
and high-end computation. That's a pretty new thing, right? Not brand new, but it's definitely
gaining momentum. Yeah, let's hear about it. All right. So often you hear about, oh, you can just
do like Pi CUDA this and CUDA that. And CUDA means NVIDIA. CUDA is not a general thing. So when
something says you can do this cool machine learning on GPUs with CUDA, and then I look at my MacBook Pro here that has an AMD, I don't know, 560,
whatever graphics card in it. Nope. Don't get to do CUDA. No CUDA. I actually do have a gaming
sim racing computer that has like an NVIDIA card if I really wanted to but the point is like a lot of these laptops and other
machines don't have some way to run nvidia stuff on them right and that's you know that takes the
wind out of the sails of a lot of data science and computational projects unless you could bring
in the vulcans so there's a an article which talks about a an open source set of libraries, I guess.
Article's entitled GPU Accelerated Python for Machine Learning on Cross-Vendor Graphics Cards.
That's pretty cool.
Yeah.
And so apparently it uses this project called Vulkan Comp all been adopting Vulkan, which is a C++ library, as their cross-platform GPU SDK.
So that means, yeah, I can do it on my computer or I don't have to have NVIDIA or whatever, right?
So that's really awesome. However, they say, you know,
in order to use this Vulkan library
is 500 to 2000 lines of C++ code
just to get like the boilerplate set up.
As a Python developer, that strikes me as a lot.
How do you feel, Jay?
Does that seem like a lot?
Yeah, that's a hard pass on my part.
Yeah, exactly.
Well, you kind of have like a thousand lines of code
just for a print
statement so exactly yeah like that's all the yeah the header files and all so then there's the
compute python package which is built on top of the vulcan sdk using c++ bindings and that thing
is nice and simple and it's a g framework, a general purpose graphics processing unit framework,
I guess is the acronym police there. And so if you're interested in building stuff for GPUs and
you don't want to be tied to CUDA cores, then check out this compute Python package. It sounds
pretty cool. Yeah. Except for the logo looks like it was like designed in 1983 or something you know what maybe
hold on hold on hold i think there's a little animation like the cylon type animation
here for the animated gif with the python and it has like ray tracing reflections of the logos oh
i kind of dig it man well okay yeah the little video jay split the vote here come on
what's it gonna be they're probably using all of their gpu power to uh do something in the
background which is why they couldn't come up with a good logo it sounds like a useful framework that
people could talk about and the article talks about it walks you through some examples of
using it and stuff i'm not going to go into the details there but yeah pretty neat i like that
this is mobile enabled too so you can uh you can take some of your work on the go yeah quite cool put it on your small devices
quite neat yeah speaking of small devices day oh you stole my segue i was gonna say we could
use some vulcan technology to open up a portal but we could what kind of portal a pie portal
at that so my pick if we're getting closer to the holiday season, which I can't believe I'm the one that's saying that. Normally I'm the one that gets angry when people talk about Christmas before Thanksgiving. and from there, I thought this would be a great gift for the tinkering Pythonista,
and it is a PyPortal,
which I'm actually glad we're live streaming this
because I can kind of show it off a little bit.
Oh, nice.
Oh, yeah.
So when I think of CircuitPython and these devices,
it's usually just little chips,
and maybe you've got an LED you can make blink,
but that's like a screen.
This is like all of the little things that we think about when we think of CircuitPi on one device.
So it has a touchscreen.
So not just a regular screen, it's a touchscreen.
It has the actual IO that's running right now as a light sensor.
So there's a little sensor on the side that if I cover it up, you probably can't see it, but the numbers will actually start changing.
There we go.
Oh, yeah.
Yeah, nice. it up you probably can't see it but the numbers will actually start changing there we go oh yeah yeah nice and of course since it's running circuit pi it is like the easiest thing in the world to to work with because at its core foundation it's just python and it's a limited scope of python so
you kind of have to figure out you know what you're importing what you're importing, what you're exporting. But I was able to display my light sensor output in 20 lines of code.
And five of those were import statements.
So about 15 lines of code.
That's pretty awesome.
And I've seen some pretty cool projects with it.
What's the graphics programming language look like?
Is it like draw text?
Is it draw pixel?
No, actually object it's really
interesting because of like they have like actual pi portal module that you can import and from
there you actually load the screen and you can display full images on so what you would do is
you'll set your background almost like how the old atari systems you would come like with these
paper backgrounds and then you would just overlay your actual game data over it you kind of do that with this it's
like a 2d layered sprite type thing almost exactly you load up like a small bitmap onto the screen
and then you just tell your text where you want it to be placed and i've seen people do like
weather sensors i actually did a thing
with like Twitter lists so I could check and see like which Twitter lists that I follow for work or
like having to have the most traffic. You can also throw some audio on there has built in speaker. So
we played some practical jokes on relatives by having this having it randomly every few seconds,
just shout names. And they didn't know where it was coming
from. So, uh, that's always fun. That looks really cool. Do you know what it costs?
Uh, I want to say it's 50 bucks. Yeah. So not too expensive of a thing.
Oh, that's a nice one. I like it. I'm still looking for that good use case where I can
make some use out of some of these little devices. I think as somebody that does a lot of recording, I really want something that I can put on
my door that is have like a sign like recording, please don't open up and yell and ask if I'm
recording.
That was the game plan, but I need to get a case for it.
And this is actually Wi-Fi enabled.
So if you are pulling data in, you can tap into the Adafruit api and they give you your own little dashboard
you can store data there to retrieve later you can pull up data from it it has its own request
library so you can actually pull stuff down from the web and uh that was actually my game plan too
was to say all right have some little server on my mac that whenever i open up you know zoom or
skype or something like that, it changes the
status to now recording. And then like, because this is wireless, it would just pick up that
signal and change on the door. Yeah. Maybe some serverless function thing where you talk to a
database that literally has one entry recording or not. You just push it up there and it's all
good to go. Awesome. I'm pretty sure this is going to exist for at least one of us someday, right?
Like it seems like such a nice thing to have.
Yeah, we should do it.
Even all this COVID work from home stuff.
Like you've seen those videos of like kids being like crawling in and moms dragging the
kid back out.
Like, okay, so maybe it doesn't work for a two-year-old, but still, it would be nice.
So Brian, I'm not the only one with machine learning here.
What do you got?
Well, we've got, yeah.
So I guess this is with machine learning here. What do you got? Well, we've got, yeah. So I guess this is machine learning stuff.
We've got an introduction to linear,
an article called Introduction to Linear Algebra
for Applied Machine Learning with Python.
Now, I do want to do some machine learning in the future
and definitely, and that's the target for this article.
But you still got to learn about it?
Sorry, go ahead.
That was bad. It was very bad.
Actually, we use linear algebras used for communication systems as well. And so I kind of would like to brush up on my linear algebra. It was a long time ago when I took it in college.
So this article is from Pablo Cesaras, and it's a big article.
He says it's intended as a reference and not a comprehensive review.
However, it's a really big reference.
This is a book.
It has an epilogue.
Yeah, it is a book.
But there's also links.
He includes links to both free and paid resources where he suggests learning linear algebra, including some video classes that are
free, which would be neat. But anyway, I think the level that he's got this is really just right for
me. And he talks about sets and ordered pairs and relations and functions, then gets into vectors
and matrices and mappings and matrix decomposition. So he gets pretty deep into the linear algebra.
And in some of the examples,
he's got diagrams and stuff,
which help,
help me learn the visuals.
And,
uh,
he's using NumPy pandas and Altair for some of the examples.
And,
uh,
I think that's pretty cool to show not only kind of how you do this,
how you use linear algebra or really what it is,
and then how to apply those, uh,Py and show the examples with Python.
It's really kind of nice.
So anyway, it's a really useful thing for me.
That's cool.
Linear algebra is one of these weird things that appears in places that you don't expect it. It was definitely one of my favorite parts of my math studies is the
advanced linear algebra stuff.
But like in 3D computer graphics,
the way you rotate the
viewport and stuff is you just multiply everything
by a rotation matrix.
Or if you move something, you multiply it by a matrix
where you make it bigger or smaller. There's just
all these crazy applications
of linear algebra.
So yeah, it seems pretty neat.
It comes up a lot of the it
comes up a lot in like you said with with graphics also with uh changing well really anything where
you've got like massively parallel systems can be described as linear algebra problems yeah yeah
very nice next up i want to talk about a new notebook framework we seem to be catering to
the data science crowd or scientific computing crowd this time around,
but not always so.
I recently did a show with Philip Guo and Sam,
and we talked about,
I think it was 60 different notebook frameworks.
It was Sam Lau and Philip Guo back on episode 268.
So you think Jupiter,
and oh, is there something else?
Oh, there's that Google collab thing.
60.
Well, 61.
60 different kind things?
Wow.
Yeah.
And 61 now,
because there's another one called Deep Note.
Okay.
Jay, have you heard of Deep Note?
I have.
Actually, I'm kind of upset
because this was going to be one of my picks,
but I hadn't used it yet.
I was looking at it for a lightning talk that I gave last week and I was like, oh, this is so cool. Too bad I don't have anyone to
collaborate with on this project. Otherwise I would have tried it. So you beat me to it.
I sniped you. I got it out of there. Yeah. So Deep Note is an interesting one. It's
Jupyter compatible like many of the other ones
that I sort of indirectly referenced there,
but not exactly Jupyter.
It's not like it just runs in Jupyter or JupyterLab or something.
So I'm pretty sure that means import-export from Jupyter,
and then it runs in the cloud, which is kind of cool a lot of times.
It's a hosted thing, so you have to maybe pay for it,
depending on how you use it.
It's free for individuals, but if you're on a team or you have to maybe pay for it depending on how you use it.
It's free for individuals, but if you're on a team or you're in a company, it's going to cost some money. And like Jay was hinting at, the main feature of it is real-time collaboration,
not just the Jupyter stuff. But let's log in and work on this together and start typing and start
reviewing. It has some cool features, like it has code review within the notebook coming.
It has built-in version control coming,
obviously the real-time collaboration that I talked about.
And it even has dashboards kind of like Streamlit coming soon.
So you can like turn a notebook
into an interactive dashboard website.
I'm really excited for the code review stuff.
I think that that's something that as Python itself
is becoming more and more and more
a tool for people outside of the traditional developer space, we still need to have good
review tools.
And even just a matter of having the ability to do collaboration and say, hey, can you
take a look at this code?
And then you can actually see it running instead of just imagining what it's going to do i think adding version tracking adding code review that's just the next step to really
teach some of the fundamentals of developer work to skill sets that aren't traditionally
designed to work that way yeah and so much of the jupiter computation data exploration comes from
an individual working on the thing like
jupiter notebooks are not particularly friendly to version control like github like every time you
make a change or just the output changes it clashes in github and things like there's like
a merge conflict and all those sorts of things so it can be a challenging so i think you're right
like moving to a more collaborative like sort of google docs style of world makes a lot of sense not for everyone but for many people yeah i'm curious if something
like this might uh be useful for like um say instructor sort of thing so you yes you tutor
somebody by two people hopping on a on one of these collaborations and working through a problem
so yeah looks cool jay what's this last one you got here? You and I have talked a bit about this offline.
We have.
This is a tool that I found working on my own blog.
It's called ImageKit.
And I'm sure everyone here listening might
or has a good idea of what a CDN is.
And the too long, didn't read part of it is
they also make CDNs specifically for images.
So you can actually store your images
on something like S3 storage, point this CDN to it. And instead of calling that S3 storage,
you would just call your CDN URL. And I mean, this is great because you can do things like
compression, you can do responsive types and different sizes. But the thing about image kit that I really liked
was that it also does a little bit of machine learning this like image magic behind the scenes.
So of course, you can do your own scaling of these images, but you can also do smart cropping.
So if you take a picture of your face, and you say, I want the focal point of this image to be
my face, you can crop it around your face and not just, I want the focal point of this image to be my face, you can crop it
around your face and not just around the center of the image, which I think is a really good idea.
Oh, that's cool. That's great. Like if you had a site where you were accepting like user profile
images or people were posting stuff, you could say, emphasize this and they don't have to know
how do I crop an image and why won't it accept a BMP?
Yeah, it's just here. Just load this image up to this file storage
and then it's done.
It can also do Gaussian blurs.
It can do a bunch of the other little tools.
You can overlay text on it,
which is like what I tend to do the most
is where I'll take my podcast episodes,
add that to the end of the URL for the image,
and it creates a smart overlay on top of it,
with a grayed out background and everything so that I don't have to go
into like Photoshop or,
you know,
one of those tools,
I can just say,
here's the URL,
here's the text that I want.
And of course,
because this is Python bites,
it has a Python API.
It actually has a ton of API.
So like they have like first party APIs for most of the primary languages.
But if you don't have time to play with the API, you don't have a way to access the API before you render your page.
It also has a URL schema.
So you can also give all of those commands directly into the URL itself.
And it's pretty cheap.
I mean, right now I'm not paying for it at all just using their free tier
but if you want things like a custom domain name where you can say images.pythonbytes or something
else that's when you start having to look at it but i think even then it's not for an image cd and
it's not too bad yeah that was cool and you can put like resizing in there just like i want the
size to be such and such that's important for like
google page speed especially on mobile devices if you want to put like a 2000 whatever 2000 by
whatever picture you don't want to just show that directly right so you can just make it part of the
url even do like responsive design like use different urls for different screen media queries
and stuff it also supports fuzzy or lazy loading which is really cool to where you can get like a
blurred image until it finishes rendering the entire site. And then once it's done the entire
site, it'll go back and then load the high def image. Oh, nice. Yeah, this is cool. I like it.
And you mentioned your podcast, like tell people real quick, your podcast. Oh, sure. Yeah. So I do
a weekly show called the pit show pit Pit is short for Productivity in Tech.
It's been around for a few years.
I think once upon a time on some RSS feed far, far away,
I had Michael Kennedy on the show.
That was fun.
I think I'm still trying to get that Brian fellow on there as well,
but I'm sure we'll make that happen at some point.
I thought we already did that. We haven't done that yet?
We never did, but I blame my schedule, so it's okay. I guess as a developer advocate now, I get a lot of questions
about, you know, hey, what's your journey in tech? How did you do this? Where did you get these
things? What's it like, you know, not just for you, but for your family and other things like
that. So it's a combination of two things. One, it's my walk through this journey out loud,
showing people what I'm going through, some of the things that I'm doing, some of the things
that I'm playing with, practicing on, but also interviewing folks from around the internet
from all sorts of disciplines and asking the questions because I can, because I have them on
my show for 30 minutes at a time. Yeah, that's awesome. Nice. Yeah, Brian, you got to get on there.
We got to hear your story.
So maybe that was the last item.
So maybe we should just roll into the extras.
Jay, you want to keep going?
You said you were a developer advocate now.
Congratulations.
That's an exciting new role you just got, right?
Yeah, been at that for a few months now,
really enjoying it.
And of course,
because I'm doing this in the middle of the day,
I'm going to take this opportunity to promote two of the things that I've been doing a lot,
which are our contributor program. I work for Elastic, the company behind Elasticsearch. We
also are responsible for Logstash and Kibana. I think that was how I got, I snuck onto this show
is because I messaged Mike after he said that Elasticsearch wasn't a real database. So shots fired. But then from there, yeah, if you're doing anything with Elasticsearch,
Kibana, Logstash, Beats, even some of our Python specific clients, we have a contributor program.
If you do a blog post video tutorial, let us know. We have a whole platform. There's a link here in
the show notes. And if you do enough of it, we actually give you
credits to Elastic Cloud so you can host some of your projects for free. And then also we have our
YouTube channel, the Elastic Community YouTube channel, where you can see meetup talks, lightning
talks. The lightning talk I talked about earlier in the show is on there as well. You've got a lot
of great folks that are teaching and sharing that information.
And here's a single point where you can go and you can watch hours and hours of good information,
good content on it. Awesome. That's really cool. And people are in Elasticsearch. They should
definitely check that out. Yeah, definitely. So I would just bring up, I've been plugging away at testingcode.com.
That's a podcast I do.
But I think I'm going to try to change the direction a little bit.
So since I really like this short format.
Oh, look what Jay has.
In reach.
Always.
Do it again, but you got to say something so that you get on the video thing.
If you like testing code, you should totally check out this book it's called python testing with pi test uh it's by this brian i thought that was how to build rockets with python at first i was like man he needs to talk
to those pi torch characters you know maybe they can help him you know blast off or something but
no i i really i genuinely say this is probably the most opened book that I have like within
reach of me because I'm always screwing up testing.
And luckily, I don't have to message Brian every five minutes on how do I do this?
I can just use his words.
I don't need any extras more than that.
So thanks, Jay.
You said you change your direction.
What's your direction?
I kind of want to hear what people would like to do.
I was thinking about possibly doing shorter episodes or more focused,
like maybe 10-minute episodes about individual topics,
but I'd kind of like to hear from other people about what they'd like to hear.
So just open it up.
I love a podcast only about mocking because that's just the one thing that no one understands.
It's because nobody should do it.
Hey, how am I going to fix my dependency inversion
and version control stuff in my java app without some mocking come on well yeah with java you might
need it but all right i've got a few things one my apple m1 chip silicon apple mac mini wait
continues but eventually i will give you all,
it's like mid-December.
Eventually though, I'll give you all of like
the state of Python on Apple M1 chips.
But until I know that, I can't share it.
So over at TalkPython Training,
we are running, we're participating
in the Python Software Foundation fundraiser
to close out the year.
So because of time travel that is not announced, they're probably not even known yet. But at the time of the release of this,
it should be out. It starts December 1st. So if you visit pythonbytes.fm slash PSF 2020,
right now, it's going to go to a page that says nothing yet. But I'm going to change that
redirect to end on the right place when it goes
live. So there's going to be some discounts on some of our courses. Half of all the payments
will go, like half of the revenue, not profits, half the revenue will go to fund the PSF. So I
teamed up with the PSF team and a couple other folks like RealPython and Dan Bader over there and a few others to
try to, you know, give some money to the PSF, keep them going strong. And last but not least,
trying something new as podcasters, you guys can tell me what you think of this idea. I wanted to
give something back to the people that supported the training course the most and the podcast the
most. So I had launched this thing called Talk Python to Me Pro Edition, which basically means
it just has no ads
and it has all the history of like,
you know, back five years worth of shows
in the podcast player.
So anyway, people can check that out as well
at talkpython.fm slash pro.
And yeah, anyway, that's kind of fun to put together.
And those are all my items, I think.
Yeah, let's do a joke.
Oh man.
All right.
You ask the question, I'll do the answer. Okay. Why can't SQL and NoSQL developers date one another? I don't know, let's do a joke. Oh, man. All right. You ask the question. I'll do the answer.
Okay. Why can't SQL and NoSQL developers date one another?
I don't know. It's rough. I guess because they don't agree on relationships.
It's so bad. It's so bad. Jay, as a professional at a database company,
how do you feel about this? I would have said because date time formatting is hard but i can definitely
vouch for this but even though they can't date they can still get along they can still get along
they still have etl come on to close this out like i'll post the video of the live stream here
once it gets recorded and saved so maybe we'll do this game people can let us know if they think
that's a cool idea.
And if people are wondering why I'm at a weird angle in the dark,
it's because the power in my neighborhood went out.
I've been doing this show from my phone.
So anyway.
Nice.
It won't always be like that.
It's good.
Well, thanks a lot.
Thanks, Jay, for showing up.
Enjoyed having you here.
Thank you.
Thank you for having me.
All right.
Thanks, Michael.
Thanks, Brian.
See you, everyone.
Thank you for listening to Python Bytes. Follow the show on Twitter at Python Bytes.
That's Python Bytes as in B-Y-T-E-S.
And get the full show notes at PythonBytes.fm.
If you have a news item you want featured,
just visit PythonBytes.fm and send it our way.
We're always on the lookout for sharing something cool.
This is Brian Ocken, and on behalf of myself and Michael Kennedy,
thank you for listening and sharing this podcast with your friends and colleagues.