Monitor performance issues & errors in your code

#297: Python year in review (2020 edition) Transcript

Recorded on Monday, Nov 30, 2020.

00:00 2020 will be one for the history books, won't it? I've put together a great group to look back on 2020 from the Python perspective. Join me along with sessile Philip Enos montani. j. Miller, Paul Everett, Reuben Lerner, Matt Harrison and Brian Aachen for a lighthearted and fun look back on the major Python events of 2020. This is talk Python to me, Episode 297, recorded November 30 2020. Happy New Year, everyone, and thanks for listening. Welcome to talk Python to me, a weekly podcast on Python, the language, the libraries, the ecosystem, and the personalities. This is your host, Michael Kennedy, follow me on Twitter, where I'm at m Kennedy, and keep up with the show and listen to past episodes at talk python.fm and follow the show on Twitter via at talk Python. So let's go ahead and just kick off this episode. This one is a little bit different than the standard show everyone here has been a guest and a great guest. And some of you even repeat guests, some of your repeat guests and scheduled for more episodes even hinted enough. But let's go ahead and kick it off. So this is going to be a year in review. There's a bunch of us here, seven or eight of us. And I just do a quick introduction. Let me just welcome you individually on you could say you know a couple sentences about who you are, and whatnot. Some people know and then we're just going to get into what you thought was the most interesting, impactful thing of the year. And I have some software to help me do that. So let me run it here. darnay. Me, I will go back to that. Well, let me welcome you all, then we'll get through this. So Jay J. Miller, welcome to talk with me again.

01:28 Happy to be here. I haven't been a guest in like three years. So

01:32 I know. But your episode was so popular, like over 100,000 people listen to your episode. Can you believe that? That's so insane.

01:38 I'm shutting down my podcast. I don't get those kind of listens.

01:42 Don't be by yourself.

01:44 Sure. Jay Miller. I'm a podcaster. developer, now developer advocate for elastic. You know, the people that do search, and we are database shots again, Michael. But yeah, I'm just happy to be here.

01:58 Yeah, that's it. Awesome. Welcome, Rubin. Lerner. Welcome back. Good to see you, man.

02:03 Nice to be here.

02:04 How early is it?

02:05 It's not that early. It's only 530. Okay,

02:07 thank you so much for waking up early and make it? Yeah, we have people from basically every corner of the world. So yeah, don't be by yourself. Again, if they haven't heard the episodes.

02:16 Sure. So I'm a Python trainer. So most days, I'm in different companies doing on site trading, nowadays a little less on site for some strange reason. And so I normally do corporate training everything from intro to Python for non programmers all the way up to advanced workshops, and also sell a whole bunch of courses online. Do individual Oh, my book, my book Python worked out.

02:38 Yeah, and we are streaming live with video so you can hold it up. Yeah, that's awesome.

02:42 Oh, hold up. Find on workout. A picture of me on the cover. Of course,

02:47 that of course. Yeah. That was when you're working out preparing for the Olympics. Precisely. Precisely. Yeah, exactly. So we'll be sure to link to your book and some of your courses as well. Enos welcome from the other side of the world.

02:58 Yeah, I'm currently in Australia. Escape the EU lockdowns and I'm here. Yeah. Happy to be back. I think I've been on a few of your podcasts, but it's always my favorite podcasts. So thank you.

03:08 Yeah. It's awesome to have you here. And I have definitely dreamed about. Well, my daughter goes to school online. I always work online. Maybe we should just go somewhere by a beach away from people. How can we do that? Where it's warm, right. And it seems like you pulled it off. Beautiful. All right, Paul. Paul Everett, welcome.

03:24 I just saw Anthony Scholl talking. So if you want to talk about converting your life to work at the beach, just subscribe to his damn Twitter account. Welcome everything against

03:34 you.

03:35 Oh my gosh, also from Australia. Hey, Anthony. And Andrew from pi charm is here a bunch of bench folks. Mark. Awesome. Paul, introduce yourself.

03:43 Sure. developer advocate at JetBrains for Python stuff and web stuff. most known for giving the Python 1994 talk. My purpose on this panel is to increase the median age so that we all qualify for the discount at the buffet.

03:58 Hey, man, I'm right there with you. right there with you. Awesome. Nice to have you, Paul. Brian. We've met before right now, Brian, aka and he and I host co hosts Python bytes together. And you've been on the show quite a few times as well. Last time, I think we covered 30 pi test plugins. That was quite the whirlwind tour.

04:13 Yeah, so I highly recommend this book to anybody. Just

04:17 awesome. Matt Harrison. Welcome back. Thanks. Good

04:19 to be here. I guess I'm similar to Ruby and I do corporate training and consulting and Python and data science. And I guess since we're flunking books, I'll flaunt my latest book.

04:29 Wait, the tiny Python three notebook.

04:32 notebook. It's very small. Anyway,

04:34 it is tiny. Well, what I was gonna say Matt is like, you're gonna need to be like, basically an octopus to hold up all your books, and multiple books on each tentacle.

04:42 I've got a few here. So yeah, it's good to be here. Thanks for having me on.

04:45 Yeah, you were just recently on about learning how to learn. Yeah,

04:48 does it count if I have everyone else's book?

04:51 Yes, it does. But it also be hard to hold them all up. Especially if you got all Matt sessile fella ban. Hello. Good to see you friend. Hey, thanks

04:58 for having me on. I don't have a books to share. But because I hate writing, so I don't write anything, I do do some video. So if you're interested, I do do a weekly Python stream on Wednesdays. So if you folks want to check it out, it's on Twitch and the Microsoft developer account, and we do very beginner friendly conversations about Python and stuff like that. And Michael, you were just on the other day, too, right? Yeah, it

05:20 was so fun to be on there with you. We got to play around with FastAPI and man ethical framework, you

05:25 know, it's coding from the beach. What's the name of the show?

05:27 That's a good name. Actually, maybe I should coin that one. No. so we do pay weekly. So it's me and my, me and my coworker, Brian Clark. And you know, we kind of approach Python from the perspective of beginners, but also from two people that don't necessarily know Python very well. So you know, Brian is a JavaScript guy. I'm a dotnet. Guy. But we're both I like to call it pi curious. You know what I mean? Like, we're Python curious. And,

05:51 you know, we

05:51 definitely want to show people like different perspectives of learning, like new languages. Yeah. It's

05:56 super interesting. And it's really lucky. It's, it's like you said, it's, it's this twitch sort of exploration style of code, not polished presentation style. So you just guys sit down, take feedback from the audiences, and go with it.

06:09 Yeah, I love the show, because I never prepared. Like, I kind of just show up and talk about stuff. And people love it. And it's great. I don't have to do notes or anything like that. We just kind of be like, Hey, what do we want to learn about today? Right? Well, let's

06:22 go ahead and do it. Yeah. Fantastic. All right, well, given how many of us that are, let's go ahead and just jump in. And we're gonna do our year in review. And so I've written a small piece of Python software here in the repple. It's very advanced, it's at least four lines of code, I gotta tell you, and what it's going to do is going to pick one of you. And then we're going to have you talk about what you felt was the most significant or impactful thing that you saw happening in the Python space. So round one, sessile, you're on screen and it pulled you up? Go for it.

06:50 I got lucky. Okay. So the most exciting thing that that I think happened in the world of Python, and one that I have a little bit of a close relationship to, is the fact that Guido van Rossum joined Microsoft just a couple of weeks ago. So I didn't mention this before. But I do work at Microsoft as a developer advocate. And I think for me, it's been a really interesting to kind of see how the company has, you know, been embracing open source and working with a lot of the creators, and now seeing a lot of the leaders of the industry kind of join the company. And and I mean, it kind of, it's a kind of, it's like a different world. Let me I don't know how else to explain it or, or talk about it. It's been really great to have him here. I had the opportunity actually to interview him. And we did like an internal interview, just talking about like, well, what made you decide to call it a retirement right,

07:38 like, that's awesome. Was this on Channel Nine? Is it public? Or is it

07:42 No, it was internal. It was an internal interview. I don't know what his is. And I'm sure he will do some other ones. But it was an internal one.

07:49 To make him whiteboard.

07:50 No, we didn't do many whiteboarding. We did ask him what some of his favorite shows were. So that was that was pretty interesting. We asked him like the Star Trek versus Star Wars conversation. So

07:59 I couldn't I couldn't handle that pressure.

08:02 It's hard, man. It's a tough crowd. Tough crowd. I think it's definitely amazing to be able to see folks from the industry like kind of embracing, like these different companies and us really supporting open source in a very, like, authentic way.

08:15 Yeah, it's such a big change. And Ruben, you were just talking before we started streaming, I think about, you know, 10 years ago how this was really different.

08:22 Oh, yeah. I mean, like, even more, but yeah, even 10 years ago, the notion that Microsoft would be so involved in the open source space, especially the Python space was basically unthinkable. I mean, I think was Steve Ballmer was said, you know, Microsoft, or something like that Linux and open source were a cancer on the industry. And they were definitely seen, Microsoft was seen as an enemy of the open source world. And it's been truly amazing to see them just embrace it. I mean, you see the booth of Python, you see the VS Code investment. It's very, very impressive. And it demonstrates that he says, I was saying this earlier, like, how much leadership at the top really can change the direction and the attitude of a company? And that filters through to even the lower level people and the decisions made there.

09:04 Yeah, that's a lot of hard work, right? Because if you think about it, we've had different leadership for a very long time. And so for some of us, some of this change that people are still recognizing, I mean, we've been doing it for a very long time, you know, what I mean? Like, we didn't just in 2020, decide, oh, hey, let's adopt and support open source. It's been it's been one of those things that have been building, you know, very much over time. But, you know, the fact of the matter is that you still have those old stigmas that we still have to shake and, you know, we still have a lot of folks that we have to help convince that we're not the Deathstar. And we won't, you know, destroy the world kind of thing.

09:39 I think it's a good, good responsibility to take on because there's also you know, there's a lot to fuck up. And if you commit to like doing something like, you know, GitHub acquisition, and say, Okay, we're doing that and we're running it, you know, sign forward, because every misstep can have like, you know, a really big impact. Yeah, you know, if Microsoft starts doing bad things, again, people are not going to be you know, very forgiving at all. So yeah,

10:00 I think that was the most sensitive. One of them all is the GitHub acquisition, because what they do to Azure is kind of their story, what they do to Windows is their story. But what they do to GitHub, that's Everyone's story. And all of a sudden, yeah, that was a big deal.

10:12 Yeah. And on top of that, you have the ability to give GitHub a little bit more power in the space. Like, I mean, we've all been kind of watching what's happening with like, YouTube dl and stuff like that, and just seeing the support. It's not just GitHub anymore. Now it's like, Okay, what does one of the the wealthiest companies in the world, you know, say about this particular position that YouTubers have a problem with that people in tech have a problem with, like, a lot of abusive behavior. And on top of that, you're providing support for things like NPM? It's one of those questions, we all want to contribute to open source, but none of us have the financial ability to contribute like a company like Microsoft can. So not just saying we're going to be a part of it, but saying no, we're really going to be a part of it is like a huge dip.

11:00 Yeah, the million dollar defense fund that they just announced, it's a big deal.

11:04 Yeah, for sure. And when you think about GitHub, right, like you think about, like developer culture, that's what GitHub kind of represents to me, is the new, you know, the future of developer culture, like how do we collaborate? How do we work with each other? How do we share not just source code, but like experiences and knowledge, right through like something that we can all connect together with? That's code, right? And then kind of circling back around to veto, being able to again, see these leaders of these really large open source projects, put their faith in the company, and even considering what the past of the company was to what it is today. And then hopefully, like the rest of the open source will would start to realize that we are serious about being good open source citizens and supporting the culture in the community. I mean, me personally, I'm just really excited to see what he's gonna do what he's going to work on the future's bright man.

11:52 Yeah, absolutely. I think

11:53 someone on on Twitter had said, so now we actually hire folks that contributes to, you know, obviously, C# and F sharp and dotnet stuff, but also folks that contribute to Java, rust, C++, and obviously, Python, right. So we have a whole host of language folks underneath the umbrella of the company. And so now being able to have that space of collaboration, like underneath the umbrella company, I think is going to be really interesting to see what the next couple of years looks like.

12:21 Yeah, you got to come back in six months and give us an update on Python.

12:25 I give it a six month update on it.

12:26 Right on I'm gonna run run the chooser. Paul, it has chosen you.

12:30 I'm not sure about your chooser algorithm here. There doesn't seem to be

12:35 a NumPy random dot choice. I'm telling you.

12:38 This time, it's not a good time to talk about election strategies. And the scene is how it shows you first, it could be flawed. We're

12:46 changing. Are you changing the random seat? Don't ever bakley

12:52 Yeah, I should topic. My topic is things change, nothing changes. And I think I'm maybe stealing someone else's topic. So I appreciate your random algorithm choosing me first. And it's kind of along the line. I'm kind of interested in open source communities over the years and decades and why one works when one doesn't in particular, a lot of open source projects that get successful kind of founder when the founder leaves. And over the last couple of years you've seen Guido transition out step now is BD FL. And kind of a new language governance model that he didn't even decide on he let it emerge. And then new release managers, new PSF directors all happening this year, a pandemic which kind of destroyed the big fundraiser and organizing event called Python, Python 2.7 end of life, which I guess a lot of us thought would never effing happen in it F and happened. And through all of this change for a project that was like reaching mega escape velocity and popularity,

13:53 nothing changed. Everyone's

13:54 like, Who cares? Python just kept on doing the doing its business releases kept cranking out peps kept cranking out elections will Python elections kept cranking out. Michael O'Brien kept cranking out podcasts, hallelujah, something good happened in 2020. And so it's interesting to me healthy projects are those with kind of a healthy bench kind of middle management. Python has a hell of a middle management now. It's awesome. And it's like middle management and every vector now it's got language leadership, middle management, Foundation, leadership, manage middle management, conferences, all the regional conferences are kicking ass even online. So it's really good for me to see kind of a balance between some of the old heroes like Brett cannon who gave this awesome keynote two or three or four years ago at pi con about open source, and then some of the new heroes like Marlene mengalami. When I give the Python 99 four talks, sometimes I get with Barry, and it's like, well, did you ever know back then that it was going to hell? No. We didn't know. And so seeing all of this happened, saying generation after generation come in, do their thing. raised the next generation is pretty cool to see. Yeah,

15:02 it's fantastic. And I know there was a lot of uncertainty when Guido stepped down about, oh my gosh, what's gonna happen, but it's kind of been a non issue, which is good non issue in a good way.

15:13 The Yeah,

15:14 I think it's really nice to also have you know, some stability even you know, especially nowadays that's quite rare. And just to see, you know, stuff just works, nothing goes wrong no drama No, no nothing terrible just runs almost boring. Yeah,

15:28 boring is good these days. One of the things that really surprises me pose you mentioned the escape velocity, it's what's weird to me is how Python went like 20 years on medium, like simmer popularity, and then it then it hit the afterburners and took off. Right. It seems just I think there's gonna be some interesting studies done about why or how did a language that had kind of been around for 20 years all of a sudden, really dramatically improve in popularity. And, you know, I have some ideas, but I just think that that's an interesting aspect of what you're talking about here.

15:57 Yeah, it's also the whole aspect of the, you know, the previous like Microsoft and Java and sort of, I guess, big money behind those sorts of languages, and like the early 2000s, pushing them, and then I think community and to the point of like, developer gave developers what they wanted, rather than maybe, say, enterprise II languages. And then I think there's a whole confluence of other other things that happened as well. But it is kind of crazy, right? That like one of the top if not the top languages, right now. They're almost 30 years old. And it's got issues, it's got warts and whatnot, but it's it's a thriving language and, you know, without significant big companies behind it, right, that it's competing with companies that thrown millions of dollars into development of these things.

16:46 Yeah, absolutely. And Matt and Enos, you two are on the data science side. And I think the data science and computational folks are the ones that poured the gas on the fire and really made it take off. And that's not where the growth necessarily completely is. But I think that gave it a serious kick.

17:01 Yeah, no, no, actually, I because I get asked about this a lot like, oh, what what do you think made Python the language for machine learning data science and AI? My theory is actually that a Python, of course, was lucky that it was in a right place at the right time. But I think actually, it's one because it's a general purpose language. People can come from other fields of Python into machine learning data science, for example, like what did people do before, if you look at kind of, you know, these surveys of what to use Python for before, it's a lot of web stuff, you can build kind of anything in Python. And I think that's what makes it so appealing, and much more appealing than, let's say, like an AI language. And that's also, in my opinion, why a lot of these attempts at making an AI language haven't taken off. And people are like, now Python is great. Yeah. So yeah, it's fast enough, it's usable enough. But I think the general purpose is really is what kind of got it over the edge there. And a

17:50 lot of people that I'm teaching or training are people who don't want to be programmers, they want to use Python as a tool. It's like Excel to them. They don't want to be programmers. And so something that they can pick up and it just sort of works. And they can go to stack overflow and copy something. And as long as they get the indentation, right, that sort of works, as long as they're using the right version or whatever. No compiling, there's no linking,

18:14 yeah, weirdness.

18:15 And then you have things like Google colab, or whatever, where you have an environment, it's all set up, and you can just sort of go right. And so that is really empowering for people who don't want to be programmers, but view Python as a tool, a necessary tool that they need to leverage. And in addition, there's over a quarter of a million packages on pi pi, right. And that's like literally standing on the shoulders of giants, you can go there and pick out something that you want to do, and you're a pip install away from it. And that's super powerful, right? You don't have to set up a huge environment. And yeah, it just really simplifies life for a lot of these people who don't want to be programmers, but want to leverage these really cool. Yeah,

19:00 but at the same time, you do have a, you know, strong support for C extensions. So if you're looking at the top packages people download from pi pi, it's most of them who are written in, say siphon, whatever. That's what makes them so powerful. So we have that, while also have it being able to provide, you know, a good developer experience. Yeah, absolutely.

19:19 I think it was, Seymour pepper, who talked about a good language having us talking about logo, but it's even more appropriate for Python, having low floors and high ceiling, that's really easy to get in and do simple stuff. But when you want to do complex stuff, you're not limited. So just yesterday, I was like doing a workshop with people. And we like someone who had just started with Python. I said, Oh, but look what we can do if we sort of extended several, several layers, and he was amazed how complex you can get and how sophisticated you can get just a few lines of code. It's really a testament to the elegance of the design language, I think.

19:52 Yeah, Andre lasky in chat makes a good point that many folks say Python is their second favorite language, you know, and And there's something to be said for that. dericks.

20:03 Sir, should be there first.

20:05 I'm with you. I'm with you.

20:06 Well, to that point, I mean, it's also been said that Python is the second best language for doing things, right. So you might have a language that yeah, that's actually is cool. I got data science or you might have a language is better for web apps, you might have a language, it's better for like system admin. But there's probably not a language, it's going to like get you all three of those right and Python, sort of that Venn diagram that gets you in the middle, and is good enough to do a lot of what you want to do.

20:32 Absolutely. random choice chooses Brian Aachen. Hey, cool.

20:37 Let me pull up my notes. It was interesting. We were talking about Microsoft. And I didn't choose this, but I'm going to mention it. Anyway, tons of projects switched over to GitHub actions in 2020. And, I mean, because it just kind of be hit the area, right, like at the end of 2019. So I saw a lot of projects migrating to GitHub actions. Anyway, I wanted to talk about packaging, just sort of related. There's a couple things that I was supposed to pick one exciting thing happened today, pip 23, was released. And the dependency resolver. resolver is now the default,

21:10 the present sees resolvers already angry at me for trying to deploy some depend about changes.

21:17 I'm excited about this. And it's bit me already, too. I had I've had requirements, text files that have broken dependencies. So I have to go look at those and see well, which you know, I have to pay attention to it. So there's, there's a little bit of pain for some people. But it was such a long struggle in that's I look back. And the request for a dependency resolver came in 2013. So seven years later, but the something magical happened in 2019. And that was some money from Mozilla came through, and they threw some of that money at the dependency resolver. So that's pretty cool.

21:49 Yeah, that's a big deal. That money was, there's been a couple of these experiences where money was given to Python specifically to hire a team to improve on pi pi that the rewrite of pi pi, that org was one and then this is another

22:02 Yeah. And they rolled it out in several versions. So we had our version early, early in the year. And then around July, we had another version that had a different flag that you could try it out with, to try to get some of the early adopters to try it out to make sure it's working. And then today, it's rolled out for good. And I'm pretty excited about it, I kind of want to tie this in with the packaging, I seen a lot of progress on and a lot of adoption of the pipe project tunnel, kind of taking over more packages and more uses. So we saw flit used to have its own any file now only uses by project tunnel. And there's been dependent like additions to the metadata definition that hopefully will take hold, and even pi test now you can throw your configuration in a pipe project at Terminal. So and I've seen more and more projects saying that getting pressure from their users to say, I don't want another INI file, I want to put my settings in the project terminal. So that's a good thing. Yeah, absolutely.

22:58 You know, a couple of things on that you talk about two things. When you talked about packaging, you talked about GitHub, I mean, the fact that now you can actually do some package work within GitHub itself, I build a lot of small little tools, not things that I would want to go on pi pi note, we don't need to clutter that up anymore with my garbage. But it's great when I can just say like, Hey, here's a link. And if you're really, you know, concerned on how to add it, you can just pip install, but point to this GitHub, you know, and that that works.

23:28 Yeah, and also the stuff about finding security vulnerabilities automatically. And doing prs for you that GitHub does against like, your various package definitions. I think that's great as well.

23:39 Hey, has anybody ever put a JavaScript package on the GitHub? The package JSON?

23:45 Probably, but yeah, I mean,

23:49 I guess right?

23:51 Oh, worse. It's Gatsby. So I basically put 500,000 JavaScript packages into my repo. Yeah. And

24:01 there's something I appreciate about Python a lot that like I actually I never thought I'd say this but like I do

24:06 prefer also that you can't resolve the dependency bot security mega warnings fast enough. It's just incredible. I know it's an I

24:15 just turned them off. Right? Like

24:18 I totally fix it.

24:21 One way to do it Yes.

24:23 It's like I've always say that's a problem writing tests, right? Like when I started programming, I was like, kind of hate writing these tests because they keep pointing out shit that's kind of wrong and then after fix that, I don't have tests. It all works fine and I'm happy same with TypeScript. I pins to some talk Yeah, I know that's kind of wrong. So now I have to you have to fix it. So yeah, just

24:44 to let you speak at a high school.

24:48 It's the See No Evil Hear No Evil I I the I do think that the dependable stuff there's something about turning it off. It drives me crazy. I really value it but at the same time, the reason I had this conflict with the the dependency resolver is it told me I should give me a PR to upgrade one thing, but not one of the dependencies for which the newer version was required? Or would break the resolvers? Just like Ah, what is this thing doing? All right, very good. Very good. Brian, the chooser you

25:14 need to? Sorry, you need a batch batch dependency resolver. Yes. And that resolves everything at once. And then make sure you've got a working state at the end?

25:23 Well, the thing is, the pip is fine. It was right. It's that depend about if you have 100 100, I probably had 20 dependencies in this thing. It gives you one PR for each line is sometimes it's like lags a day on the other one, and if it gets it out of order, then the result the resolver get anyway, long story. frustrating. Yeah.

25:41 I mean, to be fair, speaking of dependency, resolving from the perspective of a library developer, it is hard and it's, you know, you do want to use versioning properly. And I do feel like this this internal conflict between how do we manage dependencies properly for users? And how can we make sure that we can define how our packages depend on each other in a way? that's reasonable? Because not, you know, use semantic versioning not everything is a major release. Not everything is a breaking release, but stuff just depends on each other. And you don't want to lock people in, there's always the ideas, you should be able to pick up your project a year later with its requirements, and it should run an answer really, really, really hard.

26:20 Yeah, and if it gets wrong, then you probably get a lot of email or a lot of GitHub issues.

26:23 Hey, Brian, on your topic of pipe Project tommo. What's the latest greatest on ebal installs,

26:29 I don't think it's completely working for all the same. So I'd like to be able to say pip install dash E is a deshi. And just a project, you can say pip install just a directory, no matter what kind of packager it has. So that works now. So you can if you even if you split or something, you can't do dashi, but Flint itself, for instance, has its own editable install thing. And I don't know what poetry does. I don't use poetry. So it's a different command. I'm annoyed that it doesn't just convert it. We should plug it in. But I think that'll be coming in. Maybe in 2020 or 20. Probably not this year, maybe next year, hopefully.

27:08 Yeah. Bad Wolf says in the chats, what is a quick solution for getting pip version updated? First thing you created virtual farm. And this is another thing that drives me crazy about pip and if they could get changed, I would love it. When you create a new virtual environment. Basically, for about a week, you have the latest Pip. And then afterwards, as soon as you pip install something, it says warning, your pip is out of date. As soon as you create a virtual environments like well, why didn't you just update it? I want. If you're going to tell me it's wrong, just fix it.

27:34 You can use virtual environment instead of v and v use virtual environment because then you can update your Pip. And you can update the global one and install it in your environments.

27:43 Interesting. Yeah, I just wrote up an alias that will create the virtual environment, upgrade different set of tools and then activate it. other way around. Activate that. Yeah,

27:51 yeah, it's like that, too. Yeah. Awesome. And then you can also have it installed, everything you need, you know, in the same command automatically create one switch. I checked my script somewhere. I think on Twitter, if anyone's interested

28:04 nicely, I might just V and V, I just type v and v. and magic happens. I don't think of it anymore.

28:08 But when I finally switched to virtual land, it's like, I make so many virtual environments, it's so much faster. And just that even just a few seconds, several times a day. It's worth it for me. So

28:20 yeah, okay. Awesome. All right, I've chosen next, and there's a dependency in the chooser. So it's worth correctly. So it's chosen me actually to talk about the next thing. And Paul touched on this, but I think this is a really important one. Like, this is the year that Python two actually went away. And it's I just spent so long having to justify why Python three is the right thing. Or more often teaching people No, no, no, you can't type Python, please don't do that. Unless you're on Windows, and you have to do that. But if you're not on Windows, then you better not do that. So you got it, you know, just like this, drag it, it always felt like things like Django or flask and whatnot, were being held back. All these libraries were being held back by Python to support. And last year, they started dropping it. And then Python two itself actually went away, Brian and I tried to create the right nomenclature around this, I guess, is calling it legacy Python and modern Python, rather than two and three. And that was that was fun. People started to quote it and use that terminology, which is kind of cool. I don't know how well it worked. But it's really nice that Python two is finally officially gone. And I thought there'd be a bunch of people would freak out for Python and start creating like alternate old versions, and I haven't besides some, like support commercial support stuff. I really seen that happening. So it's it's pretty interesting, I think.

29:37 Yeah, I think I show like horns and stuff. And like, you know, maybe

29:43 just some, like bottle. Yeah, yeah. A New Years. Absolutely. Yeah. I mean, we really didn't get the party we were hoping for right like pi con was supposed to be this big. Send off for Python two. But no, there was not so much of a PI con. Not really. I mean, there's online but it wasn't the same.

29:59 Now. We just got Wait until we have all of the articles about the companies that finally decided to switch and the steps that they took, yeah, that they avoided for the last decade to to make this a reality.

30:11 Yeah, one of my biggest corporate training clients, they have been using Python two for years and years. And they do all sorts of testing of hardware using Windows. And so with all sorts of custom c extensions, so I've been saying them for years, every time I do training, look, you should really be doing them three, and you should realize you should move that direction. And there was basically no, no, no, we got so much invested in what we've done, we're not really an upgrade. And finally about I guess, a year ago, they realized, ah, we're going to be stuck on our own maintaining everything, putting all these packages of API, maybe it's time to start talking about it, as I'm actually doing some training for them now, and I asked a group, should we do Python two or Python three. And the majority actually said, it's okay to use three because our group has switched. So they are moving, it's clear that, you know, even sort of the the drag test of the drag is companies are doing it.

31:04 Yeah, I'm just gonna echo what what Ruben said that, you know, when you have success, and you get enterprises using your stuff, and enterprises are slow to move. And, and I don't want to like criticize Python three too much. But I think if they would have put f strings in 3.0, then they wouldn't have had this problem. But because they waited for f-strings, and then they had people dragging their feet.

31:25 So we'd have that drag. That's that was one of the most popular features for sure.

31:29 You're saying the walrus operator was what finally did it?

31:35 I'm not gonna go there.

31:36 You know, I was not super excited about the wall sharpener I found myself using all the time I like it didn't mean

31:41 Oh, that's cool. I think it definitely solves a problem. I just wait. That's the age right. The Wall was,

31:46 I believe so?

31:47 Yeah, yeah, I'm still I mean, I feel like I'm now back at like, okay, we finally dropped support for two from all of our libraries that we're developing. And now we're on 3.6. Because, yeah,

31:55 the 3.9 is current 3.8 is now the new legacy.

32:03 How was it for you like, a library developer?

32:06 Yeah, I mean, for long, I feel like I only really got to use Python three this year. I mean, of course, I've been using it privately for much longer. But I would say, admit, this year, I was finally like, cool. I just use tie pins, I use f strings across all of our projects. Because before our dependencies had to support people on to an old version of spacey out to support people who wanted us to. So that's that kind of becomes the baseline. And now we've moved that up to 3.6. And so on. Till 3.6 is dead, dead still always new features that, you know, we can't just you know, ship.

32:36 Yeah, but that that step from two to 3.6 is going to be way bigger than 3.6 to seven, right? That's a very small step. 236237 or 37238? So you've done the big step.

32:48 Yeah. Awesome. Yeah, yeah. And some of the new features. It's like, yeah, whatever I can, you know, live without writing those in my codebase. And people can still use them in their code bases. But yeah, all the new versions, we're gonna publish, like spacey three, that's coming soon, we'll use Python three in the codebase. And will only work with Python three, we won't distribute wheels for Python two, which we might have not even done for a while, because it's really, really a pain for some of our more abstract and complex dependencies that we're also building. Yeah, cool. So far, probably complain, like I was, I was expecting people to complain a bit more, but like, No, well, if

33:20 you look at the PSF, JetBrains survey, the data science folks that side of the house have definitely moved to Python three quicker and bigger than the web team.

33:29 I'm actually surprised how quickly people move up. Like, you know, I don't know, even after three nine came out, we've had people questioning like, Oh, my God, why does your, you know, annotation tool not work on, you know, three, nine, or why does this not work? And it's like, nothing works on the nine oh, it's like, I'll see I doesn't do three nine yet. Like, I can't build anything. None of our other packages. Run like sorry.

33:50 I felt like a big person developer for like, the first time ever, when I actually got my first issue with running the latest and greatest Python. It was because I was running GCP. And I kept running into an error or running into an error. And I was like, You know what? It used to work. Let me just try it on 385. And then sure enough, it worked perfectly. And I was like, I've done it. I've reached the new achievement like,

34:12 nicely, I've taken down the top Python training website by shipping the walrus operator accidentally, at the time, the vendor didn't support it. A quick question or a comment from Zach in the comments about when you know, we can actually say like, is he pythons gone when the OS vendors stopped supporting it? I think Python two is no longer shipping with the new macOS. And canonical is starting to make Python three eight the default so I think we're we're getting there

34:37 is I thought they were removing Python in general from macOS or just making you install it yourself.

34:43 I think there might be some internal system thing. I saw people talking about the system Python three, eight, even though I agree I heard the same thing you said

34:51 but I don't have a fresh it's not actually so such a bad idea. Like I think you know you for most things to do. You have to install some extra stuff anyway. So making it inexpensive. explicit install from a user's perspective, I think is nice. It's not terrible. Yeah. Because otherwise, you know, if you just type in Python, then you just run into all kinds of potential issues anyway. So, yeah, especially when it's super out of date. All right,

35:12 yeah, I definitely end up like telling people my courses. Oh, using a Mac, yeah, ignore the Python. It's installed. I know, this is a Python course. Ignore the ones it's all Here are ways that you can install it on your own. So it'll be up to date. And here's how you can make sure it doesn't conflict with what's already installed. So maybe removing it altogether is not such a terrible thing.

35:30 Yeah, for sure. homebrew homebrew. Alright, enough. The voting system is chosen. You Next,

35:36 unmute myself and look at my notes. Yeah. So I think I've already mentioned the topic I was going to talk about about five times so far. But yeah, I think in 2020, and really, so the ecosystem about type hints, static type checking types, in general, mature and like really be widely adopted? And I do think a part of that is the more widespread adoption of Python three, because before that, to be fair, you could use type hints before Python three, just for completeness, but like, that's not what people did. And they've looked a different so yeah, now and actually even I couldn't really imagine writing code without typing anymore. Like if I write something, and I'm not adding any types, it feels kind of naked, and it feels kind of wrong. And I actually feel like, Oh, my God, I might be missing some issues here. Maybe I'm not catching some bugs. So yeah. Which is quite surprising, considering it says something, considering I only just recently was able to really embrace all the new Python places. Yeah,

36:31 that's a pretty quick trend. It's find it Yeah. Go I depend on this thing now that like previously, you had to stay away from

36:37 Yeah, and I have static type checking enabled in Visual Studio code, you know, underlines things. If you pass in the wrong types. It gives you all these nice, like autocomplete prompts, or previews. If you want to do something I got really, really used to have a really short period of time, like, I don't know. But what about you everyone? Like? Do you use type pins? Like, can we have like an opinion poll, like just base the hand and then we summarize it for people who address everybody.

37:04 I'm Ryan Rowley, I'm slowly starting to use them more and more, I see the advantages. And in part of the mission before we start recording, like, because my students are encouraging me to use it more and more because they want it because they come from languages where there's no such thing as optional type, it's, it's you must do this, or the program does not run. So what do you know, they can actually be useful?

37:25 Yeah, I think that's one of the biggest benefits that I like about the type hinting system is that it's optional, so you could choose to use it. And then if you don't need it, we could just take it up. Because for me, like, I believe in lazy being a lazy developer, and stuff like type hints just make certain things a little bit more discoverable. Right. And, and kind of like, what we were saying before, like, it just improves your tooling to be able to discover more of

37:48 your code for you. I like to use it, I like to use it for API's are especially for package interfaces, so that people using a package can can use the editor tools and stuff like that to further hints. And also just wherever it makes sense. I mean, if it looks like it actually distract detracts from readability, then I take it out readability is above all for me. So if it's usable and readable, it helps

38:12 me like there was

38:14 any like, I don't know, you if you have a function that takes several arguments and then returns like a callback that gives you this kind of typing. I wouldn't advocate for that, necessarily. But yeah.

38:24 And I feel like they're they're working on some of that confusion as well. And some of that, like clutter and bloat. I mean, that was, I talked about that 3.9 story, it was because I was tired of typing typing dot list or typing dot dict. And it was like, Oh, you mean, I get to do this now? Like, and then sure enough, you know, stuff crashes. And it's like, well, guess not maybe later. But it's great that for people who are looking at Python as a tool that they're using, not the language that they're reading on a day to day to day, but just flat out the tool that they're using. They don't know what we're talking about half the time, but they can kind of look at something and go str Hmm, someone mentioned a string that one time, maybe that's what that is, you know, it's a lot easier than just looking at the code and trying to figure it out.

39:11 Yeah, speaking of tools, I think, type ins, they're not only that syntax feature, they've really enabled this whole new ecosystem of tools that use type hints to accomplish something else, or in a creative way. And I think many of them have been covered on this podcast previously, for example, there's pedantic, which uses hyphens in actually one of our favorite creative ways for data validation, settings, management. It's actually a library we've adopted across a lot of our projects to just quickly you know, you define this interface. Here's what I expect. You get like, kind of like JSON schema, just with type hints. identic is

39:43 so wonderful. Yeah, you're right. It's really nice.

39:46 It's really I would say it's one of my favorite recent discoveries in terms of Python developer tools. And then of course, there's FastAPI and typer developed by my colleague Sebastian, which probably have been discussed a lot on this and related calls Yeah, he

40:00 was on the show ago, like 10 shows ago or so. And yeah, that's a fantastic framework to.

40:05 Yeah. So that's, I think it's also partly what really popular, popular, popular is a great way to tie pins in as a board as a tool for Yeah, developing applications and so on, I think also also actually pedantic. And yeah, we've also in 2020, I think released our Machine Learning Library thing, which kind of functions more like a, an interface layer, and lets you write neural networks, combining layers written in different frameworks like pytorch, TensorFlow, and we've included custom types, for arrays and all that stuff that passes through the network. Because you know, if you're doing machine learning, a lot of it is like really abstract, you have like this multi dimensional array as in like, 300 dimensions, and then that goes through, and then it gets transformed. And then it goes all the way back. And at the end, you're hoping to get something out. And there's a lot that can go wrong. And it's not even about like, Oh, we experienced it as a programmer, it's like that. It's just abstract. And we can make it a bit less abstract, even by just providing custom types that you can declare. So it's easier to see what goes in what comes out to do these layers fits together, do they not? Because otherwise, yeah, you easily end up with it's very hard to debug NumPy arrows are triggered by like five layers deep that tell you that you can't walk past that shape into this other shape. And you're like, yeah,

41:24 this doesn't help me, I have no idea. Yeah, there's also things like my pi c, which will compile stuff that has typed in there scythe on which will use the new Python type ends to compile to much faster code. So there's a lot of neat things coming out of it.

41:39 Yeah. And I think especially for abstract stuff, like machine learning there lots of use cases that were type ones. And type based validation is really promising. Because we can also take something a developer already knows like typing your functions, typing your layers, and it will just work and do some extra stuff, if you wanted to, watching my PI evolve is really cool. And in four, four, think we've briefly dabbled in like custom might like my plugins for get back, we have a plugin that checks. If two layers you're chaining together, return the correct types, like you know, if you have one layer that returns a two dimensional array of floats, and the other layer expects a two dimensional array of integers or four dimensions, whatever, you can actually see that underlined in your editor done by my PI, as you type the code, you can prevent a bug before you even make it like type it and introduce it. So that's cool. I think that'd be that's all very actively developing. So I think there's so much potential for custom plugins, like imagine more libraries just coming with our own my plugins that help the developers use those libraries better, I think, yeah, that's all super cool.

42:43 Yeah, it's early days, there's a bunch of great tools. So let me round this out. With coming back to one thing you said, you talked about how is optional. The closest analogy that I think we have to this in other languages has got to be TypeScript, which is like JavaScript plus types and a little transpiling thing. And it's all cool. But all my interactions with TypeScript are like, Oh, you haven't declared this thing, right? This thing's it's like, it's, it's as picky as C++ or C# or Java. But it's it's not as like built from the start, like, the tools aren't necessarily all there to make that fit together. So I always feel like I'm kind of stumbling over the things like 80% of the time, it's helped me and 20% of the time, that frustrates me. Whereas like here, you can just kind of leave it off, take it or leave it if it's good. Not good. Yeah. Yeah. I

43:27 think TypeScript definitely helped with some learnings about how developers interact with typing. I think the thing with TypeScript is very, like there's a lot of features in there. And it's very customizable, but you know, it's kind of like, you have like a nail. Right. And it gave you a jackhammer. You really don't need the jackhammer.

43:45 Exactly.

43:46 So finishing hammer would be nice. Yeah, there's

43:49 a lot of different things you can customize. And some people need that. But I think for 90% of folks, I'm making up that number. That's not a real number. But for a lot

43:57 of folks who hold the show at me,

43:59 you probably don't need a lot of those knobs to turn in options to say,

44:03 Yeah, absolutely.

44:03 There was like a two year period with TypeScript where I'd read the roadmap. They do a great job of running their project, great job. But they put a feature in using words I didn't know from type theory, and I beat my answer was, oh, that's for Angular. Oh, that's for Angular. Oh, angular Zilla went having that problem. Yeah, there's some serious machinery.

44:25 Yes. All right. final final thought of this from the chat. as Eric O'Shaughnessy says, I love how typing solidifies the author's intent. Yeah. All right. Let's have the chooser choose again, Jay. All right. So

44:39 I totally didn't peanut butter on this. But as y'all were talking, like, I just got some wonderful ideas. And I immediately started thinking about just the doubling down of some of the technologies that we've seen kind of pop up over the last couple of years, but then truly evolve and like one of the biggest examples of that and I know I'm like five years daily dollar short here, but like Jupiter, anything Jupyter Notebook related. Like, it's not just for the solo data scientist anymore, like collaborative Jupyter Notebooks like to me that I know people that just have dreams about that and they're like the best dreams ever. And you know, I know Mike, you just did a podcast episode a few weeks back about that. And we were talking about it on Python bytes a little bit there. Like it's not just one option anymore. It's you know, there's coke out there's pi binder, there's deep node apparently, I'm a deep node influencer, and I didn't even know it. But it's awesome,

45:33 you

45:36 know, exactly.

45:38 But not just in like Jupiter land, we have like crazy ideas like, what if we could do Python on the front end with anvil. And like, now Anvil is saying, like, Hey, we're gonna open source some of our server technology so that you can take this technology and do it yourself. And I think that that's just like with tie pins, we're coming up with these ideas. And we're taking them a step further. I think that this is what In my opinion, has kept me in the Python ecosystem, as long as it has, is because I'm constantly learning about like, brand new ways to do a thing in Python. And I have to talk about this because I told people in my Slack channel that I would, but like, we just thought, you know, it elastic, we just launched a brand new tool called Ilan, and it's in beta. And the whole idea is, it's like a panda's data frame. But instead of storing all of your data in memory, you can store it in an elastic search, you know, data store. And that's an interesting idea. So now, instead of being limited to what your RAM can hold, you're limited to how much space you got. And you can run search in that you can run queries on it, you can tie it into things like you know, psychic, learn in TensorFlow and do machine, you know, any type of machine learning on it. And at the end of the day, you're doing transforms on the data as it's in the data store. So there's no more downloading a bunch of data working on it and trying to re upload it. And it's off of the backs of crazy ideas from people crazier than I am, that are just like, hey, what if we could do this. And, you know, to me, that's all I wanted to do with Python is just make up goofy stuff and see if it would work. I think that's an interesting idea. You could start using things like lots of data and things like serverless, where you get really short execution times, and not much power. But if it's already in something like elastic, you could do pandas against it, like, quote, pandas, like the API against it, without really suffering a lot of trying to download it to your little doctor lambda callback thing. And before it runs out of time to execute and whatnot.

47:36 Yeah, actually, I think I've seen some people do some cool stuff with spacey and elastic as well, you know, processing all of their huge volumes of text, which also, I think is such an interesting part of our application of data science, like, you know, you, you want to have, you have so much text that, you know, you can't even nobody can read it, you can barely store it, but you can still analyze it and process it and find something out about it that otherwise. So yeah, that's, that actually sounds quite cool.

48:00 I mean, the problems I was I was having initially was just this amazing problem of like, I've got a million lines of data that I need to do something with. And I've got this little Mac Mini here that's just chugging along, trying its best. And everyone's like, Well, why don't you just use the Google API? And I was like, Okay, well, I did the math, I'm going to need $20,000. And it's like, okay, so we can't use the Google API. We can't solve it with that problem. What else do we got? And now it's like, oh, wait, you mean, I can just store all this data, because it's only a few gigs. But then I can just hit my local server as many times as I want, let you know, search store any type of data store that's good at retrieving the data as I want it as I need it, and then let it do its thing. Like that solved a $20,000 problem.

48:45 I mean, even even aside from the cash, do you want to send all your data to Google? Probably not? Yeah. That's what could go wrong.

48:56 also send it to Facebook while you're at it?

48:58 I don't know. I was I was working with police car records. So I don't want to send that data anywhere. I don't want to be on a watch list.

49:05 No, exactly. I think those are like really a lot of these really important applications of the technology. When in the health domain, people are doing good and useful stuff, but they should not do that stuff at that type of cost, which means sharing all of their sensitive data with companies that will you know, wanted for some other reason.

49:21 Yeah, absolutely. Matt Rubin. You guys do training. What's the Jupiter story around there?

49:26 I did a class with not Jupiter, but it was all colab based this morning. So yeah, I use it a lot. I think it's great for beginners. Like I said, for a lot of people who are scientists or engineers, that's what they sort of consider Excel. And so a lot, a lot of them sort of want to sit in Jupiter all day. They don't even want to like think about modules or code or even software engineering, right. And so it's somewhat of a challenge for me to sort of say, Okay, let's talk about some engineering skills and some good best practices. For Python projects are like, I don't want to leave Jupiter right? Can I do this on Jupiter? Like, well, you, you could, but you kind of don't want to per se, but yeah, definitely cool. I think what I'd love to see as an as is fancy my PI checker hooked up with pandas on Jupiter that would make my day because that's one of the things that I find confuses people just with pandas having 50 ways to do things and then objects returning five different types are methods that return five different types. Like you don't get any tab completion or any of that good stuff in in Jupiter when you're doing a lot of the machine learning stuff.

50:35 Yeah, and a bunch of like, grown up engineering stuff is coming to Jupiter, right? Like NB Dev, and B, QA. Some of these other stuff that's coming is making it way more interesting for that regard. Yeah,

50:46 the MB dev stuff is interesting, just coming. I mean, that's sort of taking it to that sort of literate style of programming. We're gonna stay in Jupiter all day and do everything from that. And then, you know, Netflix has their stuff where they're deploying Jupyter Notebooks to production. Yeah, it

51:01 was paper mill. Yeah. Reason, have I. And then I'm gonna run the chooser. So I,

51:05 yeah, I mean, I use Oh, so I use Jupiter everyday for my writing. I don't use slides. I just do live coding. And and I find that's a great way to show them, not just the answer. This is how you post something. But this is the process you use to get to the solution is teaching people that process is really important. It also means I can share with them everything that I typed during the day really, really easily. People are a little resistant to using it, especially experienced developers, they're like, wait, what is this thing? Why are you not using a normal ID? I've actually had to force myself in the last year to remember Oh, yeah, we should do a few exercises and tell them to use the ID. So they won't think that everything is done in Jupiter. That's a great environment. But like, there are other ways to go software.

51:46 Why is Python only running this weird web browser thing?

51:50 Speaking of this, this is another I think this is another reason why Python has taken off so much just that you want stuff to be dynamic. If you're doing the sort of data sciency type of work, you want to run your code that way, even if you're running it in an IV in a more traditional way. But I think Jupiter has especially not just like, Oh, you want to have like these little notebook cells in your browser. But more like, this is the type of way you want to interact with code, run something, change a line run again, run that part.

52:16 Well, they're coming from too, they're coming from notebook environments. And so this, this makes sense for a lot of these people

52:22 and being able to explain it, you know, on the same, just in one look like instead of going, here's five slides explaining what I'm about to do, or here's just the code. Now, let me sit here and explain it to you I can, I can literally break it down line by line. Okay, this is what's about to happen. Now, let's run this and watch it happening as we go. For people who don't write Python full time. Again, it's amazing. Because for them, they can see it piece by piece, just like you know, my daughter, I'm just trying to teach her how to read early. And it's just like, like break it up piece by piece. And like you can do that when you're training young experienced the wise pathania says and just say like, hey, let's just look at what this does. And if we want to dig into it, it's almost like having a debugger in your presentation. And just being able to like, stop at any point in time and go, alright, let's let's jump in. Let's go deeper. Let's really talk about this.

53:13 Yeah, or be able to step back two lines of your execution true. All right, just for the time being, guys. Last night, Ruben, you get the final thought in this one,

53:22 I started using more and more markup in my notebooks as well to like, sort of document what I'm doing explicitly and sort of isn't just using hashtags and then comments, so it becomes much more obvious it with bullet points. I think people are enjoying that as well.

53:37 Yeah, that's great. That's, I mean, that's part of the Zen of notebooks. All right. And you're up next, the random match choices selected you.

53:44 Okay, so my big story for this year is very small story, a Microsoft story. It's COVID. It's the Coronavirus, which I think for the first time ever, it's the topic that everyone is speaking about in every country, every walk of life, like whoever I talk to wherever they are, this is the only thing people talk about, because it's such a profound effect on everything we've done. Now, you know, does the Python show so we'll talk about the Python aspect of it. And I'm not trying to minimize it all the extraordinary pain that people are going through physically, medically, emotionally, financially, on, on and on, but Python is consider it as continues to chugging along throughout this crisis. In fact, like we've seen that big companies, high tech companies are actually among the winners in this as the whole world has gone digital. And companies are hiring Python developers, they're really desperate to buy the developers, the number of people my corporate training classes. But when we go around, everyone introduces themselves who are hired in the last six months is amazing to me. Like these are people who are working from home, or interviews from home, hired from home and are now doing training from home as their companies sort of grow and interest in power every day. So people who have Python skills have continued to be I would even say, are increasingly in demand, which is amazing. The bad news among the bad news is, of course, so I mentioned this before Python, and all the other meetings and meetups and gatherings have suffered as a result, the good isn't this friend is I've been able to speak in many more conferences that I would have been able to, because hey, I can attend the conference, from my home office, I don't need to fly anywhere, go anywhere. But you know what all of these conferences, these online solutions are still really lacking. At the end of the day, as much as we want to say, we're virtual, we're online, we can make it this way. And that is an important part of things that face to face contact, that personal contact is really missing. And I'm really feeling it. I've only been going on with this for a few years now. And boy, I really just being in the same room as other people and talk to them and chatting and just sort of randomly bumping into people. And then you also have the financial aspect of it that someone's mentioned earlier, the PSF. Their big fundraiser each year is Python. And I'm sure it was a hit for them, not just not to have it this year, but to have to cancel the venue. And I am extremely skeptical that's going to happen in person. I know euro Python already said it's not happening 2021 and want to see exactly how this affects the community going forward. I say so far, we're doing okay. But you know, here's an opportunity for them to figure out how can we do conferences online that are effective in a closer way to what we've been doing so far. The news is, I would say on balance, good for Python, and for people who know Python, but still pretty, pretty bad overall. And also add that like these vaccines, I mean, boy, boy, if they work, this is going to be like, I'm super not as a biologist or anything. But I'm so amazingly impressed with all the science and the work that people have been doing on this frog. And I think this, this has a chance also to affect their lives moving forward, how they develop,

56:41 they just need to make a Python bubble. So in the United States, the NBA was continuing to play because they had a bubble where they isolated all the players for however long right so we just all go to somewhere and bubble up for

56:57 our Do we have our coffee? with you guys from on

57:01 my family? Let me do that.

57:02 Jay, we'll just do it in San Diego, man. It's nice. Okay, I'm all for another island. We'll just get a section of it. Okay. Oh,

57:08 come on. No. Mandatory quarantine for like conferences. I just did to record one thing here to be able to enter Australia. In Australia in a hotel room. Yeah.

57:18 icon in Australia.

57:20 That sounds okay. To me. Problem solved. Well,

57:21 I mean, it is to be fair, it's it's expensive. So I wouldn't, you know, it's like, you know, you would you want to pay like you know, your conference plus two weeks at a hotel in order to do that. I don't think that'd be a that'd be even less inclusive, then a lot of these conferences already are. So I don't

57:37 want to take all of his thunder. But one of the first conferences that I watched was sessile. Please remind me now because I'm blanking. That's how long of a year it's been the conference that you helped put on? and other teams, you know, yeah. And And with that, I mean, one great conference, I'm sorry, I screwed up on remembering the name. That's my fault, not yours. But also the sheer fact that that conference was organized in two weeks. And it was an amazing conference, like the ability

58:08 had never been done if it was in person, right?

58:11 Yes. So like the accessibility that you're providing to new speakers, people that normally would not be able to get up and give a presentation. Like I've had that conversation. So many times of like, the type of talks that I like to create are not the type of talks you see at pike con. And there's a reason why. And it's not a bad thing. It's just it is what it is. And I think when you're able to say, you know what, let's do a conference. Let's make this happened. Let's let's just get up, we can have fun with it. I've seen some conference talks that were literally small budget films, like they had multiple cast, I've done transcriptions on on conference talks that literally had like, they gave me the script, and said, All right, here you go. So like when you can actually do things like that and think outside the box and use this time to readjust the needle, there was a good podcast episode on more than just code I believe not more than just get on number one is I'll find it greater than code. That's what it was. And they said, if we haven't taken this time to do something better, when things are different, when things have improved, then shame on all of us. Because yes, this sucked, but it caused us to think so much outside box that we should be able to take all that knowledge with us when we can get back in the box and just have a ton of fun with it.

59:30 I think that a lot of opportunities been made available for people to attend conferences, and for people to get jobs where companies would previously say no, you have to move to San Francisco or to Omaha or whatever. It's like, Well, you know what, no one's going the office. Let's try hiring from the best in the world instead of the best in Nebraska or whatever.

59:48 I think that might be the biggest fallout of this. Michael is just the change in everything being centrally located in Silicon Valley. Yeah,

59:56 I've heard of a lot of people like that actually just have jobs in in the valley. That have moved back to where their parents are, because it's like 10 times cheaper, or something like that. And, and they're not going to want to move back.

01:00:09 Yeah. Have you heard that some companies have been readjusting their, their salaries, they're saying, Well, if you live outside of the Bay Area, then it's cheaper. So we're gonna cut your salary as a result.

01:00:20 People have been Oh, I've always been doing that. That's like, unfortunately, not new.

01:00:25 So if you're listening, and this happens, you can say, well, you no longer have to pay yet umpteen million dollars for my office area. So let's call it an even swap.

01:00:37 Just Just keep, just keep a virtual address. And in the Bay Area,

01:00:40 exactly. My PO Box is right down on Fifth Street. All right. Last one, this random choice was easy, because we're down to our final excellent guests. Matt Harrison, what do you got for us?

01:00:49 Okay,

01:00:50 my thought was just on sort of the hardware aspect of things this year. So I have a daughter who, who started college this year, for better for worse. And she's learning both C++ and Python right now, her linear algebra class as a Python lab, which I think is awesome. I wish I had that. But I was actually helping her with some homework I wasn't doing but she was like, I can't figure this out. So I was her rubber duck the other night. And her issue was allocating memory. Right. And, and so one of the things that's nice about Python is you don't have to worry about allocating memory. And you know, she got all the output, but she was just double freeing a pointer here, which they checked on submission. So pythons now now we're seeing Python. And I'll just tie this like I I have a client who wants next year wants me to do a training on GPUs with Python, which just goes to show like, my clients tend to be big companies. And so big companies are now leveraging, like specialized technology to do things very quickly, right. And if you have a GPU, you can get 10 100,000 times performance that you get out of a CPU. So I think that's super exciting. There's the rapids project, which is heavily sponsored by Nvidia. And I'm super impressed with that. They're basically like taking well known API's and basically saying, Hey, your code, basically change an import or, you know, with the change of an import, and this hardware, your code will run x times faster, or whatever. And so I think that's super compelling and exciting. Not that necessarily everyone will have access to those sorts of things. But it's now it's now getting to the point where it's becoming more common. On the note of hardware. I think another thing that was really interesting this year was the apple and one chip coming out, I actually bought a beefy PC this year, having run MacBook for 15 years, just because due to Corona and whatnot, I needed something beefy to start doing virtual sharing and presentation like this. And my MacBook just wasn't cutting it. And but the thing I don't like about my PC is that as it sounds like it's going to take off every time I start doing something right, like modern Intel chips can take us to Mars, if they want to, we just need to like make a huge drone out of them. And so I'm super excited to see like if you can get a silent mac book that you know, is super powerful runs faster than Intel chips, that's super compelling, especially if they allow you to get a little bit more RAM, which from the machine learning side is interesting to me. But I'm also excited about the competition factor of that I think like Intel and the chipset have sort of stagnated for the past couple of years, we sort of run out of the end of Moore's Law, per se. So I think both the GPU and the M one, it'll be interesting to see what the competition is from the PC manufacturers, if they're going to, you know, do a similar everything on a chip thing or just sort of go with what they've been going with. I think competition is good. And so I'm excited that Apple did this, even though there's going to be some growing pains and Python might have some issues at first. But I think in the end, new technologies, new hardware that allow us to write at high levels and not have to worry about freeing and allocating memory, which again, a lot of people are using Python don't care about that. They don't want to be programmers, they want to leverage great code stand on the shoulders of giants and the latest and greatest software and hardware and have it be fast so I'm super excited about the future with them.

01:04:24 Yeah, I'm really excited about both these things like the whole GPU revolution is incredible. And the apple m one stuff is going to be really really interesting like like you I I bought a maxed out Mac Mini actually had already ordered a top of the line MacBook Pro 16 inch, and then that came out I started seeing the reviews. I'm like, you know what, forget it. I'm not getting that thing. I'm getting this new one to try it out. And he does have some drawbacks. Like Docker doesn't work right away. Maybe it will maybe it won't, but I have a 2018 MacBook Pro. That's pretty good. I have a sim racing 16 core machine over there. Like I've got plenty of Intel stuff to work. So I'm gonna try to jump on this. I think the interesting Python angle here, besides just having stuff to run our code in is, you know, is talked about like her ci didn't support three, nine right away Well, whose ci is gonna build wheels for Apple in one straight away and things like that there's gonna be some interesting growing pains, especially on the data science side as this true platform.

01:05:20 Yeah, it's fun. You mentioned that because actually, when this came out, we were also thinking like, maybe we should get one of these, you know, we want to make sure spacey compiles properly on it, and we can really, you know, optimize for that.

01:05:29 And did you guys go on? Yeah,

01:05:30 because someone has to do it or so you know, not yet. No. Also, it's a bit difficult with the traveling, but like, yeah, that's kind of fun. We have other priorities, too. This is not I wouldn't put this like, at the very top, but like, it's definitely something you want to do. While at the same time, we also want to keep optimizing for CPU. Like, that's the other thing. Of course, you know, even all the new these new NLP models, all of that stuff, obviously runs great on a GPU, and we'll see a lot of improvements. And we also see, this become much more available and cheaper for people to use. But at the same time, we're still we're still optimizing our tools and libraries for CPU, like you can run it on your random laptop. And also it still for a long time, it will be cheaper Still, if you just you know, you want to run lots of machines, and you can get those, you know, much cheaper in the cloud. And if you can power lies, you can train by train your models very efficiently on CPU, if you can get it to work. Yeah, that will always be cheaper for a long time.

01:06:21 There's a lot to say about just the overall cost of computing as a whole. I mean, this is great. This is $10. And I mean, I can run a lot of stuff on that you're holding a circuit.

01:06:33 Oh, this Adafruit thing, just for the people who are not on the video. Oh,

01:06:36 yeah, sorry, I'm holding a Raspberry Pi Zero W. So it's like, you know, four gigs of RAM like enough, you can buy a 64 gig, like flash drive for $3. Now, like, it's amazing, like, just the overall cost of computers drops so much. I mean, what was it the was the Raspberry Pi, or

01:06:55 400? Where it's just, it looks like a keyboard, but it's actually a whole computer.

01:06:59 Yeah. So it's like, as we continue to do more and more, we're doing it with less and less. And it's cheaper and cheaper and cheaper. And most of us are coming from someplace where the cost of living is too damn high. And we're able to say that we can afford to buy a $15 pie zero and not think about it too hard. But the fact that we're getting to that point where you can have people all over the world where the question isn't anymore. How do I get a computing device in my hands? It's like, okay, now I have some choices and they're all affordable. Like to me that's we're gonna see a lot of things come where Brian Aachen is right now we're vs 2103 is in the future. There's gonna be a lot of great things coming in. Yes, I'm looking at chat.

01:07:42 I haven't my kids to have one of those One Laptop per Child and in their bedroom over there. Right, which I think that the the Raspberry Pi 400 is sort of, it's the next gen of that. It's actually something that makes sense. Everyone has a TV, right? And you can just plug it in, and you're not in some weird. I mean, you're in Linux. So yeah, you're in a weird environment. But you can run one

01:08:05 of the laptops with a hand crank on it. Yeah.

01:08:08 Well, it has a little wings. Mine didn't have the hand crank. But okay.

01:08:11 I actually, like I kept hearing about Raspberry Pi. And so I decided to order one recently. And I haven't done anything with it. I like just came a few days ago. But I'm looking at this game like oh my God, this little card here that cost me less than $100. a lot less than that is more powerful than the computer I use to run my entire business for years and years and years. It's just astonishing to me.

01:08:32 Yeah. So I think that's probably a good place to round out the show. Like the future is so exciting. And in some ways, we're like kind of living there. Right? Some of these things that are coming out are so amazing. And I just want to say thank you all to you all for being here. You're all doing such amazing work and it truly humbling. You all took time from crazy schedules from traveling from weird locations to just be here and make this whole event happen. This has been another episode of talk Python to me. Our guests on this episode word sessile. Philip, Enos amantani. j. Miller, Paul Everett, Reuben Lerner, Matt Harrison and Brian Aachen, thank you all for being on the show. It's been brought to you by us over at Talk Python Training. Do you want to level up your Python? Well, if you're just getting started, try our Python for the absolute beginner course. Or if you're looking for something more advanced, check out our new async course that digs into all the different types of async programming that you can do in Python. And if you're interested in more than one of these, be sure to check out our everything bundle. It's like a subscription that never expires. Whatever you're interested in, taking one of our courses or recommending one of our courses is the best way that you can support the podcast. Thank you. Be sure to subscribe to the show. Just open your favorite podcast app and search for Python. We should be right at the top. You can also find the iTunes feed at slash iTunes in the direct RSS feed at slash RSS on talk python.fm. This is your host, Michael Kennedy. Thank you so much for listening. I really appreciate it. Now get out there. And write some Python code

Back to show page
Talk Python's Mastodon Michael Kennedy's Mastodon