P G Jones

A Blog About Software Development

Welcome to my blog.
Atom Feed RSS Feed
This site is now written in Svelte

I've rewritten the frontend of this website using Svelte + Sapper and it works great. I think Svelte + Sapper is the best of the modern web frameworks for my needs.

Read more →

Quart turns 3

The first release of Quart, 0.1.0, was three years ago today. This a brief review and an attempt to produce a roadmap towards version 1.0.

Read more →

Packaging without setup.py

I've recently started packaging without setup.py by using poetry and pyproject.toml. This explains why and how I have done so.

Read more →

Is there a startup time cost to type hinting?

Type hints in Python 3 are executed at import time at a computational cost. This cost can removed in Python >= 3.7 via from __future__ import annotations, see PEP-563. The startup time when importing quart is measured both with and without the future import with no difference observed.

Read more →

Making Flask async and Quart sync

I've proposed a change to Flask to support async(io) view functions following on from a recent change to Quart to support (non-blocking) sync view functions. This article explains this approach and why Flask and Quart are necessarily complimentrary projets.

Read more →

Verifying HTTP/2 Prioritisation in Hypercorn

Hypercorn 0.8.0 introduced support for HTTP/2 prioritisation the verification of which is demonstrated via a simple webpage.

Read more →

An early look at HTTP/3

This is an overview of how this site performs when served over HTTP/3.

Read more →

Adding an RSS feed

RSS is very useful feature that was missing from this blog, so I've added it. This explains why I've added it and how.

Read more →

How to serve HTTP 1, 2, and 3 in Python

Serving HTTP/1, HTTP/2, and HTTP/3 in Python has never been easier, as Hypercorn can serve all three. This article will show how to use Hypercorn and how Hypercorn uses three great Sans-IO libraries to work.

Read more →

How to setup CORS for a Single Page App

Modern Single Page Apps have a increasingly common architecture whereby the frontend is served on a different domain to the backend necessitating the use of CORS. This article shows how to make CORS work in this architecture.

Read more →

My experience with Push Promises (Server Push)

This is a commentrary on my usage of, and experience with, push promises and how I've added support in Quart.

Read more →

Medium blog

Before I made this site I blogged on medium.com under the handle @pgjones. I still do for articles that are related to my employment.

Read more →

Stet.io blog

Stet.io is an online image editor I developed, it also had a blog about it and image processing techniques.

Read more →