Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
120
hpr_transcripts/hpr0577.txt
Normal file
120
hpr_transcripts/hpr0577.txt
Normal file
@@ -0,0 +1,120 @@
|
||||
Episode: 577
|
||||
Title: HPR0577: Episode 11.Bit-of-Python-2010-04-07
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0577/hpr0577.mp3
|
||||
Transcribed: 2025-10-07 23:25:38
|
||||
|
||||
---
|
||||
|
||||
You're listening to episode 11 of a little bit of Python. This is a special episode
|
||||
recorded at PyCon at Lanter 2010 with Antoine Petru, a core CPython developer.
|
||||
If you have any comments, feedback or suggestions, you can email us at all at bitofpython.com.
|
||||
Hello, you're listening to a little bit of Python. This is Michael Ford. I'm sitting here in PyCon 2010 and at Lanter.
|
||||
Pretty much in the aftermath of the conference, the final talks and the final lightning talks
|
||||
have recently finished and I'm sat downstairs in a virtually empty hallway with Antoine Petru.
|
||||
Now Antoine is one of the core CPython developers but he's a name that my guess is that
|
||||
not a huge number of you will have heard of. One of the interesting things about this
|
||||
conversation is you get to see certainly for the Python world all these famous people you get to
|
||||
sort of see Guido and chat to Guido. There's Alex Martelli wandering around, Raymond Hattinger,
|
||||
Brett Cannon, all of these focus are pretty well known in the Python world but as is often the case,
|
||||
a lot of the work behind the scenes with developing Python is done by people who maybe don't
|
||||
sort of make themselves known quite so much and Antoine is one of these guys. He's in the last
|
||||
year in one of the top three committers to core CPython so it'll be interesting to hear from him.
|
||||
Hello Antoine. Hello Michael. So how did you first get into programming, first programming with Python
|
||||
and then actually working on Python? Okay well I started programming with Python at the end of 2004
|
||||
when I had a customer who wanted to hire me on a contract and he wanted the project to be
|
||||
the software to be written in Python because it was a research project and researcher which had
|
||||
who had launched the project like Python basically. So I had to learn Python for a couple of weeks
|
||||
before starting that project and I quickly fell in love with a language because it's quite an
|
||||
elegant language, quite simple syntactically and very well well designed and well conceptualized
|
||||
syntactically. So this project was a project was how to say a peer-to-peer virtual world project
|
||||
that is a virtual world system where there is no centralized storage data. Each node in this
|
||||
peer-to-peer world has a knowledge of its neighbors and so the consistency of the world doesn't
|
||||
exist as a whole in centralized places just built incrementally and so this project was
|
||||
written in Python of twisted and W is widgets and yes this is how I started programming in Python.
|
||||
Since I had fallen in love with a language I decided that not only my following projects should
|
||||
be done in Python but that one day I would start contributing, we would try to contribute to a
|
||||
language. So I started picking up some bugs on the tracker and proposing patches and so on.
|
||||
So did you find it easy to get involved with actually developing Python?
|
||||
Yes and no. Contributing patches is easy. Getting to getting in the communities is not so easy when
|
||||
you are not affluent in this speaker. There is quite a culture of restraint and politeness which
|
||||
is not easy to get when you don't have a necessary vocabulary. So you think Python program is a
|
||||
restrained and polite. I'm not sure if individually restrained and polite but there is an atmosphere in
|
||||
the community which fosters this kind of attitude. So that kind of made you feel like it was a bit
|
||||
hard to get in because you didn't want to go against the sort of community norms as it were?
|
||||
Yes. That's interesting to hear. So when did you actually get the commit rights to Python?
|
||||
I got the commit rights nearly two years ago. I think it was almost the beginning of summer,
|
||||
2008. That was, I'd say roughly six months after I started a really contributing.
|
||||
Wow. What sort of things have you worked on?
|
||||
I've worked on a range of things. I've worked quite a bit on Python-free, more than
|
||||
two.experts. I've worked on, together with another French guy called Amory Forsradark.
|
||||
We wrote the I-O library of Python-free.0 which was written in pure Python. We wrote it in C.
|
||||
So the big move from 3.0 to 3.1. A big part of that was about having the faster I-O layer in C.
|
||||
Yeah. You did a good chunk of that, did you?
|
||||
Yes. I did a good chunk of that, yes.
|
||||
Wow.
|
||||
Yes. I also worked on a new implementation of a global interpreter lock, which I didn't
|
||||
remove unless most people would have hoped, but the goal was to fix some glaring inefficiencies
|
||||
in the implementation of this gear. That was what came out of David Beasley did a talk on
|
||||
the global interpreter lock when he shows what happens when you have CPU band threads competing for
|
||||
the gear on a multi-core processor.
|
||||
Yes. It was his talk which triggered me to get into his problem. At first I had a mixed feeling
|
||||
about his talk because it looked like some numbers looked really outrageous and when you tried to
|
||||
run them on the Linux it was not so bad, but it was particularly a problem for MacOS, which is
|
||||
what David is. Yes. Yes. The benchmark he chose was clearly a worst-case benchmark for 2.x.
|
||||
Right. It was a very pathological case and it wasn't a realistic world case because it was just a
|
||||
spinning loop. Right. But on the other hand, it helped uncover a real problem really.
|
||||
I then wrote a custom benchmark called CCBench, which is a concoursey benchmark, which
|
||||
helped me really assess the effects of the gear on two different kinds of metrics, which are
|
||||
threads which in latency when you have an IO thread which is running and which is waiting for
|
||||
packets. How long does it take when a packet arrives for the IO thread to wake up and get to process
|
||||
it? Another metric which is throughput, that is when you run several CPU band threads, how much
|
||||
throughput do you get compared to one single thread? So my goal was to improve those two metrics.
|
||||
Right. Right. And that code has gone into what will become Python 3.2? Yes. It has been
|
||||
committed now. And that was the first time that the global interpreter lock code has been touched
|
||||
in many years apparently? Yeah, apparently. I hadn't looked at the logs to know exactly one
|
||||
and it hadn't been touched for the last time. It's true that the thread and primitives inside
|
||||
the interpreter, which basically abstract very different thread and libraries are very old and
|
||||
rusty and archaic. So do you think there's more work that could be gone into to working on those?
|
||||
Yes, definitely. And we have started deprecating some very very old platforms like SGI, IRIX,
|
||||
this kind of thing, which will help us build some new primitives, some more sophisticated primitives.
|
||||
Using using constructs supported by more modern operating systems? Yes, basically we will support
|
||||
only projects and windows. And perhaps always to if the maintainer, Andrew McIntyre, I think,
|
||||
gets to do a support. Cool. Wow. What about porting the new gear back to Python 2? That sounds like
|
||||
that hasn't been done. Why hasn't that been done? Well, I wasn't interested in doing it in
|
||||
3.x. First, because we had to duplicate the thread in APIs and declare that various platforms are
|
||||
not supported anymore because I couldn't use just the primitives that we have in this thread in
|
||||
abstraction because we are too crude to do something efficient. So support in the old platforms
|
||||
was actively preventing you solving the problem? Yes, yes. And besides, I wanted it to be a 3.2
|
||||
feature because I think it's nice that 3.x has things that do that hasn't. Right. Getting the
|
||||
community wider community of Python, including the library authors and application authors and
|
||||
giving them good reasons to see that Python 3 has a lot to offer. So it's like a good thing.
|
||||
Yes. So what else is coming up in Python 3.2 that we should be interested in?
|
||||
Oh, it's a good question. I don't have a list on the market, so I can tell you.
|
||||
So now we don't have a lot of features. It's still a while away. At the time we're recording this,
|
||||
who knows when people will actually be listening to it, but yes. Python 2.7 comes first and then later
|
||||
in 2010, there is the 3.2. We have a moratorium too, there's obviously less core
|
||||
language changes. So more under the cover changes? Yes. A lot of polishing, I think,
|
||||
probably polishing the standard library because we are still a bit some issues with things like
|
||||
Unicode by separation in some modules which have been a bit overlooked. Right. The move to an
|
||||
all-unicode has a lot of API implications, which really needs to be worked through the standard
|
||||
library. For example, the email module is said to be a big broken in Python 3.x. Which
|
||||
module? The email module. So how have you found Python 2010? Is this your first? Yes, it's my first
|
||||
Python. Have you enjoyed it? Yes, it's quite pleasant to meet all these people which I had never
|
||||
met before for most of them. Yeah, it's quite enjoyable. Which talks have you been to?
|
||||
What sort of face have you particularly? Well, I've been to Gerl talk, obviously. I had to see
|
||||
what he had to say about it and how exactly he was talking about it. What I have seen? I have
|
||||
discovered a pioneer, which is the Python implementation of a parrot, which is directly target
|
||||
in Python 3, which is a good thing. I think that's the two most interesting talks. Well, the two talks
|
||||
which interested me a bit. What about Leiden Swallow? What are your thoughts about that? And
|
||||
bringing C++ into the language? Oh, well, I'm not opposed to C++. It's not the most
|
||||
of the language and it's obvious that like many people, I would like
|
||||
pipators exceed and perhaps one day become the reference implementation, but it seems to be
|
||||
quite far from now. It was really interesting to see because pipa has been around for many years.
|
||||
When it first came out and the first talked about bringing it into Python, there's a lot of
|
||||
excitement in the community and then seemingly nothing happened for several years, but this year
|
||||
they've presented and they've actually shown real world benchmarks, not just sort of true real
|
||||
numeric benchmarks, running chunks of applications and whether actually starting to share a
|
||||
speed improvement. So I think this year, again, the Python community is starting to get excited
|
||||
again about pipa. Yeah, there's a problem. We've projects that get very related,
|
||||
if there are some psychological barriers because people are a bit bored.
|
||||
Okay, it's been great to talk to you everyone. Thank you very much.
|
||||
Reference in New Issue
Block a user