Cleve Moler (Matlab, MathWorks) passed away on May 20, 2026
Résumé indisponible pour cet article.
Les meilleurs longs formats de Hacker News, relus plus calmement.
Résumé indisponible pour cet article.
L'inférence des grands modèles est limitée par la VRAM, la recomputation répétée des prompts et les boucles d'inférence peu optimisées. La solution fournit une intégration drop‑in pour HuggingFace qui réutilise au niveau des chunks le cache K/V, exploite FlashAttention‑2, permet le streaming de couches quantifiées AWQ et déplace dynamiquement des blocs K/V vers la RAM CPU. Sur du matériel réel, elle affiche des accélérations du temps jusqu'au premier token de 3–5×, des taux de hit du cache multi‑tours supérieurs à 80% et permet d'exécuter des modèles 32B sur des GPU à 8 Go grâce au streaming de poids. Le fonctionnement repose sur le hachage déterministe de chunks pour sauter l'attention sur les portions inchangées, l'utilisation de FlashAttention‑2 pour les nouveaux tokens et l'éviction asynchrone de blocs K/V vers la RAM sans modifier les modèles ni nécessiter de fine‑tuning. Le projet est open source sous licence MIT, s'installe via pip, dispose de documentation et d'un dépôt public, et prévoit d'ajouter parallélisme multi‑GPU, décodage spéculatif et support étendu (GGUF/GGML, kernels Triton) à l'avenir.
La version 3.15 de Python introduit un ensemble de nouveautés, notamment des changements pour l'importation paresseuse et le profileur tachyon. asyncio TaskGroup gagne une méthode cancel qui permet d'annuler proprement un groupe de tâches sans lever d'exception et facilite la gestion des interruptions. Le gestionnaire de contexte ContextDecorator étend désormais son comportement aux fonctions asynchrones, aux générateurs et aux itérateurs asynchrones afin de couvrir tout le cycle de vie du code décoré. La bibliothèque threading reçoit des utilitaires pour la concurrence sur les itérateurs, notamment serialize_iterator, synchronized_iterator et concurrent_tee, ce qui simplifie le partage d'itérateurs entre threads sans recourir aux queues. Parmi d'autres changements on trouve l'opérateur XOR pour collections.Counter et la possibilité de parser des JSON en structures immuables et hachables via array_hook et frozendict.
Les mycorhizes sont des associations symbiotiques entre les racines des plantes et des champignons dont les filaments mycéliens étendent la surface d'absorption des racines de dix à mille fois pour capter eau et nutriments. Cette relation vieille de plus de 460 millions d'années est présente chez plus de 90 % des espèces terrestres et domine la biomasse microbienne des sols non perturbés. Les mycorhizes améliorent la nutrition minérale en dissolvant des éléments serrés comme le phosphore, stockent l'eau, renforcent la structure du sol et protègent les racines contre divers agents pathogènes et ravageurs. Dans les milieux perturbés par le compactage, le labour, l'enlèvement de terre végétale ou l'usage intensif d'engrais et pesticides, les champignons mycorhiziens sont souvent absents et doivent être réintroduits lors de la plantation. Des inoculants commerciaux sous forme de spores ou granulés, parfois enrichis en matières organiques ou gels, permettent une application simple et peu coûteuse pour favoriser l'établissement et la santé des plantes.
Les cartes perforées étaient autrefois omniprésentes dans la comptabilité, la collecte de données et l'informatique naissante. À leur apogée dans les années 1950 et 1960, des centaines d'entreprises imprimaient chaque mois des millions de cartes perforées. Rapidement rendues obsolètes, elles ont presque disparu de la conscience publique quelques années plus tard. Cette archive rassemble une petite sélection de ces cartes et des documents associés. Son objectif est de documenter et de préserver ces fragments d'histoire pour les générations futures.
Il s'agit d'une plateforme pair-à-pair pour applications décentralisées permettant communication, collaboration et commerce sans dépendre des grandes entreprises technologiques. Votre ordinateur rejoint un réseau mondial où les applications sont résistantes à la censure, interopérables et basées sur des protocoles ouverts. Les pairs forment un réseau en petit monde organisé en anneau, ce qui permet aux messages d'atteindre leur destination en quelques sauts et de monter à l'échelle sans serveurs centraux. Les applications s'exécutent dans le navigateur comme des sites web ordinaires mais fonctionnent en pair-à-pair, ne suivent pas l'utilisateur et ne peuvent pas être facilement supprimées. Les développeurs peuvent utiliser des outils familiers comme Rust et TypeScript pour déployer des applications sans serveur ni coûts cloud, et le projet est soutenu par une petite équipe financée par des subventions et des dons.
L'auteur passe la moitié de l'année au Maasai Mara et accumule des téraoctets de prises vidéo qu'il n'arrive pas à monter faute de temps. Plutôt que d'utiliser des services cloud, il a conçu un index local et des fichiers sidecar .description.md par clip, en extrayant métadonnées, images, transcription et embeddings via ffprobe, exiftool, ffmpeg, WhisperX et insightface. Le pipeline utilise plusieurs backends de vision (Claude via Max CLI, Anthropic et un modèle local Gemma 4 31B dans LM Studio) orchestrés par Claude Code, et il a tourné sur un MacBook Pro M1 Max 2021 en poussant beaucoup de swap mais avec succès. En cours de route il a corrigé des bugs (changements d'API, réponses de permission silencieuses, formats imprévus) et retenu des leçons comme l'importance des schémas énumérés pour limiter la confabulation et la primauté d'un index structuré sur des éditeurs vidéo qui supposent des archives labellisées. La suite consiste à intégrer un éditeur (DaVinci Resolve MCP et ElevenLabs pour la voix) au‑dessus de l'index pour produire des reels et remettre en ligne les réseaux sociaux, avec le code publié sur GitHub pour contributions.
Résumé indisponible pour cet article.
Astral's uv est très rapide, remplace plusieurs outils par un binaire unique et facilite le démarrage de projets Python. L'auteur estime que la maintenance est moins agréable qu'avec pnpm ou Poetry, notamment pour la vérification des paquets obsolètes en l'absence d'une commande uv outdated. La commande uv tree --outdated --depth 1 fournit une sortie verbeuse qui oblige à parcourir tout l'arbre de dépendances pour repérer les mises à jour utiles. Par défaut uv ajoute des contraintes sans borne supérieure (par exemple "pydantic>=2.13.4"), ce qui rend les mises à jour risquées et fait de uv lock --upgrade une opération potentiellement disruptive. Une option --bounds major existe en aperçu et la syntaxe d'upgrade-package est jugée peu ergonomique, d'où la demande d'un affichage dédié des obsolescences, d'une mise à jour plus conviviale et de contraintes respectueuses de SemVer.
Ce client HTTP fonctionne dans un terminal et est conçu pour interagir avec des API REST et d'autres services HTTP. Il propose deux modes d'utilisation : une interface utilisateur en terminal (TUI) et une interface en ligne de commande (CLI). La TUI permet d'envoyer des requêtes de façon interactive et de visualiser les réponses, tandis que la CLI sert pour des requêtes rapides et l'automatisation par script. La configuration est centralisée dans un fichier YAML appelé collection de requêtes, partagé par les deux modes. L'objectif est la simplicité d'utilisation, la configurabilité et le partage, et des guides pour démarrer et approfondir l'utilisation sont disponibles.