This is Python Bytes, episode number one, recorded Monday, November 7th, 2016.
Hello, everybody, and welcome to Python Bytes, where we deliver Python headlines directly to your earbuds.
This is one of your hosts, Michael Kennedy, along here with Brian Okken.
Hey, Brian, how's it going?
It's going great.
I'm super excited to be doing this podcast with you.
I'm really thrilled to be bringing these little tidbits to everyone each week or biweekly,
whatever we would decide to go with.
Yeah, I'm really excited, too.
I think this is definitely something that's missing out in the community right now.
Yeah, the goal is you subscribe to Python Bytes.
And if you listen every week, you'll basically get a lot of the top headlines that you need to know about.
So let's jump right into the headlines.
The first one that I want to talk about is PyData, specifically PyData from Washington, D.C.
The videos for this conference are out.
So if you didn't make it to PyData, D.C.
And you want to check them out, there are 64 videos, which is about 30, 35 hours worth of content on YouTube right now.
And so a couple of the videos that I thought were really great, you know, looking through them, where one of them was Elasticsearch and Redis, how and when to use them.
And I don't really know too much about Elasticsearch.
So I'm really excited to watch this video and learn more about it.
Another one is the one by Renee Tate.
She hosts a podcast and a website called Becoming a Data Scientist.
And she did a talk on advice from her podcast guests about becoming a data scientist.
So I think that's really cool.
One that was also cool was visual diagnostics for more information about machine learning and basically tuning your machine learning.
And then one about data reproducibility and scientific computing called You Got Your Engineering and My Data Science Addressing the Reproducibility Crisis.
Yeah, I was really impressed with these videos.
And there's a couple of things that I really liked about them.
I like the format that shows you can see both the slides and the presenter on a little kind of a picture in picture sort of thing of the presenter talking as well.
I think that was done well.
I also really like the, man, these are like 35 minute or half an hour presentations and they're just packed with data.
Yeah, it's not like people are trying to fill an hour, hour and a half.
They're like, here's the essence, let's go.
And it's really great.
And, you know, I definitely agree with you on the quality.
I'm really, really impressed with all the Python conferences about how high quality their AV work is and how good of an effort they make to basically record and share, not just with the attendees, but with everybody, whatever went on there.
Yeah, it's pretty impressive.
All right, what do you got for us, Brian?
Oh, all right.
One of the things that came up is another tutorial about EasyArgs.
It's a command line, command line to library for making arguments better.
I actually didn't take too much of a look at it.
I just think it's one of the things I wanted to point out was it's kind of interesting that we have yet another way to make command line arguments easier to parse.
I've lost track now of how many extra libraries there are.
Yeah, let's see.
Yeah.
Let's see.
Arg pars, click, doc opt, and a bunch more, right?
Yeah.
It seemed, I was just thinking that it seems like a rite of passage now that, so if you're serious about being a Python developer and open source and blogging about it, you have to do two things.
You have to write a tutorial about how generators work, and you have to make your own command line library.
That's awesome.
I think you might be right there.
I haven't done either of those, but I actually do like, I'm making fun of it a little bit, but I'm glad that people are doing it.
If everybody's trying to solve the problem, it means there's a lot of people not happy with the current solutions, and I'm one of those people that likes to write command line tools, so I say more power to them to write another.
Yeah, absolutely.
More power to them.
That's awesome.
So the next one that I wanted to talk about is something called safety-db, which is on GitHub, and of course, we'll put all the links to everything we're talking about in the show notes.
You can check them out in your podcast player.
But safety-db is interesting because when we write and deploy our applications, especially web applications because they have the biggest surface area and they touch the most people, right?
They're publicly out on a server.
We don't just deploy our code.
We deploy all the packages that we're using in our code and then the packages that those packages depend upon and so on.
So, for example, on my training website, I've got a mailing list, and I use MailChimp for that.
MailChimp itself depends upon DocOpt, speaking of command line parsers and so on.
How do I keep track of all these things and know if there's a security vulnerability?
Like, what if there's a problem in DocOpt that would let people hack into my server?
I didn't install DocOpt.
Maybe it's not even on my mind.
I don't even realize that it got installed.
This GitHub set of data keeps that information current so I can check, hey, does my project have any vulnerabilities that I may or may not even be aware of through this sort of hierarchy of dependencies I'm using?
Wow.
I didn't realize it was that in full.
Yeah, so I'm just starting to get into more of the web development aspect of it.
But I do, I mean, just even with what I do now, I depend on MailChimp and other services.
I didn't even think about that, of looking at their vulnerabilities.
Yeah, isn't that crazy?
There was something with one of the libraries that Flask is built upon a while ago that caused some big hoopla.
And I'm sure it got patched right away and it was no big deal.
But, you know, if you don't know that you need to go patch your system, that's a problem.
So, SafetyDB.
Yeah, great.
Cool.
I'll check it out.
Check it out.
All right.
So, next up, we've got a GitHub project that came to my attention this week called Fast Style Transfer.
And it's an interesting library that uses TensorFlow, which I've never used TensorFlow.
Have you used TensorFlow, Mike?
No, I'm just starting to work on a project, a data science project that is probably using TensorFlow.
But I've only heard good things.
I have not yet used it.
Okay.
Well, this one is something that makes me want to give it a try because the demo on it looks really cool.
You take a painting or a picture of some artist's style and you can apply that style to another picture, like your own picture.
And I've seen something like that before.
But what I'm really excited about is this will apply it to videos as well.
And I've always, I guess, ever since the AHA's Take On Me video, I've liked that notion of like an artistic style over a short video.
It just seems like fun.
That sounds really fun.
So, I could like take my training videos and turn them into like a Van Gogh type of thing?
Yeah.
Yeah, that'd be great.
That'd be awesome.
I don't know if people could read your slides.
But they would feel very creative while they're watching it.
No, I can't think of actually any commercial reason why I would try this.
But the artist in me wants to give it a shot.
No, it sounds really cool.
And a chance to play a TensorFlow.
Also cool.
Yeah.
So, another big piece of news that came out this week is PIP.
So, pip has a full new major version.
PIP 9 is out.
And it comes with a couple of new features.
One is the ability to check the installed package dependencies to see if everything is set up correctly there.
You can use pip show in a less verbose way.
You can also say pip list and give it a not required option, which will show you all the packages that aren't there because they're a dependency on a thing.
They're sort of top level, which is really cool.
There's a ton of fixes that came as part of this release.
And as you might expect with any major release of some new thing, four days later, pip 901 was released with five fixes for bugs that were introduced in pip 9.
Yeah.
And actually, the list of what's in pip 9 is big.
It is big.
And one of the things that is cool is there's features in there that I didn't even know existed.
So, like, the pip check is, like, that's really cool.
I'm excited about that.
But also, they're changing the list format, or they're going to.
So, if you do pip list now on 9, it'll give you a warning that in the future, the default format will be a column format.
And the column format, you can add now with a --format equals column.
And it's really easy to read.
So, I'm excited about that.
Yeah.
I'm really excited that this is here as well.
Packaging is such a foundational, important thing in the whole ecosystem.
And so, anything that makes that better, I'm for it.
Yeah.
And I use, like most people, I'm using virtual environments all over the place.
And keeping track of what's in every one of them is pretty cool.
Yeah, it definitely is.
Okay.
So, I'm going to jump to one, the next topic that you brought up, which is a Reddit.
Actually, it's a sort of a blog post and a Jupyter project about the new MacBook Pro and what Reddit users think of the MacBook Pro.
And I, at first, you brought this up and I'm like, this is ridiculous.
I know that everybody's upset, like half the people are upset and half the people are excited.
But most of the people I talk to are developers and they're kind of ticked about all the changes of the MacBook Pro.
But this Reddit article or this article about incorporating Reddit, it's not about the specifics of that.
It's using sentiment.
It's talking about sentiment analysis to analyze all the words used in these Reddit threads and try to determine from the words if people are excited or upset about it.
And I had never even heard of sentiment analysis.
So, I think it's neat to show a data analysis project that is topical on something that people are talking about right now.
Yeah, because we all have a thing that we care about.
Either we work for a company that makes a product or has some sort of public persona or we have an open source project.
And it would be nice to know, are people liking my work?
And this ability to apply sentiment analysis to it, it sounds really cool.
And I think the MacBook Pro is a great thing to just grab because it's timely.
Yeah, and I think it'd be kind of neat to – it was interesting to apply it to that and probably safer than applying it to something like current politics because, you know, you don't want to get in the middle of that right now.
No, no, no, no.
It's T minus 28 hours or something.
Nobody wants to get in the middle of that.
Yeah, cool.
So, I really thought that was neat as well.
Personally, I have a MacBook Pro I'm holding out.
I'm not buying this new one for a while.
I'm going to see where this whole thing shakes out.
Yeah, I guess I didn't want to get too much into it, but I was curious about that, if you were going to get a new one or not.
No, I was ready to, you know, go customize it, turn all the knobs to 11 and say, ship it now.
But it's just, you know, I think there's too many things that are kind of weird and there's not enough of a benefit, so I'm just going to stick with what I got.
Yeah, I guess.
And maybe I'm just not doing anything complicated because I'm on a couple-year-old MacBook Air.
I just don't need very much power, I guess.
Yeah, that's good news.
Okay.
All right, well, that rounds out our news items for the week.
But, you know, what else?
What do you got going on?
I know you've got the Test of Code podcast going.
You're working on a book.
You just did some presentations at a conference.
Why don't you tell people, like, what's the news around your life?
Yeah, well, I'm very grateful for November to roll around because there's – I know that – I know a lot of people in startups and I guess I've heard that people are working in San Francisco and stuff, work like crazy hours.
But I'm not used to that.
I'm an older engineer and I like my 40-hour work weeks.
But October has been insane.
I've been doing our projects at work, which I can't talk about and most of the people listening wouldn't care about.
But we've been doing, like, 60-hour weeks lately.
And on top of that, I was doing the Pacific Northwest Software Quality Conference.
And I got to talk about – it was a couple weeks ago.
I got to talk at that conference.
And that was a 90-minute talk.
And that's actually when I was looking at the PyData videos.
I was impressed with all the information people got out in 30 minutes because it's, like, three times the amount of content that I got out in, like, 90 minutes.
So – but it was a good experience to talk.
I'm actually kind of glad that my first conference experience was a long one because I sure got my jitters out of the way.
And I'm excited to do a future one.
And the book's coming along good.
I'm working with an editor.
And this upcoming book is focused on pytest alone.
Yeah, that's excellent.
What's the title so people know what to look for?
We don't have a title yet.
The book about pytest.
Yeah, the book about pytest.
But I will definitely share more information with this podcast as it becomes available.
Yeah, yeah, beautiful.
How about you?
What's going on with you?
Well, I've been on an absolute terror of recording Talk Python in me episodes.
I recorded six weeks' worth last week.
So that's – given that I spend about 10 hours of research and prep time on each, that meant a very long week.
But I'm really, really happy with what I got out.
The next three that I have coming, you know, we talked about PIP.
And there's actually a bit of a crisis in the Python ecosystem's core open source infrastructure.
And so I'm doing a panel session, including the guy who works on PyPI and PIP, Donald Suft.
And that's called Are We Failing to Fund Python's Core Infrastructure?
So that comes out this week and also did something which I love the title,
parsing horrible things with Python with Eric Rose.
And then Martin Peters, who is either the top or one of the top guys at Stack Overflow as a user,
a contributor, an answerer, has over half a million reputation in Python.
And I talked to him about a bunch of the things going on with questions and answers
and hard problems that they found on Stack Overflow.
And that's just super revealing.
I've learned a ton by doing that.
Wow.
I can't wait to talk about these.
Now, is Donald still on PIP?
Donald is still on PIP.
But the short, short, short version is he was working at HP.
HP went through a huge bunch of layoffs, cut his whole division.
And by way of doing that, basically defunded PyPI.
Wow.
So there's other companies like Rackspace and a couple of others.
I'm sorry, I'm forgetting the names that contribute tons of resources in terms of computing and server and bandwidth.
Like the bandwidth and infrastructure charges for PyPI are $40,000 a month.
Wow.
But there's no funding for people to keep that infrastructure running.
So anyway, that's what that show is about.
I can't wait for that.
Yeah, yeah.
Check it out if you guys are interested.
All right.
Oh, yeah.
I forgot to mention, I do have, I did talk with Rafael Pierzina.
I'm probably getting that wrong.
But that's a podcast coming up for testing code focused on pytest and Cookie Cutter.
So that's coming up soon.
Absolutely.
All right.
Well, thank you, everybody, for listening to this very first episode of Python Bytes.
Brian, thank you for launching a new podcast with me.
I think it's going to be a lot of fun.
I hope people enjoy it.
I think it'll be fun, too.
Thank you, Michael.
Yeah, absolutely.
So if you are out there listening and you're like, oh, I have a great news item I want to send you guys,
just visit pythonbytes.fm.
There's a way right in the menu bar to click and actually send us your news.
So if you find something that's cool and you want us to cover it in the next episode,
be sure to send it our way so that it's on our radar.
All right.
Thank you, everyone.
Talk to you later.
Bye, Brian.
Bye.
Thank you for listening to Python Bytes.
Follow the show on Twitter via at Python Bytes.
That's Python Bytes as in B-Y-T-E-S.
And get the full show notes at pythonbytes.fm.
If you have a news item you want featured, just visit pythonbytes.fm and send it our way.
We're always on the lookout for sharing something cool.
On behalf of myself and Brian Okken, this is Michael Kennedy.
Thank you for listening and sharing this podcast with your friends and colleagues.