datasette 1.0a40
Release: datasette 1.0a40 Same security fix as 0.65.5, plus some neat new features and bug fixes: Plugins can now launch and manage background tasks using the new datasette.add_background_task() method. Thanks, Alex…
Daily edition · Python
TILens turns technical updates into a focused daily brief: official releases, trusted reporting, and practitioner analysis, deduplicated and organized by topic.
18 articles · 7 sources · 4 papers ·
Release: datasette 1.0a40 Same security fix as 0.65.5, plus some neat new features and bug fixes: Plugins can now launch and manage background tasks using the new datasette.add_background_task() method. Thanks, Alex…
Release: datasette 0.65.5 Security fix for an issue where a trailing newline in a requested table name could bypass table permissions and expose private rows, reported by dpfkdlemtp in GHSA-h547-rmjf-5m2m. Tags:…
Claude Cowork and chat are now one Claude In hopefully good news for anyone who, like me, was increasingly confused at Cowork v.s. Claude v.s. Claude Code: Starting today, Claude Cowork and chat are merging into one…
We should not treat models as though they have feelings, preferences, rights, or any entitlement to our welfare. Consciousness is the foundation of our ethical, legal, and political systems. To invite another entity to…
This is a lightning talk I did at PyCon US 2026: Silence is Golden. The overall message is to leave some quiet time so that reluctant speakers have a chance to participate. I start with a jokey disclaimer because I…
Structures such as lists, tuples, dictionaries, etc., have literal constructors, assert [] == list() assert () == tuple() assert {} == dict() but frozensets do not. To distinguish this from a dictionary, and to expand…
Lint the entire CPython code base from scratch. It takes 0.3 seconds. Three blinks of an eye. That is ruff, and it is written in Rust. So are Pydantic, Polars, uv, and Granian. Rust shows up in Python three ways: tools…
Robust Estimation Series: comparing classical and modern robust estimators through theory, code, and experiments The post How to Make Linear Regression Survive Outliers appeared first on Towards Data Science.
PyTorch and TensorFlow tensor broadcasting: how silent shape errors cause difficult-to-debug machine learning bugs The post Silent Broadcasting Can Ruin Your Model appeared first on Towards Data Science.
Learn an efficient workflow to review AI-generated code in Python: run ruff, mypy, bandit, and pytest, then catch the bugs agents get wrong.
We are extending the search for the Django Software Foundation's first Executive Director. Applications now close at the end of Tuesday, September 22, 2026, anywhere on Earth (AoE). As long as it is still September 22…
A VRAM budget formula for LLM serving, and three optimization strategies mapped to the traffic patterns that trigger the OOM. The post The KV Cache Tax: Why Inference Servers Run Out of Memory Before Compute appeared…
Find out how Python's mutable and immutable types behave, and see how mutability shapes lists, tuples, dictionaries, and your own classes.
What ordering and not eating a large pizza tells us about ML memory management The post The N Squared Pizza Problem appeared first on Towards Data Science.
fastlogging-rs: High-Performance Logging for many different Programming Languages Logging is often the hidden bottleneck in your application. Every log.info(...) call can block your hot path, serialize your threads, and…
Hey. Would there be any interest in adding a counterpart for `os.path.expanduser` like: def unexpanduser(path): home_directory = os.path.expanduser("~") if os.path.isabs(home_directory) and os.path.isabs(path) and…
Adam Johnson explains how to implement the standard /.well-known/change-password URL redirect in Django using RedirectView, helping password managers direct users to their password change pages. He also covers testing…