It’s been a few months since I last spoke about hyper. The reason I’ve been so quiet is primarily because not much progress has been made on the project. I’ve been swamped with other projects (most notably Project Calico), and that’s limited my ability to make much forward progress. However, in the last few weeks […]
Author: Cory Benfield
HTTPS Is Not Just TLS
Right now the CPython core development team are having an extremely lengthy conversation about whether to enable certificate verification for HTTPS clients. When it comes to making this the new default behaviour in Python 3.5 the response is an enthusiastic “Yes!” (just as it should be). However, when it comes to backporting that behaviour to […]
An Update On Hyper
About half an hour ago I pushed the latest release of hyper, v0.1.0. This marks the first release of hyper since early March! This delay is not because I’ve been resting on my laurels. In fact, a quick check of the git repository shows that there were almost as many commits between v0.0.4 and v0.1.0 […]
A Story About Control
There once was a time when we were in control of our identity. When we met someone we were in control of who we were to them. We could present ourselves as whatever version of ourself we chose: the intellectual, the party animal, the sports fan. We could withhold information, and the balance of probabilities […]
A Brief Digression About Logging
Logging is an interesting subject. For most developers, most of the time, we don’t think too hard about logging. Maybe we’ve got some coding standards that mandate some minimal level of logging, but otherwise we’re just not concerned about how we log. But one day you’ll find yourself five hours into a marathon debugging session, […]
An Investigation Into Hyper
I’ve been working on hyper for a long time now, and it’s finally in a state where I can do real comparisons between hyper and httplib. So I did! And just to vary it up, rather than write it as a blog post, I decided to try doing it as an iPython notebook. If this […]
The Importance of Respect
While chatting in IRC with Eric Holscher tonight the topic of conversation wound its way toward positivity and the need to encourage it. I pointed out that my newest project, hyper, has as part of its contributor guidelines a section about respect. I wanted to talk briefly about why I wrote this, and why I […]
HTTP/2.0 For Python
The HTTPbis have spoken, HTTP/2.0 is happening. Major websites are beginning to adopt it (hello there Twitter!), and the spec is beginning to get nailed down. If you’re unfamiliar with HTTP/2.0 and all the fun things it brings you, Ilya Grigorik has been doing an excellent job evangelising for it. Take a look at this […]
Open Source Currency
Based on anecdotal data I can safely say that most people view “Open Source” as roughly synonymous with “Free” (as in beer). And in an impressive number of cases, that’s actually true. Many (maybe even most) open source developers are happy to give the fruits of their labour away for no cost at all. This […]
Requests 2.0
Every now and then the Requests project gets bored of fixing bugs and decides to break a whole ton of your code. But it doesn’t look good when we put it like that, so instead we call it a ‘major release’ and sell it as being full of shiny new features. Unfortunately it turns out […]
Requests: The Difference Between Params and Data
This question pops up a lot on Stack Overflow, on GitHub, and in the IRC channel, so I thought I’d write a short post to address it. The question is, broadly, this: How do I send data on a POST? I tried params, but that didn’t work! The answer is that Requests has two different […]
Python Requests And Proxies
One of Requests’ most popular features is its simple proxying support. HTTP as a protocol has very well-defined semantics for dealing with proxies, and this has lead to widespread deployment of HTTP proxies. The vast majority of these proxies are ‘transparent’: that is, they sit on the message path and quietly capture HTTP messages before […]
Big Redesign Time
I first posted in this blog 14 months ago. In the history of humanity, that’s not all that long ago, but for me it feels like an age. When I wrote that original blog post, I was still at university (just). I knew I was going to be a software engineer, but didn’t have much […]
Caching In Python Requests
I think I’ve made it clear in the past that I think Requests is awesome. At this stage it’s become a mature, feature-filled library that is more than capable of replacing urllib2 and friends in almost every situation you might be interested in. There are very few things that urllib2 can do that Requests can’t […]
Writing A Persona Identity Provider
As I said in my last post, I recently added Persona Identity Provider functionality to this blog. If you follow me on Twitter (and really, why wouldn’t you?), you might have noticed that this wasn’t an entirely smooth process. Mozilla are a great organisation, and there are lots of great developers working on the Persona […]