#242: Your education will be live-streamed Transcript
00:00 Online education has certainly gone mainstream. Developers and companies have finally gotten
00:04 comfortable taking online courses. Sometimes these are recorded, self-paced courses like
00:09 the ones we have at Talk Python Training. Other times, they're more like live events in webcast
00:15 format. In this episode, you'll meet two guys who are taking the interactivity of online learning
00:20 up a notch. Brian Clark and Cecil Phillip run a weekly event on Twitch where they are live
00:25 streaming and interactive Python course. They take questions from hundreds of students and dig into
00:30 the diversions that mainstream online learning simply cannot. This is Talk Python to Me, episode
00:36 242, recorded on location at Microsoft Ignite in Orlando, Florida, November 7th, 2019.
00:42 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem,
01:01 and the personalities. This is your host, Michael Kennedy. Follow me on Twitter where I'm @mkennedy.
01:06 Keep up with the show and listen to past episodes at talkpython.fm and follow the show on Twitter via
01:11 at Talk Python.
01:12 Brian, Cecil, welcome to Talk Python to Me.
01:14 Hey, how's it going? Thanks for having us.
01:16 Yeah, it's good to have you here. I'm super excited to talk about this Twitch stuff. To me,
01:21 Twitch and Mixer and all these cool live stream gaming things, they're amazing and it's just such
01:27 a different world that I'm used to, but it hasn't been on my radar as a programming thing until,
01:33 Cecil, you said, hey, you know what we're doing together? And I'm like, no way, that is really cool.
01:38 So we're going to talk about your live stream, your live streaming of Python education and
01:41 developer education in general.
01:43 Yeah.
01:43 But before we get there, let's just talk a little bit about you and get people a background on you.
01:47 You haven't been on the show yet, Brian. So how'd you get into programming Python real quickly?
01:50 Well, programming Python in particular, I'm normally programming in JavaScript.
01:54 Prior to that, it was C-sharp and .NET. And I just like challenging myself to learn new languages.
01:59 Also, Cecil and I are on the cloud advocacy team. And in particular, our audience is around academic.
02:04 And you've got to learn a bunch of languages for that. They're like, we work with Scala. You're
02:08 like, what is Scala? I got to go figure this out apparently, right? Yeah. Okay.
02:11 Exactly. And the part of what we were wanting to do is at least what I started out with,
02:16 and I've since learned that Cecil had a little bit of background in Python prior to starting the show,
02:20 but we really wanted to take a beginner-centric approach to it. Like straight up, what's a variable?
02:25 What's constant? What's that kind of stuff?
02:28 I think that's so interesting because yeah, we'll get more into this, but you really do have that
02:31 beginner focus. So you don't have to be like on your fifth year of doing this language to make it
02:36 worthwhile, right? Exactly. Yeah. That kind of sparked the idea to, all right, I've been interested
02:40 in Python. There's a lot of machine learning and AI that's around it that I want to get into more.
02:45 Let me learn Python and start with that. And so that's how that kind of came to be.
02:48 Yeah. Super cool. Yeah.
02:49 And Cecil, maybe tell people just quickly about yourself. You've been on the show before
02:53 doing all sorts of cool stuff. You were on the evangelist, the dev evangelist advocacy story,
02:58 the panel. That was really fun. Yeah. Yeah. Yeah. We were on before and we talked a little bit about
03:02 developer evangelism and advocacy and what that is. I'm kind of like what Brian said, right? I'm on the
03:07 CA team or the cloud advocate team. And essentially, you know, the team that me and Brian are on,
03:12 we talk a lot with students, with faculty members. I really just try to understand like what are some of
03:17 their needs from an educational perspective when it comes to Microsoft products, when it comes to
03:21 cloud technology or Visual Studio Code or, you know, machine learning and IoT and like some of these,
03:26 you know, really interesting topics. Yeah.
03:28 What does that mean for a student and what does that mean for you trying to establish like your
03:32 career path going forward? Yeah. And traditionally that's meant, okay, we're using Windows, maybe Windows
03:37 server. We're using C# or possibly C++ if you want to kind of spread out. It didn't used to mean
03:43 Linux and Python, did it? Right? It's a different world.
03:47 Where are you living now? It's a totally different world. And, but I think too,
03:50 what I'm realizing is the more schools that you talk to, all of them have like a different origin
03:55 story, right? Like all of them have a very different background. The college that I went to, I went to
03:59 Florida Tech in Melbourne, Florida, which is not too far from where we are today. Yeah. And it was,
04:03 everybody had a Windows machine, right? That was, that was normal. And this was a while ago,
04:07 right? This is when people still had like compact Presarios for like their laptops.
04:11 Did you connect to the internet silently or with noise?
04:14 At home, when I went to my house, when I went home, we definitely had like a 56k modem that,
04:19 you know, did the ringing thing. I remember being able to distinguish the noise. You would hear,
04:24 you're like, oh, I got 38, whatever, or I got 56k. You could tell the connection noise. You're like,
04:29 oh, that's a good one. We're going to do some downloading today.
04:31 That's funny. That's funny. But yeah, just depending on the types of schools that you go to,
04:35 like where they are and what their focus is, you'll see a lot of different types of technologies and
04:39 things of that nature. Some of them are very Linux friendly, you know what I mean? Some of
04:43 them are very Windows friendly. Surprisingly, over the schools that I've personally visited,
04:48 I haven't seen a lot of Macintosh machines, which is interesting.
04:51 It is interesting. You know, Macintosh are kind of obscenely expensive.
04:54 And that is true.
04:55 Right.
04:55 And that's what I figured it was, right?
04:57 Yeah. And as a student, right? I think of my daughters who are both in college now,
05:00 they're paying their own rent. We cover their tuition, but they got to pay their rent. And things like,
05:05 do I need a new phone this year, even though it's broken? It's like, I don't know if I can afford that
05:09 600 bucks.
05:10 Yeah.
05:10 And right. And like this MacBook, I love it, but it was over three grand. It's ridiculous.
05:14 Yeah. Yeah. But in the developer world, like this is the environment that we're used to.
05:18 Yes. Yeah. Because we have well-paying jobs, generally speaking. So it's not that big of a deal,
05:23 right?
05:23 Sure. Sure. I mean, whether it's the case that we have the financial means to do it ourselves,
05:27 or we have company sponsored machines or something like that.
05:30 Yeah. Your companies will just say, here's your machine. Yeah, for sure.
05:33 But it just shows you that there's a different perspective now that when you go to schools,
05:36 like the resources that we have is not the same.
05:38 So you're seeing more Windows machines there maybe, huh?
05:41 Definitely more Windows machines.
05:42 How about Linux?
05:43 Through Chromebooks, randomly, every now and again.
05:45 Okay.
05:46 A few folks using Ubuntu and maybe Gen2 or something like that from a Linux perspective.
05:51 Cool. Well, before we get into the topics, I don't know if the final show will have the
05:55 background noise. It may. Certainly there's a lot of background noise for us right here,
05:59 because we're recording on location at Microsoft Ignite. Yeah. And it's such a crazy conference.
06:05 I thought of Microsoft Build as one of the really large conferences, PyCon. We get like 3,500 people
06:12 attend there. This is like 10x PyCon, right? I had no idea how big it was.
06:17 Somewhere around 30,000 attendees, something like that.
06:20 It's something, man. So there's a lot of stuff going on. And it's a little interesting to be here
06:24 as a Python person, because there is some interesting Python stuff. I just watched Steve Dower's
06:28 presentation about Python security.
06:30 Nice. Okay.
06:31 Yeah. That was really cool. But there's also a lot of stuff that is kind of foreign to me. There's
06:36 some interesting companies. But maybe tell us a little bit about some of the announcements. We have
06:41 Azure On-Prem is pretty interesting. And we have VS Code Online. So there's a few relevant things maybe
06:48 to point out from what's happened this week.
06:49 That's the one that's the VS Code Online one is the one I'm most excited about and was really pumped
06:54 to try out and just start tinkering with. In fact, to the point where I used it as a backup for my
06:59 talk, where I was demonstrating an extension in Visual Studio Code.
07:03 Oh, really?
07:03 It's in preview, the extension. And sometimes I'm still learning Python and setting up my
07:08 environment properly. I think I have something misconfigured on my laptop. And so if I had it as
07:12 a backup, because that environment, I could spin it up. It's using Linux behind the scenes. And I was
07:17 able to get the extension working with all the Python dependencies that I needed. And it went smoothly,
07:21 thankfully.
07:22 Yeah. I think this is going to be really empowering for developers, right? It's like,
07:25 you go here, you click the button, like Cecil was telling us yesterday, like you can have a thing
07:29 on your GitHub repository, like launch this in VS Code Online, basically.
07:32 The other aspect of it that's going to be super interesting to see people use it for it,
07:36 speaking of academic and just teaching and learning and that kind of stuff, is in workshops or in
07:42 classrooms, being able to set up a predetermined environment that already automatically loads up
07:47 the code that you might need or the demo application right from GitHub.
07:51 Yeah.
07:51 So that your students or just attendees there have their environment already set to go. You're not
07:57 wasting time in the beginning, making sure everybody's on the same page. You're also dealing
08:01 with a lot of people that'll get like work issued devices like you both were just talking about,
08:04 and they have limited rights to install stuff.
08:06 Right. I don't have permissions or I have a Chromebook and it won't run it or whatever,
08:10 right?
08:10 Exactly. So doing it all from the browser like that makes it super interesting to open up the
08:15 doors that way.
08:16 Yeah. Cecil, do you see this as something you could tie into your live stream?
08:19 Definitely. I think maybe at some point in time, and I mean, Brian and I haven't spoken about it yet,
08:23 but maybe we could find a way to kind of integrate it into the stream, maybe do a quick demo of it,
08:28 you know, really just to show folks what's possible. Because kind of like what you were saying before,
08:32 I think the benefit there is just to be able to get going quickly. Like there's pretty much
08:38 little to no setup, right? Like I don't have to worry about installing operating system updates and
08:42 having the right dependencies and those types of things happen. I'm assuming there might be a way
08:46 to like set up a blueprint or a template so that now we have multiple people that are trying to create
08:50 the same environment from the same repo. And so now we all just have like the same environment
08:55 set up, essentially our own instance of the same environment.
08:58 Yeah. It seems like a great way to help people who are just getting going, right? Like they're,
09:02 coming to this stream to learn what the heck Python is and how it works, right? So it's perfect. Like
09:06 click this button and we'll get you rolling.
09:07 Yeah, definitely. I think two, was it two days ago? Two days from the day I was recording anyway.
09:12 So again, like Brian and I have the stream and usually what we do is we take some of the code
09:16 that we write on stream and we'll push it into a GitHub repo. And so after I saw the announcement,
09:21 I was like, oh, well, let me go and see if I could get our code from the repo running in VS Online.
09:26 Yeah, yeah.
09:27 And it was super simple. There was literally like two or three buttons I had to press, right? Like,
09:31 you know, create environment. I had to put in what repo I wanted it to come from. And that
09:36 was it, right? And then now like I have a machine set up, there's Visual Studio Code running inside
09:41 of the browser. It already had Python on it installed, so I didn't have to install it, which was super
09:45 cool.
09:45 Yeah, 3.8, right? Like shiny new Python.
09:47 Yeah, it's Python 3.8, which as of today, I think is maybe like three weeks old, maybe not
09:53 even a month old yet. So that was really cool to see that, you know, how easy that was to set
09:57 up.
09:57 Awesome. Yeah, I think that's a cool announcement coming out of here and I'm sure a lot of people can make
10:01 use of it, especially in education where setup is challenging, right? Like Jupyter Notebooks are
10:05 nice and I do like them, but I would prefer to learn with something that has auto-complete that's a
10:09 little bit better. And I just like the tooling of like a more of a dev editor more than I do like
10:13 Jupyter, even though JupyterLab is pretty killer. All right, so let's talk about Twitch. And Brian,
10:18 I guess that started with you, right? You've been doing Twitch for a while.
10:21 I'm so happy to be able to talk about it because I'm super passionate about just live streaming in
10:25 general.
10:25 That's awesome. So tell everyone what Twitch is out there. I know a lot of folks know, but a lot of people are like,
10:31 you know, Twitch is like a thing that a person does, not necessarily a platform.
10:35 It's traditionally thought of as like everybody goes there to watch other people play video games.
10:39 Right. And these are like sort of the famous YouTube influencer types of the gamer world.
10:44 They'll go there and they'll play, I don't know, Warcraft or Fortnite or something for 12 hours
10:49 straight. And people are such fans, they'll just watch that, right?
10:51 Yeah. People in our industry might think, well, you're just going there to goof off. But the surprise
10:56 is there's a lot of other types of content that's available on the platform that people are streaming
11:01 about between not just programming, but there's people that are building stuff hardware wise.
11:05 There's people that are doing arts and crafts, creative related type of things, drawing, painting.
11:09 I mean, there's all kinds of stuff on the platform that you can watch and be entertained by and learn.
11:13 That's super cool. I think it's similar to YouTube in that sense. Like YouTube sounds like
11:16 to a lot of people, oh, they were on YouTube all day. They did nothing, right? It could have been,
11:21 you were watching like an awesome, like build this app, like the one you need to build in Django on
11:26 YouTube, right? That could be like super productive YouTube.
11:28 Yeah. And I think the key difference though, there with this and what draws me to live streaming
11:33 is that the way, the ability as a viewer to engage with the person that might be teaching something
11:38 or doing something like that.
11:39 I put a bunch of stuff on YouTube and then I might get comments about it.
11:42 Right.
11:43 Some of them are super negative, some are unrelated, some are positive, but like it's like, that's the YouTube world, but like it's not real time. Like I create it
11:49 and then I publish it and I go to bed and then I get a notification.
11:53 Yep.
11:53 It seems to me watching YouTube on your channel that it's very interactive.
11:57 Absolutely. Yeah. So with YouTube and that stuff, it's all scripted out. And most of the time,
12:01 I mean, there are, I'm not to say there aren't people that don't do this, but you're going to
12:05 see just the happy path, right? How do you get from A to B building this whole app out?
12:08 Right. Right. The mistake I made, I edited that out because it would look stupid.
12:12 Exactly. You don't want to look like you don't know what you're talking about.
12:15 And that's what kind of is intimidating as a streamer though. And to get into it is you're
12:20 doing it live in front of potentially several people and you're going to be making mistakes,
12:25 but that's the benefit of going there and being there in the moment. You get to see like what it
12:30 is real life. You're not getting the pretty picture all the time right up front.
12:33 That's super positive. I mean, I do think this is a really valuable skill that people can develop
12:38 because when you're doing like recorded stuff, yeah, you learn a lot in that. That's great.
12:43 But when you're doing the live presentation, you have to think about what you're saying. You got to
12:47 engage with the people. You got to type and talk. It's much like in-person training, but just
12:52 separated physically, right? Like I think it really gives you a skill of just like presenting in general
12:58 around code that people are like, how did you just go up there and you typed and you talked and you
13:03 were looking at that other person. It's well, it's because I've done like hundreds of hours,
13:07 right? Like I did an in-person world. You guys do it on online, right?
13:10 Yeah. It's definitely something where when I first started out, like I still have the recordings of my
13:14 very first streams. Are they hard to watch?
13:16 Well, it's even the most recent one is hard to watch. I can't stand here myself. I'm not going to
13:19 be able to listen to this podcast either. You know, like it's just the way it is. It's very rough.
13:24 You could tell that I'm not used to being able to multitask like that. And now I feel like it just,
13:28 you know, it comes as second nature, but you seem super smooth. Like both of you guys do.
13:32 Zesel, what do you think about this idea of like using live streaming as a way to like
13:35 almost become better at presenting in general?
13:38 I think it's definitely a great opportunity for particularly folks that are new because I think
13:43 it makes it a lot less intimidating. Yeah.
13:45 Because essentially I'm looking at my room, right? Or my camera or my computer or, you know,
13:50 my office setup. And I'm not looking at a room with 10 people or 20 people or 100 people or
13:56 whatever the case is.
13:56 You're not getting those blank stares back that kill you. Yeah.
13:59 Right. So I think from that perspective, it gives you a great opportunity to practice. It gives you a
14:03 great opportunity to even just deliver content to a group of folks and just in a very natural way.
14:09 Right. Because I could just imagine you being a lot more nervous when there's a stage and there's a
14:13 camera and there's lights and, you know, there's sound and, you know, there's kind of like we're in a
14:18 room right now and there's a lot of background noise going on. Right. Like there's a lot of emotion that
14:22 kind of goes into that. And when you think about like how your emotions like, you know,
14:26 affect your body and affect like the tone of your voice and the shakiness of your hands.
14:30 They can just get you distracted. Right. They can break your thought patterns. And like,
14:33 I knew I was going to do this thing in the presentation. Now I'm so freaked out that
14:36 person's looking at me.
14:37 Yeah. Yeah. Yeah. Yeah. Yeah.
14:38 Right. Yeah. It's tough.
14:39 Exactly. So I think it's a great opportunity for folks to do that. Even just me and Brian are
14:43 learning and getting better at becoming like Python folks. Right. Yeah.
14:47 And engaging in the community and really just understanding, you know, what's possible and what we can do. This portion of Talk Python to Me is brought to you by Linode.
14:56 Whether you're working on a personal project or managing your enterprise's infrastructure,
15:00 Linode has the pricing, support, and scale that you need to take your project to the next level.
15:05 With 11 data centers worldwide, including their newest data center in Sydney, Australia,
15:10 enterprise-grade hardware, S3 compatible storage, and the next generation network,
15:15 Linode delivers the performance that you expect at a price that you don't.
15:20 Get started on Linode today with a $20 credit and you get access to native SSD storage,
15:25 a 40 gigabit network, industry-leading processors, their revamped cloud manager at cloud.linode.com,
15:31 root access to your server, along with their newest API and a Python CLI. Just visit talkpython.fm
15:38 slash Linode when creating a new Linode account and you'll automatically get $20 credit for your next
15:43 project. Oh, and one last thing. They're hiring. Go to linode.com slash careers to find out more.
15:49 Let them know that we sent you.
15:50 Brian, maybe tell me what was the first stuff that you started streaming on the channel?
15:56 You don't do just Python, right? I thought I saw some JavaScript stuff on one of your streams as
16:01 well. Is that right? Yeah, I'm up to three shows now, actually.
16:03 Okay. So I originally was just doing JavaScript-related stuff where I was building out
16:06 a bot that interacts to make it more engaging for the viewers. It's built into the chat room there,
16:10 which lets them do commands and all that kind of fun stuff. That's an ever-growing and iterating on
16:15 that project. Is that like the bang mark and that type of stuff?
16:18 Yes, absolutely.
16:18 You built that and plugged that bot in?
16:20 Yeah, yeah.
16:21 Oh, I just thought that was a Twitch thing. That's cool.
16:22 No, no, no. Yeah.
16:23 All right, tell people how that works.
16:25 Just real quick.
16:26 Yeah, really quick. Basically, it's just listening through the Twitch API through the chat room.
16:29 If you send certain keywords in there, prefix with an exclamation point, and it knows that that
16:35 recognizes that's a command, it can do other things. So the first thing we ever built out was a
16:39 light bulb in my office, people can change the color of that through a command in the chat room. So it's
16:44 kind of interesting for a viewer to come in and be like, oh, wow.
16:47 Was that just like a novelty or did they use it as productive? If they change it to red,
16:51 that means slow down. If they change it to green, it means speed up or anything like that?
16:54 I think a little bit of both, honestly. So some people, it's like, wow, that's cool. I'm changing
16:57 somebody's light bulb color across the globe from wherever I'm in the world. But also, it's been
17:03 helpful at times. If I get so focused in on that flow state where I'm working on something,
17:07 people can grab my attention and be like, hey, you actually missed this or something like that by
17:11 changing the color of the light. Or if somebody does something nice like follows or subscribes to
17:14 the channel, it alerts me that way, that kind of thing. That's pretty awesome.
17:17 I didn't start out doing that, actually. When I first started streaming, I didn't know what to stream yet.
17:21 I just knew that JavaScript was my main language of choice to use. And so I just started going to,
17:26 have you heard of Code Wars, Doc? No, I've heard of Code Combat, but not Code Wars.
17:29 Very similar concept. It's just like little coding challenges and stuff like that. And so I was like,
17:33 on the weekend nights, I was like, let me try for an hour and get my feet wet doing this.
17:37 And then it led into what we have today, where we have three shows. We have the Learning Python
17:41 from Scratch with Cecil. Just started up a Build Up Devs show, which is more about the social side,
17:46 the human side of being developers in the industry.
17:48 Yeah, that's cool. That sounds really interesting.
17:50 And then my Friday streams are just me being crazy, wacky, working on the chatbot and just being a
17:54 goofball.
17:55 Cool. So Cecil, maybe talk a little bit about what you guys cover on there. So you're going through
18:00 Nina Zakarenko's course, which is a free Python course, bring to the show. Hi, Nina. And that's a
18:07 two-day course that you guys have been going on for a while, right?
18:09 Our teammate, Nina Zakarenko, she's also a cloud advocate at Microsoft with us. And she has a free
18:15 course. It's at learnpython.dev. Totally free. It's actually a GitHub repo. And you know, you could
18:20 generate GitHub pages from a repo, right?
18:21 Yeah.
18:22 Essentially, it's a GitHub repo that she generated and turned into like an online workshop. And now
18:27 with this workshop, there's two days. And essentially, it goes from very beginner Python concepts. And right
18:34 now, we just finished our first day, maybe like two weeks ago or something like that. But it's taken us
18:39 four months to do, which I think is kind of interesting.
18:41 It's super interesting, right? Because I mean, it's self-paced learning. And so it's kind of like
18:46 a whole day of maybe in-person, right? What do you say? It's like one day in-person. So if you were
18:52 say to do that self-paced, maybe you do a couple hours a day, like a week, maybe a week to do a day,
18:58 like if you're doing part-time. But you took four months. I mean, I know you don't do every day,
19:02 right? But still, that's interesting. And I think it touches a little bit on giving people the sense
19:07 of like the true interactive nature of what you guys got going on, right?
19:10 Yeah, totally. When we first started this, I was like, oh, okay, we'll knock this out in two months
19:14 and that'll be it. And then we'll do another thing, right? But it turns out that every section that we
19:20 do, because we pay so much attention to what's happening in the Twitch chat room and as members
19:26 that are watching kind of pop in and pop out, we get a lot of questions. We get a lot of suggestions.
19:30 We get a lot of ideas about, hey, why don't you try this out and let's see what happens? Or,
19:35 hey, could you re-explain this particular topic? Or did you know that there was this other language
19:40 feature that wasn't necessarily covered in that section? But let's just try it on and see.
19:45 Here's list comprehensions, but you can also do it with dictionaries. And I didn't talk about that,
19:49 but here we can do it here as well, right? It's kind of the same idea.
19:52 Right. So just from that, that's how streaming once a week for three hours on a Wednesday
19:57 turns into like four months of video, which should have been like a one-day section.
20:02 Right. But just because we've just been so thorough and just been answering tons of questions
20:07 and, you know, like all the interactions that Brian has built into the stream from,
20:11 you know, turning his light bulbs on and then there's little sounds that folks can play.
20:14 Brian, you've got like funny Wednesday sounds and stuff like, yeah, like it's very like appropriate
20:20 to Twitch, right? It feels like it's very, very much part of that community that those styles that
20:24 you got there.
20:25 Right. And that's one of the things that I think differentiates it from a webinar or live
20:29 streaming on YouTube or just putting out a YouTube video because YouTube has live chat. Sure. And,
20:34 you know, you could do live streaming there, but I think having the ability to customize that
20:39 experience for the folks that are watching makes a huge difference and it makes them feel like they're
20:43 a part of that video that we just produced.
20:45 I did really get that sense that people feel part of it, that you guys welcome them when they come,
20:49 that there's this deep exploration that they're a part of. And it does, you know, just to talk to the
20:56 audience for a moment, like it's really quite early days in terms of where you're starting, right? Like
21:02 you explain what virtual environments are and you said you started explaining like what a variable was.
21:06 there's a lot of folks where there's not that level of training available, right? Like none of my
21:11 courses assume you don't know what a string is necessarily. You know, I mean, it doesn't assume
21:17 much, but there's like this sort of thinking like a programmer thing you got to do. And I feel like
21:21 you guys are doing a good job helping.
21:23 I think one of the good things with what me and Brian end up having to do is because he has experience
21:28 in JavaScript, I have most of my professional experience in .NET and C#, we're able to give the
21:34 perspective of, hey, we know a little bit about programming from other languages and frameworks
21:38 and things of that nature. How can we apply that to Python and use that knowledge to make us good
21:43 teachers? So even though we're not Python, even though we're not Python experts, and even though,
21:47 you know, we don't get paid to do Python, we don't have Python things in production,
21:50 we don't have open source packages that folks are using, we do understand like some of the basic
21:55 constructs of programming. And so we could use that background knowledge that we have to apply this
21:59 to learning like this new environment.
22:00 Brian, what was your experience in Python when you came into doing this channel here?
22:04 Like how much?
22:05 The extent was, I could just recognize it when I would see it. I've like reviewed Python code kind
22:10 of thing.
22:10 Yeah.
22:10 But that was the extent of my experience.
22:12 Okay. I feel like this is actually, it can be an advantage, right? It can be, I'm at a similar
22:20 level as the people learning what I'm doing. So if they follow along with me, I'm not like, well,
22:24 I don't know what, why can't you create a virtual environment and install this? Like,
22:27 obviously that's an easy step. Let's get past that to the real, right? Like you're, you're going
22:31 through these steps with them.
22:33 Yeah.
22:33 I think that's powerful, right?
22:34 Yeah.
22:35 What do you think? Do people react positively to that?
22:37 Yeah. And so far it's been, we've gotten a lot of positive feedback because people will even go
22:42 back to the past recordings because we post stream notes and video recordings on YouTube and you can
22:47 catch them on Twitch, but Twitch will only do it for a certain length of time. They'll stay on
22:50 there.
22:50 Yeah.
22:50 And people will come in and they'll be like, Hey, I've been catching up where I'm almost up to your
22:54 current episode, but thank you so much. This has been super helpful because I'm a beginner as well.
22:57 And it's been a fun challenge for me, both from the aspect of like, I don't, I didn't know Python
23:02 prior to this, but also to challenge myself to get back to the roots because, you know, I think we get
23:06 so engulfed in, we've already learned that lower level stuff that maybe you got in college or whatever
23:11 education background you might have.
23:13 I just want to talk about the new features of Angular 2 or whatever, right?
23:16 Exactly. Right. We get all hyped up about the new stuff and what we've already learned and take
23:20 for granted that kind of thing. So it's been a fun challenge to get back to that and be like,
23:23 how do I explain what a variable is to somebody? Or how do I explain what a function is? You know?
23:28 And it's been really interesting from that perspective, right?
23:31 Yeah. You talked about the videos being available on YouTube. And until I was talking to Cecil last
23:35 night, I didn't really realize that. I just went to the Twitch channel and there's like a video section.
23:40 I'm like, oh, these must be the videos that I get to look from over in the past. But there's a whole
23:44 separate YouTube story around like your channel and stuff people can check out?
23:48 Yes, absolutely. So because what we're trying to do is, make it so that it's not just like a one shot and then it's gone kind of thing, right?
23:53 Right. Which is great.
23:54 We want to be able to, for my own benefit too, go back and reference like how did we set up those
23:58 virtual environments that first time, right?
24:00 Yeah.
24:00 And so the one way we found to do that, well, it's twofold what we're doing. Exporting to YouTube,
24:06 you can do that directly from Twitch. Twitch gives you that ability. And then creating like a blog
24:10 post stream note kind of thing that we've been posting on a website called Dev2,
24:14 which is like a very developer centric blogging thing. So it's kind of like we went from medium.com
24:20 to do a lot of our tech blogging. And now Dev2 is like a more comfortable environment for specific
24:25 to us.
24:26 Yeah. What do you think about the medium story these days?
24:27 I've never really been too deep into blogging. So I don't know that I have a strong opinion one way
24:31 or the other. I am really enjoying writing and posting on Dev2 nowadays because it's just
24:36 marked down. I mean, not to say that you couldn't really do that in medium, I think, but...
24:40 Yeah. There's just all that drama around medium going paid.
24:43 Yes.
24:43 Putting up the paywall in a lot of places. And I think that struck a lot of people as a little bit
24:47 off.
24:48 From that perspective, as somebody that's a casual medium, I'll go there, like people link to it.
24:52 I get frustrated when I open up a website, whether it's on my phone or on a desktop,
24:57 and I'm immediately presented with some type of notification, right? A platform that's supposed
25:01 to be allowed people to read. Maybe if I'm midway through it, hit me up with something like that.
25:05 But like immediately, that's where it's like a huge turnoff for me. But that's with any site,
25:09 not let alone medium.
25:10 Yeah, yeah. Sure.
25:11 Cesar, what do you think about medium? Are you a fan? Did you see that as frustrating when they
25:15 went paywall?
25:16 Yeah, I saw that. I saw that. And I guess similar to Brian, it didn't really affect me as much
25:21 because I'm not a big writer. I do a lot of video.
25:23 Yeah, yeah. Me too.
25:24 I'm very comfortable in doing video and those types of things, whether it's for channel line
25:28 or the live stream that me and Brian are doing. I totally get it. And I understand why people
25:32 would want to have a certain level of trust and a certain level of integrity when it comes to
25:38 their written content.
25:38 The first several years where it was taking off, people felt that I'm writing on this platform
25:43 that's open for everyone. And then it became not open somewhat, which I feel like a lot of those
25:48 people wouldn't have gone there in the first place had they known that was the destination.
25:51 You know?
25:51 Yeah, I totally agree with you. And I think one of the reasons why we do appreciate Dev2 is it's
25:56 built on open source technology. The code for it is all actually open source. You could go and look
26:01 at it. You could contribute to it. It's open from the ground up, right? Which is a great thing.
26:06 Yeah, that's pretty awesome. Yeah. So people can find this stuff on YouTube. That's cool. And we'll put
26:11 that link in the show notes and they can go back and check it out. Brian, does it cost anything to be,
26:16 as a participant to like join, to watch your channel or anything like that? Like how does it
26:21 work?
26:21 No, everything is absolutely free.
26:23 Okay.
26:23 You just pop in, start tuning in. You can listen to it passively. You could stay,
26:27 you know, really focused.
26:28 Do you have to subscribe to get notified to get in? Or can I just like, is it just like go to like a YouTube video that's open or how does it work?
26:34 Really? You just show up to the channel and you're able to catch everything. There's,
26:37 there are options to subscribe. I mean, so if you want to get notified when things go live,
26:41 Twitch has a feature where you follow and then you can turn on notifications for when somebody
26:45 goes live.
26:46 Right. Like create a free Twitch account and then you can subscribe and get an email or something
26:49 like that.
26:49 Absolutely. Yeah. Yeah. You create a free account. It doesn't cost anything to create an account
26:53 and then you can just start watching things. The way Twitch will maybe, you know, get you to make
26:57 some money is you'll see ads when you go to people's channels that way.
26:59 I see. Okay. A little bit like YouTube in that regard.
27:02 Yep.
27:02 Okay. And as somebody else out there wants to do something like this, what's the story there? Like,
27:09 do they have to be like a pro Twitch person or like, how's that work?
27:13 No. I mean, it's very beginner. Well, it's not beginner friendly necessarily. It can be intimidating
27:17 as somebody starting out wanting to start streaming on the platform or any platform in general.
27:21 Yeah.
27:22 But the general advice that I give people that are beginning is to pick a dedicated time once a week
27:28 that you can consistently stick to so that you can actually get a feel for what it's like to be
27:33 streaming and so that you don't necessarily, you know, lose sight of being able to continue to do
27:38 it. Like what tends to happen is people think that they might want to start streaming and then they'll
27:43 do one or two here and there and then they will, you know, they won't find the time to do it.
27:46 It's kind of like having a TV show, right? People come to expect to see you at a certain time and date.
27:51 And if you're not there, then you lose that traction that you might get.
27:53 Yeah. Probably even more so than blogging or even podcasting because it's the inner live
27:58 interactive is the bit that's interesting. So you've got to have it on a predictable timeframe,
28:02 right?
28:03 Yes, for sure. And then the other bit of advice I'd say in terms of like actually setting it up
28:07 technology wise, I mean, I could go into detail about what I use, but really I just say, keep it
28:12 basic. Just have a camera and share your desk, a desktop and you're good to go. You know,
28:16 have whatever microphone start simple and then build upon that as you start realizing that you're
28:20 really into doing this. You enjoy it.
28:22 Right. Yeah. I've seen some super elaborate setups that various people have, especially in the gaming
28:26 world. Yep.
28:27 You know, like racing simulators and all sorts of weird and crazy awesome looking setups. But yeah,
28:33 so you can get started pretty easy, huh? And I don't know. I mean, the mics that we're sitting here
28:37 talking on, they probably sound pretty good. I guess the normal podcast mics and these are like $70.
28:43 And I guess you probably wouldn't need much more than that. Plug it in the USB and you're good to go.
28:48 For sure. You could definitely go that route, but I mean, use what you have to get started,
28:52 to get a feel, to make sure that you really are interested and dedicated to continuing doing it
28:57 before you make that investment. Right. I think what ends up happening is people,
29:00 there's all kinds of options and things and hardware. You can geek out over it like crazy,
29:04 right?
29:04 Sure.
29:05 Just like with that, like, I'm sure as you start getting into podcasts and you start off on certain
29:09 types of hardware and then you dig deeper and you get into this elaborate setup that you got now.
29:13 I spent a ridiculous amount of money on microphones to end up back on like the cheapest option.
29:17 Oh, really?
29:17 I spent over $1,000 on microphones.
29:19 Oh my gosh.
29:20 And these, like I said, are 70 bucks and I like them better than all those others. It's just like,
29:23 you just got to search, right? But it would be ridiculous to do that at the beginning. But if
29:27 I do this like two shows a week, every week for four years, it makes sense to like start to go
29:32 see what works, right?
29:33 Right. Exactly. And I think people will get intimidated and it basically, they stop themselves
29:38 before they even get started because they're worried about what they're going to use setup wise.
29:41 And you'd be surprised that the viewers actually, they'll know that you're a beginner streamer,
29:45 but that will make them feel even more involved with it because they're like, they're there,
29:48 they're first, right? They're the first post on the, on the...
29:51 They want to support you.
29:51 Right. And so that makes it interesting. And then they'll see you evolve over time and add to it and
29:56 support you that way. And that's what the culture is all about there.
29:58 It sounds pretty welcoming, really.
30:00 Yes, it absolutely is. I mean, I've had, I've for the most part had a very positive and pleasant
30:05 experience with the developer community on Twitch. That's not to say there isn't some negativity in
30:09 the, in the usual trolling kind of that goes on that happens every now and then.
30:12 It is online.
30:12 Yeah, it is. We're on the internet folks, right? So, but for the most part, you'll see, you'll
30:16 see it's very, very kind atmosphere on the platform there.
30:19 That sounds really cool. It seems like it might be a good idea to like have a content calendar
30:24 for in the early days, like before you do your first stream, like plan out what are the next,
30:29 what does the next month look like? Because I can really, I can see it'd be so easy to
30:33 get really into it, excited, do the one or two things you had on your mind and then go,
30:37 I don't really know what to do now. Like do you guys, you have a pretty long-term plan.
30:41 I guess that's what with like the course, for example.
30:42 I mean, I guess it's a long-term plan.
30:44 You had no idea.
30:45 Again, when we first started this, it was Nina's course, learnpython.dev. It's two days
30:51 and we're at month four, four plus now. And we're just in day one. I'm going to assume
30:56 that we got at least another four months of content. But we have spoken a little bit about
31:02 what are some other things that we'd like to do just in terms of topics.
31:05 Yeah. Yeah. That'd be great. Like what else are you thinking?
31:06 So, well, first of all, a lot of this too is also coming from the chat room, right? The chat
31:10 room on Twitch, because we have a wide range of experience levels there from people that are
31:16 brand new and I've never seen like code before to folks that write Python for a living. And,
31:21 you know, again, just engaging with folks in the chat room and, you know, in the live stream,
31:25 they suggest topics like, hey, can we talk about this? We did one last week on pipenv and
31:30 on pyenv. And that was because some folks in the chat room, they kept asking about it. So we're
31:36 like, well, let's just do it. Right. And now seems like a good time to do it.
31:39 Yeah. Yeah. Yeah. You keep saying pip3-python-mvmv, right? Or something like that.
31:45 And they're like, well, I've heard there's other things, right? So you could just make
31:48 that the topic of the day.
31:49 Yeah. And what becomes important there now too is because we want to remain beginner friendly,
31:53 it's important that we have a certain amount of like foundational content there first,
31:59 right? Because when the first, well, I think the first time somebody suggested it,
32:03 I was like, you know, that seems like a little bit ahead of like where we want to be right now.
32:07 Yeah. Yeah. Yeah.
32:08 It seems a little bit intimidating. It was intimidating for me.
32:10 How about we start with like some machine learning car, like can we do self-driving
32:15 cars and put it on like an RC car? Like let's start there, right? Like maybe not.
32:19 Folks have asked about Docker, they've asked about machine learning, about web stuff. But again,
32:23 like we're in day one, right? Four months later, we're in day one. But we're just trying to make
32:28 sure that cover our bases and make sure that everybody understands what is a function and
32:32 understands what's conditional logic. And then what is an environment and what is pip and what is a
32:36 package? And like, where does this code come from? Like, does it just come from outer space and now
32:41 I just use it? Like, you know what I mean? Like what do those things look like? Because I think unless
32:46 you have that foundational information, you're not going to understand the benefit of using this tool.
32:50 Yeah.
32:51 And so it's answering the question for like that one person, like let's answer it for everybody
32:54 and just make sure that we're all on the same foundation.
32:57 I find it very powerful to say, it's one thing to write down, here's what you do to do a thing.
33:01 It's all, it's entirely another to see like, here was a blank screen and nothing complicated happened.
33:07 And then now here's something awesome created, right? Like I think just seeing that built up
33:11 is a really powerful experience that it seems like that's like a good part of the channel.
33:15 Like you have screen sharing, you got the editor open using VS Code a lot of the times,
33:19 right? And you're just over there working on that. That's really great for beginners.
33:22 There's a lot of opportunity on both sides of the table. I've definitely learned a lot. I'm sure
33:27 Brian will say the same thing. He's definitely learned a lot. It's definitely affected even our
33:30 jobs, to be honest with you. This portion of Talk Python to Me is brought to you by the University
33:36 of San Francisco. Learn how to use Python to analyze the digital economy in the new master's in applied
33:42 economics at the University of San Francisco. Located at the epicenter of digital disruption,
33:46 USF is the ideal launching pad for the next phase of your career.
33:51 Their new STEM-designated economics program doesn't just provide technical training in high-demand
33:56 skills like machine learning, causal inference, experimental design, and econometrics. It takes
34:02 the next step, teaching you how to apply these techniques to understand the economics of platforms,
34:07 auctions, pricing, and competitive business strategy in the world of big data. The program is open to
34:13 beginner and to advanced coders looking to apply their skills in a new area. Applications are now open for
34:19 the fall 2020 classes. To learn more and get an application fee waiver, go to talkpython.fm slash
34:26 USF. That's talkpython.fm/USF.
34:31 Tell us about that. How has it influenced you outside of just what you're doing on the channel
34:36 itself?
34:36 Sure. So under developer advocacy, it's more than just .NET and it's more than just JavaScript. There's a
34:42 whole ecosystem of languages and tooling and libraries and SDKs and those types of things.
34:47 We were talking about it yesterday. The Python SDK for Visual Studio is tens of millions of downloads.
34:53 It's easily one of the most popular ones that's there. But now, knowing Python a little bit better,
34:58 I could go in and look at some of these features and understand why would these features be beneficial
35:02 and why would you care about them?
35:03 Right. Or maybe even give feedback to the team like, yeah, technically this works, but it's not
35:07 the way the community would first guess, right?
35:09 Yeah, totally. Definitely can be able to do things like that. And now, even again, at day one,
35:14 right, four months later, I'm thinking about, well, what does it feel like to publish a Python
35:17 web application?
35:18 Yeah.
35:19 So I have a background in web development and web APIs from a .NET perspective. You know what
35:23 I mean? Again, like Brian knows about Express and Node and JavaScript things. Now I'm kind of
35:28 curious, what does it look like to take that existing knowledge and apply it to Python, right?
35:31 How much is it the same? How much is it totally different?
35:33 How much is it the same? What does it feel to actually publish something and build a web API
35:36 and build a web front end and add JavaScript to it and CSS? What does that publishing tool
35:42 chain look like? And how does it feel like for us publishing it to Azure? Because again,
35:46 we work in Azure and Azure pays the bills, right? So we got to talk about that a little bit.
35:50 Brian, how about you? How's it affected your role here?
35:52 Very much the same what Cecil was saying. We're seeing opportunities where we can help contribute
35:56 in those respects to Python outside of the ones that we kind of got hired on for.
36:00 But in addition to that, like case in point in Microsoft Ignite here, I just gave my first talk
36:05 that involved Python ever at Ignite of all places. So yeah, it's been really fun and exciting.
36:11 And it's kind of nice to just add that to the developer tool belt, my skill set there, right?
36:16 Yeah, I'm sure it lets you connect with that whole area of the industry that maybe just being a pure
36:21 JavaScript developer didn't really, you know, you couldn't relate to as well.
36:24 For sure.
36:24 What's your plans for topics? Have you guys decided? I know you got four,
36:28 four more months of Nina's course, but do you actually have any idea what you're doing next?
36:33 No, I have no idea.
36:34 Yeah?
36:34 No, I'm just kidding. I mean, well, so with my other streams, I probably the Python stream series that we
36:40 have, it's probably the one that we have, or the one I have that's most planned out, honestly.
36:44 The other ones, I just kind of like, I have a general direction and I just kind of go with it.
36:50 With ours, we're going to finish going through Nina's, looking at Cecil to make sure we're on
36:53 the same page. I think we are.
36:55 Yeah, you're going to decide on the spot right here.
36:56 Everybody's going to hear it in the podcast now for the first time.
37:00 Exclusive.
37:02 So we're going to finish up the course, and I think we're going to start building out
37:05 like little tools and fun ways to like integrate that, like getting to the point, like Cecil
37:10 was saying, where we're going to publish something in production and run it. That would be maybe
37:13 even interact with the chat room and through the Twitch stream and that kind of thing.
37:18 Right, right. Maybe some sort of API out there on Flask or something that then like drives,
37:22 who knows, people could talk to you and something happens.
37:24 Yeah, and the other thing I've been itching to get into doing is a little bit IoT, which is what I spoke
37:31 about here at Ignite.
37:32 Sure, yeah, yeah, okay.
37:33 In particular, like a lot of times my office at home, running all this stuff, this hardware to do the
37:37 stream, it gets hot in there and I have to, you know, this is a lazy moment here, right? But I have
37:41 to get up and I have to turn my fan on to cool the room off so that I, but like that's me stepping
37:46 away from the show so I can go do that. So I'd love to have the IoT device listen for the temperature
37:52 with Python, you know, maybe trigger the fan to go on on its own kind of thing. But we'll
37:57 see where we go with it.
37:58 It does sound a little bit lazy, but I also find like when I'm recording a show or I'm doing
38:04 something where I'm like programming, I'm deeply engaged, you don't feel like it's a little
38:08 hot. Like you get like knocked out of your flow and like, dang, it is hot in here. How
38:14 is it so hot? And then you're like, got to get up and it like breaks your thought, right?
38:19 Like in your live streaming, I think you don't want to do that, right?
38:22 Exactly. You're getting all sweaty. You got the headphones on covering your ears, you know,
38:25 it's three hours later, right?
38:27 Dang, I'm tired. Well, it was 95 degrees in your attic. What was I doing? And you guys are
38:31 both in Florida where that's a legitimately common thing, right?
38:34 Yeah.
38:34 Yeah. I wanted to ask you about the interaction with the audience. So maybe Cecil, I'll go to
38:41 you first on this one. What I've seen when people come in, they'll like send you feedback
38:45 or say, I have a question about this or what if you, it's cool that you wrote the code this way,
38:49 but what would happen if we, you made this tweak to it, right? Have you, or do you have any plans
38:54 of having like deeper requirements for participation? Like, Hey everybody, like what I want you to do is
39:00 write this program and then we're going to come discuss it. Or I want you to read this,
39:03 this article and then we're going to dive into it or like anything like where people will need to
39:08 come more prepared or is it all just like drop in and like take it in?
39:10 I think we've loosely spoken about it. So again, like if you look at Nina's course,
39:15 there is a practice section.
39:17 Okay.
39:17 So again, so it's, it's two days and each day, at least the first day was split up into eight
39:22 separate modules. And at the end of the module is a practice section, which kind of is, you know,
39:27 just exercises and muscle memory exercises that you could do to, you know, remember what we just did.
39:31 And we don't usually do that one on stream. That's usually like an exercise that we leave for
39:36 the folks that are looking at the YouTube video and the live stream to kind of do it yourself. Like we
39:41 encourage, Hey, well, you know, we didn't do this little piece of it, but please you go ahead and
39:45 for your own practice and, you know, just understanding, like go ahead and play around with it.
39:49 But I can imagine like going forward in the future, we can have more ways for people to
39:53 interact with things.
39:54 I don't know if it's with the Zen of the show, right? Like if you have too much of a requirement,
39:58 it might, the people who would just drop in might turn them off. Right. But
40:02 we don't want to do it in a way that it makes you feel left out. Yeah.
40:06 Like if you come in and week 20 and this is your first time being on the show, right? You should
40:11 still feel very welcome and included in whatever it is that we're talking about. You know, subject
40:16 matter may or may or may not be a little bit over your head, depending on like what your experience
40:20 level is, but you should still feel welcome to like sit in the room. Right. And we're all at the
40:24 table and we're all learning together.
40:26 We spoke a little bit about having like a submission form for like, like questions,
40:30 but for questions and for also topics. Yeah.
40:33 When this thing is done, like what are some of the things that you want to learn about? And
40:36 maybe you could do like a voting thing. Right. You could let them vote on it and see what one
40:39 gets voted up or something like that. Yeah. Like do like a voting thing. But I think anything
40:42 that we do in terms of interactivity would be very subtle. It won't be like, you have to do
40:47 this else you can't sit in this chat room kind of thing. It's not going to be like,
40:50 yeah, it won't make any sense unless you've deployed your app yet. Yeah. It's not going to be that
40:54 serious, but you know, hopefully it'll be something fun and interesting. And you know,
40:57 maybe we'll turn on some more lights in Brian's office, you know, turn on his fan and stuff like
41:01 that. You know, we'll see what happens. The IoT thing is fun. It's definitely got a good Python
41:05 angle, right? You could do MicroPython or CircuitPython. Are you thinking of getting something
41:09 from like Adafruit or something like that, Brian? Well, it's so funny you say that because that's
41:12 what the talk was about. It was the CircuitPython Express by Adafruit. Nice. Yeah. That's such a
41:16 cool little device, right? Like it's 25 bucks and it's got quite a bit of smarts on it. Oh my gosh.
41:20 Yeah. I'm so blown away by it. Like all everything that's built into that little device that you can
41:25 do. And it's just so fun. It's great. But the same sense that we're talking about before,
41:29 beginner friendly type stuff. If you're looking to get introduced to programming, introduced to
41:32 electronics, that thing is a great way to go about doing it and introducing yourself or students,
41:39 that kind of thing into the whole atmosphere. Yeah. I feel like the programming for that stuff is not
41:43 too intense often as well. It's not like, well, we've got these 10 files and here's where the CSS is
41:49 and here's the database migration. It's like, usually there's like the code.py or main.py and
41:54 you kind of just put it there and it's pretty straightforward. Yeah. They did a fantastic job
41:57 of making that device, like removing the friction, right? Of setting up all the things. All you do is
42:02 change the code.py file and you're good to go. It'll recognize that you made changes and load it all up
42:07 and get things running. It's really interesting. You know, it came from the BBC micro bit. I,
42:11 that the whole idea of the micro Python stuff, I think certainly that's where it first was,
42:15 was used a lot. And there were a bunch of really interesting studies around exposing kids to that.
42:21 Like I think every seventh grader in the UK or something got one for one year and they did a
42:26 bunch of studies and girls were way more likely to say like coding is something that I would consider as a
42:33 professional profession compared to, you know, before or after, before, you know, other groups
42:38 who didn't do that or whatever. And it's, it just seems like that little hands-on bit has such a
42:43 powerful effect, especially for, for kids who, you know, don't want to wait for like a website to be
42:47 built like really a long ways. I think that's fantastic. And anything that can help make it
42:51 more welcoming and encouraging for people to, you know, of all kinds of backgrounds and experiences
42:55 to join in on it is a fantastic thing. Yeah. I actually even experienced it with my own
42:59 daughter as I was preparing the talk. I was, you know, tinkering with the device, getting acquainted
43:03 with it. And so we have it set up to where if you shake it, it will turn the lights on or off.
43:07 And she's only two years old, but she's still like, wow, look at these lights, you know, like it's going
43:11 on and off. And I thought that was the coolest thing. And I'm glad I have it now because it'll be a
43:15 great way to like give her the opportunity to explore that area out. And if she's interested in it,
43:20 that's super cool. Cecil, do you do anything with your son? How old is he now? Cameron's seven.
43:23 Yeah. We haven't done anything in terms of like getting him on the keyboard to like type stuff or
43:29 anything like that. It's a little bit early because like the working with the words and the letters,
43:33 probably that age is still just a little challenging, but like it's soon, right?
43:36 What I have done. So like there's this little robot set that he got and robots as in like they're
43:41 cardboard robots. Okay. But essentially what it does is that one, it kind of gets you in the habit of
43:46 like putting pieces together. Then the robot becomes functional, right? So like there's a lever and
43:50 the arms raise and the head tilts and it does like stuff like that. And then there's this one other,
43:56 I guess, I don't know if it's really coding or not, but it's like a programming tool where you have
44:01 like this little robot, like a real robot, like a little plastic thing with wheels on it. And there
44:06 is a input device that has three buttons on it, right? There's right, left and there's forward.
44:10 And you could, depending on the combination that you put in, you could use it to like, it'll detect the
44:16 wall. Like there's a sensor in front of it. You can tell it what to do when it sees a wall.
44:20 Right. So you put in the input by that little device and then you could have it like go through
44:25 like an obstacle course. I see. I'm trying to remember what the device is called. I honestly
44:29 don't remember. But the sequence is like, it's one of the many toys in this room.
44:32 Right. And then left and then right, then right. And so you can like hit that key combination
44:36 or something like that. Yeah.
44:37 Right. Right. So you, you know, you put some blocks and whatever cases on the floor and you put in a key
44:42 combination. But you know, at some point, like you're going to hit the wall of the room. Like,
44:46 what does it do when it sees the wall? Right. So like he's done things where he just,
44:49 he has it turned up the opposite way around and like does the obstacle course in reverse or,
44:54 you know, have it go out in the hallway or, you know, just have it do different things.
44:58 And it also has like a, like a backhoe thing, like a, like a scoop in front of it. So now you can have
45:03 it like pick things up and move around and like put it somewhere else.
45:06 Go get your Lego and carry it around or something.
45:08 It's kind of programming. Kind of not.
45:10 Yeah. It's like programming without the words.
45:13 There's no computer programming.
45:15 Right. And that's what I kind of want to do. I want to get in the mental mind,
45:18 the mindset of problem solving and not necessarily like being in front of the screen. Cause no,
45:22 this is something that we could do in the backyard or on the porch or in the living room. Like you
45:26 don't have to be on a screen, on a tablet or on a smart device to kind of do it.
45:29 That's cool. Yeah. My daughter, who's 11 and in sixth grade, she was really into codecombat.com where you go and you go into the dungeon and you solve the problem.
45:37 You actually type Python, but it's like the auto complete is so incredible.
45:41 Like you can say hero dot attack enemy and you type a and it auto completes that whole line.
45:46 You know what I mean?
45:46 Yeah.
45:46 And like, yeah, it's, so there's a bunch of cool opportunities around that.
45:50 So maybe Brian, let's talk a little bit about your setup. I know you said people can get started
45:55 just like with whatever, but I was kind of wondering, cause when I go and watch you,
45:59 you're sort of just a disembodied person stuck in the corner, right? You've got like a cool green
46:05 screen and some mics and you've got like a bunch of stuff that will rain down. Like you can like do
46:10 all these little sounds and you talked about the light. So maybe give people a sense like where you
46:15 could go with like hardware and setup and stuff.
46:18 I originally was streaming from my MacBook pro, like the 2016 kind of model. And I found that it can work
46:24 on there just fine streaming from there. But you know, the fan starts spinning up and like,
46:28 that's all you hear. Right. And you could tell it's just really cranking out as hard as it can to
46:32 support all this, right? Sure. Okay. And so then I, of course, being the technologist
46:36 enthusiast that I am. Maybe something with two G forces in there would be better.
46:40 Yeah. So I built out a custom PC that I could use for gaming and for this. So it was kind of like
46:45 twofold there. And that thing is more powerful to handle streaming. So like, obviously the better the
46:51 hardware that can do a lot of the video encoding and uploading and having a good internet connection
46:55 through your internet service provider is key.
46:57 What's the resolution you stream at?
46:59 I stream at 1920 by 1080.
47:01 That's pretty high.
47:01 Fairly high. Yeah. I mean, that's, that's really the range that you kind of want to
47:05 be at. Well, mostly for gaming because I was doing some game streaming. So you could go down to 720p
47:10 if you wanted to. And people won't mind that, especially for programming.
47:14 Yeah. Sometimes it helps to have the smaller resolution so you can actually read like the
47:17 menu items and stuff a little bit. But yeah, it's always a trade-off, right?
47:21 Right.
47:22 All right. So you got this pretty awesome PC that you built out.
47:26 Yep. And then I have a combination of cameras, cameras that I had are really work related that
47:31 I'm using for that, that we do and shoot other videos with.
47:34 Are these like fancy webcams or DSLRs or...
47:38 I started out with just like the Logitech C920, which is like the standard go-to one that like
47:43 every streamer pretty much is using.
47:44 Yeah. Okay.
47:45 It's relatively priced well. And I think they have a newer model now, so you can probably even get that
47:50 one, the 920 at a cheaper price than what it used to be. But then the big one that I use that I don't
47:55 take advantage of the full capabilities of it because I'm a little bit limited with some of the hardware
48:00 that I have, the interfaces with that. But I have a Canon XC15, which can do 4K at 60 frames per
48:05 second. Okay. That's pretty awesome. But I'm only really getting 1080p at like 30 frames per second.
48:10 Right. But that's just for your body, which is like a small little thing in the corner. So right.
48:15 It's probably fine, right? That's why I'm not worried about it. Like I could upgrade to another
48:18 device that captures that video at the higher resolution and frame rate. Maybe if you were
48:22 streaming like just you and not you plus screen. Absolutely. Yeah. So yes. And then I use the green
48:27 screen to help because the big thing, like you were talking about before, you want to be able to see
48:31 a lot what's going on. And so I grabbed the green screen to help remove some of my background so
48:37 that people could see what's behind me. If something's going on there, notifications or
48:41 whatever, that'd be available. What mic do you use? What microphone? Yeah.
48:44 Rody Podcaster. That's a pretty good one. That's one of the ones I've tried.
48:49 I don't know. That's how you pronounce it, right?
48:50 For sure. I've definitely tried that. But it's not necessarily the best, but then I have software
48:53 that helps clean up a lot of my audio. I'm using VoiceMeeter, Potato, and Cantabile to help do some
49:00 pre-send. I don't even know the technical terms. I'm just winging it, honestly, with this stuff,
49:04 man. Yeah. But it's doing a lot of noise filtering pre-before it even gets into VoiceMeeter and then
49:09 into my streaming software, which is all for-this is all-well, VoiceMeeter you could pay for. It's
49:14 like Nagware, right? They will ask you. Yeah. Okay. Yeah. And then there's a free version of
49:19 Cantabile. The main streaming software you're going to be using if you want to get started is called
49:23 Open Broadcasting Software or OBS, OBS. Okay.
49:25 That thing can be very intimidating, but once you get, there's tons of YouTube videos out there that
49:30 will help you get acquainted with it. And once you get the kind of gist of it, you'll really be able to
49:34 come up with some cool stuff like you've seen on the stream there.
49:37 Yeah. Yeah. The stream is super cool. I think you're doing a really nice job.
49:39 Thanks.
49:40 Yeah. I mean, I guess give us, if somebody want to do that, what's the price tag? Is it expensive?
49:45 Like how much of this stuff costs money? Obviously the road podcasters like do $300.
49:50 Like I was saying before, I would start simple. Use whatever you can and then slowly iterate on
49:54 there and add to it. Right. But I don't even know honestly what I'm up to because I've been,
49:59 it's like every couple of months, maybe not even, I haven't even done a recent hardware update. I've
50:05 just been happy with the setup now that I'm at, but I would say like every couple of months or so,
50:09 I would like look to see, all right, let me see if I can upgrade the microphone or I can upgrade this
50:12 aspect of it. That's what my advice would be around that.
50:15 Okay, cool. And Cecil, you're pretty, pretty much just using like your podcast stuff and whatnot.
50:20 I definitely had some podcasting material equipment from before.
50:25 Yeah.
50:25 So I have a Scarlet box, very similar to the Scarlet box you have right now, you know,
50:30 and I have just have like an XLR microphone and that's really about it, right? Like I have some
50:35 software on my computer that I used to use for like audio filtering and those types of things.
50:39 But that's really about it. The stream is not coming off of my machine. So essentially what
50:43 happens, Brian and I are not in the same location when we're streaming. So I will call him via some
50:49 video conferencing software and he'll just like...
50:51 Like Zoom or Skype or something like that?
50:53 Zoom or Skype or whatever the case is. And then he'll like just put me in into like a frame,
50:57 like on the screen.
50:58 And you can do that with this open broadcast software? That is fancy. That's awesome.
51:02 Yeah. Obvious is pretty cool.
51:03 Yeah.
51:03 So you can have different screens and different setups. So now we can have one where both of us,
51:07 both of our faces are on screen. Or I think he has another scene where I could share my desktop.
51:12 And so now my desktop is like in full view, right? And we just have like little floating heads in the
51:18 corner.
51:18 Right, right, right.
51:18 And so that helps too, right? So now we could both be on screen, but now you have a full view of the
51:23 code and the editor on my desktop and whatever else we're talking about.
51:26 Yeah. It looks like Brian's really got it dialed in. That's awesome.
51:29 Yeah. So I'm lucky. I just piggyback off of whatever he's doing. I just show up and talk.
51:32 Brian does all of the hard work.
51:35 We patch in the sound effects and everything that people can play so that he can hear when
51:38 things happen. It's kind of hard being on a video call. You don't want to have the stream up on your
51:44 machine and the volume loud so it comes through your microphone. So I patch all the audio into the
51:49 video call with him so that he can hear it. And it's all through that voice meter potato software.
51:54 It's super helpful.
51:54 Your own little broadcasting booth. It sounds like it.
51:57 It's a ton of fun, man.
51:58 It's open. What's the name of the software again?
51:59 Open broadcasting software. It's up on GitHub. You get it for free. It's open source. It's cool.
52:04 That's awesome. All right, guys. Well, I think we're getting pretty short on our time and this
52:07 booth is going to run out. So really quickly, one question each to close out the show. When you're
52:13 writing some code, what editor do you use?
52:16 Visual Studio Code.
52:17 All right, Cecil.
52:18 This is not even fair. I also use Visual Studio Code.
52:21 All right, right. Not a big surprise, is it? Especially with some of the announcements today.
52:24 That's cool. All right, guys. Thanks so much for being on the show and sharing your look inside the
52:29 Twitch stream and all that. It's been fun.
52:30 Yeah, awesome. And I'd definitely love for folks to check it out. And we'll have the links and stuff
52:34 like that inside of the show notes. So hopefully you could see us every Wednesday at 11 o'clock
52:39 at 11 a.m. Eastern Standard Time on Twitch.
52:42 All right, awesome. Thanks. Bye.
52:44 This has been another episode of Talk Python to Me. Our guests on this episode were Cecil
52:49 Phillip and Brian Clark. And it's been brought to you by Linode and the University of San Francisco.
52:53 Start your next Python project on Linode's state-of-the-art cloud service. Just visit
52:59 talkpython.fm/Linode, L-I-N-O-D-E. You'll automatically get a $20 credit when you create a
53:05 new account. Learn how to use Python to analyze the digital economy in the Masters of Applied Economics
53:11 at the University of San Francisco. Just go to talkpython.fm/USF to find out more.
53:17 Want to level up your Python? If you're just getting started, try my Python Jumpstart by Building
53:23 10 Apps course. Or if you're looking for something more advanced, check out our new async course that
53:29 digs into all the different types of async programming you can do in Python. And of course,
53:34 if you're interested in more than one of these, be sure to check out our Everything Bundle.
53:37 It's like a subscription that never expires. Be sure to subscribe to the show. Open your favorite
53:42 podcatcher and search for Python. We should be right at the top. You can also find the iTunes feed at
53:47 /itunes, the Google Play feed at /play, and the direct RSS feed at /rss on talkpython.fm.
53:54 This is your host, Michael Kennedy. Thanks so much for listening. I really appreciate it.
53:59 Now get out there and write some Python code.
54:00 Thank you.
54:01 Thank you.
54:03 Thank you.
54:05 Thank you.
54:07 Thank you.
54:09 Thank you.
54:11 Thank you.
54:13 Thank you.
54:15 Thank you.
54:17 Thank you.
54:19 Thank you.
54:21 Thank you.