Jamie's Blog
- Posts
- 43 from 17 Sep 2024 to 12 May 2026
- Posting
- monthly (14 in the last year)
- Kind
- personal blog
- Feed
- https://blog.changs.co.uk/feeds/all.atom.xml
2026 13
- Python 3.15: features that didn't make the headlines
- You can (kind of) run Django in subinterpreters
- Don't make Python code decisions based on whitespace
- Benchmarking Free-threading Performance with Tachyon
- Free-threading is slowly getting there
- Datetime Arithmetic in Python
- Caching an Asyncio Function the Easy Way
- Counting down Chinese New Year with Marimo
- Replacing tox with UV
- Webasgi - Run python web apps in a browser
- Writing a SQS task framework from scratch
- Asyncio is neither fast nor slow
- I was wrong about Subinterpreters
2025 22
- Trying out marimo notebooks
- Fixing lazy imports: Generating Static Types Dynamically
- Python 3.14: 3 Asyncio Changes
- Finally trying out Mojo 🔥
- Blog 1 year in
- Asyncio backpressure - follow up
- Simplify lambda deployments with UV
- Dynamic config part 1: Pydantic and file watchers
- Subinterpreters and Asyncio
- Python 3.14: 3 smaller features
- My Chinese birthdays, time keeping is hard!
- Asyncio backpressure - Processing lots of tasks in parallel
- Docker's MCP toolkit First Look
- First Look at MCP
- Python 3.14: State of free threading
- t-strings: the good and the ugly
- Why you should write your tools in Python Again
- Building a DSL with Python Operators
- better-functools: Python functional fun
- Sqlalchemy Footgun: Discarding the statement
- Jamie's Pattern Matching Cookbook
- How good are sub-interpreters in Python now?