HN Digest
Briefing personnel.

Lire vite.
Garder l'essentiel.

Les meilleurs longs formats de Hacker News, relus plus calmement.

12026 articles Page 656/1203 Sans filtre

How's Linear so fast? A technical breakdown

L'architecture de Linear est "local-first": la base de données vit dans le navigateur (IndexedDB), les mutations s'appliquent d'abord localement et sont envoyées en arrière-plan au serveur. Le moteur de synchronisation gère une file de transactions durable, applique des deltas minimaux renvoyés par le serveur et utilise MobX avec observables par-propriété pour ne re-rendre que les cellules affectées. Les temps de chargement initiaux sont optimisés par un build ciblant les navigateurs modernes, un découpage fin des bundles, le préchargement parallèle des modules, un service worker qui précache les chunks et un shell initial inline qui restaure l'apparence depuis le stockage local pour afficher l'interface avant l'authentification réseau. Le design favorise la vitesse d'interaction avec un modèle keyboard-first, une palette de commandes locale et des raccourcis couvrant les actions courantes afin de réduire le coût en étapes pour l'utilisateur. Les animations sont limitées aux propriétés compositées (transform, opacity) avec durées courtes et apparitions instantanées pour garder l'interface réactive, et la performance perçue résulte de l'agrégation de nombreuses petites décisions d'ingénierie et de conception.

Man-Computer Symbiosis J. C. R. Licklider (1960)

L'auteur défend l'idée d'une association étroite entre humains et ordinateurs qui augmenterait la pensée technique en combinant les forces complémentaires de chacun. Les objectifs principaux sont d'introduire les machines dans les phases de formulation des problèmes et dans les processus décisionnels en temps réel afin d'éviter la rigidité des programmes prédéterminés. Dans ce partenariat, les humains détermineraient buts, hypothèses, critères et évaluations tandis que les ordinateurs exécuteraient les travaux routiniers, les simulations, les transformations de données et l'accès rapide à l'information. La réalisation de cette coopération exige des progrès en partage de temps, en mémoire matérielle et organisationnelle (par exemple la mémoire trie), en langages favorisant l'instruction par objectifs et en dispositifs d'entrée-sortie plus naturels, y compris l'affichage graphique et la reconnaissance vocale. L'analyse temporelle et les différences de capacités entre hommes et machines suggèrent que cette coopération pourrait accroître considérablement l'efficacité intellectuelle pendant une longue période d'utilisation conjointe avant une éventuelle suprématie des machines.

Richard Scolyer Has Died

Richard Scolyer, pathologiste australien de renom, est décédé à 59 ans, trois ans après le diagnostic d'un glioblastome agressif. Avec sa collègue Georgina Long, il a contribué au développement de l'immunothérapie pour le mélanome, une avancée qui a considérablement amélioré le pronostic des cas avancés. En 2023 il a accepté de devenir le premier patient atteint d'un cancer cérébral à recevoir une immunothérapie combinée avant chirurgie et un vaccin personnalisé fondés sur leurs découvertes. Des examens post‑traitement ont montré une réponse immunitaire encourageante et un petit essai clinique aux États‑Unis cherche à reproduire ces résultats. Il a documenté son parcours, a publié une lettre d'adieu appelant à soutenir la recherche, et il laisse son épouse Katie Nicholl et leurs trois enfants, tandis que responsables et collègues saluent son héritage.

A discovery about GCC's unidirectional rotation algorithm

L'article montre que l'algorithme de rotation de gcc libstdc++ coïncide avec l'algorithme destiné aux itérateurs avant. La démonstration utilise un exemple concret échangeant deux blocs A et B et suit les swaps et l'avancement des pointeurs. Les deux algorithmes réalisent les mêmes échanges et les étapes de récursion correspondent pour obtenir la rotation souhaitée. La différence notable est que la version gcc est symétrique et peut effectuer les swaps de droite à gauche lorsque le bloc le plus grand est à droite, alors que l'ancienne opère toujours de gauche à droite. L'auteur indique qu'il examinera ensuite la méthode de clang qui décompose la rotation en cycles.

Making peace with your unlived dreams (2023)

L'auteur explique qu'il ne pourra jamais devenir un bon snowboardeur en raison de problèmes de genoux et d'une prescription médicale lui déconseillant les sports sollicitant les genoux. Il relate sa colère initiale et son désir de réparer son corps pour tenter de réaliser ce rêve avant d'en accepter progressivement les limites. Il énumère d'autres envies inassouvies, comme apprendre le kung-fu ou plusieurs langues, mais souligne que le travail et les relations occupent la majeure partie de son temps. Même si l'imagination ressurgit parfois, il apprend à se satisfaire de regarder des vidéos, lire et vivre certains désirs par procuration sans amertume. Le texte conclut que faire la paix avec les rêves non vécus et choisir délibérément ses priorités constitue une manière significative de vivre.

A Matter Wi-Fi Light Bulb in Rust on the Raspberry Pi Pico 2 W

Ce dépôt contient des exemples Rust utilisant le framework asynchrone Embassy pour la carte Raspberry Pi Pico 2 (MCU RP2350) couvrant divers périphériques embarqués. Le matériel est décrit avec une LED embarquée sur GPIO25, les assignations I2C (I2C0 SDA GPIO4/SCL GPIO5, I2C1 SDA GPIO2/SCL GPIO3) et les ports UART (UART0 GPIO0/1, UART1 GPIO8/9). Les exemples I2C montrent la lecture d'un capteur HS3003 pour température et humidité et d'un ADXL345 pour l'accéléromètre, avec schémas de câblage et commandes cargo run. Des exemples SPI affichent des images et animations sur un écran TFT via un breakout Eye-SPI, tandis que les exemples 1-Wire et DHT11 expliquent la lecture d'une sonde DS18B20 et d'un capteur DHT11 en insistant sur le timing précis et l'utilisation d'une résistance pull-up. Un exemple Matter pour le Pico 2 W implémente une ampoule Wi‑Fi compatible Matter avec provisioning BLE et intégration Home Assistant, et un exemple blinky montre le clignotement d'une LED externe sur GPIO15.