Some Links: May 2023

I'm still in the process of trying out different styles of blogging to see what works for me. Today we'll be roleplaying as a link blog, but with one aggregate post covering the month of May instead of one post per link. Let me know what you think!

I built this list throughout the month on Raindrop.io - you can also see this list over there.

Kernel

  • Linux 6.3 was released at the end of April. See the Linux Kernel Newbies page and Linus' release email for more details.
  • Rob Herring posted a very welcome patch to organize the ARM device trees (1553 files and growing) into per-vendor subdirectories. I gave this my ack as maintainer of the SanCloud device trees and hope to see the new layout in Linux 6.5.
  • The fourth installment of "50 years in filesystems" by Kristian Köhntopp takes us back to 1994 and the design of the XFS filesystem. XFS has been my filesystem of choice for most of the time I've been using Linux. I've not done any solid benchmarking but the support for large filesystems and the focus on bandwidth & concurrency are a good match to my needs. I've been really enjoying this series of articles!

C & C++

Rust

Python

  • I discovered the Nobody has time for Python blog this month and I'm enjoying the posts there. In particular, I want to highlight Happiness is a good PYTHONSTARTUP script - this post discusses how to customise an interactive Python/IPython shell with a startup script. I wouldn't go as far as this post does, I think a 320 line startup script is overkill, but I will be making use of some of the suggestions here.
  • LWN explored Ruff: a fast Python linter written in Rust. I don't think this is yet ready to replace flake8 & isort for me, but I'll definitely be checking back in a year or so to see how this has progressed.
  • Since pip v23.0, a Python environment can be marked as "Externally Managed" which will prevent installation of additional packages via pip. This has been enabled recently on Gentoo and on Debian Bookworm (currently in pre-release) to push users to install such Python packages with the system package manager, or use a venv where appropriate. The article "Externally managed environments": when PEP 668 breaks pip covers this development well and suggests changes to your workflow if you're used to just pip install-ing packages.
  • I've started switching from markdownlint (written in Ruby) to PyMarkdown for linting my readmes, changelogs and other Markdown documents. It's much easier for me to deploy Python development tools as they can be easily installed in a venv. This project is still very much beta quality, but it's working for me so far!
  • A lot has happened this month in the world of PyPI. I wrote Thoughts on PyPI, PGP and Sigstore in response to the removal of PGP signature support. We've also learned that PyPI was subpoenaed and that every account that maintains any project or organization on PyPI will be required to enable 2FA on their account by the end of 2023.

Other Topics

Thanks for reading!

Except as otherwise noted, all content in this post is Copyright 2012-2023 Paul Barker. Words and images may be re-used for non-commercial purposes under the CC BY-NC 4.0 license and code samples are made available under the Apache 2.0 license.