Zig : Plus sûr et plus rapide que Rust non sécurisé ?

2024-12-30
Zig : Plus sûr et plus rapide que Rust non sécurisé ?

Cet article de blog compare Rust et Zig en implémentant un interpréteur de bytecode avec ramasse-miettes. L’auteur a trouvé Rust non sécurisé incroyablement difficile, citant des règles d’aliasing complexes et un comportement indéfini comme des obstacles importants. En revanche, Zig a offert une expérience plus conviviale pour les développeurs dans les opérations de mémoire non sécurisées, notamment la détection intégrée des fuites de mémoire et une ergonomie des pointeurs améliorée. L’implémentation Zig s’est avérée finalement plus sûre, plus rapide et plus facile à développer que son équivalent Rust.

Lire plus
Développement

La technologie de la NASA pour améliorer l'efficacité énergétique des voitures

2025-02-18
La technologie de la NASA pour améliorer l'efficacité énergétique des voitures

Saviez-vous que les trois quarts de l'énergie de l'essence sont gaspillés sous forme de chaleur ? Des chercheurs du JPL collaborent avec des constructeurs automobiles pour exploiter la technologie spatiale de la NASA — des générateurs thermoélectriques — afin de convertir la chaleur perdue des voitures en électricité. Cette technologie, utilisée pendant des décennies dans l'exploration spatiale, est désormais adaptée pour améliorer l'efficacité énergétique et réduire les émissions de carbone. Bien que les applications automobiles soient confrontées à des défis de cycles thermiques, l'objectif du JPL est une amélioration de 10 % du kilométrage. Les applications futures pourraient s'étendre à d'autres industries produisant de la chaleur perdue.

Lire plus

ELIZA Réanimée : Le Premier Chatbot au Monde Restauré

2025-01-18
ELIZA Réanimée : Le Premier Chatbot au Monde Restauré

Des chercheurs ont réussi à faire revivre ELIZA, généralement considéré comme le premier chatbot au monde, sur un système CTSS restauré, le premier système de partage de temps au monde (émulé sur un IBM 7094). Utilisant des imprimés originaux, le code MAD-SLIP et des documents de support trouvés dans les archives du Professeur Weizenbaum au MIT, ils ont recréé ELIZA et son célèbre script DOCTOR. L'ensemble du projet est open-source, permettant à quiconque disposant d'un système d'exploitation de type Unix d'exécuter ce chatbot révolutionnaire.

Lire plus
IA

CES 2025 : Le stylo Nuwa numérise les notes manuscrites en temps réel

2025-01-15
CES 2025 : Le stylo Nuwa numérise les notes manuscrites en temps réel

Le stylo Nuwa, présenté au CES 2025, est révolutionnaire. Ce stylo à encre, équipé de trois mini-caméras, capture l'écriture manuscrite sur papier et la numérise instantanément dans une application compagnon. L'application dispose également d'un grand modèle de langage pour rechercher et interroger les notes. Bien que la précision ne soit pas encore parfaite, le stylo Nuwa offre une approche novatrice pour la prise de notes numériques, notamment grâce à sa fonction innovante de "toile infinie". C'est un outil prometteur pour ceux qui apprécient la prise de notes rapide et la récupération facile.

Lire plus

MCP : Qui contrôle l'avenir de l'IA ?

2025-04-23
MCP : Qui contrôle l'avenir de l'IA ?

Cet article explore le potentiel et les limites des protocoles de contexte de modèle (MCP). Les MCP, des API standardisées connectant des sources de données externes à des grands modèles de langage (LLM) comme ChatGPT, permettent aux LLM d'accéder à des données en temps réel et d'effectuer des actions. L'auteur a construit deux serveurs MCP expérimentaux : l'un pour l'apprentissage du code, l'autre connecté à un marché de prédiction. Bien que prometteurs, les MCP souffrent actuellement d'une mauvaise expérience utilisateur et de risques de sécurité importants. Plus important encore, les clients LLM (comme ChatGPT) deviendront les nouveaux gardiens, contrôlant l'installation, l'utilisation et la visibilité des MCP. Cela remodelera l'écosystème de l'IA, reflétant la domination de Google sur les moteurs de recherche et les magasins d'applications. L'avenir verra les clients LLM décider quels MCP sont prioritaires, voire autorisés, menant à de nouveaux modèles économiques tels que les packs MCP, les moteurs de shopping d'affiliation et les applications de contenu prioritaires pour les MCP.

Lire plus

Le mythe alpha démystifié : comment les loups captifs ont faussé notre compréhension du pouvoir

2025-01-27
Le mythe alpha démystifié : comment les loups captifs ont faussé notre compréhension du pouvoir

Cet article remet en question l'idée fausse que la structure hiérarchique observée chez les loups captifs reflète la dynamique sociale naturelle des loups et, par extension, le leadership humain. Des recherches initiales sur les loups captifs ont popularisé le concept de mâle « alpha », impliquant que la domination et l'agression sont à la base du leadership. Cependant, des études ultérieures sur les loups sauvages ont révélé une réalité différente : des unités familiales guidées par des parents expérimentés, où le leadership provient de l'éducation et de la protection, et non de la force brute. L'auteur soutient que l'application du modèle du loup captif à la société humaine a conduit à une compréhension biaisée du pouvoir et du leadership, contribuant à des résultats négatifs dans des industries comme la technologie, où les environnements à forte pression et l'accent mis sur la domination entraînent un épuisement professionnel. L'article appelle à une réévaluation du leadership, en mettant l'accent sur la coopération et le soin plutôt que sur la compétition agressive et le contrôle.

Lire plus

Une ressource numérique pour aider les survivants d'incendies à se remettre

2025-01-15
Une ressource numérique pour aider les survivants d'incendies à se remettre

Le Système de Fichiers de Perte Domiciliaire, créé par des survivants d'incendies de forêt en Californie, est une ressource numérique conçue pour soutenir les personnes qui traversent le processus difficile de la reprise après sinistre. Cet outil complet fournit des listes de contrôle, des outils d'organisation et des ressources essentielles pour aider à gérer les demandes d'assurance, à documenter les pertes et à suivre les dépenses. Il comporte plusieurs feuilles couvrant les actions immédiates, les détails de l'assurance, la gestion des stocks, les ressources de santé mentale et plus encore. Des boîtes physiques sont également disponibles sur demande.

Lire plus

Des publicités YouTube impossibles à sauter d'une heure font rage

2025-01-25
Des publicités YouTube impossibles à sauter d'une heure font rage

Les utilisateurs de YouTube signalent des publicités impossibles à sauter incroyablement longues, certaines durant jusqu'à une heure. Beaucoup soupçonnent les bloqueurs de publicités d'être les coupables, interférant potentiellement avec la fonctionnalité du bouton « passer ». Google a répondu en déclarant que les bloqueurs de publicités violent les conditions d'utilisation de YouTube et encouragent les utilisateurs à autoriser les publicités ou à s'abonner à YouTube Premium. Bien que Google nie avoir intentionnellement diffusé ces publicités excessivement longues, l'incident souligne la tension continue entre la monétisation du contenu et le maintien d'une expérience utilisateur positive, ce qui engendre une conversation plus large sur la durée des publicités et l'efficacité des bloqueurs de publicités.

Lire plus

Un incendie majeur dans l'une des plus grandes usines de batteries au monde provoque des évacuations en Californie

2025-01-17
Un incendie majeur dans l'une des plus grandes usines de batteries au monde provoque des évacuations en Californie

Un incendie majeur s'est déclaré dans l'une des plus grandes usines de stockage de batteries au monde à Moss Landing, en Californie, forçant des centaines de personnes à évacuer et entraînant la fermeture d'une section de l'autoroute 1. L'incendie, qui a commencé jeudi après-midi, a envoyé des panaches de fumée noire dans l'air. Alors que les pompiers s'efforçaient de contenir les flammes, l'incendie était toujours en cours vendredi matin. Il s'agit du troisième incendie à l'usine Vistra Energy en trois ans, soulevant des inquiétudes quant à la sécurité du stockage de batteries à grande échelle.

Lire plus

Une ancienne loi exige des balles de foin sur un pont londonien

2025-05-22
Une ancienne loi exige des balles de foin sur un pont londonien

Des travaux de construction sur le pont ferroviaire de Charing Cross, à Londres, ont déclenché une loi ancienne et particulière. En raison de la réduction de la hauteur libre sous le pont en raison des échafaudages, les entrepreneurs sont tenus d'accrocher des balles de foin comme avertissement pour la navigation fluviale, une exigence remontant au Moyen Âge. Les balles de foin, ainsi que des feux d'avertissement nocturnes, se déplaceront le long du pont au fur et à mesure de l'avancement du projet de maintenance pluriannuel.

Lire plus

Customasm : Un assembleur pour vos propres jeux d'instructions

2025-01-15
Customasm : Un assembleur pour vos propres jeux d'instructions

Customasm est un assembleur qui vous permet de définir vos propres jeux d'instructions personnalisés, idéal pour tester le bytecode d'une nouvelle machine virtuelle ou écrire des programmes pour cette nouvelle architecture de microprocesseur que vous venez d'implémenter sur une puce FPGA ! Essayez-le en ligne dans votre navigateur, consultez un exemple de projet ciblant la NES et installez l'extension de surbrillance syntaxique VSCode. Installez via `cargo install customasm`, téléchargez des exécutables précompilés depuis Releases ou compilez à partir de la source. La documentation et un guide de démarrage sont disponibles sur le wiki.

Lire plus

L'événement céleste de Nuremberg de 1561 : OVNI ou phénomènes atmosphériques ?

2025-02-22
L'événement céleste de Nuremberg de 1561 : OVNI ou phénomènes atmosphériques ?

Le 14 avril 1561, un avistage massif de phénomènes célestes inhabituels s’est produit au-dessus de Nuremberg. Une feuille d’impression sur bois montre des centaines de sphères, de cylindres et d’autres objets participant à ce qui semblait être une bataille aérienne. Si certains interprètent cela comme une preuve de vaisseaux spatiaux extraterrestres, les sceptiques attribuent l’événement à des phénomènes atmosphériques tels que des parhélies. Carl Jung a proposé une perspective suggérant un événement naturel recouvert d’interprétations religieuses et militaires, laissant la véritable nature de l’événement de Nuremberg de 1561 sujette à un débat continu.

Lire plus

Règle de Chatham House : Le silence qui envahit la Baie de San Francisco

2025-01-11
Règle de Chatham House : Le silence qui envahit la Baie de San Francisco

Des conférences de santé aux salons de l'IA, en passant par les dîners privés, l'archaïque règle de Chatham House — qui interdit d'attribuer des informations aux intervenants ou de révéler l'identité des participants — gagne en popularité dans la Baie de San Francisco. Alimentée par l'obsession du secteur technologique pour le secret, son utilisation généralisée suscite le débat. Les partisans affirment qu'elle favorise des discussions franches, notamment sur des sujets sensibles. Cependant, les critiques soutiennent qu'elle obscurcit la responsabilité et affaiblit l'impact et l'authenticité du discours. L'article explore le phénomène de la prévalence de la règle de Chatham House dans la Baie et ses implications complexes.

Lire plus

La renaissance de Vim après la disparition de Bram Moolenaar

2025-01-11

La mort de Bram Moolenaar, le créateur de Vim, a ébranlé la communauté, mais le projet perdure. À la VimConf 2024, le nouveau mainteneur Christian Brabandt a présenté la réorganisation du projet et les plans pour l'avenir. L'équipe s'est élargie, le site web et l'infrastructure ont été mis à jour, les rapports de vulnérabilités de sécurité et la communication au sein de la communauté ont été traités. Bien que Vim soit actuellement en mode maintenance, le développement n'a pas cessé ; la version 9.1 a été publiée, avec des plans pour améliorer l'interface graphique, le support du terminal et la vérification orthographique. La collaboration communautaire est cruciale ; Brabandt a souligné l'importance d'écouter les besoins des utilisateurs et de maintenir une communauté saine.

Lire plus
Développement Maintenance communautaire

Maîtriser le « Non » du Chef de Produit : Réunions Efficaces et Priorisation

2025-01-22
Maîtriser le « Non » du Chef de Produit : Réunions Efficaces et Priorisation

Cet article ou cette invite explore comment les chefs de produit peuvent dire « non » efficacement aux demandes inutiles, en maintenant des réunions efficaces et les priorités en ordre. Il souligne l'importance d'une communication claire et d'une prise de décision efficace pour éviter que les projets ne soient détournés par des demandes non pertinentes, augmentant ainsi la productivité.

Lire plus

Le gaspillage des talents britanniques en matériel : une opportunité d’arbitrage cachée

2025-01-20
Le gaspillage des talents britanniques en matériel : une opportunité d’arbitrage cachée

Le Royaume-Uni forme des ingénieurs matériels de classe mondiale dans des universités comme Imperial, Oxford et Cambridge. Cependant, ces diplômés sont souvent confrontés à de faibles salaires et à des perspectives de carrière limitées, ce qui incite beaucoup à se tourner vers la finance ou le conseil. Cela représente un gaspillage massif de talents. L’article explore les causes profondes, notamment les contraintes géographiques, les préférences en matière de capital-risque et le manque d’innovation dans les entreprises d’ingénierie traditionnelles. Il ne s’agit pas seulement d’un écart salarial ; c’est une mauvaise allocation du capital humain à l’échelle nationale. L’opportunité réside dans les startups britanniques de matériel qui exploitent exclusivement ce bassin de talents localement liés pour construire le prochain ARM ou Dyson.

Lire plus

Adélie Linux à la rescousse : Reconstruction de RISC-V sur Milk-V Pioneer

2025-03-21

Face aux défis d'infrastructure, la décision d'abandonner les dépôts RISC-V a été inversée grâce à Zach van Rijn d'Adélie Linux, qui a fourni l'accès à une machine Milk-V Pioneer. Une reconstruction complète a été effectuée sur cette machine, donnant lieu à de nouveaux dépôts testés. Bien que les performances ne soient pas tout à fait comparables au Cortex-A72 (plus proches du Cortex-A55), les temps de compilation sont acceptables pour la plupart des projets (bien que les compilations Rust restent lentes). Les nouveaux dépôts sont comparables à LoongArch64, tests inclus. Cette solution est provisoire et le support futur dépendra des performances et de la stabilité continues.

Lire plus
Développement

Fusée Whoosh : Une expérience de physique à bas coût

2025-03-21
Fusée Whoosh : Une expérience de physique à bas coût

La fusée Whoosh, inventée par des professeurs de deux lycées de l'Ohio, est une maquette de fusée simple propulsée par la combustion d'un mélange d'alcool et d'air. Utilisant une bouteille en plastique comme corps et de l'alcool isopropylique comme carburant, l'allumage crée la poussée. Bien qu'elle ne vole pas haut, elle offre aux élèves une expérience d'apprentissage pratique sur les lois de Newton, les réactions chimiques et l'aérodynamique. Cependant, des précautions de sécurité strictes, y compris la surveillance d'un professeur, sont cruciales pour éviter d'éventuelles explosions.

Lire plus

BorrowChecker.jl : Un vérificateur d'emprunt expérimental pour Julia

2025-01-18
BorrowChecker.jl : Un vérificateur d'emprunt expérimental pour Julia

BorrowChecker.jl est un package Julia qui simule la sémantique de propriété et d'emprunt similaire à Rust via un système basé sur des macros, effectuant des vérifications d'exécution pendant le développement et les tests pour signaler les problèmes de sécurité mémoire. Il ne garantit pas une sécurité mémoire absolue, mais aide à écrire du code plus sûr. La bibliothèque utilise des macros comme `@own`, `@move`, `@clone` pour gérer la propriété des objets et des blocs `@lifetime` pour gérer la durée de vie des références, tout en offrant un bloc `@managed` pour la vérification automatique des emprunts. Bien qu'imparfait, c'est un outil précieux pour les développeurs cherchant à améliorer la sécurité mémoire de leur code Julia.

Lire plus
Développement

FindMy.py : Une bibliothèque Python complète pour interroger le réseau FindMy d'Apple

2024-12-21
FindMy.py : Une bibliothèque Python complète pour interroger le réseau FindMy d'Apple

FindMy.py est une bibliothèque Python qui fournit tout ce dont vous avez besoin pour interroger le réseau FindMy d'Apple. Elle unifie l'écosystème fragmenté de Find My, offrant une solution multiplateforme prenant en charge divers appareils (AirTags, iDevices, etc.) et méthodes d'authentification (y compris SMS et Trusted Device 2FA). Elle dispose d'API asynchrones et synchrones. Actuellement en phase Alpha, l'API est susceptible de changer, mais les fonctionnalités principales sont stables.

Lire plus
Développement

Les États-Unis restreignent l'accès suisse aux puces IA : une guerre froide technologique ?

2025-01-27
Les États-Unis restreignent l'accès suisse aux puces IA : une guerre froide technologique ?

Les États-Unis ont exclu la Suisse de l'accès sans restriction aux puces informatiques d'IA, suscitant les critiques du ministre suisse de l'économie, Guy Parmelin. Cette décision limite l'accès académique et commercial suisse à ces composants essentiels, plaçant la Suisse dans une catégorie soumise à des importations restreintes. Parmelin a déclaré que cela était incompréhensible, car l'ETH Zurich utilise ces puces pour des innovations cruciales pour les États-Unis, ce qui pourrait constituer un « but contre son camp » pour les Américains. Des négociations sont en cours pour obtenir un accès sans restriction. L'objectif des États-Unis est d'empêcher les pays rivaux, notamment la Chine, d'obtenir cette technologie et de contourner les restrictions à l'exportation. Par ailleurs, l'annonce du président Trump de renoncer à l'impôt minimum mondial aura des conséquences pour la Suisse, affectant le gouvernement fédéral, les cantons et les entreprises. Le gouvernement suisse envisagera des mesures de réciprocité.

Lire plus

Ray Tracing en un week-end : du zéro à des images époustouflantes

2025-01-02

Ce tutoriel vous apprend à écrire un traceur de rayons en un week-end en utilisant C++. En commençant par la sortie d’images PPM de base, il introduit progressivement des concepts tels que les rayons, les caméras, les sphères et les matériaux, aboutissant à un rendu capable de produire des images anti-crénelées avec des matériaux diffus et métalliques. Le tutoriel couvre les mathématiques vectorielles, l’intersection rayon-sphère, les calculs de normales de surface, l’abstraction des matériaux et la profondeur de champ, en fournissant des exemples de code clairs et de beaux rendus. Même sans expérience préalable en programmation, vous pouvez suivre les étapes et construire votre propre traceur de rayons.

Lire plus
Développement

Kubetail : Tableau de bord de journalisation Kubernetes en temps réel

2025-05-01
Kubetail : Tableau de bord de journalisation Kubernetes en temps réel

Kubetail est un tableau de bord de journalisation en temps réel pour Kubernetes, optimisé pour suivre les journaux des charges de travail multiconteneurs. Avec Kubetail, vous pouvez afficher les journaux de tous les conteneurs d'une charge de travail (par exemple, Deployment ou DaemonSet) fusionnés en une seule chronologie, livrée à votre navigateur ou terminal. Le principal point d'entrée de Kubetail est l'outil CLI kubetail, qui peut lancer un tableau de bord web local sur votre bureau ou streamer les journaux bruts directement sur votre terminal. En coulisses, Kubetail utilise l'API Kubernetes de votre cluster pour récupérer les journaux directement de votre cluster, il fonctionne donc immédiatement sans avoir besoin de transférer vos journaux vers un service externe au préalable. Kubetail utilise également votre API Kubernetes pour suivre les événements du cycle de vie des conteneurs afin de maintenir votre chronologie de journaux synchronisée à mesure que les conteneurs démarrent, s'arrêtent ou sont remplacés. Cela facilite le suivi continu des journaux à mesure que les demandes des utilisateurs passent d'un conteneur éphémère à un autre à travers les services.

Lire plus

Retrait du carbone océanique : les start-up rivalisent pour développer des technologies de capture du carbone marin

2024-12-26
Retrait du carbone océanique : les start-up rivalisent pour développer des technologies de capture du carbone marin

Face aux défis de la crise climatique, plusieurs start-up de technologies marines développent des technologies innovantes pour éliminer le dioxyde de carbone de l’océan. L’article met en lumière l’approche électrochimique de Captura pour extraire le CO2 de l’eau de mer, et la méthode d’Ebb Carbon qui consiste à augmenter l’alcalinité de l’océan pour stocker le carbone. Ces approches, bien que diverses, rencontrent des difficultés en matière de mise à l’échelle et de quantification des crédits carbone. Malgré des voies techniques différentes, l’objectif commun est de tirer parti de la vaste capacité de puits de carbone de l’océan pour accélérer le cycle du carbone de la Terre et lutter contre le changement climatique.

Lire plus

Farebox : Un projet d'itinéraire multimodal en Rust

2024-12-14
Farebox : Un projet d'itinéraire multimodal en Rust

Farebox est une implémentation rapide de RAPTOR en Rust conçue pour les machines à mémoire limitée. Il utilise Valhalla pour les transferts et le routage de la première/dernière étape, prenant en charge le routage multi-agences et les fuseaux horaires. L'objectif du projet est de compléter OpenTripPlanner, en fournissant un service de remplissage pour les zones non couvertes par les instances existantes. Le mappage mémoire est utilisé pour les horaires afin de permettre une couverture à l'échelle planétaire avec une seule instance et de réduire les coûts d'hébergement. Les projets futurs incluent la prise en charge de GTFS-RT et éventuellement rRAPTOR pour le calcul simultané d'itinéraires à différents horaires de départ.

Lire plus
Développement Routage

Siddhartha : Un voyage spirituel d'autodécouverte

2025-02-20
Siddhartha : Un voyage spirituel d'autodécouverte

Siddhartha, d'Hermann Hesse, suit le voyage spirituel d'un homme du nom de Siddhartha dans l'Inde ancienne. Quittant son foyer à la recherche de l'illumination, il devient ascète, pratique une méditation intense et, finalement, poursuit sa quête seul après s'être séparé de son ami Govinda. Expérimentant à la fois la vie luxueuse et les profondeurs du désespoir, il trouve finalement l'illumination au bord d'une rivière, guidé par un vieux passeur. Le roman souligne l'importance de l'expérience vécue pour parvenir à la compréhension, plutôt que de simples recherches intellectuelles.

Lire plus

Tableau HTML de CSV recherchable en JavaScript pur

2025-05-22
Tableau HTML de CSV recherchable en JavaScript pur

Fatigué de lutter avec les données CSV ? Ce projet en JavaScript pur transforme vos fichiers CSV en tableaux HTML esthétiques, recherchables et filtrables. Avec un minimum de code, visualisez vos données, personnalisez la mise en forme, activez les téléchargements et intégrez le tableau facilement. Consultez la démo et simplifiez la gestion de vos données dès aujourd'hui !

Lire plus
Développement

La vérité dérangeante sur l'indentation Lisp

2025-01-19

Les programmeurs Lisp débattent depuis longtemps du meilleur style d'indentation. Cet article explore différentes approches, notamment l'absence d'indentation, l'indentation alignée sur les fonctions, l'indentation de remplissage d'espace et l'indentation de macro "malade" controversée de l'auteur. L'indentation alignée sur les fonctions devient difficile à gérer avec un imbriquement profond, tandis que l'indentation de remplissage d'espace, bien qu'efficace, est insuffisante dans les cas extrêmes. L'auteur préconise un style de macro "malade", qui, malgré son caractère non conventionnel, préserve la lisibilité dans le code profondément imbriqué et fonctionne bien avec la plupart des outils d'indentation. Les lecteurs sont invités à partager leurs styles préférés.

Lire plus
Développement style de codage

Adieu, générateurs de sites statiques : mon blog est désormais en HTML brut

2025-02-10

Fatigué des mises à jour constantes et des problèmes de compatibilité avec les générateurs de sites statiques, mon blog a subi de nombreuses itérations, pour finalement se stabiliser sur du HTML brut, utilisant md-block pour le Markdown et highlight.js pour la mise en évidence de la syntaxe. Les lecteurs audio et vidéo intégrés au navigateur et la longévité du HTML me libèrent des soucis de compatibilité des thèmes et garantissent la disponibilité du contenu à long terme.

Lire plus
Développement

Font Tester : Dites adieu aux maux de tête liés à la sélection de polices

2025-01-04
Font Tester : Dites adieu aux maux de tête liés à la sélection de polices

Fatigué de vous battre avec la sélection de polices pour votre site web ? L'extension Chrome Font Tester est là pour vous aider ! Prévisualisez plus de 1000 polices Google et des polices personnalisées sur n'importe quel site web, comparez-les côte à côte, ajustez la taille et la couleur, et bien plus encore. Dites adieu aux cycles fastidieux de téléchargement, de test et de suppression, et bonjour à une conception efficace. La version gratuite est suffisamment puissante pour beaucoup, tandis que la version payante débloque des fonctionnalités avancées et soutient le développement open source.

Lire plus
1 2 533 534 535 537 539 540 541 595 596