Nabokov's pale fire: the lost 'father of all hypertext demos'? (2011)
Résumé indisponible pour cet article.
Les meilleurs longs formats de Hacker News, relus plus calmement.
Résumé indisponible pour cet article.
Résumé indisponible pour cet article.
Il s'agit d'un logiciel open-source qui transforme un Raspberry Pi Compute Module 5 équipé d'un écran tactile en un synthétiseur autonome à quatre parties et relie le tout à un DAW via un seul câble USB. Chaque partie repose sur un moteur distinct (FM, synthèse harmonique sous fenêtre de balayage, timbral avec wavefolding, et granulaire) et génère les voix par synthèse mathématique sans échantillons. L'architecture par voix comprend allocation MIDI, matrice de modulation, filtre d'état par voix, enveloppes, mixeur, envois vers delay et reverb, ainsi qu'un emplacement Lua pour effets et scripts personnalisés. La connexion USB class-compliant transporte audio multi-canal, MIDI bidirectionnel et clock pour l'enregistrement direct dans les stations audio sans pilote, avec rendu sec et envois par partie. La plateforme repose sur Raspberry Pi OS Lite et un runtime audio en Rust sur Compute Module 5, et s'installe via un utilitaire fourni; le matériel se limite au CM5, une carte porteuse, un écran tactile et le logiciel.
Le trombone est un instrument à vent à coulisse dont la hauteur se règle principalement en allongeant ou en raccourcissant la coulisse, ce qui rend la hauteur continue et permet des glissandos réels. Le son est produit en faisant vibrer les lèvres dans l'embouchure, créant une onde stationnaire dans la colonne d'air dont la fréquence diminue lorsque la longueur de la colonne augmente. Outre les sept positions de coulisse, les autres notes s'obtiennent en sélectionnant des partiels harmoniques par des ajustements d'embouchure et de langue, les harmoniques influençant aussi le timbre. Le trombone offre la possibilité de micro-ajustements d'intonation en temps réel (coulisse, embouchure, position sur l'embouchure), permettant d'approcher des rapports harmoniques plus purs que le tempérament égal du piano. En pratique, le musicien écoute l'ensemble et ajuste intuitivement son jeu pour s'intégrer, et d'autres techniques (triggers, recherche du timbre) viennent compléter ces principes de base.
La mobilisation autour de la loi californienne AB 1921 vise à empêcher les éditeurs de rendre inopérants des jeux en fermant leurs serveurs. Les défenseurs réclament des mesures comme des modes hors ligne, des correctifs finaux ou des remboursements, mais l'article affirme que ces solutions traitent le symptôme plutôt que la cause. Le texte identifie la racine du problème dans le modèle du logiciel propriétaire, qui donne aux développeurs le contrôle exclusif du code, des serveurs et des mécanismes de DRM. Il rapproche la revendication des joueurs des principes du logiciel libre et présente les quatre libertés essentielles (exécuter, étudier, redistribuer et distribuer des versions modifiées) comme la solution durable pour la préservation des jeux. Selon l'article, garantir ces libertés empêcherait techniquement et légalement qu'un jeu devienne inutilisable après l'arrêt des serveurs et éviterait d'avoir recours à des régulations superficielles.
mnemo est un sidecar local pour applications LLM qui extrait des entités et relations, construit un graphe de connaissances persistant en SQLite et injecte automatiquement un contexte scoré dans les prompts, sans dépendance cloud. On poste du texte à /ingest, un LLM extrait personnes, outils, lieux et concepts qui sont dédupliqués et stockés, puis /retrieve exécute un pipeline en six étapes (recherche plein texte, recherche par nom, expansion par graphe, filtre de relations, score et assemblage) pour produire un context_prompt. Le service est distribué comme un binaire Rust unique, compatible avec Ollama, OpenAI ou tout API OpenAI‑compatible, fonctionne en moins de 50 ms pour l'injection de contexte et n'impose pas de runtime Python ni de cloud. mnemo se distingue par sa couche graphe (petgraph) avec traversées multi‑sauts, déduplication d'entités et pondération des relations, ce qui permet de prioriser les correspondances directes par rapport aux inférences contrairement aux récupérations naïves. Le projet fournit des options Docker et binaire, un SDK Python, une CLI, une API REST complète, des benchmarks et des tests, et est distribué sous licence MIT.
À la fin avril, Tim Cook a déclaré lors d'une conférence téléphonique que la réaction des clients au MacBook Neo était exceptionnelle et que la demande avait poussé Apple à augmenter fortement la production. L'analyste Ming‑Chi Kuo indique que les expéditions prévues pour 2026 ont été portées de 5 à 10 millions d'unités après le lancement en mars. Apple affirme que la demande a dépassé ses attentes et a entraîné un nombre record d'acheteurs Mac pour la première fois le trimestre dernier, constat corroboré par des données d'IDC. Le MacBook Neo, proposé à partir de 599 $ (499 $ pour les étudiants), est équipé de la puce A18 Pro, disponible en finitions colorées, et a suscité des réponses de concurrents comme Dell. Une seconde génération avec puce A19 Pro et 12 Go de RAM est attendue l'année prochaine, tandis que d'autres rapports évoquent parallèlement des projets d'OpenAI et des tests de production de puces par Intel.
Résumé indisponible pour cet article.
Résumé indisponible pour cet article.
En 2025–2026, une large majorité de sites continue d'échouer aux tests de contraste WCAG malgré les outils et bibliothèques existants. La fonction CSS contrast-color() permet au navigateur de choisir pendant le calcul des styles la couleur de texte la plus lisible (noir ou blanc) pour un fond donné, sans JavaScript ni étape de build. La spécification Level 5 renvoie actuellement noir ou blanc selon un algorithme défini par l'agent utilisateur (aujourd'hui la formule WCAG 2.x) pour permettre un remplacement futur par des algorithmes comme APCA, tandis que Level 6 prévoit des listes de candidats et des ratios cibles encore en draft. Les trois moteurs majeurs ont livré la fonction et elle s'utilise avec @supports, mais les polyfills côté build ne gèrent pas les variables dynamiques, les gradients et images ne sont pas acceptés, les transitions provoquent des changements discrets et la sortie ne garantit pas toujours une accessibilité perceptuelle ou la conformité AAA. Concrètement, contrast-color() réduit le besoin de bibliothèques JavaScript, diminue le travail sur le thread principal et évite le flash d'hydratation, mais il reste nécessaire de tester et d'affiner les couleurs pour obtenir une lisibilité perceptuelle et des transitions visuelles satisfaisantes.