« Return to show page
Transcript for Episode #62:
San Diego Technology Immersion Group Learns Python
What's it like to learn Python? Yes, some of you may have just picked up the language while others have lived and breathed it for years. Either way, you may have some hindsight bias towards the experience. What was hard? What were your expectations? What delighted you?
Consider this episode your time-capsule to explore just this experience, 10 months in the making. It starts on July 22, 2015 with a unique user group / meetup called San Diego Technology Immersion Group or SDTIG for short. This group spends 6-8 months deep diving together into a topic rather than hearing a different 1 hour topic per month. We'll follow the organizers and students before many of them learn a line of Python all the way to the end 8 months later after they've studied the language, web, and data science frameworks.
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 am at @mkennedy, keep up with the show and listen to past episodes at talkpython.fm and follow the show on Twitter via @talkpython.
This episode is brought to you by Hired and Snap CI, thank them for supporting this show on Twitter via @hired_hq and @snap_ci.
We began our time capsule back in July of 2015, you'll meet Scott Reed, Brad Cunningham and Ike Ellis. This interview is just at the beginning of their foray into Python.
Just a quick addendum to my intro. Scott, Brad Ike and I did work together for many years at develop mentor, but we have all moved on since the recording, they started crafting bytes and as many of you know I am building online training courses at training.talkpython.fm. All right, let's meet the guys.
2:17 Michael: Brad, Scott, Ike, welcome to the show guys.
2:22 Michael: Thanks to you guys for joining me. We are going to have a really cool adventure over the next six months, so we all know each other, we worked together sort of sporadically, we all do training for develop mentor, and have taught various classes together, have sat to each other's classes, and so we kind of have this big history. And you guys came to me and said look, we have this thing called SDTIG and we are going to talk about Python in that. First of all, tell me what is SDTIG or San Diego Technology Immersion Group.
2:52 It's the club for nerds that want to read the same technical book, and where it started was Brad Scott and I wanted to read the same book and learn the same things because we found we were always learning something new constantly, whether it was a framework or a language or a data base technology we are always like on something; and so we just picked a book and we started reading the same book at the same pace and we could talk about it, and then we found out we disagreed on what the other had to say and we had so many interesting things that we thought that we would invite other people along to read the book with us. And so, we made it public and it like took off like I think our very first meeting at 15 or 20 people and that was the lowest attendance, I think a highest meeting we've had had a 100 people.
3:39 Michael: A 120 people studying the same thing, how long did that run for?
4:06 Yeah, and I think TIG’s been around 4 years-
4:09 Yeah, coming up on 4 years, yeah.
4:13 And we now have like lot of people who go to every single meeting and they say the best part is when Brad, Scott and Ike descend into chaos.
4:22 Michael: What do you guys argue?
4:24 Yeah, we just argue about- because they said what it does is it allows them to get the author's message, right, the author said something and then we take different positions around it and then the person watching can kind of like form their own opinion based on what they are hearing. And they can understand that it's ok to not either agree or did not have a fully mature kind of image around what the author is talking about.
4:48 I think it was interesting for us when we heard that too, because so many ears in group we’ve got to do our standup, get the presentation, they are very polished, or they are trying to be polished and hold their questions to the end type of thing and we didn't really like that and so when we did the first one we get the kind of loose and then, just you've taught with us, inherently the three of us would just argue with each other when we were talking about something, that's not the way you do it, this is the way you should do it, so we kind of did that just naturally in the meetings some times, oh maybe we shouldn't do that that's maybe a little unprofessional, people just came up and said please keep doing that that's all we want to hear. So we'll stick with that.
5:25 Yeah, the thing that we do is we are very honest about what is difficult to learn, and so much like if you see somebody on the stage it looks like it's so easy but the guys has been doing it for 2 or 3 or 4 years right, but for us if we are learning something new and we didn't understand it, we are very like open about that, and I think that makes the technology way more accessible to a wider audience.
5:48 Right, yeah, like we will ask each other questions, so each one of us kind of takes the lead on a specific track and you know, like if Ike is doing the SQL stuff, I might go in there and say, "You know, I've never understood"-whatever it is.
6:04 Michael: What is that query thing you keep talking about.
6:07 Yeah, yeah, yeah, what is the cte.
6:11 Michael: Yeah, awesome, I think that it definitely makes stuff more approachable for especially for beginners, they are like oh look, these guys know what they are doing but also they are sort of in the same shoes as I am, they are also learning with me and I think that's also really different than a lot of user groups is, you guys are kind of learning this as you go, it's not like you spent the last year diving deep into Python and now you are ready to present it, right.
6:33 Yeah, right. Absolutely, I mean I think that's one of the main reasons we wanted to engage you and kind of do this Talk Python thing and just dive deeper into this because the three of us will think Python is cool and we like it. we really want to learn it and I would say maybe Scott has the most exposure to Python so far, but we are all very much in the learning stages of Python we are looking to the community for exports and we've been talking with you about what the right book is to use, should we use a book, what's the online exercises that we can do, that sort of things, so yeah, very much into learning this.
7:02 Michael: That's awesome, so there is a huge wide world of technology out there and there has never been a better time to be a developer, right, there is so many things going on; how did you guys choose Python?
7:11 Let's see, so I had programmed Python back in 2004 thorough like 2006 maybe, as I was working as a developer at company called Cardinal Health, they were really large company and they did a lot of their automations with Python, and then they also had a custom very small binary protocol they used to communicate with their pumps that were located throughout the hospital, and they used Python to generate messages, and so forth from the description of the protocol. So when the protocol would change we would just adjust like the documentation file and from that we could use Python to generate both the messages and example messages for documentation and for testing purposes. And so, that was long time ago and I really liked my exposure to it at that time, and then I was feeling like I really needed to learn a dynamic language to sort of round up my skills set, and I was looking at either Python, Ruby just because of their popularity and I've had some exposure to both and I kind of enjoyed Python more, I like the expressiveness of it and its readability. We put it out for a vote like we always do, we give our recommendations of the next topics and then we ask what the- I don't want to call them students- participants
8:50 Michael: Co-learners.
8:50 Yeah, co-learners, exactly, what they want, you know, what their preference was, and then Python was an overwhelming.
8:59 Michael: So it's kind of a community decision, I guess that makes sense if everybody is really contributing like six months of studying to this thing, it's not just something you want to pick out of itinerary, but do what everyone is most interested in doing, right?
9:10 Yeah, absolutely, that's why we call it a book club, right, if you think about like a traditional book club, although I don't know if they have ever been in one. [laugh] I mean yeah, the idea is that you kind of collectively pick a book to read and you read it together and then, next time somebody else picks a book and that's really what we have gone for; we tell the co-learners all the time like hey we are here for you, like we want to learn things and we'll get our opinion on what we want to learn, but we are here learning with you at the same time, we would prefer that it's just an open format discussion amongst ourselves and the people in the room and they are discussing between each other, even answering each other's questions, and we are kind of just immersed in it and watching it go type of thing, we don't want to sit up front and teach, that's not really the style we are going for.
9:53 Michael: So how do you feel like the first meeting went?
9:55 Well last month was a big test for us because we were doing, for last three and a half years we were doing the meeting in Delmar, and Brett, Scott and I opened a software studio last year, where we were taking in business requirements from companies and then delivering software products and a lot of different platforms where there was a 10:15 x box or a lot of mobile tablet devices and just a lot of like modern web, angular apps, and we finally got to a spot where we were large enough to hire employees, and employees need a place to sit. And so we had to like open up a location, so we rent, signed a lease, bought furniture, bought garbage bags and you know, toilet paper, and we are sitting in our offices right now, and so we decided that we had so much work to do with our studio, that we didn't have time to drive down south for 20, 30 minutes, once a month which really sounds ridiculous but we really believe that, so we had the first meeting here, last week and it was huge, like we thought maybe when we change locations that maybe we get like ten people come with us, but really, maybe-
11:15 Actually I think that's what happened, about ten people came with us but we got, because we are in a new location, we got so many new people, that have made up for the people that we lost behind I think.
11:55 Yeah, the turn on is incomprehensible.
12:01 About as a PythonPune. A very lame one but there it is.
12:06 Michael: So, it is sort of worth pointing out you guys are talking about the Delmar in San Diego, people can attend this sort of anywhere in the world, right, you guys have this live on Google hangouts, streaming the whole time, and the exercises are online, and it's part of your meetup group, so I'll put in the show notes details about how people can sort of be part of it.
12:25 Yeah, we do, it's on our, Ike said we have opened a software studio our company is named Crafting Bytes and so it's on the Crafting Bytes You Tube channel, we live stream these, we are just starting it so the last week's meeting is there and it's recorded, you can watch it and kind of catch up with where we are at, and then from then on every month there is going to be live streams so you can join from anywhere in the world, and but if you happened to be down here in southern California you know in San Diego area you are more than welcome to come join us.
12:49 Yeah, we did it primarily because the people we left behind as we mentioned you know, we've been meeting there for so long and a new location, and some people couldn't make that commute because, if you are coming from down town it would like double your time in the car there. Because of that, we decided to live stream it to give those people a chance to attend as well.
13:09 Michael: That's excellent, and also, just because the way the podcast work a lot of people would drop in like after the show is out or the stuff is already recorded, right, just the way things work in terms of time, this stuff will still be all recorded so they can go back through it, they'll just sort of be like kind of on solo mode for the first time or something like that, right?
13:26 Yeah, your listeners are welcome to join us online, I mean, watch old shows and then keep up with the rest if there any new topics, they can even vote and recommend topics if they have a good idea.
13:37 Yeah, awesome.
13:38 Yeah, we are on meetup.com so they can join our meetup group and there is discussion boards there, so they can jump in, and you know, we like to have discussions as the students are doing the exercises, if some of them get stuck they want to give a comment, we are open to drive all that through the meetup so even if you are anywhere in the world you can jump in and contribute.
13:56 Michael: So a final question for you guys, what does success look like in six months, where would you like to go with this?
14:01 I mean, we really, I would say we are in it just for the learning, me personally I don't know why I'm getting weird looks now, but you know, so success for me is I've learned Python, and everyone else has learned Python with me; it feels like I could jump on any Python project and be a contributor, that I could look at some Python "in the wild" and understand what it does.
14:32 For me, success would be that if I and our learners that are coming along with us, our co-learners like you named them could pick out of any Talk Python To Me podcast and listen to it and know what's going on.
14:47 Michael: That's awesome, yeah.
14:48 That's a really good question, I think I mentioned something in the meeting, it was like I don't foresee myself as being a primarily a Python dev, I mean a nature of our business we are not primarily anything, we change skills all the time, so success for me is probably looking into my toolbox of programming languages I know and realizing and knowing when to pull out the Python one. I'll learn the language and that's fine but when should I actually use Python, that's what I am hoping to learn.
15:14 Michael: Awesome, yeah, you could be a .Net guy or a C++ guy and that was your thing, but those days are long gone, right?
15:20 Yes. For sure, if you want to stay alive make money. Although, based on the infographic you showed us, maybe I should just be a Python dev.
15:26 Michael: Yeah, maybe. I'll link to that infographic as well in the show notes. All right, gentleman, thanks for letting me a part of your group, that's going to be really fun.
15:35 All right, thank you so much.
15:37 Thanks Michael.
15:37 Michael: See you online and we'll put out the show in six months that brings us all together.
15:42 Sounds good. Bye.
15:44 Michael: Now let's join SDTIG as they meet for the first time in their Python track and they introduced the Python track to their what we ended up calling co-learners. There is going to be a brief introduction where Ike, Brat and Scott introduce the topic and set the ground rules, and I have edited this just to keep it down to the relevant sections for you. There I am actually going to have a conversation with the students, we'll record that and we'll sort of talk about what they expect to get out of learning Python, why are they starting down this path of learning Python , things like that. All right, so let's get right to it.
16:18 Here we have three of us and maybe we could get one or two people to come join us. So we are super surprised to have all you guys show up because we really thought that really like two or three people would come and be with us and we had forty somewhat people sign up on meetup, and then we will see how many people actually show up, we are super excited you guys either made the drive or this was community you were able to join us. So, your joining is the beginning of our Python track and where we are different than a normal user group is we are going to be doing Python for it looks like six months now, so we always take November and December off which means we'll be doing Python from now into February.
16:56 So, we are going to read the same book, we are going to be doing the same course material, we are going to be doing the same lab work and we are going to come prepared to have like an interactive discussion on that course material or the book that we will be reading. So, the reason why we are talking about this is we have like expectations from you which is that you actually read the homework and that you'll come ready for your questions because that's the root purpose of this group, the root purpose is that when you get to a part of the book where you are like I don't understand what the author is saying, or the author is saying something that you've heard different things online or you've heard different things from colleagues and you want to like work it out, those are the questions that we want to answer in this group, so you read, you get to a point where you are like, the author isn't making sense to me or we want more information, you come here for the more information.
17:43 So we are not going to read together, right, we are going to read on your own time and come and answer questions here every month. And we have a few rules around that, that we've learned from long experience, and the first one is we would encourage all of those dumb questions that you don't want to ask in front of your colleagues because you are afraid to look like an idiot, we want those questions here, right. So, every questions gets asked and every question gets answered, and that's our goal. So remember, what separates us from a normal group- 1- we stick with one topic for a long time in this case Python is going to be six months; 2- you have expectations, it's not just coming to listen, you actually have to read in between meetings, and you do exercise and the lab work. And 3, you've come with your questions and we want every question, every single question you have we want. Now, where Python is a little bit different is Michael Kennedy so can we bring Michael back up-
18:42 We can, and maybe Michael can introduce himself.
18:47 I'll introduce Michael, I've got Michael. So Michael Kennedy is the host of the right now the most popular Python podcast called Talk Python To Me, we told Michael about this and we said can you help us like figure out what we should be teaching, and Michael said, "Help you? I want to be a part of this." So, he is broadcasting with us and he is actually going to be kind of taking our group idea and our broadcast here as we talk and learn about Python, and weaving it into his podcast. So you can listen to yourselves online if you have questions for him.
19:18 Yeah, so in six months or so you will be podcast superstars, so the idea here is really that Michael is going to lead the first 15 or 20 minutes tonight and he is going to ask us a bunch of questions, we are going to give you some feedback and then he is going to come back, in six months, once we finish this track and he is going to ask a bunch of those same questions and get some feedback and figure out how much did we learn, how valuable is this. Now we are going to put all that together and it's becoming episode of Talk Python To me. So, we are very thankful to Michael for doing this and if you are not already listening to Talk Python To Me you should be because it's an excellent Python podcast. They just had an episode with a guy from Netflix- brilliant, just brilliant what they are doing at Netflix with Python. I highly recommend it.
19:53 Yeah so I think maybe we'll just rill into the list of the questions you have-
19:57 Michael: I would like to just start by getting the sense of how many of you guys are .Net developers? And that might seem like an odd question coming to a Python six months track, but I know the history of this group is very .Net focused.
20:09 I would say majority of the group here has got their hands on.
20:12 Michael: And so there is a couple of things that are interesting about learning Python and I think to drive home the point that it's useful, and to make you feel comfortable right away, I think it's really interesting to take the perspective of the stuff that I know how to do really well today, how does that map over to my world- so before I ask you some more questions, I want to just show you two pictures and get some feedback from you. So I wrote a blog post over here, this was I don't know a year and a half, two years ago, something like this.
20:40 I was trying to think what's the relative size of Python and .Net and you guys were just talking about meetup and that was actually the source of my analyses, if you will, as it's not scientific but it does have some data behind it. If you look at the size of the main Python meetups, and the main .Net meetups, like not the Django versus the .Net architecture, but like the main .Net for a city versus the main Python. So we come over here and here is an interesting graph for you guys to think about for a second. So as much as .Net dominates the software development community, that a lot of you guys run in, it's not the only thing out there and look at how much more opportunity there is in Python, in some of these major cities.
21:25 So here is New York, New York has a thousand approximately .Net developers and the meetup, 4500 in Python. San Francisco disproportionally open source friendly 1000 again, 3800, and if we look at Silicon Valley, Python is actually 28 times more popular there. So I think that's really interesting that there is a lot of opportunity and a lot of variety in that opportunity. You guys are on a really big adventure here, and I think you are going to find the Python community be very welcoming, I think you are going to find the ecosystem to be super rich. So, just so we kind of get the base line, show hands how many of you guys have some programming experience with Python? Brat and Scott you have to interpret this for me.
22:18 Michael: Ok, so about a quarter, about a quarter, that's cool. So no it comes to sort of the participation part, I am going to ask you guys a couple of questions and for each question maybe 1 or 2 people answer and when you do please say your name and if you want you can say your twitter handle, and then answer it so that we can kind of give you a little credit. So why are you guys here tonight, like why do you want to learn Python, why is this so interesting that you are willing to spend six months digging into this?
22:44 Actually I am here to like rob like development, and there is a lot of rob like libraries that are supported through Python.
22:59 Rob likes?
22:56 No, rob, like a thief. Rob likes.
22:59 Michael: ok, awesome, that's cool, yeah, very nice. Maybe one other person? Why a re you guys here?
23:05 Your boss is a Python guy, ok, and what was your name sir?
23:08 Michael: That is a good career move, indeed.
23:11 Boss is a Python guy so ok, a career move. Got it, love it. Right by right in front of you?
23:15 My name is Aron, kind of the same thing, a little peer pressure, like every one form my office is here, so [laugh]
23:23 And they made you sit in front too. In the back, somebody in the back?
23:29 Yeah, we are going to biotech company and so all the bio informatices are huge Python guys and I don't know a single bit.
23:36 Great, bio informatics and stuff, ok, so it's in your industry.
23:39 Michael: Yeah, what you guys are going to see is that one of the biggest areas of Python where it doesn't just compete but it really leads the way, among other technologies is in data science, computational science and visualization, and so I am sure it's things like IPython, Numpy that kind of stuff that they are using.
23:56 Couple more?
23:57 My name is Richard and I am very interested in learning on how to program and css coding. So that's why I am here.
24:08 So you are learning how to code in general, Python is a good first language?
24:14 Yeah, pretty much , I want to make this into my new career.
24:16 Yeah. Got it, cool, anyone else at the back?
24:20 Yeah, I've been working as a .Net developer for 12 years and I just took a job in Python so I haven't worked in Python in like 4 or 5 years so I kind of want to-
24:35 Ok, .Net developers, switch careers to Python.
24:36 So Nick lied in a job interview. [laugh]
24:40 That's now on You Tube guys.
24:46 Actually, I'm in the same boat, I used to use Python like 6 years ago and since then I haven't touched it very much and I am getting back to it now.
24:58 I have a reason.
25:01 Ike, what's you reason?
25:02 I think actually Python is a pretty language to read, and I am saying that legitimately, I've read a lot of languages and when I see Python, I think it's written nicely.
25:12 Michael: Yeah, I agree, it's a beautiful language.
25:14 Let's take one or two more, down at front, your name?
25:16 Eric. I have a very large web app, it's only 2000 web pages and the language is Visual Foxpro, that was two years ago, now I am looking to switch to PHP but I am not convinced that's the right move to do, [laugh]
25:36 You have an accurate moral compass.
25:39 Michael: Well I am just going to say I have a comment about the PHP thing, the Tiobe, T-I-O-B-E index for the most popular languages just came out today and there is a new version or new set of data that just came out today, and they let you graph all these various systems, these various languages and their popularity in terms of like basically usage, right. And, PHP is on a very sharp downward trend. So, I try to not bet my projects or my company or my career on things going super fast down.
26:18 Michael: On the other hand, C# went up a little bit, that was cool for you guys and Python went up like 3. so C# is number 4 Python is number 5 and they are both the upper trend, so-
26:29 Very cool.
26:30 Isn't there Python compiler now 26:34 or something like that?
26:36 There is a native compiler, not just a git compiler.
26:39 Michael: There are many, many different runtimes, if you will, to use the .Net term, there is a interpreted version which is the main one known as CPython but there is also one that is more like .Net called PyPy, because it's a Python implementation written in Python that is JIT compilation garbage collected; there is something called micro python for micro devices, there is a whole wide variety. There is also Iron Python which runs on .Net for example.
27:06 Very cool. Ok, Next question?
27:09 Michael: All right, next question, how many of you guys are here thinking about Python, like I said, my assumption is a lot of you are . Net Microsoft folks, how many of you are here just so to say I have made a decision to break out of Microsoft Windows sort of lock in, not in a negative way but there is all these other platforms I'd like to work on Linux, I'd like to work on Mac, and how much of that sort of open across platform bit of Python is interesting and part of your main motivation?
27:36 So, trying to get cross platform: 1. 2, 3, 4, + Jim.
27:44 Michael.: 4+ Jim, ok, awesome. So you guys don't have too much experience with Python, so I'd like to kind of get a sense of what is your perception of this language, is this just a scripting language, what do you think Python is used for, what do you think you could build with Python, that kind of stuff?
28:02 All right, volunteers again?
28:05 For science.
28:05 I use it because it's scientific language, and you can program a lot of applications in machine learning and 28:14 [indiscernible] and it's sleek actually compared to C#, it has a lot of features and is very big I think that Python is very focused and you can use very small amount of features and your programs could be smaller for the same type of features.
28:29 Michael: That's a good answer. What else?
28:31 How about in the back?
28:32 Michael did you hear that?
28:40 Michael: I heard excellent documentation.
28:40 Compared to msdn, he thinks it's better.
28:43 Michael: Yeah, I would say that maybe true, it's interesting to know that the asp.net team as you know like those guys are going all in open source, they are all moving to github, all that kind of stuff, they recently moved over to the documentation system read the docs, that is pretty much the default one for Python, so asp.net documentation is now moved to where Python has been the whole time, so that's also kind of funny.
29:06 Yes, in the front.
29:09 Clean syntax but 2 or 3 years ago all those went to Python but when Python 3 was coming out I heard it was the backward compatibility, that basically stopped me from trying.
29:20 We will definitely talk about that later on tonight, ok. So he said the clean syntax.
30:19 Sorry, I just wanted to make sure we are keeping up with the comments on the YouTube stream, it looks like some people are saying Linux, Jeff says he went to Linux and 30:27 says I don't do Windows, good for scientific work just makes sense.
30:31 Michael: Yeah, excellent. I think the Linux point is interesting, if you go look at the pricing for EC2, the pricing for the Linux machines is half price for the Windows machines. And so if you are going to go put something on the cloud, you know, you may be able to do it cheaper. And just all like the sort of dev ops type stuff Docker, chef puppet, that is more accessible in Linux, it's really cool. All right, so those are kind of the positives I was asking for, what about the negatives, what are your apprehensions, like I am really going to dislike X, or I really don't know about how this is going to go?
31:06 So my name is Mike, and I've been kind of curious about Ruby over the last few years and Python syntax is kind of similar, when you look at the two they look similar but part of the things that kind of dissuade me from Ruby world is the volume of the different gems that you just need to know about, or you need to dig and find about and in the backward compatibility when they come out the new versions of gems, and how does Python compare?
31:35 Michael: Yeah, so that's an interesting problem, I don't do a ton of Ruby so it's a little hard for me to speak to it but there are many, there is something like Ruby gems or .Net and you get packages like PyPi for Python package index and they've got about 60 000 packages there. You do have similar problems but I don't think there is- I haven't run into too many sort of incompatibilities, so it's pretty solid, pretty stable I would say.
32:02 Yeah, so I would say now that Python 3 is slowing, they kind of cut down the number of packages but we'll probably see it ballooning back up again, you know. I imagine you are going to have that problem, that's going to be a problem with any sort of open source user contributed libraries, you know, you are going to have a flood of libraries and trying to determine the one to use is always going to be a thought process and not just let me click a button.
32:33 Michael: Absolutely. I would say there is like a core of things that are very stable, they have been around for like 5 or 10 years everybody uses them, if I am going to talk to a relational database, I am going to use SQLAlchemy, that's the entity framework equivalent for the .Net guys, right, like that thing is super solid, it's more when you get into like farther out the more niche type of stuff that you might run into issues like that.
32:58 Like some of those, yeah. All right. Chris?
33:04 So I used Python quite a bit, one of the things that I keep running into and if you can speak to this, is a lot of the libraries that I run into are calling C++ in the background, and it seems to make like an efficient and stable library actually have to been started writing native code, and this jump in between paradigms is a little iffy for me.
33:31 Michael: Especially as a library author, right, like if you are consuming it and it's tested like who cares how it's written, but if you are writing it, that's a different story. So, it's true that some libraries do depend on C but it's not the only possibility. So, the ones that really come to mind are things like Numpy and Scipy that do tons of computational math, the optimized parts of that are written in C, right, and so that's a little tricky. However, we did talk earlier about the different runtimes or implementations, and if you look at the one called PyPy, they are about ten times faster than the CPython one. Not stuff written in C but the one that runs on top of the C interpreter. That's the default one, so that's a really interesting possibility if you are looking for performance that would not require you did work in these two modes. This is not the only answer, but that's definitely one of them, yeah.
34:31 Cool, next question?
34:33 Michael: Brad, Scott, Ike, I'd like you guys to just talk a little bit about the materials you are going to use and what you are going to cover so I can sort of get that into the show, what journey are these guys about to take?
34:44 That was a topic of a lot of discussions.
34:46 Yeah, we went back and forth on this for a really long time.
34:48 They were not even sure we were right on what we decided to do but we want you to know it wasn't done lightly.
34:51 Yeah, so what we have right now, so there is the meeting tonight which is like episode zero, right, Python is a zero based language, and then we have the next two meetings are going to be about the Python language itself, right, and so the book we are going to be using there is Dive Into Python 3. And we'll talk about why 3 versus 2 in a little bit. So this is Dive Into Python 3, you can find it diveintopython3.net, you can get a also available on dead trees, you can get that printed version as well but it available in html. The second part of the track we are going to be talking about Python as a web programming framework, a couple of people mentioned that, and we are going to be talking primarily about Flask and the book that we are going to be using there is Flask Web Development, that's probably the biggest up in the air right now but I think that's probably what we'll end up doing. Flask is a micro mvc framework, a lightweight mvc framework. So Django is probably the one you've heard of, if you've heard of Python, that's the big one, right, Flask is sort of a lighter weight up and coming, you can think of it as like mvc versus the web forms, right, so Flask would be the newer lighter way of doing something which Django would be the way that it's been done primarily in the past, right.
36:26 This was, Michael kind of your input, right, that you thought maybe Django wasn't the best idea for us?
36:32 Michael: I definitely think so, I mean, I sort of come from the I'd like to build lighter weight small tight applications where I have more control over the html and what's going on and craft it just so and there is a couple of web frameworks that make that really easy, and those are Pyramid and Flask, right, there is some others like Bottle, there is actually a lot more choices int he web framework here than if you come from the .Net space but these are the two most popular ones, I would say and they are doing some pretty cool stuff here, it's really easy to get started, it's probably 5 lines of code, to get started with Flask, so it's a little bit more for Pyramid because there is some structure around it but generally you don't have to write that, there is tools that will like build the project for you.
37:18 So Flask there is a couple of videos that you can watch, which we'll get to later on, and then the third part of the track we are going to be talking about Python as a scientific data analyses language in the book there is a Python for data analyses, see what else is there- all that other stuff is going to come later, so that's, those are the three parts of the track.
37:42 Michael: Brad or Scott, how long are you guys planning to encourage everyone to spend per week or per month, like how much time are you spending at learning this, before we like coma back six months and like see where everybody got to?
37:54 Yeah, that will vary, I think, by individual, but there are, I would say there is probably a few where you have to print out the pages, probably about less than a 100 pages maybe, 80 pages of reading material, print it although it's going to be online primarily, and then there are some exercises which it depends on the level of exposure you've had to Python and the amount of you know, that's going to vary a lot, but let's say-
38:25 We've been doing this group for a long time and we found that when we started assigning 300 pages of homework, nobody did it. And when we assigned 200 pages of homework, only we did it. [laugh] And then when we assigned a 100 pages of homework about half did it.
38:49 So, we are under under it.
38:49 We figured a hundred pages depending on the person or the 6 to 8 hours a month, yeah. But usually 4 hours a month.
38:56 Michael: 4 hours a month, ok, excellent. All right, I think that's it for my questions.
39:01 OK. Awesome.
39:03 Very cool.
39:02 Michael: I have some parting thoughts, I mean you guys, you are on a great adventure here, this is going to be a lot of fun, enjoy it, there is a lot of cool stuff to learn, Python is a great community and these guys are great leaders so enjoy and I'll see you in six months or whenever we get back.
39:17 Awesome, cool.
39:17 Thanks so much Michael, have fun.
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.
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.
Typically, candidates receive 5 or more offers in just the first week and there are no obligations ever.
Sounds awesome, doesn't it? Well did I mention the signing bonus? Everyone who accepts a job from Hired gets a $1,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 $2,000! Opportunity is knocking, visit hired.com/talkpythontome and answer the call.
40:20 Michael: Now, zoom into the more recent past. Approximately ten months later. You'll meet two of the students or co-learners named Jim and Eric. They spent the last nine sessions with the winter break thrown in between learning Python. Now, we'll get their perspective looking back on what they have learned.
40:38 Jim: Hi, I'm Jim and I am a .Net and Perl developer primarily.
40:46 So Jim you spent about six, seven months now with us learning Python, what do you appreciate the most about the language and the ecosystem now that you've learned it?
40:52 Jim: Probably just how quickly you can get something started and up and running so just open a file and start hacking and then press play if you are using PyCharm. And you are good to go. You could 41:03 stuff right away.
41:06 Nice, so coming from the C# background what surprised you about Python and it ecosystem, that you maybe didn't expect to see?
41:16 Jim: I guess I mean, I have been doing Python for a while, like on and off but not as intense as this, so if I think back to then, it was probably like the light space, right, I am used to just kind of typing and then when I hit a semicolon or something everything fixes itself and I don't have to worry about white space, so that was probably the biggest kind of surprise because it seemed different.
41:38 So now that Python is not your second third or even fourth language, but something in order of your tenth or twelfth programming language but is there anything about Python that has changed your perspective on the software development landscape?
41:50 Jim: Yeah, I mean so it's like I am more subtle change, like it's like I feel Python is a bit more involved in like earlier dynamic languages I had used, like Perl, you know, there is less ceremony in Python than there is in Perl, so if you like Python as a language it's learned from the languages that came before it.
42:10 I like to think of it as a manicured language, it's very well manicured, cared for, crafted language.
42:15 It's a language of class.
42:19 Sophisticated language, I like it.
42:23 Dynamic languages.
42:27 So do you have any advice for anybody that's maybe haven't learned Python and hopefully listen to this podcast and wondering should I learn Python or not?
42:34 You probably should, it's important to like that's always the question but it's important to like always be learning new things to get new perspective, like even if you don't end up using Python every day, it's going to influence the way you think about problems you are solving in whatever language it is that you are using for your regular work. And there is really like I said a low barrier to entry with Python so as opposed to some more esoteric languages where you might be able to get a different perspective, it's easier t get a different perspective with Python than with some other languages.
43:04 All right, thank you Jim.
43:06 Eric: Hi, my name is Eric and I am a web developer although I am using a visual foxpro as my main developer language currently which is a desktop oriented application language but created several web apps including the one that has more than 2000 web pages.
43:23 Very cool.. All right, so you spent a bunch of time with us on the Python track, I think you went to basically all the meetings spent about six or seven months so what is it that you appreciate the most about the language now that you've learned about it?
43:34 Eric: It's general use language, I think it's wonderful language that can be used to more than one purpose, I was used to Visual Foxpro which was in the same kind of idea to develop these desktop apps and web apps, and for small things and large apps it was very nice. I like the fact that it's a large library, a large collection of libraries out there, even just recently I needed to do some sso- single sign on and I found easily libraries for xml signing. Trying to do the same things in other languages is very difficult. I also liked very much, I mean, coming to this particular group opened the door for me to learn more about the Python than the other groups here in San Diego, so it was very interesting to see how many developers are in San Diego, it's quite large, so having an active group of users lots of form different sources, not just developers, but also scientists, data base people of course developers, and there is even group here for PyLadies, ladies who are into Python, so it's kind of the diversity of developers and it was quite nice. I love the fact that there are so many online resources I mean I was just astonished how many resources I found, of course the podcasts was one of the starting point, so of course Michael Kennedy's podcast was a wonderful source of information, which opened the door to other things, and because of that I basically looked at almost every video from the PyCon conferences, so and because of that I am going to the next one.
45:05 Oh, very cool.
45:06 Eric: So that was just very interesting for me to see this active, Visual Foxpro is 45:11 the conferences also had over two to three thousand people, and that's now where Python is, so for me I see this kind of renewal into people being excited about an environment except this time it's open source.
45:24 Right. So I think you are going to touch on this already, but maybe get a little bit more into it, what surprised you them, it sounds like the amount of online resources were interesting and the amount of libraries, what surprised you about the ecosystem?
45:36 Eric: Yes, as I said the ecosystem is wonderful, having all the resources, and also knowing as a business owner, knowing that one of my biggest concerns is to be able to find qualified staff or resources out there and knowing that Python now became one of the leading languages being taught in colleges, universities, actually reassures me to know that whatever investment I do in it I will find resources out there to expand a product or to continue and because of that even though our product is created in Visual Foxpro we are adding a whole portal to allow our clients to extend the product in Python. And we have a pathway now actually how to convert even some of our app to Python itself. There are few things that I had a little bit harder time with, Visual Foxpro was a very strong desktop environment he had a hard time finding for some of the desktop products it was very difficult to find how to convert, there is no proper object oriented design, of this that was a bit hard, the arrays are a little bit unusual but the richness of the language the whole tuple, lists, dictionaries, iterators, the factories, all of those are actually some of the concepts I didn't know about so that was very nice to see, so looking at an open source project that had so many new features, such a well designed structure, was actually very refreshing for me to see.
47:03 Yeah, it's interesting, so you know, you are coming from a Foxpro background, it sounds like and so Python is quite a bit different from that, how is knowing Python kind of changed your view of this software development in general, it sounds like open source was kind of enlightening to you there?
47:19 Eric: Visual Foxpro had some open source projects, the Visual Foxpro community was always way open to share code, so that was I already used to. There are few things I felt like kind of missing like the native 47:31 layer, was a bit hard for me to use
47:37 Did you try the-
47:38 Eric: SQLAlchemy?
47:38 Eric: It's too restrictive for what we need to do, the idea of being able to get the data and make temporary cursor for example and re-execute additional statement against it is kind of missing in the language, so in Visual Foxpro we can definitely manipulate the data a little bit easier, especially we don't have to load everything in memory, and if we make a web app you cannot have an unlimited amount of RAM so you'd have to try to make things fit and small for the print. But on the other way, as I said, it has lots of similarities for example, I always forced a code indentation, so this was the first time I actually saw a language that you had no choice but to indent your code, so that was actually nice. The parameters having named parameters is wonderful, I mean it is so often that you get keep cheats on the side what the parameters are, but having this little add on everything named parameters, it was a big plus for me to see.
48:39 Yeah, it's very cool. So, for those people that are listening now that maybe are thinking about learning Python, do not know anything about Python, what advice do you have?
48:48 Eric: I would say definitely do it, you are looking at the languages out there, the ranking of the languages, knowing that the Python will open the door for not just Windows and Mac but almost any platform that it can be used from small devices to large web apps, I work quite a bit in Flask one of the first things I did is how to ensure that I can call, ok interface Visual Foxpro with Flask and I was able to make a wrapper to call object from within Flask to steal vfp code, so to be able to make a transition smoother but again, Python being fairly generic language and still forcing you to have clear structure of what you do, especially for new developers, I think is essential, I did code in assembler, in C, Visual Forxpro, store procedures, back end procedures, and that was Python is definitely a clean language, and is still both object oriented and functional, kind of like Visual Foxpro was. As a new developer you are going to be facing and learning about all those different techniques, so even if you don't stay with Python, at least you are going to have the right principles behind.
50:05 Very cool. All right, well thank you so much Eric.
Snap CI is a continuous delivery tool from Thought works that lets you reliably test and deploy your code through multi stage pipelines in the cloud, without the hustle of managing hardware. Automate and visualize your deployments with ease, and make pushing to production and effortless item on your to do list.
Snap also supports Docker and in browser debugging and hey integrate with AWS and Heroku.
Thank Snap CI for sponsoring this episode by trying them with no obligation for 30 days by going to snap.ci/talkpython
51:04 Michael: Finally, let's hear from Scott, Brad and Ike looking back on their nine months experience, learning and teaching Python. Brad, Scott, Ike- welcome back.
51:18 Thanks, good to be here.
51:19 Michael: yeah, it's great to have you back, we've been on this project for a while, I think around 8 month, we talked 8 months ago about getting started with San Diego learns Python and all that, and we've had a chance for you to do- how many sessions did you end up doing, I know you took a little break so it's not quite 8 maybe?
51:39 Yeah, I think we did six or seven sessions?
51:43 Michael: Six or seven sessions, once a month, that's pretty awesome, so you guys got to cover a lot of stuff, from the language to Flask, to data science, and we just heard from the students, they had some really cool stuff to say, I think their perspective both before and after is really pretty unique and cool to put it all together at once. But you know, looking back what do you guys think, how do you like it went?
52:06 I think it went pretty well, it's 6 and a half years since we started to. So we have a lot of experience with these tracks and they tend to go multiple months, and they all kind of natural flow, I think when we started in the beginning with Python as a language we had a lot of interest, a lot of people wanted to just know what Python was all about and learned how they can leverage Python, and what they are doing, and then we shifted years to Python on the web and then Python in data science and those crowds split a little bit, people that were interested in the web came to the web talk and people that were interested in the data science came to the data science talk. I mean, data science I think was our smallest group, but what probably for me was the most interesting and the most interesting questions came up in that group, I didn't have a whole lot of background in the context of Python and we actually had another mentor from the community run that track, it wasn't one of the three of us like it usually is, so it was good to see somebody else get involved with their background in data science and kind of move that group for, and I was able to sit int he crowd and learn for those three months, that was really fun for me.
53:09 Michael; Yeah, that's really cool, someone else?
53:11 Yeah, I mean I had a similar experience, I like to actually my favorite part was still the first part, it was the language part just because of the hands on I think, you know the exercism is what we did, that was the best part for me, but I agree that the data science was the part that I knew least about it was eye opening how easy it can be to put in like machine learning into day to day you know, coding.
53:37 It's pretty interesting the feedback from the students to data science track, you know, just some students around San Diego they were looking forward to some big bangs and they were using data science, machine learning to do kind of fraud detection, and they were interested in learning how to leverage Python to do machine learning algorithms and deal with the massive data, they had the big banks to deal with fraud detection, 54:01 [indiscernible] which those were really interesting and relevant topic, you know, related to everybody who was there, and like Scott mentioned in the first area we used exercism.io which is a great resource for our students to learn Python, it's a really great guide, you know, kind of short lesson based way to learn a language, an 54:19 [indiscernible] term and we just used the Python piece of that.
54:21 It's not even language, it's problem based, really, like here is our problem, you know, try and solve it anyway you can but what is cool about the exercism is you know, once you submit a solution it's up to the piers to critic that solution and offer you guidance as how to move it. How to make it more idiomatic or whatever.
54:40 Michael: I see, so everybody does their answers and there is kind of like a back and forth on your solution, something like that?
54:45 Yeah. Exactly, so it's these problems are very simple, and like outputting roman numerals, [inaudible] you get from a cs class, just kind of relatively trivial algorithm based topics that your focus is on how you implement. I mean, a lot of them were problems I already know how to solve in other languages, or already are solved in other languages but didn't know how to do it in Python, in a Pythonic way, so I would post to exercism the way I would solve it, using my limited knowledge of PyPy and then others in the community that were stronger at Python would get me feedback and say your system works but here is the more Pythonic way to do it and they would make it simpler or use classes or libraries or functions that I didn't know existed in Python. So that was really neat.
55:35 Preferred comprehensions, things like that.
55:41 Right, Right.
55:40 Another thing you could do is you can form a group and everyone can be part of your group, so we created a little group so we could see each other's solutions and see how they evolved, and so like it was interesting to watch other developers like that I knew, like I could go to Scott and say Scott, I saw your solution at that that was amazing, like I would never have thought to solve it that way and it made me like look at mine and see how I can optimize or make it turser, clear or something like that.
56:12 Michael: Yeah, that's really cool, and you guys are kind of doing a lot of massive scale with all the students as well, right?
56:17 Your original question how the track went for me, I can't really talk about the rest of the students, but for me, I love Python, right, like I look at it and there are things about the language that I really, really like and kind of wish that C# was more like even- the things I hated about it at first, like I really do appreciate why I did that, in the end, it left me with some big questions, like why data science adopted this language, like it's not that easy, I mean, it's easy, it's pretty, but it's not like it is like a visual basic, or like some delfy or some of the languages that have like a no barrier to entry, right, there are some nuances about it, that are powerful and not easy to understand at first.
57:09 I think it's interesting to look at it and study it to analyze why it became popular in data science in that way and a lot of it I think has to do with the really good packages and the tooling, more so than the actual ease of the language which I think, I mean, the language is not hard, but like you said, it's not totally basic.
57:29 Yeah, I think that was one of the things I saw in the data science track, the mentor that we had done his schooling in Masters or a PhD background in machine learning algorithms and focused on using Python, and specifically uses Numpy and Pandas as libraries to do-
57:48 And Scikit learn.
57:49 And Scikit learn,
58:31 Michael: Yeah, absolutely. I mean it does make its own set of problems because now you've got to learn all the libraries, but that's a good problem to have, right.
58:38 Yeah, for sure.
58:39 Michael: So maybe we could talk a little bit about some of the materials you guys use, like that what worked and what didn't, like so exercism sounded like it worked well?
58:46 Yeah, exercism IO was a great resource for us for the beginning of our track and I think if TIG moves on to another new language like I don't know, let's say Scala or Ruby or whatever, I think we would have to probably go back to use exercism again as a good intro, you know, it sustained us for three months I think on learning Python we were able to get enough contact to have some reading and really just have some hands on time for all the students to perform and the great thing was that everyone was solving the same problems and when they came together to monthly meetings to compare them, it was all very familiar to them and they were able to see the different ways to solve the problems and say oh, I didn't realize you could do it that way in Python, that's much simpler than they could revise their own version.
59:32 Yeah, we would open it with like ok, so here is a solution maybe like we pick Brad's and here is another solution Jim's, Ike's or whatever, and then, the same way how that completely different way to solve this problem, and then people would say yeah, my account name is this, and we go look at that solution and show it and, you know, see a completely different approach and it was amazing how many different approaches there are to the same exact problem.
59:59 Michael: Yeah, that's awesome. So, books also played a pretty big role in what you guys are doing. Can you talk about like what books worked well or didn't?
60:08 Yeah, well, so in the beginning we had Dive Into Python, which is, what was nice about that one is it's free, online html you can get the actual book as well but-
60:23 It was written by Mark Pilgrim, the same guy that did Dive Into HTML, right, [inaudible] I think it's the same guy.
60:31 Michael: Yeah, I think so.
60:36 So that was nice. That was completely online and then when we went to Flask, we want to, you had him on your show Michael-
60:49 Michael: Yeah, Miguel Grinberg.
60:49 And you know, he also has a lot of PyCon talks and so forth and workshops that are available online, that you can basically get his book destiled down to video form, which I know a lot of the students did, rather than reading, they wanted the information to just flow to them.
61:08 Michael: yeah, yeah, absolutely, that's cool. How about the data science stuff?
61:09 So, for the data science we used Machine Learning in Python, and that book I mean, I think it was partially the subject matter, it was dense, and students definitely had a harder time reading that one.
61:25 Yeah, we've seen that in the past another TIG groups to the density and complexity of the material really affects you know, students motivation to read, so machine learning was a really hard topic, it was very foreign to most of the people in the group, there was only maybe one or two people that were doing any kind of machine learning in their daily job, so they really didn't understand it. So, there was a lot to go, and libraries that machine learning in Python used, as Numpy instead of Scikit learn or Pandas, and so it was like if you didn't use Numpy even if you have done machine learning they were teaching most of the function calls in Numpy, so just it wasn't as effective as we thought it, like a broad approach to the topic.
62:11 What was nice is the first couple of chapters, you know, setup and I thought pretty easy to understand language what machine learning was and how it's useful in the various algorithms that you can apply and why you would apply them you know, that sort of thing, so at least it had some decent, well written background material. Again, I think it's just the fact that the topic is complex, like it's really hard.
62:38 It's an interesting topic, right, like I saw a conference talk where the guy introduced big data this way, and I apologize to your listeners for being boger, but he said that big data is like high school sex, everyone thinks everyone else is doing it, everyone says they are doing it, but really no one is doing it at all. I really think machine learning is kind of a similar state right now where every company says they are interested in it, but when we look at their machine learning projects, it just looks like some basic data analytics stuff, it doesn't, they are really not modelling, they are really not taking in predictive models and then doing any type of real forecasting, and when they do do it, they are not predicting anything that's really that actionable, and so there are some companies that are doing it, some cutting edge companies are doing it int he San Diego for medical diagnostics and health care related topics, some of them are doing it for financial, some of them are doing it to try to figure out failure rates of products that they are making, but it's very rare, it's not everyone.
63:44 Michael: Yeah, it's very powerful one at the right use case but yeah, I hear what you are saying. One company that is doing really interesting machine learning is Netflix, it's using it to study their thousands of machines to see when one of the services has gone wrong, automatically, yeah, and to fix, that's pretty amazing. All right, so maybe we can wrap it up with you guys telling us what's next for SDTIG, what are you guys doing now, and in the future?
64:08 So we started this past month, it was our first meeting for a track we are calling devops, and devops is a big nebulos term so we are starting with a book on continuous delivery, it's called Continuous Delivery by Jez Humble and somebody else, just search continuous delivery on Amazon and you'll find it. And so that's really probably what the track in evolving into, we are going to focus on continuous delivery, software and that's going to evolve things like continuous integration servers, built servers like Jenkins or Teamcity or something like that, it's going to involve some discussions about version control systems, automated tests, approaches, and then configuration and deployment options, so we are going to talk about Docker, Chef and Puppet, we already talked about it, and these sorts of things, and so it's probably going to be four months maybe, 4 or 5 meetings worth od content, and the really good thing about TIG is before we started Python, we were finishing up a track on Angular and on the last day, for the last Angular track we took a vote to see what are the most interesting topics in Python and devops for the two leading candidates, so we did Python and we did devopes, and at the end of devops we are going to take another vote so we don't know what we are doing at the devopes, but it will be whatever the community here in San Diego finds to be the most interesting topic next.
65:28 For me, personally, I would like to cover a no sql topic, but the problem with no sql is like the leader changes too frequently, like if you need to 65:37 a while ago even if for set mongo, now you kind of have to talk about kassandra with as far as like momentum, you know, there is a lot of momentum behind Kassandra, like who knows what we would cover but it would be nice to do like an alternative sql database, what would you recommend? You think Mongo?
65:55 Michael: I think one part of no sql would definitely be the document data bases, right, and of the document data bases Mongo is way more popular than couch, it's like not even on the same scale as raven. I would probably recommend Mongo, but like you said, it's- there's Hadoop, there's Spark, there is Kassandra, there is like so many different types of things that it's quite interesting question. So, for your devops one, just like before, people can come and attend this online through google hangouts or google hangouts on air and then the discussions are online so people listen and they want to do some devops continuous delivery stuff and learn about it; it's early enough that it probably makes sense to go watch a recorded one and get going, is that right?
66:43 Yeah, I think so, go to SDTIG. com it will redirect you to our meetup group and there is a little discussion we are going and you can see where the previous months, the past month's meeting was and there is an intro that we recorded on YouTube, it's about 25 meetings long where we introduce the topics and the first set of reading, and then we record and live stream the meetings, so this month's meeting is there, it's about like 2 and a half hours, so you can catch up with where we are at and yeah, we'll be here to chat, basically read the chapter 4 of the book by next month and you will be good to go.
67:15 Michael: All right, well, you guys, this was really fun to do this unusual podcast journey across your project, thanks for letting me be part of it.
67:22 Yeah, thank you it was really fun.
67:24 Michael: Yeah, see you later.
This has been another episode of Talk Python To Me.
This episode's guests have been Scott Reed, Brad Cunningham, Ike Ellis as well as Jim and Eric. This episode has been sponsored by Hired and Snap CI. Thank you guys for supporting the show!
Hired wants to help you find your next big thing. Visit hired.com/talkpythontome to get 5 or more offers with salary and equity right up front and a special listener signing bonus of $2,000 USD.
Snap CI is modern continuous integration and delivery. Build, test, and deploy your code directly from github, all in your browser with debugging, docker, and parallelism included. Try them for free at snap.ci/talkpython
Are you or a colleague trying to learn Python? Have you tried books and videos that left you bored by just covering topics point-by-point? Check out my onlne course Python Jumpstart by Building 10 Apps at talkpython.fm/course to experience a more enga ging way to learn Python.
You can find the links from this episode at talkpython.fm/episodes/show/62
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 Cory Smith, who goes by Smixx. You can hear the entire song at talkpython.fm/music.
This is your host, Michael Kennedy. Thanks for listening!
Smixx, take us out of here.