Visit podcastinit.com for information about the show and links to our iTunes and Stitcher feeds.
Brief Introduction
- Date of recording – May 4th, 2015
- Hosts – Tobias Macey and Chris Patti
- Overview – Interview with Ned Batchelder
- Follow us on iTunes, Stitcher or TuneIn
- Give us feedback! (iTunes, Twitter, email, Disqus comments)
- You can donate (if you want)!
Interview with Ned Batchelder
- Introductions
- How did you get introduced to Python?
- Zope
- … Implemented in Python
- How did you get started as the organizer for Boston Python Meetup?
- History is long and varied (Why is this switching to numbers?
- Started – 6 people sitting around a coffee table
- 5 or 6 years
- Co-organizer Jessica McKeller
- Built structures to help keep the community goingr
- Weekend Python Workshop
- People ‘adjacent’ to the male members – wives, mothers, etc.
- “What comes next” from weekend workshops – became Project Night
- How much of your time ends up being dedicated to the Python community?
- Also maitainer of coverage.py
- Active on Freenode IRC #python
- 20 hours a week
- What are your goals for the Boston Python community?
- Continue to grow
- More events, different events?
- chipy – Chicago UG very active – 1 on 1 mentoring program
- Smaller events – 5 person events – study groups
- All levels not just beginners
- Computational Biologists – study genomics
- Three user groups
- Pyladies Boston
- DJango Boston
- Boston Python Meetup
- What do you find to be the most important thing(s) for building a healthy community (particularly in reference to programming)?
- Consistency – good to know what to expect
- Pick a cadence – don’t burn out
- Speakers aren’t superheroes, they’re just people. ‘Everyone has at least one talk in them’.
- Value in having a blog, twitter stream – people talk back to you and by correcting your mistakes everyone benefits.
- How do you keep people engaged outside of the monthly meetings?
- Meetup.com – requires moderation
- python.org mailing lists – unmoderated – low traffic
- Need to do more in that regard
- What do you like the most/least about the Python community?
- Communities can improve – IRC has gotten better
- Turmoil on PSF mailing list over election for directors
- How do you strike a balance between sponsors and the rest of the community? Do you have policies around sponsored presentations / talks?
- Tend not to do sponsored talks
- Microsoft NERD – great benefit to Boston Python
- Provides monthly space for the group
- 1 minute slots for sponsors
- No sales pitches
- What are the steps I can take to start my own tech community?
- How can you get the word out?
- Meetup.com is useful
- People like free food and beer
- Be predictable. Pick something sustainable
- What is the State of Python, from your perspective?
- No signs of slowing down
- Ruby people are moving to other environments
- Python people are still using Python
- Python 2 to 3 conflict is unfortunate – transition could have been handled more smoothly
- Python 3 ecosystem is getting much better
- Next big drama – type hinting proposal
- Appears to be contrary to one of the basics tenets of the language at first blush
- Do you feel that Boston will ever have its own regional Python conference?
- Toyed with bid to bring Pycon to Boston
- Would require someone stepping up to do it
- Not sure how a regional conference ‘feels’ as a local event
- Try to have Boston Python be like a year long conference all year long
- Huge undertaking
Picks
- Tobias
- Chris
- Ned
Keep in Touch
- Twitter: @nedbat and @bostonpython
- IRC: nedbat
- nedbatchelder.com
- bostonpython.com
[00:00:14]
Unknown:
Hello, and welcome to podcast.init. We're recording today on May 4, 2015. Your hosts, as usual, are Tobias Macy and Chris Patti. Tonight, we're interviewing Ned Batchelder, the organizer of, Boston Python meetup. You can follow us on Itunes, Stitcher, or TuneIn Radio, and please give us feedback. You can leave reviews on Itunes. You can find us on Twitter at podcastdunderinit. You can email us at hosts@podcastinit.com, or you can leave a comment on our show notes. And we recently added donation buttons to our site. So if you'd like, you can donate to help us keep the show going.
[00:00:57] Unknown:
So we're gonna get started with our interview now. And, Ned, if you care to introduce yourself to our to our listeners, that'd be great, please.
[00:01:04] Unknown:
Hi. I'm Ned Batchelder. I'm a software engineer. I have been for a long time. I describe myself as crazy old. I have gray hair. And I've been involved in the Python community in a lot of different ways over the years. Right now, I work at edX, which is an organization that nonprofit that puts university courses online. It was founded by Harvard and MIT. It's an all Python shop. We're all open source, so I get to have a nice intersection between my side interests and my day job.
[00:01:39] Unknown:
Great. Can you tell us about how you got introduced to Python?
[00:01:44] Unknown:
Sure. Well, let's see. About 15, 16, 17 years ago, I was working at Lotus on Lotus Notes. And, someone told me about a system that had an interesting authentication control system, similar to what notes did but more complicated, and that system was ZOKE. And I looked at ZOKE and I thought it was interesting, but the thing that really stuck with with me was the language that it was implemented in, which was Python. And I'd started using Python then for little side tools and hobby projects and gradually did more and more work in it until I got a full time job in Python almost 10 years ago now, and I've been full time Python ever since.
[00:02:33] Unknown:
Very cool. How did you get started as the organizer for Boston Python meetup?
[00:02:38] Unknown:
Well, so Boston Python has been around for a really long time. It its history is long and varied, and I don't even know the whole history. I first attended Boston Python when it was 6 people sitting around a table at a coffee shop in Back Bay on Newbury Street, if you know Boston geography. And that must have been 10 years or so ago. It grew over time. It started meeting in Cambridge, which is where most of the tech industry is in Boston even these days. And I was just a regular member. I would attend the meetings, and it was great to see the presentations and meet people and get to know the rest of the community.
Eventually over time it it kind of shifted. It at 1 point, it was called the Cambridge Python meetup except it met in Somerville. Then we renamed that group back to the Boston Python meetup and met in Cambridge. So it's been kind of interesting watching it meander around the Boston geography all these years. As I became more and more involved with it, I I saw what I liked and I didn't like about how it was organized, and I thought I could do an okay job doing it. And at 1 point, the previous organizer stepped down. We were on meetup.com, and they automatically send out an email when an organizer steps down asking if someone wants to step up, and I did. And I've been main organizer ever since.
And that's been about maybe 5 or 6 years. I should know when I took over the organizing, but it's been been a while.
[00:04:12] Unknown:
Great. Well, we're all glad that you did. You've been doing a phenomenal job.
[00:04:16] Unknown:
Well, thank you. I I I have to say early on in this interview that I think 1 of the things that really helped me run Boston Python was the efforts of 1 of my co organizers, Jessica McKellar, who unfortunately does not live in Boston at the moment and so can't help right now. But she created a number of structures that we're still using today that have been really great for growing the community and for, keeping the community going. Excellent. She said she's gonna move back to Boston someday, and I'm eagerly awaiting that.
[00:04:51] Unknown:
So just out of curiosity, what's some of what are some of structures that you're referring to if you're if you're willing to tell us? Sure. No problem. So when I was first
[00:04:59] Unknown:
when I took over Boston Python, it was 1 event a month, and that was a presentation event. So we would find a speaker, and they would stand at the front of the room, and everyone would sit in chairs facing the front and would listen to the speaker. And, of course, there was, you know, chatting beforehand and schmoozing afterwards and maybe some beers, but, fundamentally, the event was a presentation like you might find at a conference. When Jessica joined the group, it was actually Jessica and Ashish La Roya who joined the group together, they approached me and said, what we'd like to do is we'd like to do a weekend workshop, to teach beginning learners Python. And at the time it seemed to me like kind of an outrageous idea. Outrageous in the sense that it would take a lot to organize, It would take a lot to run.
And they seemed like 2 young people that had kind of a cool idea, but they'd probably run out of steam. At the time, of course, I didn't know Ashish LaRoya or Jessica McKellar, and they are 2 young people who don't ever run out of steam. And they made that workshop happen. So that became the Boston Python workshop for women and their friends, which was specifically designed to increase the number of women who are using Python and who knew Python. And that was a hugely popular workshop, and it ran I think we eventually ran 10 of them. And I shouldn't say we because I personally didn't have much to do with them. It was really all Jessica.
But as a group, we ran maybe 10 of them, at least 8 of them. And those workshops did a really good job growing the population of the group for 2 reasons. 1, there were a lot of people who generally just wanted to take that workshop. But 2, it was such an unusual event to be running and be running it so many times that the publicity from those events just attracted people to the group An interesting thing about people coming into the group for those workshops is 1 of the things I was skeptical about when they wanted to run those workshops is that I told them, well, we don't have many women in the group. Right? That's the whole point. It's the group at the time was something like 1% female. So how are you gonna get women to come to the workshop? How would you find those women? How would you publicize the event and and get women to attend?
Well, it turns out that if you send an email to all of the men in your mostly men male group, those men have significant others, they have coworkers, they have mothers, they have daughters. Like, most of those men, there's someone adjacent to them who would be really interested in that workshop. And so that really helps spread the word even without us having to do much explicit marketing or publicity outside of our normal circles. So those workshops brought a lot of people into the group. We haven't run those workshops since Jessica left and it really was a testament to her energy and to the amount of effort it takes to run a workshop like that. But 1 of the things she put in place when she ran the workshop is she knew that once once the students were done with a day and a half of learning over a weekend, they would need something, a next step.
And what she created for their next step was what we now call our project nights. So now Boston Python consists of 2 regular events. They're and we tend to hold 1 of them sorry. 1 of each each month. So we have 2 events a month, a presentation night and a project night. And a project night is even less structured than it sounds. So there is no project set up for people to work on. A project night is simply you get a bunch of round tables, and you invite a lot of people and they clump together at the tables based on their interests and you get a room, that room reserved for about 3 hours, and people do whatever they're gonna do.
So you get people packing together. You get people teaching each other. You get people just chatting. You know, whatever it is that people want to do in a room full of other Python minded people is what happens. And specifically for the beginning learners who came out of the workshop, we created we'd labeled at least 2 of the tables as beginning learners, and we staff those tables with people who are interested in helping beginning. And so that was the next step from the workshop and that project night has been a really great way for Boston Python to continue to thrive for a couple of reasons. 1, it's really easy to run because I don't have to find a speaker.
And 2, it lets people of very different levels find something that appeals to them. 1 of the problems with the presentation night is if it's a beginning talk, then the advanced people don't wanna come. And if it's an advanced talk, then the beginning people don't wanna come. At a project night, you could have 5 different tables set up, and there are beginners at 1 and advanced people at the other, and they're each getting exactly what they need. So it works out really well as a way to bring people together and to give people something to do with the event. So that's what when when I said that Jessica put structures in place, that's the main 1 that I'm thinking of is that that other half of our events these days are the project nights that she created, specifically as a place for beginning learners to go as a next step in their learning.
[00:10:14] Unknown:
That's very cool. And I and I definitely think that there's a, you know, a lot of hard, rot experience that's shown a lot of different people that putting beginners and more advanced practitioners in the same room and kind of, like, saying, you know, okay. You're all in the same pool. You're all working towards the same goal. It benefits everyone. I think that the the the more advanced people, whether they end up realizing it or not, learn by teaching other people, and the and the beginners learn, obviously, by by virtue of of being taught, but everybody ends up benefiting. I think that's great. I'm glad to hear that, glad to hear that that's been such a, a motive force in helping to keep Boston Python going. Yeah. And it's really true that that
[00:10:58] Unknown:
1 of the things I think is really interesting about the dynamic of the project night is that a lot of people come to the project night with an idea of what it's going to be like for them, and then they have a completely different kind of night that they also have value. So people will show up with their laptop and they'll sit down next to someone and they've got a project they're gonna work on, but they spend the whole evening just talking. Or someone comes in because they wanna learn something themselves, but instead they sit beginners table and they spend the night teaching. And that to me is really interesting to see that people can be can can have their horizons broaden that might be too too grandiose a term, but people can experience the community in different ways than they thought they really wanted to and find different aspects valuable at the end of the night and and really enjoy what they've done.
A lot of people come to project night thinking about projects but end up talking and and if you had said why don't you come and just chat with people for 3 hours they never would have shown up. But once they've spent the evening talking to people and deepening those connections, they they've really enjoyed it.
[00:12:04] Unknown:
Yeah. Speaking as somebody who's attended the project nights a number of times, every night I go there and think, oh, I'm gonna end up working on this project or other, and I never do. Mhmm. Instead, I just end up meeting somebody or maybe helping somebody else with a problem or just playing with some cool toy that somebody happened to bring to the meetup. Right. Yeah. And
[00:12:25] Unknown:
I'm always I never work on a project at project night because I'm kind of the host and I'm milling around talking to everyone. So I really enjoy being able to meet people and connect people and, you know, tell someone on 1 side of the room if there's a person on the other side that's doing exactly what they need to find out and etcetera etcetera.
[00:12:46] Unknown:
So how much of your time ends up being dedicated to the Python community and the meetup itself?
[00:12:51] Unknown:
Well, so that's a good question. And I hesitate to actually count it because I might decide it's too much. So there's a couple of different ways that I'm involved in the Python world. So as I mentioned, my day job is actually a Python job. I I organized the Boston Python group. I I'm the maintainer of coverage dot py, which is my my technical side project, so there's time that goes into that which is really pro bono work for the community. And then there's various other, you know, monitoring various communication channels. I I like to dip into Stack Overflow a little bit, and the Python IRC channel on free node is is very appealing to me right now.
I used to be I used to closely follow the Python mailing list, although I've moved pulled away from that. It's I just I find it very interesting to see how people are interacting around this technical topic that I'm very interested in. And it seems like kind of an odd reason to be interested in people because they are also interested in a programming language. But, you know, there there there's no bad reason to be interested in a bunch of people, I guess. And so it might as well be, you know, start with your interest in a computer and and let that grow into an interest in people. So if I had to gauge how much time I spend outside of work on the Python community, it would probably be on the order of 20 hours a week, which is a lot.
[00:14:26] Unknown:
Yeah. But I understand. That is that is definitely a lot. But if you think about the average person and, like, how many hours per week they spend, I don't know, watching TV or or you know, even if you think about, like, the average person, how much time they spend commuting or something like that. Yes. I'm guessing that you're you're actually getting it's not like so on the 1 hand, you're putting this time in and it's selfless. Right? Like, you're not getting paid for this per se. Right. But, I mean, I can even tell you just from doing this little this podcast that we've done, I feel like it has already paid debit dividends that are way harder to quantify than than it might appear at first. So I can only imagine there's something like that for you.
[00:15:09] Unknown:
Yeah. Absolutely. So you mentioned TV. So often when I'm watching TV, I'm also in the Python IRC channel, which is why although I've watched all of Game of Thrones so far, I'm really bad at understanding the intricacies of the plot, which is so I I if I watch with my family, they can they can help pull me along. No. Absolutely. There's so I'm interested in these discussions, you know, hearing people talk about Python, whether it's the community or the language or the implementation of the language or the libraries around the language or how do you solve a problem or how would you compare it to a different language. There's, you know, there's all sorts of aspects that I personally find technically interesting.
Being involved in the community gives me a a depth of understanding that comes in a couple of different forms. So even though, for instance, I have been using Python for a long time, and I know all about how it works. But even so, if I sit down with a beginner, whether it's in the IRC channel or in person at Boston Python project night or at PyCon after 1 of my talks, and I hear a question that they ask. That question often will be new to me because they are coming at it from a completely new perspective. And, you know, to be blunt often it's the wrong perspective, right? They've got they've had some misunderstanding but seeing how they have misunderstood something, that to me seems so clear, is a really good way for me to understand how they're thinking, to see what problems there still are in what we all take for granted as experts, and maybe gives me an idea about how to explain things differently the next time that will help other people understand things better.
You know, programming languages are really really esoteric. Right? Python prides itself on being easy to read and approachable and all that, but easy to read for a programming language is really really hard to read. Right? We we we say print all the time without ever stopping to think about the fact that there is no paper and no ink involved. So what do you mean by print? Yep. And and we just take it for granted and we've just sort of internalized 50 years of computer history that if we think about it, we can get back to why would we call that print, but to a beginner, that is complete nonsense. And Right. So hearing begin you know, hearing beginners talk about things is a really interesting way to learn more about the language just like hearing experts talk about things is a really interesting way to learn more about the language So I get that kind of technical depth from being in the community and seeing what people are talking about.
There's also the new expert depth. So Python is continuing to grow and expand and in all sorts of ways that I don't understand. Right? So there's tulip, which come the new async thing. Guido is talking about gradual type hinting, which I still don't quite understand how that would work in a real world scenario. There are alternate implementations of Python. There's the expansion of Python into data sciences, which I don't do either for a living or for a hobby, so it's all kind of foreign and exotic to me and looks like a fascinating solution to a problem I wish I had so I could use the solution. You know, there's all sorts of new ways to explore even within this, you know, 1 thing we call Python.
And then being involved in the community also gets you involved with the people in the community. I know lots of people around the world purely because of my involvement in the Python community either in mailing lists or in person at Python or from having contributed to projects or from running Boston Python. Python. And those people give my experience of the Python world a whole another layer of of depth. Because so for instance, I have this habit when I hear about a new library and I go to PyPI to look at the page about it, I immediately scroll down and see who wrote it. And oftentimes, it's someone that I don't know, but sometimes it is someone that I know either by reputation or in person. And that just gives me another aspect, another way to understand that library. Right? That person's reputation is attached to it. And by being involved in the community a bunch of ways, I have contact with many more people, and that gives me a deeper sense of what's going on in the community.
[00:19:47] Unknown:
Absolutely. So so dovetailing with the with the community aspect to the previous question, what are your goals for the Boston Python community?
[00:19:57] Unknown:
My goals? Well, I would like it to con continue to grow, both in the number of members that show up at events and also in the kinds of events. So you know, I'm really glad that we are running the presentation nights and the project nights that we are. But to be frank, we've been doing that 2 event structure for a while now and maybe there's better things we could be doing, other things we could be doing. Maybe we don't have to get rid of those 2 things, but isn't it time that we added something else? So for instance, 1 of the mailing lists I'm on is the group organizers mailing list, which has people from around the country talking about what they do in their user groups.
Chicago is very active right now, and they have a very interesting 1 on 1 mentoring program. It runs I I think the detail is that they run it for a 3 month stretch where they get potential mentors and mentees. I guess if that's the word, it sounds like a big seal, but I guess that's what mentees. So they get potential mentors and mentees, and they get paired up for a 3 month stint of working together in some way. And I think Chicago has only just started this. I think they've done 1 round of 3 months, and maybe you're preparing to do their 2nd round. But that's a really interesting structure. And it would be great if Boston could try something like that. 1 of the things I've wanted to do for a while is to create smaller events, like a 5 person event that's organized not by me, but by a member that wants to get what I've been calling a study group together. And this idea started because I would get an email from someone who lives in the Boston area, but far from Boston, let's say Lowell, which is about 45 minutes or an hour north of Boston, depending on the traffic. And they say to me, I really wanna come to Boston Python events, but I I work in New Hampshire and I live in Lowell, and it's just too much to come into Cambridge and go back. Is there anything happening in Lowell?
And Boston Python isn't going to run a full fledged event in Lowell because I don't think there are that many people in Lowell who would come to it. But there are probably 5 people in Lowell or near enough that if that person said, hey, I can't make it into the events, but I'm gonna be at the Starbucks on Tuesday evening at 8, and I'd love to have 5 people show up just to chat about what you're working on. You know, you could probably get 5 people to do that. So I I I've been trying for a while to build a website.
And when I say I've been trying to build a website, what I mean is I've been trying to cajole people into building a website for me that would let that let people organize those study. And I think that would be really interesting to see what we can get done, what could happen with, you know, 2 to 5 people meeting in an ad hoc way for whatever reason they want.
[00:22:49] Unknown:
Actually, Ned, I I I feel like I should I should chime in here because, I don't know if you follow, Saron, Barak. I'm totally Ibt Barak. I'm completely mangling her name, which is a real shame. It just proves how how, insular I am. But, as as an average American Mhmm. But she's doing this amazing thing called CodeNewbies. I don't know if you've heard of it or seen it. I haven't. Okay. I will it's I put I actually picked it last last episode, and I'll I will I will toss you a link. And what's kind of amazing, she she runs a podcast. She does a weekly Twitter chat. They have a discourse forum. And it is this whole kind of, to say it is a community, I guess it is 1 community, but it's 1 community with a multiplicity of different, mediums, I guess, for all oriented towards helping people who are learning how to program, who are trying to be even go beyond that and get a career going in the tech industry, doing everything that it takes to help them achieve that goal. And 1 of the interesting things is she runs in addition to having the podcast and the Twitter chat, she runs a discourse forum.
Mhmm. And in that forum, there's a whole section for study groups. You know, you get a bunch of people who are gonna get together and say, let's go read and work through, you know, structured interpretation of computer programs, or let's go work through beginning Python, or or, like, learn Python or whatever it is. Yep. And and they've had great success with that, and it sounds like it sounds like this is the kind of thing that you're hoping to do with an on an in person kind of local level Right. Which should be great. Yeah. Exactly. Although,
[00:24:32] Unknown:
it doesn't have to be beginners. Right? 1 idea is, oh, I'm a computational biologist, and I work at the Broad Institute in Cambridge, and there's probably a bunch of people right here who wanna talk about pythons. Let's just let's get together and talk about python and genomes and or whatever. There's all sorts of reasons why people might be so finely sliced that 5 people is the right number to get together for geography or time or interest or level skill level or whatever.
[00:24:59] Unknown:
Absolutely. It's it's funny that you would drop that particular institution as an example. I worked for the Broad for 5 years, and and there were a bunch of a bunch of people there who were really excited about Python. I'm guessing it's no it's no accident that you you mentioned this.
[00:25:14] Unknown:
Well, I mentioned it because first of all, I'm really proud that I know how to pronounce the Broad Institute. For for listeners, it's spelled b r o a d. So if you're not in the know you'll say the Broad Institute. But but also because that's a really specialized domain and I know that when we do have a presentation night about science, we get a completely different slice of the group that shows up for that and they're really into it, But for the most part, our presentation nights are not scientific enough for them. And so maybe they wanna have something off to the side. You know, 1 of the things about the Boston about the Python community in Boston is that not only do we have Boston Python as a user group, which is really large over 5, 000 members, but we also have Django Boston, which is a separate group on meetup and PyLadies Boston, which is a third group on meetup. And so we've got 3 user groups that are running all about Python topics in Boston. So there's a it's a really vibrant community.
[00:26:15] Unknown:
That's that's awesome. I mean, I I also think that speaks to the fact that we were just talking about this last episode. I feel like Python has really sort of me. As you say, it's very old. It's been around forever, but I feel like recently it's experienced this kind of blossoming in terms of it's expanded into so many other different kinds of communities. You know, we were it always had a foothold, but I feel like in such a big way that kind of it never had before. And it it sounds like this is just an example of that.
[00:26:44] Unknown:
Yeah. And the data sciences is really the latest blossoming for Python. Right? So Python sort of started in science, and then the web came along and it and it became big in web. But now with data science and IPython Notebooks and Pandas and Anaconda and the other scientific distributions, it's really catching on among data scientists as an as the as a more disciplined approach programming language than R for doing the kind of work that they wanna do. Thing that's a little more capable in a broad sense, and they find Python and they seem to gravitate towards that.
[00:27:24] Unknown:
So speaking of keeping things healthy, what do you find to be the most important things for building and maintaining a healthy community?
[00:27:33] Unknown:
Well, so it's interesting because it it it varies depending on which aspect of community you're talking about. For something like a user group, I I think the success the the key to a success for a user group, and this sounds really, really simple, is to be predictable. If you can pick a schedule of events and and pretty much stick to it so that people know what to expect, Then people will start coming regularly, and they will be able to explain to their friends that they can come here and find things. Like I said, we're on a 2 event a month schedule. If an organizer in another location doesn't feel like they can maintain that schedule, either because they can't find the space or they can't find the sponsors for the pizza or they don't have enough speakers, just say you're gonna do 1 event every 2 months or 1 event even every 3 months, which is a long time between events, but I think it's better than saying I'm gonna do event every month and after 3 months it kind of peters out because you ran out of the money or the space or the speakers or whatever. It's it's better to pick a a cadence that is gonna work and work with that cadence. And then once you've grown enough that you can increase that cadence, you can increase it.
I really found that having that kind of predictability at hand. Like like I said, with the project nights, it doesn't have to be an ordeal to find a speaker. You can run an event without a speaker and just have people work together. It might be a little bit difficult when you've only got 5 people, you know, until you've gotten 50 people. But those 5 people are interested enough to come out together. They will probably find something to talk about and be glad for that 6th person to show up the next time, and you will grow from there. And on the subject of speakers, I I a big point of mine is that when there are people sitting and listening to a talk, they're probably thinking of themselves as different than the speaker, that the speaker has some form of expertise or authority that gives them the the right or the permission to be up in front of everyone talking for 20 or 30 minutes. And then the people in the audience feel like they don't have that permission or authority or expertise.
And I'm a huge believer in the idea that everyone has at least 1 talk in them. And it may not be the kind of talk you're expecting. Some people will say to me, I wanna talk about this library, but I didn't write the library. Is it okay if I talk about it? And the answer is, of course. If you've got something to say, if you wanna show something to someone, you can stand up and talk about that for even if it's for 10 minutes. So finding speakers can sometimes seem daunting. But if you're coming at it thinking looking at Python and looking at the speakers that are there and thinking that you have to somehow get a speaker like that for your user group, it's gonna be very difficult.
Instead, what you wanna do is you want to reach out to the people who are already members of your group and find out what is it that they want to say. And it might be something very simple. What was that bug that you fixed at work the other day? Or you know how it worked? You're the person that everyone comes to for blank? Well, whatever blank is, you can talk about blank. And people will listen to you, and they would be glad for you to have told them what you know. So I call it my parlor trick that I will someone anyone who thinks they don't have a talk in them, come and talk to me, and I will figure out what your talk is about because it'll only take about 5 minutes of chatting with you to figure out what you can explain. I had 1 woman once tell me that she had nothing to talk about because she was just beginning to learn Python.
And I said, you can talk about what it's like to learn Python. Right? When you how did you make that leap from print hello world to for I in range of 10 print hello world? There's a leap there, and and you made it, and other people will be interested to hear it. And you can do a talk about that. So that's that's healthy user groups. Other kinds of communities, online communities are more difficult because online communities don't involve face to face communication, and therefore, it's much easier to get into bad behavior.
I think I can think of 1 instance in a face to face user event user group event at Boston Python where someone did something that seemed like a code of conduct violation. And I hope that that's true, and it's not just me being oblivious to something bad that's happened at Boston Python. Although, that's, of course, entirely possible. But once you get into IRC channels and mailing lists, things run off the rails really, really easily. And there, you have to be much more willing to tell people off and enforce the rules. And the rules will also if you have them the tool available to you, the rules will involve banning people because allowing 1 bad apple into the barrel is much worse than excluding a bad apple so that the rest of the community can help.
So that's the the 2 sides of community of make keeping a healthy community. I've personally found face to face communities, especially local communities, work pretty well without a heavy hand. The online communities, you you have to be willing to be the bad guy and and kick people out in order for them to stay healthy.
[00:33:03] Unknown:
Right. You know, it's it's interesting talking about going back just a a couple of points there to everyone having 1 talk 1 talk in them. And if you learn something, tell other people how you learned it because they might find it interesting. I was just thinking 1 of the things that I listened to 1 of the other podcasts from the the thought bot folks on the Ruby side, and 1 of the things that Ben I can't think of his last name now. But in any case, the the the podcast, host or 1 of the hosts has said repeatedly is, blog what you learn to to new people coming into the field. And that strikes me to be very similar. Right? Like, if you giving a talk or writing a blog post, it's kind of the same sort of thing in the sense that by explaining to people what you learned and how you learned it, you've solidified the knowledge for yourself. And you it's also a way to show, you know, prospective employers what you know, that you that you can actually walk the walk and not just talk the talk. And I think that all of that kinda sums up to the same sort of thing and has a great deal of value.
[00:34:06] Unknown:
Great. And I found in my own writing and speaking, that I learn a lot by doing the writing and doing the speaking. So I've done a lot of Python talks over the years, and the 1 that's probably the most popular still is the 1 I did, I think, 3 years ago about Unicode. And the the things I said in that talk, half of them I didn't know until after I decided I was gonna do a talk about Unicode. So once you once you commit to an idea that you're gonna explain something to someone, that really means that you're gonna have to know it well. Right? You're gonna have to explore all of your knowledge about that topic, and you're gonna find parts where your knowledge falls short, and you're gonna extend that knowledge so you can give it to someone else. When I write a blog post, often, I only half know what I'm talking about. And 1 of the things I really look forward to is people putting comments on my blog or or or replying to my tweets saying, actually, if you've done it like this, it would have been better. And that's how I can learn. Right? I can someone once said the best way to get information off of the Internet is not to ask a question, but to to state the wrong thing. Because lots of people won't answer your question, but everyone will correct you if you're wrong. So my blog posts often are me sort of getting halfway to a solution and then everyone chiming in and helping me figure out what the the full solution would have been. And that's 1 of the great things about about writing a blog or having a a Twitter stream, which is that people will people will talk back to you, and you'll have a conversation, and you will learn.
So I definitely encourage people who think they don't have something to talk about at a user group to pick something that interests them no matter how boring you think it is, and you will give a good talk about it.
[00:35:58] Unknown:
How do you peep keep people engaged outside of the the monthly meetings?
[00:36:03] Unknown:
I'm not sure I've done enough to keep people engaged outside of the monthly meetings. We have a a Twitter account. We have an IRC channel, and we have both the meetup.com mailing list and a separate mailing list that we set up at python.org. And we set up the python.org 1 because we had to turn on strict moderation for the meetup.com mailing lists because of recruiters sending out, you know, the usual recruiter stuff. And once you turn on that moderation, it becomes very difficult to have an organic conversation where people where members are talking amongst themselves about actual topics because every email has to be approved just for going out, which means that someone asks a question.
And if I'm not looking at the moderation queue, there'll be 5 answers all stuck in the queue, and then they'll all go out at once and conversation is very stilted. So I created a separate mailing list at python.org. It's boston@python.org. And we've got about 220 people subscribed to that mailing list, which is not bad for a mailing list, although out of 5, 000 members of the user group, it's a tiny fraction of the entire membership. So I continue to send out email messages reminding people about that mailing list. And it gets very little traffic, maybe 1 message a week.
So I'm not sure there is much that people are doing as a group outside of those events. We have 2 events a month, so people can, you know, show up pretty regularly. And we do have some people who are quite regular in attending the events. I would like to do more. But, I mean, that's like I said about growing the group. I would like to see other kinds of events. For instance, 1 thing we've never tried is just purely social events. You No. Hey. You're a member of Boston, Python? I am too. Let's go see a movie. It doesn't have to be about Python. Who knows? I mean, that's not that's not the kind of event that comes naturally to me. But maybe someone else wants to say, you know, I'll run that for Boston Python. And I would be glad to have someone step up and and propose a completely different kind of event that we could run alongside the 2 we already have.
Absolutely. A Boston Python board gaming night or something like that. I'm sure that'd be huge. I'm surprised we haven't had a board game table of the project nights. 1 of the tables we often have is a puzzle table. 1 of our members, John Bohannon, is a huge puzzle fanatic, and he likes both collecting physical puzzles and writing new puzzles. So he's written a number of puzzles for the project night, and we've collected them at puzzles.bostonpython.com. And when he comes, we we'll turn his table into a puzzle table, and people just sit around and solve puzzles.
[00:38:44] Unknown:
Yeah. Speaking of somebody who has tried some of his puzzles, they're all very fun, and some of them are quite brain twisting.
[00:38:51] Unknown:
Yes. Yes. Well, John's very good at at writing a puzzle that starts out really simple, and then has sort of 4 or 5 levels of difficulty where the 5th level is, this is actually impossible. And if you could do it, we'll give you a PhD right here on the spot.
[00:39:10] Unknown:
So what do you like the most and the least about the Python community, both locally and at large?
[00:39:17] Unknown:
Well, so at large, the Python community, as a whole worldwide is is known for being very progressive. And I don't mean that politically, although it probably holds. But what I mean is that I I think they tend to be at the forefront of the social issues that surrounds technical communities. So it's probably no surprise to any of the listeners of the podcast that technical communities tend to be not nearly as diverse as the general population. The people who in who are in the minorities in the technical community, whether by gender or by race, find them very difficult to break into, find them difficult to stay in, and they find them difficult 2 years at Tycon, we have had 30% female speakers at a technical conference, which is astounding. It may be even more amazing if you could get to 50% to match the general population. But a technical conference with 30 percent female speakers is really unusual.
So I'm really proud of the Python community for being that intent on addressing those issues, you know, talking about them and doing things to fix them. So that's the thing I'm most proud of. I I I personally am very engaged in trying to make Python as a community, as welcoming as possible. 1 of the things that interested me about the IRC channel originally was the bad reputation it had and to study that from the inside and to see what could be done to improve it. And I think it is improving. IRC is a harsh medium to begin with, but people can still be nice on it. So and I would like to think that we're improving that way.
So those are the things I like about the worldwide community. There's a downside to being at that much of the forefront of the social issues, which is that we can get caught up in debates and struggles over those very issues. Even today, there is literally today, there is a a turmoil on the Python Software Foundation mailing list about the current election for the board of directors and some missteps that were taken and what what to do to how to fix it and whether we're doing the right things to fix it or we're making it worse to fix it. And I haven't gotten involved in that whole debate, but I see it happening. And I see people getting very angry at each other because they feel very strongly about all of the issues. So other communities maybe would have dealt with this by just having some leader say, everyone shut up. We're gonna do it this way, and I don't care what you think, And that would be good. The Python community deals with it by everyone having a very strong opinion and wrangling very hard over the philosophical issues and and how best to be fair and inclusive and do the right thing. And that, unfortunately, can also lead to bad behavior and strong opinions and and hurt feelings. And, you know, that's that's a downside. I don't I don't know know that there's a way to have a community that could push forward through these issues without that downside, but it is a downside.
[00:42:43] Unknown:
As long as in the end analysis, when the when the the debates are over, everyone sort of says, well, we were, you know, we were all shooting for the we were all trying to do the right thing and puts their differences aside and and and moves on and doesn't doesn't harbor
[00:42:57] Unknown:
resentments over it. That's that's the important thing, I would think. That is the important thing, and we'll have to see how it comes out. There's there are some pretty hurt feelings right now. And from the past, I I can tell you, it does not always work out that everyone comes back into the community having felt like, well, at least we were all work trying to do the right thing. Sometimes people leave, and that might happen this time.
[00:43:23] Unknown:
And sometimes, you know and and occasionally, as as bad as it is, when a when a a community loses a person who has been a real driving force and who has done a lot for community, sometimes that's okay too. I mean, obviously, it's sad when it happens and and when there is hurt feelings and strife. But sometimes, you know, I I cannot help but think of and I know some people really hate Steve Jobs. I'm gonna mention Steve Jobs here anyway. In his presentation, his speech before I wanna say it was Stanford graduating class where he talks about, in this case, something way more weighty than leaving a a software group. He talks about death being 1 of the great change agents. And I think sometimes, you know, in these organizations, sometimes in order for them to evolve, sometimes people need to leave. Right? Like, sometimes people need to move on and make space for a new a new viewpoint, a new opinion, someone who doesn't have that baggage and can just sort of say, well, okay. What do we need to do? Let's move forward.
[00:44:23] Unknown:
Yeah. I don't I don't know how this particular turmoil is going to work out, sort of what the what the long term effects are going to be. It's it's painful to watch, But, yeah, this it has to happen sometimes. There's there's no way around it. I mean, if you if you're going to have a large group of people all of whom feel passionate about something and who are willing to put in energy to something, there is bound to be conflict and there is bound to be people who suffer because of that. Like I said, locally, we haven't we haven't had that kind of conflict.
I'm hoping we don't, but that might happen to us too as a local group. And if it does, we'll we'll just have to try to be open and honest with each other and listen to each other and, you know, try to do the best we can.
[00:45:17] Unknown:
Anything's possible, but I think size can help. Right? Like, I mean, there's there's a a difference in scope between the Python Python Software Foundation, which is this organization which touches so many, many, many thousands of people and Boston Python. We're not to say that it couldn't happen, but just I think in this case, our that the size actually is to our benefit.
[00:45:40] Unknown:
Yes. Right. I mean, we we are a large user group. We're all over 5, 000 people, but it it's still it's still much smaller than the Python, community worldwide.
[00:45:53] Unknown:
Right. So on on slightly happier topics, perhaps not not entirely, but how do you strike a balance between sponsors and the rest of the community? Do you have policies around sponsored presentations or talks?
[00:46:06] Unknown:
Oh, absolutely. So so we tend not to do sponsored talks. And if so let's back up. So first, it it was very interesting to see what happened in Boston Python. So 1 of the things that has been a great benefit to Boston Python is the Microsoft New England Research and Development Center, which has the acronym NERD, because they're really clever. They provide free space to us and that's been a great way great help for us growing because it meant that we never had to worry about where we're going to find space this month and that space can hold up to 300 people, so we can hold really large events.
When Microsoft first had that space available, remarkably, they also always bought us the pizza. So we had free food and free space every month, and that was amazing. At some point, Microsoft decided they couldn't afford the pizza somehow. And I was really scared at that point because I didn't know how we were gonna pay for the pizza. Right? We didn't have any infrastructure in place. And at first, we were just collecting money at the door. We just passed around an envelope and hoped that people donated enough money. Eventually, though, we grew a separate mailing list of people who were trying to hire Python developers.
And people who are trying to hire Python developers have a hard time of it because hiring developers is always hard these days, and they're willing to spend money to get in front of developers. So we now have people paying for pizza in order for the right to stand up and talk about their job. And and 1 of the things I like about that transition from Microsoft buying pizza to sponsors buying pizza is when Microsoft bought the pizza, we were a community of users. Now we're a community of users and a community of companies. And we really do have a number of companies in the Boston area who really feel like members of the group. Either they've done something unusual for the group or they consistently show up or their employees consistently show up or for whatever reason, they just it feels like a company as a member of the community. I'm really grateful for that because we're all hoping to get jobs and we need to work. And so companies are an essential part of the Python ecosystem in Boston or any town.
But that said, we do only provide a minute speaking slot for companies that are sponsoring. If someone comes to us and says, I would really like to do a talk, I look very carefully at what the talk is. And it you know, it's really easy for a company to say, I wanna do a talk about what we've built and for it to be not here's how we built a thing, but here's the thing we built. And if they wanna talk about here's the thing we built, then that sounds like a sales pitch. And I don't wanna I don't want sales pitches for talks. Right? The members don't wanna feel like they're being sold. I want the talks to be peer to peer. So I want an engineer at the front of the room talking about the challenges they faced while building a product. That's fine.
But if someone if a non engineer gets up at the front of the room and starts explaining all the features of the product, that's right out. And I try to weed those out ahead of time. And I've I've only had 1 lightning talk, a 5 or 10 minute talk where I said to the person upfront, it's gotta be a technical talk. And the person got up to do their talk, and it the technical part was the bullet where they said we used a lot of Python libraries. And all the questions that was yeah. It wasn't great. But at least it was only a lightning talk. Right. So 1 slipped by me. But, yeah, we definitely are not. We try to keep a very strict line between sponsors who have things to sell us, which is fine if someone wants to say, hey. I will sponsor the pizza for a night because I wanna stand up and say, hey, everyone. Buy my product. That's fine. That hardly ever happens.
If it does, it tends to be a developer product anyway. You know, use our API to build something cool. Hey. You know, they paid the money. They can say whatever they want for that that minute or 2. But no. You're not gonna get a 20 minute chance to pitch to members. I don't care how much money you've spent. That's not that's not what the group is for.
[00:50:15] Unknown:
Alright. I think that's that's fantastic, and it's really important. There was a meetup that both Tobias and I went to recently, and and I love the meetup. I plan to continue going no matter what. But they they had a couple of talks in there that really boiled down to sales pitches. And and I I I can only say that when companies come to technical meetups and give what amounts to really a sales pitch with very little technical content, I think they're they're unselling units, if you know what I mean. Like, I I know in my case, I say to myself, you know, I really doubt that I would buy this thing because I really I just walk away with a very negative impression of that vendor.
[00:50:55] Unknown:
And I think I think that's great that you have that policy. I think that's that's really smart. Thank you. Yeah. They've it they've got kind of a 10 year if they're if they're coming there and pitching like that. You're exactly right. People are the main message they're going to give to those people in that audience is, hi. I don't know what I'm doing.
[00:51:13] Unknown:
Yep. And I don't care about my audience. And I don't care about you. Right?
[00:51:18] Unknown:
Exactly.
[00:51:18] Unknown:
Great. So if I or any of our listeners decided that we wanted to start our own local community, how would you go about getting started with that?
[00:51:29] Unknown:
So there's there's a mailing list at python.orggrouporganizers, which has lots of people on it from around the country and around the world who run local user groups. They are a good source of advice and encouragement. The way to get started is, first, figure out how you can get the word out in your community. Right? There's gonna be some way that you can let people know that something's happening. And meetup.com, which has some downsides, is really good at that. If you start a group on Meetup, they will send an email to other people in your geography who have or members of groups that have similar tags to the group to the tags you put on saying that there's a new Meetup group. So you'll get some members just from there.
But you'd also like to figure out, you know, are there universities nearby that have competing clubs? Is there a mailing list of, you know, just 20 somethings in the area? I mean, I have no idea what would be the right way to start. I I've never started a group. I took over a group that was already in full swing. But you need to get the word out. Right? You need to get you need to let people know. And tweeting things is can be a good way. And if you get onto a a tweet stream that has enough followers, some fraction of those followers will be in your area, and they will hear about it and and come. You wanna have food.
So what I've definitely found is the difference in attendance between an event with food and event without food food is huge. Sometimes after our presentation nights, we head over to a bar. And some nights that is sponsored, meaning the beer is free. And on the nights when it is not sponsored, no 1 goes to the bar. So people will definitely show up if you give them free food or free beer. And if you have to find a sponsor for that, which is an employer in your area, even if you have to collect payment from people at the door, at least if you have food there, then they can fit it into their email.
And other than that, be predictable. Think with an open mind about what might interest the people that you're trying to attract. It doesn't have to look like a tiny piecon. It can be other kinds of activities. And do it on a schedule that you can sustain. So be be predictable and know that it's gonna start small and it's gonna grow. Right? Boston Python has 5, 000 members now, but it didn't always. The first time I went, there was 6 people sitting around a table at a coffee shop. It'll it'll grow from there.
[00:54:10] Unknown:
That's great. So getting more general for a moment, what's the state of Python from your perspective?
[00:54:17] Unknown:
Well, Python so I mentioned before about the data science aspect. Python seems to show no signs of slowing down. There was a while back there where it seemed like it was sort of Python and Ruby in the web space, and now I get the sense kind of that a lot of the Ruby people are now off onto Node.js, while the Python people are still using Python. And meanwhile, the the bioinformatics people are picking up on Python, and the data science people are moving from r to Python. And, you know, it's Python seems to continue to find areas where it can thrive, and it seems to be living up to its reputation as a general purpose tool that people can pick up and do pragmatic things with. And that's why it seems to find new footholds and new domains like it's been doing.
It's, I guess, 24 years old now, Python is, which is pretty old for a programming language. And there are plenty of programming languages that are younger than that that have peaked, and Python doesn't seem to be doing that. The whole Python 2 versus Python 3 conflicts was kind of unfortunate. It's that we could somehow it it would have been good to somehow manage that transition better. I'm not gonna predict when tipping point is for Python 3. I know that it's it's a very usable ecosystem now. The language Python 3 as a language has had always been fine. The problem was the library support, and that seems to be not an issue anymore unless you're still using Twisted or 1 of the other large 1 of the few large libraries that hasn't been ported yet. But these days, if you're starting a new project, there doesn't seem to be reason not to use Python 3. There are good options for whatever you might need there.
The next big drama for the language, I guess, is gonna be this type painting proposal, which is is, has people on both sides of it. 1 some days, I think that Guido started the type painting controversy so that people would stop talking about Python 2 versus Python 3 controversy. But so the type hinting thing, it'll be interesting to see how it turns out. It's it's kind of completely contrary to 1 of the central tenants of the language, or at least it appears to be at first blush. And so that's that's sort of line both sides of the of the date. Great. Yeah.
So community seems the community seems great and growing and growing not only in size, but in complexity and and richness, which I think is a really great sign. You know, the fact that the diversity at pie Python is continuing to grow, I think is a real heralds really well for the future of the language as a whole.
[00:57:14] Unknown:
So, you know, I just wanted to say 1 thing briefly about about the, you know, the way you you see it. Ruby people are moving on to Node. You're you're not wrong, but and I have to say this because I'm I'm relatively new to Python. I I've been a Ruby guy for years years years since, like, you know, the late nineties, early early noughties. And I've only gotten into Python over the last 5 or 6 months, and I have say, I really love the language of the community. I'm really, really loving it, which is part of the reason I I chose to do this podcast with Tobias. But I think and I totally agree with you in a in a larger sense, and I I definitely think that Ruby has found its niche. It's like Ruby for Ruby, there's Rails and there's infrastructure as code, tools like Chef and and, you know, the HashiCorp tools like Vagrant and the like. And that's kind of it. Right? Like, it's still thriving in those 2 niches, you know, but it it it's not growing into new areas like Python is. And I just wanna say 1 thing about people, you know, the Ruby people moving on to other environments like Node and such. I think there's an important distinction there, right, between sort of yes.
The the the luminaries in the Ruby scene are very publicly sort of like they're no longer blogging about Ruby. They're they're blogging about Go or Rust or Node or or, you know, whatever other thing has struck their fancy that they're now learning about. First of all, a lot of these people, their day jobs are still writing Ruby on Rails code. Mhmm. And and secondly, I feel like it's sort of I'm gonna I'm gonna reuse a phrase from Scott Hanselman. You know, he talks about and he I think he may have even taken it from somewhere. The cold dark matter programmers. Right? Like, there's those of us who kinda live in this very forward thinking kind of bubble of, you know, we we read blogs, we listen to or listen to and or make podcasts, we run user groups, we are heart and soul, you know, bleeding edge technologists.
But there is this huge, huge, huge corpus of people who aren't bleeding edge and who are gonna be using the technology that from, you know, from many people's perspectives are is kinda tired for for many years to come. And I think there's a tremendous installed base now of of Ruby on Rails code out there, and that's not going anywhere. So I I totally agree. I think that Python is burgeoning and blossoming into all kinds of new amazing areas. But I I don't wanna make it seem like Ruby is is dying on the vine. It's not. It's just that it seems like, from my perspective, it's found its niche or niches, and it's thriving there.
[00:59:50] Unknown:
Yeah. And, you know, I shouldn't this is a bad habit, you know, that that people get into where they they set up competitions and choose a side and then talk trash about the other side without necessarily actually having any real information. And I you know, 1 of the downsides of being as heavily embedded in the Python community as as I am is I really don't know that much about any other programming communities. So I shouldn't I shouldn't say things like that about Rails. It's it's it's great that Python is thriving in the areas that it's thriving in. I should leave it at that.
[01:00:21] Unknown:
No. I mean, I I don't I know that there was no malice in what you said, and I but I totally agree with you. I think and I and I would actually encourage you. I know you're already putting in 20 hours a week, so it's not like you can say, hey. I'm gonna go spend yet more time learning another thing. But I would definitely encourage you and everyone who listens to this you know, if you are heavily embedded in 1 language camp, go play with another language. Right? Like, I mean, you don't have to necessarily, like, invest your heart and soul into it or or spend huge amounts of time, but just sort of, like, dip a toe in. And, I mean, this is something I've been telling Ruby people lately. Just just take a look at some of the Python stuff out there. You don't even have to like the language. I kinda don't even care that the typical each side has little, like, ranting points that they use when they're ranting about the other, you know? For Ruby people, it's like it's like, syntactic white space, and and and and for Python people, it's, you know, it's often like, the the glyphs and and and monkey patching.
It's just kind of like, okay, I understand, you know, but but put down the torch. Put down the pitchfork, and go take a look at some of the amazing things these folks have built. And I I feel like that should apply equally on both sides, because the Ruby folks have some really great toys. And the Ruby language has some aspects of it that are incredibly elegant and and and worth at least understanding. You may walk away and say, you know, I really don't like this. I'm never gonna choose it as my, like, my go to programming language, whether or whether it's Ruby or Go or or Rust or something else. I feel like we all need to kinda break out of our comfort zones and and do everything that we can to kind of put aside that partisanship. I feel like in the era of the polyglot programmer, it is to our mutual benefit to sort of start regarding these tools as just as exactly that, just tools.
[01:02:15] Unknown:
Mhmm. Yeah. You're absolutely right.
[01:02:18] Unknown:
Alright. So last question. Just wondering if you feel or think that Boston will ever have its own regional Python conference because I've been definitely been seeing a number of local and regional conferences popping up all over the place, and so far, Boston is noticeably lacking in that department.
[01:02:36] Unknown:
That's right. So yeah. So there's PIE Ohio and PIE Tennessee and Pi Texas and and Pi Gotham in in nearby New York City, and Boston's never done that. And we've toyed with the idea. We actually toyed with the idea of making a bid to bring PyCon to Boston, but we never we never pulled the trigger on it. And so that would require someone stepping up to do it. I I'm not that interested personally in making it happen just because it's a lot of work to make the usual user group happen, and the usual user group, I think, is a really good way for the local communities to stay connected.
I'm not sure how much an annual regional conference that would bring people from all over the country potentially, you know, how that feels as a local event. Now part of the problem here is I've never actually been to 1 of the regional pipeline conferences. I've never been to PIE, Tennessee or PIE, Ohio or PIE, Texas. And maybe if I went to 1 of those, I'd have a better picture of what it's like and what it would mean for Boston. But my strategy has been to have Boston Python be kind of like a regional conference spread out across the year rather than a once a year event.
Now if someone if someone listening to this thinks, hey, we should totally do it and wants to get in touch, bring it. Let's let's try it.
[01:04:12] Unknown:
Absolutely. I I just wanted to say, I I think that just to sort of add aid in a bet what you're saying there, running a regional conference is a tremendous amount of work. And beyond work, it requires a significant financial investment. Right? Like, we there was actually a Boston RubyConf. I wanna say 2 years ago. Tobias and I actually went to it, and it was awesome. It was really, really, really, really the quality of the speakers was very high. It was great. It was a great venue. It was just a really good time. And, unfortunately, the the the people putting on the conference kinda took a bath financially because of 1, like, I forget 1 misstep, essentially, around, I think, hotel room booking or something like that.
[01:04:54] Unknown:
You've convinced me not to do it.
[01:04:57] Unknown:
That was not my goal. But but, I mean, my my point is that it's a significant venture even beyond a tremendous amount of work. Right? There's there's there's a financial aspect, and there is there's a lot more to it than than meets the eye. So I think whoever wants to take it on has to has to either, you know, have those kind of deep pockets or have a solution to those problems at hand and be very realistic about it because, you know, the the that same RubyConference this last year didn't come off because of because of problems with finding a venue. And there was another conference, happiness conf, but that they they were trying to put on here in Somerville, actually, where I live, that didn't get off the ground as well. So I feel like the the the the difficulties are tremendous, and the potential for real serious harm to be done to the to the the the people who might try to pull this off is is significant. So it's good to just sort of, you know, be aware of what you're getting yourself into if you say, yeah. Gee. I'd really like to do this.
[01:06:02] Unknown:
Yeah. It's definitely a big undertaking. And we're we're putting a conference together at work, so I I see I see what's going on there, and I understand that it it's a big deal.
[01:06:14] Unknown:
Shall we switch to the picks? I'm not sure what a pick is. Okay. Well, then let us let us assist you in that regard. So a pick is basically anything that you like that you I should say like is not even a strong enough word. Right? Like, there's something, some new piece of technology you found. It doesn't even have to be technology. Like, it could be a restaurant you really like or a beer that you love that you wanna recommend or a board game that you play that you really, really like. Anything that you think is really cool that you think the listeners would find interesting that you wanna recommend to people. Or maybe something that you know of or or want to help promote. Right? Somebody who's doing great work in the community, or even some other community that you wanna give a a shout out to, to sort of point people in their direction.
[01:07:01] Unknown:
Interesting. I should have thought about this ahead of time.
[01:07:06] Unknown:
So I'll start us off. This time around, my first pick is going to be Scribd. It is a monthly subscription service for ebooks and audiobooks that lets you read and listen to as many books as you like. It has Android and iOS apps so you can download the books to your device of choice and listen to it while you're on the go. And I've actually recently been using it to read a number of Terry Pratchett's Discworld books and it has been good fun. My next pick is going to be Konch, k o n c h. It is a Python library that lets you write a little RC file that you put in your virtualenv or Python environment of of choice, and it will setup your REPL for you. So you can use it to import various libraries ahead of time, you can have it do some setup.
So if you have an application that requires a number of steps to get to a point where your REPL is usable to interact with your application, you can put that in your conkrc file and then you just start it up by typing conk at your command line and you're good to go. And my 3rd pick is going to be dupeguru, which is a deduplication application. So for if your hard drive is getting filled with lots and lots of copies of things and you're not quite sure where they all are and you just want to point something at the right direction and let it go, dupeguru dupeguru is great for that. They actually also have specific builds for music and pictures. So it has slightly different algorithms for figuring out whether various things are duplicate depending on if it's a picture or music application, and I've used it to clean up my network drive and it has been quite fun and useful to use.
So, Chris, why don't you go ahead?
[01:08:57] Unknown:
Very cool. So my first pick is a restaurant. Now I realize picking a restaurant is kinda is kinda iffy because we have listeners thank thank you from all over the world. But, you know, a lot of people end up making their way to New York City. I was in New York City this last weekend. My wife and I were visiting some family. And the relative that we were staying with, who's this awesome lady, took us to the River Cafe in Brooklyn. And what's so cool about this place is you are literally sitting in a cafe underneath the Brooklyn Bridge.
So you're overlooking the river that the Brooklyn Bridge goes over, just to show you how clueless I am. I don't know what that river is. That's right. But in any case, the the cafe I'm sorry? It's the East River. Oh, thank you very much, sir. I appreciate that. I I am a New York newbie.
[01:09:46] Unknown:
I grew up in Manhattan.
[01:09:48] Unknown:
Oh, there you go. Thanks. The cafe is filled with flowers inside and out. The food is just amazing, and you get to look out over the river and look up to the bridge. And it's just it's an amazing place, and it was it was 1 of those kinda magical moments that I will I will long remember. So I I love that place. I highly recommend it. My next pick is something called Pythonista. I know a lot of tech people are really down on Apple and iOS devices, but I love my iPad to bits. And this is a Python development environment for the iPad, iPad. Not like running on a computer where you cross compile or something. It is a self hosted development environment. They've optimized the keyboard that the application presents for writing Python.
And moreover, it's not just a Python, like, you know, CLI that spew that lets you print text. It is a full GUI environment. So you can actually write honest to God, touch based iOS applications and even submit them to the App Store. It is super cool, and the guy who wrote it is just totally impresses me. It's it's beautiful, pleasant to use, and I've actually been working through the first chapter of, Reuben Lerner's, Python Makes Practice Practice Makes Python book that was mentioned in the last episode with it. My next pick is a game also for iOS. I'm revealing my Apple fanboy status here.
It's called Rototo. And it's by the the folks from, Thoughtbot, a a Ruby on Rails, or now these days, I can't even say that. But they started out as a Ruby on Rails consultancy shop here in Boston. And, it's just it's really neat. And the idea, basically, is you are in a ship, and you don't have any offensive capabilities whatsoever, but you end up destroying your enemies by using your shields and and having their shots bounce back and and and hit them. It's just it's a really clever, really hard, and a great deal of fun. My last pick is a beer, because I like to pick beers. I don't think I picked 1 last month.
This is 1 of my favorite beers of all time. It it's like 1 of those fallbacks that, like, when some place has it on tap, I'm really excited. It's Stone Brewing's Arrogant Bastard. It's just a really, really good ale. It's got a tremendous amount of depth. It's on the malty side, and I tend to prefer that. I'm not a huge POTS person. It's just it's a great, great ale. I I I highly recommend if anybody has the opportunity to try it, especially on tap, but it even stands up pretty well in a bottle. And that's it for me for picks. Ned, take it away, please.
[01:12:29] Unknown:
Okay. I will start with a a Python library that will maybe a Python tool that people maybe already use, but I just can't recommend highly enough, and that is TOX, t o x, which can automate the creation and test the creation of virtual ends with different versions of Python and then running your tests under those different versions. If you need a way to install multiple versions of Pythons, I recommend a tool called pythons with a z, which is very good at installing whatever version of Python you want. Do you want to have both 2.7.7 and 2.7.9?
You just ask Pythons to install them when it will. For non Python stuff, for my mobile game, I like Spelltower, which is sort of a combination of Boggle and Tetris. It isn't gonna hurt your fingers from having to click too fast. It's not a twitchy game. It's a thinking game. And lastly, I recommend Richard Feynman's Cornell lectures, which you can find on YouTube, and I actually wrote a blog post about it a couple of months back when I was listening to them. It's 7 7 hour long videos of him lecturing at Cornell University in the early sixties. And if you've never listened to Richard Feynman speak, you should do it. He's talking about the fundamentals of physics, but he does it with a thick Bronx accent and the humor to go with it.
[01:13:52] Unknown:
Yeah. I I definitely wanna second the Feynman lectures. When they appeared on YouTube, I was so excited because I I I am not how should I say this, I am a physics, wannabe. I find it really fascinating, but I'm not very good at math. So I end up doing a lot of reading where I I kinda comprehend some of it and kinda don't. And but even so, watching the lectures was, was a real treat just because, you know, I've read a lot about him. I've read his books, the pleasure of finding things out. And so, yeah, surely you're joking. And and it was just so neat to actually see the man and to get a sense for his personality. It really showed through, and you really can get a sense of why he was, you know, is considered 1 of the most charismatic men in in science.
Very cool stuff.
[01:14:40] Unknown:
Yep. I totally agree.
[01:14:43] Unknown:
Alright. Well, we wanna thank you very much for joining us tonight, Ned. And for anybody who wants to follow you and what you're up to, what would be the best way to do that?
[01:14:52] Unknown:
So I'm on Twitter as Nedbat, n e d b a t. It's also my IRC, Nick. And my website is nedbatchelder.com, which, nedbatchelder.com. And Boston Python is atbostonpython.com.
[01:15:14] Unknown:
Alright. Well, again, thank you very much for joining us. I'm sure our listeners will greatly enjoy listening to this episode, and maybe we'll bring you on again in the future to talk about something else.
[01:15:26] Unknown:
Okay. Anytime.
Hello, and welcome to podcast.init. We're recording today on May 4, 2015. Your hosts, as usual, are Tobias Macy and Chris Patti. Tonight, we're interviewing Ned Batchelder, the organizer of, Boston Python meetup. You can follow us on Itunes, Stitcher, or TuneIn Radio, and please give us feedback. You can leave reviews on Itunes. You can find us on Twitter at podcastdunderinit. You can email us at hosts@podcastinit.com, or you can leave a comment on our show notes. And we recently added donation buttons to our site. So if you'd like, you can donate to help us keep the show going.
[00:00:57] Unknown:
So we're gonna get started with our interview now. And, Ned, if you care to introduce yourself to our to our listeners, that'd be great, please.
[00:01:04] Unknown:
Hi. I'm Ned Batchelder. I'm a software engineer. I have been for a long time. I describe myself as crazy old. I have gray hair. And I've been involved in the Python community in a lot of different ways over the years. Right now, I work at edX, which is an organization that nonprofit that puts university courses online. It was founded by Harvard and MIT. It's an all Python shop. We're all open source, so I get to have a nice intersection between my side interests and my day job.
[00:01:39] Unknown:
Great. Can you tell us about how you got introduced to Python?
[00:01:44] Unknown:
Sure. Well, let's see. About 15, 16, 17 years ago, I was working at Lotus on Lotus Notes. And, someone told me about a system that had an interesting authentication control system, similar to what notes did but more complicated, and that system was ZOKE. And I looked at ZOKE and I thought it was interesting, but the thing that really stuck with with me was the language that it was implemented in, which was Python. And I'd started using Python then for little side tools and hobby projects and gradually did more and more work in it until I got a full time job in Python almost 10 years ago now, and I've been full time Python ever since.
[00:02:33] Unknown:
Very cool. How did you get started as the organizer for Boston Python meetup?
[00:02:38] Unknown:
Well, so Boston Python has been around for a really long time. It its history is long and varied, and I don't even know the whole history. I first attended Boston Python when it was 6 people sitting around a table at a coffee shop in Back Bay on Newbury Street, if you know Boston geography. And that must have been 10 years or so ago. It grew over time. It started meeting in Cambridge, which is where most of the tech industry is in Boston even these days. And I was just a regular member. I would attend the meetings, and it was great to see the presentations and meet people and get to know the rest of the community.
Eventually over time it it kind of shifted. It at 1 point, it was called the Cambridge Python meetup except it met in Somerville. Then we renamed that group back to the Boston Python meetup and met in Cambridge. So it's been kind of interesting watching it meander around the Boston geography all these years. As I became more and more involved with it, I I saw what I liked and I didn't like about how it was organized, and I thought I could do an okay job doing it. And at 1 point, the previous organizer stepped down. We were on meetup.com, and they automatically send out an email when an organizer steps down asking if someone wants to step up, and I did. And I've been main organizer ever since.
And that's been about maybe 5 or 6 years. I should know when I took over the organizing, but it's been been a while.
[00:04:12] Unknown:
Great. Well, we're all glad that you did. You've been doing a phenomenal job.
[00:04:16] Unknown:
Well, thank you. I I I have to say early on in this interview that I think 1 of the things that really helped me run Boston Python was the efforts of 1 of my co organizers, Jessica McKellar, who unfortunately does not live in Boston at the moment and so can't help right now. But she created a number of structures that we're still using today that have been really great for growing the community and for, keeping the community going. Excellent. She said she's gonna move back to Boston someday, and I'm eagerly awaiting that.
[00:04:51] Unknown:
So just out of curiosity, what's some of what are some of structures that you're referring to if you're if you're willing to tell us? Sure. No problem. So when I was first
[00:04:59] Unknown:
when I took over Boston Python, it was 1 event a month, and that was a presentation event. So we would find a speaker, and they would stand at the front of the room, and everyone would sit in chairs facing the front and would listen to the speaker. And, of course, there was, you know, chatting beforehand and schmoozing afterwards and maybe some beers, but, fundamentally, the event was a presentation like you might find at a conference. When Jessica joined the group, it was actually Jessica and Ashish La Roya who joined the group together, they approached me and said, what we'd like to do is we'd like to do a weekend workshop, to teach beginning learners Python. And at the time it seemed to me like kind of an outrageous idea. Outrageous in the sense that it would take a lot to organize, It would take a lot to run.
And they seemed like 2 young people that had kind of a cool idea, but they'd probably run out of steam. At the time, of course, I didn't know Ashish LaRoya or Jessica McKellar, and they are 2 young people who don't ever run out of steam. And they made that workshop happen. So that became the Boston Python workshop for women and their friends, which was specifically designed to increase the number of women who are using Python and who knew Python. And that was a hugely popular workshop, and it ran I think we eventually ran 10 of them. And I shouldn't say we because I personally didn't have much to do with them. It was really all Jessica.
But as a group, we ran maybe 10 of them, at least 8 of them. And those workshops did a really good job growing the population of the group for 2 reasons. 1, there were a lot of people who generally just wanted to take that workshop. But 2, it was such an unusual event to be running and be running it so many times that the publicity from those events just attracted people to the group An interesting thing about people coming into the group for those workshops is 1 of the things I was skeptical about when they wanted to run those workshops is that I told them, well, we don't have many women in the group. Right? That's the whole point. It's the group at the time was something like 1% female. So how are you gonna get women to come to the workshop? How would you find those women? How would you publicize the event and and get women to attend?
Well, it turns out that if you send an email to all of the men in your mostly men male group, those men have significant others, they have coworkers, they have mothers, they have daughters. Like, most of those men, there's someone adjacent to them who would be really interested in that workshop. And so that really helps spread the word even without us having to do much explicit marketing or publicity outside of our normal circles. So those workshops brought a lot of people into the group. We haven't run those workshops since Jessica left and it really was a testament to her energy and to the amount of effort it takes to run a workshop like that. But 1 of the things she put in place when she ran the workshop is she knew that once once the students were done with a day and a half of learning over a weekend, they would need something, a next step.
And what she created for their next step was what we now call our project nights. So now Boston Python consists of 2 regular events. They're and we tend to hold 1 of them sorry. 1 of each each month. So we have 2 events a month, a presentation night and a project night. And a project night is even less structured than it sounds. So there is no project set up for people to work on. A project night is simply you get a bunch of round tables, and you invite a lot of people and they clump together at the tables based on their interests and you get a room, that room reserved for about 3 hours, and people do whatever they're gonna do.
So you get people packing together. You get people teaching each other. You get people just chatting. You know, whatever it is that people want to do in a room full of other Python minded people is what happens. And specifically for the beginning learners who came out of the workshop, we created we'd labeled at least 2 of the tables as beginning learners, and we staff those tables with people who are interested in helping beginning. And so that was the next step from the workshop and that project night has been a really great way for Boston Python to continue to thrive for a couple of reasons. 1, it's really easy to run because I don't have to find a speaker.
And 2, it lets people of very different levels find something that appeals to them. 1 of the problems with the presentation night is if it's a beginning talk, then the advanced people don't wanna come. And if it's an advanced talk, then the beginning people don't wanna come. At a project night, you could have 5 different tables set up, and there are beginners at 1 and advanced people at the other, and they're each getting exactly what they need. So it works out really well as a way to bring people together and to give people something to do with the event. So that's what when when I said that Jessica put structures in place, that's the main 1 that I'm thinking of is that that other half of our events these days are the project nights that she created, specifically as a place for beginning learners to go as a next step in their learning.
[00:10:14] Unknown:
That's very cool. And I and I definitely think that there's a, you know, a lot of hard, rot experience that's shown a lot of different people that putting beginners and more advanced practitioners in the same room and kind of, like, saying, you know, okay. You're all in the same pool. You're all working towards the same goal. It benefits everyone. I think that the the the more advanced people, whether they end up realizing it or not, learn by teaching other people, and the and the beginners learn, obviously, by by virtue of of being taught, but everybody ends up benefiting. I think that's great. I'm glad to hear that, glad to hear that that's been such a, a motive force in helping to keep Boston Python going. Yeah. And it's really true that that
[00:10:58] Unknown:
1 of the things I think is really interesting about the dynamic of the project night is that a lot of people come to the project night with an idea of what it's going to be like for them, and then they have a completely different kind of night that they also have value. So people will show up with their laptop and they'll sit down next to someone and they've got a project they're gonna work on, but they spend the whole evening just talking. Or someone comes in because they wanna learn something themselves, but instead they sit beginners table and they spend the night teaching. And that to me is really interesting to see that people can be can can have their horizons broaden that might be too too grandiose a term, but people can experience the community in different ways than they thought they really wanted to and find different aspects valuable at the end of the night and and really enjoy what they've done.
A lot of people come to project night thinking about projects but end up talking and and if you had said why don't you come and just chat with people for 3 hours they never would have shown up. But once they've spent the evening talking to people and deepening those connections, they they've really enjoyed it.
[00:12:04] Unknown:
Yeah. Speaking as somebody who's attended the project nights a number of times, every night I go there and think, oh, I'm gonna end up working on this project or other, and I never do. Mhmm. Instead, I just end up meeting somebody or maybe helping somebody else with a problem or just playing with some cool toy that somebody happened to bring to the meetup. Right. Yeah. And
[00:12:25] Unknown:
I'm always I never work on a project at project night because I'm kind of the host and I'm milling around talking to everyone. So I really enjoy being able to meet people and connect people and, you know, tell someone on 1 side of the room if there's a person on the other side that's doing exactly what they need to find out and etcetera etcetera.
[00:12:46] Unknown:
So how much of your time ends up being dedicated to the Python community and the meetup itself?
[00:12:51] Unknown:
Well, so that's a good question. And I hesitate to actually count it because I might decide it's too much. So there's a couple of different ways that I'm involved in the Python world. So as I mentioned, my day job is actually a Python job. I I organized the Boston Python group. I I'm the maintainer of coverage dot py, which is my my technical side project, so there's time that goes into that which is really pro bono work for the community. And then there's various other, you know, monitoring various communication channels. I I like to dip into Stack Overflow a little bit, and the Python IRC channel on free node is is very appealing to me right now.
I used to be I used to closely follow the Python mailing list, although I've moved pulled away from that. It's I just I find it very interesting to see how people are interacting around this technical topic that I'm very interested in. And it seems like kind of an odd reason to be interested in people because they are also interested in a programming language. But, you know, there there there's no bad reason to be interested in a bunch of people, I guess. And so it might as well be, you know, start with your interest in a computer and and let that grow into an interest in people. So if I had to gauge how much time I spend outside of work on the Python community, it would probably be on the order of 20 hours a week, which is a lot.
[00:14:26] Unknown:
Yeah. But I understand. That is that is definitely a lot. But if you think about the average person and, like, how many hours per week they spend, I don't know, watching TV or or you know, even if you think about, like, the average person, how much time they spend commuting or something like that. Yes. I'm guessing that you're you're actually getting it's not like so on the 1 hand, you're putting this time in and it's selfless. Right? Like, you're not getting paid for this per se. Right. But, I mean, I can even tell you just from doing this little this podcast that we've done, I feel like it has already paid debit dividends that are way harder to quantify than than it might appear at first. So I can only imagine there's something like that for you.
[00:15:09] Unknown:
Yeah. Absolutely. So you mentioned TV. So often when I'm watching TV, I'm also in the Python IRC channel, which is why although I've watched all of Game of Thrones so far, I'm really bad at understanding the intricacies of the plot, which is so I I if I watch with my family, they can they can help pull me along. No. Absolutely. There's so I'm interested in these discussions, you know, hearing people talk about Python, whether it's the community or the language or the implementation of the language or the libraries around the language or how do you solve a problem or how would you compare it to a different language. There's, you know, there's all sorts of aspects that I personally find technically interesting.
Being involved in the community gives me a a depth of understanding that comes in a couple of different forms. So even though, for instance, I have been using Python for a long time, and I know all about how it works. But even so, if I sit down with a beginner, whether it's in the IRC channel or in person at Boston Python project night or at PyCon after 1 of my talks, and I hear a question that they ask. That question often will be new to me because they are coming at it from a completely new perspective. And, you know, to be blunt often it's the wrong perspective, right? They've got they've had some misunderstanding but seeing how they have misunderstood something, that to me seems so clear, is a really good way for me to understand how they're thinking, to see what problems there still are in what we all take for granted as experts, and maybe gives me an idea about how to explain things differently the next time that will help other people understand things better.
You know, programming languages are really really esoteric. Right? Python prides itself on being easy to read and approachable and all that, but easy to read for a programming language is really really hard to read. Right? We we we say print all the time without ever stopping to think about the fact that there is no paper and no ink involved. So what do you mean by print? Yep. And and we just take it for granted and we've just sort of internalized 50 years of computer history that if we think about it, we can get back to why would we call that print, but to a beginner, that is complete nonsense. And Right. So hearing begin you know, hearing beginners talk about things is a really interesting way to learn more about the language just like hearing experts talk about things is a really interesting way to learn more about the language So I get that kind of technical depth from being in the community and seeing what people are talking about.
There's also the new expert depth. So Python is continuing to grow and expand and in all sorts of ways that I don't understand. Right? So there's tulip, which come the new async thing. Guido is talking about gradual type hinting, which I still don't quite understand how that would work in a real world scenario. There are alternate implementations of Python. There's the expansion of Python into data sciences, which I don't do either for a living or for a hobby, so it's all kind of foreign and exotic to me and looks like a fascinating solution to a problem I wish I had so I could use the solution. You know, there's all sorts of new ways to explore even within this, you know, 1 thing we call Python.
And then being involved in the community also gets you involved with the people in the community. I know lots of people around the world purely because of my involvement in the Python community either in mailing lists or in person at Python or from having contributed to projects or from running Boston Python. Python. And those people give my experience of the Python world a whole another layer of of depth. Because so for instance, I have this habit when I hear about a new library and I go to PyPI to look at the page about it, I immediately scroll down and see who wrote it. And oftentimes, it's someone that I don't know, but sometimes it is someone that I know either by reputation or in person. And that just gives me another aspect, another way to understand that library. Right? That person's reputation is attached to it. And by being involved in the community a bunch of ways, I have contact with many more people, and that gives me a deeper sense of what's going on in the community.
[00:19:47] Unknown:
Absolutely. So so dovetailing with the with the community aspect to the previous question, what are your goals for the Boston Python community?
[00:19:57] Unknown:
My goals? Well, I would like it to con continue to grow, both in the number of members that show up at events and also in the kinds of events. So you know, I'm really glad that we are running the presentation nights and the project nights that we are. But to be frank, we've been doing that 2 event structure for a while now and maybe there's better things we could be doing, other things we could be doing. Maybe we don't have to get rid of those 2 things, but isn't it time that we added something else? So for instance, 1 of the mailing lists I'm on is the group organizers mailing list, which has people from around the country talking about what they do in their user groups.
Chicago is very active right now, and they have a very interesting 1 on 1 mentoring program. It runs I I think the detail is that they run it for a 3 month stretch where they get potential mentors and mentees. I guess if that's the word, it sounds like a big seal, but I guess that's what mentees. So they get potential mentors and mentees, and they get paired up for a 3 month stint of working together in some way. And I think Chicago has only just started this. I think they've done 1 round of 3 months, and maybe you're preparing to do their 2nd round. But that's a really interesting structure. And it would be great if Boston could try something like that. 1 of the things I've wanted to do for a while is to create smaller events, like a 5 person event that's organized not by me, but by a member that wants to get what I've been calling a study group together. And this idea started because I would get an email from someone who lives in the Boston area, but far from Boston, let's say Lowell, which is about 45 minutes or an hour north of Boston, depending on the traffic. And they say to me, I really wanna come to Boston Python events, but I I work in New Hampshire and I live in Lowell, and it's just too much to come into Cambridge and go back. Is there anything happening in Lowell?
And Boston Python isn't going to run a full fledged event in Lowell because I don't think there are that many people in Lowell who would come to it. But there are probably 5 people in Lowell or near enough that if that person said, hey, I can't make it into the events, but I'm gonna be at the Starbucks on Tuesday evening at 8, and I'd love to have 5 people show up just to chat about what you're working on. You know, you could probably get 5 people to do that. So I I I've been trying for a while to build a website.
And when I say I've been trying to build a website, what I mean is I've been trying to cajole people into building a website for me that would let that let people organize those study. And I think that would be really interesting to see what we can get done, what could happen with, you know, 2 to 5 people meeting in an ad hoc way for whatever reason they want.
[00:22:49] Unknown:
Actually, Ned, I I I feel like I should I should chime in here because, I don't know if you follow, Saron, Barak. I'm totally Ibt Barak. I'm completely mangling her name, which is a real shame. It just proves how how, insular I am. But, as as an average American Mhmm. But she's doing this amazing thing called CodeNewbies. I don't know if you've heard of it or seen it. I haven't. Okay. I will it's I put I actually picked it last last episode, and I'll I will I will toss you a link. And what's kind of amazing, she she runs a podcast. She does a weekly Twitter chat. They have a discourse forum. And it is this whole kind of, to say it is a community, I guess it is 1 community, but it's 1 community with a multiplicity of different, mediums, I guess, for all oriented towards helping people who are learning how to program, who are trying to be even go beyond that and get a career going in the tech industry, doing everything that it takes to help them achieve that goal. And 1 of the interesting things is she runs in addition to having the podcast and the Twitter chat, she runs a discourse forum.
Mhmm. And in that forum, there's a whole section for study groups. You know, you get a bunch of people who are gonna get together and say, let's go read and work through, you know, structured interpretation of computer programs, or let's go work through beginning Python, or or, like, learn Python or whatever it is. Yep. And and they've had great success with that, and it sounds like it sounds like this is the kind of thing that you're hoping to do with an on an in person kind of local level Right. Which should be great. Yeah. Exactly. Although,
[00:24:32] Unknown:
it doesn't have to be beginners. Right? 1 idea is, oh, I'm a computational biologist, and I work at the Broad Institute in Cambridge, and there's probably a bunch of people right here who wanna talk about pythons. Let's just let's get together and talk about python and genomes and or whatever. There's all sorts of reasons why people might be so finely sliced that 5 people is the right number to get together for geography or time or interest or level skill level or whatever.
[00:24:59] Unknown:
Absolutely. It's it's funny that you would drop that particular institution as an example. I worked for the Broad for 5 years, and and there were a bunch of a bunch of people there who were really excited about Python. I'm guessing it's no it's no accident that you you mentioned this.
[00:25:14] Unknown:
Well, I mentioned it because first of all, I'm really proud that I know how to pronounce the Broad Institute. For for listeners, it's spelled b r o a d. So if you're not in the know you'll say the Broad Institute. But but also because that's a really specialized domain and I know that when we do have a presentation night about science, we get a completely different slice of the group that shows up for that and they're really into it, But for the most part, our presentation nights are not scientific enough for them. And so maybe they wanna have something off to the side. You know, 1 of the things about the Boston about the Python community in Boston is that not only do we have Boston Python as a user group, which is really large over 5, 000 members, but we also have Django Boston, which is a separate group on meetup and PyLadies Boston, which is a third group on meetup. And so we've got 3 user groups that are running all about Python topics in Boston. So there's a it's a really vibrant community.
[00:26:15] Unknown:
That's that's awesome. I mean, I I also think that speaks to the fact that we were just talking about this last episode. I feel like Python has really sort of me. As you say, it's very old. It's been around forever, but I feel like recently it's experienced this kind of blossoming in terms of it's expanded into so many other different kinds of communities. You know, we were it always had a foothold, but I feel like in such a big way that kind of it never had before. And it it sounds like this is just an example of that.
[00:26:44] Unknown:
Yeah. And the data sciences is really the latest blossoming for Python. Right? So Python sort of started in science, and then the web came along and it and it became big in web. But now with data science and IPython Notebooks and Pandas and Anaconda and the other scientific distributions, it's really catching on among data scientists as an as the as a more disciplined approach programming language than R for doing the kind of work that they wanna do. Thing that's a little more capable in a broad sense, and they find Python and they seem to gravitate towards that.
[00:27:24] Unknown:
So speaking of keeping things healthy, what do you find to be the most important things for building and maintaining a healthy community?
[00:27:33] Unknown:
Well, so it's interesting because it it it varies depending on which aspect of community you're talking about. For something like a user group, I I think the success the the key to a success for a user group, and this sounds really, really simple, is to be predictable. If you can pick a schedule of events and and pretty much stick to it so that people know what to expect, Then people will start coming regularly, and they will be able to explain to their friends that they can come here and find things. Like I said, we're on a 2 event a month schedule. If an organizer in another location doesn't feel like they can maintain that schedule, either because they can't find the space or they can't find the sponsors for the pizza or they don't have enough speakers, just say you're gonna do 1 event every 2 months or 1 event even every 3 months, which is a long time between events, but I think it's better than saying I'm gonna do event every month and after 3 months it kind of peters out because you ran out of the money or the space or the speakers or whatever. It's it's better to pick a a cadence that is gonna work and work with that cadence. And then once you've grown enough that you can increase that cadence, you can increase it.
I really found that having that kind of predictability at hand. Like like I said, with the project nights, it doesn't have to be an ordeal to find a speaker. You can run an event without a speaker and just have people work together. It might be a little bit difficult when you've only got 5 people, you know, until you've gotten 50 people. But those 5 people are interested enough to come out together. They will probably find something to talk about and be glad for that 6th person to show up the next time, and you will grow from there. And on the subject of speakers, I I a big point of mine is that when there are people sitting and listening to a talk, they're probably thinking of themselves as different than the speaker, that the speaker has some form of expertise or authority that gives them the the right or the permission to be up in front of everyone talking for 20 or 30 minutes. And then the people in the audience feel like they don't have that permission or authority or expertise.
And I'm a huge believer in the idea that everyone has at least 1 talk in them. And it may not be the kind of talk you're expecting. Some people will say to me, I wanna talk about this library, but I didn't write the library. Is it okay if I talk about it? And the answer is, of course. If you've got something to say, if you wanna show something to someone, you can stand up and talk about that for even if it's for 10 minutes. So finding speakers can sometimes seem daunting. But if you're coming at it thinking looking at Python and looking at the speakers that are there and thinking that you have to somehow get a speaker like that for your user group, it's gonna be very difficult.
Instead, what you wanna do is you want to reach out to the people who are already members of your group and find out what is it that they want to say. And it might be something very simple. What was that bug that you fixed at work the other day? Or you know how it worked? You're the person that everyone comes to for blank? Well, whatever blank is, you can talk about blank. And people will listen to you, and they would be glad for you to have told them what you know. So I call it my parlor trick that I will someone anyone who thinks they don't have a talk in them, come and talk to me, and I will figure out what your talk is about because it'll only take about 5 minutes of chatting with you to figure out what you can explain. I had 1 woman once tell me that she had nothing to talk about because she was just beginning to learn Python.
And I said, you can talk about what it's like to learn Python. Right? When you how did you make that leap from print hello world to for I in range of 10 print hello world? There's a leap there, and and you made it, and other people will be interested to hear it. And you can do a talk about that. So that's that's healthy user groups. Other kinds of communities, online communities are more difficult because online communities don't involve face to face communication, and therefore, it's much easier to get into bad behavior.
I think I can think of 1 instance in a face to face user event user group event at Boston Python where someone did something that seemed like a code of conduct violation. And I hope that that's true, and it's not just me being oblivious to something bad that's happened at Boston Python. Although, that's, of course, entirely possible. But once you get into IRC channels and mailing lists, things run off the rails really, really easily. And there, you have to be much more willing to tell people off and enforce the rules. And the rules will also if you have them the tool available to you, the rules will involve banning people because allowing 1 bad apple into the barrel is much worse than excluding a bad apple so that the rest of the community can help.
So that's the the 2 sides of community of make keeping a healthy community. I've personally found face to face communities, especially local communities, work pretty well without a heavy hand. The online communities, you you have to be willing to be the bad guy and and kick people out in order for them to stay healthy.
[00:33:03] Unknown:
Right. You know, it's it's interesting talking about going back just a a couple of points there to everyone having 1 talk 1 talk in them. And if you learn something, tell other people how you learned it because they might find it interesting. I was just thinking 1 of the things that I listened to 1 of the other podcasts from the the thought bot folks on the Ruby side, and 1 of the things that Ben I can't think of his last name now. But in any case, the the the podcast, host or 1 of the hosts has said repeatedly is, blog what you learn to to new people coming into the field. And that strikes me to be very similar. Right? Like, if you giving a talk or writing a blog post, it's kind of the same sort of thing in the sense that by explaining to people what you learned and how you learned it, you've solidified the knowledge for yourself. And you it's also a way to show, you know, prospective employers what you know, that you that you can actually walk the walk and not just talk the talk. And I think that all of that kinda sums up to the same sort of thing and has a great deal of value.
[00:34:06] Unknown:
Great. And I found in my own writing and speaking, that I learn a lot by doing the writing and doing the speaking. So I've done a lot of Python talks over the years, and the 1 that's probably the most popular still is the 1 I did, I think, 3 years ago about Unicode. And the the things I said in that talk, half of them I didn't know until after I decided I was gonna do a talk about Unicode. So once you once you commit to an idea that you're gonna explain something to someone, that really means that you're gonna have to know it well. Right? You're gonna have to explore all of your knowledge about that topic, and you're gonna find parts where your knowledge falls short, and you're gonna extend that knowledge so you can give it to someone else. When I write a blog post, often, I only half know what I'm talking about. And 1 of the things I really look forward to is people putting comments on my blog or or or replying to my tweets saying, actually, if you've done it like this, it would have been better. And that's how I can learn. Right? I can someone once said the best way to get information off of the Internet is not to ask a question, but to to state the wrong thing. Because lots of people won't answer your question, but everyone will correct you if you're wrong. So my blog posts often are me sort of getting halfway to a solution and then everyone chiming in and helping me figure out what the the full solution would have been. And that's 1 of the great things about about writing a blog or having a a Twitter stream, which is that people will people will talk back to you, and you'll have a conversation, and you will learn.
So I definitely encourage people who think they don't have something to talk about at a user group to pick something that interests them no matter how boring you think it is, and you will give a good talk about it.
[00:35:58] Unknown:
How do you peep keep people engaged outside of the the monthly meetings?
[00:36:03] Unknown:
I'm not sure I've done enough to keep people engaged outside of the monthly meetings. We have a a Twitter account. We have an IRC channel, and we have both the meetup.com mailing list and a separate mailing list that we set up at python.org. And we set up the python.org 1 because we had to turn on strict moderation for the meetup.com mailing lists because of recruiters sending out, you know, the usual recruiter stuff. And once you turn on that moderation, it becomes very difficult to have an organic conversation where people where members are talking amongst themselves about actual topics because every email has to be approved just for going out, which means that someone asks a question.
And if I'm not looking at the moderation queue, there'll be 5 answers all stuck in the queue, and then they'll all go out at once and conversation is very stilted. So I created a separate mailing list at python.org. It's boston@python.org. And we've got about 220 people subscribed to that mailing list, which is not bad for a mailing list, although out of 5, 000 members of the user group, it's a tiny fraction of the entire membership. So I continue to send out email messages reminding people about that mailing list. And it gets very little traffic, maybe 1 message a week.
So I'm not sure there is much that people are doing as a group outside of those events. We have 2 events a month, so people can, you know, show up pretty regularly. And we do have some people who are quite regular in attending the events. I would like to do more. But, I mean, that's like I said about growing the group. I would like to see other kinds of events. For instance, 1 thing we've never tried is just purely social events. You No. Hey. You're a member of Boston, Python? I am too. Let's go see a movie. It doesn't have to be about Python. Who knows? I mean, that's not that's not the kind of event that comes naturally to me. But maybe someone else wants to say, you know, I'll run that for Boston Python. And I would be glad to have someone step up and and propose a completely different kind of event that we could run alongside the 2 we already have.
Absolutely. A Boston Python board gaming night or something like that. I'm sure that'd be huge. I'm surprised we haven't had a board game table of the project nights. 1 of the tables we often have is a puzzle table. 1 of our members, John Bohannon, is a huge puzzle fanatic, and he likes both collecting physical puzzles and writing new puzzles. So he's written a number of puzzles for the project night, and we've collected them at puzzles.bostonpython.com. And when he comes, we we'll turn his table into a puzzle table, and people just sit around and solve puzzles.
[00:38:44] Unknown:
Yeah. Speaking of somebody who has tried some of his puzzles, they're all very fun, and some of them are quite brain twisting.
[00:38:51] Unknown:
Yes. Yes. Well, John's very good at at writing a puzzle that starts out really simple, and then has sort of 4 or 5 levels of difficulty where the 5th level is, this is actually impossible. And if you could do it, we'll give you a PhD right here on the spot.
[00:39:10] Unknown:
So what do you like the most and the least about the Python community, both locally and at large?
[00:39:17] Unknown:
Well, so at large, the Python community, as a whole worldwide is is known for being very progressive. And I don't mean that politically, although it probably holds. But what I mean is that I I think they tend to be at the forefront of the social issues that surrounds technical communities. So it's probably no surprise to any of the listeners of the podcast that technical communities tend to be not nearly as diverse as the general population. The people who in who are in the minorities in the technical community, whether by gender or by race, find them very difficult to break into, find them difficult to stay in, and they find them difficult 2 years at Tycon, we have had 30% female speakers at a technical conference, which is astounding. It may be even more amazing if you could get to 50% to match the general population. But a technical conference with 30 percent female speakers is really unusual.
So I'm really proud of the Python community for being that intent on addressing those issues, you know, talking about them and doing things to fix them. So that's the thing I'm most proud of. I I I personally am very engaged in trying to make Python as a community, as welcoming as possible. 1 of the things that interested me about the IRC channel originally was the bad reputation it had and to study that from the inside and to see what could be done to improve it. And I think it is improving. IRC is a harsh medium to begin with, but people can still be nice on it. So and I would like to think that we're improving that way.
So those are the things I like about the worldwide community. There's a downside to being at that much of the forefront of the social issues, which is that we can get caught up in debates and struggles over those very issues. Even today, there is literally today, there is a a turmoil on the Python Software Foundation mailing list about the current election for the board of directors and some missteps that were taken and what what to do to how to fix it and whether we're doing the right things to fix it or we're making it worse to fix it. And I haven't gotten involved in that whole debate, but I see it happening. And I see people getting very angry at each other because they feel very strongly about all of the issues. So other communities maybe would have dealt with this by just having some leader say, everyone shut up. We're gonna do it this way, and I don't care what you think, And that would be good. The Python community deals with it by everyone having a very strong opinion and wrangling very hard over the philosophical issues and and how best to be fair and inclusive and do the right thing. And that, unfortunately, can also lead to bad behavior and strong opinions and and hurt feelings. And, you know, that's that's a downside. I don't I don't know know that there's a way to have a community that could push forward through these issues without that downside, but it is a downside.
[00:42:43] Unknown:
As long as in the end analysis, when the when the the debates are over, everyone sort of says, well, we were, you know, we were all shooting for the we were all trying to do the right thing and puts their differences aside and and and moves on and doesn't doesn't harbor
[00:42:57] Unknown:
resentments over it. That's that's the important thing, I would think. That is the important thing, and we'll have to see how it comes out. There's there are some pretty hurt feelings right now. And from the past, I I can tell you, it does not always work out that everyone comes back into the community having felt like, well, at least we were all work trying to do the right thing. Sometimes people leave, and that might happen this time.
[00:43:23] Unknown:
And sometimes, you know and and occasionally, as as bad as it is, when a when a a community loses a person who has been a real driving force and who has done a lot for community, sometimes that's okay too. I mean, obviously, it's sad when it happens and and when there is hurt feelings and strife. But sometimes, you know, I I cannot help but think of and I know some people really hate Steve Jobs. I'm gonna mention Steve Jobs here anyway. In his presentation, his speech before I wanna say it was Stanford graduating class where he talks about, in this case, something way more weighty than leaving a a software group. He talks about death being 1 of the great change agents. And I think sometimes, you know, in these organizations, sometimes in order for them to evolve, sometimes people need to leave. Right? Like, sometimes people need to move on and make space for a new a new viewpoint, a new opinion, someone who doesn't have that baggage and can just sort of say, well, okay. What do we need to do? Let's move forward.
[00:44:23] Unknown:
Yeah. I don't I don't know how this particular turmoil is going to work out, sort of what the what the long term effects are going to be. It's it's painful to watch, But, yeah, this it has to happen sometimes. There's there's no way around it. I mean, if you if you're going to have a large group of people all of whom feel passionate about something and who are willing to put in energy to something, there is bound to be conflict and there is bound to be people who suffer because of that. Like I said, locally, we haven't we haven't had that kind of conflict.
I'm hoping we don't, but that might happen to us too as a local group. And if it does, we'll we'll just have to try to be open and honest with each other and listen to each other and, you know, try to do the best we can.
[00:45:17] Unknown:
Anything's possible, but I think size can help. Right? Like, I mean, there's there's a a difference in scope between the Python Python Software Foundation, which is this organization which touches so many, many, many thousands of people and Boston Python. We're not to say that it couldn't happen, but just I think in this case, our that the size actually is to our benefit.
[00:45:40] Unknown:
Yes. Right. I mean, we we are a large user group. We're all over 5, 000 people, but it it's still it's still much smaller than the Python, community worldwide.
[00:45:53] Unknown:
Right. So on on slightly happier topics, perhaps not not entirely, but how do you strike a balance between sponsors and the rest of the community? Do you have policies around sponsored presentations or talks?
[00:46:06] Unknown:
Oh, absolutely. So so we tend not to do sponsored talks. And if so let's back up. So first, it it was very interesting to see what happened in Boston Python. So 1 of the things that has been a great benefit to Boston Python is the Microsoft New England Research and Development Center, which has the acronym NERD, because they're really clever. They provide free space to us and that's been a great way great help for us growing because it meant that we never had to worry about where we're going to find space this month and that space can hold up to 300 people, so we can hold really large events.
When Microsoft first had that space available, remarkably, they also always bought us the pizza. So we had free food and free space every month, and that was amazing. At some point, Microsoft decided they couldn't afford the pizza somehow. And I was really scared at that point because I didn't know how we were gonna pay for the pizza. Right? We didn't have any infrastructure in place. And at first, we were just collecting money at the door. We just passed around an envelope and hoped that people donated enough money. Eventually, though, we grew a separate mailing list of people who were trying to hire Python developers.
And people who are trying to hire Python developers have a hard time of it because hiring developers is always hard these days, and they're willing to spend money to get in front of developers. So we now have people paying for pizza in order for the right to stand up and talk about their job. And and 1 of the things I like about that transition from Microsoft buying pizza to sponsors buying pizza is when Microsoft bought the pizza, we were a community of users. Now we're a community of users and a community of companies. And we really do have a number of companies in the Boston area who really feel like members of the group. Either they've done something unusual for the group or they consistently show up or their employees consistently show up or for whatever reason, they just it feels like a company as a member of the community. I'm really grateful for that because we're all hoping to get jobs and we need to work. And so companies are an essential part of the Python ecosystem in Boston or any town.
But that said, we do only provide a minute speaking slot for companies that are sponsoring. If someone comes to us and says, I would really like to do a talk, I look very carefully at what the talk is. And it you know, it's really easy for a company to say, I wanna do a talk about what we've built and for it to be not here's how we built a thing, but here's the thing we built. And if they wanna talk about here's the thing we built, then that sounds like a sales pitch. And I don't wanna I don't want sales pitches for talks. Right? The members don't wanna feel like they're being sold. I want the talks to be peer to peer. So I want an engineer at the front of the room talking about the challenges they faced while building a product. That's fine.
But if someone if a non engineer gets up at the front of the room and starts explaining all the features of the product, that's right out. And I try to weed those out ahead of time. And I've I've only had 1 lightning talk, a 5 or 10 minute talk where I said to the person upfront, it's gotta be a technical talk. And the person got up to do their talk, and it the technical part was the bullet where they said we used a lot of Python libraries. And all the questions that was yeah. It wasn't great. But at least it was only a lightning talk. Right. So 1 slipped by me. But, yeah, we definitely are not. We try to keep a very strict line between sponsors who have things to sell us, which is fine if someone wants to say, hey. I will sponsor the pizza for a night because I wanna stand up and say, hey, everyone. Buy my product. That's fine. That hardly ever happens.
If it does, it tends to be a developer product anyway. You know, use our API to build something cool. Hey. You know, they paid the money. They can say whatever they want for that that minute or 2. But no. You're not gonna get a 20 minute chance to pitch to members. I don't care how much money you've spent. That's not that's not what the group is for.
[00:50:15] Unknown:
Alright. I think that's that's fantastic, and it's really important. There was a meetup that both Tobias and I went to recently, and and I love the meetup. I plan to continue going no matter what. But they they had a couple of talks in there that really boiled down to sales pitches. And and I I I can only say that when companies come to technical meetups and give what amounts to really a sales pitch with very little technical content, I think they're they're unselling units, if you know what I mean. Like, I I know in my case, I say to myself, you know, I really doubt that I would buy this thing because I really I just walk away with a very negative impression of that vendor.
[00:50:55] Unknown:
And I think I think that's great that you have that policy. I think that's that's really smart. Thank you. Yeah. They've it they've got kind of a 10 year if they're if they're coming there and pitching like that. You're exactly right. People are the main message they're going to give to those people in that audience is, hi. I don't know what I'm doing.
[00:51:13] Unknown:
Yep. And I don't care about my audience. And I don't care about you. Right?
[00:51:18] Unknown:
Exactly.
[00:51:18] Unknown:
Great. So if I or any of our listeners decided that we wanted to start our own local community, how would you go about getting started with that?
[00:51:29] Unknown:
So there's there's a mailing list at python.orggrouporganizers, which has lots of people on it from around the country and around the world who run local user groups. They are a good source of advice and encouragement. The way to get started is, first, figure out how you can get the word out in your community. Right? There's gonna be some way that you can let people know that something's happening. And meetup.com, which has some downsides, is really good at that. If you start a group on Meetup, they will send an email to other people in your geography who have or members of groups that have similar tags to the group to the tags you put on saying that there's a new Meetup group. So you'll get some members just from there.
But you'd also like to figure out, you know, are there universities nearby that have competing clubs? Is there a mailing list of, you know, just 20 somethings in the area? I mean, I have no idea what would be the right way to start. I I've never started a group. I took over a group that was already in full swing. But you need to get the word out. Right? You need to get you need to let people know. And tweeting things is can be a good way. And if you get onto a a tweet stream that has enough followers, some fraction of those followers will be in your area, and they will hear about it and and come. You wanna have food.
So what I've definitely found is the difference in attendance between an event with food and event without food food is huge. Sometimes after our presentation nights, we head over to a bar. And some nights that is sponsored, meaning the beer is free. And on the nights when it is not sponsored, no 1 goes to the bar. So people will definitely show up if you give them free food or free beer. And if you have to find a sponsor for that, which is an employer in your area, even if you have to collect payment from people at the door, at least if you have food there, then they can fit it into their email.
And other than that, be predictable. Think with an open mind about what might interest the people that you're trying to attract. It doesn't have to look like a tiny piecon. It can be other kinds of activities. And do it on a schedule that you can sustain. So be be predictable and know that it's gonna start small and it's gonna grow. Right? Boston Python has 5, 000 members now, but it didn't always. The first time I went, there was 6 people sitting around a table at a coffee shop. It'll it'll grow from there.
[00:54:10] Unknown:
That's great. So getting more general for a moment, what's the state of Python from your perspective?
[00:54:17] Unknown:
Well, Python so I mentioned before about the data science aspect. Python seems to show no signs of slowing down. There was a while back there where it seemed like it was sort of Python and Ruby in the web space, and now I get the sense kind of that a lot of the Ruby people are now off onto Node.js, while the Python people are still using Python. And meanwhile, the the bioinformatics people are picking up on Python, and the data science people are moving from r to Python. And, you know, it's Python seems to continue to find areas where it can thrive, and it seems to be living up to its reputation as a general purpose tool that people can pick up and do pragmatic things with. And that's why it seems to find new footholds and new domains like it's been doing.
It's, I guess, 24 years old now, Python is, which is pretty old for a programming language. And there are plenty of programming languages that are younger than that that have peaked, and Python doesn't seem to be doing that. The whole Python 2 versus Python 3 conflicts was kind of unfortunate. It's that we could somehow it it would have been good to somehow manage that transition better. I'm not gonna predict when tipping point is for Python 3. I know that it's it's a very usable ecosystem now. The language Python 3 as a language has had always been fine. The problem was the library support, and that seems to be not an issue anymore unless you're still using Twisted or 1 of the other large 1 of the few large libraries that hasn't been ported yet. But these days, if you're starting a new project, there doesn't seem to be reason not to use Python 3. There are good options for whatever you might need there.
The next big drama for the language, I guess, is gonna be this type painting proposal, which is is, has people on both sides of it. 1 some days, I think that Guido started the type painting controversy so that people would stop talking about Python 2 versus Python 3 controversy. But so the type hinting thing, it'll be interesting to see how it turns out. It's it's kind of completely contrary to 1 of the central tenants of the language, or at least it appears to be at first blush. And so that's that's sort of line both sides of the of the date. Great. Yeah.
So community seems the community seems great and growing and growing not only in size, but in complexity and and richness, which I think is a really great sign. You know, the fact that the diversity at pie Python is continuing to grow, I think is a real heralds really well for the future of the language as a whole.
[00:57:14] Unknown:
So, you know, I just wanted to say 1 thing briefly about about the, you know, the way you you see it. Ruby people are moving on to Node. You're you're not wrong, but and I have to say this because I'm I'm relatively new to Python. I I've been a Ruby guy for years years years since, like, you know, the late nineties, early early noughties. And I've only gotten into Python over the last 5 or 6 months, and I have say, I really love the language of the community. I'm really, really loving it, which is part of the reason I I chose to do this podcast with Tobias. But I think and I totally agree with you in a in a larger sense, and I I definitely think that Ruby has found its niche. It's like Ruby for Ruby, there's Rails and there's infrastructure as code, tools like Chef and and, you know, the HashiCorp tools like Vagrant and the like. And that's kind of it. Right? Like, it's still thriving in those 2 niches, you know, but it it it's not growing into new areas like Python is. And I just wanna say 1 thing about people, you know, the Ruby people moving on to other environments like Node and such. I think there's an important distinction there, right, between sort of yes.
The the the luminaries in the Ruby scene are very publicly sort of like they're no longer blogging about Ruby. They're they're blogging about Go or Rust or Node or or, you know, whatever other thing has struck their fancy that they're now learning about. First of all, a lot of these people, their day jobs are still writing Ruby on Rails code. Mhmm. And and secondly, I feel like it's sort of I'm gonna I'm gonna reuse a phrase from Scott Hanselman. You know, he talks about and he I think he may have even taken it from somewhere. The cold dark matter programmers. Right? Like, there's those of us who kinda live in this very forward thinking kind of bubble of, you know, we we read blogs, we listen to or listen to and or make podcasts, we run user groups, we are heart and soul, you know, bleeding edge technologists.
But there is this huge, huge, huge corpus of people who aren't bleeding edge and who are gonna be using the technology that from, you know, from many people's perspectives are is kinda tired for for many years to come. And I think there's a tremendous installed base now of of Ruby on Rails code out there, and that's not going anywhere. So I I totally agree. I think that Python is burgeoning and blossoming into all kinds of new amazing areas. But I I don't wanna make it seem like Ruby is is dying on the vine. It's not. It's just that it seems like, from my perspective, it's found its niche or niches, and it's thriving there.
[00:59:50] Unknown:
Yeah. And, you know, I shouldn't this is a bad habit, you know, that that people get into where they they set up competitions and choose a side and then talk trash about the other side without necessarily actually having any real information. And I you know, 1 of the downsides of being as heavily embedded in the Python community as as I am is I really don't know that much about any other programming communities. So I shouldn't I shouldn't say things like that about Rails. It's it's it's great that Python is thriving in the areas that it's thriving in. I should leave it at that.
[01:00:21] Unknown:
No. I mean, I I don't I know that there was no malice in what you said, and I but I totally agree with you. I think and I and I would actually encourage you. I know you're already putting in 20 hours a week, so it's not like you can say, hey. I'm gonna go spend yet more time learning another thing. But I would definitely encourage you and everyone who listens to this you know, if you are heavily embedded in 1 language camp, go play with another language. Right? Like, I mean, you don't have to necessarily, like, invest your heart and soul into it or or spend huge amounts of time, but just sort of, like, dip a toe in. And, I mean, this is something I've been telling Ruby people lately. Just just take a look at some of the Python stuff out there. You don't even have to like the language. I kinda don't even care that the typical each side has little, like, ranting points that they use when they're ranting about the other, you know? For Ruby people, it's like it's like, syntactic white space, and and and and for Python people, it's, you know, it's often like, the the glyphs and and and monkey patching.
It's just kind of like, okay, I understand, you know, but but put down the torch. Put down the pitchfork, and go take a look at some of the amazing things these folks have built. And I I feel like that should apply equally on both sides, because the Ruby folks have some really great toys. And the Ruby language has some aspects of it that are incredibly elegant and and and worth at least understanding. You may walk away and say, you know, I really don't like this. I'm never gonna choose it as my, like, my go to programming language, whether or whether it's Ruby or Go or or Rust or something else. I feel like we all need to kinda break out of our comfort zones and and do everything that we can to kind of put aside that partisanship. I feel like in the era of the polyglot programmer, it is to our mutual benefit to sort of start regarding these tools as just as exactly that, just tools.
[01:02:15] Unknown:
Mhmm. Yeah. You're absolutely right.
[01:02:18] Unknown:
Alright. So last question. Just wondering if you feel or think that Boston will ever have its own regional Python conference because I've been definitely been seeing a number of local and regional conferences popping up all over the place, and so far, Boston is noticeably lacking in that department.
[01:02:36] Unknown:
That's right. So yeah. So there's PIE Ohio and PIE Tennessee and Pi Texas and and Pi Gotham in in nearby New York City, and Boston's never done that. And we've toyed with the idea. We actually toyed with the idea of making a bid to bring PyCon to Boston, but we never we never pulled the trigger on it. And so that would require someone stepping up to do it. I I'm not that interested personally in making it happen just because it's a lot of work to make the usual user group happen, and the usual user group, I think, is a really good way for the local communities to stay connected.
I'm not sure how much an annual regional conference that would bring people from all over the country potentially, you know, how that feels as a local event. Now part of the problem here is I've never actually been to 1 of the regional pipeline conferences. I've never been to PIE, Tennessee or PIE, Ohio or PIE, Texas. And maybe if I went to 1 of those, I'd have a better picture of what it's like and what it would mean for Boston. But my strategy has been to have Boston Python be kind of like a regional conference spread out across the year rather than a once a year event.
Now if someone if someone listening to this thinks, hey, we should totally do it and wants to get in touch, bring it. Let's let's try it.
[01:04:12] Unknown:
Absolutely. I I just wanted to say, I I think that just to sort of add aid in a bet what you're saying there, running a regional conference is a tremendous amount of work. And beyond work, it requires a significant financial investment. Right? Like, we there was actually a Boston RubyConf. I wanna say 2 years ago. Tobias and I actually went to it, and it was awesome. It was really, really, really, really the quality of the speakers was very high. It was great. It was a great venue. It was just a really good time. And, unfortunately, the the the people putting on the conference kinda took a bath financially because of 1, like, I forget 1 misstep, essentially, around, I think, hotel room booking or something like that.
[01:04:54] Unknown:
You've convinced me not to do it.
[01:04:57] Unknown:
That was not my goal. But but, I mean, my my point is that it's a significant venture even beyond a tremendous amount of work. Right? There's there's there's a financial aspect, and there is there's a lot more to it than than meets the eye. So I think whoever wants to take it on has to has to either, you know, have those kind of deep pockets or have a solution to those problems at hand and be very realistic about it because, you know, the the that same RubyConference this last year didn't come off because of because of problems with finding a venue. And there was another conference, happiness conf, but that they they were trying to put on here in Somerville, actually, where I live, that didn't get off the ground as well. So I feel like the the the the difficulties are tremendous, and the potential for real serious harm to be done to the to the the the people who might try to pull this off is is significant. So it's good to just sort of, you know, be aware of what you're getting yourself into if you say, yeah. Gee. I'd really like to do this.
[01:06:02] Unknown:
Yeah. It's definitely a big undertaking. And we're we're putting a conference together at work, so I I see I see what's going on there, and I understand that it it's a big deal.
[01:06:14] Unknown:
Shall we switch to the picks? I'm not sure what a pick is. Okay. Well, then let us let us assist you in that regard. So a pick is basically anything that you like that you I should say like is not even a strong enough word. Right? Like, there's something, some new piece of technology you found. It doesn't even have to be technology. Like, it could be a restaurant you really like or a beer that you love that you wanna recommend or a board game that you play that you really, really like. Anything that you think is really cool that you think the listeners would find interesting that you wanna recommend to people. Or maybe something that you know of or or want to help promote. Right? Somebody who's doing great work in the community, or even some other community that you wanna give a a shout out to, to sort of point people in their direction.
[01:07:01] Unknown:
Interesting. I should have thought about this ahead of time.
[01:07:06] Unknown:
So I'll start us off. This time around, my first pick is going to be Scribd. It is a monthly subscription service for ebooks and audiobooks that lets you read and listen to as many books as you like. It has Android and iOS apps so you can download the books to your device of choice and listen to it while you're on the go. And I've actually recently been using it to read a number of Terry Pratchett's Discworld books and it has been good fun. My next pick is going to be Konch, k o n c h. It is a Python library that lets you write a little RC file that you put in your virtualenv or Python environment of of choice, and it will setup your REPL for you. So you can use it to import various libraries ahead of time, you can have it do some setup.
So if you have an application that requires a number of steps to get to a point where your REPL is usable to interact with your application, you can put that in your conkrc file and then you just start it up by typing conk at your command line and you're good to go. And my 3rd pick is going to be dupeguru, which is a deduplication application. So for if your hard drive is getting filled with lots and lots of copies of things and you're not quite sure where they all are and you just want to point something at the right direction and let it go, dupeguru dupeguru is great for that. They actually also have specific builds for music and pictures. So it has slightly different algorithms for figuring out whether various things are duplicate depending on if it's a picture or music application, and I've used it to clean up my network drive and it has been quite fun and useful to use.
So, Chris, why don't you go ahead?
[01:08:57] Unknown:
Very cool. So my first pick is a restaurant. Now I realize picking a restaurant is kinda is kinda iffy because we have listeners thank thank you from all over the world. But, you know, a lot of people end up making their way to New York City. I was in New York City this last weekend. My wife and I were visiting some family. And the relative that we were staying with, who's this awesome lady, took us to the River Cafe in Brooklyn. And what's so cool about this place is you are literally sitting in a cafe underneath the Brooklyn Bridge.
So you're overlooking the river that the Brooklyn Bridge goes over, just to show you how clueless I am. I don't know what that river is. That's right. But in any case, the the cafe I'm sorry? It's the East River. Oh, thank you very much, sir. I appreciate that. I I am a New York newbie.
[01:09:46] Unknown:
I grew up in Manhattan.
[01:09:48] Unknown:
Oh, there you go. Thanks. The cafe is filled with flowers inside and out. The food is just amazing, and you get to look out over the river and look up to the bridge. And it's just it's an amazing place, and it was it was 1 of those kinda magical moments that I will I will long remember. So I I love that place. I highly recommend it. My next pick is something called Pythonista. I know a lot of tech people are really down on Apple and iOS devices, but I love my iPad to bits. And this is a Python development environment for the iPad, iPad. Not like running on a computer where you cross compile or something. It is a self hosted development environment. They've optimized the keyboard that the application presents for writing Python.
And moreover, it's not just a Python, like, you know, CLI that spew that lets you print text. It is a full GUI environment. So you can actually write honest to God, touch based iOS applications and even submit them to the App Store. It is super cool, and the guy who wrote it is just totally impresses me. It's it's beautiful, pleasant to use, and I've actually been working through the first chapter of, Reuben Lerner's, Python Makes Practice Practice Makes Python book that was mentioned in the last episode with it. My next pick is a game also for iOS. I'm revealing my Apple fanboy status here.
It's called Rototo. And it's by the the folks from, Thoughtbot, a a Ruby on Rails, or now these days, I can't even say that. But they started out as a Ruby on Rails consultancy shop here in Boston. And, it's just it's really neat. And the idea, basically, is you are in a ship, and you don't have any offensive capabilities whatsoever, but you end up destroying your enemies by using your shields and and having their shots bounce back and and and hit them. It's just it's a really clever, really hard, and a great deal of fun. My last pick is a beer, because I like to pick beers. I don't think I picked 1 last month.
This is 1 of my favorite beers of all time. It it's like 1 of those fallbacks that, like, when some place has it on tap, I'm really excited. It's Stone Brewing's Arrogant Bastard. It's just a really, really good ale. It's got a tremendous amount of depth. It's on the malty side, and I tend to prefer that. I'm not a huge POTS person. It's just it's a great, great ale. I I I highly recommend if anybody has the opportunity to try it, especially on tap, but it even stands up pretty well in a bottle. And that's it for me for picks. Ned, take it away, please.
[01:12:29] Unknown:
Okay. I will start with a a Python library that will maybe a Python tool that people maybe already use, but I just can't recommend highly enough, and that is TOX, t o x, which can automate the creation and test the creation of virtual ends with different versions of Python and then running your tests under those different versions. If you need a way to install multiple versions of Pythons, I recommend a tool called pythons with a z, which is very good at installing whatever version of Python you want. Do you want to have both 2.7.7 and 2.7.9?
You just ask Pythons to install them when it will. For non Python stuff, for my mobile game, I like Spelltower, which is sort of a combination of Boggle and Tetris. It isn't gonna hurt your fingers from having to click too fast. It's not a twitchy game. It's a thinking game. And lastly, I recommend Richard Feynman's Cornell lectures, which you can find on YouTube, and I actually wrote a blog post about it a couple of months back when I was listening to them. It's 7 7 hour long videos of him lecturing at Cornell University in the early sixties. And if you've never listened to Richard Feynman speak, you should do it. He's talking about the fundamentals of physics, but he does it with a thick Bronx accent and the humor to go with it.
[01:13:52] Unknown:
Yeah. I I definitely wanna second the Feynman lectures. When they appeared on YouTube, I was so excited because I I I am not how should I say this, I am a physics, wannabe. I find it really fascinating, but I'm not very good at math. So I end up doing a lot of reading where I I kinda comprehend some of it and kinda don't. And but even so, watching the lectures was, was a real treat just because, you know, I've read a lot about him. I've read his books, the pleasure of finding things out. And so, yeah, surely you're joking. And and it was just so neat to actually see the man and to get a sense for his personality. It really showed through, and you really can get a sense of why he was, you know, is considered 1 of the most charismatic men in in science.
Very cool stuff.
[01:14:40] Unknown:
Yep. I totally agree.
[01:14:43] Unknown:
Alright. Well, we wanna thank you very much for joining us tonight, Ned. And for anybody who wants to follow you and what you're up to, what would be the best way to do that?
[01:14:52] Unknown:
So I'm on Twitter as Nedbat, n e d b a t. It's also my IRC, Nick. And my website is nedbatchelder.com, which, nedbatchelder.com. And Boston Python is atbostonpython.com.
[01:15:14] Unknown:
Alright. Well, again, thank you very much for joining us. I'm sure our listeners will greatly enjoy listening to this episode, and maybe we'll bring you on again in the future to talk about something else.
[01:15:26] Unknown:
Okay. Anytime.
Introduction and Host Details
Guest Introduction: Ned Batchelder
Ned's Introduction to Python
Organizing Boston Python Meetup
Contributions of Jessica McKellar
Workshop for Women and Project Nights
Engaging Beginners and Advanced Users
Ned's Time Commitment to Python Community
Learning from Beginners and Experts
Goals for Boston Python Community
Challenges and Successes in Community Building
Maintaining a Healthy Community
Balancing Sponsors and Community Interests
Starting a Local Python Community
State of Python
Potential for a Boston Python Conference
Picks and Recommendations