Monitor performance issues & errors in your code

#68: Crossing the streams with Podcast.__init__ Transcript

Recorded on Monday, Jul 11, 2016.

00:00 Have you listened to the other major Python podcast hosted by Tobias Macey and Chris Patti? It's called podcast.__init__ and, like this show, they have some excellent stories from the Python ecosystem on there weekly. So recently some listeners from both shows suggested the unimaginable: That we 'cross the streams'...

00:00 "There's something very important that I forgot to tell you."

00:00 "What?"

00:00 "Don't cross the streams."

00:00 "Why?"

00:00 "It would be bad."

00:00 "I'm fuzzy in all good- bad thing, what do you mean bad?"

00:00 "Try to imagine all life as you know it stopping instantaneously and every molecule in your body exploding at the speed of light."

00:00 "Total Platonic reversal"

00:00 "That's bad. Ok. All right, important safety tip, thanks Egon."

00:00 We, despite Egon's warning, are going to do it anyway. Recall in the movie Ghost Busters they defeat Gozer by doing just that. This time when we cross the streams the result is a little less dramatic, but something awesome comes still out the other side too! A fun podcast episode.

00:00 This is Talk Python To Me, episode 68, recorded Monday July 11th, 2016.

00:00 [music intro]

00:00 Welcome to Talk Python To Me, a weekly podcast on Python- the language, the libraries, the ecosystem and the personalities.

00:00 This is your host, Michael Kennedy, follow me on Twitter where I am at @mkennedy, keep up with the show and listen to past episodes at talkpython.fm and follow the show on Twitter via @talkpython.

00:00 This is episode is brought to you by Hired and SnapCI. Thank them for supporting the show on Twitter via @hired_hq and @snap_ci.

01:59 Michael: Tobias, Chris, welcome to the show.

02:00 Chris: Thanks.

02:01 Tobias: Thanks, thanks for having us on.

02:03 Chris: Happy to be here.

02:03 Michael: Yeah, it's time to "cross the streams" of these two Python podcasts.

02:10 Chris: [laugh] Whatever you do, don't cross the streams!

02:11 Michael: Don't cross the streams!! Yeah, man, that brings me back to my childhood with Ghost Busters. Yeah, so that's going to be really fun and you know, we both had such interesting conversations with so many people in the community that are pushing the boundary of what you can do in Python or just getting started, like there is all these stories and we all had a lot of exposure and so it's going to be fun.

02:36 Tobias: Definitely.

02:35 Chris: Absolutely.

02:37 Michael: Before we get into that though, let's talk about your stories, how did you guys get into programming in Python- Tobias go first.

02:44 Tobias: So, I actually ended up getting into programming a little bit later on I was like sort of digging into the guts of programs like hacking different games and digging into Windows registries to try and tweak things, and I actually ended up getting into programming through a computer engineering degree that I did online after a false start of thinking that I wanted to go to school for theoretical physics, and then so I ended up going to school, getting my degree in computer engineering and while I was doing that, I actually got started as systems and network admin for a small company in Vermont which is where I grew up, and just from there, I ended up teaching myself Python, I started teaching myself other languages and other different frameworks, and just switching from different jobs, work as a systems and network admin, as a developer, as a dev ops engineer, currently I am working as a senior dev ops engineer and using SaltStack in my day to day, so I do a lot of hacking on that.

03:48 Michael: Can you say where you are working, because you are working in a pretty cool place, right?

03:50 Tobias: Sure, yes, so I work at MIT in the office of digital learning so I help to run their instance of open3:56 for doing online courses for their residential courses, so all of the on campus courses that need an online component, most of them use the openetics 4:06 instance that we run on campus and I am responsible for making sure that that stays going and gets upgraded in timely manner.

04:13 Michael: I am sure that's a cool place to be, do you work on campus or do you work remotely?

04:16 Tobias: Yeah, I work on campus.

04:17 Michael: Yeah, fantastic. Chris, how about you, what's your story?

04:19 Chris: So, my story starts a little bit earlier than Tobias's, when dinosaurs ruled the Earth, in the late 1970s, early 1980s-

04:31 Michael: When text was green.

04:31 Chris: When text was green, yeah [laugh] I had always been into video games, I had Matalan television and I gave up waiting for the keyboard attachment that never really materialized, and I really just got to the point where I was like, these are great, these games are great but I want to control what's going on on the screen, and so I save pennies and my parent pitched in and we bought an Atary 400 with 16K and a cassette drive and we had the basic cartridge. [laugh]

05:02 Michael: Wow, that is awesome.

05:03 Chris: That's how I got my start in programming, and you know, learned basic and a little bit of assembler and I never became an assembly language master, these many years later I actually came to Python much later, I only started learning Python maybe about 2 years ago, 3 years ago, something like that, in my last job where I was working as a devops capacity senior software engineer, doing deployment for a fleet of about 1000 servers automated deployment. I had formerly been mostly a Ruby guy and before that a Perl guy and when I learned Python, part of it is also Tobias's fault, because we had worked together in a previous startup and he had just been constantly nudging me with this Ruby and he is like you know, this would be a lot easier in Python. Or, honestly, I am just going to do it in Python and show you and you can see how easy it is, and that sort of planted the seeds and so when Carbonite came around, they told me they are mostly a Python shop I said what the heck, I mean I might as well, and I really really enjoyed it. And now, I am working for Amazon Web Services as a system development engineer and on the elastic file system project and we use a lot of Python there so I am still loving it.

06:20 Michael: Now, that's excellent, I am sure that's a super fun place to work as well. Do you work remotely or are they in Seattle, where are you?

06:30 Chris: No, we have a Boston office which in fact, I don't know if Tobias, I don't know if you are still where you were, we used to be right next door to Tobias.

06:38 Michael: Wow, ok, excellent.

06:39 Tobias: We just moved our office down the street a little ways.

06:42 Chris: Ok, well then we are no longer next door but we are still pretty darn close.

06:46 Michael: So, let's talk about the podcast. Your podcast is called Podcast __init__. And, it's very similar to mine and that we have some of the same guests, we have some of the same sort of format although you guys, there is two of you there is one of me, but generally, it's similar. Why did you guys get started, what was the motivation?

07:02 Tobias: So, I am mostly to blame for that, I have been listening to podcasts for a few years now, I always appreciated different particular languages, podcasts, and I've liked Python for a long time, going back to a little bit of my story of how we got started in programming I ended up teaching myself Python just because I had heard mention of it a number of times and I thought it was kind of interesting, I actually started teaching myself Ruby first but I never really stuck and when I started learning Python it just immediately clicked and I was like ok this is what I want to be working in.

07:37 Michael: That's cool, I had the same reaction to Ruby and Python as well.

07:41 Tobias: Yeah. So I just ended up using it wherever I could, breaking little scripts with it and eventually building up bigger projects and I had started off with the old Python podcasts that were around like Radio free Python, From Python Import Podcast, and I thought those were great and it was really interesting to hear from the different voices in the community but all of those shows stopped producing episodes a few years ago and so once I listened through all the back catalogue I said ok, well what now, and eventually I decided that if I wanted to be able to listen to the Python podcast I guess I was going to have to start one because it didn't seem like anybody else was doing it, and I waited probably a good year or so for somebody else to pick up the torch and it didn't happen and eventually I said ok, I guess I've got to start thinking about this and I had it sitting in my mind for a few months before I finally pulled the trigger and I knew that I wanted to have a co host on the show because listening to shows like Ruby Rogues and Javascript Jabber where they have a bunch of panelists, I thought i was a good dynamic, and so I approached a couple of my friends and said, hey, I'm interested in doing this Python podcast, what about you? And Chris ended up deciding to join me on that and eventually we finally got our acts together enough to start recording and it just kind of snowballed from there.

09:02 Michael: Yeah, that's awesome. So what was that like, like Hey Chris, you want to get up in the 5 in the morning and do a bunch of recordings?

09:07 Chris: [laugh] I remember actually we were both working at the same startup at the time and we both were sort of like kicking back and forth like why is there no Python podcasts, like what, you know, we both appreciated the Ruby Rogues show, you know, major props of them, they do really great work and they have some great topics on, even if you aren't into Ruby you should definitely give them a listen, but we both said, ok, they are doing this great work, why is there no voice for the Python community that's doing similar things and it was just sort of like well, ok, you know as Tobias said previously, he had had the idea rattling around for a while and I just jumped on the bandwagon and said yeah, we should really actually do this, because, you know, one of things in my opinion that you have to come up with in order to make something a success is there has to be a niche and there has to be interest, right, and it was very clear to both of us that this was a void that needed filling, that people really loved Python and the previous Python podcast before they 10:05 were very popular, so we said, this is something we really need to jump in and make happen.

10:11 Michael: Yeah, absolutely. And little did you guys know that somewhere on the west coast was some guy in an office above his garage thinking the same thought. We released, I don't remember the exact date but it was within a week of each other, like there had been no podcast for a quite some time and we both said yeah, there is this huge void and what the heck, like if no one else is going to do it, I guess I am qualified enough and I really want to try so let's go for it, right, and that's amazing.

10:39 Tobias: Yeah. It was actually you released your intro episode three days before ours, I remember because I was in the process of getting edited and I launched mine and then I looked around to see what the reaction was and said wait a minute- [laugh] what happened here?! [laugh] And, I don't know what it was but yours launching three days before sort of stole the limelight and for a little while we were sort of in the shadow of you and I remember thinking, How did this happen, what is going on here? But, over time we both gained a lot of popularity so it's-

11:13 Michael: I would say yeah, absolutely and congratulations to you guys on this success f your show, that's really cool.

11:18 Tobias: Thank you, you too.

11:21 Michael: Thanks. Yeah, I think, I certainly see the podcasting space to some degree as kind of a, from an abundance perspective like there is plenty of stories for us all to be telling, right, if there was 20 Python podcasts maybe not, but you know, for a couple- no problem at all, right?

11:36 Tobias: Sure. And one of the things too that I tried to focus on is getting guests on the show who aren't as much in the limelight within the community, so I absolutely love getting guests on who are bigger names in the community like Travis Oliphant or Ned Batchelder, people who everybody knows their name but I also really enjoy being able to find people who are doing very interesting things who lots of people might not have heard of, for instance, our episode about Evennia with Griatch.

12:06 Chris: The Beeware episode actually, he doesn't get much press.

12:08 Tobias: Yes, Russell Keith Magee, that was a great episode, Maneesha Sane talking about software in data carpentry, so I was just trying to- because this is such a large community and there is so many different things people are doing with, I try to pick from different industries to say what kinds of stories can we get from that, rather than just sticking with the typical web development data engineering because it's so easy to just fall into that rut. As somebody who is trying to bring voice to the community I think it's important to branch out as much as possible.

12:36 Michael: Yeah, I really like that philosophy and try to follow it myself as well because everybody has amazing stories, and what are the things that somewhat unique about Python is it's so broadly used, right, from all the different places and disciplines, you know, into the sciences and math and devops and just all over. So, I thin it's important to bring that awareness of the different areas rather than just hey it's web development all the time on Python, woohoo.

13:05 Tobias: Definitely.

13:07 Chris: Absolutely.

13:07 Michael: Yeah, Chris, so how much time do you guys typically spend on like finding guests, editing, preparing for the show, post production, like what does a typical week in shipping an mp3 look like for you guys?

13:20 Chris: I am actually really lucky in the sense that Tobias and I can say this right, your wife basically, they do a lot of the background work on the podcast, I lately have been really just sort of pitching in, being the co host so Tobias you can probably answer how long the whole production process takes.

13:37 Tobias: Yeah, so in terms of finding and booking guests that's variable, some guests you send one email and they say yeah, great, let's do it tomorrow, or whereas some guests say oh now is not a good time for me, let's try booking it two, three months in advance, and so there is a lot of variability there in terms of how much back and forth it is necessary to get something scheduled and some people are just so busy that they don't ever get back, and so those people I just kind of put in the column of these people never responded I'll try again some other time. And then, once I do get somebody booked and scheduled, I generally spend a couple of hours or so getting questions put together, sometimes more, sometimes less, depends on how familiar I am with the particular subject matter, project that they are working on or their particular background, in terms of the different things that they have done.

14:26 And it also differs because sometimes I am interviewing somebody who has just done so many different things within the community that it's hard to narrow down on one particular subject so for instance Armin Roncaher rather than focus on Flask or focus on Lektor we decided to just get his overall story of working in Python and just sort of take a little tidbits of projects that he has worked on whereas other times for instance when we interviewed the creators of Wagtail, we went deep on one particular project and so those required different approaches in terms of figuring out what kinds of questions to ask because if it's just one project well you can a lot of times just sort of go through the documentation, maybe look at the marketing page for the project and see what are the sorts of articles that might be about it, so I usually use those as an inspiration for determining what questions I should ask. I always like to start with at the top level asking them to describe the project or describe their history with Python, so there is always a common entry point into the conversation because some people may have never heard of this project before, whereas some people may have been using it for years, and so just having a common starting point of this is what the project is, this is how it got started, this is why I wanted to create it I think really makes the overall interview a lot more accessible.

15:50 Michael: Yeah, and that's one of the things that often gets stripped away by the time it becomes popular and widely spread, is the history, the things people tried that didn't work out, you know, like if you think about something like SQLAlchemy, it's been around for so long, it's evolved and it's this highly polished thing, but it started out as just like a new blank file so you know, that Mike Bayer started typing in, right, like the motivation and the history I think make a lot of these things richer.

16:22 Tobias: Yeah, and another interesting one was learning about the Numpy with Travis Oliphant, because this is this package that is used everywhere in multiple industries, not just in data science but also even in web development or image processing, and just seeing oh I just didn't really like using these other languages, I wanted to be able to do something in Python and there is this project that kind of did what I wanted to and so I just used that as an inspiration and built up this whole new thing.

16:50 Michael: Yeah, for sure.

16:52 Tobias: It was just very cool. They are going back to the overall process, the interviews themselves usually last about an hour or so, so that's some time there and then as far as the post production, to start with, I was doing all of the editing, I have since handed that off but the editing process takes depending on the length of the interview anywhere from about an hour and a half to three or four hours, because you know, some interviews have issues with audio quality or there might have been interruptions and so those can require a little bit more editing time. And then, once it's been edited, it just gets exported to an mp3, I upload it to our podcast host and then the 17:32 it's generated, it usually takes me about half an hour of 45 minutes to announce it on various sites like Twitter, Google+ etc.

17:41 Michael: Yeah. A lot of small steps, and you know, I think they really do add up, it takes probably more time than people realize like you know, I was talking to Brian Oken, he is also in Portland, he runs the Testing Code Podcast and he said originally he started podcasting because he was trying to do a lot of writing and blogging and he felt like he didn't have time for it, so he wanted something that he thought would be more efficient.

18:08 Chris: Oh goodness, [laugh]

18:09 Michael: So when he started a podcast he was like, this is way worse, what was I thinking man.

18:15 Chris: Oh that's funny.

18:15 Michael: Yeah, exactly. That was also my reaction, I laughed.

18:21 Tobias: It's funny you mentioned that, because at about the same time that I was getting started with the podcast I was also trying to start a blogging habit of you know, putting out an article each week and that very quickly faded than to zero once I really started the podcast, I said well, I am releasing weekly as is, so I don't really need to write something too.

18:40 Michael: Yeah, I would like to do more blogging but it's you know, there is only so much time in the day really.

18:40 [music]

18:40 This portion of Talk Python To Me is brought to you by Hired. Hired is the platform for top Python developer jobs. Create your profile and instantly get access to 3500 companies who will work to compete with you.

18:40 Take it from one of Hired users who recently got a job and said, "I had my first offer on Thursday, after going live on Monday and I ended up getting eight offers in total. I've worked with recruiters int he past but they've always been pretty hit and miss, I've tried LinkedIn but I found Hired to be the best. I really like knowing the salary upfront, privacy was also a huge seller for me."

18:40 Sounds awesome, doesn't it? Wait until you hear about the signing bonus- everyone who accepts a job from Hired gets a $1000 signing bonus, and as Talk Python listeners it gets way sweeter. Use the link hired.com/talkpythontome and hired will double the signing bonus to $2000. Opportunity is knocking, visit hired.com/talkpythontome and answer the door.

18:40 [music]

19:56 Michael: One question I wanted to ask you about is you edit your shows, like edit them to sort of polish the audio and maybe take out some of the ums and ahs and like sections that didn't make any sense, and I do that on my show as well, it's probably three hours of editing per episode and for a long time I did it myself now I have some folks that work on it, but you know, I still do some, I probably have to do the editing myself for like the final pieces and some of the content and so on. And I go back and forth thinking men, this is a lot of work. You know, like it would be so much quicker and easier to just release and a lot of shows are just like record and here is the recording, you are done; do you think it makes a big difference, I mean, people out there are listening, maybe have ideas as well, but do you think it makes a difference in the success that you know, you make guest sound good?

20:43 Tobias: I feel like it does, because one as a podcast listener, particularly now that I have been doing a lot of producing and editing of podcasts myself, I really pick up on those uhms and likes and just different verbal crutches, and I think that when the producer of the show takes the time to actually take out some of those obvious bits- you can't take out every single one of them, but when you take out the majority, it really just makes the overall conversation flow a lot better, and also speaking from the perspective of guests, I've actually had a couple of guests who before they came on the show they wanted to check and see I might have this verbal affectation or maybe a speech impediment of some sort, like a stutter, and knowing that we do that post production and editing and cleaning up of the audio made them feel a lot more comfortable coming on and like they didn't have to be as self conscious while they were talking because they knew that after the episode it would get cleaned up and it would help make them sound better and more confident without them having to constantly be thinking about it during the interview so it makes the conversation itself sound a lot better. So I definitely think that having that post production is a valuable addition to the show.

21:57 Michael: Yeah.

21:58 Chris: I totally agree, and even as a podcast listener and now also taking part in making a podcast, I can say, I mean, first of all it's interesting making show you found this to making a podcast sensitizes you, you listen in a different way, right, as someone who does this now on a regular basis, and I can tell you that even before I was a podcaster, I definitely preferred podcasts that were edited. Those podcasts that leave in every utterance and all the awkward pauses and everything like that it just basically says unfortunately that the people making the podcast didn't care, right, like didn't want to put the time in to make it a pleasant experience for me. It makes me want to listen less, so I think it's hugely important. I know it's a lot of work but I think it's hugely important.

22:44 Michael: Yeah, I think the podcast space is changing a lot, right, I mean, it's really starting to go mainstream in ways that it wasn't just a few years ago, so I think what's worked in the past, is going to work a little bit less well like just being present is not enough, you've got to put in some work. Ok.

23:00 Chris: Exactly.

23:00 Michael: Yeah, very interesting. So what's it like to run a successful podcast, like what's your interaction with the community, what personal experiences do you have form it, like what's the story there you guys?

23:12 Tobias: I think that it's great, it's definitely changed my relationship with the community a lot for the better, I've gotten to meet and speak with so many amazing people in the community, I think the most visceral experience of how this has changed my relationship there is going to PyCon last year versus this year, so last year while I was at PyCon I actually released our first interview episode with Tomas Hatch, I was finishing up editing it and pushing publish while I was sitting at the table during one of the lunch breaks, and as a generally introverted person it was really hard for me to go and involve myself in conversations that people were having, and so I think I really missed out a lot on the overall conference experience by not being as assertive and now that I've been doing the podcast for over a year when I went to PyCon this time, it was just a world of difference, because I had that conversation starter of hey how is it going, I produce this podcast, have you listened to it, what do you think?

24:13 Or, also being able to go up to the guests on the show and say, hey it was great having you on the show and then just be able to enter in a conversation and not have to feel self conscious of, oh, this is this big icon in the Python community who am I to go interrupt them in whatever it is that they are doing. So just having that different perspective on my relationship to the community has been immensely beneficial and then also just hearing from listeners to the show of, I really like this podcast, I like what you are doing, I like these guests and also people commenting on specific episodes saying the different pieces that they liked or didn't like, or disagree with, it's just great to have that dialogue and feel that I have improved their experience with the Python community as well. Also, there is one gentleman who I met at PyCon who is saying that through listening to the podcast he said he went through all the back episodes and now he is doing a lot more data science work as a result because of the fact that he found these interesting topics through the different interviews that we've done on the show and that's just very impactful to me personally.

25:20 Micahel: I definitely have had similar experiences like that and I think it's very rewarding. Chris?

25:27 Chris: I totally agree, I sadly have not been to PyCon yet, this year it's going to happen, but I have definitely had some of the same experiences locally in the Boston Python scene, it's been great to talk to people and get that response, oh you are involved with that podcast, and it really is a very rewarding experience to say nothing of the fact that I've had the opportunity to meet at least online these amazing people like as Tobias had said Thomas Hatch, Reuven Lerner, and all these other great folks, but also in addition to that I definitely feel like the podcast has had a net positive effect in the community at least in some small ways like as for instance, we ended up Tobias maybe you can help me out, the gentleman who mad all those really great interactive Python Jonathan-

26:16 Tobias: Jonathan Slenders. Prompt Toolkit

26:19 Chris: Right, Jonathan Slenders, Prompt Toolkit, exactly, thank you the Python Prompt Toolkit, with all the great work that he has done with that and then we ended up talking to the IPython folks and they are talking about how they were having problems with their code, the aspects of their code running on Windows and you know, they were talking to Jonathan Slendres and I just feel like it's been really great to sort of see and maybe even do the various disprate parts of our community that might not have been talking to each other come together, so it's been really rewarding.

26:47 Michael: Yeah, that's cool, and I definitely feel like our podcasts taken as a whole do that, they sort of instead of living in your si27:00 right of web developer, data science, whatever, I think it sort of spreads the experience and the people's stories around so, that's cool. If somebody came to you and said, hey I am thinking about starting a podcast, would you recommend it to them or what would you say?

27:16 Tobias: I would say that it's a great experience, the first thing i would say is to make sure that you have a topic that you really care about and that you are not just doing it for some other motive, because if you don't truly care about the content that you are producing then it's really to just put out a couple of episodes and give up, or and also just make sure that you are not too nished down because then it might be difficult to find guests unless your format is to just do episodes where you are just talking directly to the audience in which case as long as you have enough subject material to cover, by all means do it, it's a great experience, it definitely takes time, and it definitely takes effort, so I don't want anybody to have the illusion that it's just this thing that you can do real quick and easy because if you really want to have an engaging podcast and have enjoyable to your listeners, then it does take a fair bit of effort.

28:09 Michael: We were talking about going back and listening to our old episodes.

28:14 Tobias: Yeah, definitely. From the beginning of our show we've had number or people who commented on the fact that our audio quality was not up to par and we've been steadily working on improving that and so that's another thing to focus on as you first get on with this, make sure that you have decent recording capability, so don't use your laptop microphone, it's not going to sound very good; get at least a cheap USB mic or USB pad set with the microphone on it because it's going to drastically improve your audio quality. And also make sure that when you are recording that you are using the microphone you think you are, because I did go and buy a nice USB microphone from the first episode but because of the vagaries of audio settings on Linux I didn't realize that I was still using the internal laptop microphone for the first little while until I was digging around trying to figure out s different issue and said oh, oops.

29:07 Michael: Wait a minute, this sounds really different.

29:11 Chris: [laugh] definitely, a good microphone is key and the thing is, like Tobias said, definitely recognize that it's not as straight forward as it seems, but it is easy and straight forward to get started, and if you have the topic, and you have the desire then you definitely should start. Because like, it is definitely the kind of thing that you will learn a lot as you progress, but everybody has to start somewhere and even if the first episode or two is painful and I personally know if it's Tobias 29:43 at least our first episode is also painful, you know we made the mistake of using an actual script like word for word and we sound like this. So, but definitely do get started because there is no place to go but up and after a while you will definitely feel more accomplished and your audience will reward you with lots of positive feedback and it is just totally worth it.

30:07 Michael: Yeah, that's cool. So speaking of rewarding experiences and conversations, what are some of your most popular episodes that you've had?

30:16 Tobias: Sure, yeah, so I was just looking at our download statistics this morning and from all time, our top five most downloaded episodes, unsurprisingly are from towards the beginning because they have had a longer time for people to find them to download them, but they are episode 3 with Kivy developers, episode 10 with Brian Granger and Fernando Perez of IPython, episode 12 with Eric Schles talking about using Python is data science to fight human trafficking with the New York district attorney's office-

30:48 Michael: Yeah, that was an interesting one.

30:49 Tobias: Yeah, that was a good episode. Episode 5 with Ned Batchelder talking about how to build a healthy community because he is one of the organizers for the Boston Python Meetup Group, and episode 4 with Travis Oliphant who is the CEO of Continuum Analytics as well as the original author of Numpy and Scipy and a number of other things that he has done over the years.

31:11 Michael: Yeah, it's definitely growing. So the Anaconda distribution for example, that's Travis and his crew.

31:18 Tobias: Exactly. And, taken from just this year, 2016 our top 5 are episode 38 about Algorithmic trading with Scott Sanderson talking about how Python is used in Quantopian to facilitate their platform for people to experiment with stock data and figure out how to build trading algorithms; Episode 46 with Matthew Rocklin and Alexandar Schepanovski about functional Python so talking about their work with a couple of different libraries for facilitation functional style programming in Python, episode 52 with David Maclver about Hypothesis which is a property based testing framework.

31:55 Michael: Hypothesis is amazing, I just literally finished talking to him before talking to you guys, and that's an amazing project, so yeah.

32:03 Tobias: Yeah, it's pretty incredible what he's done with it. And particularly given the fact that it was inspired by tool from Huskell and by virtue of some of the different features of Python, he has actually been able to add features that the original implementation doesn't have the option of adding, so it's pretty amazing what he's done there. then, episode 42, talking about SymPy with Aaron Meuer, and episode 45 talking about Cython.

32:30 Michael: Yeah, who was on that one?

32:32 Tobias: That was Craig Citro and Robert Bradshaw.

32:36 Michael: Ok, cool. Yeah, those are all amazing topics, right.

32:39 Tobias: Yeah, definitely. They all have been really interesting conversations, really great people to talk to, and I definitely learned a lot in each of those.

32:48 Michael: Chris, if you could just recommend like one episode, if people were listening to this and they are like hey I haven't heard of this podcast, is there one episode you would recommend they start with?

32:57 Chris: So, it really kind of depends upon who they are, right, like if they are like for instance, I even pointed my mother in law at the Eric Schles about the human trafficking episode, because there is technology bits in there but I feel like it's just this I don't want to toot our own horn but this is amazing human story about this man who just sort of like became outraged of the injustice of what was going on and he is a technologist and he fights it with technology, and I just thought it was a really great story that anybody can listen to and appreciate, so I would say that is one of my favorites. And, my other favorite is the Kivy episode, just because I feel like Kivy is this really unique kind of interesting thing that has so many really interesting applications from games to these sort of crazy interactive museum exhibitions to mobile applications and it's just a really cool piece of technology.

33:58 Michael: Yeah, that's cool, Kivy is kind of opening up a space that's been mostly out of reach for Python.

34:05 Tobias: Yeah, it's a very cool project, and another interesting bit came of that episode was while we were speaking with some of the core developers, they mentioned that that was actually the first time that any of them had actually spoken to each other via voice, all of their previous interactions had just been through issue trackers.

34:21 Michael: Wow. That happens, right, like there is so many people collaborating, and it's really, I can see all that happens. Ok, so what do you guys have on deck, what's coming up?

34:34 Tobias: We've actually- I'll just circle back a bit, if I could recommend one episode people listen to, I had to think about this for a little while but I would probably say the episode about the pep process, because it is very entertaining because the guest we had on had a great sense of humor and they 34:54 really well with each other, and it's also just a really great dive into a lot of the early history of Python and how some of the different aspects of the community came to be so I really recommend that for anybody who is coming into Python because the pep process is pretty foundational and how Python has evolved over the years, and has maintained a good trajectory, but also just because the people on the show and the stories on the show are very entertaining.

35:21 Michael: Yeah, that's cool, I haven't heard that one, I'll have to check it out, that was episode 37, right?

35:25 Chris: Yes, it was. And I want to second that one, that's a really really good one not just for the reasons Tobias outlined but also because I feel like this idea of how does a programming language community or even a community in particular, right, sort of control its evolution, how does a single entity, a single piece of technology like Python say, help to guide its own change, evolution, when there are so many disparate communities wanting so many different things out of it and trying potentially to move it in so many different directions, how does it retain its if you are going to forgive me for saying so, soul, right, like how does Python stay Pythonic, as opposed to becoming yet another sort of programming language that has kind of, that is kind of all over the place, and I feel like these guys really thought really hard about this, and they were the first to say the answers they came up with are not perfect but they worked pretty darn well, and I think that some of the things that make Python awesome, are a direct result of the choices that they made on the outgrowth of that process, so I think that episode is required listening, even if you are not a Python fan, if you are just sort of like somebody who cares deeply about open source, I feel like it's a really great episode to give you some ideas on how to do things right.

36:50 Michael: Ok, yeah. That's really cool, like we are just now seeing the fruits of those processes been placed so long ago, right, as it continues to grow and evolve.

37:00 Chris: Absolutely.

37:01 Michael: Yeah. Interesting.

37:01 [music]

37:01 Gone are the days of tweaking your server, emerging your code and just hoping it works in your production environment. With SnapCi's cloud based, hosted continuous delivery tool you simply do a git push and they autodetect and run all the necessary tests through their multistage pipelines. If something fails, you can even debug it directly in the browser.

37:01 With the one click deployment that you can do from your desk or from 30 000 feet in the air, Snap offers flexibility and ease of mind. Imagine all the time you'll save. Thank SnapCI for sponsoring this episode by trying them for free at snap.ci/talkpython.

37:01 [music]

38:01 Michael: So Chris, sadly we missed you at PyCon, but Tobias and I we got to hang out there. So what was your impression of the conference Tobias?

38:09 Tobias: I thought it was- one, I had a great time, I ended up skipping most of the talk sessions because I got so embroiled in conversations at the expo floor, just with some pretty amazing people, both past guests and people who I had never met before, and we had a really great breakout session of just talking about our podcasts with people who have listened to one or both of our shows.

38:35 Michael: Yeah, and thanks to everybody who came to that open session that you set up, that was cool to meet them all, and the feedback they gave us was good, yeah.

38:40 Tobias: Yeah, it was great to just have that face to face interaction and be able to ask direct questions and get their immediate feedback because it's really tough to get that same sense of connection just by emails or Twitter or even the discourse forum that we set up. So being able to have people say, oh this is what I liked about this particular format or this is something that you might consider doing as a topic or as a particular approach to producing the podcast, so it was a lot of fun, actually as a result of that, coming up in a couple of weeks we are going to be interviewing one of the gentleman who was part of that session to talk about test engineering in Python, of how Python is used in testing of large scale systems and also how, where the gaps are in the tooling available, so not necessarily large scale software systems, it could even be things like mechanical engineering, electrical engineering but how Python is used in those contexts and where it may fall flat so that will be a good interview.

39:42 And then going broader about PyCon itself, I think there has been a lot of focus on how to improve some of the tooling around Python, because we have a lot of great tooling but there are also some areas where we have some gaps and I think a lot of people are working to identify those and try to remediate them, so we had Alex Gaynor give a talk about this is the tooling that we are missing, or this is the tooling that we need; there is also a great talk about the update framework, there is a way to add verifiability and security to the package installation process, so i recommend people check out that talk. And there has also been a lot of interest in figuring out how do we make Python more parallel or concurrent or performant and so for instance we had the talk about the Gilectomy.

40:30 Michael: The Gilectomy, that's the global interpreter lock, and of course the Gilectomy being sort of surgery, metaphor for removing the gil, yeah?

40:39 Tobias: Yeah. And I also had the opportunity to overhear and take part in the conversation with Van Lindberg and a couple of other people at the conference about some ideas, about how we might borrow some of the approaches that Rust has taken with memory ownership and 40:57 checking and how we might try to implement that in Python as a way to get better parallelism and better concurrency, so just a lot of different themes going on in those directions so I thought that was really interesting, so it will be interesting to see what happens in the next few iterations of Python. There is also in terms of performance there is the Pyjoin project that Dino Viehland and Brett Cannon are working on who we both had episodes about that but also they did a presentation at PyCon about that and it sound like they are on track to have that merged into the 3.6 release. So it will be interesting to see what becomes of that.

41:34 Michael: Really, that is fantastic! Yeah, that's fantastic. Ok. Chris, I know you couldn't be there, but did you check out youtube.com/pycon2016 and found anything you liked there?

41:46 Chris: One of the keynotes looked really good, I honestly haven't had a chance to spend much time on it yet, I've been so busy ramping up with my relatively new job that, tons of material I have to watch for that, so thank god for You Tube and I am definitely going to see a bunch of the talks, no question.

42:02 Michael: Yeah, awesome. Tobias, if you could pick one talk, is there the one that is your favorite?

42:06 Tobias: I think the one that had me the most floored was definitely the closing keynote by K. Lars Lohn Complexity in the art of the left turn, because just his presentation and the mixed media approach to it was just very engrossing and visceral and particularly being in the room while he was presenting it, it was just a great experience. I recommend anybody go watch that talk even if you don't do Python, it is just very well put together.

42:30 Michael: I totally agree, I felt like I was like in the presence of like a renaissance genius, [laugh]

42:36 Tobias: Absolutely. [laugh]

42:36 Michael: Seriously, like it was like ok, there is this amazing like live music performance, here was this like biking videography thing that's amazing, here is software, here is mathematics, here is philosophy, we were just like holly molly, like that's crazy. So, yeah, that was awesome.

42:52 Tobias: Yeah, definitely. i am going to have to see if I can try and get him on the show some time because I think he would be a great person to talk to and just in general, even regardless of anything having to do with Python, I think he's probably got some pretty amazing stories.

43:03 Michael: Yeah, yeah. I am sure. All right, let's talk about website infrastructure a little bit, so running a podcast actually is some kind of an infrastructure project, what do you guys use there?

43:17 Tobias: So right now we are using the pelican static site generator for posting all of the show notes, we use a service called podbean for hosting the media and generating the feed.

43:27 Michael: So they handle all like the majority of the bandwidth and shipping mp3 and things like that?

43:31 Tobias: Yes. Exactly. So that's been good for getting started because it means that we just have one fixed monthly cost, we don't have to worry about any spikes in downloads, potentially increasing our cost structure, so just have been able to just throw it all at them and say ok, I don't have to think about it anymore, I just click a few buttons here. But now that we are starting to grow and trying to do some other things with the podcast it's starting to become a little bit restrictive, because of the fact that it's a hosted offering, I can't be like hey can you just do this one little thing for me, and also not having complete access to all of the data to do different analyses or maybe add some additional metrics into it is starting to become something that I would like to be able to have more control over, so I am thinking about potentially moving us to another offering.

44:19 There is always this tension of just use something off the shelf that does most of what you need to do versus the invented syndrome of I really want to build it myself and I want to make sure that it's built in Python, but not having the time to be able to dedicate to making sure that it's done well and robust and has all the different features that I want. So, right now, I am actually looking to most likely set up a wordpress using one of their podcasting plugins to get some better dynamicism and some other features that we can use to make the website and the overall production process a little bit smoother and easier to manage and also get closer control over the feed generation and the statistics gathering, particularly because I've had a couple of listeners request an ogg format for the show and with host that we have right now there is no capability of having different feeds for different media types, whereas pretty much all of the wordpress plugins have that as a first you know, built right in.

45:20 Michael: Ok. Yeah, that's cool, I think I sort of asked you about that partly directly because it's interesting but also I think just anybody building some kind of online presence, either for podcast or something else, there is always this tension of hey if I grab these building blocks that are like put together for me, I could probably be up and running in a week, but then you kind of are in the same box with everyone else and it's hard to look different or like you say do something special on a request like hey we have an ogg format now, so boom- this is the url or whatever, right.

45:56 Chris: It's one of those things where I have no doubt that both Tobias and I could be essentially taken full time or close to full time in terms of writing software for the podcast and building content for the podcast, and we would love to do that, and maybe if we can keep at this until we retire and one day we will have time for that, but when you work a very full time job it's tough to get the time to do all of the fun sort of side hobby work that you would like to do.

46:27 Michael: Sure, that's an interesting point, like, given that you start from already being busy and this is like a thing that you are going to do, on the side, which is how both of us started, it's almost like it's made it possible, right, like you were able to say look, if we do this it's actually not inhibitive to get started.

46:48 Tobias: Yeah, exactly. And because I already have a full time role, I don't have to worry about whether or not this is going to be massively successful and pay all of my bills for me because it was never about paying the bills, it was just this is something that I really want to do and something that would be fun and beneficial, so even if it falls flat, well, hey I am still having fun I don't care if I only have five listeners.

47:08 Michael: Yeah.

47:10 Tobias: Of course we have a lot more than that.

47:11 Chris: Yes.

47:13 Michael: Yeah, that's awesome.

47:14 Tobias: Not having the podcast be a make or break situation has really allowed us to be more liberal with our selection of topics and just the overall income we take to producing it.

47:29 Michael: Yeah, ok. Very good point. So speaking of podcasts, we all, all 3 of us started podcasting because we were interested in listening to podcasts, and we love the stories, I think there is something super special about the relationship that you have with podcast hosts, and I don't really totally understand it but there is a lot of shows that I have listened for many years, I feel really, like I really know the people who are the hosts I'm like almost personally connected to them, even if I have not met them. I think this relation with podcast is really interesting, do you guys have something that you really enjoy listening to, that you like?

48:03 Tobias: Yeah, so some of the ones that, few of these are ones that I started listening to recently and I really enjoyed, some of them I've been listening to for a while, but one that I just picked up recently is called Curious Minds, and there have been some pretty amazing topics on that, so one of the ones that was a two part series about the Indo-European language and how linguists have been able to combine languages from different areas to reconstruct this language that was lost to history because there were no records of it and there was no real historical record of who these people even were, what their culture was like, but by virtue of being able to understand how language mutates over time, and how different mutations happen in different cultures, recombine those mutations to construct what the language actually sounded like and what some of the original word roots are for similar words, so for instance things like heart and cardio come from the same original work root but because they came to English through different routes, they have much different sounds and by being able to trace back those mutations they figured out oh, this is what the original word root is, this is some of the cultural aspects of this society that was just amazing.

49:18 Michael: Nice.

49:19 Tobias: Another really great podcast is Hidden Brain, just because it talks a lot about the different mental processes that happen in different situations and it just really makes you think more about what is happening in your mind, as you are doing your different day to day activities.

49:37 Michael: Yeah, a lot of what we do is not quite autopilot, but is not at the level of consciousness, the quick decisions we make and stuff like that, ok. Cool, what else?

49:47 Tobias: Another one is Data Skeptic, so it's a podcast about data science, but from the perspective of scientific skepticism, so rather than just toot the horn of hey data science is great, just really making people understand that in order to be able to have a healthy relationship with data science, we need to maintain proper skepticism because it's very easy to lose the scientific process in the midst of all of this fanfare of how great data science and big data can be. So I think it does a good job with that.

50:17 Michael: Yeah, it's a booming industry, like one of the fastest growing parts of Python, so it's easy to get caught up in hooray, right?

50:24 Tobias: Yeah, another really great show is TED Radio Hour, because the TED talks have some pretty amazing topics but it's hard to be able to surface all the bits that are relevant to you or because there are so many different videos and topics out there it's kind of easy to just be in the headlights approach when you first get on the website, I don't know what to listen to, and so TED Radio Hour does a really good job of distilling a lot of different subjects and talks into an hour long episode and it also goes a bit behind the scenes with some of the people who are presenting those talks of some more about their story, and how they came about that particular subject, so that is really great show to listen to. And I always enjoy listening to Wait Wait Don't Tell Me! every week which is just a comedy news show so they take headlines form the week's news and it's a quiz show but all the panelists are comedians in various forms and it's just wildly entertaining so if anybody hasn't ever listened t it before, I highly recommend it, because it is great for a laugh at the end of the week.

51:29 Michael: Yeah, that's cool. Chris, how about you?

51:30 Chris: So, my favorite podcast of all times, like if I was asked, if you are stranded on desert island and you get one podcast, you can listen to, it would be 99% invisible.

51:40 Michael: You have one rss feed that will ship to the island, which one would you subscribe?

51:43 Chris: [laugh] Exactly.

51:45 Michael: Ok, so 99% invisible.

51:47 Chris: Somehow this one feed gets through, yes, so 99% invisible, yeah, so these guys, Roman Mars is the host, and these guys are amazing, it's just the topics that they cover from this little crossing dude icon that was hugely popular in East Germany that now has become this almost 52:08 mean that they are trying to pupularize and save now that the old East Germany is kind of getting lost in the west to the story of revolving doors, or the story of barcodes, and they just have such an amazing way of telling stories and giving you the sense of wonder that goes along with these new inventions like ok, it's a revolving door, big deal, no it's actually kind of a big deal and if you listen to the episode on it you will understand why, so I really love that show, I can't gush enough about it.

52:44 My next podcast is one that is a little geekier it's called Risky Business, and it's about information security, but what's great about this show and I think everybody who works in technology should listen to it, because it is very accessible, like you do not have to be an info sec nerd in order to even appreciate the show, it's funny, the host and co-host are hilarious at various points and it's also really incredibly informative and they really tell some of the breaking stories in the info sec world, like the fact that you know, in Bangladesh you know, criminals were able to get away with like 26 million by hacking the swift network, you know, it's just an example.

53:28 Michael: Yeah, I've listened to that podcast as well. And I definitely second that, I really enjoy listening to those guys, I think they tell, it's kind of like the headlines of the week in security and hacking and what not, and it's really well done, and you know, part of that swift story you talked about, they almost got away with one billion dollars, somewhere in South-East Asia but they misspelled something.

54:00 Chris: That is the classic, can you imagine that a billion dollars is just, it's insane.

54:04 Michael: Yeah, wow. Yeah, so recommended, yeah?

54:06 Chris: That's a great podcast, so my next pick is a little more obscure, but I think it's really good, I think it's one of those podcasts where the name would mislead you into thinking it's something different than it, it's called Rational Security, and it's really interesting, it is this podcast with this bunch of folks from largely from the Brookings institute I think there is one journalist with them as well, talking about current events but with a the angle of talking about it from the security interest from the United States standpoint. And really interesting and insightful, and they cover politics, and international events and as I said, current events; they come up with some really insightful things on current events. I wish I could remember that quote because it's a really good one, but these guys are if you are interested in sort of analyses, you can't go wrong, it's really great stuff.

55:02 My next pick is a podcast called Hardcore History, the gentleman who runs this Dan Carlin I believe used to be a correspondant for a CBS for years and years and years, and that really shows through; it is his sort of tour of various topics in history, it's long, but it's not boring, it's incredibly accessible, he is really really an incredibly masterful story teller and he covers like, he just finished a I want to say it was five part series on World War One, and if you are interested in history, it's really, I think it's some of the best out there, it's really worth looking into.

55:45 My last pick is the Ruby Rogues, because I personally credit them for getting me interested in the idea of doing a podcast, from my perspective, their podcast was one of the places where I said wow, you know, these folks really do a great job at telling technical stories and making it accessible and really making it interesting and something that I look forward to every week, and they are still going strong, they have changed out their hosts a few times, their panelists a few times, but they are still talking about interesting topics and they are more interesting for me these days because a lot of the times they are not actually talking about Ruby, they are talking about general sort of computer science topics which I find fascinating. That's it for me.

56:30 Michael: Ok, Those are some great recommendations guys. I feel like my podcast player is going to get even more bloated than it already is now.

56:40 Chris: [laugh]

56:40 Tobias: And to add one more on top of the pile one that I almost forgot is Spark, from the Canadian broadcast corporation, which is just a really great show that talks about our relationship with technology in the modern world, and how different technologies that are coming out can have different effects on society as a whole or various other topics along those lines, so it's definitely worth taking a listen to.

57:03 Michael: That's cool. A documentary that just came out like this weekend or something, is called Lo and Behold, and it's done by Werner Herzog, a really great documentary that was like basically right on that as well, so I am really looking forward to checking that out. Cool, ok, well thanks for the recommendations guys, I think we are getting pretty much near the end of the show, let's see- so, Chris when you write some code, Python code in particular, what editor do you open up?

57:30 Chris: Emacs, you just can't beat it, I mean it's so mature, you can do anything in it and it's Python elpy is just an amazing package.

57:39 Michael: All right, elpy, all right, cool. Tobias?

57:41 Tobias: Yeah, I've been using Emacs for a while now too after doing a tour of various IDEs and editors starting with I think Wing IDE going through PyCharm, landing on Sublime text for a while, made a detour to Vim for a few months and then eventually ended up in Emacs and that's what I've been using for a few years now.

58:02 Michael: Wow, that is quite a road trip, that's cool. All right, and of all the 80 000+ PyPi packages out there, what one do you think maybe doesn't get enough press, you want to give it some exposure? Chris, you go first?

58:13 Chris: I would say Toga from Beware. I think it does cross platform UI in a really interesting way, I've only played with it a little bit, but he is looking for more people to kick for tires and so it help build it out, and I think it's native cross platform UI which I think is hugely important, so I would love it if more people jumped on that bandwagon and took a look there.

58:36 Michael: All right, awesome. Tobias?

58:39 Tobias: I was thinking about this through the whole show, and I think the one I've settled down is probably SaltStack, one, because it's what I use in my day to day basis and it is an incredibly powerful tool, and also in the configuration management space it is all too often overlooked because I think that it has a feature set that none of the other tools in the configuration management or systems automation space can really duplicate, just because of how modular and plugable and extensible and flexible it actually is.

59:08 Michael: What is like the elevator pitch for it, like if people are not totally into devops space, like what's the story with it?

59:16 Tobias: So, if I were to give it to you in one line I would say SaltStack is the tool that will make your cloud run smoothly.

59:22 Michael: Ok. That's smooth, nice. All right, so that's your recommendation, cool. All right guys, so if people want to listen to your podcast, obviously they can go to their podcast player and search, although maybe not Stitcher [laugh] But, how do they find you guys?

59:38 Tobias: The best way to find us is just go to Python podcast.com and you will find the links to the various places where we have feeds as well as our show notes, and some other things, so you can sign up for our news letter there, you can check out our discourse forum from there, you can also just go straight to discourse.pythonpodcast.com and join our forum community and start talking to us directly.

59:59 Michael: All right, well, thanks for sharing your story, it's really nice to get a look inside, and we've had a lot of parallel experiences so I think it's cool to go back and forth on it for sure.

01:00:09 Tobias: Definitely.

01:00:10 Chris: Absolutely. Thanks for having us on.

01:00:10 This has been another episode of Talk Python To Me.

01:00:10 Today's guests have been Tobias Macey and Chris Patti, and this episode has been sponsored by Hired and Snap CI. Thank them both for supporting the show!

01:00:10 Hired wants to help you find your next big thing. Visit hired.com/talkpythontome to get 5 or more offers with salary inequity presented right upfront and a special listener's signing bonus of $2,000.

01:00:10 Snap CI is modern continuous integration and delivery. Build, test, and deploy your code directly from github, all in your browser with debugging, docker, and parallelism included. Try them for free at snap.ci/talkpython

01:00:10 Are you or a colleague trying to learn Python? Have you tried books and videos that left you bored by just covering topics point-by-point? Check out my online course Python Jumpstart by Building 10 Apps at talkpython.fm/course to experience a more engaging way to learn Python. If you're looking for something a little more advanced, try my write pythonic code course at talkpython.fm/pythonic.

01:00:10 You can find the links from the show at talkpython.fm/episodes/show/68

01:00:10 Be sure to subscribe to the show. Open your favorite podcatcher and search for Python. We should be right at the top. You can also find the iTunes feed at /itunes, Google Play feed at /play, and direct RSS feed at /rss on talkpython.fm.

01:00:10 Our theme music is Developers Developers Developers by Cory Smith, who goes by Smixx. You can hear the entire song at talkpython.fm/music. You can browse his track cs for sale on iTunes and listen to the full length version of the theme song.

01:00:10 This is your host, Michael Kennedy. Thanks for listening!

01:00:10 Smixx, take us out of here.

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