barmic 🦦 a écrit 5724 commentaires

  • [^] # Re: 9ème jour

    Posté par  . En réponse au journal Advent of code 2024. Évalué à 2.

    J'ai enfin fini le jour 9 j'ai pas fais comme toi.

    Le jour 1 j'ai l'indice en cours uniquement et je décrémente mes compteurs, je cherche le fichier à déplacer car c'est le slot fichier non égale à 0. C'est moins efficace qu'avoir l'indice, mais au final c'est très pratique pour la seconde étape où je replace ma condition de recherche par fichier qui rentre dans le slot vide en cours.

    J'ai dû faire un peu de maths pour éviter des itérations : je fais une itération par slot au lieu d'une itération par "bit" et ça simplifie l'étape 2.

    Le dernier piège que j'ai eu à l'étape 2 vient du fait que le résultat n'est pas contigüe donc il faut mémoriser la valeur d'un fichier déplacer pour incrémenter l'indice qui sert au checksum. Du coup quand un fichier est déplacé au lieu de la passer à 0 je le passe en négatif.

    Je cherche pas le même niveau de performance que toi. J'ai vu à l'un des jours précédent que j'arrivais pas en julia à les atteindre, mais julia est vraiment cool comme langage.

    (oui je suis Ă  la bourre ^^)

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Conseil

    Posté par  . En réponse au journal La galère de Python en déploiement. Évalué à 2.

    Dans un contexte de container je suis un peu circonspect. Le container est immuable donc ouvrir un shell dessus ne devrait pas être d'une grande utilité, tu as évidement l'accès aux logs qui peut être utile mais ça ne demande pas d'ouvrir un shell. Si tu veux manipuler la configuration, je dirais que de la même manière ça pourrait être fait à distance via un protocole ad-hoc.

    Personnellement pour y arriver je tenterais de ne plus accéder en SSH à vos environnements de dev/QA pour vérifier ce qui peut vous manquer ou non comme info et donc appliquer les même procédures que chez vos clients en interne.

    Si par contre l'idée c'est d'accéder à l'hôte, depuis un container ça ne marche pas très bien pour vos setop box je dirais que vous pouvez faire une communication entre le container et la machine hôte pour l'activer (ou simplement ouvrir le port).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: banque sans appli ?

    Posté par  . En réponse au journal Où je me cherche une banque. Évalué à 2.

    Techniquement je pense qu'une banque française n'est pas nécessaire, il faut qu'une opération soit faite avec un compte français. Comme il a était créé suite à un G7 je présume qu'il a des homologue dans différents pays occidentale.

    Mais j'espérais surtout que la boutade soit évidente.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # Conseil

    Posté par  . En réponse au journal La galère de Python en déploiement. Évalué à 3.

    PS : Peut-être n'ais-je pas fait les meilleurs choix. Je suis ouvert aux réflexions en commentaires.

    En toute humilité

    1. Les logs étaient directement écris dans le /var/log/openhems, il faut un montage (Mais j'ai encore des problèmes là).

    Écris sur ta sortie standard. Ça fait parti des 12 facteurs https://12factor.net/fr/logs

    Je veux que l'utilisateur puisse autoriser manuellement la maintenance.

    Je suis pas sûr de comprendre les tenants et les aboutissants, mais ne le fait pas trop.

    Pour l'un comme pour l'autre l'idée c'est que ça n'est pas le rôle du container de s'en occuper et c'est à l'intégration de faire les choix.

    Tu peux :

    • dĂ©crire le besoin et laisser Ă  tes utilisateurs le boulot
    • faire une installation clef en main qui demandera de faire les glues autour avec un paquet de distribution, un script d'installation ou autre
    • plonger la tĂŞte la première (le reste suivra) et packager pour un orchestrateur par exemple avec un chart helm pour kube

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Container ou rien

    Posté par  . En réponse au journal La galère de Python en déploiement. Évalué à 2.

    Les containers c'est nickel pour packager pour de la prod. Mais pour itérer en dev ….

    Ce que tu décris c'est faire ce qui est en prod pour du développement ce n'est pas ce qu'il faut faire.

    Tu utilise un dockerfile qui va bind ton dossier courant dans le container au lieu de faire une copie, c'est plus rapide et ça permet d'itérer sans problème.

    Pour faire du vite fais tu peut mĂŞme te passer de dockerfile. De tĂŞte c'est de l'ordre

    name='MyProject'
    # créé un container 'MyProject' en y installant les dépendances
    docker run -it --name $name --mount type=bind,src=$PWD,dst=/data python:3.13 pip install -r /data/requirements.txt
    # utilise le container pour l'executer ton script
    docker start -it --mount type=bind,src=$PWD,dst=/data python:3.13 $name python mon_script.py mon_input > mon_output

    Tu peut soit détruire et reconstruire le conteneur quand tu change une dépendance soit faire un start pour mettre à jour les dépendances.

    Il est aussi possible d'utiliser docker compose qui va faire que tu ne joue plus qu'avec des docker compose up ou down (docker compose c'est un plugin de docker et pas un orchestrateur).

    Évidement tu peut utiliser des alias ou des choses comme just, tasks ou l'outil de build qui te plaît. Docker apporte d'autres éléments comme le fait de cloisonner ce que tu lance sur ta machine pour embêter ceux qui s'adonneraient à des supply chain attack. Et bien sûr si tu a besoin d'une base de données à côté c'est tout de même pratique.

    "En vrai les conteneurs sont une solution universelle" pour bien se faire ch*** pour rien.

    J'ai du mal à comprendre ta démarche. Plutôt que de t'interroger sur la pratique, tu pars sur ton à priori. Tu te doute bien que si certains le font c'est que c'est pratique pour eux.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Retour de l'enseignement en France au lycĂ©e

    Posté par  . En réponse au lien Apprendre la programmation en Python n'est pas plus facile qu'en Java ou en C++. Évalué à 2.

    Quel est le problème avec le hello world en java ?

    Pour ĂŞtre parfaitement honnĂŞte c'est encore en preview, mais je tiens Ă  souligner qu'il ne demande pas d'Ă©tape de compilation.

    MĂŞme avec la version LTS tu met dans un fichier hello.java

    class hello {
      public static void main(String[] argv) {
        System.out.println("Hello world!");
      }
    }
    % java hello.java
    Hello world!
    

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: banque sans appli ?

    Posté par  . En réponse au journal Où je me cherche une banque. Évalué à 3.

    au moins 16 [banques] dans 3 pays

    TRACFIN est sur tes cĂ´tes

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # D[iĂ©]fĂ©rer

    Posté par  . En réponse à la dépêche Lettre d'information XMPP d'octobre 2024. Évalué à 2.

    Extensions déférées

    Si une XEP expérimentale n’est pas mise à jour pendant plus de douze mois, elle sera déplacée de "Expérimental" à "Différée". Une mise à jour ultérieure permettra de remettre la XEP à l’état "Expérimental".

    Pour la cohérence si j'en crois la version anglaise c'est bien "déférée" et non "différée" j'aurais pu comprendre l'un comme l'autre.

    AMHA ça pourrait être bien de présenter le processus avec un diagramme par exemple avec une machine à états.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Perplexe

    Posté par  . En réponse au journal UV un énième packageur python. Évalué à 6.

    Mon avis personnel c'est que je ressens ça comme des outils invasifs. Jusque là l'écosystème Python a toujours été autonome, on a donc toujours eu la possibilité de faire des contributions en Python pour nos outils en Python.

    Il me semble que l'une des particularité de l'écosystème python c'est d'avoir toujours eu une grande permissivité en vers le code natif avec des bibliothèques comme numpy pour le plus évident qui mixent du code python et du code C.

    C'est toujours plus satisfaisant d'avoir les outils dans le mĂŞme langages, mais le plafond de performance de python et de rust sont pas les mĂŞme.

    Après c'est un outil de plus, il y en aura 5 nouveaux d'ici le printemps.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: java bien

    Posté par  . En réponse au journal La galère de Python en déploiement. Évalué à 3.

    Tu peux mĂŞme le faire en java avec jbang.

    Mais pour l'un comme pour l'autre je n'ai pas trouvé d'IDE qui me supporte correctement. C'est à dire qui tire les dépendances et ne te met pas des erreurs partout et peut faire de l'autocomplétion.

    Kotlin a une fonctionnalité similaire en expérimentation ça décidera peut être a donner un support correct à intellij

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Debian ne pip plus ?

    Posté par  . En réponse au journal La galère de Python en déploiement. Évalué à 3. Dernière modification le 24 décembre 2024 à 19:31.

    Ça vient de pip 21.1 (ça a était intégré comme un bug fix) en avril 2021 et toute la discussion se trouve là : Discourage usage of pip as root.

    Edit: Pardon c'est une autre modification aussi de mai 2021 : PEP 668 – Marking Python base environments as “externally managed”

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: java bien

    Posté par  . En réponse au journal La galère de Python en déploiement. Évalué à 3.

    Je n'avais pas fait gaffe mais oui on utilise énormément de bibliothèque en Java. Ce qui fait que java est différent de python c'est le classpath. Un programme java a une configuration lui indiquant la liste de ses dépendances, il n'y a donc aucun problème à avoir plusieurs versions d'une bibliothèque dans des versions différentes qui sont utilisées en même temps.

    Qu'est-ce qui est complexe là dedans ?

    C'est un peu verbeux, même maven se prépare a faire en sorte que ce soit une seule ligne (pour maven 5 il me semble, maven 4 - qui est en RC2 - étant la préparation de la version 5).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Ah les devs ...

    Posté par  . En réponse au journal La galère de Python en déploiement. Évalué à 4.

    chaque projet devrait avoir son environnement créé avec le module venv et ce n'est pas la peine de le suivre avec git, un venv python c'est jetable et facile à reconstruire, par contre le fichier requirements.txt (pip freeze > requirements.txt) lui doit être suivie avec git

    Moi je me suis trouvé un champion, il gère venv pour moi et je commit 3 fichiers (un lock file, un pour la version de python et un pour la description du projet) et pour les cas les plus simples (ce que je fais le plus) il peut simplement se baser sur un commentaire dans le fichier.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Rust ?

    Posté par  . En réponse au journal UV un énième packageur python. Évalué à 9.

    Pour le coup non puisque je ne le compile pas moi-même j'ai décidé il y a bien longtemps de faire confiance à mon gestionnaire de paquet. Ça demande d'installer quelque chose plutôt que d'utiliser ce qui est dans une installation de python vanilla (ou en tout cas ce qui est sur ma machine), mais je trouve que le confort de l'usage en vaut la peine.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: SĂ©rie d'articles

    Posté par  . En réponse au journal UV un énième packageur python. Évalué à 4.

    Oui j'ai oublié d'ajouter le lien après la rédaction et j'ai toujours du mal à la retrouver.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Non

    Posté par  . En réponse au journal Travail bénévole dans le monde du logiciel libre. Évalué à 0.

    Quand c'est amateur oui, mais quand c'est RedHat c'est difficile Ă  invoquer.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Non

    Posté par  . En réponse au journal Travail bénévole dans le monde du logiciel libre. Évalué à 1.

    Il me semble que le point est un peu différent. Prenons un logiciel comme Ansible, il appartiens à RedHat ou IBM, ces entreprises paient des développeurs pour travailler dessus. Moi aussi développeurs de profession est-ce que j'ai réellement du point de vu de l'URSAFF le droit de contribuer bénévolement à Ansible (j'ai aucune idée de s'ils acceptent les contributions extérieures) ?

    Je peux tout à fait comprendre qu'il s'agit là d'un cas où mon travail représente une concurrence déloyale à l'embauche chez IBM/RH et que non seulement ça tomberait sous le coup de la loi mais que c'est réellement ce que le législateur a tenté d'empêcher.

    C'est différent pour le logiciel qui sont géré par des fondations par exemple.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Non

    Posté par  . En réponse au journal Travail bénévole dans le monde du logiciel libre. Évalué à 1.

    Devrait-on interdire le bénévolat, quelque soit le secteur d'activité, au prétexte que certains vont faire du profit, avec ou sans contrepartie, grâce à cette activité ?

    Je ne sais pas comment ça se passe d'ailleurs en France. Si le logiciel est clairement maintenu par une entreprise, je vois mal comment le distinguer d'un travail déguisé (et je suis même pas sûr que ça n'en soit pas).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    Posté par  . En réponse au lien Software is Way Less Performant Today. Évalué à 1.

    jour au lendemain

    Je doute que ce soit arrivé. Je pense que c'est arrivé lors d'une mise à jour. Et c'est à voir avec les développeurs de savoir pourquoi est-ce qu'ils ont retirer le support. Il y a pleins de raisons possibles (des remontés de bugs dessus avec personnes dans l'équipe en mesure de les reproduire/tester, volonté de garder un code simple, impossibilité de faire quelque chose qu'ils voudraient avec OpenGL4, une dépendance qu'ils utilisent qui ne supporte plus OpenGL4,…). Ça t'énerve peut être, mais c'est à voir avec les développeurs.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    Posté par  . En réponse au lien Software is Way Less Performant Today. Évalué à 1.

    Quand on y pense, mĂŞme les choses comme X11/Wayland, c'est pareil.

    Pour ce cas là, ça pourrait être au linkage avoir une implémentation pour chacun pour le cas des stack graphiques.

    […]

    Si tu parles de chargement dynamique, du type tu as une bibliothèque avec les implémentations génériques, une bibliothèque avec implémentations SSE2, etc. Puis tu choisis quelle version charger à l'exécution.

    Alors oui je parlais évidemment du linkage dynamique le link des bibliothèque pour être statique ou dynamique

    Le "pour ce cas là" fait référence au cas où tu as une implémentation X11 (xcb ou xlib pour être exact) et wayland (et frame buffer et d'autres choses si besoin) et il permet de ne pas avoir a implémenter la sélection dans ton code. L'installation n'installe que l'un ou que l'autre ou la distribution peut te faire linker avec l'implémentation qui correspond à ce qui correspond actuellement à l'environnement. C'est en ça que le fait qu'il y a pleins de techniques pour faire de la sélection tardives d'implémentation et que le fait que ça existe pour X/Wayland n'indique pas du tout que c'est possible par ailleurs.

    Même sans ça le fait que le serveur d'affichage te permet de détecter sa présence n'indique pas que le CPU te permet de savoir quel jeu d'instruction existe ou pas.

    Bref c'est intéressant de savoir que cpuid récupère ces informations depuis le CPU lui-même et pas depuis une base de connaissance.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    Posté par  . En réponse au lien Software is Way Less Performant Today. Évalué à 2.

    Quand on y pense, mĂŞme les choses comme X11/Wayland, c'est pareil.

    C'est pas le concept générique qui est oublié, mais la possibilité de découvrir à l'exécution ce qui est disponible ou non sur le cpu. Surtout que les techniques peuvent être très différentes. Pour ce cas là, ça pourrait être au linkage avoir une implémentation pour chacun pour le cas des stack graphiques

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    Posté par  . En réponse au lien Software is Way Less Performant Today. Évalué à 3.

    Je savais pas (ou j'ai oublié) qu'on pouvait avoir un branchement au runtime pour en vérifiant l'existence des instructions.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Who's that guy ?

    Posté par  . En réponse au lien Software is Way Less Performant Today. Évalué à 3. Dernière modification le 18 décembre 2024 à 12:01.

    OpenMP ne peut pas inventer le processeur sur le quel il va tourner. Donc ça va dépendre de la cible que tu donne à ton compilateur. Tout le point plus haut est de justement être en mesure d'utiliser les instructions de ton CPU qui vont permettre d’accélérer l’exécution.

    Il n'y a pas vraiment de magie pour ça ou plutôt il y en a une mais elle est pas gratuite c'est d'avoir du JIT.

    L'idée c'est de compiler le code sur la machine cible au moment où tu as sais quel CPU tu utilise et tu as des stats pour faire de la compilation guidé par des profile. C'est java et probablement C#. Après il faut que le code intermédiaire aide à trouver les optimisations possibles donc par exemple ai une abstraction de SIMD.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: je reste septique sur un point ...

    Posté par  . En réponse à la dépêche Deno 2.0 est là. Évalué à 2.

    bien vu

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: je reste septique sur un point ...

    Posté par  . En réponse à la dépêche Deno 2.0 est là. Évalué à 2.

    En fait en reformulant, j'essaie de comprendre l'intérêt de l'un par rapport à l'autre.

    En fait tu peu le faire avec des containers, mais il faut instancier un container par utilisateur différent (c'est pour ça que le faas a du sens).

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll