Sortie de la version 20101222 de GNU Parallel

Posté par  . Modéré par Xavier Teyssier.
Étiquettes :
27
29
déc.
2010
GNU
La commande xargs, bien connue des administrateurs système, permet de construire des lignes de commandes à partir de l'entrée standard. Elle est notamment souvent utilisée afin de faire des traitements sur des listes de fichiers issues de recherches avec find ou locate :

# afficher le nombre de lignes de chaque fichier de logs
$ locate -r '\.log$' |xargs wc -l


Le projet GNU Parallel a pour objectif de fournir un outil successeur à xargs qui exploiterait les possibilités des architectures matérielles modernes, notamment en permettant l'utilisation de tous les cœurs d'une machine et même d'exécuter certaines commandes sur plusieurs machines à la fois. La compatibilité avec xargs est totalement garantie, c'est-à-dire que non seulement le programme parallel sait interpréter les options de xargs, mais en plus il garantit que le résultat en sortie sera le même que celui d'un xargs : bien que les commandes soient exécutées en parallèle la sortie sera la même que si le traitement avait été séquentiel.

La principale nouveauté de la version 20101222 est l'intégration de GNU niceload au projet. Niceload est une commande qui permet de suspendre l'exécution d'un programme lorsque la charge de la machine dépasse un certain niveau :

# lancer updatedb en le suspendant lorsque la charge est supérieure à 2.00
niceload -l=2 updatedb


L'intégration de niceload se traduit par l'ajout d'une option --load reprenant la même fonctionnalité :

# afficher le nombre de lignes de chaque fichier de logs
# lancer le calcul sur 4 coeurs en parallèle
# suspendre l'exécution si la charge dépasse 5.00
$ locate -r '\.log$' |parallel -j4 --load 5 wc -l


L'utilisation de GNU parallel fait l'objet de deux vidéos de démonstration dont les liens sont indiqués ci-dessous.

Aller plus loin

  • # Parallel c'est d'la balle

    Posté par  . Évalué à 10.

    J'ai découvert très récemment parallel. Voulant convertir en masse des .flac en .mp3, j'ai d'abord pensé à utiliser un script bash que j'avais écrit vite fait et qui lançait des instances du convertisseur en parallèle. Me disant qu'il devait exister plus sophistiqué que mon petit bricolage, j'ai lancé une recherche et je suis tombé sur parallel. Ce dernier est déjà pratique quand il s'agit de faire tourner des process en parallèle sur la machine locale mais là où il devient, combiné à ssh, redoutable, c'est quand il permet d'utiliser les ressources d'autres machines. Un conseil : visionnez les 2 parties de la démo : c'est impressionnant.
    • [^] # Re: Parallel c'est d'la balle

      Posté par  . Évalué à 10.

      Peut être que je suis tordu mais à ta place j'aurais utilisé make avec une règle du type :
      %.mp3: %.flac
      ta commande

      Puis un make -j nbcoeur+1

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • # youtbe ?

    Posté par  . Évalué à 10.

    You can also watch the intro video for a quick introduction: http://www.youtube.com/watch?v=OpaiGYxkSuQ or at http://tinyogg.com/watch/TORaR/ and http://tinyogg.com/watch/hfxKj/
    Pfff GNU, ce n'est plus ce que c'était :)


    M'enfin ils continuent à produire des logiciels de qualité et tant mieux.


    Merci pour la présentation de parallel et niceload. Ça fait envie !
  • # xargs

    Posté par  . Évalué à 5.

    > locate -r '\.log$' |xargs wc -l

    Eh ben, merci, moi qui connaissait pas, je galérais avec la syntaxe obscure de find...

    find . -name "*.log" -exec wc -l '{}' \;
    • [^] # Re: xargs

      Posté par  . Évalué à 7.

      Plus simple à mon avis :

      $ find . -name '*.log' -print0 | xargs -0 wc -l

      Le print0 de find sépare les noms de fichiers par des \0, et le -0 de xars comprends que son entrées utilise des \0.

      Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

      • [^] # Re: xargs

        Posté par  (site web personnel) . Évalué à 7.

        Et le lecteur de ce message n'ignore pas que \0 est un code marquant la fin d'une chaîne de caractère dans d'obscures langages de programmation quasiment oubliés.

        « IRAFURORBREVISESTANIMUMREGEQUINISIPARETIMPERAT » — Odes — Horace

        • [^] # Re: xargs

          Posté par  . Évalué à 4.

          Oui, et j'ai aussi oublié de préciser que ce caractère nul est le seul avec '/' à ne pas pouvoir être utilisé dans un nom de fichier en ext2/3/4 et que c'est tout son intérêt de l'utiliser ici.

          Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

    • [^] # Re: xargs

      Posté par  . Évalué à 3.

      C'est marrant moi c'est l'inverse je n'ai jamais eu besoin de xarg (que je connais parce que j'utilise -exec de find.

      Je pense même que si le -exec du find était asynchrone il pourrait être bien plus performant que parallel ne le seras jamais : les IO seraient comblés par l'execution de la commande.

      Il faudrait avec ça limiter le nombre maximum de threads en parallèle.

      Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: xargs

        Posté par  . Évalué à 6.

        Tout le problème c'est de caser le find dans le cas où l'entrée de xargs n'est pas censé être une recherche de fichier...

        --------->[ ]
      • [^] # Re: xargs

        Posté par  . Évalué à 2.

        Perso je n'aime pas beaucoup le --exec pour plusieurs raisons :
        * il faut utiliser {} pour le nom de fichier et ne pas oublier de terminer par \;, je trouve que est laid dans un script et ça le rend moins bien lisible (pas la même convention de variable que le shell);
        * trop de AltGr cassent mon rythme de frappe (bon, ce n'est qu'une histoire d'habitude);
        * il ne prend pas en compte les alias du shell;
        * ce n'est pas très KISS : je n'aime pas les outils qui sortent trop de leur cadre (en l'occurence, la recherche de fichiers sur des critères).

        Mais bien sûr, chacun fait comme il le sent.

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: xargs

          Posté par  . Évalué à 2.

          * trop de AltGr cassent mon rythme de frappe (bon, ce n'est qu'une histoire d'habitude);

          (j'ai mis 30 secondes à comprendre)

          ->clavier US utiliser tu dois!

          Le clavier AZERTY cause une mort lente et douloureuse, rend impuissant et provoque la calvitie!
          • [^] # Re: xargs

            Posté par  . Évalué à 1.

            En bépo j'utilise énormément le AltGr (pouce droit) + main gauche et ça me va très bien.

            C'est le AltGr + main droite qui pose problème avec la plupart des azerty.
  • # -P

    Posté par  (site web personnel) . Évalué à 1.

    Quel différence avec l'option -P de xargs ?
    L'option --load me parait un peu de la bidouille, je lui préfèrerais ionice qui modifie le scheduler (CFQ uniquement) du kernel linux, ou nice si on est plutôt CPU bound ...

    $ ionice -c3 -p$$ && locate -r '\.log$' | xargs -P4 wc -l

    De plus, xargs calcul le nombre maximum d'arguments transmissible à la commande, mais on peut aussi le spécifier avec -n.

    Last but not least xargs est installé d'office sur la plupart des OS, alors que parallel n'existe pas encore en package Debian !

    Quel est le réel intérêt de parallel ?
    • [^] # Re: -P

      Posté par  . Évalué à 7.

      Le combo avec ssh pour utiliser plusieurs machines à l'air vraiment sympa...
      Surtout avec le transfert/cleanup qui permet d'envoyer un script depuis une machine sur toutes les autres, d'exécuter le machin, rappatrier les résultats
      et nettoyer le script.

      À, et aussi l'affichage « propre » lorsque plusieurs commandes sont exécutées en même temps.
      • [^] # Re: -P

        Posté par  (site web personnel) . Évalué à 1.

        Effectivement, et puis en lisant la doc on s'aperçoit qu'il y a plein de choses sympa, comme les job queues, les semaphores ...

        Il sait faire bien plus de choses que xargs, mais pour une utilisation simple et performante, xargs semble plus approprié.
    • [^] # Re: -P

      Posté par  (site web personnel) . Évalué à 2.

      L'ITP Debian a déjà été proposée: http://bugs.debian.org/518696 mais à
      l'époque ce n'était pas clair qu'il ait tant d'avantage par rapport à
      -P de xargs. Ça peut sans doute être reconsidéré maintenant.
  • # Performances

    Posté par  (site web personnel) . Évalué à 8.

    Tests effectués plusieurs fois, parce que le find est dépendant des IOs disques. Mais faites le test vous même, c'est sans appel ! ;)

    parallel :
    $ time find . -xdev -type f -print0 | ~/tests/parallel-20101222/src/parallel -0 -j8 echo | wc -l
    54273
    real 1m42.335s
    user 3m14.536s
    sys 2m4.012s

    xargs:
    $ time find . -xdev -type f -print0 | xargs -0 -n1 -P8 echo | wc -l
    54273
    real 0m7.914s
    user 0m0.356s
    sys 0m3.672s
    • [^] # Re: Performances

      Posté par  (Mastodon) . Évalué à 2.

      Si je ne m'abuse, ta ligne de commande ne fait pas une opération parallélisable...
      Tu comptes le nombre de ligne de plein de fichier d'un coup, pas le nombre de ligne de chaque fichier !

      Tu "echo" le contenu des fichiers trouvés par "find" puis tu comptes le nombre de ligne, l'opération finale de comptage n'est absolument pas parallèle !

      Donc l'exemple me semble assez mal visé pour le coup...

      Yth...
      • [^] # Re: Performances

        Posté par  (site web personnel) . Évalué à 3.

        euh non, je ne "echo" pas le contenu des fichiers, juste leurs noms.

        Le wc n'est pas parallélisé, son but est uniquement de comparer les résultats. Mais toute la partie avant le wc est parallélisé, et permet de voir que les "echo" sont lancés plus rapidement avec xargs.

        Pour te faire plaisir, j'ai refais le même test avec une commande qui ne fait rien: true

        $ time find . -xdev -type f -print0 | xargs -0 -n1 -P8 true
        real 0m7.696s
        user 0m0.300s
        sys 0m3.580s

        $ time find . -xdev -type f -print0 | ~/tests/parallel-20101222/src/parallel -0 -j8 true
        real 1m38.532s
        user 3m21.281s
        sys 1m53.623s
        • [^] # Re: Performances

          Posté par  (Mastodon) . Évalué à 2.

          Ah oui, ça compte le nombre de fichiers.
          Fiou, allumage du cerveau en mode diesel pendant les fêtes, ça met le temps...

          Donc en effet, et ben c'est assez énorme la différence.
          Chez moi ça donne ça :
          $ time find . -xdev -type f -print0 | xargs -0 -n1 -P8 echo | wc -l
          176732
          real 1m28.480s
          user 0m1.199s
          sys 0m14.714s

          $ time find . -xdev -type f -print0 | ~/parallel-20101222/src/parallel -0 -j8 echo | wc -l
          176766
          real 4m53.130s
          user 2m35.351s
          sys 2m47.619s



          J'ai quatre coeur, mais pendant le test j'en pompais deux à 100%, et le disque dur bossait comme un furieux aussi, d'où les résultats assez déplorables à l'arrivée, mais même conditions entre les deux tests.

          Je confirme, il y a un problème quelque part dans parallel !

          Yth.
          • [^] # Re: Performances

            Posté par  . Évalué à 1.

            Le résultat me semble logique. L'élément le plus lent étant la lecture du disque.
            Ensuite, l'ordonnancement prend du temps mais ne donne aucun gain pour un simple echo. Puis la remise dans l'ordre des différents process avant de compter les lignes.

            Fait la même chose en faisant du traitement sur des photos, ou gzip les .txt, ...

            Toute les optimisations du monde peuvent être volontairement utilisées pour montrer les cas où elles ne marchent pas.
            • [^] # Re: Performances

              Posté par  (site web personnel) . Évalué à 0.

              Voir tests ci-dessus avec des "true" plutot que des "echo | wc".

              Et en supprimant les IO :

              $ time for i in {1..100000} ; do echo $i; done | xargs -P8 true
              real 0m1.098s
              user 0m0.908s
              sys 0m0.368s

              $ time for i in {1..100000} ; do echo $i; done | ~/tests/parallel-20101222/src/parallel -j8 true
              real 2m49.153s
              user 6m12.215s
              sys 3m10.644s

              # en non groupé :
              $ time for i in {1..100000} ; do echo $i; done | ~/tests/parallel-20101222/src/parallel -u -j8 true
              real 2m32.511s
              user 5m51.850s
              sys 3m18.548s
              • [^] # Re: Performances

                Posté par  . Évalué à 3.

                C'est ce que je dis. Que sans traitement prenant du temps, tu perds forcément du temps en passant en multi-cœur tu ajoute du traitement à l'OS pour copier les process d'un cœur à l'autre, puis une resynchronisation avant de renvoyer la sortie.
                Le coût de la parallélisation est supérieur au temps d'exécution de chaque process. D'où ce qui est observé. Après, ce n'est, àmha, pas à paralell de décider s'il doit ou non passer en multi cœur.

                Le résultat est donc normal dû à une utilisation malheureuse de l'outil. C'est un peu comme enfoncer un clou sans tête de 10mm avec une masse de 5kg. « Pourquoi mon cadre s'explose ? »
                • [^] # Re: Performances

                  Posté par  (site web personnel) . Évalué à 3.

                  L'option -P8 indique que xargs aussi parallélisé, à hauteur de 8 threads en // .
                  • [^] # Re: Performances

                    Posté par  . Évalué à 2.

                    Je ne savais pas que xargs avait une option de parallélisation.
                    Merci pour l'info, et dans ce cas, effectivement, je comprends mieux ton propos.
  • # ASCII video...

    Posté par  . Évalué à 3.

    Bon sang, 2 videos pour expliquer un outil aussi simple ?
    Les gens sont non seulement trop stupides pour lire une page de man, réfléchir quand cet outil pourra être utile et comment l'utiliser, mais aussi trop stupides pour lire ça sous forme hypertexte, donc il leur faut une vidéo ?
    (ces vidéos sont tellement intéressantes que les seuls commentaires laissés sont du spam, c'est révélateur)

    Je vous propose que quelqu'un fasse une vidéo de 30 minutes sur la commande echo, car elle est vraiment très difficile, qu'en dites-vous ?
    • [^] # Re: ASCII video...

      Posté par  . Évalué à 6.

      T'as oublié que, non seulement une vidéo est nécessaire, mais qu'elle doit absolument être postée sur Youtube. Sans Youtube, il ne serait pas possible de transférer des vidéos via Internet de façon légale.

      THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

    • [^] # Re: ASCII video...

      Posté par  (site web personnel) . Évalué à 5.

      Je serai pas aussi direct mais les instructions présentées dans la vidéo auraient leur utilité à être directement disponible dans un fichier texte "normal" pour faire les essais soit même (j'ai pas cherché si ça existait).

      En tout cas avoir suivi la vidéo m'a montré quelques trucs et astuces que je pensais pas.
    • [^] # Re: ASCII video...

      Posté par  . Évalué à 10.

      1. Les commentaires sur tinyogg sont du spam, mais ceux de Youtube sont intéressants.
      2. L'auteur de gnu parallel il est tout fier de son travail et essaie de communiquer sur son projet, quel est le problème ? Y'a des gens qui ont découvert paralle grâce à youtube (lis les commentaires), ça fait quand même plaisir !
      3. Je prends ma pause café en face de mon écran (VDM je sais), je suis bien content de voir une vidéo qui m'apprenne quelque chose au lieu de juste mouler. (Mais je moule quand même hein.)
      4. Des fois les pages de manuel sont incompréhensibles, sans compter qu'avec les trucs GNU les manuels sont dans des pages info je trouve ça bien moins efficace qu'une page de man même pour des contenus longs (voir les pages man de perl, une merveille d'organisation). J'ai pas lu la dépêche en détail (plus trop la patience de lire à cette heure). Là je peux voir une session typique en sirotant mon thé, les quelques commandes dont j'ai besoin, dans quel ordre il les lance... Cool.
      • [^] # Re: ASCII video...

        Posté par  . Évalué à -4.

        "1. Les commentaires sur tinyogg sont du spam, mais ceux de Youtube sont intéressants. "
        Humour, tout ça...

        "2. L'auteur de gnu parallel il est tout fier de son travail et essaie de communiquer sur son projet, quel est le problème ? Y'a des gens qui ont découvert paralle grâce à youtube (lis les commentaires), ça fait quand même plaisir !"
        C'est pathétique pour les gens qui découvrent ça sur youtube.

        "3. Je prends ma pause café en face de mon écran (VDM je sais), je suis bien content de voir une vidéo qui m'apprenne quelque chose au lieu de juste mouler. (Mais je moule quand même hein.)"
        Et une vidéo est mieux que de l'hypertexte ? Une vidéo n'est pas indexable, une vidéo n'est pas navigable comme du texte, une vidéo n'est pas accessible.

        "4. Des fois les pages de manuel sont incompréhensibles, sans compter qu'avec les trucs GNU les manuels sont dans des pages info je trouve ça bien moins efficace qu'une page de man même pour des contenus longs (voir les pages man de perl, une merveille d'organisation). J'ai pas lu la dépêche en détail (plus trop la patience de lire à cette heure). Là je peux voir une session typique en sirotant mon thé, les quelques commandes dont j'ai besoin, dans quel ordre il les lance... Cool."

        http://www.gnu.org/software/parallel/man.html
        On trouve une page de man, tout à fait compréhensible (critiquer les pages de man prouve uniquement ta flemmardise à lire), et même agrémentée d'exemples (tu vas être content).
        • [^] # Re: ASCII video...

          Posté par  (site web personnel) . Évalué à 6.

          > Et une vidéo est mieux que de l'hypertexte ?

          Non, mais c'est un bon complément.

          > Une vidéo n'est pas indexable

          Si, cf http://www.google.com/search?q=GNU+parallel&tbo=p&tb(...) par exemple.

          > une vidéo n'est pas navigable comme du texte

          Oui, et le texte n'est pas navigable comme de la vidéo. Ce sont deux médias différents, avec leur méthode de navigation. Certains préfèrent le texte, d'autre la vidéo. Je ne vois pas de raison de ne pas avoir les deux quand c'est possible.

          > une vidéo n'est pas accessible.

          C'est très discutable. Il existe des bonnes pratiques pour rendre accessible des vidéos. D'autre part, un texte n'est pas forcément accessible : il doit être dans la bonne langue, rédigé avec un vocabulaire adapté aux lecteurs, sans abréviations et acronymes non-expliqués, etc. Bref, dans certains cas, une vidéo peut être plus accessible que son équivalent textuel.
        • [^] # Re: ASCII video...

          Posté par  . Évalué à 5.

          > (critiquer les pages de man prouve uniquement ta flemmardise à lire),
          > et même agrémentée d'exemples (tu vas être content).

          Oui je suis flemmard à 18h30 devant un café, dans ce genre de situation une vidéo est la bienvenue. Surtout que je n'ai pas vraiment besoin de parallel (xargs, que je viens de découvrir, remplit tout mes besoins, et j'utilise un proc monocœur âgé de 5 ans). En revanche, découvrir un truc nouveau tout en flemmardant, ça change.

          (Au passage ce que je critique c'est les pages info parce que je trouve l'hypertexte mal adapté à cette utilisation. En général j'aime bien les pages de man, sauf quand elles ne donnent pas d'exemples de l'utilisation basique, ce qui oblige alors à chercher sur le net et fait perdre l'intérêt de ce qu'est un manuel.)
        • [^] # Re: ASCII video...

          Posté par  . Évalué à 4.

          Oui le texte c'est bien. Pourquoi est ce que ça rendrait la vidéo nulle ? C'est pas parce que HTML c'est bien que le docbook c'est nulle, non ?

          Affirmer que la vidéo c'est bidon c'est autre chose que dire qu'il manque de la documentation au projet.

          Un point utile dans la vidéo c'est que c'est universel là où le texte est localisé (bouh c'est chiants les non-anglophones...).

          Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

          • [^] # Re: ASCII video...

            Posté par  . Évalué à 0.

            "Un point utile dans la vidéo c'est que c'est universel là où le texte est localisé (bouh c'est chiants les non-anglophones...). "
            La vidéo est universelle ? Parce que le mec il parle une langue universelle, non-anglophone, dans sa vidéo ? Redis-le après avoir réfléchi un dixième de seconde pour voir.

            La vidéo c'est pourri parce que la seule recherche qui existe, c'est "passe toi la vidéo en entier jusqu'à ce que tu tombes enfin sur le passage qui t'intéresse", alors qu'avec le texte, c'est "tapes ctrl-f, puis le mot que tu cherches".
            • [^] # Re: ASCII video...

              Posté par  . Évalué à 4.

              En fait avec le texte c'est "C-s" à la rigueur "/".

              (-->[])
            • [^] # Re: ASCII video...

              Posté par  . Évalué à 5.

              Il m'est arrivé de regarder des screencasts faites par un russe pas de son juste une suite de commandes qui montre clairement comment le développeur à pensé que l'on pouvait utiliser le logiciel, rien de plus.

              Il m'arrive de regarder des vidéos de vim pour voir s'il y a une action qui pourrait m'interesser et tenter de la reproduire, pareil le gars pourrait être vietnamien que je peux voir et comprendre ce qu'il fait. Ça c'est impossible avec d'autres media, mis à part vagabonder sur le net en esperant lire un bout de doc ou de discution interessante dans une langue que je comprends (français ou anglais).

              Je ne dis pas que la vidéo dois remplacer toute autre forme de communication, mais qu'elle peut être un complément utile. C'est tout de même chaud d'être réactionnaire à ce point.

              Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: ASCII video...

        Posté par  . Évalué à 4.

        En fait, le truc choquant c'est que RMS explique que c'est bien de partager les vidéos, sous-entend que c'est légitime de le faire même si les droits d'auteur l'interdisent (autant il déconseille l'usage de softs proprios, autant les oeuvres audiovisuelles sous copyright ça le dérange pas).

        Et, d'autre part, que les plateformes privatives du "Web 2.0" c'est le mal absolu car c'est super propriétaire (vous savez à quoi ressemblent les binaires de Youtube? Moi non plus).

        Alors, ok, RMS n'est pas le projet GNU et le projet GNU n'est pas le développeur de GNU Parallel. Mais bon, on se serait quand même davantage attendu à une vidéo encodée dans un format libre et diffusée en torrent, join us now and share the video, qu'à un truc en H264 © et Adobe Flash © sur Youtube © de chez Google ©.

        THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

        • [^] # Re: ASCII video...

          Posté par  . Évalué à 2.

          > on se serait quand même davantage attendu à une vidéo
          > encodée dans un format libre et diffusée en torrent,
          L'auteur a mis sa vidéo au format ogg sur tinyogg.com. Mais comme en fait, il veut que sa vidéo soit vue par des vrais gens et pas juste par des robots spammeurs, il l'a aussi mise sur un site avec des visiteurs, youtube.

          Si ça avait été en torrent qui l'aurait vue ? Déjà pas moi, torrents connait pas, alors que j'ai un navigateur qui sait lire les vidéos en flux ogg/theora de tinyogg.com

          Il faut aussi considérer que dans le cas de la vidéo, la bande passante coute cher et que c'est un oligopole de quelques sociétés. Ce serait bien que ça change, mais c'est l'état de fait en 2010.
          • [^] # Re: ASCII video...

            Posté par  . Évalué à 2.

            > on se serait quand même davantage attendu à une vidéo
            > encodée dans un format libre et diffusée en torrent,
            Le gars dit à la fin de la deuxième partie : « If you like GNU parallel, please post this video on your blog, on twitter or whatever you use to connect to your peers. » Je pense qu'il te donne l'autorisation de poster cette vidéo sur un système peer to peer, littéralement. (Peut-être même que la vidéo y est déjà, mais je n'ai rien pour vérifier.)
          • [^] # Re: ASCII video...

            Posté par  . Évalué à 1.

            Mais comme en fait, il veut que sa vidéo soit vue par des vrais gens et pas juste par des robots spammeurs
            S'il veut que des vrais gens utilisent son logiciel, il devrait en faire un shareware closed source plein de pub à la licence douteuse et en faire la promo via Google Ads. Ou bosser chez Microsoft. C'est comme ça que ça marche pour faire connaître un logiciel en 2010.

            Parce que là, ça va n'intéresser qu'une poignée de libristes.

            THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

        • [^] # Re: ASCII video...

          Posté par  . Évalué à 2.

          autant il déconseille l'usage de softs proprios, autant les oeuvres audiovisuelles sous copyright ça le dérange pas

          Je n'étais pas au courant de la position de RMS sur la partage des vidéos (enfin pas de la manière dont tu le décris).

          Excuse moi de te dire ça mon pauvre Grunt, mais tu confonds un peu tout. Tu fais un amalgame entre la culture et les logiciels. Tu es fou.

          Évidemment que RMS déconseille les softs proprios. Les softs proprios/privateurs sont une menace pour la liberté de l'utilisateur à utiliser son matériel et ses données de la manière dont il l'entend. C'est aussi une atteinte à la culture informatique (étude de code source, communautés etc.).

          Le risque de partager une vidéo, c'est... hm... quoi au juste ? De voir un navet ?

          Ce sont deux choses complètement différentes. Donc même si RMS a effectivement tenu un discours dans ce sens, qu'on considère que ce soit légitime ou pas, on peut tout à fait comprendre qu'il fasse une différence entre les deux.

          vous savez à quoi ressemblent les binaires de Youtube? Bah surtout que c'est principalement du python :) (mais ptet compilé).

          Ceci dit je suis d'accord que les plateformes privatives du "Web 2.0" c'est le mal absolu Mais le risque n'est pas très grand. Quel est le pire qui puisse arriver ? Qu'ils suppriment la vidéo ? Ben ça fera un peu de mauvaise pub pour google et beaucoup de bonne pub pour parallel. Et puis il hostera sa vidéo ailleurs.

          Le problème que tu soulève est plus de la dérive minitel 2.0, de la cloudisatoin du Ninternet toussa, combat plutôt dans le domaine d'action de fdn et de la Quadrature du Net, que de la fsf.

          Mais bon, on se serait quand même davantage attendu à une vidéo encodée dans un format libre et diffusée en torrent, join us now and share the video, qu'à un truc en H264 © et Adobe Flash © sur Youtube © de chez Google ©. Youtube ne publie pas ses nouvelles vidéos en WebM ? Je croyais même qu'il était question d'abandonner flash, non ?
          • [^] # Re: ASCII video...

            Posté par  . Évalué à 4.

            Je n'étais pas au courant de la position de RMS sur la partage des vidéos (enfin pas de la manière dont tu le décris).
            Il suffit de regarder ses conférences les plus récentes.

            Excuse moi de te dire ça mon pauvre Grunt, mais tu confonds un peu tout. Tu fais un amalgame entre la culture et les logiciels. Tu es fou.

            Évidemment que RMS déconseille les softs proprios. Les softs proprios/privateurs sont une menace pour la liberté de l'utilisateur à utiliser son matériel et ses données de la manière dont il l'entend. C'est aussi une atteinte à la culture informatique (étude de code source, communautés etc.).

            Le risque de partager une vidéo, c'est... hm... quoi au juste ? De voir un navet ?

            Tu ne regardes qu'une partie de l'intérêt du logiciel libre: ne pas être espionné (ok, le problème ne se pose pas avec une vidéo), pouvoir effectuer des modifications (là aussi, il y a des grosses différences).
            Mais il y a aussi la question éthique de savoir si tu peux partager l'oeuvre avec ton voisin. RMS l'explique très bien: si tu utilises Windows, et que ton voisin en veut une copie, tu as le choix entre partager cette copie avec lui, donc rompre le contrat passé avec les développeurs, ou ne pas lui faire de copie donc ne pas être solidaire avec ton voisin.
            Et c'est une des raisons pour lesquelles les logiciels privateurs sont mauvais, même si tu t'en fous d'être espionné et même si tu ne fais pas de modifications: ils te laissent le choix entre ne pas être solidaire, ou ne pas honorer tes engagements.

            Hé bien, le problème se pose aussi avec la culture, il se pose même avec une plus grande acuïté. Car la culture est quelque chose qui se partage bien plus que les logiciels. Après tout, la plupart des gens s'en foutent un peu d'utiliser le logiciel X ou Y, modulo leurs habitudes et la compatibilité des formats.
            Alors qu'on ne peut pas substituer le film X au film Y sans abandonner immédiatement la possibilité d'avoir des références communes. Si je t'envoie un .doc tu peux grosso merdo le lire avec OpenOffice. Si tu ne saisis pas la blague quand on te répond "C'est pas faux!", la communication reste totalement bloquée.

            La culture est encore plus virale que le logiciel. Et c'est AMHA cette particularité qui fait que, même dans le milieu du logiciel libre, les gens tendent à baisser les bras et à renoncer totalement à l'idée de bâtir une culture libre. Trop contraignant de se couper de la culture propriétaire dominante, beaucoup trop contraignant.

            J'accepte totalement qu'on me dise "Ok, je peux souffrir de parcourir 50km pour acheter un PC sans Windows et une carte WiFi sans firmware propriétaire, mais je ne me sens pas de taille à passer pour un con auprès de tous mes amis parce que je me suis coupé de la culture propriétaire.", mais que ce renoncement, cet abandon, cette abdiquation devant la toute puissance de la culture propriétaire ne se cache pas derrière des arguments pour expliquer que "c'est pas pareil on peut pas comparer." Non seulement on peut comparer logiciel et culture, mais la comparaison fait apparaître que la culture propriétaire nous tient encore plus "par les couilles" que les logiciels propriétaires. Tellement, qu'on se refuse à l'admettre, et qu'on trouve toutes les justifications imaginables pour assouvir notre addiction sociale aux contenus de la SACEM et de la MPAA.

            THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

            • [^] # Re: ASCII video...

              Posté par  . Évalué à 5.

              Et, avant de me faire attaquer sur ce point: oui, moi aussi il m'arrive de céder. De regarder la même série propriétaire que ma copine parce que c'est quelque chose qu'on partage. D'accepter sans faire un scandale qu'on m'offre des CD audio propriétaires en cadeau d'anniversaire. C'est vraiment difficile de se couper de la culture propriétaire. De devoir expliquer pour la énième fois pourquoi on ne va pas voir tel concert, tel festival, tel film au cinéma.
              Refuser d'utiliser Flash, en comparaison, est socialement anecdotique (tous les 2 mois tu réponds "désolé le site marche pas chez moi" quand on te fait passer un lien censé être cool, largement supportable).
              Mais c'est justement cette difficulté qui fait prendre conscience de l'ampleur du piège: aujourd'hui, pour être accepté dans une société occidentale, il faut soit enfreindre la loi, soit accepter de filer plein de fric à des gens qui ont déclaré la guerre à Internet et à la liberté d'expression. On peut se passer de fringues de marque (j'ai passé l'âge de jouer avec des Nike), on peut bouffer bio, on peut ne pas acheter les derniers gadgets à la mode, il y a tout un tas de choses qu'on peut faire pour dire "merde" au système sans se couper de ses proches et sans mener une vie difficile. Mais la culture propriétaire c'est vraiment le point dur.
              Le contraste est même saisissant entre le discours mièvre des artistes qui se prétendent engagés, qui essaient de faire croire qu'ils travaillent pour le bien commun (la fameuse "exception culturelle" qui justifie qu'on engraisse ça avec de l'argent public), qui font de magnifiques films pour dénoncer les injustices du monde entier, et l'industrie moribonde, pourrissante, haineuse, capable d'imposer ses DRM sur toutes la planète (aucun dictateur, aucune mafia, n'aurait pu rêver de placer une saloperie de menotte numérique comme HDCP dans chaque écran et chaque carte graphique de la planète. Eux, ils y sont arrivés et sans forcer.) sur laquelle ces artistes s'appuient avec un aveuglement qui fout la trouille.
              Sur le devant du boitier de DVD: "Regardez mon film comme il est beau et juste, regardez le message que je veux partager avec la terre entière."
              À l'arrière du boîtier de DVD: "Vous êtes un criminel si vous copiez ce DVD, on a un système pour vous empêcher de le lire, et vous n'avez le droit de le lire que dans certaines régions du monde."

              Et on dirait que tout le monde s'en branle, les gens continuent à acheter >_<

              Je n'ai pas envie de warezer comme un minable, je n'ai pas envie de soutenir leur guerre comme un traître, à tout prendre je préfère être minable que traître, mais au moins j'essaie de regarder cette réalité en face et j'invite tout le monde à en faire de même.

              THIS IS JUST A PLACEHOLDER. YOU SHOULD NEVER SEE THIS STRING.

      • [^] # Re: ASCII video...

        Posté par  . Évalué à 2.

        Je suis d'accord globalement, mais tu es tout de même libre de contribuer à la page de man si tu la trouves indigeste…

        Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

        • [^] # Re: ASCII video...

          Posté par  . Évalué à 2.

          Je pense que le problème c'est plutôt que la vaste majorité des pages de man considèrent que c'est le manuel de référence d'une commande, et que les gens qui veulent apprendre feraient mieux de chercher sur le net. Par exemple, tape man python, le genre de pages vides qui explique les arguments de ligne de commande. Compare avec les tutoriaux, faq et références complètes de man perl. Ce n'est pas facile de convaincre des codeurs de changer l'état d'esprit de leur documentation (et accepter une section pour les débutants de la commande en question).

          Et puis, quand on découvre une commande et qu'on est choqué par la vacuité de la page de man, on n'est pas non plus en mesure de contribuer à la documentation. Si j'arrive pas à utiliser, je désinstalle et passe à un autre logiciel de la même catégorie.
          • [^] # Re: ASCII video...

            Posté par  . Évalué à 2.

            Je pense que le problème c'est plutôt que la vaste majorité des pages de man considèrent que c'est le manuel de référence d'une commande

            Bah oui mais ça ne me choque pas, c'est même logique : man = manuel :-)
            Par contre, on est bien d'accord qu'un manuel n'est pas un tutorial, mais se veut exhaustif.

            Reste qu'il existe bien souvent une section EXAMPLES qui remplit ce rôle. Il n'y a qu'à voir le man de Mplayer qui bien qu'indigeste est extrêmement complet, et l'on y retrouve une liste d'exemples d'utilisation assez complète (« Convertit les sous-titres au format MPsub », « Joue un fichier AAC 6 canaux avec seulement deux enceintes », « Ne lire que les chapitres 5, 6, 7 d'un DVD », etc).

            Ou plus récemment, ayant eu à jouer avec l'iSCSI, les pages de tgtadm et iscsiadm ne sont pas très lisibles, leurs exemples m'ont permis de démarrer.

            Après, il existe aussi la commande info : plus interactive que man, elle se prête également mieux à ce rôle d'introduction.

            Et puis, quand on découvre une commande et qu'on est choqué par la vacuité de la page de man, on n'est pas non plus en mesure de contribuer à la documentation. Si j'arrive pas à utiliser, je désinstalle et passe à un autre logiciel de la même catégorie.

            Tu peux toujours te mettre en contact avec l'auteur pour avoir des explications plus directes (surtout qu'il est en principe nommé dans la page de man) et la compléter par la suite.
            Mieux vaut dans ce cas participer en équipe que tout seul dans son coin puis envoyer le résultat.

            Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

            • [^] # Re: ASCII video...

              Posté par  . Évalué à 2.

              > man = manuel
              Oui mais tout manuel n'est pas forcément un manuel de référence. Par exemple, un manuel de vol en aéronautique décrit des exemples précis (le comportement à tenir dans chaque situation), alors qu'un manuel de référence de l'avion décrirait chaque bouton un par un.

              > Après, il existe aussi la commande info : plus interactive que man, elle
              > se prête également mieux à ce rôle d'introduction.
              Un livre ou une page howto écrite de haut en bas sans liens hypertextuels fonctionnent très bien comme introduction, alors que le côté hypertextuel de la commande info me perd dans des méandres de détails dont on ne voit plus l'architecture globale. En outre l'interface textuelle de info demande une disposition d'esprit particulière (l'auteur d'info est le même que celui d'emacs).

              Je cite l'auteur d'info2man* : « Many GNU manual pages are insultingly empty. Many GNU people seem to be arrogant scum in that they produce farces of manual entries, each prefaced with ``we like info, so we don't maintain this page, and it's probably a pack of lies - go read the info file''. »

              * http://www.cskk.ezoshosting.com/cs/css/info2pod.html
  • # Pour paralleliser et distribuer les jobs, il y a PAR aussi

    Posté par  (site web personnel) . Évalué à 6.

    Ca se passe par ici:

    http://savannah.nongnu.org/projects/par
    • [^] # Re: Pour paralleliser et distribuer les jobs, il y a PAR aussi

      Posté par  . Évalué à -6.

      Cher Zaurus,

      Je suis conscient que tu es très content de ton travail, et que tu publies de multiples journaux pour le présenter (sans malheureusement en lire les commentaires, sinon tu saurais que le nom par est déjà pris par un autre logiciel et qu'il aurait été pertinent d'en choisir un autre). Cependant, les commentaires des dépêches ne sont pas destinés à présenter ses propres créations, à moins de vouloir passer pour un spammeur.

      Si tu souhaites que ton logiciel soit reconnu, je t'invite à essayer de le faire intégrer aux distributions ou à GNU, c'est ce qu'a fait l'auteur de parallel pour faire reconnaître son produit (et pour cela il a dû prendre en compte les remarques qu'on lui faisait) Mieux, tu pourrais contribuer au projet GNU parallel afin de ne pas disperser les forces.

      Au passage je n'ai pas pensé à mettre le lien dans la dépêche, mais il y a un historique assez intéressant à lire sur le site du projet : http://www.gnu.org/software/parallel/history.html
      --
      Denis

      Membre de l'april, et vous ? https://april.org/adherer -- Infini, l'internet libre et non commercial : https://infini.fr

      • [^] # Re: Pour paralleliser et distribuer les jobs, il y a PAR aussi

        Posté par  . Évalué à 5.

        Mon avis est que les commentaires peuvent tout à fait présenter ses propres créations en rapport. C'est autrement plus pertinent qu'un n-ième troll velu du vendredi.
        Ca parle de logiciel libre, d'une création, d'un développement tout en restant dans le sujet. Ca montre le dynamisme et la richesse du libre. Ca peut ouvrir un débat sur une fonction particulière implementée dans l'un et pas dans l'autre.
        Ce qui aurait été bien, c'est que Zaurus fasse un petit comparatif entre son logiciel et celui en news.
      • [^] # Re: Pour paralleliser et distribuer les jobs, il y a PAR aussi

        Posté par  . Évalué à 3.

        C'est toujours intéressant de lire des commentaires avec des propositions d'autres logiciels. Je viens de découvrir que parallel remplit une fonction précise, les commentaires m'informent que xargs, par et find pourraient aussi m'être utiles selon les circonstances. C'est le meilleur esprit des des astuces publiées jadis sur l'accueil de dlfp, et de la bonne entente entre projets du libre (c'est très fréquent de trouver sur les sites de projets libres que de trouver des liens vers les projets « concurrents »).

        Je conseille à zaurus de faire une vidéo sur son projet en insistant sur les avantages et différences avec parallel, puis de faire une dépêche. Ça sert à ça un site communautaire.
      • [^] # Re: Pour paralleliser et distribuer les jobs, il y a PAR aussi

        Posté par  . Évalué à 2.

        Il existe aussi un logiciel libre plus ancien nommé parallel présent dans ma distribution :
        http://hackage.haskell.org/cgi-bin/hackage-scripts/package/p(...)
        Sans compter la floppée de turcs proprios du même nom (choisir un nom commun du dictionnaire, aussi...)

        Cela dit, c'est vrai que le choix de « par » comme nom n'est pas non plus excellent. Mon gestionnaire de paquets me renvoie 140 résultats dont 4 occurrences exactes.
        • [^] # Re: Pour paralleliser et distribuer les jobs, il y a PAR aussi

          Posté par  . Évalué à 2.

          Cela dit, c'est vrai que le choix de « par » comme nom n'est pas non plus excellent. Mon gestionnaire de paquets me renvoie 140 résultats dont 4 occurrences exactes.

          Ta distribution a 4 paquets qui ont exactement le même nom, ça ne doit pas être facile à gérer comme dépendances.

          « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

          • [^] # Re: Pour paralleliser et distribuer les jobs, il y a PAR aussi

            Posté par  . Évalué à 4.

            Ma distribution a des catégories.

            Elle permet aussi dans certains cas d'installer plusieurs versions d'un même logiciel ou d'une bibliothèque en même temps sur le système. Lorsque plusieurs paquets ou versions "matchent" la requête, l'utilisateur est invité à préciser son souhait parmi les possibilités.

            $ ACCEPT_KEYWORDS="~amd64" emerge --pretend par
            Calculating dependencies -

            [ Results for search key : par ]
            [ Applications found : 3 ]

            * app-arch/par
            Latest version available: 1.1
            Latest version installed: [ Not Installed ]
            Size of files: 39 kB
            Homepage: http://parchive.sourceforge.net/
            Description: Parchive archive fixing tool
            License: GPL-2

            * app-text/par
            Latest version available: 1.52
            Latest version installed: [ Not Installed ]
            Size of files: 46 kB
            Homepage: http://www.nicemice.net/par/
            Description: a paragraph reformatter, vaguely similar to fmt, but better
            License: freedist

            * dev-util/par [ Masked ]
            Latest version available: 00.05.01
            Latest version installed: [ Not Installed ]
            Size of files: 60 kB
            Homepage: http://www.djw.org/product/palm/par/
            Description: par manipulates PalmOS database files
            License: MPL-1.1

            !!! The short ebuild name "par" is ambiguous. Please specify
            !!! one of the above fully-qualified ebuild names instead.
            ... done!

            Ici il n'y en a que 3 parce que cet appel précis est sensible à la casse (ce n'est pas le cas par défaut de la commande consultation eix que j'avais utilisée au message précédent et qui avait aussi renvoyé l'atome =dev-perl/PAR-1.002).
  • # tuto

    Posté par  . Évalué à 2.

    je trouve les vidéo de tuto très intéressante.
    en plus j'aime bien l'idée de la démo live en mode terminale.

    Parallel a l'air d'être encore un pur outil, une habitude de la part du projet GNU. une vrai évolution pour faire entrée le parallélisme dans les bons vieux scripts admin.

    Par contre je n'ai pas saisi, dans la démo, comment il envoyait les commandes sur les autres serveurs. Avec ssh + clé cliente dans le "autorized hosts" ?

    let's enjoy now.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.