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


Transcript #210: Analyzing Kickstarter Campaigns with Python

Return to episode page view on github
Recorded on Monday, Nov 23, 2020.

00:00 Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds, or in this case, your eyeballs also.

00:08 This is episode 210, recorded November 23rd, 2020.

00:13 And I'm Brian Okken.

00:14 I'm Michael Kennedy.

00:15 Yeah, I'm Jay.

00:16 Hi, Jay Miller. Welcome to Python Bytes, man.

00:19 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.

00:29 Have we pulled the rug out from you?

00:31 Like normally you would just listen and then go, here we go.

00:33 But now it's not going to lie.

00:36 I went to the search page and typed in like my first three picks and sure enough, they were taken.

00:40 No, there's 210 episodes.

00:42 So we just have been recycling them for like the last four months.

00:45 We just started with zero and started over again.

00:48 Yeah.

00:49 If people listen, like what are we on?

00:50 I got an episode 40 again.

00:51 Yeah.

00:52 Funny.

00:54 We probably could, but you know, anyway, only our best fans would know.

00:58 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.

01:04 Yeah, this might be a thing. We're going to see how it goes. It's kind of fun.

01:08 We're live streaming right now, but that's boring for people that are listening to us in the future.

01:13 But anyway.

01:13 Yeah, we'll put a link and like a way to know when we're live streaming and stuff like that.

01:17 So, we'll talk more about that later.

01:19 Well, let's start it off. I want to talk about Kickstarter.

01:22 So, you had a Kickstarter campaign once a long time ago, right?

01:25 I did, I've actually done three Kickstarter campaigns.

01:28 One for a bunch of t-shirts, which was a ton of work and was fun, but a shipping thousand shirts or something was quite the deal.

01:35 Maybe not that many, but many shirts.

01:37 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.

01:47 So yeah, I love Kickstarter.

01:48 So I think Kickstarter is a pretty cool thing.

01:50 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.

01:59 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 a Kaggle information that went that used all the projects up through 2018, I think.

02:25 So it's not up through today, but that's a pretty big dataset.

02:29 There's like 370,000+ projects in the dataset, so that's neat.

02:34 Came from Kaggle.

02:35 And then the article goes through using Pandas dataframes to explore the data using Describe, which is a cool thing that dataframes have to just learn, you can learn quite a bit about your data just with Describe.

02:47 But then he goes on and uses Matplotlib and Seaborn to analyze the data further.

02:52 And I really, I kind of really liked that 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.

03:05 I may want to go back and use some of the some of the techniques that he talked about in this article to kind of explore it more.

03:13 I gotta point out, there was an interesting line in there that said, "The data set goes back as a 1970 listing." It said, "The data from 1970 seems to be bad or insignificant data." [LAUGHTER]

03:25 I wasn't sure if this was just a misunderstanding of when Kickstarter started or a joke, but yeah, it wasn't around in 1970.

03:33 That's not when the song Kickstart My Heart came out, is it?

03:36 Oh, I don't know.

03:37 That was Motley Crue, but I think that was late '80s probably.

03:40 - Yeah, yeah, yeah, yeah.

03:43 - You know, there's a bunch of punchlines.

03:45 One of the punchlines is about 35% are successful, although they describe success as meeting the goal.

03:53 And one of the things--

03:54 - Right, it's funded, right?

03:55 - Yeah, it's funded. - Not necessarily shipped, delivered the product, right?

03:57 - Yeah, well, I'm not sure.

03:58 But one of the things I love about Kickstarter is the feedback.

04:01 So I personally think that a failed Kickstarter is also a success because people learn that there's not enough demand to push forward.

04:10 So that's information and that's successful too.

04:13 But maybe I'm just an optimist.

04:15 - There's a lot of research that's been done on the idea of Kickstarter and how now Kickstarter is almost 80% marketing and 20% product idea.

04:25 There have been Kickstarters that have failed that have retried on Kickstarter with a different marketing approach and wildly succeeded.

04:33 - So interesting.

04:34 - It would be interesting to see out of the ones that did succeed, how many of them had videos?

04:40 how long were their posts?

04:41 'Cause I think a lot of times people wanna jump on these projects like, hey, fund me, please, please give me money.

04:47 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.

04:54 - I did a lot of research on Kickstarter success and failure and stuff in the early days.

04:58 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.

05:06 Like my first one, when I launched Talk by Line Training, it became for like two weeks, my Python course was the number one software product on Kickstarter.

05:19 And we got like 40% of the people who bought the course discovered it on Kickstarter, not 'cause I told them about it or someone else told them about it.

05:26 But the reason it got there is the podcast, the podcast listeners who heard about it all went and quickly funded it.

05:32 And so Kickstarter saw like this trajectory of going up and yeah, it worked well.

05:38 - I think that's good information though also.

05:40 I mean, yes, it's marketing, but yes, selling a product is also marketing.

05:45 It's also having a platform to tell people about it.

05:49 You can't really sell stuff into a vacuum and expect to make money.

05:53 - Yeah, one really final interesting thought.

05:55 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.

06:05 You search for that.

06:06 Like it's in 19, not 19, 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.

06:17 It's amazing.

06:18 - Let's check it out.

06:19 - But you know what was not super commonly used back then, at least compared to now, is using GPUs for machine learning and high-end computation.

06:27 Like that's a pretty new thing, right?

06:29 Not brand new, but it's definitely gaining momentum.

06:32 - Yeah, let's hear about it.

06:32 - All right.

06:33 So often you hear about, you can just do like pycuda this and cuda that and cuda means nvidia.

06:39 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 a 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?

07:10 And that's, you know, that takes the wind out of the sails of a lot of data science and computational projects.

07:16 Unless you could bring in the Vulcans.

07:18 So there's an article which talks about an open source set of libraries, I guess.

07:25 Article is entitled GPU accelerated Python for machine learning on cross vendor graphics cards.

07:31 That's pretty cool.

07:33 And so apparently it uses this project called Vulkan compute, the Vulkan compute Python framework.

07:39 And the idea is that a lot of the modern machine learning libraries like Google TensorFlow, Facebook's PyTorch, bunch of others, they've all been adopting Vulkan, which is a C++ library as their cross platform GPU SDK. So that means, yay, I I can do it on my computer or I don't have to have NVIDIA or whatever.

08:03 Right.

08:03 So that's really awesome.

08:04 However, they say, you know, in order to use this Vulcan 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.

08:16 And how do you feel Jay?

08:18 Does that seem like a lot?

08:18 Yeah, that's a hard pass on my part.

08:21 Yeah, exactly.

08:22 Well, you kind of have like a thousand lines of code just for a print statement.

08:25 So exactly.

08:26 Yeah.

08:26 Like that's all the, yeah.

08:27 But header files and all.

08:29 So then there's the compute Python package, which is built on top of the Vulkan SDK, using C++ bindings. And that thing is nice and simple. And it's a GPU 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. Sounds pretty cool.

08:58 Yeah, except for the logo looks like it was like designed in 1983 or something.

09:04 You know what, maybe? Hold on, hold on, hold. I think there's a little animation, like the Cylon type animation for the animated GIF with the Python, and it has like ray tracing reflections of the logos. Oh, I kind of dig it, man.

09:22 Well, okay. Yeah, the little video.

09:24 Jay split the vote here. Come on. What's it going to be?

09:26 They're probably using all of their GPU power to do something in the background, which is why they couldn't come up with a good logo.

09:32 It sounds like a useful framework that people could talk out.

09:36 And the article talks about a walks you through some examples of using it and stuff.

09:39 I'm not going to go into the details there, but yeah, pretty neat.

09:43 I like that this is mobile enabled, too.

09:45 So you can you can take some of your work on the go.

09:48 Yeah, quite cool.

09:50 Put it on your small devices.

09:51 Quite neat. Yeah.

09:52 Speaking of small devices, Jay.

09:55 Oh, you stole my segue.

09:56 I was going to say we could use some Vulcan technology to open up a portal, but we could, what kind of portal, a PI portal at that.

10:03 So my pick, we're getting closer to the holiday season, which.

10:07 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, but yeah, I, I received a little gift from a Santa PI.

10:20 And from there, I thought this would be a great gift for the tinkering Pythonista.

10:25 And it is a Pi portal, which I'm actually glad we're live streaming this because I can kind of show it off.

10:31 Oh yeah.

10:33 So when I think of like circuit Python and these devices, like it's usually just little chips and maybe you've got an led you can make blink, but that's like a screen.

10:41 This is like all of the little things that we think about when we think of circuit Pi on one device. So it has a touch screen. So not just a regular screen. It's a touch screen. It has the actual IO that's running right now is 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. So and of course, since it's running circuit pie, 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.

11:18 So you kind of have to figure out, you know, what you're importing, what you're exporting, but I was able to display my light sensor output in 20 lines of code.

11:29 And five of those were import statements.

11:31 So about 15 lines.

11:33 And I've seen some pretty cool projects with it.

11:36 So what's the, graphics programming language look like?

11:41 Is it like draw text?

11:42 Is it draw pixel?

11:44 No, actually, 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.

11:57 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.

12:13 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 on relatives by having this having it randomly every few seconds just shout names and they didn't know where it was coming from.

12:46 So that's always fun.

12:48 That looks really cool.

12:49 Do you know what it costs?

12:49 I want to say it's 50 bucks.

12:51 Yeah, so not too expensive of a thing.

12:55 Oh, that's a nice one. I like it.

12:57 I'm still looking for that good use case where I can make some use out of some of these little devices.

13:03 I think as somebody that does a lot of recording, I really want something I can put on my door that has like a sign like recording, please don't open up and yell and ask if I'm recording.

13:12 That was the game plan, but I need to get a case for it.

13:16 And this is actually Wi-Fi enabled.

13:18 So if you are pulling data in, you can tap into the Adafruit API and they give you your own little dashboard.

13:26 You can store data there to retrieve later.

13:28 You can pull up data from it.

13:29 It has its own request library so you can actually pull stuff down from the web.

13:34 And 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.

13:53 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.

14:02 Awesome, I'm pretty sure this is going to exist for at least one of us someday, right?

14:05 Like, it seems like such a nice thing to have.

14:08 Yeah, we should do it.

14:09 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.

14:16 Like, okay, so maybe it doesn't work for a two year old, but still, it would be nice.

14:20 Yeah.

14:20 So Brian, I'm not the only one with machine learning here.

14:22 What do you got?

14:22 Well, we've got, yeah, so I guess this is a machine learning stuff.

14:27 We've got an introduction to linear, an article called introduction to linear algebra for applied machine learning with Python.

14:34 Now, I do want to do some machine learning in the future, and definitely, and that's the target for this article.

14:41 But you still got to learn about it?

14:42 Sorry, Clay.

14:44 That was bad.

14:46 It was very bad.

14:47 Actually, I use, we use linear algebras used for communication systems as well.

14:53 And so I kind of would like to brush up on my linear algebra.

14:56 I didn't, it was a long time ago when I took it in college.

14:59 So this article is from Pablo Cicero's and it's a big article.

15:05 He says it's intended as a reference and not a comprehensive review.

15:09 However, it's a really big reference.

15:11 >> This is a book. It has an epilogue.

15:13 >> Yeah, it is a book, but there's also links.

15:16 He includes links to both free and paid resources that where he suggests learning linear algebra, including some video classes that are free, which would be neat.

15:27 But anyway, I think the level that he's got this is really just right for me.

15:32 And he talks about sets and ordered pairs and relations and functions, then gets into vectors and matrices and mappings and matrix decomposition.

15:43 So he gets pretty deep into the linear algebra.

15:45 And in some of the examples, he's got diagrams and stuff which help me learn the visuals.

15:51 And he's using NumPy, pandas and Altair for some of the examples.

15:56 And 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 principles with NumPy and show the examples with Python.

16:11 It's really kind of nice.

16:13 So anyway, it's a really useful thing for me.

16:16 That's cool.

16:17 Linear algebra is one of these weird things that like appears in places that you don't expect it.

16:22 It was definitely one of my favorite parts of my math studies is the like the advanced linear algebra stuff.

16:28 But like in 3D computer graphics, the way you rotate, like the viewport and stuff, is you just multiply everything by like a rotation matrix. Or if you move something, you multiply it by a matrix. Or you make it bigger or smaller. Like there's just all these crazy applications of linear algebra.

16:43 So yeah, it seems pretty neat.

16:44 Yeah, a lot of the, it comes up a lot in, like you said, with graphics also, with changing, well really anything where you've got like massively parallel systems can be described as linear algebra problems.

16:57 - Yeah, very nice.

16:58 Next up, I want to talk about a new notebook framework.

17:01 We seem to be catering to the data science crowd or scientific computing crowd this time around.

17:06 But not always so.

17:08 I recently did a show with Philip Guo and Sam and we talked about, I think it was 60 different notebook frameworks.

17:18 It was Sam Lau and Philip Guo back on episode 268.

17:23 So you think Jupiter and now is there something else?

17:26 So there's that Google collab thing 60.

17:29 Well, 60 different things.

17:31 Yeah, and 61 now because there's another one called Deep Note.

17:36 Okay, J.

17:37 Have you heard of Deep Note?

17:37 I have actually I'm kind of upset because this was going to be one of my pics, but I had got it yet.

17:44 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.

17:51 I don't have anyone to collaborate with on this project.

17:55 Otherwise, I would have tried it.

17:56 So you beat me to it.

17:58 I sniped you. I got it out of there.

18:00 Yeah, so DeepNote is an interesting one.

18:03 It's Jupyter compatible, like many of the other ones that I sort of indirectly referenced there, but not exactly Jupyter.

18:10 It's not like it just runs in Jupyter or JupyterLab or something.

18:13 So it's, I'm pretty sure like that means import/export from Jupyter.

18:17 And then it runs in the cloud, which is kind of cool a lot of times.

18:20 It's a hosted thing so you have to maybe pay for it depending how you use it.

18:25 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.

18:29 And like Jay was hinting at, the main feature of it is real-time collaboration.

18:33 Not like just the Jupyter stuff but you know, let's log in and work on this together and start typing and start reviewing.

18:41 It has some cool features like it has code review within the notebook coming.

18:45 It has built-in version control coming.

18:47 Obviously the real-time collaboration that I talked about.

18:50 And it even has dashboards kind of like streamlet coming soon so you can like turn a notebook into an interactive dashboard website.

18:57 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 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.

19:24 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.

19:38 Yeah.

19:39 And so much of the Jupyter computation data exploration comes from an individual working on the thing like Jupyter notebooks are not particularly friendly to version control like GitHub.

19:50 Like every time you make a change, or just the output changes, it clashes in GitHub and things like that.

19:56 There's like a merge conflict and all those sorts of things.

19:58 So it can be challenging.

20:00 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.

20:07 Yeah, I'm curious if something like this might be useful for, like say, instructor sort of thing.

20:14 So you tutor somebody by two people hopping on one of these collaborations and working through a problem.

20:21 Yeah, looks cool. Jay, what's this last one you got here? You and I have talked a bit about this offline.

20:25 We have. This is a tool that I found working on my own blog. It's called ImageKit.

20:31 And I'm sure everyone here, you know, listening might or has a good idea of what a CDN is.

20:37 And the too long didn't read part of it is they also make CDN specifically for images.

20:43 So you can actually store your images on something like S3 storage, point this CD into it, and instead of calling that S3 storage, you would just call your CD in URL.

20:56 And I mean, this is great because you can do things like compression.

21:00 You can do responsive types in different sizes.

21:02 But the thing about image kit that I really liked was that it also does a little bit of machine learning like image magic behind the scenes.

21:13 So of course you can do your own scaling of these images, but you can also do smart cropping.

21:19 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 around the center of the image, which I think is a really good idea.

21:30 - Oh, that's cool.

21:31 That's great.

21:32 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?

21:43 Yeah, it's just here.

21:43 Just load this image up to this file storage and then it's done.

21:47 It can also do Gaussian blurs.

21:49 It can do a bunch of the other little tools.

21:51 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.

22:04 Great at, you know, with the great out background and everything so that I 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.

22:16 And of course, because this is Python bytes, it has a Python API.

22:20 It actually has a ton of API.

22:21 So like they have like first party APIs for most of the primary languages.

22:26 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.

22:36 So you can also give all of those commands directly into the URL itself.

22:40 And it's pretty cheap. I mean, right now I'm not paying for it at all, just using their free tier.

22:46 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 CDN, it's not too bad.

22:59 That's cool. And you can put like resizing in there, just like I want the size to be such and such.

23:03 That's important for like Google PageSpeed, 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?

23:13 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.

23:20 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.

23:27 And then once it's done the entire site, it'll go back and then load the high def image.

23:32 Oh, nice.

23:33 Yeah, this is cool.

23:35 I like it.

23:36 And you mentioned your podcast, like tell people real quick.

23:38 Your podcast.

23:40 Oh, sure. Yeah.

23:40 So I do a weekly show called the Pit Show.

23:43 Pit is short for productivity in tech.

23:45 It's been around for a few years.

23:48 I think once upon a time on some RSS feed far, far away, I had Michael Kennedy on the show.

23:54 That was fun.

23:55 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.

24:00 I thought we already did that.

24:01 -We haven't done that yet? -Nope.

24:03 We never did, but I blame my schedule, so it's okay.

24:08 I guess as a developer advocate now, I get a lot of questions about, "Hey, what's your journey in tech? How did you do this?

24:14 Where did you get these things?

24:16 What's it like, not just for you, but for your family?" and other things like that.

24:21 It's a combination of two things.

24:22 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.

24:42 Yeah, that's awesome. Yeah, Bryden, you've got to get on there. We've got to hear your story.

24:46 So, maybe that was the last item.

24:50 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?

24:58 Yeah, been at that for a few months now, really enjoying it.

25:02 And of course, because I'm doing this in the middle of the day, I'm gonna take this opportunity to promote two of the things that I've been doing a lot, which are our contributor program.

25:11 I work for Elastic, the company behind Elasticsearch.

25:14 We also are responsible for Logstash and Kibana.

25:17 I think that was how I snuck onto this show, because I messaged Mike after he said that Elasticsearch wasn't a real database.

25:24 So shots fired.

25:26 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.

25:39 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 post some of your projects for free.

25:49 And then also we have our YouTube channel, the Elastic Community YouTube channel, where you can see meetup talks, lightning talks, I just, the lightning talk I talked about earlier in the show is on there as well.

26:00 You've got a lot of great folks that are teaching and sharing that information. Here's a single point where you can go and you can watch hours and hours of good information, good content on it.

26:13 Awesome. That's really cool. And people are in Elasticsearch, they should definitely check that out.

26:17 Yeah, definitely.

26:18 So Michael, I would just bring up, I've been plugging away at testingcode.com.

26:25 That's a podcast I do.

26:27 But I think I'm going to try to change the direction a little bit.

26:31 So since I really like this short format.

26:35 Look what Jay has.

26:37 In reach. Always.

26:39 Do it again, but you got to say something so that you get on the video thing.

26:42 If you like testing code, you should totally check out this book.

26:46 It's called Python Testing with pytest.

26:48 It's by this Brian Arkin. I thought that was how to build rockets with Python.

26:53 At first I was like, man, he needs to talk to those PyTorch characters, you know, maybe they can help him, you know, blast off or something.

26:59 But no, 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.

27:11 And luckily, I don't have to message Brian every five minutes on how do I do this. I can just use his words.

27:16 I don't need any extras more than that.

27:18 So thanks, Jay.

27:19 You said you're changing your direction.

27:20 What's your direction?

27:21 I kind of want to hear what people would like to do.

27:23 I was thinking about possibly doing shorter episodes or more focused, like maybe 10 minute episodes about individual topics.

27:31 But I'd like to hear from other people about what they'd like to hear.

27:34 So just open it up.

27:35 I love a podcast only about mocking, because that's just the one thing that no one understands.

27:41 That's because nobody should do it.

27:45 Hey, how am I going to fix my dependency inversion and inversion control stuff in my Java app without some mocking?

27:51 Come on.

27:51 Well, yeah, with Java, you might need it.

27:54 But all right, I've got a few things.

27:58 One, my Apple M1 chip, Silicon Apple Mac mini wait continues.

28:03 But eventually I will give you all.

28:05 It's like mid-December.

28:07 Eventually, though, I'll give you all of like the state of Python on Apple M1 chips.

28:12 But until I know that I can't share it.

28:14 So over at Talk Python Training, we are running, we're participating in the Python Software Foundation fundraiser to close out the year.

28:24 So because of time travel, that is not announced, that's probably not even known yet, but at the time of the release of this, it should be out, it starts December 1st.

28:33 So if you visit pythonbytes.fm/tsf2020, 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.

28:45 So there's going to be some discounts on some of our courses.

28:49 Half of all the payments will go, like half of the revenue, not profits, half the revenue will go to fund the PSF.

28:57 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 give some money to the PSF.

29:07 Keep them going strong.

29:09 And last but not least, trying something new as podcasters, you guys can tell me what you think of this idea.

29:15 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 back five years worth of shows in the podcast player. So, anyway, people can check that out as well at talkpython.fm/pro.

29:35 And, yeah, That's kind of fun to put together. And those are all my items, I think.

29:40 Yeah, let's do a joke.

29:41 Oh, man. All right. You ask the question. I'll do the answer.

29:45 Okay. Why can't SQL and NoSQL developers date one another?

29:49 I don't know. It's rough. I guess because they don't agree on relationships.

29:52 It's so bad. Jay, as a professional at a database company, how do you feel about this?

30:03 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.

30:13 They can still get along. They still have ETL, come on.

30:16 To close this out, like, I'll post the video of the live stream here once it gets recorded and saved.

30:21 So, maybe we'll do this again, people can let us know if they think that's a cool idea.

30:25 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.

30:32 - Nice. - It won't always be like that.

30:35 - That's good. Well, thanks a lot. Thanks, Jay, for showing up.

30:38 I enjoyed having you here. - Thank you. Thank you for having me.

30:41 - All right. Thanks, Michael. - Thanks, Brian. See you, everyone.

30:44 Thank you for listening to Python Bytes. Follow the show on Twitter @PythonBytes.

30:48 That's Python Bytes as in B-Y-T-E-S. And get the full show notes at pythonbytes.fm.

30:54 If you have a news item you want featured, just visit pythonbytes.fm and send it our way.

30:59 where I was on the lookout for sharing something cool. This is Brian Okken and on behalf of myself and Michael Kennedy, thank you for listening and sharing this podcast with your friends and colleagues.

Back to show page