Monitor performance issues & errors in your code

#15: Python at Spotify, PSF, and PyLadies Transcript

Recorded on Thursday, Jun 4, 2015.

00:00 A strong community is one of Python's super-powers, and that's what this episode of Talk Python To Me is all about! It's PyLadies and Python Software Foundation with Lynn Root.

00:00 Episode number 15, Recorded Thursday, June 6th 2015

00:00 [music]

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

00:41 This is your host, Michael Kennedy. Follow me on Twitter where I am at @mkennedy and keep up with the show, and listen to past episodes at talkpythontome.com.

00:41 This episode we will be talking to Lynn Root about PyLadies, Python Software Foundation, Python at Spotify and the Python community at large.

01:07 I'm really fortunate to have Codeship and Hired sponsoring the show. Let me take just a few seconds to tell you about them.

01:07 Codeship is a platform for Continuous Integration and Continuous Delivery as a service. The encourage you to 'always keep shipping'. Please take a moment to check them out at codeship.com or follow them on Twitter where they are @codeship.

01:07 Hired wants to help you find your dream job! Hired is built specifically for developers looking for a new opportunities. Check them out and get a very special offer at hired.com/talkpythontome. You'll find them on twitter where they're @hired_hq

01:07 Before we get to the show, I have a quick piece of news for you: thanks for everyone who backed my Talk Python To Me t-shirt kickstarter. This week is the last week to join and get your shirt and promotional slot. Check it out at bitly/pythonshirt.

01:07 Now, let's get right onto the interview with Lynn.

02:02 Let me introduce Lynn. Lynn Root is an insomniac software engineer for Spotify. The founder of the San Francisco Chapter of PyLadies, a board member of the Python Software Foundation, and a member of the Django Software Foundation.

02:02 Lynn, welcome to the show.

02:19 Thank you so much.

02:20 Yeah, we have a lot to talk about today, a bunch of different topics and I've read a little bit of what you've written online and checked out some of your talks, and you have a lot of interesting things going on.

02:30 Yeah, I feel like I'm juggling a lot, but thank you.

02:33 Yeah, it's the context switching is hard sometimes, isn't it?

02:36 Mhm, it really is...

02:37 Yeah, but I think in the end it's worth it to be part of a lot of exciting things. So let me be one of the first podcasts to say congratulations on being reelected to the Python Software Foundation board, that happened just a couple of days ago, right?

02:53 Right. Thank you so much, yeah.

02:56 You must be excited, how long have you been on the board?

02:58 This will be my third year, so I've been on for the previous two years.

03:03 Ok, very cool. So, I want to talk about that more, but let's start at the beginning; you have written a couple of really cool articles about sort of your path into engineering and into programming and into Python. You are doing a lot of work to help other people walk that path and take that journey in their own way and I think it is really interesting to maybe cover some of that, to talk a little bit about it; Can you maybe tell us how you got here?

03:31 Sure, certainly. So, yes, I actually have a business degree, I went to Babson college in Massachusetts, and I graduated with like econ finance, but I don't know if you remember but in like 2008 the economy kind of sucked and that is the year I graduated in so it was really kind of difficult to get a decent job in finance, in terms of decent like paid. So I started working as an analyst for a small bank for a few years, the economy still crappy but I wanted to get my Master's degree in financial engineering.

04:15 And, Berkley here in California actually has a really good program like one year Masters of Financial Engineering. But in order to apply you kind of have to know how to code and me being a sort of fresh graduate and like thinking "Oh I can still like learn how to study" I decided to enroll in like Harvard's extension program in C class and so that was like in 2011 and let me tell you C is really hard and I really sucked, like I failed like all the midterms, I was crying a lot, during the weekly homework, and it was just really tough.

05:11 Were you wondering what have you got yourself into?

05:13 Yes, seriously, I literally just like was hoping to get a passing grade, just to get this over and done with. But I couldn't- who would subject themselves to this kind of thing? And, but oddly enough towards the end of the semester I saw some Python code and coming from C to Python it was just like well I actually understand what is being written, I actually understand the logic, like I can see what's going on here, so I actually decided to do my final project for the course in Python, I made a little Django website app that looking back now is really crappy code but it worked and somehow I got like an A- in the course even though I failed both midterms-

06:04 That's amazing, the professor must have thought "Well she has come a long way look what she built. Let's just forget about those bad midterms."

06:12 Right, exactly. I wonder if they ever question like the legitimacy of that code, like how could she come from this to that kind of thing, but like I really wrote it, I also wrote that crappy code, but anyways I found it a lot more satisfying to like stay up to like 3 am trying to like debug like this Django app then like looking at like excel spreadsheets, you know, like 8 hours a day, 5 days a week.

06:37 So, I basically decided that I wanted to continue to learn, but not pay Harvard another $2000 for a course. At the time I was in San Francisco- I still am in San Francisco, but at the time I kind of approached Women Who Code, the local meet up group here, and see who else would be interested in learning Python with me. So I started like a study group, with other women and kind of lead project basically I would do the project the week before and then sort of present it and lead work through it together-

07:16 That's really cool, I think I recall from your article, there were quite a few people there, right, it was like 40 women or something like that?

07:23 Yeah, exactly. To be honest I don't know if they came for like the free food or if they really wanted to know Python but it was awesome to see them there. And there was a lot of great interest in continuing on, because I had like only planned like 8 weeks once a week and so that actually turned into the PyLadies of San Francisco. I sort of stole those women, they helped me build PyLadies of San Francisco from there I was able to subject other people to wanting to learn how to code with me.

08:00 And I guess the rest is history, I sort of just kind of started talking about what I was doing from the point of view me being sort of selfish and like wanting to learn how to code with others, with me, but I was sort of more into like getting women involved in coding, and me speaking about that really helped me land to my first engineering job.

08:26 That's really cool, I do a lot of training for my job also and I think this pressure to put together presentation to learn it well enough to like present it to others is a super powerful way to learn for yourself actually.

08:39 Right, yeah. You better have the answer to the questions you don't even think of right now, right?

08:43 Exactly. So you think that really helped you sort of gain the skills you needed?

08:50 It definitely did, at least like helped me like understand what was going on rather than just copying pasting code, which is like not a really good way to learn how to code-

09:01 Sure, I think that happens more in this industry than people really want to admit, to be honest.

09:05 I agree. I mean I fully admit that there is some like stack overflow post that I just copied and pasted and it just happened at work and I went on from there so yeah, I believe it happens a lot.

09:17 Yeah, I think so.

09:17 [music]

09:17 Codeship is a hosted Continuous Delivery Service focusing on speed, security, and customizability. You can set up Continuous Integration in a matter of seconds and automatically deploy when your tests have passed. Codeship supports your GitHub and Bitbucket projects. You can get started with Codeship’s free plan today! Should you decide to go with a premium plan, Talk Python listeners can save 20% off of any plan for the next 3 months by using the code: TALKPYTHON

09:17 Check them out now at codeship.com, and tell them thanks for sponsoring the show on Twitter where they are @codeship.

09:17 [music]

10:12 When you were doing C++ or C it was really frustrating and just the simplicity of Python really resonated?

10:20 Definitely, yeah. It was just like Oh I can actually understand defining a function and trying to do mangle the data this way and return this, like, I actually got that. A couple of months later I sort of finally understood like inheritance when I was digging through like Django like source code and I was like "well this actually makes sense to me" than like programming the sudoku board in C where I just have no idea what I am doing.

10:54 Let's maybe talk a little bit about PSF.

10:58 Sure.

10:59 I kind of know the mission statement of PSF, and I know that there is a board, but can you maybe tell our listeners kind of what is the Python Software Foundation and what kinds of things do they do to help all of us?

11:16 Sure, yeah. So, this question happens a lot actually and maybe it is telling sign that we need to do a better PR about who we are. But, the PSF, what we are about in formal sense is both protecting the trademark of the Python language in kind of like owning that and stuff like that as well as furthering like the language of like becoming more widespread. And that essentially what it boils down to, the PSF has like the board with 11 directors and then has like a membership model and there is a few different ways to be a member, but basically the purpose of the PSF is to make sure Python as a language can like remain a popular wide used language and kind of get it everywhere. And as a PSF board we do a lot of kind of just answering simple questions like "Can I use Python here, can I represent the logo here..." simple questions like that. We get a lot of requests for funding, like "can you help with these food costs for the Python's branch or something like that. We help a lot of workshops, especially like the young coder workshops that Katy and Barbara have been doing since 2012 I guess, and that is mostly based on help getting like Raspberry Pi so that teenagers and young kids can like learn how to program in Python and actually take home what they are doing. PSF supports Python in that sort of way.

13:10 Yeah that's really cool, I think it's just good to raise everyone's awareness about that, it's nice to have a single organization or group that is kind of can answer public questions and make decisions and stuff like that around the publicity of Python and what not. I also heard that they are doing a lot to help promote the usage of Python 3?

13:33 I feel like the PSF is throwing money at it, like if someone request like funding to help porting stuff we are definitely 100% behind that, I feel like the louder voices of supporting Python 3 is more like a Guido himself and some other Devs. The PSF doesn't really back public statements but we definitely like since the Python 3 is the future we often get request to help like funding, like the porting from something from Python 2 to Python 3 like establish a library, like mailman or something like that.

14:09 Right, of course I had Chris McDonough on the show, I think that was show 3 and he talked about that story with Pyramid.

14:19 Oh yeah?

14:21 The Pyramid web framework, because they apparently said "I was dragging my feet on converting it to supporting Python 3 and the PSF came along and helped out and said can we give you a nudge to make you go do this and he did."

14:31 Yeah. That's awesome.

14:34 Yeah, that's really cool. So, as a board member, what do you there?

14:40 Being the board member is- it varies on how much work you want to put in, and like we have monthly meetings or somewhat monthly meetings, regular meetings, we vote on stuff like should we give money to these people or that people, that is actually a lot of our conversation, it's deciding who to help out, as well as like sponsors who we invite to be a sponsor who is applying to be a sponsor...

15:16 Things like PyCon and so on?

15:17 Well, that's actually- PyCon is like the only conference that is directly supported by us, but we just sort of have like a PyCon officer that is supposed to be like the liaison between the two organizations and we definitely like a lot of the money comes out of the PSF and the sponsors of the PSF and PyCon but we definitely stay out of like day to day logistics and planning and stuff like that.

15:47 Sure. More high level. That's cool.

15:51 Yeah. And, just trying to think of other things, it seems like every meeting we are voting on like 5 new funding requests, but it is definitely like just like how kind of guide the PSF like we recently started this working group model where it kind of helps, like people who want to get involved in the PSF but not like board members themselves, can still like really contribute to the PSF like we have a working group around like elections and how like how to better the process of elections and the PSF's job is to sort of like recognize that working group and help provide the tools so that they can be successful.

16:36 That's great. So, if somebody out there is listening they want to get involved, what kinds of things can they do and how do they go about that?

16:43 They . So, just to be a member it's actually quite simple, it's just like Python.org/psf/membership, and there is like different membership classes. The most basic is called basic members, anyone can sign up. However, in order to be able to like vote and stuff you either have to like be like a contributor in terms of code or like sort of contributor in terms like community like meet up organize or like PyLadies organize or something like that, or you can like give money either as an individual or as a company yourself. And that is how you can like vote in terms of the board and who to accept as company sponsors, stuff like that. And if you want to get involved beyond that, at least become a basic member and join all the mailing list, and somewhere on the wiki.python.org is a list of all of our working groups.

18:02 I'll add the link in the show notes.

18:02 Great. And that way they can like pin individual people or like who they want to like help out like maybe Outreach & Education, or like sprint comity or the elections working group or something like that, and you can get involved in that way, just participate in discussion, as much or as little as one want. And yeah, we have pretty active PSF members list and that is also a good place to kind of have your ear to the ground and know what is going on.

18:35 Ok. Yeah, that sounds really great, basically the starting point is become the basic member and then go from there which is just a matter of creating an account, more or less, right?

18:44 Right, yes. We have information everywhere, and I will be the first one to say to agree that it is really poorly laid out like where to find what information in like what could you be interested in like I don't even know kind of thing as a new member or something like that, so it is definitely really hard to kind of like figure out where to go and stuff but becoming a basic member and joining the PSF members list is definitely step one and then you can ask as many questions as you want from there.

19:14 Ok. That is really helpful, thanks.

19:14 [music]

19:14 This episode is brought to you by Hired. Hired is a two-sided, curated marketplace that connects the world's knowledge workers to the best opportunities.

19:14 Each offer you receive has salary and equity presented right up front and you can view the offers to accept or reject them before you even talk to the company.

19:14 Typicaly candidates receive 5 or more offers in just the first week and there are no obligations ever.

19:14 Sounds awesome, doesn't it? Well did I mention the signing bonus? Everyone who accepts a job from Hired gets a $2,000 signing bonus. And, as Talk Python listeners, it get's way sweeter! Use the link hired.com/talkpythontome and Hired will double the signing bonus to $4,000!

19:14 Opportunity is knocking, visit hired.com/talkpythontome and answer the call.

19:14 [music]

20:28 Another thing I wanted to talk to you about is PyLadies. And it sounds like PyLadies is sort of what became of your study group that you started.

20:36 Right, yeah.

20:37 And I am really surprised you said that it didn't exist in San Francisco but it did in LA and you were like why is this thing not in San Francisco, right?

20:45 Exactly, yeah.

20:48 But that is the whole reason I have this podcast, I went looking for Python podcast and I was like why is there no Python podcast, what happened to them all? Well, if you really want something you might have to make it yourself sometimes, right. So you started PyLadies, that's awesome. How long has that been going on actually?

21:05 So the San Francisco PyLadies has been around since April 2012 so a little over three years I guess. And the first PyLadies in LA started sometime in the fall 2011, I don't know exactly when. So it is pretty established in terms of like communities.

21:27 Sure, it's a little regional because this is international show, but for those listeners in San Francisco where do you guys meet?

21:32 It varies. Tonight we have a meet up we are going to the Uber office downtown, but we have a lot of weekly meetups like study groups, that go to the LinkedIn offices down in South Bay, or Rackspace up here in San Francisco area. But, I mean, we have so many locations worldwide and a lot of times it's just like meetup in a local coffee shop or something like that so...

22:05 Yeah, so if I wanted to see my local city like I live in Portland Oregon I would want to know if there is one in Portland? I think there is actually.

22:12 There definitely is.

22:14 Yeah, how do I find out about it?

22:14 If you just go to PyLadies.com we have like locations page and we have a list of all locations. There are some that aren't up there because in order to like have your location up there you have to do like a poll request on GitHub and sometimes that's just too much for people to like too little of task item to remember, so like that's not a complete list but it's definitely a very good place to start. Now if you find out that there is no PyLadies locally you are more than welcome to start one like I did myself and how you did your podcast. There is a nice little starter kit.pyladies.com. That is like a starter kit of how to bring PyLadies to your location, if you want it.

23:07 Cool. I'll put that in the show notes. I think it's really great that you are promoting more diversity in general and specifically about women in programming. I have three daughters and I would like to see a world where they are excited about these kinds of things and feel like it i s a welcoming place...

23:30 Definitely.

23:32 I don't know what it is about Python but it seems like it has a better story in terms of diversity compared to other languages.

23:39 I would agree with that. Yes.

23:43 Yes, I wanted to say I have no idea why this is the case but I do a lot of training, I do training with classes like MongoDB or CSharp, or other things- Javascript and so on, and Python of course, and it seems like the Python classes just have a whole different population that just seems to represent society more correctly than other stuff which is really nice, but I really don't know why.

24:07 Right. I mean, I started to like hypothesize this myself at least comparing with other communities not necessarily like C but like Ruby or Java or Node or whatever, it really helps to have sort of leadership of a community kind of really like buy in, it really helps us like Guido himself is really passionate he was actually the one of the first speakers that I had at my women who code study group-

24:39 Oh, that's excellent.

24:39 Yeah, I know. So he is like 100% behind us in these sorts of efforts, and it's very convenient that he lives in the bay area for me right

24:46 Yeah. That's cool. He had a really nice presentation that sort of touched on this at PyCon 2015 as well.

24:54 Right, yeah, he wants basically like women as co-developers because currently there are none and I think he was like "I'll help mentor folks I'll help mentor women to be a core developer" and I think that's really awesome and I have a pretty good idea for a meetup here locally since he is like down the street practically, so that sort of help kind of get involved and committing to Python.

25:23 But yeah, it definitely helps when leadership like him and the PSF organization itself kind of set the tone of why it is important and people sort of just follow. Of course, there is always descending voices in any community but it really helps to see that like when leadership says that this is important, people feel more willing to help out or to just be proactive about something. So I think that that's the difference between like the Python community and other communities.

25:56 I agree. There is probably a lot of people on these types of issues that are like sort of just sitting on the couch like "Oh I'd like to do something about it but- whatever." Those little nudges might be enough to actually make a change.

26:09 Right, exactly.

26:11 Another thing I'd like to talk about is a project that you are involved with called New Coder. New Coder.io.

26:17 Right, yes.

26:18 What's the story with that, that looks cool?

26:19 Thank you. Yeah, so this was- So I wrote this a couple of years ago, 2013 I believe was when I first released it, and it is basically taking all of these sort of projects that I subjected to the people who came to my study group, and made it in written form so like not just like San Francisco PyLadies but like everyone who wanted to learn Python and wanted to learn how to code can reach. So, The premise of this is like say you did learn Python the hard way, or dive into python or some other sort of workbook and like sort of goes through the syntax and a little bit of like logic of Python and you are like "All right, what next, what can I- I'm not getting hired right now, what can I actually do?" So, with New Coder- it's 5 different tutorials and it sort of definitely graduates in sort of difficulty but there is no real order, you can like choose whatever order that you want, but it is meant to teach the new coder like various things at various points in time with certain new friendly language and like asides like "You might not know this term," or "You might not understand what a class is or inheritance is" so here is where you can read more information, or here is a little blurb but you can just go and skip if you actually do understand this kind of thing.

27:51 Right, that's really cool. And I think one of the challenges people have especially when you are a beginner, is to put meaning behind the thing you are struggling with. So for example, if you are like having a really hard time with a for loop, or you are having a hard time with if statement, or functions, those are all so small building blocks that they are not interesting and enough themselves. But if you can say ok if I force myself to learn these little kind of sort of fact based things that I have to just memorize or understand, I can do something awesome on the other side of that, and I think these projects are the key to like making that- shortening that cycle.

28:32 Yeah, thank you, that was definitely something I was trying to go for with that. But yeah, I've gotten a lot of good feedback from people just like sending emails, and like "this is exactly what folks needed" and I find when I lead workshops explaining these sorts of things in a way that I've written down in New Coder, it helps people kind of like have those "Light bulb" moments, which are really needed especially when you are a new coder because there are a lot of frustrating moments and they have a little "light bulb" moment is really reassuring and then they have something at the end of the tutorial that you can show off to someone else, that's also rewarding, rather than some simple exercise from like learn Python the hard way, like "yeey I did a for loop, look at that"

29:18 Yeah, exactly.

29:20 Yeah, if you have a tutorial with data visualization, you can actually show that to someone.

29:28 Yeah, I think that serves a lot of purposes. I read somewhere somebody had studied a bunch of entrepreneurs and people in Silicon Valley that became successful and they said it seems like by studying these people it is not necessarily the case that the people who succeed versus the people who fail are the ones who are the smartest. It seems like the most important skill is the persistence. The ones who just keep trying until they find the way through these types of things that you have to power through when you are getting started on stuff and more complex is you start companies and so on, it seems to be the most important skill.

30:03 Right, right, yes, it is definitely.

30:04 And I think tutorials and like concrete examples and stuff make it easier to be persistent because you see what is down the tunnel, you are not like "Oh, I hate programming it's all these little facts", it's kind of like learning math in the early days when nobody connects any dots for you.

30:20 Right, exactly.

30:22 Cool. So you have 5 tutorials up there now; you have Data Visualization, APIs, Networks, Web Scraping and Gui stuff, right?

30:31 Right, yes.

30:33 So those are fun and people out there who are getting started they want something more practical than just language stuff to play around with, or they need to recommend a resource for someone else more likely through listen this podcast, then you check out New Coder.IO and pass it through.

30:50 Thanks for the plug.

30:52 No problem. That's really cool. You also have some open source projects that you are working on, connected to work at Spotify, right?

30:59 Right. Yes.

31:00 You want to talk a little bit about those?

31:03 Yeah! I'd love to. So conveniently actually this week is our hack week, about twice a year Spotify holds Hack Week, to just hack on what you want not necessarily like Spotify but it could be Spotify related. A year ago, I actually hacked together prototype as a Flask app that was like a playground for APIs, if you go to developer.spotify.com/web-api, there is like console link there and you can actually play with our APIs via the console that kind of figure out what goes on, what kind of responses you'll get, what kind of queries that we accept, that kind of stuff.

31:46 I mean, it was pretty awesome, because like it came out of the hack week everyone sort of like understood why it was important, because I hate it answering sort of the same questions over and over again with how do I use API so I build this. And I guess a lot of people loved it that we just sort of put it out there and it's been really successful. And from that, I am open sourcing the technology behind that and the first thing that I open source, which was just a couple of weeks ago is a RAML parse and the actual library name is the RAMLfications. I love funny names.

32:23 RAML stands for Rest API Markup Language, and it's basically a way for you to kind of define how an API is, like we have a Spotify API define and RAML and you can see the title is like web API and like the base URL, the version, like the n points if it accepts like author or something else that kind of stuff, so it is really great like source for a web API and so the RAMLfications like it parses that until like Python like objects. And then this week I'm taking that and writing like a static documentation generator just making like html files that you can like host anywhere, that creates documentation off of RAML so- if you have your API your rest API to find RAML and like you've written like all the docs in there kind of thing you can just run that through this new project that hopefully will be open source soon. And you'll have some nice HTML files. And then, from there, that was like between steps, I'll actually like open source the console itself, so folks can make their own sort of web site for how to interact with their own API.

33:48 Yeah, that's really neat, I think those are a cool set of projects, it all kind of worked together a lot of times you'll end up with these just basically static documentation around people's APIs and then if it doesn't quite work like the way you are interpreting what they have written or you have- if it changes and the API documentation becomes out of date, it's super frustrating, right? You end up writing these little Apps that just call the API and spit it out to go Ok this is what I am actually getting, what does it look like and your web API console is just like "Let's skip that" and you can just check it right here.

34:24 Right, exactly. Yeah, and some people are just more visual and more interactive rather than reading through documentation. So yeah-

34:32 Yeah, it's never really inspiring to read through documentation. I think it kind of goes back to that persistence thing like am I willing to power through this so I can have a cool app that uses Spotify, or am I going to stop because the documentation is too much... But luckily you are solving that problem. Have you noticed any change in like the adoption of the API, how long has it been out?

34:54 I think it's been out at least 6 months or so-

34:58 Ok, so maybe not that you could possibly have some sort of effect you could see.

35:01 Right. I'm going to be honest, I don't pay attention to our usage, web API usage, but I do know that like the site that the console itself gets maybe like low tens of thousands of use a month, so it is being used. It's definitely internal favor too.

35:21 Yeah I'm sure I want to test our own API let me go and have a look, I forgot what this does, right....

35:21 Nice, so it sounds like these projects are really closely tied to what you are doing at Spotify and they are all in Python. What's the story with Python and Spotify, can you talk about that?

35:41 Sure, it is actually kind of a sad story. So my team and what I do I'm back end engineer with 5 other developers and we do like strategic integration. We are based in San Francisco so like a lot of the integration projects is with other local San Francisco like companies, for instance the recent Spotify and Uber integration where you can like listen to music during your ride, through the car speakers like that was- our team did that.

36:18 That's pretty awesome.

36:19 Yeah, so it was really awesome, really fun. So we do stuff like that. And in some cases, stuff is written in Python but more often that is now being written in Java. The reason is we kind of have this like a corporate like mandate, a year ago that we were kind of writing new services that have end user like facing capabilities or whatever, they have to be written in Java, and it was because that- I know a lot of people will say “Well, wait, Spotify is like IO bound not CPU bound, why the move?”

36:59 And it's true that we are IO bound and however there is a lot of issues when we are trying to run like 23 processes of the same service on one machine trying to connect to the same postgress database and memcash and stuff like that so there's a lot of orchestration that it gets complicated when you have multiple Python processes running on one server. Believe me I've had many arguments, I sat down with senior architect and really tried to go for Python maybe PyPy or something like that, but in the end I kind of like lost the argument. So a lot of the n user facing stuff like the web API is written in Java.

37:46 However, there is a lot of other stuff written in Python. For instance, all of our analytic stuff is in Python. We can run stuff with java but a lot of the actual jobs are written in Python. And then we have DNS server recovery system is written in Python, our payment system in Python, content management where the labels that actually give us the music dump a lot of mete data and songs itself and we process all of that in Python because it's like not really n user speed...

38:39 Yeah, you are not concerned about shaving that 5% performance off of whatever right

38:43 Right, exactly. So there is a lot of Python within Spotify it's just like not-

38:52 It's not at the center.

38:54 Yeah, exactly.

38:54 Ok, well that sounds really interesting. Just you are saying some of the thoughts about like running a bunch of processes on one machine, maybe you guys could try some tricks with Docker? This could be a possibility...

39:09 We are actually using Docker, we are migrating towards Docker, we have Open Source Helios which is our Docker manager or something like that, and that will also- that supposedly in a lot of Python use will allow us to be ok with running our services in Python. But it is still in very early stages of what Docker and Helios can do.

39:32 Ok, that's really excellent. That said, GitHub.com/spotify/helios. I'll put that in the show notes as well. Very nice. And then, have you guys thought about Jython? Like if you are so into Java?

39:44 Yeah, I actually don't know what our senior architect feels about that, I have actually never played with Jython, but it is definitely something the direction to look into.

39:59 Sure, I know some of the other major companies around here that are using but I shouldn't talk about it because I'm not sure if I am suppose to. But there are definitely some large like high end web companies out there doing cool stuff with the Jython. I thought it was dead, it seem like it hadn't been updated in a long time and it was like supported like Python 2.5 or something; I think it now supports 2.7 but it still doesn't support Python 3 as far as I know.

39:59 Right. A couple of years maybe

40:25 Right. A couple of years maybe like a year and a half ago we had one of the core developers of Jython come speak at PyLadies, and he was like "We just released 2.7 and now we can start 3" so there is energy in people behind it it is just not enough.

40:43 I'm sure it's a massive project and if it doesn't have a lot of support then it is really hard to keep up.

40:48 Yeah, definitely.

40:49 But yeah, I'm glad to see it going because I know it enabled some people to do cool stuff which is all good.

40:54 Right.

40:57 So another thing that you like to do is speak in conferences and user groups, meet ups and stuff, right?

41:02 Right, yeah.

41:03 And I saw you have a page with the whole bunch of sessions like, I don't know, just a quick scroll it counts like a 15 or something but quite a few at roguelynncom/talks. So what are your favorites up there that you want to point out at people, maybe you have videos or something?

41:18 Right. As an aside note I literally just over the weekend redid my site and I only redid it for like the words part, like the blog part, so I apologize if people are going to like roguelynn.com/talks and be like Hey! this is ugly or whatever, I'll get there.

41:36 Let's say it looks minimalist, right

41:38 Yeah yeah, definitely. But yes, so actually one of my favorite talks to give is how to spy with Python. And it's basically like working with scapy the project scapy and to basically sniff like wireless traffic. It's a Python wrapper around TCP dump and it's really fun to show people what you can do, and it's fun way to show people what is going on internationally on a global level of privacy issues. But scapy is a lot of fun to play with, and it is one of my favorite talks to give.

42:18 Yeah, that sounds really cool. I recommend people check it out and some on these are on you tube and other places vimeo or whatever, right?

42:24 Right, yeah. I tried to link to everything. I should probably update some of the stuff too.

42:33 If the pages in for the refresh maybe.

42:34 Yeah right.

42:34 Cool. I'll put some of those in the show notes as well and I'll link to that of course. I think that just about covers all the stuff that I wanted to talk to you about and I think it's a whole bunch of interesting paths. Like you said, there is a little scattered but they are all super interesting and... So people out there with like meet ups and user groups can they- do you recommend they go to New Coder and try some of your tutorials, maybe make those like workshops or sessions or something there?

43:04 Yes, definitely. I have a couple of them if you go to New Code/workshops that there is like pdf versions of everything, they do need to be updated since my last site refresh but everything is also on GitHub and please feel free to take them, adapt them however you want, and teach of them. A lot of PyLadies leaders actually take a couple of tutorials to work on their own workshops so... by all means.

43:35 You know, I've done some stuff with Hour of Code and so on and it seems really daunting to lead those types of groups and put something together for people are really appreciative but if you can grab a resource like that, or in the case of Hour of Code some of the tutorials and stuff they have makes it so much easier to get involved and help out the community.

43:54 Right, definitely.

43:56 There is one more thing for people to- let's say it this way- there is one fewer excuses for people to use.

44:02 Right, yeah.

44:05 All right. Anything else you want to talk about while you are here? Let people know about?

44:10 Well, I'll be at your python, if anyone else is going to your python come to say hi, I'm giving a couple of talks there-

44:17 That will be excellent, what are the talks?

44:19 One is the one that I actually just gave this weekend, it's about how my team is doing metrics and it's metrics driven development. And the talk is about kind of taking what we learned and like you don't need to necessarily measure everything, but like what do you need to measure, how you decide that...And then, the other talk that I will be giving is basically kind of, a sort of like a status update/what we still need to do about like diversity in Python. We've come a long way but there is still a long way to go to really sort of create a welcoming environment for everyone. And since Python community is a leader in that sort of thing, we should definitely continue to be a leader in being very diversity welcoming...

45:12 Yeah, I totally agree. It seems like that's still a really positive thing going on there, it's just not done.

45:19 Right, right, yeah.

45:20 All right. So one of the questions I like to ask my guests before we wrap up a show is what is your favorite PyPi package or thing out there that you would like to tell everyone "Hey check this out it is really cool" RAMLfication of course, and...?

45:36 Yeah, besides something else that I've written, one of my favorite packages that kind of is released a few weeks ago, was ATTRS and it's basically a package that allows you to like not have to write a bunch of boiler play code.

45:54 Like what, give me some example?

45:55 So actually I use it in RAMLfication, it allows you to kind of like make a nice class and like set some attributes of like this should be in the init method, or should be in a wrapper like method and allows you to do like some comparisons like a complete set of comparisons, it just makes writing code even easier, even simpler.

46:25 Yeah, that's cool. Very cool, like default values, something like that.

46:29 Right, yeah.

46:30 Ok, very nice. I'll put that in the show notes.

46:37 And RAMLfication is definitely like so much more code would be written without it.

46:41 Really nice, really nice. All right, final question for you is what editor are you using these days?

46:46 I use Sublime.

46:48 Sublime, ok. I like Sublime as well.

46:53 I do too. My co-workers are trying to get me to use like PyCharm but every time I try I just get sad so... I get back to Sublime.

47:01 Yeah, that's really interesting, I use Sublime for a lot of things, I am big fan of PyCharm myself as well but I certainly, you know, close second is Sublime for many things.

47:01 All right, Lunn, thank you for being on the show, it's been super interesting to touch on all these topics.

47:19 Yes, thank you for having me, it's been a lot of fun.

47:20 Yeah, great, and we'll put links to your website and your Twitter and everything in the show notes so people can just go to the website and find you that way.

47:29 It's fantastic, thank you so much.

47:30 Thanks, bye.

47:30 This has been another episode of Talk Python To Me. Today's guest was Lynn Root, and this episode was sponsored by Codeship and Hired.

47:30 Thank you guys for supporting the show!

47:30 Check out Codeship at codeship.com and thank them on twitter via @codeship.

47:30 Don't forget the discount code for listeners, it's easy TALKPYTHON.

47:30 Hired may help you find your next big thing. Visit hired.com/talkpythontome and get 5 or more offers with salary enequity right up front and a special listener's signing bonus of $4000. Also don't forget, awesome T shirts wait you at bitly/pythonshhirt or just visit the website and click on shirt in the footer.

47:30 You can find the links from the show at talkpythontome.com/episodes/show/15

47:30 And 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 iTunes and direct rss link feeds in the footer of the website.

47:30 This is your host, Michael Kennedy. Thanks for listening.

47:30 Smixx, take us out of here.

47:30 [music]

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