django-planet

James Bennett

Blog Info James Bennett
Blog website Link

Boring Python: code quality

Dec. 19, 2022 » James Bennett » [Archived Version]

This is the second in a series of posts I intend to write about how to build, deploy, and manage Python applications in as boring a way as possible. In the first post in the series I gave a definition of what I mean by “boring”, and it’s worth revisiting: I don’t mean “reliable” or “bug-free” or “no incidents”. While there is some overlap, and some of the things I’ll be recommending can help to reduce … Read full entry

Read More

A Python 3.11 "gotcha"

Nov. 8, 2022 » James Bennett » [Archived Version]

Recently at work I’ve been doing a bit of performance tuning on a service that’s getting ready to launch. It’s been built mostly on the tried-and-true principle of “first make it correct, then make it fast”, and really more like “then make it fast if necessary“. This is important because you generally want to have an idea of your performance goals up-front, and if you’re already hitting them then you should not spend a … Read full entry

Read More

A Python 3.11 "gotcha"

Nov. 8, 2022 » James Bennett » [Archived Version]

Recently at work I’ve been doing a bit of performance tuning on a service that’s getting ready to launch. It’s been built mostly on the tried-and-true principle of “first make it correct, then make it fast”, and really more like “then make it fast if necessary“. This is important because you generally want to have an idea of your performance goals up-front, and if you’re already hitting them then you should not spend a … Read full entry

Read More

Understanding async Python for the web

Aug. 16, 2022 » James Bennett » [Archived Version]

Recently Django 4.1 was released, and the thing most people seem interested in is the expanded async support. Meanwhile, for the last couple years the Python web ecosystem as a whole has been seeing new frameworks pop up which are fully async, or support going fully async, from the start. But this raises a lot of questions, like: just what is “async” Python? Why do people care about it so much? And is it really … Read full entry

Read More

Understanding async Python for the web

Aug. 16, 2022 » James Bennett » [Archived Version]

Recently Django 4.1 was released, and the thing most people seem interested in is the expanded async support. Meanwhile, for the last couple years the Python web ecosystem as a whole has been seeing new frameworks pop up which are fully async, or support going fully async, from the start. But this raises a lot of questions, like: just what is “async” Python? Why do people care about it so much? And is it really … Read full entry

Read More

Yes, I have opinions on your open source contributions

July 11, 2022 » James Bennett » [Archived Version]

Recently the Python Package Index announced that they will be implementing new account-security policies, and hoo boy are some people ever worked up about it. This has already escalated to the author of at least one high-download-count package — one which was a dependency of pytest, thus likely to break a lot of people’s testing and CI right as the weekend started, always nice — deleting their package from PyPI out of anger and announcing … Read full entry

Read More

Yes, I have opinions on your open source contributions

July 11, 2022 » James Bennett » [Archived Version]

Recently the Python Package Index announced that they will be implementing new account-security policies, and hoo boy are some people ever worked up about it. This has already escalated to the author of at least one high-download-count package — one which was a dependency of pytest, thus likely to break a lot of people’s testing and CI right as the weekend started, always nice — deleting their package from PyPI out of anger and announcing … Read full entry

Read More

Boring Python: dependency management

May 13, 2022 » James Bennett » [Archived Version]

This is the first in hopefully a series of posts I intend to write about how to build/manage/deploy/etc. Python applications in as boring a way as possible. So before I go any further, I want to be absolutely clear on what I mean by “boring”: I don’t mean “reliable” or “bug-free” or “no incidents”. While there is some overlap, and some of the things I’ll be recommending can help to reduce bugs, I also want … Read full entry

Read More

Boring Python: dependency management

May 13, 2022 » James Bennett » [Archived Version]

This is the first in hopefully a series of posts I intend to write about how to build/manage/deploy/etc. Python applications in as boring a way as possible. So before I go any further, I want to be absolutely clear on what I mean by “boring”: I don’t mean “reliable” or “bug-free” or “no incidents”. While there is some overlap, and some of the things I’ll be recommending can help to reduce bugs, I also want … Read full entry

Read More

For hire

Jan. 24, 2022 » James Bennett » [Archived Version]

As I write this it’s the evening of January 23, 2022. A little over two weeks ago I gave notice at my now-former employer, and as of two days ago I am officially on the job market. If you already know me and are interested in talking about an opportunity, please get in touch. Or if you want to know a bit more first, read on… Who I am It’s a bit tricky to pin down when … Read full entry

Read More