For the past two years I have been employed by Hewlett Packard Enterprise to work on the various tools, libraries, and frameworks that make up the open-source Python HTTP ecosystem. This enormous investment by HPE into the OSS Python ecosystem has enabled a number of really important pieces of work, including the creation of a […]
Author: Cory Benfield
Configuring TLS With Requests
A common problem encountered by Requests users is that they need to perform some specific configuration of TLS. This can happen for a number of reasons, but the most common problem is that Requests has a default TLS configuration that is fairly strict. In particular, we recently removed support for all cipher suites that use […]
A Unified TLS API for Python
I have just proposed PEP 543: A Unified TLS API for Python to the python-dev mailing list for discussion. While the bulk of the technical correspondence will happen on that mailing list, I wanted to briefly write a long-form, less formal discussion of why this PEP is important and the problems I’m trying to address. […]
Patches Welcome
For the last 18 months I have been a full-time Open Source Software maintainer. Since starting that role I have taken over the major maintenance work for upwards of 10 software projects, with a cumulative monthly download count somewhere near the millions. In calendar year 2016 I received 15,000 emails from GitHub, despite religiously unsubscribing […]
Python on iOS
This holiday I discovered Pythonista, and my mind was blown. In the iOS world, Pythonista is a well known quantity. I can find articles about it from sources like MacStories from back in 2012. Back then it was fairly rudimentary: no support for folders, no ability to import code from outside the app (at least […]
Debugging Your Operating System: A Lesson In Memory Allocation
It began, as so many investigations do, with a bug report. The name of the bug report was simple enough: “iter_content slow with large chunk size on HTTPS connection”. This is the kind of name of a bug report that immediately fires alarm bells in my head, for two reasons. Firstly, it’s remarkably difficult to […]
The Function Colour Myth
Or: async/await is not what you think it is. Make no mistake: we are living through a new asynchronous programming renaissance. The programming community has spent the 2010s rediscovering the techniques that we used to use to handle highly-concurrent workloads when we didn’t have the memory available to spawn an operating system thread to handle […]
The HTTP Workshop and Python
From the 25th to the 27th of July this year, I was in Stockholm, attending the 2nd HTTP Workshop. This event, a (so far) annual gathering of some of the leading experts in HTTP, is one of the most valuable events I’ve ever had the fortune to attend. Given that I was attending the event […]
One Of The Team: The Hyper Project
As the Hyper project keeps growing, it’s important to realise when it’s become bigger than one person. The best open source projects are build around a collection of individuals who are all motivated towards a shared goal of success: having a group like that makes a project less likely to die, more likely to accurately […]
In Response To Sucuri Security
A few days ago, a company called Sucuri Security posted a blog article that purported to follow up on a paper called The Most Dangerous Code In The World. This paper, which is relatively well known, talks about how many TLS-using implementations in popular programming languages fail to do appropriate verifications of TLS certificates, leading […]
Debugging With Wireshark: TLS
Sometimes in my darker moments I forget that not all programmers get to work with computer networks every day, like I do. This means that many of you don’t have a chance to experience some of the tools and debugging experiences that I do on a nearly daily basis. This is a real shame, because […]
The New Hyper
I’m delighted to announce that today is the release date of version 1.0.0 of my brand new project, Hyper-h2. Hyper-h2 is the first step in what I hope will be a long journey improving the state of HTTP in Python, by providing a set of composable, re-usable libraries that can act as tools for building […]
More HTTP/2 News
Just a short one today folks. I wanted to indicate some exciting stuff that’s happened in the past few hours, and get you excited for how the web is shaping up. A few months ago I wrote a post about how iOS 9 was going to have HTTP/2 support, which you can find here. Since […]
Funding OSS
It’s time to have a conversation, folks. At PyCon AU this year, Russell Keith-Magee just gave an extremely interesting talk about the difficulty of funding OSS sustainably. I recommend watching that talk before reading the rest of this post if you have the time. Russell’s talk ends with something of a call to arms: he […]
PyCon I Love You
I’m coming to the end of my time at PyCon 2015. This is my second time at PyCon, and at this stage I can safely say that PyCon is my favourite conference, bar none. Other conferences are larger or funnier or weirder, but none of them revitalises me like PyCon does. 360 days a year […]