00:00 How often do you read some news headline about free speech denied and human rights being suppressed
00:04 and think, that sucks, but there's nothing I can do about it from my distant place?
00:08 I guess you could vote slightly differently in your next election, and maybe, just maybe,
00:13 it'll have a small impact in four years' time. Well, if you're a technologist or developer,
00:18 you have way more power than you realize. Still, the challenge is, could you use your skills to
00:23 make a difference? Maybe you could remove a layer of surveillance or add a layer of anonymity to
00:28 the affected people? If the answer is yes, and it probably is, actually, then the question becomes,
00:34 what would you do, and even should you act? This week on Talk Python to Me, you'll meet Pete Fine,
00:40 who spent two years of his life helping others using his technical skills. His story is both
00:45 inspiring and amazing. This is Talk Python to Me, episode 61, recorded May 12, 2016.
00:57 Welcome to Talk Python to Me, a weekly podcast on Python, the language, the libraries, the ecosystem,
01:21 and the personalities. This is your host, Michael Kennedy. Follow me on Twitter, where I'm at,
01:26 mkennedy. Keep up with the show and listen to past episodes at talkpython.fm, and follow the show on
01:31 Twitter via at Talk Python. This episode is brought to you by Hired and SnapCI. Thank them for supporting
01:38 the show on Twitter via at Hired underscore HQ and at Snap underscore CI. Hey, everyone. I have a few
01:46 things to share with you before we talk with Pete. First, one of the listeners suggested that I put all the
01:51 episode transcripts on GitHub, and I thought, why didn't I think of that? So now you can find all
01:56 the transcripts at github.com slash mikeckennedy slash talk dash python dash transcripts. And of course,
02:02 now that there are over 50 hours of interview text online, the question is, what will people do with
02:06 it? Well, almost immediately, Anthony Shaw from Sydney sprinkled some data science dust on them and
02:12 answered the burning question of peak Talk Python awesomeness. That's not which show was most awesome,
02:18 but rather, which show did I say, oh, that's awesome, the most on? You can check out his GitHub
02:24 gist and a cool graph actually showing this over time. I'll put a link in the show notes.
02:29 Now, let's talk with Pete.
02:30 Pete, welcome to the show.
02:32 Hi, thank you.
02:33 We have some really interesting stuff to talk about today. And to be honest, I'm really thrilled
02:38 to talk to you about it because you've really done some amazing work and you've helped a lot of
02:44 people. And I'm excited to dig into it.
02:47 Me too. Thank you.
02:48 Yeah, yeah.
02:49 So before we get into all the work that you've been doing, though, let's just start at the beginning.
02:56 Just tell me how you got into Python, how you got into programming. What's your story?
03:00 Yeah, I've been programming since I was probably about 16. I think I took a class in high school,
03:06 between Pascal and C++ maybe. And then a bit at the university. Maybe about 15 years ago,
03:15 somebody who's become a very close friend introduced me to Python at a job I was working at,
03:21 modeling interest rate derivatives or something, which is a long time in my past. But once I found
03:28 Python, which is probably like 2002, I just kind of never looked back. 95% of the code I've probably
03:35 written since then has been Python.
03:37 Just Python. So once you kind of got into it, you're just like, oh, wait, I found my place. This is it.
03:43 Yeah, exactly. It's just like, why would I use anything else? And I can see, I see using other
03:49 languages and I, you know, do a little bit in other things sometimes. But, you know, I've heard that
03:55 Python is the second best language for everything. In the real world, you're kind of trying to do more
04:00 than one thing. You're, you know, bringing together a web front end and a database or like a mobile app
04:07 in a search engine or whatever. When you have to start doing more than one thing, you know, or three
04:12 things or four things that having something that's the second best at all of those makes getting that
04:16 total thing you're trying to build much easier. And so, yeah, I've just always kind of stuck using
04:22 Python and I've been really happy, happy with it.
04:25 Yeah, you know, it's, you can almost pip install everything, right? You know, like, I need to do that
04:30 thing. Let me try pip install, pi that thing. Oh, look, it worked.
04:33 Exactly. The library is great. The ecosystem is great. The community is great. I've gone to PyCon
04:41 since, I don't know, 2007 or 8, whatever the last year, the second year in Dallas was. And when it was like
04:48 700 people and I want to be part of that community to kind of evolve as a language and, you know, set of
04:57 folks.
04:57 Yeah, it's cool to watch it grow, right? And this year it's in Portland and I think they have a pretty
05:03 big location. I don't know what the capacity is, but it's been sold out for a while. And sadly, people send
05:08 me messages and say, Michael, can you help me get, get a ticket? I'm like, I really don't have any
05:13 leverage. I'm sorry. I wish I could get you a ticket.
05:15 One of the things that I, I mean, like about the Python community in particular is, is the kind of
05:21 spirit of, of, of copying and, and doing things yourselves. I mean, there's like, I mean, I can't
05:27 even think probably a dozen regional conferences. Absolutely. I recently moved to Pittsburgh.
05:32 Ohio, Ohio, Texas. Yeah. Yeah. I lived in Chicago for many years and never made it to
05:38 high Ohio, but I moved to Pittsburgh recently. And I'm just like, I'm like, Oh, this is like
05:44 close, close by. And so I'm excited. I'm excited to go. I'm excited to go to Portland too, but
05:48 it's cool that like other, you know, languages, other open source things like they don't do that.
05:54 They don't kind of spawn these sort of local.
05:56 Yeah. They just have the one conference or something like that. Right. Absolutely. Yeah.
06:00 So speaking of PyCon, I think that's a good way to segue into how I got to know you. And I
06:06 watched an amazing, inspiring talk that you gave at PyCon 2015. And I'll be sure to link to that in
06:13 the show notes. It's on YouTube and it was entitled free software, free people. So give us the background
06:21 on what you were doing at that time. And maybe we can talk later about what you're doing sort of these
06:27 days.
06:27 My talk at PyCon last year was called free software, free people. And what's about my time is what's
06:33 called a hacktivist or an internet activist from probably about late 2010 through 2014.
06:40 Doing everything from organizing protests to helping people circumvent censorship and surveillance all around
06:48 the world, most often in the Middle East for the Arab Spring.
06:52 That is super inspiring. That's awesome. Long ago, when I thought about technology, I thought about how it's going to
06:59 open up the doors and make everything great. But there's sort of a there's two sides of technology. In a lot of places,
07:05 technology is used to stifle people, ideas, and so on. Right. And especially the dictators of the Middle East during the Arab
07:15 spring, for example.
07:16 Yeah. For as a technical person as I have a really sort of complicated and sort of I try to be deliberate
07:22 about how I use it. And that that ethic was certainly up on play when I was doing this work in the Middle East.
07:31 Yeah. I mean, so I worked with a group called telecomics, which was basically like an IRC network,
07:38 which is sort of people probably almost certainly familiar with Slack these days as a group chat, but Slack is modeled after
07:44 a much older chat network called IRC, which actually predates the web, goes back to 1994, and has a long history of being
07:53 source of communication support and activist communities. It was some of the first source of news out of
08:05 Moscow after the counter coup after the Soviet Union fell, also during Bosnia and Sarajevo. I learned all this stuff later. Like I was just hanging out on free
08:13 node with all the other source people for a couple years and then stumbled upon this group of what have become called
08:21 hacktivists called telecomics, who ran their own set own network, their own set of servers, mainly located in Sweden, Germany, and was a group of about 200 to 300 humans and machines.
08:34 That were sort of an active part of this IRC community. And we did everything from like kind of advocacy work, which I mean, like working to change, change and influence policy to technical hacking, like network scanning and helping people use and install tools like Tor and, you know, configure SSL to stuff I like to call media hacking, which was basically getting the
08:57 getting the mainstream press to pay attention to things that we thought, thought were important.
09:01 Censorship or surveillance or some kind of the policy, policy positions.
09:06 Well, to a lot of people, like they hear stuff about encryption or, you know, it's after the whole Snowden thing, it's way higher on people's mind. But before then, it was just like, you know what, that's like some technical mumbo jumbo.
09:19 I don't care about this stuff.
09:20 Yeah, it's technical mumbo jumbo.
09:23 But so that's a really actually important role to make people that actually have influence on politics, pay attention and they get it right. Sometimes they get it wrong. Right. We can look at a lot of examples where they get it wrong.
09:35 Yeah. The stuff we're able to do using using encryption to help people exercise free speech rights in places like Syria and Egypt, where if they got caught, they got, you know, thrown in jails and nobody heard from them and they got beat up.
09:50 Using those same kind of technologies, I think, that our politicians want to, you know, have access to is really scary. Like, because the countries that these people are in had that kind of access.
10:05 And we saw what they did with it, right?
10:07 Yeah, exactly. Exactly. And just that's a, it's not a tool like a gun. It's a tool that tells you where to point your guns. And like that can sometimes be almost more effective means to control.
10:19 Right. Or who needs to disappear tomorrow or some other terrible thing like that. Yeah.
10:23 Yeah. Yeah. And so, you know, I mean, I'm not like a cryptographer. I'm not like even really a big security or network dude. And so like there were those kind of people around telecomics, along with people who were not really technical at all. People who were artists, people who were journalists, people who were just, you know, gardeners. And, you know, like.
10:44 They just wanted to help out however they could, right?
10:45 They just want to help out. Exactly.
10:47 And so kind of putting the, you know, so like putting those skills together, we were able to just help out people.
10:53 I mean, really just people came, came to us and asked for, for help saying like, I can't get on Twitter.
10:58 Like these terrible things are happening. They're going around my neighborhood and beating people up.
11:02 Like I have some pictures and like, I can't get on Twitter. Can you put them on Twitter?
11:05 And so we're like, we have to tell the world about this.
11:08 Yeah, exactly. And just, it's, it sounds in Egypt, some of exactly actually what we did is just, you know, people found us and just, you know, they couldn't access their Twitter accounts.
11:19 And we spoke for them. We use our Twitter account to act almost like a proxy, you know, like we were human proxies the same way there were network proxies.
11:26 Yeah. Yeah.
11:26 Yeah.
11:27 A little bit of sneaker net almost to cross the air gap or whatever.
11:31 Yeah. Yeah. There were, there totally were sneaker nets in Syria. Oh my gosh. Yeah. The Syrians like had total, had lots of, some sort of crazy sneaker nets out going on. I don't want to, I didn't really know, know that much about, but you know, also.
11:42 We worked with guys a long time in Syria, like nine, 12 months, you know, and this is like in 2011 and 2012 before things got really terrible there. Like people don't need internet in Syria now. Like that's just not, I mean, it's, it's such a minor part of what it is. But, you know, back then it was like some people were getting beat up. Some people were getting shot at, you know, protests were getting shot at a little bit, but it was, it was, you know, the censorship and surveillance was much more of a problem.
12:11 And it wasn't nearly as violent.
12:12 Sure. Well, back then, just looking from the outside, it feels like there was still a public case to me be made about whether it's bad or not or how bad it is. And now everybody knows that it's bad and they just don't know what to do about it. But it's not like the fact it's bad needs to be told. Like everybody knows it's bad and we don't really know what to do about it, I guess.
12:34 Yeah. I mean, I don't, I mean, I didn't know what to do about it then either. I mean, like, I just, I didn't have any great,
12:41 political insight to what, what was going on and what should be going on in these guys. It's not my country.
12:46 People asked for help. Like, this is the thing, you know, like we have this internet and people came and we found each other, you know, in the secret back tunnels.
12:56 And I was in a position to help and that's what I did.
13:02 That's awesome.
13:04 Yeah. And sometimes, well, I mean, I guess, I don't know. Sometimes people ask for things and we're like, no, that's like not the kind of thing we want to help you with. And like, we, you know, ignored them till they went away.
13:12 Yeah. I guess you've got to, it has to match your mission, right? You can't just be doing whatever out there.
13:18 We just telecomics just did communication support. Like we did censorship and surveillance, you know, it was free. Basically, you know, free speech is kind of the driving scene of somebody, you know, people come by and they're like, Hey, can you help us make bombs? We're like, no, we can't go away.
13:32 It's not that complicated. You know, there's nobody. I'm like, I don't know how to be bothered. What are you guys doing here? Like, just like go, go find some other IRC network and bother them. Like, it's just, yeah. And so you must've gotten the reputation about that's where people to go get help from the outside or whatever. Right. And so they show up.
13:50 We had, you know, and that was just rare. I mean, it's just like, but mainly it was people asking for help.
13:56 Ah, wanted VPNs, wanted help setting up tour proxies, help publish anything. You know, I mean, you had some long-term anonymity is complicated and hands-on work. You can't just like give somebody tour and be like, have a nice day.
14:14 Like there's a lot of ways that, you know, if you have say some photos or some PDFs or whatever, somebody gave you tour and you went on and set up a Twitter account instead of an email account.
14:25 Like there's a lot of ways you can still give away who you are. It's really, it's like, it's really kind of like the one thing I kind of, I mean, just, it's, it's such a human and machines.
14:36 You know, it was, you know, like, like working together, make these things possible.
14:41 Like that's when I said, like, you know, there's like 300 humans and bots, like there's websites, there's servers.
14:47 Like the main server I found out was like a, at, like at the end of all this was a 686 or something.
14:55 It's like some old, like 16, like, like maybe like six, I don't even remember.
15:00 It was an ancient, ancient machine that was running the IRC network.
15:03 It's just, it doesn't take.
15:05 It's 16 bit.
15:06 What are you talking about?
15:06 Yeah, I just, I don't know.
15:07 It was ancient, it was something like ancient 32 bit Linux install that, you know, happened to be located at an ISP data center in Sweden.
15:16 Because those are some of the people that were like in this, this network of, of folks.
15:22 Yeah.
15:23 Somebody's like, Hey, I got a server.
15:24 Yeah, sure.
15:25 Somebody's like, sure.
15:25 I have an old server.
15:26 Like there was no money involved.
15:28 There was no mailing address.
15:29 There's no like board of directors.
15:31 Like literally it's just a bunch of people like bootstrapped an IRC network and started hanging out on it and like put up some websites and found some friends.
15:39 Yeah.
15:39 Yeah.
15:40 Yeah.
15:41 And so the appeal for me for finding that coming from working in open source communities, I was like, Oh, I get how this works.
15:49 Like I get this, how this works.
15:50 Like you want to build a project, like you just go find some people and you go do it.
15:54 And like the things that succeed, you know, like you can't, can't get any of these, whether it's like an open source project or like helping people evade censorship.
16:05 Like it takes a lot of hands, but you can't like the things that succeed or not, it's not merely just good ideas or good technology, but like there's people involved here too.
16:16 Like that's the one thing like in three years or so of doing this like full time.
16:22 And then some, I didn't have a job.
16:24 Like I had a couple of periods where I worked like, you know, 16 hours a day for like three or four weeks on end.
16:32 And like the one lesson I take away from this is just how important the people are in this.
16:39 Like, like your users, your collaborators, like just people had great ideas.
16:43 And like, I had great ideas.
16:44 I'm like, I couldn't find anybody to help me like, so those things didn't get done.
16:48 And so like I went and helped somebody else and that's just crucial.
16:52 Yeah.
16:53 I think it's easy to confuse our use and need of privacy with others.
16:59 Right.
16:59 So for example, if I want to go to Starbucks and I'd want to feel a little bit better about using the public Wi-Fi, I might fire up a VPN to go do something.
17:07 But that's not the same as like the consequence of me getting that wrong is pretty low.
17:13 Exactly.
17:14 Yeah.
17:15 Versus if I'm in somewhere where there's actual turmoil.
17:19 Yeah.
17:19 Turmoil or just police state or surveillance state or like a government that is listening, you know, to what you do on those open networks and how often they go send, you know, guys with guns and nightsticks around to your house.
17:34 If you do it wrong.
17:35 Yeah.
17:36 Yeah.
17:37 Yeah.
17:37 That's definitely a higher consequence.
17:40 Yeah.
17:41 So tell us some stories.
17:42 Sure.
17:43 There's a couple of things that you talked about in your talk that were really interesting.
17:47 One involving modems and another involving like filtering, monitoring.
17:51 Sure.
17:53 Hardware.
17:53 So I stumbled across telecomics in January of 2011, maybe about a week before the Egyptian revolution kind of got publicly rolling.
18:08 So people may remember the Jan 25 hashtag.
18:10 So I kind of stumbled on telecomics about Jan 20.
18:13 You know, so at that point, Twitter was blocked in Egypt.
18:18 We knew there was kind of various degrees of surveillance, but like things were still largely operable.
18:26 And so this, this was this period where we get people who would find our IRC network and come on and like share stories and photos with us about what was, what's happening.
18:35 And we would retweet them using our like collective telecomics Twitter account.
18:40 It's kind of acting like human proxies.
18:42 And some of those people would stick around and we would help them set up technical proxies like Tor kind of VPNs or even just basic HTTP proxies.
18:51 I got involved working on a ham radio project.
18:57 So we didn't see, foresee that the, you know, entire internet was going to go down, like, which happened basically on January 28th that the Egyptian government like turned off 95% of the routes into the country.
19:12 So we didn't see that.
19:14 I'm not going to say we foresaw that, but like just, we were throwing like a lot of, a lot of things against the wall and some of them stuck and some of them didn't.
19:21 And somebody threw out the idea of a ham radio.
19:24 So amateur, amateur, like long wave or short wave radio.
19:27 If they're going to turn off the internet, let's just go old school on them, right?
19:30 Yeah.
19:31 And so I don't, I'm not a ham.
19:33 Some of these guys, guys were, but like I had an interest just in amateur radio and pirate radio and like from a media theory and like communications history perspective.
19:44 And so I was like, okay, well, I'm new here.
19:47 Like, let me try work, like helping out with this.
19:49 And so I ran around the internet and tried to find people to help.
19:52 Like I Googled up ham forums and we tweeted about it.
19:57 And I don't try to remember what else.
19:59 Oh, I ran around, I found like other IRC networks.
20:02 Like there was like a amateur radio channel on Freenode and like Fnet and like kind of just different.
20:06 I just kind of like dug around for a couple of days and like bugged people to come help.
20:10 And like, you know, it went from five people to 130 in like three days or something like that.
20:17 Yeah.
20:18 Well, and part of it was, is just like spectacle of it.
20:22 If just, this is like, Hey, this is this cool thing we're doing.
20:25 Like if we're just like, you know, like that people are like, Oh my gosh,
20:29 they're going to use amateur radio to save Egypt.
20:32 That's so cool.
20:33 Like here, we'll write a little blog about them or write a press story about them.
20:35 Like there was value in that as well.
20:38 I mean, like it was legitimately helpful, but like, you know, that aspect in just getting like,
20:42 Hey, like, come on, get some more people.
20:43 Come help.
20:44 Like, you know, it just, right.
20:46 So like, it turned out not, not to be, not to be actually the most best way of kind of maintaining
20:54 contact in, in Egypt.
20:55 There were only probably about 130 licensed radio operators in Egypt.
21:00 They were mostly the ex-military, like that just technology just kind of wasn't, wasn't available.
21:04 This episode is brought to you by hired hired is a two-sided curated marketplace that connects
21:21 the world's knowledge workers to the best opportunities.
21:23 Each offer you receive has salary and equity presented right up front, and you can view
21:27 the offers to accept or reject them before you even talk to the company.
21:31 Typically candidates receive five or more offers within the first week, and there are no obligations
21:36 ever.
21:36 Sounds awesome.
21:37 Doesn't it?
21:38 Well, did I mention the signing bonus?
21:40 Everyone who accepts a job from hired gets a thousand dollars signing bonus.
21:43 And as Talk Python listeners, it gets way sweeter.
21:46 Use the link hired.com slash Talk Python To Me and hired will double the signing bonus to $2,000.
21:51 Opportunity's knocking.
21:54 Visit hired.com slash Talk Python To Me and answer the call.
21:57 Yeah, a whole bunch of like cool other stuff spun out of it.
22:06 People working on all sorts of different projects.
22:09 We sent a lot of fax spam.
22:12 These were cool.
22:13 So like, you know, both before.
22:15 So basically, they cut off the fiber.
22:17 And so, you know, there's no cell.
22:19 There's no internet.
22:21 There's no text messaging.
22:23 The only thing they left out that was working was landline phones, which in Egypt isn't like
22:29 actually a lot of the rest of the world are like core infrastructure for everything for
22:34 the military to keeping power plants running and just like, yeah, like copper line phones,
22:40 like just turning that off like actually breaks totally everything.
22:44 So yeah, we did things like Googled up the numbers of fax machines at like hospitals and universities and like coffee and copy shops, put a list, list of these things together and put together a PDF in English and Arabic, like explaining who we were, and that we were here to help.
23:05 And, you know, instructions for like, you know, like, you know, like, you know, like, you know,
23:15 getting, you know, getting shot with tear gas and, and put this PDF out there with a list and basically got volunteers to go through on free international faxing services and like upload the thing and click accept, you know, and send it, send it to all of these places.
23:28 Yeah.
23:29 Yeah.
23:29 I mean, just kind of using whatever, whatever technology we had had at hand, those things worked well.
23:36 We ran, oh, about 500 dial-up modem lines.
23:41 So again, the only thing working was, I mean, this was crazy to me.
23:45 So this is like 2011.
23:46 Half of Egypt was on dial-up modems.
23:49 Like it was about, yeah, about a quarter, a quarter was on like wired ethernet.
23:56 About a quarter was wifi.
23:57 About half was on dial-up modems.
24:00 The other strange thing was that the local ISPs didn't peer with each other.
24:05 So there were like three or four ISPs in, in Egypt and they didn't actually exchange packets in Egypt.
24:13 They sent their packets like up to, to like Cyprus or whatever, like where the, the, there was a data center where they're, you know, the fiber cable and they crossed.
24:24 And then they came back to Egypt and went to the other ISP.
24:27 So when they turned off the like two or three pieces of fiber, the ISPs were isolated from each other within Egypt because they didn't exchange, exchange traffic.
24:35 Right.
24:36 So it wasn't just getting out to the world.
24:38 It was even communicating within the country still.
24:40 Internal communications.
24:41 Right.
24:42 And like, we have this idea that the internet is like this redundant thing and it's kind of like, you know, right.
24:47 It was designed to survive nuclear strikes or whatever.
24:50 And like, you go start poking around the networks of some of, some of the other places in the world.
24:56 And you just go like, what the heck is this?
24:58 This is just like both built from components and routers and stuff that we just would go like, where'd they get this eBay?
25:06 And yes.
25:06 And the answer is yes.
25:07 They bought an eBay, like just random, whatever random old stuff they can afford and get to get their hands on.
25:11 That is also architected with just kind of totally different, really like political objectives built into the network, like built into the infrastructure of the network, that these networks are built, built centralized so they can be monitored and surveilled and censored and turned off, like and turned on.
25:32 Yeah.
25:32 A political network topology.
25:34 Yeah.
25:35 And that's just such a different approach and attitude than we think the internet should be built.
25:41 And in some places, more or less is.
25:44 Wow.
25:45 That's pretty wild.
25:46 So speaking of, you know, controlling stuff and looking at it, there's some really interesting stuff that came out with some network surveillance hardware.
25:55 Yeah.
25:55 From a company.
25:56 Was that in the U.S., that company?
25:58 Yeah.
25:59 So in Syria, we started working in Syria in the summer of 2011, maybe about three months in July, maybe about three months after the protests started.
26:08 And the first thing we started doing was NMAPing the networks.
26:11 So basically, like NMAP is a network scanner.
26:14 So basically, like it pings all the ports and all the, you know, you give it some list of IP address, range of IP addresses, and it pings all the ports.
26:22 And it, like, tries to fingerprint what's there and tells you, like, oh, hey, here's a web server.
26:27 Here's a printer.
26:28 Here's an FTP server.
26:30 Here's another printer.
26:31 Here's a webcam.
26:33 Like, you know, and so basically, you can go get what IP blocks are assigned to Syria.
26:38 Like, that's kind of just public information from the registries.
26:42 Yeah.
26:42 And so we scanned the whole country over the course of, like, I think it was about six weeks.
26:49 It's like maybe about.
26:50 Wow.
26:51 So you built, like, a network map of all of Syria, basically.
26:54 Yeah.
26:54 Yeah.
26:55 With kind of, like, follow-on probing.
26:57 Like, so you go, NMAP is a kind of, like, pretty coarse tool.
27:01 So this is maybe, like, a dozen people over the course of about four or six weeks with, mainly with NMAP and some other kind of tools and kind of some manual probing.
27:09 And that's, like, now there's tools out there now that you could do this, like, by yourself from a single machine in EC2 in, like, three days.
27:19 Wow.
27:19 Like, the tooling is five years later and the tooling has just gotten, like, sure, you can scan, like, that much space, like, so much more efficiently just because the software's gotten better.
27:28 Yeah.
27:28 And the cloud and the network speeds and all that, right?
27:31 Yeah.
27:31 I mean, these guys had, like, data center class network speeds, but just the software, like, there's things called ZMAP and MassScan now that do the same thing that NMAP does.
27:41 But, like, same hardware.
27:42 It's just the software.
27:43 Like, it's just way better to do this, which is crazy to me.
27:46 But we found a whole bunch of interesting things, a whole lot of cable modems.
27:50 Cable modems with the default password.
27:54 Admin username and password, password.
27:57 One of the things the guys did was change the DNS settings on these cable modems.
28:03 This was done with curl scripts, actually.
28:05 I didn't write this.
28:06 I don't write any curl, but, like, these guys did it with curl scripts.
28:09 So they changed the DNS settings so that when people in Syria would go, on their cable modems, would go to Google.com or Facebook or whatever, they would get sent instead to a network of 19 web servers that the telecomics guys put up that had a page in Arabic and English that said,
28:27 your connection is being monitored.
28:29 You're under surveillance.
28:30 Here are some tools, like, to help and an explanation.
28:35 And so, yeah, and, like, they flipped this on and, like, took, like, I don't know, 40 or 60% of the web traffic in Syria for the, you know, two days or whatever they had this thing going.
28:47 Yeah, and it's just, this was the kind of stuff we could do.
28:50 Like, this was the kind of stuff we could do because we didn't have anybody, money.
28:57 Like, who do you, who do you, it's just kind of right at the border of legal and not a lot and, like, legitimate.
29:04 Like, and, like, we were able to kind of skirt that border because we didn't, we didn't do certain other things like take money.
29:26 Gone are the days of tweaking your server, merging your code, and just hoping it works in your production environment.
29:31 With SnapCI's cloud-based, hosted, continuous delivery tool, you simply do a get push and they auto-detect and run all the necessary tests through their multi-stage pipelines.
29:41 Something fails, you can even debug it directly in the browser.
29:45 With a one-click deployment that you can do from your desk or from 30,000 feet in the air, Snap offers flexibility and ease of mind.
29:53 Imagine all the time you'll save.
29:54 Thanks, SnapCI for sponsoring this episode by trying them for free at snap.ci slash talkpython.
30:10 And so when I talked about earlier about sort of being very technical, like, like, this was really deliberate.
30:15 Like, there's a lot of thought and a lot of discussion about how to do this safely.
30:21 Should we do this at all?
30:22 Like, from a technical level, from an ethical level that I feel like, you know, characterizes, yeah, some of the, some of the, you know, I feel like there's, there's reasons I talked about it at the PyCon community.
30:34 Like, that, that there has been an interest in broader kind of social issues and political issues in the Python community and the PyCon talks for a long time.
30:49 And I, I entirely admit that I probably pushed that further than, than anybody else.
30:53 And I'm grateful for that, that opportunity.
30:55 And people seem to appreciate it.
30:57 But I feel like that the Python community is far more thoughtful about those sort of issues than any other technical community I've participated in.
31:07 I think there's a down-to-earth-ness of those, those folks.
31:11 It's awesome.
31:12 Do you want to tell the story about the, the network monitoring stuff with BlueCode?
31:17 Sure.
31:17 One of the other things we found, while poking around inside the Syrian networks were a dozen unsecured FTP servers that were basically like the file storage engine on these network traffic monitoring and shaping devices called, by a company, made a manufacturer by a company called BlueCode.
31:36 She was based in California.
31:38 And so you can think of these, so these things could, like ran at the speed of the fiber.
31:43 So these, these were actually Windows machines, but they had like a custom ASIC, like a custom chip in hardware to process some like 200 different kinds of traffic.
31:53 So HTTP traffics, Skype traffic, Windows file sharing traffic, like you name it, like, and sort of analyze what was happening.
32:03 And then either both control the bandwidth.
32:05 So in their marketing docs, they talked about like, don't just outright block YouTube and Facebook games because then your employees, because they're made for mainly corporate use.
32:15 Right.
32:15 These are like enterprise devices to keep people.
32:18 And they're right.
32:19 These are totally like enterprise firewall, firewall grade stuff.
32:22 And so you don't outright block YouTube because then your employees get pissed, but you just like really degrade the bandwidth.
32:30 And so they get, you know, or same thing with games, like, you don't make them, you just make them like really painful to play.
32:37 So they just get frustrated and go back to work.
32:39 Whereas if you outright block it, like they get upset.
32:42 And so, I mean, this is kind of, you know, this is in the corporate environment, but I think it's kind of gives you a sense of the sort of censorship of which these things are capable.
32:51 Put these in the hands of a dictator and turn the knobs differently, right?
32:55 Exactly.
32:55 And so we found about a dozen of these machines with their log files just sitting on open, unpassworded FTP server.
33:03 And so these were basically like web logs for like all of the web traffic for Syria for like a week.
33:11 A week was like 64 gigs raw of web.
33:15 And so it basically has the source IP, has the URL they're trying to visit, cookies, accept or deny whether the proxy like blocked it or let the traffic through, things like that.
33:28 For like the whole country, like the whole country.
33:30 We found these things.
33:32 And, you know, in digging through them, we found things like the words like Israel or proxy were blocked.
33:37 Specific page, Facebook pages that were specific to Syrian like activists and like justice groups were blocked.
33:45 There's a whole lot of porn that was actually allowed through.
33:48 And so we have this idea of the media.
33:50 No, I mean, we have this idea of this Mideast as sort of very sort of uniformly conservative and censored.
33:56 It's not like that at all.
33:58 And like sort of what's accessible on the Syrian Internet is really different than what's accessible on the Saudi Arabian Internet or on the Iranian Internet or on the Turkish Internet.
34:07 Both in terms of local political issues, you know, specific to that country, like more regional issues, as well as like sex and violence and, you know, all the other kind of crazy things that are on the Internet.
34:18 Yeah.
34:19 And so Syria had had a long reputation being actually quite liberal for porn.
34:25 But, you know, there were a whole bunch of kind of political stuff that was specifically blocked.
34:29 Yeah.
34:30 It was more about protecting the government.
34:31 They didn't really care what you did or something like this.
34:34 Yeah.
34:34 Yeah.
34:35 I just don't agree.
34:35 Right.
34:35 And so it's like I said, it's different in different countries.
34:39 Yeah.
34:39 And so these eventually got leaked that some of the other telecomics agents had like done some analysis on these things and just like splashed them out on the Internet.
34:47 And so I wrote a story for Slashdot.
34:49 I have been a proud reader of Slashdot since probably like 1997.
34:53 You know, back when I started like playing around with Linux in college.
34:57 And so I thought this was cool.
35:00 And so I wrote a post for Slashdot.
35:02 And so this is the kind of like media hacking that we did.
35:05 And this got picked up by, I don't even remember, the Washington Post, eventually the Wall Street Journal.
35:13 And so like I wrote this story for Slashdot and said like, hey, look, here's this like digital evidence that these companies hardware was being used by the Syrian government to censor and survey the net.
35:23 Like there's export controls on Syria.
35:26 Like there was an embargo.
35:27 You can't sell anything, anything to the Syrian government.
35:30 Right.
35:30 Absolutely.
35:30 Somehow these devices that were built and built in California have wound up their way in Syria.
35:35 Like what has happened?
35:36 And so the company like first denies to Slashdot that there's like any evidence that this is their equipment at all.
35:43 And we're like, it says like right in the header of the log, like it's well-known format, like blue code.
35:49 And here's like the device ID.
35:50 You know, we sent.
35:52 Here's its serial number.
35:53 Yeah.
35:54 Like we sent, like we sent, we had the telecomics agents, like the Syrians send traffic.
35:59 Like out to servers we controlled.
36:02 And like we could basically see like how, what the headers get injected, you know, like by, by the log, the box itself.
36:12 Like we had like, you know, from these IP addresses, you know, like we'd see this, the, the, all the traffic series being force routed through, through these proxies.
36:21 And this is, and so they're denying this is this, it gets picked up by the, the Washington post.
36:26 And then maybe about two week and a half later, I'm at a human rights conference and I get a call from a reporter at the wall street journal.
36:35 And she says, I've been on the phone with blue coat for the last week, alternately yelling at them and begging them to stop lying to me.
36:42 Do you have anything you would like to add?
36:43 I was like, sure, sure.
36:47 And so it kind of explained much, much of it explained to, to you, like kind of what these things were and we found them and what, what they're capable of.
36:55 So, you know, blue coat advertised itself as being capable of distinguishing between updates to your Facebook wall and Farmville.
37:02 It's a pretty fine, like, this is not just like, oh, it's HTTP traffic to this host name.
37:08 Right.
37:08 It's, it's looking inside the packets in some ways and things like this.
37:11 Yeah, exactly.
37:12 And the stream inside the stream of packets and doing contextual analysis.
37:15 And so what we also found out was that these machines were phoning home to the company headquarters, not only for like monitoring services.
37:24 So like they had a built in heartbeat monitor, but also for collaborative filtering.
37:27 So like when they saw some traffic that the local proxy couldn't classify, it would send it off to the, the, the headquarters run some like other algorithms on it and give us rules back in like, like 300 milliseconds.
37:40 It's like pretty low, low latency.
37:42 Yeah.
37:43 But so the kicker of this is, is that blue coat, had they been paying attention to their internal logs, would have clearly seen these boxes where it's Syria.
37:51 And so, right.
37:52 Like, because they're getting traffic, like to their internal services coming from these, these machines.
37:56 And so they just have this incentive not to look because they're the export controls saying no economic activity.
38:04 And so, you know, if it's known that they block things from these countries, like there's less resale market, there's less black market, like they're providing this service.
38:14 They're not supposed to be doing that.
38:15 And so like, they just don't even want to look.
38:17 They just don't even want to know, you know, where, where these things are.
38:21 Well, it's kind of like, gosh, what the Italian group was, was that hacking team?
38:26 Hacking team.
38:26 Yeah.
38:27 Yeah.
38:27 When it comes unglued, it's a serious PR nightmare, right?
38:31 Like this can't be good for them.
38:33 Right.
38:33 So.
38:33 And so this was right.
38:34 Exactly.
38:35 And so there's eventually this, this story in, in the front page of the Wall Street Journal and the company admits, yes, this is our stuff.
38:41 And like, we're so we should have known.
38:44 And like the machines were actually destined for the government of Iraq.
38:47 I don't know why that's better for them to use for, for, for, this is 20, 2011.
38:52 I don't know what for them to use for censorship.
38:53 Okay.
38:54 Whatever.
38:54 Some of the, the other telecomics agents worked in Brussels in the headquarters of the European Union.
39:03 They were like legislative age in the European parliament.
39:06 And they lobbied to have the EU pass technology export controls for Syria so that, you know, this couldn't, this stuff couldn't get right.
39:18 You know, like you mentioned, hacking team and Italian companies.
39:20 So that this kind of equipment couldn't be sold by EU members to, to Syria.
39:24 December of, of that year, they passed that.
39:27 And that was the first time the EU has ever passed this kind of technology export controls.
39:31 That's awesome that you guys made that kind of difference, right?
39:33 Yeah.
39:34 Yeah.
39:34 And so like, yeah, I mean, and so there's kind of this like loose chain of maybe like 50 people from, you know, over the course of six months, like that nobody really like intended to do this.
39:46 We all did wrong and like sort of picked up the parts we were found interesting.
39:51 Like the folks in Brussels, like they're not, they don't run NMAPs, you know, like, like they lobby legislatures to great effect.
40:00 And it's, you know, we're able to change international law, this kind of like sketchy group of hackers with no money.
40:07 This ragtag group of folks that just organized an IRC, right?
40:11 That's awesome.
40:11 So the U.S.
40:13 Like it's like a year and a half later in like 2014, finally levied some fines on the reseller.
40:22 There was some company and some dudes in Dubai who supposedly bought these for Bluecoat and, you know, illicitly shipped them on.
40:30 And these dudes paid like a fine.
40:31 And the company like gets, gets a pass.
40:34 Yeah, but the PR still has to sting, right?
40:37 So it's not a full pass.
40:39 Yeah, yeah.
40:39 They got sold.
40:40 They got bought by some like private equity fund.
40:42 And like, you know, it's been, they, they, people have found their stuff like all over the world now.
40:47 And it's, it's really been helpful to raise attention of this kind of before this all before Snowden, all, all this stuff before Snowden.
40:56 Right.
40:57 So do you think this is a good example of the type of ways that what the U.S. government's trying to pull gets out of control and has like unintended consequences?
41:08 Like, oh, we just need a backdoor for us.
41:10 Oh, yeah.
41:11 There is no such thing as a backdoor just for us.
41:13 There's no, there's no such thing as a backdoor just for us.
41:17 But we'll keep the key really safe.
41:18 The FBI mandated that Google build them a backdoor in like 2010.
41:24 It's called Project Aurora.
41:26 And the Chinese hacked it and used it to go after their own people.
41:30 Google has better security engineers than the FBI does.
41:33 Oh, my gosh.
41:34 Oh, my gosh.
41:36 Like, yeah, there's no, and you know, and they still get, get hacked by the Chinese.
41:41 Like these things are not, there's no backdoor just for you.
41:45 There's no backdoor just for you.
41:46 One thing to build a safe wall, it's another thing to build a safe door, right?
41:49 These are like different levels of hard, I guess.
41:52 Yeah.
41:53 Yeah.
41:54 It's like, you know, it's so funny.
41:55 It's so funny.
41:56 Like, I went to a hardware store.
41:59 My mother was visiting actually, and she wanted to buy, I had just bought a house, which is an experience for me.
42:04 But we went to the hardware store, and she wanted me to buy a new lock for my door.
42:08 I was like, okay, that seems like a reasonable thing.
42:10 I bought a new house.
42:11 Like, I don't know who has keys to the old, old house.
42:13 I bought a new lock.
42:14 Yeah, I did that when I got a house.
42:15 Yeah, sure.
42:16 And so we go, and we talk to salesmen.
42:18 He's like, okay, well, this is, you know, really like the good lock that we recommend.
42:21 And I was like, oh, I picked that.
42:23 I was at Hope.
42:25 It's like a hacker convention in New York, and they have a little lockpicking station.
42:29 I was like, and I mean, I've done this maybe three or four times.
42:32 I was like, oh, yeah, I picked that lock.
42:33 I was like, all right, cool.
42:34 But I mean, I bought it anyway, right?
42:36 Like, I mean, it's just, you know, it's different levels of security.
42:42 But just, you know, like, it's the door to my house.
42:44 It's not a door to, like, everybody's private information.
42:49 Like, what does that mean?
42:50 Like, your medical information, your financial information, the letters you wrote to your spouse.
42:56 Yeah, well, the thing is, you...
42:58 It's just everything.
42:58 It's just everything.
42:59 Yeah, yeah.
43:00 We have these sort of concepts that we map up into the digital world, I think, as at least
43:06 you're speaking and trying to speak for the non-technical politician types and law enforcement
43:10 and so on.
43:11 And you think, I can get access to your lock on your door.
43:15 So why can't I just have a lock on this other thing?
43:17 But the problem is, if you hack that, you hack everybody in the world.
43:20 You don't break into one house.
43:22 You don't break into every house in the world when you break into it, right?
43:26 Yeah.
43:26 It's crazy.
43:27 The NSA had a dual mandate.
43:29 The NSA had a dual mandate.
43:31 They had a mandate for both cyber surveillance and cybersecurity.
43:34 And they have entirely neglected the latter, you know?
43:40 I mean, they have hired...
43:41 I mean, I've sat in classes with dudes, you know, like Python, high-level, you know, advanced
43:48 Python pun trainings with guys who worked for contractors in Maryland and weren't allowed
43:55 to tell the rest of us what they did.
43:57 Yeah.
43:57 And, you know, by hiring those guys and putting them on offense, like, they have both starved
44:05 the market in terms of, like, knowledgeable people, but also, like, they had a mandate
44:09 to play defense.
44:11 All these problems and these bugs, they're finding, like, they should be closing them.
44:15 They should have been fixing those.
44:16 They should have been...
44:17 Instead, they want to rule the world.
44:19 Instead, they want access to everything.
44:21 And as a result, now everybody has access to everything.
44:24 I totally agree with you that that is a serious problem.
44:27 And I think the U.S. and Western Europe, but especially the U.S., has more to lose than they
44:34 have to gain by being able to access stuff.
44:38 So if the U.S. can break into other people's things and those people break into the U.S.'s
44:42 things, like, there's more IP and technical stuff that we have to lose than we're ever going
44:48 to gain from getting other places, I think.
44:51 Yeah.
44:51 I don't think it really makes sense, but, you know.
44:54 I think these are people who grew up the political children of the people who, you know, came up with
45:02 mad.
45:03 I don't know how old you are.
45:04 Remember, like, mutually assured destruction?
45:05 Like, these...
45:07 Yeah.
45:07 Like, these...
45:08 I think that whoever came up with what passes for cyber surveillance and security policy,
45:15 like, I think, I think, like, that stuff didn't make any sense either.
45:19 Yeah.
45:20 Like, like, wait, so we're all going to die?
45:23 That's better.
45:23 And I feel like, like, I feel like that this is somehow, like, that these people are, like,
45:27 the digital version, like, children of that.
45:29 Yeah.
45:29 That craziness.
45:30 Like...
45:31 You're giving me, like, flashbacks.
45:32 It makes me really sad, you know?
45:34 As, like, somebody who loves the internet and loves what we do with the internet, like,
45:38 it makes me so sad that people just treat it as something to be ravaged and pillaged and,
45:46 like, controlled.
45:47 You know, like, I feel like one of the lessons from telecomics is, like, that we can use this
45:54 technology to, like, like, get together and make cool stuff and do beautiful things and,
45:59 like, like, actually make a difference in the physical world and in the lives of people like
46:05 ourselves and each other and the people who need help, like, that just in a way that is
46:11 very rewarding.
46:11 I mean, it's just, it's very, it's very direct to have been able to put these skills
46:16 that I've cultivated for such a long time, like, in direct service of what, what I believe
46:22 when, you know, like, I felt just kind of so politically impotent or just, like, disconnected.
46:27 Like, I just didn't care.
46:28 Like, I just didn't, like, pay attention to what happened in, in mainstream politics and,
46:32 like, just to be able to do stuff.
46:34 I mean, that's the same ethic that's drawn me to, to working on open source.
46:38 It's just that, like, we can go out and actually build stuff and things get better.
46:43 Like, that's such a different, it's so rare we get to have that experience.
46:48 It's a very different life view, right?
46:50 Like, just to think that that can be a thing, right?
46:53 Like, your view of the world is so different if that is your view of the world, right?
46:56 Yeah, exactly.
46:57 Exactly.
46:58 And, like, just that's, you know, at the end of the day, like, I just, I don't, I don't do
47:04 this activism stuff anymore.
47:06 Like, it just kind of, like, it took over my life.
47:08 I just, like, it took all my money.
47:10 It, like, did bad things for relationships and my health.
47:13 And, like, it's just doing this, like, as a full-time and then some job, you know, like,
47:18 that much, it's just not sustainable.
47:20 Right.
47:22 And I feel okay about that.
47:24 I feel like I had, like, this, this, like, like, the world and my, my, my, you know, the
47:29 world's needs and my interests and abilities kind of, like, aligned and then they sort of
47:33 passed on.
47:34 And, like, I'm grateful for that.
47:35 That's awesome.
47:35 That have had that opportunity.
47:38 It sounds a little like people go into the Peace Corps to, like, take a few years and, like,
47:42 dedicate themselves to something.
47:44 This is kind of a, sounds a little like an unofficial version of that in the technical world.
47:48 A little bit, maybe.
47:50 Something like that.
47:50 You know, I look back on, on that and just how the Middle East, you know, what has happened
47:59 there since.
47:59 It just, yeah, I mean, I don't think anybody saw what was, this was going to look like.
48:03 And if I did, like, I mean, it just, you know, like I said, people just ask, ask for help.
48:07 And, like, when I think about the lasting impact, like, I still get, like, emails from people
48:13 who, like, see, like, documentaries I was in or, like, find all new articles.
48:18 And they're like, oh, teach me to be the greatest hacker in the world.
48:21 I'm going to break into everything.
48:21 I'm like, I'm not that kind of hacker.
48:23 And, you know, I also get, like, more.
48:24 I just connect people, man.
48:25 Leave me alone.
48:26 This is not me.
48:27 Yeah, exactly.
48:28 I do.
48:28 That's all I do.
48:29 To people who are more, have more kind of interest and skills kind of more, more aligned with my
48:35 own, and my own methods.
48:37 And just to have, inspire people to do cool stuff.
48:42 Like, you don't have to let it take over your life.
48:44 And you don't have to, like, do things that are big and dramatic.
48:47 Like I said, I moved to Pittsburgh pretty recently.
48:49 And I'm involved in starting a pedestrian activism group here.
48:52 Yeah.
48:53 So why don't, we're getting near the end of the show.
48:54 Maybe just take a moment or two and tell people, like, what you're up to these days.
48:58 Yeah, sure.
48:59 So I moved to Pittsburgh and I'm starting this pedestrian activism group, which is, like,
49:03 way less earth-shaking and daunting and kind of more close to my heart.
49:07 But, like, I set them up a website.
49:09 I set them up a Twitter.
49:10 I helped them set them up.
49:11 Email at, you know, ourdomain.org.
49:14 And just, this is just, you know, like, to help facilitate things, what would otherwise
49:20 be a Facebook group.
49:21 Just kind of, like, most of the people I'm listening, you'd probably go set up a domain and set up
49:25 email routing.
49:26 To be able to go out and do that for some, like, local neighborhood.
49:29 We're not, like, a non-profit.
49:30 We're just, like, there's, like, four of us and we meet once a month or every other month
49:34 and we take a walk.
49:35 Just to be able to go do that basic technical work is so helpful.
49:41 That's awesome.
49:41 Yeah.
49:42 Yeah, that's really cool.
49:43 It sounds like you find people and charities that are trying to make a difference and you
49:47 give them a bigger lever.
49:48 Yeah.
49:49 Than they would otherwise have, right?
49:50 Yeah.
49:51 And I just, you know, I'm totally, I'll totally admit it.
49:53 Like, I lever the things that I care about and I think I can be useful about.
49:56 You can't lever everything, but that doesn't mean you shouldn't do something.
49:59 And there's a real difference between, like, being that lever and doing that work and, like,
50:04 donating is not a substitute for that.
50:07 Donating is good and, like, organizations like the EFF do, like, really good work and they
50:11 need, and the Tor Project, like, need money for that.
50:14 But, like, I just personally feel like that we have an individual responsibility to actually
50:18 do things as well.
50:20 Yeah, that's awesome.
50:20 And you've definitely lived up to that.
50:22 Thanks.
50:23 Some of the stuff you've done.
50:24 So that's very cool.
50:25 Thank you.
50:25 Very cool.
50:27 All right, Pete.
50:28 I normally ask people two questions on the way out the door, but, so I'll go ahead and
50:33 throw them out your way.
50:33 Sure.
50:34 Sure, that's great.
50:34 They seem a little anticlimactic compared to the awesome stuff we've covered.
50:38 So you must have a unique view into the Python world, and there's over 80,000 packages on
50:44 PyPI now.
50:45 So what one do you know?
50:46 I know it's incredible.
50:47 It's like 300 a day or every few days.
50:50 Not updates, but new, right?
50:53 Yeah.
50:53 So are there ones that maybe you think are not well-known that you should tell people?
50:58 Like, what's awesome?
50:59 Working as a freelance developer, I will straight up say Django pays my bills, and I'm really
51:05 grateful for that.
51:06 stuff that is fun for me these days is PySpark.
51:10 Okay.
51:10 Yeah.
51:11 Some big data stuff.
51:12 Very cool.
51:12 Yeah.
51:13 Yeah.
51:13 Yeah.
51:13 Which is, you know, that's, that's my background is that, but you know, when you, when you work
51:17 as a freelancer, you build a lot of websites and I get to do some of the other, the other
51:20 big data stuff as well.
51:22 But yeah.
51:23 Yeah.
51:23 Yeah.
51:23 Awesome.
51:23 And then if, when you edit your code, your Python code, what editor do you use?
51:28 I have two.
51:29 I use a wing IDE.
51:30 Okay.
51:31 Yeah.
51:31 And have been for a number of years.
51:33 It's kind of a little such character, but has some of the best kind of code.
51:36 navigation and completion specifically for Python.
51:39 Yeah.
51:40 I've heard that about it.
51:41 Yeah.
51:41 It's just, it's just awesome.
51:43 And in the shell, Nano.
51:46 I like Nano a lot.
51:47 Really.
51:49 I actually like Nano too.
51:50 Yeah.
51:51 People laugh at, people laugh at me.
51:52 They're like, you must use Emacs.
51:54 You must use, yeah.
51:55 And I'm like, no, I like Nano.
51:56 Cause like, I just want to get stuff done.
51:57 And I just, when editing things in the shell, it's just because I, it's small and I just need
52:02 to be quick and get it done and get it fixed with.
52:04 And I don't want to have to think about how to quit my editor.
52:08 I wanted to say right at the bottom, here's how you quit.
52:10 Like, yeah.
52:12 So, Nano.
52:13 Okay, cool.
52:14 Well, you know, thank you so much for taking the time to share these stories.
52:18 Hopefully it's inspired people to do some stuff because it's very cool what you did.
52:23 And it sounds like you made a real difference.
52:24 Thank you so much.
52:25 It means a lot.
52:26 You bet.
52:27 Yeah.
52:27 See you later.
52:28 All right.
52:28 Take care.
52:28 This has been another episode of Talk Python to Me.
52:32 Today's guest was Pete Fine.
52:34 And this episode has been sponsored by Hired and SnapCI.
52:37 Thank you both for supporting the show.
52:39 Hired wants to help you find your next big thing.
52:42 Visit Hired.com slash Talk Python to Me to get five or more offers with salary and equity
52:46 presented right up front and a special listener signing bonus of $2,000.
52:50 SnapCI is modern, continuous integration and delivery.
52:55 Build, test, and deploy your code directly from GitHub.
52:57 All in your browser with debugging, Docker, and parallels included.
53:00 Try them for free at snap.ci slash Talk Python.
53:03 Are you or a colleague trying to learn Python?
53:06 Have you tried books and videos that left you bored by just covering topics point by point?
53:10 Well, check out my online course, Python Jumpstart by Building 10 Apps at
53:15 talkpython.fm/course to experience a more engaging way to learn Python.
53:18 You can find the links from today's show at talkpython.fm/episodes slash show slash 61.
53:25 Be sure to subscribe to the show.
53:27 Open your favorite podcatcher and search for Python.
53:29 We should be right at the top.
53:30 You can also find the iTunes feed at /itunes, Google Play feed at /play,
53:36 and direct RSS feed at /rss on talkpython.fm.
53:40 Our theme music is Developers, Developers, Developers by Corey Smith, who goes by Smix.
53:45 You can hear the entire song at talkpython.fm/music.
53:49 This is your host, Michael Kennedy.
53:51 Thanks so much for listening.
53:52 I really appreciate it.
53:53 Smix, let's get out of here.
53:56 Staying with my voice.
53:57 There's no norm that I can fill within.
53:59 Haven't been sleeping.
54:00 I've been using lots of rest.
54:02 I'll pass the mic back to who rocked it best.
54:05 Developers, Developers, Developers, Developers, Developers, Developers, Developers, Developers,