Création d'une image personnalisée pour Rock Pi 4 avec Yocto : CUPS, Docker et génération de SBOM

2025-02-21
Création d'une image personnalisée pour Rock Pi 4 avec Yocto : CUPS, Docker et génération de SBOM

Cet article détaille l'expérience de l'auteur dans la création d'une image disque personnalisée pour un Rock Pi 4 à l'aide du projet Yocto. L'image inclut les services d'impression CUPS et Docker, en tirant parti de la robuste fonctionnalité de génération de SBOM de Yocto pour créer une liste de matériaux logiciels. L'auteur a choisi Yocto en raison des images officielles obsolètes du Rock Pi 4, car Yocto permet de créer des systèmes Linux embarqués hautement personnalisés et reproductibles. L'article détaille la terminologie clé de Yocto, le processus de construction et la localisation des SBOM, tout en soulignant les limitations actuelles de l'image et les améliorations futures.

Lire plus
Développement

Film interactif gratuit de MSCHF : une expérience d'art collaboratif

2025-01-13
Film interactif gratuit de MSCHF : une expérience d'art collaboratif

MSCHF a lancé un film interactif gratuit appelé "Free Paint 1.0", permettant aux utilisateurs de créer collaborativement ses visuels. Fonctionnant comme un dessin collaboratif en ligne massif, les utilisateurs ajoutent et suppriment des images via un outil en ligne, construisant le film image par image. Actuellement à 92% d'achèvement, le projet met en lumière les possibilités de la création collective à l'ère d'internet, suscitant des discussions sur l'art, l'auteur et les droits d'auteur.

Lire plus

Extension VS Code : Ajout automatique des mots clés async/await

2025-05-05
Extension VS Code : Ajout automatique des mots clés async/await

Cette extension VS Code ajoute automatiquement les mots clés `async/await` manquants lors de l'enregistrement d'un fichier TypeScript. Un fichier `tsconfig.json` est requis dans le dossier de votre projet. L'extension ajoute intelligemment les mots clés `async` et `await` pour garantir le bon fonctionnement des fonctions asynchrones. Pour empêcher l'ajout de `await` à une fonction asynchrone spécifique, ajoutez le commentaire `// no-await` à la fin de l'appel de fonction. La première conversion peut être lente, mais les conversions suivantes seront plus rapides.

Lire plus
Développement

La Migration Épique des Tabulations vers les Espaces chez Yelp

2025-05-02

Cet article détaille l'expérience de l'auteur lors de la conversion de l'énorme base de code Python de Yelp de tabulations à quatre espaces. Le processus a impliqué de gérer les indentations inconsistantes, d'utiliser des filtres Git pour imposer les espaces et de résoudre divers problèmes tels que des fichiers fantômes et un statut Git lent. L'auteur a réussi la migration et partage les leçons apprises, notamment l'utilisation de .gitattributes, de l'utilitaire expand et d'astuces Git.

Lire plus
(eev.ee)
Développement

La nouvelle API opaque de Go Protobuf améliore les performances et la sécurité

2024-12-16

L'équipe Go a publié une nouvelle API opaque pour Go Protobuf, coexistant avec l'API Open Struct existante. Cette nouvelle API découple le code généré de sa représentation mémoire sous-jacente, améliorant ainsi les performances, réduisant les allocations mémoire et permettant des optimisations telles que le décodage paresseux. En masquant les champs de la structure et en y accédant uniquement via des méthodes d'accès, elle prévient les bogues liés aux pointeurs et le partage accidentel. La migration implique d'activer l'API hybride, d'utiliser l'outil `open2opaque` puis de basculer vers l'API opaque. L'API Open Struct existante reste prise en charge.

Lire plus
(go.dev)
Développement

Temu arrête soudainement les publicités Google Shopping : une victime de la guerre commerciale ?

2025-04-15
Temu arrête soudainement les publicités Google Shopping : une victime de la guerre commerciale ?

Temu, la plateforme de commerce électronique transfrontalier de Pinduoduo, a brusquement interrompu ses publicités Google Shopping aux États-Unis le 9 avril, ce qui a entraîné une chute de son classement dans l’App Store, passant du top 3 à la 58e place en trois jours. Cela a coïncidé avec l’imposition de tarifs élevés par l’administration Trump, rendant la stratégie de bas prix de Temu insoutenable en raison de l’augmentation des coûts et des restrictions à l’importation. Bien que la société mère de Temu reste financièrement solide, et ce retrait pourrait ne pas être permanent, son impact sur le marché de la publicité du commerce électronique et sur les petites et moyennes entreprises est notable. Les effets à court terme incluent des réductions potentielles des coûts publicitaires, tandis que les implications à long terme pourraient impliquer une plus grande incertitude du marché.

Lire plus

Choquant : Près d'une personne sur dix utilise le même code PIN à quatre chiffres

2025-01-28
Choquant : Près d'une personne sur dix utilise le même code PIN à quatre chiffres

L'analyse de 29 millions de codes PIN révèle que près d'une personne sur dix utilise le même code PIN à quatre chiffres, '1234' étant le plus populaire. Les chercheurs ont constaté que les gens privilégient les dates d'anniversaire, les chiffres répétés ou les séquences de chiffres sur le clavier, ce qui rend ces codes PIN faciles à deviner. Les résultats mettent en évidence une faille de sécurité généralisée dans le choix des codes PIN, incitant les utilisateurs à adopter des codes PIN plus robustes pour une meilleure protection de leurs données personnelles.

Lire plus
Technologie code PIN

Steffi Graf : du tennis au pickleball, un nouveau défi

2025-02-15
Steffi Graf : du tennis au pickleball, un nouveau défi

Vingt-cinq ans après avoir pris sa retraite du tennis, Steffi Graf se retrouve à compétitionner dans le monde trépidant du pickleball. Si le stress n'a jamais été un problème durant son illustre carrière au tennis, le rythme rapide et la dynamique inconnue du pickleball représentent un nouveau défi. Graf, avec son mari Andre Agassi, participera au Pickleball Slam 3 à Las Vegas, en compétition pour un prix d'un million de dollars. Graf souligne l'accessibilité et la facilité d'apprentissage du pickleball, suggérant qu'il complète plutôt que de menacer le tennis. Malgré le besoin d'adapter son style, Graf apprécie le défi et l'opportunité de raviver son esprit compétitif dans ce nouveau domaine.

Lire plus
Jeux

L'arme secrète pour désamorcer les réunions toxiques : nommer ce qui se passe

2025-02-16
L'arme secrète pour désamorcer les réunions toxiques : nommer ce qui se passe

Cet article révèle une technique puissante pour résoudre les conflits en réunion : simplement nommer ce qui se passe dans la salle. L’auteur soutient que de nombreuses réunions dégénèrent en discussions improductives en raison de priorités conflictuelles, d’émotions et de tensions non exprimées. Au lieu de s’engager dans le conflit, la solution consiste à nommer directement l’expérience collective, par exemple : « Je ressens beaucoup de frustration dans la salle. » Cela interrompt les schémas négatifs, crée une prise de conscience partagée et ouvre la voie à une communication et une résolution de problèmes plus productives. L’article fournit des conseils tactiques, notamment l’utilisation de déclarations à la première personne, en évitant de désigner des individus et en sachant quand escalader.

Lire plus

Kuvasz-streamer : CDC haute performance pour PostgreSQL

2025-01-03

Kuvasz-streamer est un projet open source de capture de données changeantes (CDC) exclusivement pour PostgreSQL. Intégré étroitement à la réplication logique PostgreSQL, il offre une réplication haute performance et faible latence. Ses fonctionnalités incluent une conception légère (Go, sans dépendances), un débit élevé (10 000 TPS, < 1 s de latence), une gestion automatisée des publications et des slots, des modèles de propagation de tables flexibles (clonage, historique, ajout uniquement) et la prise en charge des modes déclaratif et interactif. Les cas d'utilisation couvrent la consolidation de données, les mises à niveau de bases de données, la consolidation de bases de données de microservices, la consolidation de bases de données multi-locataires et l'optimisation des performances de la base de données.

Lire plus
Développement Réplication de données

Bodyoïdes : L'équilibre précaire entre éthique et technologie en médecine future

2025-03-28
Bodyoïdes : L'équilibre précaire entre éthique et technologie en médecine future

Des scientifiques proposent les 'bodyoïdes', des structures similaires à l'homme cultivées à partir de cellules, pour la recherche médicale et la transplantation d'organes. Bien qu'offrant des solutions potentielles à des dilemmes éthiques comme l'expérimentation animale, cette technologie soulève des questions éthiques profondes. Les bodyoïdes méritent-ils des droits humains ? Comment définir leur statut vital ? Comment garantir le consentement éclairé pour le don de cellules ? Ces questions nécessitent une réflexion approfondie pour un développement et une application responsables.

Lire plus
Technologie bioéthique

Débarrassez-vous de vos mauvaises habitudes Vim avec Hardtime.nvim

2025-05-18
Débarrassez-vous de vos mauvaises habitudes Vim avec Hardtime.nvim

Fatigué de dépendre de hjkl et de la souris ? Hardtime.nvim vous aide à vous débarrasser de vos mauvaises habitudes et à améliorer votre efficacité avec Vim. Il restreint les frappes de touches répétées, fournit des conseils pour des mouvements Vim plus rapides et génère un rapport de vos mauvaises habitudes les plus courantes. Apprenez les sauts relatifs, les mouvements de mots, les combinaisons opérateur + mouvement, et plus encore. Personnalisez les paramètres pour désactiver les touches, les types de fichiers et choisissez votre méthode de notification. Améliorez votre flux de travail Vim dès aujourd'hui !

Lire plus
Développement

ShredOS : Effaceur de disque sécurisé pour tous les processeurs

2025-01-01
ShredOS : Effaceur de disque sécurisé pour tous les processeurs

ShredOS est une distribution Linux légère et bootable, construite avec Buildroot, conçue pour l'effacement sécurisé des disques. Il intègre nwipe, un outil puissant offrant plusieurs méthodes d'effacement, y compris la conformité DoD 5220.22-M, et prend en charge les processeurs 32 bits et 64 bits. Bootable depuis une clé USB ou un CD, ShredOS ne nécessite aucune installation et fournit une interface conviviale. Il inclut également des utilitaires comme smartmontools et hdparm pour le diagnostic et la maintenance des disques.

Lire plus

Informatique Rétro : Un voyage nostalgique avec la TI-99/4A

2025-02-19
Informatique Rétro : Un voyage nostalgique avec la TI-99/4A

Cet article documente l’exploration par l’auteur de l’ordinateur rétro TI-99/4A, une machine sortie à la même époque que l’Atari 800 et le Commodore VIC-20. Son architecture unique combine des éléments de console de jeux vidéo et de mini-ordinateur. L’auteur commence par l’histoire de la TI-99/4A et ses puces graphiques et sonores distinctes, qui ont ensuite été utilisées dans de nombreuses consoles et ordinateurs. L’article utilise ensuite un émulateur pour démontrer la programmation en TI BASIC, en créant des graphiques et des animations simples. L’auteur présente les capacités améliorées de l’Extended BASIC, notamment une vitesse accrue et des graphiques améliorés. Enfin, l’auteur aborde brièvement le système de sprites de la TI-99/4A et annonce un prochain article qui approfondira le développement de logiciels pour cartouches.

Lire plus
Technologie

Risque de sécurité sur GitHub Actions : la vulnérabilité des balises mutables

2025-03-25
Risque de sécurité sur GitHub Actions : la vulnérabilité des balises mutables

Une attaque récente sur l'action GitHub Actions tj-actions/changed-files a mis en évidence une faille de sécurité. En modifiant une balise Git mutable, les attaquants ont pu injecter du code malveillant et divulguer des secrets provenant des journaux de build, qui sont publics pour les référentiels publics. L'auteur partage un script shell pour auditer les actions GitHub Actions utilisées, soulignant l'importance d'utiliser des ID de commit immuables pour la sécurité. Le script analyse les fichiers YAML de workflow pour identifier et compter les actions, en privilégiant celles provenant de grandes organisations ou les scripts écrits par l'auteur lui-même plutôt que d'autres moins fiables. L'auteur préconise de privilégier les actions des grandes organisations et d'écrire des scripts personnalisés lorsque cela est possible.

Lire plus
Développement

Débat entre Oncle Bob et John Ousterhout sur la conception de logiciels

2025-02-25
Débat entre Oncle Bob et John Ousterhout sur la conception de logiciels

Robert "Oncle Bob" Martin et John Ousterhout ont eu un débat animé sur les principes de conception de logiciels, couvrant des sujets clés tels que la longueur des méthodes, les commentaires de code et le développement piloté par les tests (TDD). Ils ont vivement débattu du degré de décomposition du code, de la nécessité des commentaires et des avantages et inconvénients du TDD, en utilisant des exemples de code et des scénarios spécifiques pour étayer leurs arguments. Ce débat souligne l'importance des compromis dans la conception de logiciels et la nécessité d'éviter les extrêmes lorsqu'on cherche la concision et la lisibilité.

Lire plus

Void : L'alternative open-source à Cursor

2025-05-08
Void : L'alternative open-source à Cursor

Void est un éditeur de code open-source conçu comme une alternative à Cursor. Le code source complet est disponible dans ce dépôt, et les contributions de tous sont les bienvenues. Un guide de contribution (HOW_TO_CONTRIBUTE) et un guide de la base de code (VOID_CODEBASE_GUIDE) sont fournis. L'équipe est facilement joignable via son serveur Discord et son adresse e-mail ([email protected]). Void est un fork du dépôt VS Code et encourage la collaboration et les suggestions.

Lire plus
Développement alternative à Cursor

Une faille de sécurité Subaru Starlink permet aux pirates de déverrouiller les voitures et de suivre leur localisation

2025-01-28
Une faille de sécurité Subaru Starlink permet aux pirates de déverrouiller les voitures et de suivre leur localisation

Des chercheurs en sécurité ont découvert une faille critique dans les services connectés Starlink de Subaru, permettant aux pirates d'accéder aux données de localisation, de déverrouiller les portes à distance, et plus encore. En compromettant les comptes des employés de Subaru et en exploitant un panneau d'administration, les attaquants ont obtenu accès aux informations du véhicule. Bien que la vulnérabilité ait été corrigée, elle souligne les risques de sécurité importants liés aux voitures connectées.

Lire plus
Technologie

Des acteurs de menaces russes exploitent l'authentification par code de périphérique Microsoft lors d'attaques à grande échelle

2025-02-15
Des acteurs de menaces russes exploitent l'authentification par code de périphérique Microsoft lors d'attaques à grande échelle

Volexity a découvert plusieurs acteurs de menaces russes utilisant des campagnes sophistiquées d'ingénierie sociale et de phishing ciblé pour compromettre des comptes Microsoft 365 via le phishing d'authentification par code de périphérique. Ces attaques exploitent le flux de travail d'authentification par code de périphérique moins familier, ce qui rend difficile pour les utilisateurs de les reconnaître comme des tentatives de phishing. Les campagnes, souvent à thèmes politiques (par exemple, axées sur l'administration américaine), se font passer pour des individus d'organisations telles que le département d'État américain et le ministère ukrainien de la Défense, attirant les victimes vers de fausses réunions Microsoft Teams ou un accès aux applications. Volexity suit trois acteurs de menaces, dont un potentiellement lié à CozyLarch (chevauchement avec DarkHalo, APT29). L'efficacité de cette attaque provient de l'exploitation de la méconnaissance des utilisateurs de l'authentification par code de périphérique, contournant les mesures de sécurité traditionnelles. Volexity recommande aux organisations de bloquer l'authentification par code de périphérique via des politiques d'accès conditionnel et d'améliorer la formation à la sensibilisation à la sécurité des utilisateurs.

Lire plus
Technologie hackers russes

Déportation injuste : un jeune de 19 ans envoyé dans une superprison au Salvador

2025-04-15
Déportation injuste : un jeune de 19 ans envoyé dans une superprison au Salvador

Merwil Gutiérrez, 19 ans, demandeur d’asile vénézuélien, a été arrêté à New York par des agents de l’ICE qui ont admis qu’il n’était pas leur cible, mais l’ont expulsé quand même. Il a été envoyé dans la tristement célèbre prison CECOT au Salvador, malgré les affirmations de sa famille selon lesquelles il n’avait aucun lien avec des gangs ni aucun casier judiciaire. L’incident met en lumière les préoccupations concernant les procédures de l’ICE et les droits humains au Salvador, provoquant l’indignation et des appels à son retour. Ce cas souligne les dures réalités des politiques d’immigration américaines et le sort difficile des demandeurs d’asile.

Lire plus
Divers

Le GPS assiégé : une menace croissante et la nécessité d’une action urgente

2025-05-21

Le GPS est confronté à une augmentation significative des attaques de brouillage et d’usurpation, avec jusqu’à 700 incidents quotidiens signalés en 2024. Cette vulnérabilité, due à des signaux faibles et à un manque de cryptage, représente une menace sérieuse pour divers secteurs, notamment l’aviation, la finance et les réseaux électriques. L’article détaille un incident mortel récent lié à l’interférence du GPS. Les solutions explorées comprennent l’assouplissement des contrôles à l’exportation pour les antennes anti-brouillage avancées, un partenariat avec le système Galileo européen, l’amélioration du cryptage du signal GPS et la mise en œuvre d’un système d’augmentation global (HARS). Des technologies de navigation alternatives telles que l’eLoran, l’eDME, les réseaux de pseudolites et le MagNav sont également discutées comme solutions de secours potentielles pour atténuer les risques de perturbation du GPS et les menaces futures.

Lire plus
Technologie

Hacker News : Le bonheur du fainéant ! Modification binaire d'un distributeur d'eau pour une utilisation mains libres

2025-01-11

Fatigué d'appuyer sur les boutons pour obtenir de l'eau, Robbe Derks a procédé à la rétro-ingénierie et a modifié son distributeur d'eau de la série ION 900. Utilisant un Arduino et un PICkit, il a extrait le firmware des microcontrôleurs PIC18F6527 et PIC16F630. Avec Ghidra, il a effectué la rétro-ingénierie du firmware, identifiant les fonctions contrôlant les boutons et les vannes. Il a ensuite écrit du code C pour corriger le firmware, ajoutant une fonctionnalité qui distribue 1 litre d'eau froide lorsque les boutons « eau température ambiante » et « eau froide » sont pressés simultanément. Cela a impliqué de surmonter des défis en rétro-ingénierie et en programmation embarquée, créant finalement une solution de distribution d'eau mains libres.

Lire plus
Matériel

Devenir un ingénieur 10x grâce à l'IA : un changement d'état d'esprit

2025-06-12
Devenir un ingénieur 10x grâce à l'IA : un changement d'état d'esprit

Cet article explique comment l'auteur utilise l'IA pour augmenter considérablement sa productivité en ingénierie logicielle. Au lieu de considérer l'IA comme un simple générateur de code, il la voit comme un partenaire d'ingénierie très expérimenté. La clé est une ingénierie des invites efficace pour maximiser le potentiel de l'IA. L'auteur souligne l'importance de invites bien conçues et la nécessité de vérifier le code généré par l'IA. Au-delà de la génération de code, l'IA est utilisée pour comprendre des concepts complexes et accélérer l'apprentissage. L'auteur encourage les ingénieurs à expérimenter activement et à apprendre en continu pour devenir véritablement natifs de l'IA.

Lire plus
Développement

Évaluation des capacités de génération de code des LLMs : Présentation de MultiCodeBench

2024-12-30
Évaluation des capacités de génération de code des LLMs : Présentation de MultiCodeBench

Les assistants de programmation basés sur l’IA et alimentés par des grands modèles de langage (LLM) de code sont devenus de plus en plus répandus, augmentant considérablement la productivité des développeurs. Cependant, les benchmarks existants de génération de code se concentrent principalement sur des scénarios à usage général, laissant les performances des LLM dans des domaines d’application spécifiques largement inconnues. Cet article présente MultiCodeBench, un nouveau benchmark composé de 2 400 tâches de programmation dans 12 domaines populaires de développement de logiciels et 15 langages de programmation. Des expériences sur onze LLM principaux révèlent leurs performances en matière de génération de code dans différents domaines, offrant des informations pratiques aux développeurs pour la sélection des LLM et des conseils aux développeurs de modèles pour améliorer les capacités de génération de code spécifiques à un domaine.

Lire plus
Développement Génération de Code

Au-delà du codage inspiré : la refactorisation inspirée pour un développement logiciel durable

2025-05-06
Au-delà du codage inspiré : la refactorisation inspirée pour un développement logiciel durable

Fatigué du pic d'adrénaline du « codage inspiré » ? Essayez la « refactorisation inspirée » ! Contrairement à la ruée d'adrénaline de produire du code rapidement, elle se concentre sur la gestion de la dette technique et le raffinement de l'architecture. Consacrez 15 à 20 minutes par semaine à explorer votre base de code avec des yeux neufs, en nettoyant les avertissements, en supprimant les importations inutilisées, en optimisant les fonctions et même en utilisant des LLMs pour des solutions plus intelligentes. Une refactorisation inspirée constante conduit à une meilleure qualité de code, des déploiements plus rapides, des équipes plus heureuses et des clients satisfaits. Choisissez une croissance durable plutôt que des pics d'enthousiasme à court terme – observez la qualité de votre base de code s'améliorer !

Lire plus
Développement

Nvidia riposte aux restrictions américaines sur l'exportation de puces IA

2025-01-13
Nvidia riposte aux restrictions américaines sur l'exportation de puces IA

L'administration Biden sortante a dévoilé une règle finale sur la diffusion de l'IA, restreignant les exportations de puces IA vers la plupart des pays tout en accordant des exemptions à des alliés clés. Nvidia a vivement critiqué cette mesure, arguant qu'elle nuira au leadership technologique américain et pourrait faire évaporer 80 % du marché des GPU. L'entreprise affirme que la règle est trop restrictive, manque d'un examen législatif approprié et étouffe l'innovation. Présentée comme une mesure 'anti-Chine', Nvidia soutient qu'elle contrôlera la technologie à l'échelle mondiale, affectant même le matériel grand public largement disponible.

Lire plus

Vol Aeroflot 1492 : Une convergence mortelle d’erreur pilote et de défaillances systémiques

2025-05-13
Vol Aeroflot 1492 : Une convergence mortelle d’erreur pilote et de défaillances systémiques

Cet article fournit une analyse détaillée du crash du vol 1492 d’Aeroflot en 2019. L’accident a résulté de rebonds multiples lors d’un atterrissage par mauvais temps, conduisant à un crash et un incendie ayant causé la mort de 41 personnes. L’enquête a révélé une erreur de pilotage, des défauts de conception de l’appareil et une formation inadéquate de la compagnie aérienne comme causes principales. Le système fly-by-wire de l’avion manquait de redondance et de mécanismes de sécurité suffisants ; le pilote manquait de formation adéquate et de capacité de réponse aux situations d’urgence ; et la compagnie aérienne souffrait d’une gestion de la sécurité insuffisante et de lacunes en matière de formation. L’accident souligne la gravité des problèmes systémiques de sécurité au sein du secteur de l’aviation russe.

Lire plus

Nintendo Switch 2 : le contrat d’utilisation permet à Nintendo de « briquer » votre console

2025-05-11
Nintendo Switch 2 : le contrat d’utilisation permet à Nintendo de « briquer » votre console

Le nouveau contrat d’utilisation de la Nintendo Switch 2 donne à l’entreprise le pouvoir de rendre inutilisables à distance les consoles des utilisateurs. Si les utilisateurs enfreignent le contrat, par exemple en modifiant le logiciel système ou en contournant les protections système, Nintendo peut désactiver définitivement la console. Cette clause est controversée car elle donne à Nintendo un contrôle important sur le matériel que les utilisateurs possèdent. Bien qu’elle vise probablement le piratage et les modifications, la formulation vague suscite des inquiétudes, Nintendo ayant le pouvoir d’interprétation final. Cela ne se limite pas aux restrictions de jeu en ligne ; cela pourrait désactiver les fonctionnalités hors ligne, rendant la console inutilisable.

Lire plus

Google reCAPTCHA vs. RGPD : Risques pour la vie privée et solutions

2025-02-07

La technologie reCAPTCHA de Google, utilisée pour identifier les visiteurs d'un site web comme étant des humains, est en conflit avec le RGPD. reCAPTCHA analyse le comportement de l'utilisateur (mouvements de souris, frappes de touches, etc.) et collecte des données personnelles telles que les adresses IP et les informations sur le navigateur pour évaluer l'identité de l'utilisateur. Comme aucun consentement explicite n'est obtenu, les opérateurs de sites web doivent justifier l'utilisation de reCAPTCHA, ce qui est difficile étant donné les pratiques de données opaques de Google et les risques pour la vie privée incalculables. L'article recommande l'utilisation d'alternatives plus respectueuses de la vie privée et souligne l'importance de la transparence, de l'obtention du consentement de l'utilisateur et de la minimisation des données.

Lire plus
Développement
1 2 477 478 479 481 483 484 485 595 596