WEBVTT

00:00:00.001 --> 00:00:05.200
Hello and welcome to Python Bytes, where we deliver Python news and headlines directly to your earbuds.

00:00:05.200 --> 00:00:10.720
This is episode 129, recorded live from PyCon.

00:00:10.720 --> 00:00:17.100
Excellent, excellent. And I'm Michael Kennedy.

00:00:17.100 --> 00:00:17.840
And I'm Brian Okken.

00:00:17.840 --> 00:00:19.140
And we are Paul and Barry.

00:00:19.140 --> 00:00:24.420
Yeah, Paul Everitt, Barry Warsaw, thank you guys for joining us here for this live event.

00:00:24.420 --> 00:00:25.140
It's going to be a lot of fun.

00:00:25.140 --> 00:00:25.560
Our pleasure.

00:00:25.560 --> 00:00:30.460
And I also want to say thank you to DigitalOcean for sponsoring this episode as well.

00:00:30.460 --> 00:00:32.860
Check them out at pythonbytes.fm/DigitalOcean.

00:00:32.860 --> 00:00:34.340
More on that later.

00:00:34.340 --> 00:00:36.940
Right now, I think we're going to kick it off with our first item.

00:00:36.940 --> 00:00:38.500
And I'm going to let Brian do that.

00:00:38.500 --> 00:00:42.060
So I'm going to start with actually a talk that was given yesterday.

00:00:42.060 --> 00:00:43.100
Easy research.

00:00:43.100 --> 00:00:46.460
Hynek, and also because I like mispronouncing his name.

00:00:46.460 --> 00:00:52.720
Hynek, and I'm not going to try the last name, did a talk called Maintaining a Python Project When It's Not Your Job.

00:00:53.000 --> 00:01:00.200
And this is really important to me because I'm starting to do some projects that I'm pushing out on open source projects.

00:01:00.200 --> 00:01:04.200
And I'm a little scared of that, how much work that's going to add to my life.

00:01:04.200 --> 00:01:06.980
But it has a whole bunch of great tips in here.

00:01:06.980 --> 00:01:11.780
Along with the talk, he posted an article with a lot of the great information.

00:01:12.000 --> 00:01:18.460
Goes through setting up the development and code of conduct for a project so that people can get started and help you out.

00:01:18.460 --> 00:01:23.040
Even walks through making sure you set up continuous integration on it.

00:01:23.040 --> 00:01:27.000
How to get your testing using Tox as a local CI server.

00:01:27.000 --> 00:01:27.940
Works great.

00:01:27.940 --> 00:01:31.160
And then even goes through making sure that your documentation is up to speed.

00:01:31.160 --> 00:01:32.660
Up to snuff with Sphinx.

00:01:32.660 --> 00:01:34.400
Handling pull requests from people.

00:01:34.400 --> 00:01:35.360
How do you deal with that?

00:01:35.840 --> 00:01:39.200
Building a community of maintainers so that you're not overburdened.

00:01:39.200 --> 00:01:41.420
And how to do releases and deal with that.

00:01:41.420 --> 00:01:47.520
And so it's pretty much the gamut of how to automate most of the work so that you're not burned out from the start.

00:01:47.520 --> 00:01:48.320
So I like that.

00:01:48.320 --> 00:01:49.060
So thanks, Hynek.

00:01:49.380 --> 00:01:51.320
Yeah, you know, that's definitely an interesting challenge.

00:01:51.320 --> 00:01:54.320
Like, you have all these projects that you want to build.

00:01:54.320 --> 00:01:57.300
But I don't know about you, but I've actually said, this is cool.

00:01:57.300 --> 00:02:01.140
I'm going to put it on GitHub, but I'm not going to talk about it because I don't want to own it as a puppy.

00:02:01.140 --> 00:02:02.000
It's cool.

00:02:02.000 --> 00:02:02.420
I need it.

00:02:02.420 --> 00:02:03.540
If people find it, that's great.

00:02:03.540 --> 00:02:05.200
But, you know, it's a challenge, right?

00:02:05.200 --> 00:02:06.940
So it's really cool that you put that talk together.

00:02:06.940 --> 00:02:07.320
All right.

00:02:07.320 --> 00:02:10.760
I'm going to talk about what Barry and I talked about here yesterday.

00:02:10.760 --> 00:02:11.840
Python 1994.

00:02:11.840 --> 00:02:14.300
It's a talk that we do a lot.

00:02:14.300 --> 00:02:17.280
And it's a lot of fun in a cave drawings kind of way.

00:02:17.520 --> 00:02:19.020
But yesterday was a lot of fun.

00:02:19.020 --> 00:02:22.220
And I think it was because we didn't get to talk as long.

00:02:22.220 --> 00:02:25.700
And so we had to leave out all the crap and get straight to the point.

00:02:25.700 --> 00:02:33.060
And part of the point is in 1994, which was 25 years ago, was the first Python event.

00:02:33.060 --> 00:02:33.980
We were at it.

00:02:33.980 --> 00:02:35.540
It was colossal.

00:02:35.540 --> 00:02:36.540
20 people.

00:02:36.540 --> 00:02:41.780
And we talk about how things looked then, what it felt like.

00:02:41.780 --> 00:02:43.160
Did we know it would be like this?

00:02:43.160 --> 00:02:44.140
Of course we knew it would be like this.

00:02:44.140 --> 00:02:47.620
Yeah, I knew that 25 years later, we'd have 3,500 people.

00:02:47.620 --> 00:02:49.260
The strategic plans worked perfectly.

00:02:49.260 --> 00:02:55.480
And we talk a little bit about a certain phrase that we were uttering back at that time.

00:02:55.480 --> 00:02:57.880
What if Guido got hit by a bus?

00:02:57.880 --> 00:02:59.140
That would be bad.

00:02:59.140 --> 00:03:01.220
We like Guido.

00:03:01.220 --> 00:03:02.980
It would still be bad.

00:03:03.140 --> 00:03:06.700
Yeah, so that was definitely a topic of the first workshop.

00:03:06.700 --> 00:03:19.220
And yeah, I don't know what more to say about that other than, you know, I think finding a way to keep Python as a project, but also the community sustainable, has always been on our mind.

00:03:19.220 --> 00:03:28.960
And it's kind of led to, through the PSA, the Python software activity, all the way through the PSF, has always been, we want to keep this thing going.

00:03:28.960 --> 00:03:33.700
And I think it continues, not just for the last 25, but for the next 25 years.

00:03:34.700 --> 00:03:39.320
Barry will talk a little bit about what the answer is, which is just happening last year.

00:03:39.320 --> 00:03:43.100
But the part that's interesting to me about it is pretending that there's a point.

00:03:43.100 --> 00:03:51.880
And if there was a point to be pretended to, it would be, what did we do that kind of painted the road for the way things became?

00:03:51.880 --> 00:03:59.160
And one of the things that came up when we first did this two years ago is, Brett likes to say, God, I get this backwards every time.

00:03:59.160 --> 00:04:00.020
Say it.

00:04:00.020 --> 00:04:02.100
Come for the language, stay for the community.

00:04:02.580 --> 00:04:03.880
Yeah, okay, that one.

00:04:03.880 --> 00:04:07.760
And why would you stay for the community?

00:04:07.760 --> 00:04:09.420
Because the Python community is awesome.

00:04:09.420 --> 00:04:12.280
Some of the communities back then were not.

00:04:12.280 --> 00:04:14.320
And we succeeded because of that.

00:04:14.320 --> 00:04:15.360
Why did we succeed with it?

00:04:15.360 --> 00:04:16.580
Because Guido.

00:04:16.580 --> 00:04:20.700
And we are kind and humane because Guido is kind and humane.

00:04:20.700 --> 00:04:23.540
So that's one of the original points to learn from that.

00:04:23.540 --> 00:04:26.300
But the other is, we're kind of old.

00:04:27.080 --> 00:04:32.900
And our story has been told, and there is a next 25 years of Python and PyCon.

00:04:32.900 --> 00:04:34.760
And it's your years.

00:04:34.760 --> 00:04:38.460
And it's time for the next Python badasses to emerge.

00:04:38.460 --> 00:04:45.620
One of you listening here in the floor, one of you listening on their awesome podcast is going to be that next badass.

00:04:46.000 --> 00:04:48.980
Yeah, so should I talk about the steering council a little bit?

00:04:48.980 --> 00:04:52.920
Okay, so probably everyone knows that, when was it, in July?

00:04:52.920 --> 00:04:53.720
June or July?

00:04:53.720 --> 00:04:59.400
Guido stepped down as the BDFL, which I think was actually kind of a good thing.

00:04:59.400 --> 00:05:01.300
I mean, I think it was good for Guido's own health.

00:05:01.300 --> 00:05:03.700
It was abrupt and unexpected.

00:05:03.700 --> 00:05:05.300
But in the end, I think it was good.

00:05:05.300 --> 00:05:05.480
Yeah.

00:05:05.520 --> 00:05:13.480
And, you know, having gone through the process of the community deciding how they want to be governed, right?

00:05:13.480 --> 00:05:15.760
So Guido said, you guys figure it out.

00:05:15.760 --> 00:05:18.180
And I think the community did figure it out.

00:05:18.180 --> 00:05:25.500
We came up with a series of peps, which all outlined different governance models, looked around at the open source landscape,

00:05:25.500 --> 00:05:33.680
and saw how other communities sort of maybe of Python size, but also smaller and bigger, organized themselves.

00:05:34.360 --> 00:05:47.500
And I think we came up with something that will work for us, but will also evolve as we kind of figure out how to govern the Python technical side of this world moving forward.

00:05:47.500 --> 00:05:52.800
So now we have a steering council of five people that are elected by the core developers.

00:05:52.800 --> 00:05:55.980
And if you want to be involved in that, become a core developer.

00:05:55.980 --> 00:05:58.080
Like, everyone here can be a core developer.

00:05:58.080 --> 00:06:01.520
And we really encourage that, except for Paul.

00:06:03.100 --> 00:06:07.060
What I was impressed was not just the result you came to, but the way you got there.

00:06:07.060 --> 00:06:16.340
Conferred legitimacy on what could have been a controversial and somewhat nasty journey and destination.

00:06:16.340 --> 00:06:18.080
Yeah, I think that was really critical.

00:06:18.080 --> 00:06:24.480
That was an important point in through the entire process was how do we make sure that this is legitimate,

00:06:24.780 --> 00:06:31.040
that it represents the will of the core developers, which sort of represent the entire Python community,

00:06:31.040 --> 00:06:35.300
because we're making decisions that will affect Python moving forward.

00:06:35.300 --> 00:06:39.060
And we want to make sure that that is representative of all Python users.

00:06:39.060 --> 00:06:40.060
I think it's super positive.

00:06:40.060 --> 00:06:44.940
And I think this is the first time that we've had to decide how to govern ourself.

00:06:44.940 --> 00:06:47.500
It was just, we kind of grew into it before.

00:06:48.160 --> 00:06:51.360
Is this like us moving out to go to college and get in our first apartment?

00:06:51.360 --> 00:06:52.880
Or, you know, what's the analogy here?

00:06:52.880 --> 00:06:53.740
Yeah.

00:06:53.740 --> 00:06:56.080
Well, we have to eat a lot of mac and cheese, I guess, first.

00:06:56.080 --> 00:06:58.060
All right, cool.

00:06:58.060 --> 00:07:01.380
Before we go on to the last item here, I just want to say thank you to DigitalOcean.

00:07:01.380 --> 00:07:06.060
I like to highlight stuff that they're doing cool every week on the show when they're sponsoring it.

00:07:06.060 --> 00:07:10.580
And right now, GitHub recently launched their GitHub Actions.

00:07:10.580 --> 00:07:11.740
Are you guys using GitHub Actions?

00:07:11.740 --> 00:07:13.600
Anyone out there to automate stuff when you do check-ins?

00:07:13.740 --> 00:07:14.520
It looks really cool.

00:07:14.520 --> 00:07:17.060
I haven't got to it yet, but definitely looking for it.

00:07:17.060 --> 00:07:22.400
So with DigitalOcean, you can get their GitHub project for GitHub Actions for DigitalOcean.

00:07:22.400 --> 00:07:27.560
And anytime you do a check-in, it can create VMs and, you know, droplets and spaces and all sorts of cool stuff.

00:07:27.560 --> 00:07:32.100
So if you're trying to automate things, you know, look into GitHub Actions and do that with DigitalOcean.

00:07:32.100 --> 00:07:35.300
Check them out at pythonbytes.fm/DigitalOcean.

00:07:35.300 --> 00:07:37.980
Get $100 credit for new users, which is pretty cool.

00:07:37.980 --> 00:07:39.140
All right, last item.

00:07:39.420 --> 00:07:44.200
That's the main one here that I want to talk about is something called TextBlob.

00:07:44.200 --> 00:07:45.620
Sounds awesome, right?

00:07:45.620 --> 00:07:46.860
No, but it's really cool.

00:07:46.860 --> 00:07:53.720
So the two main text understanding libraries, I would say, were NLTK and spaCy.

00:07:53.720 --> 00:07:55.660
So those are pretty cool.

00:07:55.660 --> 00:07:59.120
This one is like a higher level library built on top of NLTK.

00:07:59.540 --> 00:08:05.880
So instead of just going and processing the text, you can do things like pull in some text and say, what are all the sentences?

00:08:05.880 --> 00:08:09.000
What are the words, the unique words in this document?

00:08:09.000 --> 00:08:12.620
What are the phrases or various sayings in there?

00:08:12.620 --> 00:08:13.620
And it'll find that.

00:08:13.620 --> 00:08:15.600
It does things like lemonization.

00:08:15.600 --> 00:08:25.940
You know, if you want to search for goose, but the only keyword you have is geese, like a straightforward search engine is only going to find, you know, nothing or just the gooses or whatever.

00:08:26.280 --> 00:08:34.140
So the geese, you know, it'll basically do that normalization automatically for you, does sentiment analysis, all sorts of cool stuff.

00:08:34.140 --> 00:08:38.840
And there's a great article like going through and analyzing a whole bunch of text and showing you how it works.

00:08:38.840 --> 00:08:43.800
So, yeah, if you've got to do anything with text, TextBlob is pretty awesome.

00:08:43.800 --> 00:08:47.640
It seems like it's really quick and high level unless you need to get really deep.

00:08:47.640 --> 00:08:49.080
So I'd probably start with that.

00:08:49.080 --> 00:08:49.540
It's awesome.

00:08:50.220 --> 00:08:50.420
All right.

00:08:50.420 --> 00:08:53.180
Well, that's it for our four items that we're going to have here.

00:08:53.180 --> 00:09:03.380
And since this is live, we wanted to give you all a chance to maybe ask some questions of these guys or, you know, throw a comment out there to get on the podcast or something like that.

00:09:03.380 --> 00:09:05.720
So, you know, you have to also repeat it.

00:09:05.720 --> 00:09:07.680
It won't really be recorded because the mics don't pick it up.

00:09:07.680 --> 00:09:09.540
But just, you know, feel free to shout it out if you want.

00:09:09.540 --> 00:09:16.060
I'm curious from each of your perspectives, what do you get most out of coming to PyCon and conferences in general?

00:09:16.060 --> 00:09:18.780
Because Mike and Brian are content creators.

00:09:18.780 --> 00:09:20.940
Barry, you're a core developer.

00:09:20.940 --> 00:09:22.580
Paul's a developer advocate.

00:09:22.580 --> 00:09:28.360
So I'm curious what for you is the one or two things you get most out of coming to PyCon or conferences in general?

00:09:28.360 --> 00:09:28.880
Thanks, Jason.

00:09:28.880 --> 00:09:29.540
What are you, Paul?

00:09:29.540 --> 00:09:30.480
Left or right?

00:09:30.480 --> 00:09:37.620
For work, we come not to sell but to listen and to make the PyCharm team face the consequences of their decisions.

00:09:38.920 --> 00:09:47.980
I specifically come, PyCon is my home and my family and this is joy factory of the nth degree for me.

00:09:47.980 --> 00:09:49.960
Yeah, for me, it's definitely the people.

00:09:49.960 --> 00:09:53.340
It's friends that I've known for 25 years.

00:09:53.340 --> 00:10:02.680
It's new people that I get to meet and I find that the hallway track is, for me, the best other than the sprints, which I also love.

00:10:02.680 --> 00:10:05.440
Because it's just the synergy of ideas.

00:10:05.440 --> 00:10:12.300
This person has a cool idea and they haven't connected with that person who also has a cool idea that goes together.

00:10:12.300 --> 00:10:15.280
And that, I think, you can't get that anywhere else.

00:10:15.280 --> 00:10:17.460
It doesn't happen online really as much.

00:10:17.460 --> 00:10:21.280
It just happens when you are face-to-face with 3,500 other people.

00:10:21.420 --> 00:10:23.540
I came to try to find sponsors for testing code.

00:10:23.540 --> 00:10:35.500
There's people that I recognize their faces from their Twitter profiles or their GitHub or on their blog or something.

00:10:36.000 --> 00:10:41.920
But I just interact with them mostly over text or a little 140 or 280, whatever we're up to now.

00:10:41.920 --> 00:10:44.340
And pull requests and things like that.

00:10:44.340 --> 00:10:50.320
And just being able to see people in person, even just for a few seconds to say, hey, you're that guy.

00:10:50.320 --> 00:10:50.700
Yeah.

00:10:50.700 --> 00:10:54.400
And shake hands and say, I appreciate what you're doing everywhere.

00:10:54.400 --> 00:10:57.320
It's an incredible experience and there's nothing like it.

00:10:57.640 --> 00:10:57.780
Yeah.

00:10:57.780 --> 00:10:59.440
I feel kind of like Paul does.

00:10:59.440 --> 00:11:01.380
Like, this is my geek holiday, right?

00:11:01.380 --> 00:11:05.160
Like, I go to vacation with my family somewhere away from tech.

00:11:05.160 --> 00:11:07.100
But, like, this is, like, really special.

00:11:07.100 --> 00:11:10.340
And I just love, I come here to see all of you.

00:11:10.340 --> 00:11:12.460
You know, we have such great interactions online.

00:11:12.460 --> 00:11:16.380
But, you know, some of my dear friends, I only see them at these places, right?

00:11:16.380 --> 00:11:18.080
Like, we connect through the internet.

00:11:18.080 --> 00:11:22.000
But we don't actually get to be in the same place except for times like this.

00:11:22.020 --> 00:11:25.820
So that's what I get out of it, just making those connections deeper and more real.

00:11:25.820 --> 00:11:28.480
Yeah, maybe another question or two if you guys have got it.

00:11:28.480 --> 00:11:28.960
Okay.

00:11:28.960 --> 00:11:31.200
You said that anybody can be a core developer.

00:11:31.200 --> 00:11:33.760
But don't I have to know C to be a core developer?

00:11:33.760 --> 00:11:34.260
No.

00:11:34.260 --> 00:11:34.700
Okay.

00:11:34.700 --> 00:11:36.860
Can you expand on that a little bit?

00:11:36.860 --> 00:11:40.800
Think about it.

00:11:40.800 --> 00:11:45.520
So if you are a Python programmer, like the standard library has a lot of Python code in it.

00:11:45.520 --> 00:11:48.260
And you can be a Python programmer.

00:11:48.260 --> 00:11:51.900
So helping support the standard library is considered being a core developer?

00:11:51.900 --> 00:11:52.700
Absolutely.

00:11:52.700 --> 00:11:55.720
Writing documentation can be considered a core developer.

00:11:55.720 --> 00:12:01.040
Writing bots that help our workflow on GitHub can be considered a core developer.

00:12:01.040 --> 00:12:06.700
I mean, like, expand your thinking about what it takes to be a core developer.

00:12:06.700 --> 00:12:11.300
There's a ton of things that help move Python the project forward.

00:12:11.300 --> 00:12:13.980
And it doesn't just require writing C code.

00:12:13.980 --> 00:12:14.200
All right.

00:12:14.200 --> 00:12:16.420
I got one more for two of you guys there on the end.

00:12:16.420 --> 00:12:18.260
You talked about 1994.

00:12:18.780 --> 00:12:22.000
I suspect it was a smaller group, smaller conference back then.

00:12:22.000 --> 00:12:22.500
Little.

00:12:22.500 --> 00:12:26.380
In 1994, it was 20 people in a government, you know, room.

00:12:26.380 --> 00:12:27.300
A windowless room.

00:12:27.300 --> 00:12:28.120
No windows.

00:12:28.120 --> 00:12:28.360
Yeah.

00:12:28.360 --> 00:12:29.560
Non-distinct.

00:12:29.560 --> 00:12:32.380
It didn't have metal walls and you could throw magnets and they would stick to the wall.

00:12:32.380 --> 00:12:33.180
That's pretty cool.

00:12:33.180 --> 00:12:33.360
Yeah.

00:12:33.360 --> 00:12:33.900
That's pretty awesome.

00:12:34.420 --> 00:12:39.300
So when I walked into the convention hall, the expo hall today, the first day yesterday

00:12:39.300 --> 00:12:43.480
or two days ago, whatever it was, and I saw this stuff, I felt like even from last year,

00:12:43.480 --> 00:12:45.180
there's a little more energy.

00:12:45.180 --> 00:12:50.060
There's a little more effort that all the presenters and companies are putting into the

00:12:50.060 --> 00:12:50.360
space.

00:12:50.360 --> 00:12:52.860
Like, with your perspective, how do you guys see that?

00:12:52.860 --> 00:12:56.080
Did you get that same feeling like Python's still growing and, you know?

00:12:56.240 --> 00:12:57.520
It's definitely still growing.

00:12:57.520 --> 00:13:03.360
And I know, so I work for LinkedIn and where we're seeing a lot of the growth or probably

00:13:03.360 --> 00:13:05.800
most of the growth is in the data sciences, right?

00:13:05.900 --> 00:13:10.940
So, like, that's an entirely new community that has sort of come into Python.

00:13:10.940 --> 00:13:14.080
And I think that's, it's fantastic to see.

00:13:14.080 --> 00:13:20.660
The thing that I loved about Python in 1994 was how easy it is to understand, to read,

00:13:20.660 --> 00:13:21.240
and to write.

00:13:21.240 --> 00:13:22.060
You could know all of it.

00:13:22.060 --> 00:13:23.020
You could know all of it.

00:13:23.020 --> 00:13:28.580
And what I think that appeals to is data scientists who may not be professional programmers.

00:13:28.580 --> 00:13:31.440
So Python is very approachable for them.

00:13:31.440 --> 00:13:34.220
And I think that that is, and you see that everywhere, right?

00:13:34.220 --> 00:13:40.700
In education, in the talks that we had this morning, Python appeals to occasional programmers

00:13:40.700 --> 00:13:46.380
and professional programmers, small programs, one-off scripts, to running Instagram, right?

00:13:46.380 --> 00:13:48.120
Like, that is incredible.

00:13:48.120 --> 00:13:55.620
How many languages appeal to that broad of problem space and size and scalability?

00:13:55.620 --> 00:13:57.180
I think that's actually key to the growth.

00:13:57.180 --> 00:14:02.460
Like, you know, my visualization for that is to think of Python as a full-spectrum language.

00:14:02.460 --> 00:14:06.980
I can start easy, and I don't have to know all the complicated stuff, but you don't outgrow it.

00:14:06.980 --> 00:14:10.840
Like, I could start easy with VB6, but then it stops real quick.

00:14:10.840 --> 00:14:14.680
Or I could start with C++ and build something awesome, but it starts real hard, right?

00:14:14.680 --> 00:14:16.820
But Python kind of goes that full-spectrum.

00:14:16.820 --> 00:14:19.120
You said you could learn all of it in 1994.

00:14:19.120 --> 00:14:21.500
You could also meet all of the people in 1994.

00:14:21.500 --> 00:14:27.380
And one of the things we mentioned yesterday, Spam 2, the conferences were called Spam 1, Spam 2, etc.

00:14:27.380 --> 00:14:32.420
Spam 2 in Menlo Park, there were two guys there from the Digital Library Project.

00:14:32.420 --> 00:14:36.480
Anyone know what that project was later renamed to?

00:14:36.480 --> 00:14:37.540
I'll give you a hint.

00:14:37.540 --> 00:14:38.980
You could probably Google it.

00:14:38.980 --> 00:14:41.860
So it's probably neat that it was written in Python at that time.

00:14:42.240 --> 00:14:49.260
But kind of comparing that to now, one of the fun things, I work for a company that makes tools for programming languages.

00:14:49.260 --> 00:14:50.100
I'm an advocate.

00:14:50.100 --> 00:14:51.640
We have a Slack channel sitting there.

00:14:51.640 --> 00:14:53.120
We talk bleep to each other.

00:14:53.120 --> 00:15:01.480
How satisfying is it for me every time a Stack Overflow survey comes out and my language is number one?

00:15:01.480 --> 00:15:03.300
I paste that URL.

00:15:03.300 --> 00:15:04.480
It's like, bam.

00:15:04.480 --> 00:15:06.180
What y'all got to say about that?

00:15:06.180 --> 00:15:06.960
Yeah, that's pretty awesome.

00:15:06.960 --> 00:15:07.540
Yeah, go for it.

00:15:07.540 --> 00:15:09.820
So I have a question for Barry and Paul.

00:15:09.820 --> 00:15:14.660
So that meeting in 1994, was that where the Python secret underground was born?

00:15:14.660 --> 00:15:15.840
Or did that come later?

00:15:15.840 --> 00:15:17.660
Yeah, we're not allowed to talk about that.

00:15:17.660 --> 00:15:21.760
First rule of the secret underground is you don't talk about the secret underground.

00:15:21.760 --> 00:15:22.640
If we do talk, it's in Dutch.

00:15:22.640 --> 00:15:25.960
The PSU definitely does not exist.

00:15:25.960 --> 00:15:29.960
All right, Brian, is it time for a joke?

00:15:29.960 --> 00:15:31.820
Yeah, let's do a joke.

00:15:31.820 --> 00:15:32.940
Yeah, I've adapted this one.

00:15:32.940 --> 00:15:33.940
I'll see what y'all think.

00:15:33.940 --> 00:15:41.800
So you've heard the thing of sort of like randomness about if you put a million monkeys in front of a keyboard, they're going to write Shakespeare or something.

00:15:41.800 --> 00:15:46.900
Well, if you put a million monkeys at a million keyboards, eventually one of them will write a Python program.

00:15:46.900 --> 00:15:51.220
The other, you know, 999,999 will write a Pearl program.

00:15:51.220 --> 00:15:55.220
Maybe APL.

00:15:55.220 --> 00:15:55.860
I don't know.

00:15:55.860 --> 00:15:57.840
All right.

00:15:57.840 --> 00:15:59.060
Thank you guys for being on the show.

00:15:59.060 --> 00:16:01.160
Brian, thank you as always for doing this.

00:16:01.160 --> 00:16:08.120
Thank you, JetBrains and PyCharm team for giving us this live space to do it and also Digitalition for the support.

00:16:08.120 --> 00:16:10.140
So, and all of you, thank you for coming.

00:16:10.140 --> 00:16:10.720
It's been great.

00:16:10.720 --> 00:16:11.380
Thank you.

00:16:11.380 --> 00:16:17.360
Thank you for listening to Python Bytes.

00:16:17.360 --> 00:16:19.900
Follow the show on Twitter via at Python Bytes.

00:16:19.900 --> 00:16:22.740
That's Python Bytes as in B-Y-T-E-S.

00:16:22.740 --> 00:16:25.980
And get the full show notes at Pythonbytes.fm.

00:16:25.980 --> 00:16:30.200
If you have a news item you want featured, just visit Pythonbytes.fm and send it our way.

00:16:30.200 --> 00:16:32.900
We're always on the lookout for sharing something cool.

00:16:32.900 --> 00:16:36.000
On behalf of myself and Brian Okken, this is Michael Kennedy.

00:16:36.000 --> 00:16:39.420
Thank you for listening and sharing this podcast with your friends and colleagues.