Other articles


  1. Replacing tox with UV

    Recently I've been updating some of my libraries to Python 3.10+ after Python 3.9 has finally reached end of life.

    The upgrade to Python 3.10 is a relatively simple one, but I thought it be a good idea to run tests on different versions of Python.

    Existing …

    read more
  2. Writing a SQS task framework from scratch

    Recently I've been working on framework to run LLM tasks using AWS's excellent SQS. And I made the decision to write my own task framework/library as opposed to using a pre-exiting framework. I thought this would be a great opportunity to discuss the considerations and levels of abstractions involved …

    read more
  3. Asyncio is neither fast nor slow

    Don't listen to random benchmarks..

    I recently came across an article benchmarking Python performances in web frameworks, comparing asyncio and sync performance.

    The author sets out to measure performance of FastAPI/Django web servers running with postgresql comparing async and non-async workloads. The methodology is pretty reasonable, the following is …

    read more
  4. Trying out marimo notebooks

    As we approach the holiday seasons, we get to "enjoy" another 12 days of Advent of Code. Every year I try to do something a little different, last year I had a lot of fun solving it in Ocaml, prior years I've tried the latest Python features. This year I've …

    read more

social