Monitor performance issues & errors in your code

#83: Python Videos on Demand at PyVideo Transcript

Recorded on Wednesday, Oct 26, 2016.

00:00 Have you ever searched for a Python educational video, maybe how to get started with pyramid or running queries with SQL alchemy or emler, there's a good chance you've run across pi video.org. This amazing site catalogues over 5000 Python videos from most of the recent Python conferences, among other places. Browse by speaker by topic by event and much more. This week, you'll meet Paul Logsdon, who's taken over the leadership of the project when it was in danger of going dormant. This is talk Python to me, Episode 83, recorded October 26 2016.

00:37 developer in many senses of the word because I make these applications vows and use these verbs to bake this music. I construct it line by line to think when I'm coding another software design. In both cases, it's about design patterns, anyone can get the job done. It's the execution that matters. Many interests.

00:56 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. Keep up with the show and listen to past episodes at talk python.fm and follow the show on Twitter via at talk Python. This episode has been sponsored by gocd. And hired thank them both for supporting the show by checking out what they have to offer during their segments. Paul, welcome to talk Python.

01:26 Hey, how's it going?

01:27 It's going very, very well. Thanks for being on the show. I'm super excited to talk about what may be the largest collection of Python videos ever. And private, it's gonna be great.

01:40 Yeah, I'm excited. Yeah. Cool.

01:42 So before we get to that, though, let's start at the beginning. What's your story? How do you get into programming in Python? Sure,

01:47 sure. So I guess it all kind of starts way, way back when when you first like get a computer, you know, your parents are like, Oh, we should probably get the kid a computer. So that'll be up on like the upcoming trends, or maybe just the family needs a computer or a computer at high school. And that was what it was, for me. I had a friend at high school that was into software stuff. And basically, I just wanted to spend time with him. And he started to teach me HTML. And I ran with that, for the rest of high school building projects for teachers, and ended up in college unsatisfied with the real static nature of HTML. So started to learn PHP, and was just like, all the best rule the world with PHP,

02:39 you know, that's not that far off. I mean, Facebook

02:42 is absolutely, yeah, you're absolutely right. It was actually about the same time to look and WordPress. Does that in a second. Forget what we're running off. Of course, I didn't have those ideas of Facebook, I was more than just like, yeah, I think there'd be a better grading system that I could build. Yeah, let me go to that. Fear grading for everyone. grading and people can access their grades online.

03:06 Now. That's awesome. That's awesome. So did you build that something like this

03:09 now, I jumped through new iterations of like building my own homepage and building like a link holder. So new sites that I regularly visited for news or for school, or for whatever, and I wanted those links readily available. And this was before, browsers kind of had a notion of bookmarks, or at least I knew how to use bookmarks. And so I was like, Alright, we're gonna build my own homepage, that I know I can open up my browser to and bam, I'll have my my links. And I gave that to a few friends. And it was great. And then I had other things to do. But it wasn't my major. It was just kind of something for fun. So life went the other way.

03:51 Yeah, that's, that's really cool. Yeah, things were different back then. I mean, we take so much for granted on the web, and things, you know, like, like Google, for example, the ability to just go and type in and search for a thing that didn't really exist and like some of the timeframes you're talking about, like Yahoo was really there to like, actually manually click the links and stuff like that. Right. It was a different world.

04:14 Yeah. No, it was I remember dogpile, and maybe it was Alta Vista. Mm hmm. As like search engines and, and really these, like, you'd ask for something and it would go off and you might get back what you're looking for, or you might get an endless array of just garbage pages, really like pages that people had left behind. Must have been months to years ago. Any geo cities do you think? Oh my god, they all geo cities, 99% of geo cities. And a good 30% of them were like mine that I like tried to create noses like now that to start a new geo cities or tripod.

04:57 Right now you go from PHP to Python.

04:59 Yeah. After I got through college had PHP fairly well under my belt, I was like, I really want to know how to create gooey apps, I want to be able to create something on something that people can, you know, start up as a regular application like Word. But I really didn't like the idea of investing myself in to a language that box me into either GUI, or web development. Because I, you know, I already knew PHP for web development. I wanted something that kind of did both. And so I knew Python was object oriented. And in my newbie mind, I was like object oriented. And, well, gooeys are objects. So not really understanding at all what an object meant. I just knew it's like, I don't know, it's like, cars or objects gooeys or object oriented programming. That must be what controls word. So I jumped into Python, and, and it was great. I think what really attracted me was the, the tutorials that were available at the time. I remember going through like Google's Python class, which was like only like, eight exercises. But it allows you to do really, like powerful stuff in a very short amount of time. was like, Oh, okay. I'm getting better at this fast. This is fun. So kept on going.

06:22 Yeah, yeah. Excellent. Yeah. And you've been doing a lot of Python since Hmm. So what do you do today? Yeah. What do you do day to day? Like, what's your? What's your program? Yeah.

06:32 Yeah. So I work at a company called 15. If we are like a, a tool for employees and managers to stay in sync, so like you check in weekly on 15, five, answer some questions about you know, how you're feeling and where you're stuck. And then that'll hopefully allow managers do a better job of supporting you.

06:51 So I reckon, yeah, that's one of the challenges that you can have at any time of your work, especially if you're remote is just like, even, you know, knowing like, who's not really happy, who's excited, like, that kind of stuff, right? Yeah,

07:05 exactly. Okay. And, ultimately, I'm, yeah, I think you hit it on the head, I think maybe a little bit more of what drives me for it is, sometimes there's just not a place where you feel comfortable to say what you want to say. And unfortunately, that's the case. And in too many places in the work environment, I myself have been in that situation. And this allows you to kind of be by yourself, you know, how there's a disconnect, when you're on the web, you're not in front of the person you're talking to. And some people run with that and, and are called trolls, right? And they just abuse their ability to be disconnected from the person they're talking to. But also it can that space can give you almost freedom to really think about what you want to say and collectively build what you want to say or not collectively, but individually build the collections of things that you want to say, and be more truthful to yourself. And so that I think that's another big thing that it provides.

08:06 Yeah, I agree. You know, obviously, in that environment trials can be a problem. But I think much more often, it reduces the barriers and the anxiety and the company keishon avoidance and all that kind of stuff that you would get in the way of just having a straightforward conversation. Right. Right. Exactly. Yeah.

08:23 But I also have kind of a hesitation on that. I'm like, well, maybe are we just giving Tylenol to a problem? Maybe we should be focusing on this issue in a different way should we be allow? Should we be putting more education and research into? Why aren't people feeling comfortable to talk to people when they're right in front of them? You know, why can't we have these in more intimate one on one conversations in person? And so I definitely could see as that being a band aid rather than a cure. But maybe I can I don't have the answer. But maybe by band aiding it for a bit, we can heal enough to figure out the cuber I'm not quite sure. Yeah, sure.

09:08 I don't know either. And I'm not sure if the environment that we're creating with all the devices and asynchronous communication are making it worse or better. I don't know. But a band aid is better than nothing, I would say for sure. That's cool. Yeah, one of the things you're really passionate about is education and providing education to everyone, right? Yeah. Yeah, absolutely.

09:29 So I, you know, I don't know if you, you watch the Netflix and you watch the the media, but personally, I don't really watch the news too much. But I watch a fair amount of documentaries, and I talk with friends who are also pretty socially conscious minded. I'd like to think they are. Maybe I'm just in a bubble of people that are not really worried about the world things but I've had several relationships with teachers and they're just So yeah, there's, there's tons of junk going on in the world. And I really don't know how to fix any of it at all. But I do know what's helped me be a better person. And that's been education. And I don't really feel prepared to educate in the things that I don't know myself. So I'd like to be able to educate on how to be like a better social worker, or be a better English teacher, or, you know, know more about mental health. I just don't know those things I do know how to program. And also, along with knowing what I can teach, to a certain degree, I also feel like, just education in general, along with specific skill sets has made me a better person, and especially handing off those skill sets, has made me a better person, being able to communicate to teach someone, it takes a certain amount of skill and teaching. And that's a skill that is really about listening to your fellow human being. Right.

11:05 I think being a good teacher is probably more listening and understanding the question that the student has, rather than throwing out the information that you have Sure, when you're teaching anything, understanding where where that person is, where their mindset is, where they're trying to go like that is super important, and to actually getting what you're trying to teach the state whether that's trying to teach how to access the database or something else. Right,

11:30 exactly. Yeah. So like, knowing that, you know, whenever you're solving a problem, like high school chemistry teacher said, whenever you something problem, it's where are you at, and where do you want to be, and then figuring out the in between, and so it's the same thing you're doing for a student is you're figuring out where they're at, you know, sort of where they need to be, your job was to kind of create that bridge, you said something like, kind of like, to the effect of,

11:53 well, I'm just a developer, but I think developers have a certain superpower in today's society, right? We're kind of like the magicians Sure, absolutely. don't always know what to do with our magic, but but we can like wave our hands for a little bit. and out pops the thing that could have a huge impact on the world and all sorts of ways Uber, or pie video or YouTube or whatever, while she really,

12:15 you really elevated video there. Yeah, among the likes of YouTube and Uber. If only we had that kind of cash flow, one of the things we could do, it was a good for the world rather than a financial pressure. Yeah, no, I

12:31 thought I would love to see that.

12:33 I absolutely agree. So maybe I little being a developer a little too much. But it was more just to say like, this is the subsection of knowledge that, you know, I know, that isn't my domain knowledge. And this is what I can confidently give out. And even when I say confidently, it's more just kind of like, a little less scared. aliy giving other bits of knowledge, right? Because even developed for I don't know how many years now. And still like, Did I say that? Right? Maybe I did. I don't know. They'll figure it out. If I said it wrong. Eventually, somebody will correct them, really correcting me down the line, at least I hope. So. Not only did developers have like an extreme magician capability, but right now, that extreme magician capability like Pete magicians are in demand. And so that's the other thing that you can do for somebody and is give them a skill set that will could potentially totally transform their livelihood. I say this out of my own experience, I got a degree but I really didn't have an have a good job. I didn't necessarily come from a super well off family. And doesn't have to be like a boohoo story. It's just like, being a programmer totally transformed my opportunities in life. And being able to give that out is I mean, that's the best thing you can do with this knowledge right now is give this out.

13:59 Yeah, it's super rewarding. Like, I'm thrilled to be able to do this podcast because I hear you know, weekly from people like how it's made a real difference in their life. You know, I've got a new job. I've got a new career. Thank you so much. Like, wow, you know, it's I'm just sitting here chatting fuel, and it makes a difference. I mean, it's it's amazing to be able to share this kind of knowledge. I really can't make it.

14:20 Yeah, that's the thing. Yeah.

14:22 All right. So let's talk about pi video. Why don't you tell everybody what pi video is in and sort of give them a background. I'm sure if you've done a search on Google for some kind of teach me this video, Python. You'll find my video I did a quick test a moment ago and I pull up a incognito window and i t type p y v into Google and it suggested pi video is like the second thing. So it's definitely Yeah, it's definitely out there and well known

14:50 to tell us what it is right? It's just an index of Python videos. So maybe I'll take out the just it's an index of Python videos. goal is to make finding Python video content easier for quickly you can get to the video that you want. So if it's all just thrown up on YouTube, or if say an event where there's Python videos captured, doesn't really have a space to live, and people don't want to put it on YouTube, well, maybe they can send us those videos, we'll put it on archive.org and then post links to that in Python, or pi video. The goal is simply to make finding Python content easier. It's like a really

15:33 centralized catalog of Python presentations. Right? Yeah. And with lots of ways to explore that data. Exactly. Yeah.

15:41 So yeah, maybe I yeah, there's definitely a better way. I could have explained that. So here's what else now. Sorry. Yeah, it's, like I said, an index of a collection of Python videos. But it's not just the webpage that you see, the bigger project that's going on, is that the data collection, we got done with a lot of help from a lot of volunteers at the pike on springs pike on 2016 sprints, we got pretty much a fully functional index site built, right. It's a statically generated website. Every time somebody pulls new content into the PI video repo, it's automatically redeployed with all the latest content. So it's super easy to manage, and just real simple front end to the data. But the data is the real, the holy grail of this are the real content. And that data is constantly being built out. And what is the data, it's just a bunch of JSON files with JSON blobs that contain, you know, the title, the description that you see, and links to the videos. And anybody can add to this content. Anybody can. It's as simple as creating a PR, from the fork the repo, you create a PR, and with your events content. And so long as you follow the pretty detailed guidelines for how to contribute, you're almost guaranteed to get that pull request in.

17:05 Yeah, that's great. So first of all, how many videos do you have currently indexed?

17:10 5481? Wow,

17:13 that is a serious amount.

17:15 Yeah. We're just me waving and saying Python, Python, Python. They're all great.

17:21 So that's almost a lot of these are conference presentations and stuff, maybe an hour, half an hour, maybe that is a serious bunch of stuff to go learn. I think one of the really interesting things, one of the good things, the wealden thing of the Python community is about publicizing and sharing all the conferences, and there seems to be a really solid concerted effort to record and share what is done. Like I was really impressed at pike on us this year that basically the same day, maybe the next day, the videos from the conference, were going up on YouTube, you can go to youtube.com slash pie con 2016. And pull those up, right. But there's many, many events that go on around the whole world. And we can't go to all of them exactly

18:15 right.

18:16 I saw some really great ones from Kiwi pi, Connor. So I'm sure messing up the name a little bit. But the New Zealand one, there's no way I could go to New Zealand for a Python conference. Well, maybe someday, if I'm lucky, but but I can watch it right. And I can enjoy it. And I think that's really great. And so your project now that you're maintaining it, I'll call yours. I know it didn't start with you talk about that. And that the world. But this project, let's say does a real good job of bringing those together because I can't like cruise YouTube and go well, is there a pie icon? Au 2016? Right, maybe. Right. So So having this all brought together is super valuable?

18:56 Yeah, exactly. And I think you hit on a really great point is that you wanted to you wanted to see what the rest of the world has to offer restive. At least New Zealand has to offer for Python videos, Python education, and you could go do that quickly getting maybe New Zealand's okay. But say in other parts of the world, say, Africa. I know my brother is in Cameroon right now. And he's trying he if he tries to go to YouTube to search up a video, it's gonna take them a long time. But not we're not even talking about downloading the video to watch or buffering the video to watch. We're talking about just getting to the content that he wants, and take quite a long time. That's even with, you know, Google ating his search. So if he wanted to get to a particular Python video, this site helps him get there faster. It's less hops to the end goal that he wants to get a real long a real complete list of what's available. And that means that people are searching for educational content can get to what they need faster, and don't need to waste time when they could be learning,

20:02 right? Yeah. And you, too, all the data is stored in a Git repo right on GitHub? Yeah, can you can just clone that. And like you said, if you want to contribute to it, you just fork the repo, make some changes. Basically, you create like a JSON document in the right place in the right format, your pull request, and, and back it goes. So one thing I wanted to ask you about is, what type of videos are you looking for in my videos? So when I look at pi video, I look through it and I see that there are a bunch of conference presentations, like I kind of hinted out there. And that's awesome. They should be there. But are there possibilities to put other ones? Like if I did, just like a random tutorial, and I put it up on YouTube? Could I link that in there? Would that be? Well? Are you looking for just conference presentations?

20:50 Absolutely not. I mean, as long as it's not like a video on snakes, just actual Python, I think you're you're in the right category to create a PR, I think when it comes to teaching, which is the one of the major goals of this project, at least for me, I know other part, parts of the pipe video team, they might have different motivations. And I think that's great. But for me, a lot of it's the education focus. And getting the word out there, having several different teachers tell you the same thing is quite powerful. It can shed light on how different people interpret different problems. And so if you have a tutorial that says that goes over the exact same things and other tutorials, and it goes over the same thing as a talk that was given at a conference, absolutely, it's still welcome. If it is a tutorial, if you're thinking like I created this in my basement, does belong on pi video. Ask yourself, is it about? Is it about Python? And is it

21:47 is it trying to teach people pile on so yeah, yeah. So people, I think there's probably a room for people out there to add a bunch of stuff like Kevin over at data school is doing like Python, VIP tutorial, a week sort of thing. But none of those are in there. Right? Like, it'd be cool if he put it in there. And I've a number I could put in there. And, you know, there's a bunch of people out there that I think are not necessarily contributing. So maybe this could be a little bit of a nudge, right, right.

22:14 That'd be great. If they contribute, or they created a PR, I think all quirements that we have is keep it open, keep it simple and keep it free. And that's really our building philosophy. So not even No, absolutely not, like a restriction. Like if it's if it's a complex video, don't withhold it from pi video is because our motto is keep it simple, right? But as long as it's free, like you can't link to something that's going to

22:38 Yeah, if it's something that is more or less self contained, and it's like a lesson on Python. Yeah. Okay. I think I understand what kind of videos you're looking for.

23:01 This portion of talk Python to me is brought to you by gocd. From thoughtworks. Go CD is the on premise, open source Continuous Delivery server. With go CDs comprehensive pipeline and model you can model complex workflows for multiple teams with ease, and go see these Value Stream Map lets you track changes from commit to deployment at a glance. Go see these real power is in the visibility it provides over your end to end workflow. You get complete control of and visibility into your deployments across multiple teams say goodbye to release a panic and hello to consistent predictable deliveries. Commercial support and enterprise add ons including disaster recovery are available. To learn more about gocd visit talk Python, FM slash go CD for free download, let's talk python.fm slash g OCD. Check them out. It helps support the show.

24:01 Tell us the story. This was started when was it started was started by will and Sheila but I don't know when when he tell us the history real quick. As much

24:09 as you know, I wish I could tell you in greater detail. I don't have it off the top of my head all the bits and pieces. But I think there was something of a collection of videos prior to will getting started on it in 2012 or 2011. And I think he wanted to create a web front for it. And he had an idea and decided to build it out in Django. I think Sheila joined him shortly thereafter, helping build that out and bring in videos. And they were just going at it building out this site for I guess four years, five years. By the time they decided they you know they wanted to do other things. And they I mean they did an amazing job we had like probably when we got started 3000 In some videos, maybe more, forgive me if it's more and I'm incorrectly quoting Lauren Sheila. But they did the bulk of this data collection, and categorization. And when early 2016 rolled around, it was chain. I think it was January, I woke up one morning, and you know, pulled up by video, watch my video while I do other things. And I saw the banner up at the top, and I said, Oh, crap, this is going down. We need to do something about this. And I read wills blog. And really, I just didn't want to not have this tool there for me to watch videos, while I did other things. Right, you taking away part of my entertainment routine, you're talking about tinkering with,

25:49 yeah, you're getting so much out of it. You're like, well, I can't let this happen. Maybe I have to. You have to

25:53 be pregnant. Yeah. And so I sent out a few emails didn't hear anything back. And I just assumed it was like, Alright, yeah, they're probably getting pummeled by other people doing this, trying to help them out with this. So you know, I won't, won't think into it too much. And just let me start building out a small thing, just in case that it's not nobody else is doing anything. And sent a link to well, and Sheila saying, Hey, this is what I got so far. Got some words back from when Sheila, I forget exactly what the conclusion there was. I think it was like, while we're still working on figuring out, you know what the long term solution for this is? And then came May. So Ty con 2016. It was basically we, I think somebody else went up to do a lightning talk. Yeah, it was definitely, his name's Cameron. I'm trying to think of his Twitter handle

26:49 it.

26:50 So he got up and gave a lightning talk about, hey, we need to do something about this. And I was like, Oh, great, awesome. He's also in the same boat. And that must mean that some buddy, maybe I can help with them, you know, somebody else's got something going. And I showed Cameron, the site that I had built out, which was a statically generated site. And basically, the website went that way, because it was already pretty much built. The skeleton was, and all that really needs to be done with styling. And when I say all that needs to be done, a lot of styling needed to happen it needs. It looks totally different than what it did it when I was building it. Thanks to like the big team of people that were helping out at the park on Sprint's on school. Yeah, it looks nice. Yeah. Oh, my goodness, I wish I could say that was because of me it no it this is because of a large team of people. And not only do we have this web team that was working on, you know, making my site more user friendly, and more viable, more robust and prettier. But we also had another two sections that we're working on, like archiving the data in a better way, and also refiguring out how we're going to pull onto data over the long term. And I think once will, and Sheila saw that it had a good foothold, and a new pathway. They were they were happy to let it go that way. I think they want it, you know, it's been a lot of time, it's been four years working on this project. You know, they want to make sure it's in good hands. And I was flattered to hear that they were okay with it, going into our team's hands,

28:28 unfortunately, didn't pay enough attention on how to contribute and how the flow went before. So maybe I just don't know. But it feels like the way you guys have it set up now is it's very open. And it's very much a community project, like contributing data is all through pull requests. And there's a bunch of people that worked on the sprints, and it feels like it's it's sort of spread out to be maintained by more people. Is that true?

28:51 That's absolutely right. Yeah, I'm certainly not the most active maintainer right now. Like, I think, maybe in the first couple of weeks, after pi con 2016, I was doing a lot of work. I definitely don't even think then it was this way that I was doing the most work. It senses become that I my job is to help introduce other people into how to help with the project. And then they tend to jump on. And, you know, just blow me out of the water in terms of, you know, making pull requests, making sure things are clean, and making sure that the site keeps keeps growing. Yeah. So

29:27 you're kind of like the catalyst, or the initial moving force or whatever to get it revived.

29:33 I feel almost that that's too much to say, I am simply I'm a good sign, like, you know, when you driving down a dirt road, and then there's, you know, two paths. I'm a really good sign at the fork in the road saying, All right, well, you just go that way. And

29:51 you will just forget two or three miles down the road, though. Yeah, exactly. Yeah. 42 pull requests and three contributors and then we'll be there. Exactly. Pretty much Nice. Okay, so what do you guys need from the community to like, take this to the next level? Or at least keep it thriving? Great question.

30:06 We need more contributions from conference organizers. So usually, who has the money to pay for video cameras to record talks and stuff like that? It's conferences, a lot of meetups that are happening around the world don't have a V equipment or capture this stuff. So even those individuals that do, we're asking them to create these prs, that's probably the biggest thing, because we can go out and scrape. But that's never going to be, it's going to be very hard to get as to the quality that could be, that could be achieved by just getting that data directly from a conference organizer. So when a conference razor puts on a conference, we're looking for them to serialize that data into a JSON form. With a spec server very, I think, very clear. But you know, of course, if you have improvements on that, let me know. And we'll make it clearer, but pretty clear specs on how the JSON blob should look. And all it is is just, you know, post the PR, if that's difficult to do, or you know, just too time consuming, because I totally understand that. I've run a few conferences with a team of people here in New York. And they are, your time is gone for basically the three months before a conference, right? So that's not a possibility, and maybe just a CSV file and send it to us. And we via, via a GitHub issue. And we can work it from there. At the very least, try and create YouTube videos that are titled and have descriptions that conform to a certain specification that allow us to scrape the information a little bit easier. Those are the few areas where conference organizers could really help us out. If you're not a conference organizer, or you are or doesn't matter who you are, but you want to help out. We're always looking for people to help us scrape the web for these videos, whether they're on YouTube or Vimeo and clean up the data to get it in a ready state to be part of the collection. Oh, yeah, that sounds great. So one thought that came to mind, you know, just sort of build on what you just said was, there are many, many, any meetups going on all the time, right? There's

32:21 one going on in Portland tomorrow. And I'm hoping I can make it there's probably some really cool presentation going on at all these than for every conference. There's 30 meetups, right? What about some sort of call to action to if you're going to go to a meetup, and you have solid HD camera and like a lapel mic or something like that, like offer to like your recording of it, if the speaker is up for it, and the leader of the meetup is up for it. That seems like that would generate a lot of new content as well. Absolutely, yeah.

32:52 If you can't, so I will use your words verbatim. If you have solid AV equipment, you know, and you've had the time, and you have the resources to to hand back to the community in that way. That's a huge way that you could help out the PI video effort, the education effort around Python, we would greatly appreciate it.

33:14 Okay. Yeah, that would be awesome. Right? There's got to be a lot of people with like a 4k camera and a tripod and a milestone, right. But yeah, can't be that rare. All my friends have.

33:24 Yeah, like 4k MacBook Pros, no items. So you don't necessarily I don't know if that was a lead into explaining the quality requirements. There's not really a whole lot of quality requirements when it comes to the videos that can be posted. So so long as you have something that can record in a way that you can watch it and understand clearly what the video is trying to be said. or trying to be said in the video. You're set. That's all you don't need. The fancy dancy No, sir, that to record.

33:58 Yeah. Okay, is there like, I'm looking at the site. There's a couple of interesting things about the site. And I want to talk about the technology but you go there and just sort of like when you show up at Piper yoga org, you get just the latest talks right now I see some from pi Brazil. And you sort by events, you say I would like to see all the presentations from Django con 2014. You can also go by tags and say like, I want to see all the stuff that has to do with like our bars, right? And there's like two videos on your site about art fires, for example, an MC by speakers. Is there a way to say like, show me the really popular or highly rated ones? No. Is there like, some sort of this is what the community is really liked. Feeling?

34:43 No, there's no there's not. And I, I understand like the luster around that idea. I have myself kind of like tinkered with the idea. But I don't know that that's necessarily needed more So an are kind of one of our parts of our motto is, let's keep it simple. So if it's not really needed to help people find what they're looking for. And it's, we're not going to really include it. And sure, there might be people that are looking for, like, what's the most popular video, but I don't? I haven't heard a whole lot of requests for that, I guess is what I'm saying.

35:21 Yeah. And if I flip through, if I flip through the tags, I find that like, for the most part, for the most part, there's not a tremendous number, right? Like for any particular thing. So if I look at just flipping through answered, there's one talk. So it doesn't matter how highly or lowly rated that is, there's one, you know, right. And, you know, like, setup.pi, there's three whole talks, like, you could probably just watch those if you're trying to learn about setup UI, or some like, sequel alchemy, as a number of them and things like that. But the web has like 9089. Okay, yeah, very interesting.

35:57 Yeah. And also, if I didn't want to, I think I vetoed that idea. Also, because I didn't want to kind of direct people in their search for whatever knowledge that they were searching for. It was, I didn't want it to become like a popularity, kind of a contest. Sure. So that was maybe another motivation.

36:19 Yeah. And I would certainly never want to see like a downvote. Exactly. Now. Yeah. Like, certainly not a downvote. But maybe enough of fun someday, if there's 100,000. And you're really trying to find of all the thousand things on, you know, the pyramid where I work. Maybe someday you guys could revisit that. But I don't I guess it's not really needed yet. That's cool. So if somebody wants to, like work on the project, become a core contributor, how they go about that, what's your philosophy for making someone a core contributor,

36:47 I'm pretty loose thing compared to other projects, I like to plug by video as an easy way to get in your like open source credits or open source experience, very readily try and merge things in if you've, if you've got a PR, it's got to meet, you know, the certain minimum requirements. But other than that, try to merge stuff in ASAP one, because, you know, that's content that other people are waiting for. I know, I've sat waiting for like, stuff to be updated on pi video for conferences that have happened, like a month ago or something like that. And that's not any statement on well, and Sheila, that was, I was running the site. And I just didn't have time to get around. But the idea, I think, the philosophy for me, is, it this site doesn't have to just be a learning experience for those who view but a learning experience for those who contribute. So if you're you haven't given back to any open source project before, I think this one is a super easy one to get started with. And I want you to make a stab at it, and work you into the fold quicker so that you can gain the skills, this is an opportunity for people to try out their open source contributions

38:03 skills. Yeah, it really is pretty easy. You know, like I said, you put together some data, title, video, tags, things like that you work on this JSON document, you do a pull request. It's not like you, you're looking at like a tight loop and the CPython runtime or interpreter and going, you know, I need to understand the performance, trade offs and implications of writing this slightly differently, right. It's not anything of like that. It's like, am, I'm gonna sort of add to the data catalog. The other half, though, is the website. And the website is really interesting, like you said, it's statically generated. And one thing I found interesting is I turned on the dev tools was cruising around it in the browser. And after the first request to a page, those site renders like 100% from cache local cache, which is yes, that's a pretty cool effect. Yeah. So what's that? What's behind the site? How does that work?

38:56 GitHub actually does that, that beautiful work for us? Again, to keep it simple, the idea is that we, we run on minimal infrastructure. So when somebody creates a new PR to the data repo, we'll merge that in, and then the data repo is updated. From there, maybe a few prs will get merged in to the data repo. And then from there, we will create a new PR in the pipe video repo, which is the repo that contains all the static site logic. It's built on Pelican, which is a static site generator built in Python. And we update simply the shop of the sub module for the data repo. So the data repo is a sub module of the pie video repo. And all that's in the PR is just that shot changing. we merge that in. And Travis CI handles the deployment. Everything is automatic. I we just sit back and wait for three minutes and it's done. And that was done for a few reasons. One, it's very easy to maintain. Like there's no servers I need to worry about, there's no keys, I need to hand out anything like that. It's simply just Travis CI, handling everything in the background. And then it's fast. That's the other reason. It's when you're trying to download something from somewhere else on the planet. I don't want you to be slowed down, because all of our servers are here in Northern Virginia. Right? GitHub does the job of spreading the site around the world. And hopefully, you know, I have traveled actually, we'll be traveling to India, in the later part of December. And I'll be, I'll be making sure we're fast down there. So nice.

40:38 Yeah, tested on your phone or Exactly. Yeah. We call it's super Zippy, it probably does make a few things. Like, for example, my voting idea, it's much harder with this purely static site, like it would just, it would add more complication. Certainly, then it's worth I would think, but it's a really impressive way to do it is that GitHub Pages, basically with a custom domain map to it?

41:00 Yes, exactly. Yeah. And that's it. That's another thing. Yeah, it would make it more complicated. And that's another reason we go with or I'm pushing for us to stay with something as simple is, eventually, people want to move on from our project. This is actually another point I wanted to make about contributors. This should not consume anybody's life, we should be able to give back to the community, but do so with an extra hour that we have a month, it shouldn't be taking 15 hours of extra time a week. So keeping it simple. And keeping it to the point where people can come in and out easily, will hopefully lessen the stress burden that comes along with becoming part of an open source project, and ultimately allow it to live on longer.

41:45 I think that's a really interesting point, you know, you could have thought of like, well, we're gonna have like, the pythons universe of like YouTube with like, fancy uploading tools and voting and all the various things right? In that maybe that thing never gets built. Or if we get to build it, like it consumes too much of your time, and you've got to drop it. I think there's a really cool lesson from saying, you've put together something that is good and good enough, but it's so crazy simple, like, anybody can review a pull request and hit merge, and then wait a few moments. You know, like, the other thing that's cool about that, I think, is it's instant. Well, it's three minutes, but it's relatively instant, right? It's not like, somebody submits something to us some data, they email you like a CSV, and then you've got to enter it to a back end. And like, eventually, you'll get around, like you said, you're waiting for a month for to get some of the data in, right? If, if people want to enter that as a JSON document, do a pull request, like it's, there's almost no effort on your part other than to like, see that it's not bad data to put that in the system. Exactly.

42:47 Exactly. And that means more time for other open source projects. More time for my family and friends. More time for just enjoying what's on pi video. Right? Right. Well,

42:58 and more sustainability for private. Exactly, yeah, yeah,

43:01 I think I guess I'm viewing it from like, the sustainability is, how much life can I live beyond by video? And but when I say, How much can I really mean, like all the maintainers? How much life can we live beyond by video? And width by video? The more it is the more maintainable? I think it is.

43:21 Yeah, absolutely. Yeah. As well as how much how easy it is to bring someone on to the project. I think that way, like if somebody steps down, some new person can step in. And it's not like there's actually, you know, an interesting problem going on with pie pie right

43:36 here.

43:37 And I'm going to do a whole episode on it. But the old pi pi, the reason that Donald stuff was basically the only guy maintaining it was it was such a rat's nest to understand. Think, like the entire, like, what's running pi pi, and now not the new api.io version, but the older one, the primary one was like two files. They were like, two Python files are like 20,000 lines long or something like this. Right? And he's Donald said, People would come and look at it. They all want to contribute and make pie better. And they would come look Oh, yeah. But no, not actually. So they rewrote it in IE, they rewrote it in pyramid and bootstrap. And it's it's on a good it's on a better path family site. But I think that's a lesson for open source, right is like, it's it's such a mess to contribute. And it's so hard to get started. Like we won't do it. Yeah. So you have like the anti pi pi problem here. Just great. Yeah.

44:37 Well, yeah, believe it.

44:40 I mean, pi pi, solving a different kind of problem. Right. But still, it's like, it's an open source project. That's crazy easy to get started instead of something that's like, really, really hard to do your first steps. Right.

44:52 Yeah. That's the goal.

45:05 This portion of talk Python to me is brought to you by hired hired as the platform for top Python developer jobs, create your profile and instantly get access to 3500 companies who will work to compete with you and take it from one 100 users who recently got a job and said, I'd my first offer on Thursday after going live on Monday, and I ended up getting eight offers in total. I've worked with recruiters in the past, but they've always been pretty hit and miss. I tried LinkedIn, but I found hired to be the best. I really liked knowing the salary up front and privacy was also a huge seller for me. Sounds awesome, doesn't it? wait to hear about the signup bonus. Everyone who accepts the job from hard gets $1,000 signing bonus. And as talk Python listeners, it gets way sweeter. Use the link higher.com slash talk Python to me and hired will double signing bonus to $2,000 opportunity's knocking, visit higher.com slash talk Python to me and answer the door.

46:02 So you talked a little bit at the beginning about what you're doing your job. But what other projects are you working on what else you got going on?

46:07 I got pretty excited about this one, I wanted to know more about the CPython internals. And so I set out to create a comparateur operator, which would compare two objects kind of like the greater than or less than symbols, right. But I wanted mine to be to carrot symbol. So on my keyboard, shift six, right shift six will give you that little carrot. If you put two of them together, it kind of looks like cat ears. So I wanted to make a cat comparateur. And that you could override with the Dunder cat thing, just like you can do with you know, the Matt mole operator, which is the act symbol. And I figured it out, it took me probably a month worth of extra time on the side, getting around to it. And I'm not super proficient at See, but got it and it prints me out. Or it can print whatever you want it to print. So pretty excited about that. I'm confident now that I can go into something a little bit more adventurous and maybe actually make a PR against the CPython core. That's a bucket list thing to do is contribute back to the CPython in some way. Yeah, that's

47:14 a great bucket list. Yeah. Okay, cool.

47:17 Thanks for the validation on that because I was explaining my cat operator too. So I work in a collective workspace and one of the people in the collective workspace you knows this multi millionaire dollar CEO type of guy. And while I was there late Saturday night, he was there late Saturday, it was just the two of us in the office. I get done with my cat competitor operator, he gets done with I don't know what, we're both going down on the elevator. And I'm explaining my cat operator to him. He's like, oh, cool, cool. Yeah. And then, like, so what did you do? And he's like, yeah, I opened up a new hotel. And I'm like, Oh, wow. So I guess yeah, we both have accomplishments. That's, that's fantastic. Yeah.

48:07 And then he went home to his wife and said, You know, I met this guy in the elevator. And he's trying to teach computers about cat ears. I

48:14 don't really understand. It's a weird, really creepy guy gets so glad to be home.

48:21 No, I think that's great. You know, I in Episode 22, I did a whole show with Philip Gow about the CPython internals. He did a really cool thing. And I don't know if it's on pi video. If it's not, it should be called the CPython walk. And it's a 1010 sets of one hour videos of his graduate course study in the CPython eternal lab. If people want to check that out. That's definitely if you're looking to dig in. That's really cool. Yeah. All right. So I think we're getting close to the end of the show. So let me put the two questions. I always ask my guests at the end, first of all, over 90,000 Python packages these days, speaking of

49:00 pi pi, and surely you come across some cool ones. Which, which one? Would you like to recommend to people that maybe they don't know about? This was really hard for me because I use so many different ones for different things, you know, that is a project is usually not super cool to me, just because it's there's one thing that I use from the open source community that have a bunch of things that I can pull together from the open source community. So but I think I'll probably do Unicode or Unicode, I'm sorry. It has a special place in my heart, because it was the first kind of attempt I made to port it to see Python or se module in Python. So I took Unicode and tried to make just the a c version of it to see if it would go any faster. But it's pretty cool. It takes Unicode characters and decodes them into at this point. I'm not really even sure what exact encoding it is because I'm into, but it tries to come up with some ASCII version of it. So it basically is Somewhat offensive in a way, it tries to take all the languages that are and symbols around the world and compress them down into ASCII text or American. Yeah, the ASCII text. He says you shouldn't be whatever native language you are, compress it down into America. And so unfortunately, we have to deal with that.

50:20 Yeah, but there are systems that only display ASCII. And so either you get boxes, or you get, or you get something that actually could be useful. So it's while offensive on and it's also it can be powerful and other shame.

50:35 Powerful and somewhat necessary sometimes. Yeah, yes, exactly. Cool. All right. And so when you write some Python code, what editor do you use? 5050 50% of the time, it's and then 50% of the time, it's in pie chart.

50:46 Okay, a perfect split. Cool. All right. So, Paul, it's been great to talk to you You got any final call to actions for people? What do people need to do to make pi video better

50:56 go out, learn and share. That's all

50:59 awesome. Okay, that's a great call to action. Well, thanks for for sharing the story of pi video. And thank you for working on this project. It's it's been very helpful to me, and I'm sure it's been helpful to many, many people. So thanks for that.

51:11 Yeah. Thank you. very flattered to be here.

51:13 It's great to have you back here later.

51:16 This has

51:17 been another episode of talk Python to me. Today's guest has been Paul Loxton, and this episode has been sponsored by gocd and hired thank you both for supporting the show. Go CD is the on premise open source Continuous Delivery server will improve your deployment workflow but keep your code and builds in house. Check out go CD at talk python.fm slash g OCD and take control over your process. hardwoods to help you find your next big thing visit hire comm slash talk Python to me to get five or more offers with salary and equity presented right up front and a special listeners signing bonus of $2,000. Or you are a colleague trying to learn Python. Have you tried books and videos that just left you bored by covering topics point by point, well check out my online course Python jumpstart by building 10 apps at talk python.fm slash course to experience a more engaging way to learn Python. And if you're looking for something a little more advanced, try my write pythonic code course at talk Python FM slash pythonic. And you can find the links from this episode at talk Python FM slash episodes slash show slash 83. Be sure to subscribe to the show open your favorite pod catcher and search for Python. We should be right at the top. You can also find the iTunes feed at slash iTunes, Google Play feed at slash play in direct RSS feed at slash RSS on talk python.fm. Our theme music is developers developers, developers by Cory Smith Goes by some mix. Cory just recently started selling his tracks on iTunes. So I recommend you check it out at talk python.fm slash music. You can browse his tracks he has for sale on iTunes and listen to the full length version of the theme song. This is your host Michael Kennedy. Thanks so much for listening. I really appreciate it. Let's mix. Let's get out of here.

53:03 Dealing with my boys.

53:06 Having been sleeping. I've been using lots of rats. Got the mic back.

53:19 Developers, developers developers

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