Vue lecture

Python steering council accepts lazy imports

✇LWN
Par :jake
Barry Warsaw, writing for the Python steering council, has announced that PEP 810 ("Explicit lazy imports") has been approved, unanimously, by the four who could vote. Since Pablo Galindo Salgado was one of the PEP authors, he did not vote. The PEP provides a way to defer importing modules until the names defined in a module are needed by other parts of the program. We covered the PEP and the discussion around it a few weeks back. The council also had "recommendations about some of the PEP's details, a few suggestions for filling a couple of small gaps", including:
Use lazy as the keyword. We debated many of the given alternatives (and some we came up with ourselves), and ultimately agreed with the PEP's choice of the lazy keyword. The closest challenger was defer, but once we tried to use that in all the places where the term is visible, we ultimately didn't think it was as good an overall fit. The same was true with all the other alternative keywords we could come up with, so... lazy it is!

What about from foo lazy import bar? Nope! We like that in both module imports and from-imports that the lazy keyword is the first thing on the line. It helps to visually recognize lazy imports of both varieties.

  •  

[$] An explicit thread-safety proposal for Python

✇LWN
Par :daroc

Python already has several ways to run programs concurrently — including asynchronous functions, threads, subinterpreters, and multiprocessing — but all of those options have drawbacks of one kind or another. PEP 703 ("Making the Global Interpreter Lock Optional in CPython") removed a major barrier to running Python threads in parallel, but also exposed Python programmers to the same tricky synchronization problems found in other languages supporting multithreaded programs. A new draft proposal by Mark Shannon, PEP 805 ("Safe Parallel Python"), suggests a way for the CPython runtime to cut down on concurrency bugs, making it more practical for Python programmers to use versions of the language without the global interpreter lock (GIL).

  •  

La nouvelle idée d’Elon Musk pour sauver le climat ? Des satellites pour faire écran au Soleil

elon musk terre soleil

Pourquoi ne pas interposer entre le Soleil et la Terre une sorte de parasol qui réduirait le rayonnement solaire frappant la planète bleue ? Un parasol qui serait en fait une méga-constellation de satellites pilotés par l'IA et fonctionnant à l'énergie solaire, pour lutter contre le changement climatique. Voilà ce que propose Elon Musk.

  •  

« C’est l’histoire de deux êtres artificiels qui ont tenté de se faire embaucher », une entreprise révèle les entretiens de deux hackers nord-coréens

Les équipes de recherche de Bitso ont partagé deux entretiens d’embauche inhabituels. Les candidats, dissimulés derrière des faux visages générés par deepfake, seraient liés à un groupe de hackers nord-coréens cherchant à infiltrer des entreprises du secteur des cryptomonnaies.

  •  

Les taxis autonomes sont partout aux US et en Chine : on les a essayés et on s’inquiète pour la France

À San Francisco, il est devenu impossible de marcher 10 mètres sans tomber sur un véhicule Waymo, avec des capteurs sur le toit et sans personne au volant. La startup spécialisée dans les taxis autonomes, qui appartient à Google, envahit progressivement les États-Unis. Elle s'attaquera prochainement à l'Europe en commençant par Londres, qui dispose d'un cadre règlementaire plutôt favorable.

  •  

[$] Namespace reference counting and listns()

✇LWN
Par :corbet
The kernel's namespaces feature is, among other things, a key part of the implementation of containers. Like much in the kernel, though, the namespace API evolved over time; there was no design at the outset. As a result, this API has some rough edges and missing features. Christian Brauner is working to straighten out the namespace situation somewhat with this daunting 72-part patch series that, among other things, adds a new system call to allow user space to query the namespaces present on the system.
  •  

A new kernel port — to WebAssembly

✇LWN
Par :corbet
Joel Severin has announced the availability of his port of the Linux kernel to WebAssembly; one can go to this page and watch it boot in a browser.

Wasm is similar to every other arch in Linux, but also different. One important difference is that there is no way to suspend execution of a task. There is a way around this though: Linux supports up to 8k CPUs (or possibly more...). We can just spin up a new CPU dedicated to each user task (process/thread) and never preempt it
  •  

Security updates for Monday

✇LWN
Par :jzb
Security updates have been issued by AlmaLinux (.NET 8.0, .NET 9.0, and webkit2gtk3), Debian (ruby-rack, strongswan, ublock-origin, and wordpress), Fedora (firefox, kea, openapi-python-client, openbao, python-uv-build, qt5-qtbase, ruby, ruff, rust-astral-tokio-tar, rust-attribute-derive, rust-attribute-derive-macro, rust-backon, rust-collection_literals, rust-get-size-derive2, rust-get-size2, rust-interpolator, rust-manyhow, rust-manyhow-macros, rust-proc-macro-utils, rust-quote-use, rust-quote-use-macros, rust-reqsign, rust-reqsign-aws-v4, rust-reqsign-command-execute-tokio, rust-reqsign-core, rust-reqsign-file-read-tokio, rust-reqsign-http-send-reqwest, rust-tikv-jemalloc-sys, rust-tikv-jemallocator, samba, skopeo, sssd, Thunar, unbound, uv, vgrep, and xorg-x11-server-Xwayland), Mageia (bind, libtiff, sope, and transfig), Oracle (compat-libtiff3, kernel, libtiff, redis, redis:6, and redis:7), Red Hat (kernel, kernel-rt, libssh, xorg-x11-server, and xorg-x11-server-Xwayland), Slackware (seamonkey), SUSE (bind, chromedriver, chromium, colord, coreboot-utils, git-bug, ImageMagick, java-11-openj9, java-17-openj9, java-21-openj9, java-25-openj9, kea, libmozjs-115-0, libmozjs-140-0, libssh, libtiff-devel-32bit, nodejs18, ongres-scram, poppler, python311-starlette, rav1e, squid, strongswan, webkit2gtk3, xorg-x11-server, and xwayland), and Ubuntu (linux-gcp-6.14 and linux-hwe-6.8).
  •