Have you listened to the other major Python podcasts hosted by Tobias Macy and Chris Paddy?
It's called Podcast Init, and like this show, there's some excellent stories from the Python
ecosystem on there weekly. Recently, some listeners from both shows suggested that we
do the unimaginable, that we cross the streams. There's something very important I forgot to tell
you. What? Don't cross the streams. Why? It would be bad. I'm fuzzy on the whole good bad thing.
What do you mean bad? Try to imagine all life as you know it stopping instantaneously and every
molecule in your body exploding at the speed of light. Total protonic reversal. All right, that's
bad. Okay, all right, important safety tip. Thanks, Egon. We, despite Egon's warning, are going to do it
anyway. Recall in the movie Ghostbusters that they actually, in the end, defeat Gozer by doing just
that. This time, when we cross the streams, the result is a little less dramatic, but something
awesome still comes out the other side. A fun podcast episode. This is Talk Python to Me,
episode 68, recorded Monday, July 11th, 2016.
Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem,
and the personalities. This is your host, Michael Kennedy. Follow me on Twitter where I'm at,
M. Kennedy. Keep up with the show and listen to past episodes at talkpython.fm and follow the show
on Twitter via at Talk Python. This episode is brought to you by Hired and SnapCI. Thank them for
supporting the show on Twitter via at Hired underscore HQ and at Snap underscore CI. Tobias, Chris,
welcome to the show. Thanks. Thanks for having us on. Happy to be here.
Yeah, it's time to cross the streams of these two Python podcasts.
Whatever you do, don't cross the streams.
Don't cross the streams. Yeah, man. That's bringing me back to my childhood with Ghostbusters. Yeah,
so that's going to be really fun. And, you know, we've 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's all these stories and we've both had a lot of exposure
and told a lot of them. And so it's going to be fun.
Definitely. Absolutely.
Before we get into that, though, let's talk about your story.
How did you guys get into programming in Python? Tobias, go first.
So I actually ended up getting into programming a little bit later on. I always liked sort of
digging into the guts of programs, like hacking the god mode, et cetera, on different games or
digging into Windows registries to try and tweak things. 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 a systems and
network admin for a small company in Vermont, which is where I grew up. And just from there,
ended up teaching myself Python, started teaching myself other languages and other different frameworks
and just switching from different jobs, worked as a systems and network admin, as a developer,
as a DevOps engineer. Currently, I'm working as a senior DevOps engineer and using SaltStack in my
day to day. So I do a lot of hacking on that.
Can you say where you're working?
Yeah.
Because you're working in a pretty cool place, right?
Sure. Yeah. So I work at MIT in the Office of Digital Learning. So I helped to run their instance of
Open edX 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 Open edX instance that we run on campus.
And I'm responsible for making sure that that stays going and gets upgraded in a timely manner.
I'm sure that's a cool place to be. Do you work on campus or do you work remote?
Yep. I work on campus.
Yeah. Fantastic. Chris, how about you? What's your story?
So my story starts a little bit earlier than Tobias's when dinosaurs roamed the earth in the
late 70s, early 80s. I had always been...
When text was green.
I had always been into video games. I had Mattel and 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 the screen.
And so I saved all my pennies and paper route money and my parents pitched in and we bought an Atari
400 with 16K and a cassette drive and we sprung for the basic cartridge.
Wow. That's awesome.
That's how I got my start in programming and learned basic and a little bit of assembler. I never became an
assembly language master. Below these many years later, I actually came to Python much, much later. I only
started learning Python maybe about two years ago, three years ago, something like that. In my last job
where I was working as a, in a DevOps capacity, senior software engineer, doing deployment for a fleet of
about a thousand 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 at a previous startup and he had just been constantly nudging me, we're at this Ruby shop.
And he's like, you know, this would be a lot easier in Python or, you know, honestly, this, this, I'm just
going to do it in Python and show you when you can see how easy it is. And that sort of planted the seeds.
And so when Carbonite came around and they told me they're mostly a Python shop, I said, well, what the heck?
I mean, I, you know, I might as well. And I really, really enjoyed it. And now I'm working for Amazon Web
Services as a system development engineer and on the elastic file system project. And we use an awful lot of
Python there. So I am still loving it.
No, that's excellent. I'm sure that's a super fun place to work as well. But do you work remotely?
Are they in, are they on Seattle or where is the group?
We have a Boston office, which in fact, I don't know if Tobias, I don't know if you're still where
you were, but we used to be right next door to Tobias.
Okay.
Yeah. We just moved our office down the street a little ways.
Ah, okay. Well then we're no longer next door, but we're still pretty darn close.
So let's talk about the podcast. Your podcast is called Podcast and Knit. And it's very similar
to mine in that we have some of the same guests. We have some of the same sort of format, although
you guys, there's two of you, there's one of me, but generally it's similar. Why, why did
you guys get started? What was the motivation there?
So I'm 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 I got started in programming, I ended
up teaching myself Python just because I had heard mention of it a number of times and thought
it was kind of interesting. I actually started teaching myself Ruby first, but it never really
stuck. And when I started learning Python, it just immediately clicked and I was like,
okay, this is what I want to be working in.
That's cool. I had the same reaction to Ruby and Python as well.
Yeah. So I just ended up using it wherever I could, writing little scripts with it and
eventually building up bigger projects. And I had started off listening to all the old Python
podcasts that were around like Radio Free Python from Python Import Podcasts. 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 catalog, I said, okay, well, what now? And eventually, I guess I decided that if I wanted to
be able to listen to a 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, okay, well, I guess I gotta start thinking about
this. And I had 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 it 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.
Yeah, that's awesome. So what was that like? Like, hey, Chris, you want to get up at five in the morning
and do a bunch of recording?
What I remember actually is 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 podcast? Like what, you know, we both appreciated the
Ruby Rogues show, you know, major props to them. They do really great work and they have some great topics on.
Even if you're not into Ruby, you should definitely give them a listen. But we both said, okay, they're 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, okay, you know, as Tobias said previously, he'd had the idea rattling around
for a while. And I just sort of jumped on the bandwagon and said, yeah, we should really actually do this
because, you know, one of the 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
podcasts before they podfaded were very popular. So we said, this is something we really need to jump
in and make happen. 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 quite some time.
We both said, yeah, there's this huge void. And what the heck, like if no one else is going to do it,
I guess I'm qualified enough and I really want to try. So let's go for it. Right. And that's amazing.
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, what happened here?
What did this come from?
And I don't know what it was, but yours launching three days before it sort of stole the limelight. And so 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've both gained a lot of popularity. So I would say, yeah, absolutely. And congratulations,
you guys on the success of your show. That's really cool.
Thank you. You too.
Thanks. Yeah, I think, you know, I certainly see the podcasting space to some degree as kind of a,
from an abundance perspective, like there's plenty of stories for us all to be telling, right? If there
was 20 Python podcasts, maybe not, but you know, for a couple of no problem at all. Right.
Sure. And one of the things too, that I try 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 Avenya with Griage.
The Beware episode, actually, he doesn't get much press.
Yep. Yeah. Russell Keith McGee, that was a great episode. Manisha Sané talking about software and data
carpentry. So just trying to, because this is such a large community, and there are so many different
things people are doing with it, 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. And it's, as somebody who is trying to
bring voice to the community, I think it's important to branch out as much as possible.
Yeah. I really like that philosophy and try to follow it myself as well, because
everybody has amazing stories. And one of the things that's 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 think it's important to bring that
awareness of the different areas rather than just, hey, it's web development all the time on Python.
Definitely. Absolutely.
Yeah. Chris, so how much time do you guys typically spend on like finding guests, editing, preparing for
the show, post-production? Like what, what does a typical week in shipping an MP3 look like for you guys?
I'm actually really lucky in the sense that Tobias and I can say this right to 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.
Yeah. So in terms of finding and booking guests, that's variable. Some guests, you send one email
and they say, yeah, that's great. Let's do it tomorrow. Or whereas some guests say, now's not a
good time for me. Let's try booking it two, three months in advance. And so there's a lot of variability
there in terms of how much back and forth 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 a 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 hours or so getting questions put together. Sometimes
more, sometimes less depends on how familiar I am with the particular subject matter or project that
they're working on or their particular background in terms of the different things that they've done.
And it also differs because sometimes I'm 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 Ronaker, 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 little tidbits of projects that
worked on. Whereas other times, for instance, when we interviewed the creators of Wagtail, we went deep on one particular project. And so those require 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.
what other sorts of what other sorts of articles there might be about it. So I usually use those as an inspiration for determining what questions I always like to start with at the top level, asking them to describe the project or describe their history with Python.
So that there's 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.
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, you know, a new blank file. So, you know, that Mike Bayer started typing in, right? Like, the motivation and the history, I think,
makes a lot of these things richer.
Yeah, and another interesting one was learning about the progeny of NumPy with Travis Oliphant, because this is this, this package that's used everywhere, in multiple industries, not just in data science, but also even in, you know, web development or image processing, and just seeing, you know, oh, I just didn't really like using these other languages, I wanted to be able to do something in Python. And there was this project that kind of did what I wanted to. So I just used that as an inspiration and built up this whole new thing.
Yeah, for sure.
There's 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 feed gets generated.
And it usually takes me about half hour, 45 minutes to announce it on various sites like Twitter, Google+, etc.
Yeah, a lot of small steps. And you know, I think they just, they really, really do add up. It takes probably, probably more time than people realize. Like, you know, I was talking to Brian Okken. He's also in Portland, runs the Test and 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.
Oh, goodness.
Yeah.
It's way sweeter. Use the link Hired.com slash Talk Python To Me and Hired will double the signing bonus to $2,000. Opportunity is knocking. Visit Hired.com slash Talk Python To Me and answer the door.
One question I want to ask you about.
You know, I think, you know, I think, you know, I'm going to do a lot of people, you know, I'm going to do a lot of work, you know, I'm going to do a lot of work. And I'll go back and forth thinking, man, this is a lot of work. You know, like, it would be so much quicker and easier to just release it. And a lot of shows just like, record and here's the recording, you're done. Do you think it makes a big difference? I mean, people out there listening maybe have ideas as well.
But do you think it makes a big difference in the success that, you know, you make guests
sound good?
I feel like it does.
Because one, as a podcast listener, particularly now that I've been doing a lot of producing
and editing of podcasts myself, I really pick up on those ums 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, be 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
as well.
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.
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, I'm sure you've found this too, 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.
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 got to put in some work.
Okay.
Exactly.
Yeah.
Very interesting.
So what's it like to run a successful podcast?
Like what's your interaction with the community?
What personal experiences you have from it?
Like what's the story there, you guys?
So sure.
I think that it's great.
It's definitely changed my relationship with the community a lot and for the better.
I have 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 Thomas 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's it going?
I produce this podcast.
Have you listened to it?
What do you think?
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're 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, oh, I really like this podcast.
I like what you're 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 was one gentleman who I met at PyCon who was saying that through listening to the podcast and listening, he said he powered through all the back episodes.
And now he's 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.
I definitely have had similar experiences like that.
And I think it's very, very rewarding.
Chris?
Yeah, no, I totally agree.
I sadly have not been to PyCon yet.
This year it's going to happen.
But I've 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 of, oh, you're 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 has said, Thomas Hatch and Reuben Lerner and all these other great folks.
But also, in addition to that, I definitely feel that the podcast has had a net positive effect in the community, at least in some small ways.
Jonathan Slenders, Jonathan Slenders, Jonathan Slenders.
Jonathan Slenders.
With Prompt Toolkit.
Exactly.
Thank you.
The Python Prompt Toolkit.
With all the great work that he's done with that.
And then we ended up talking to the IPython folks.
And they're talking about how they were having problems with their code aspect to their code running on Windows.
And, you know, they were talking to Jonathan Slenders.
And I just feel like it's been really great to sort of see and maybe even to an extent help the various disparate parts of our community that might not have been talking to each other come together.
So it's been really rewarding in tons of ways.
Yeah, that's cool.
I definitely feel like our podcasts, taken as a whole, do that.
They sort of, you know, instead of living in your silos, right, of web developer, data science, whatever, I think it sort of spreads the experience and the people and the stories around.
So that's cool.
If somebody came to you and said, hey, I'm thinking about starting a podcast, what would you recommend it to them?
What would you say?
I would say that it's a great experience.
The first thing I would say is make sure that you have a topic that you really care about and that you're not just doing it for some other motive.
Because if you don't truly care about the content that you're producing, then it's really easy to just put out a couple episodes and give up.
And also just make sure that you're not too niched down because then it might make it difficult to find guests unless your format is to just do episodes where you're 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 it enjoyable to your listeners, then it does take a fair bit of effort.
We were joking about going back and listening to our old episodes.
Yeah, definitely.
Oh, the pain.
Yeah.
From the beginning of the show, we've had a number of 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're first getting out is make sure that you have decent recording capability.
So don't use your laptop mic.
It's not going to sound very good.
Get at least a cheap USB mic or a USB headset with a microphone on it because it's going to drastically improve your audio quality.
And also make sure that when you're recording that you're 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 in 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 a different issue.
And I was going to say, oh, whoops.
Wait a minute.
This sounds really different.
Definitely.
A good microphone is key.
And the thing is, what Tobias said, definitely recognize that it's not as straightforward as it seems, but it is easy and straightforward to get started.
And if you have the topic and you have the desire, then you definitely should start, right?
Because 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, no offense to Tobias, think ours or at least our first episode is oh so painful, you know, that we made the mistake of using an actual script like word for word.
And we sound like this.
But definitely do get started because there's no place to go but up.
And after a while, you know, you'll definitely feel more accomplished and your audience will reward you with lots of positive feedback.
And it's just, it's totally worth it.
Yeah, that's cool.
So speaking of rewarding experiences and conversations, what are some of your most popular episodes that you've had?
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've had a longer time for people to find and download them.
But they're episode three with the Kivi developers, episode 10 with Brian Granger and Fernando Perez of iPython.
Episode 12 with Eric Schlesz talking about using Python and data science to fight human trafficking with the New York District Attorney's Office.
Yeah, that was an interesting one.
Yeah, that was a good episode.
Episode five with Ned Batchelder talking about how to build a healthy community because he's one of the organizers for the Boston Python meetup group.
And episode four 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 had his hands in over the years.
Yeah, that's definitely growing.
So if you use Anaconda, the Anaconda distribution, for example, that's Travis and his crew.
Exactly.
Yeah.
And taken from just this year, 2016, most of our top five 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 Alexander Skipinovsky about functional Python.
So talking about their work with a couple of different libraries for facilitating functional style programming in Python.
Episode 52 with David McEver about Hypothesis, which is a property based testing framework.
Hypothesis is amazing.
I just literally finished talking to him before talking to you guys.
And that's an amazing project.
So, yeah, it's pretty incredible what he's done with it.
And particularly given the fact that it was inspired by tool from Haskell and by virtue of some of the different features of Python, he's 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.
And then episode 42 talking about Simpai and episode 45 talking about Cython.
Yeah, who was the guest on that one?
That was Craig Citro and Robert Bradshaw.
Okay, cool.
Yeah, those are all amazing topics, right?
Yeah, definitely.
They've all been really interesting conversations, really great people to talk to.
And I definitely learned a lot in each of those.
Chris, if you could just recommend like one episode, if people are listening to this and they're like, hey, I haven't heard this podcast and that thing.
Is there one episode you'd recommend they start with?
So it really kind of depends upon who they are, right?
Like if they're like, as a for instance, I even pointed my mother in law at the Eric Schless fighting human trafficking episode, because there's there's technology bits in there.
But I feel like it's just this, I don't want to toot our own horn.
But there's this amazing human story about this, this man who just sort of like became outraged at the injustice of what was going on.
And, you know, he's 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's one of my favorites.
And my other favorite is the the Kivi episode, just because I feel like Kivi is this really unique kind of interesting thing that has so many really interesting applications from games to these sort of crazy, you know, interactive museum exhibits to mobile, you know, applications.
And it's just a really cool piece of technology.
Yeah, that's cool.
Kivi is kind of opening up a space that's been mostly out of reach for Python.
Yeah, it's a very cool project.
Another interesting bit came out of that episode was while we were speaking with the develop 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 and that all of their previous interaction had just been through issue trackers.
Wow.
Yeah, that happens, right?
Like there's so many people collaborating and it's really, you know, you drop in, you got this feature or whatever, right?
It's definitely I can see how that happens.
OK, so what do you guys have on deck?
What's coming up?
We've actually actually just to circle back a bit.
One rec 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 guests we have on had a great sense of humor.
Oh, they were funny.
And they all played off really well with each other.
Yeah.
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's coming into Python, both because the PEP process is pretty foundational in 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.
Yeah, that's cool.
I haven't heard that one.
I'll have to check it out.
That was episode 37, though, right?
Yes, it was.
It was.
Okay.
And that's, I want to second that one.
That's a really, really good one.
Not just for the reasons Tobias outlined, but because I feel like, you know, this idea of how does a, how does a language, 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're 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, you know, that's 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 that they came up with are not perfect, but they've worked pretty darn well.
And I think that some of the things that makes Python awesome, make Python awesome, pardon me, are a direct result of the choices that they made and the outgrowth of that process.
So I think that episode is required listening.
Even if you're not a Python fan, if you're 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.
Okay.
Yeah, that's really cool.
Like, we're just now seeing the fruits of those processes put in place so long ago, right?
As it continues to grow and evolve.
Absolutely.
Yeah.
How interesting.
Gone are the days of tweaking your server, merging 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 auto-detect and run all the necessary tests through their multi-stage pipelines.
Something fails?
You can even debug it directly in the browser.
With a 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.
Thanks, SnapCI, for sponsoring this episode by trying them for free at snap.ci slash talkpython.
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?
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 podcast with people who have listened to one or both of our shows.
Yeah, and thanks to everybody who came to that open session that you set up.
That was cool to meet them all.
Yeah, absolutely.
And the feedback they gave us was good, yeah?
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 like 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, that was a lot of fun.
I actually, as a result of that, coming up in a couple of weeks, we're going to be interviewing one of the gentlemen who was part of that session to talk about test engineering and Python, of how Python is used in testing of large-scale systems, and also where the gaps are in the tooling available.
So, not necessarily large-scale software systems could even be things like mechanical engineering or electrical engineering, but how Python is used in those contexts and where it might fall flat.
So, that'll be a good interview.
And then going broader about PyCon itself, I think there's 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's also a great talk about the update framework as a way to add verifiability and security to the package installation process.
So, I recommend people check out that talk.
And there's 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 gillectomy.
The gillectomy.
That's the global interpreter lock.
I also had the opportunity to overhear and take part in a conversation with Van Lindbergh 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 borrow 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'll be interesting to see what happens in the next few iterations of Python.
There's also, in terms of performance, there's the pigeon project that Dino Veland and Brett Cannon are working on.
We both had episodes about that, but also they did a presentation at PyCon about that.
And it sounds like they're on track to have that merged into the 3.6 release.
So, it'll be interesting to see what comes of that.
Really?
That is fantastic.
Yeah, that's fantastic.
Okay.
Chris, I know you couldn't be there, but did you check out youtube.com slash PyCon 2016 and find anything you like there?
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 there's tons of material I've had to watch for that.
So, thank God for YouTube.
And I'm definitely going to see a bunch of the talks, no question.
Yeah, awesome.
Tobias, if you could pick one talk, is there one that was your favorite?
I think the one that had me the most floored was definitely the closing keynote by K. Lars Lawn.
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 is 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.
I totally agree.
I felt like I was in the presence of a renaissance genius.
Absolutely.
Seriously, it was like, okay, there's this amazing live music performance.
Here's this biking videography thing that's amazing.
Here's software.
There's mathematics.
Here's philosophy.
It was just like, holy moly.
That's crazy.
So, yeah, I suck at that.
That was awesome.
Yeah, definitely.
I'm going to have to see if I can try and get him on the show sometime because I think he would be a great person to talk to.
Just in general, even regardless of anything having to do with Python.
I think he's probably got some pretty amazing stories.
Yeah, yeah.
I'm sure.
All right.
Let's talk website infrastructure a little bit.
So, running a podcast actually is something of an infrastructure project.
What do you guys use there?
So, right now we're 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.
So, they handle the majority of the bandwidth and shipping MP3s and things like that?
Yep.
Okay.
Exactly.
Yeah.
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 being able to just throw it all at them and say, okay, I don't have to think about it anymore.
I just click a few buttons here.
But now that we're 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 analysis 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'm thinking about potentially moving us to another offering.
And, you know, there's always this tension of just use something off the shelf that does most of what you need to do versus the not invented here 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'm actually looking to most likely set up a WordPress site 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 the host that we have right now, there's no capability of having different feeds for different media types, whereas pretty much all the WordPress plugins have that as a first built right in.
Okay.
Yeah, that's cool.
I think, you know, 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, whether it be for podcasting 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 as 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?
It's one of those things where I have no doubt that both Tobias and I could be essentially taken up.
I don't want to say employed because it wouldn't pay anything, but 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, maybe one day we'll 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.
Sure.
That's an interesting point.
Like, given that you start from already being busy and this is like a thing that you're going to do on the side, which is how both of us started, it's almost like it made it possible, right?
Like you were able to say, look, if we do this, it's actually not inhibitive to get started.
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 off my bills for me because it was never about paying the bills.
It was just this is something that I really want to do.
It's something that will be fun and beneficial.
So even if it falls flat, well, hey, I'm still having fun.
I don't care if I only have five listeners.
Yeah.
Fortunately, we have a lot more than that.
Yes.
Yeah, that's awesome.
Yeah.
Not having the podcast be a make or break situation has really allowed us to be more judicious and liberal with our selection of topics and just the overall approach we take to producing it.
Yeah.
Okay.
Yeah.
Very good point.
So speaking of podcasts, we all all three of us started podcasting because we were interested in listening to podcasts and we love the stories.
I think there's something super special about the relationship that you have with podcast hosts.
And I don't really totally understand it.
But there's a lot of shows that I've listened to for many years.
I feel really like I really know the people who are the hosts and like almost personally connected to them, even if I've not met.
I think this relationship with podcast is really interesting.
What do you guys have some that you really enjoy listening to that you like?
Yeah.
So some of the ones that a few of these are ones that I started listening to recently and I really enjoyed some of them 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 written records of it.
And there was no real historical record of who these people even were or 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 word 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 root word is.
This is some of the cultural aspects of this society.
That was just amazing.
Oh, nice.
Yeah.
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're doing your different day to day activities.
Yeah.
A lot of what we do is not quite autopilot, but it's not at the level of consciousness.
The things that we're influenced by or quick decisions we make or whatever.
Yeah.
Okay, cool.
What else?
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 he does a good job of that.
Yeah.
It's a booming industry, like one of the fastest growing parts of Python.
So, it's easy to get caught up in the hoorah of it, right?
Yeah.
Another really great show is TED Radio Hour.
Because, you know, 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 get deer in the headlights approach when you first go to the website of, 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's a really great show to listen to.
And for a bit of levity, I always enjoy listening to Wait, Wait, Don't Tell Me Every Week, which is just a comedy news show.
So, they take headlines from the week's news and it's a quiz show, but all of the panelists are comedians in various forms.
And it's just wildly entertaining.
So, if anybody hasn't ever listened to it before, I highly recommend it because it's great for a laugh at the end of the week.
Yeah, that's cool.
Chris, how about you?
So, my favorite podcast of all time, like if I was asked, you're going to be stranded on a desert island, you get one podcast you can listen to, it would be 99% invisible.
You have one RSS feed that will ship to the island.
Which one were you?
Exactly, exactly.
So, okay.
It's like lost.
Somehow this one feed gets through.
Yes.
So, 99% invisible.
Yeah.
So, these guys, Roman Mars is the host.
And these guys are amazing.
And Gert, you know, and ladies.
It's just the topics that they cover run the gamut from this little crossing dude icon that was hugely popular in East Germany that now has become this almost folk meme that they're trying to popularize 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, they have such an amazing way of telling stories and giving you the sense of wonder that, you know, goes along with these new inventions like, okay, it's a revolving door.
Big deal.
It's actually kind of a big deal.
And if you listen to the episode on it, you'll understand why.
So, I really, really love that show.
I can't gush enough about it.
My next podcast is one that's 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's very accessible.
Like, you do not have to be an infosec nerd in order to even appreciate this show.
It's funny.
The host and co-host are hilarious at various points.
And it's also really incredibly informative in that they really tell some of the breaking stories in the infosec 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.
Yeah, I've listened to that podcast as well.
And I definitely second it.
I really enjoy listening to those guys.
I think they tell – it's like kind of like the headlines of the week in security and hacking and whatnot.
And it's really well done.
And, you know, part of that Swift story you talked about is they almost got away with $1 billion somewhere.
I know it.
In Southeast Asia.
But they misspelled something.
And it tipped off.
Yes.
Like, could you remember?
That's like really losing the world spelling bee right there, man.
Exactly.
That is the classic if they had only moment.
Because can you imagine that?
A billion dollars.
It's just – it's insane.
Yeah.
Wow.
Yeah.
So, recommended.
Yeah.
That's a great podcast.
So, my next pick is a little more obscure.
But I think it's really, really good.
I think it's one of those podcasts where the name would mislead you into thinking it's something different than it is.
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's one journalist with them as well.
Talking about current events but with a – the angle of talking about it from the security interest of the United States standpoint.
And it's really, really, really interesting and insightful.
And they cover politics and international events and, as I say, 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're interested in sort of analysis, you can't go wrong.
It's really great stuff.
My next pick is a podcast called Hardcore History.
The gentleman who runs this, Dan Carlin, I believe, used to be a correspondent for 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's really, really an incredibly masterful storyteller.
And he covers, like – he just finished a – I want to say it was five-part series on World War I.
And if you're interested in history, it's really – I think it's some of the best content out there.
It's really worth looking into.
My last pick is, and not least, 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're still going strong.
They've changed out their hosts a few times, their panelists a few times.
But they're still talking about interesting topics.
And they're more interesting for me these days because a lot of the times they're not actually talking about Ruby.
They're talking about general sort of computer science topics, which I find fascinating.
That's it for me.
Okay.
Those are some great recommendations, guys.
I feel like my podcast player is going to get even more bloated than it already is now.
So I have to check some of these out.
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 these different effects on society as a whole or various other topics along those lines.
So it's definitely worth taking a listen to.
Oh, that's cool.
A documentary that just came out this weekend or something is called Lo and Behold.
And it's done by Werner Herzog.
A really great documentary that was basically right on that as well.
So I'm really looking forward to checking that out, too.
Cool.
Okay.
Well, thanks for the recommendations, guys.
I think we're 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?
Emacs.
You just can't beat it.
I mean, it's so mature.
You can do anything in it.
And it's Python.
LPy is just an amazing package.
All right.
LPy.
All right.
Cool.
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.
Wow.
That's quite a road trip.
That's cool.
Yeah.
All right.
And of all the 80,000-plus PyPI packages out there, what one do you think maybe doesn't get enough press you want to give some exposure to?
Chris, you go first.
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's looking for more people to kick the tires and sort of 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.
All right.
Awesome.
Tobias?
I was thinking about this through the whole show, and I think the one I've settled on is probably SaltStack.
One, because it's what I use in my day-to-day basis, and it is just 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 pluggable and extensible and flexible it actually is.
What's the elevator pitch for it?
People are not totally into DevOps space.
What's the story with it?
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.
Okay.
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.
Maybe not Stitcher.
But anyway, how do they find you guys?
The best way to find us is just go to pythonpodcast.com and you'll find links to the various places where we have feeds as well as our show notes and some other things.
You can sign up for our newsletter there.
You can check out our discourse forum from there, or you can also just go straight to discourse.pythonpodcast.com and join our forum community and start talking to us directly.
All right.
Well, thanks for sharing your story.
It's really nice to get a look inside.
We've had a lot of parallel experiences, so I think it's cool to go back and forth on them for sure.
Definitely.
Absolutely.
Thanks for having us on.
This has been another episode of Talk Python to Me.
Today's guests have been Tobias Macy and Chris Paddy, and this episode has been sponsored by Hired and SnapCI.
Thank them both for supporting the show.
Hired wants to help you find your next big thing.
Visit Hired.com slash Talk Python to Me to get five or more offers with salary and equity presented right up front and a special listener signing bonus of $2,000.
SnapCI is modern, continuous integration and delivery.
Build, test, and deploy your code directly from GitHub, all in your browser with debugging, Docker, and parallels included.
Try them for free at snap.ci slash Talk Python.
Are you or a colleague trying to learn Python?
Have you tried books and videos that just left you bored by covering topics point by point?
Well, check out my online course, Python Jumpstart by Building 10 Apps at talkpython.fm/course to experience a more engaging way to learn Python.
And if you're looking for something a little more advanced, try my WritePythonic code course at talkpython.fm/Pythonic.
You can find the links from this episode at talkpython.fm/episodes slash show slash 68.
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.
Our theme music is Developers, Developers, Developers by Corey Smith, who goes by Smix.
Corey just recently started selling his tracks on iTunes, so I recommend you check it out at talkpython.fm/music.
You can browse his tracks he has for sale on iTunes and listen to the full-length version of the theme song.
This is your host, Michael Kennedy.
Thanks so much for listening.
I really appreciate it.
Smix, let's get out of here.
Stating with my voice, there's no norm that I can fill within.
Haven't been sleeping, I've been using lots of rest.
I'll pass the mic back to who rocked it best.
you
.
you