Journal cv, un petit outil pour surveiller vos copies

Posté par (page perso) . Licence CC by-sa
67
29
nov.
2013

Lors d'une récente copie conséquente et un peu « tendancieuse » sur le plan de la stabilité (fuse, WiFi, …), je me suis posé une énième fois la question d'une simple barre d'avancement pour la commande cp.

J'ai trouvé toutes sortes de possibilités : version patchée de cp, outils dédiés, utilisation de scp en passant par localhost (!), rsync, …

Malheureusement, aucune n'était satisfaisante à mes yeux : je voulais un truc simple et le moins invasif possible (patcher les coreutils ? Brrr …)

Du coup, j'ai réglé mon problème sur le moment en fouillant le /proc/xxx/fdinfo correspondant à mon cp. L'idée de faire un outil automatisant la démarche m'a alors heurté en pleine poire.

Une roue (probablement) ré-inventée plus tard, j'avais codé un petit outil : cv (Coreutils Viewer) : cv sur GitHub

cv capture d'écran

L'idée est toute simple : on fouille /proc à la recherche de commandes intéressantes (pour l'heure : cp, mv, dd, tar, gzip, gunzip, cat, grep, cut et sort), on regarde le plus gros fichier qu'elles sont en train de manipuler, et hop.

Ça fonctionne pour plein d'autres trucs (firefox lors d'un téléchargement, Apache, …) et je vois plein d'évolutions possibles autour de cet outil (barre d'avancement, débit, mode « top-like », …)

Dans l'attente de votre avis et de votre contribution,
Cordialement ;)

  • # Qui n'a rien à voir avec le sujet principal…

    Posté par . Évalué à 10.

    Quel est ton prompt PS1 ? Tu peux nous poster ta configuration stp ?

    • [^] # Re: Qui n'a rien à voir avec le sujet principal…

      Posté par (page perso) . Évalué à 10.

      J'ai honte de l'avouer, mais j'ai pensé la même chose…

      Sed fugit interea, fugit inreparabile tempus, singula dum capti circumvectamur amore

      • [^] # Re: Qui n'a rien à voir avec le sujet principal…

        Posté par (page perso) . Évalué à 10.

        Il s'agit de powerline-shell (https://github.com/milkbikis/powerline-shell) , découvert sur LinuxFR au hasard d'un autre journal.

        J'utilise le thème par défaut et le « complément de police » du (vrai) powerline (https://powerline.readthedocs.org/en/latest/installation/linux.html#font-installation) pour avoir les fameux caractères en forme de flèche.

        • [^] # Re: Qui n'a rien à voir avec le sujet principal…

          Posté par (page perso) . Évalué à 5.

          Pareil mais sans complément de police parce que j'utilise Pragmata, une fonte lisible et jolie, qui sera peut-être libre un jour. Perso j'ai pris toutes les options :-)

          • [^] # Re: Qui n'a rien à voir avec le sujet principal…

            Posté par (page perso) . Évalué à 1.

            Intéressant. Je trouve cela un peu moche visuellement mais j'apprécie le gain de place en largeur. Est-ce que quelqu'un connaît une font similaire mais libre ? (ou au moins gratuite)

            • [^] # Re: Qui n'a rien à voir avec le sujet principal…

              Posté par (page perso) . Évalué à 1.

              Oh, wow, je viens de tomber sur http://www.indiegogo.com/projects/pragmatapro-the-ideal-programming-typeface-open-source . Le gars il demande 220 000$ pour le rendre opensource. Comment on peut être si déconnecté de la réalité ? Le gars il dit qu'il a réussi à vendre 187 licences pour le moment.

              • [^] # Re: Qui n'a rien à voir avec le sujet principal…

                Posté par (page perso) . Évalué à 5.

                Comment on peut être si déconnecté de la réalité ?

                Et toi donc ?

                Tu connais quelque chose au monde de la typographie ? Tu sais le temps que ça prend pour dessiner une police ne serait-ce que correcte (pour un typographe, s'entend) ? Tu connais quelqu'un qui bosse dans le secteur, pour pouvoir dire quelque chose d'aussi péremptoire ?

                Sed fugit interea, fugit inreparabile tempus, singula dum capti circumvectamur amore

                • [^] # Re: Qui n'a rien à voir avec le sujet principal…

                  Posté par (page perso) . Évalué à 5.

                  «I estimated this amount in $220,000: the 13% will go to fees, the 43% in Italian taxes and the 44% is the clean amount for the project. Incredible but true
                  With $96,000 I can design for 800 days and Im sure to done the project.»
                  

                  96000$ pour 800 jours de travail en Italie, ça semble honnête. Mais à mon avis le problème vient que la plupart des gens ne comptent pas mettre autant d'argent dans une police d'écriture, surtout quand il y en tellement de bonnes polices dans le domaine publique.

                  L’intérêt de celle-ci est d'être optimisée pour le code (pourquoi pas) et pour l'affichage à l'écran. Je pense que l'optimisation de l'affichage à l'écran et les systèmes d'anti-aliasing sont de moins en moins importants : les tablettes, smartphones et PC haut de gamme (pour l'instant) ont des résolutions rendant inutiles ces optimisations.

                • [^] # Re: Qui n'a rien à voir avec le sujet principal…

                  Posté par (page perso) . Évalué à 3.

                  Je dis pas que ça ne prend pas de temps, ni que c'est simple. Je dis simplement qu'en l'espace de 10 ans, il a vendu moins de 200 licences. Comment il peut croire être en mesure de soulever 220 000$ ?! Et cela ne s'est pas fait attendre, il a réuni seulement 4855$, sachant que cela permettait d'avoir une grosse réduction sur le prix de la font. Bonne chance pour trouver 10 000 personnes souhaitant débourser 20$ en l'espace de 2 mois lorsqu'en 10 ans on a réussi à trouver seulement 200 acheteurs.

                  • [^] # Re: Qui n'a rien à voir avec le sujet principal…

                    Posté par . Évalué à 0.

                    Comment il peut croire être en mesure de soulever 220 000$ ?! Et cela ne s'est pas fait attendre, il a réuni seulement 4855$, sachant que cela permettait d'avoir une grosse réduction sur le prix de la font.

                    Il aura essayé, au moins.

                    Envoyé depuis ma Debian avec Firefox

  • # Intéressant

    Posté par (page perso) . Évalué à 10.

    Je trouve l'astuce excellente, outil intéressant. Mais si j'ai bien compris ça ne marche que pour un gros fichier (ça cherche le fichier ouvert le plus gros), si tu copies une arborescente complète t'es marron.

    J'en profite pour placer un petit outil que j'avais écrit, gcp: il est dans Debian et gère entre autres une barre de progression et l'ajout de fichiers à copier en cours de route, il y avait eu une dépêche à l'époque: https://linuxfr.org/news/gcp-un-outil-de-copie-%C3%A0-la-cp

    Bon je suis tellement pris par Salut à Toi que je n'ai plus trop de temps à y consacrer (dernier commit en 2011), mais je m'en sers régulièrement et je vais peut-être me prendre une journée à l'occase pour ajouter 2/3 améliorations.

    à noter aussi ((Ultra)|(Super))copier d'alpha_one_x86 dont on entend parler régulièrement ici.

    • [^] # Re: Intéressant

      Posté par (page perso) . Évalué à 4.

      Tu as tout à fait raison, la copie d'arborescence ne va rien donner d'intéressant (ça va afficher le fichier en cours, tout simplement).

      Je ne connaissais pas gcp (et c'est bien dommage, ça semble particulièrement complet, beau boulot !) et cv ne joue pas du tout dans la même catégorie : c'est vraiment un modeste petit outil de « monitoring » : on ne change rien aux commandes et aux habitudes.

      En fait, cv, c'est typiquement l'outil sur lequel j'aurais souhaité tomber après avoir lancé ma fameuse copie « error prone » : on télécharge, on compile et on surveille la copie sans la relancer :)

      • [^] # Re: Intéressant

        Posté par (page perso) . Évalué à 4.

        Oui cv est bien utile, je viens de le mettre sur 2 des mes machines :). Sans compter que ça gère d'autre outils, que ça fonctionne une fois la copie lancée (donc idéal en cas d'oubli de barre de progression), et que ça permet de voir ce qui est en cours. Tu as l'intention de l'empaqueter sous Debian et/ou dans d'autres distros ?

  • # pv

    Posté par . Évalué à 3.

    pv n'aurait-il pas fait l'affaire ? C'est un bon couteau suisse pour ce genre de chose.

    L'approche est differente puisqu'il faut specifier ce que tu veux monitorer alors que toi tu pars a la peche aux infos, mais ca merite au moins d'etre connu.

    • [^] # Re: pv

      Posté par (page perso) . Évalué à 4.

      cp_p est quand même bien plus user-friendly : https://chris-lamb.co.uk/posts/can-you-get-cp-to-give-a-progress-bar-like-wget

      pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

      • [^] # Re: pv

        Posté par (page perso) . Évalué à 5.

        L'astuce est assez géniale (accumuler les valeurs de retour de write(2) pour compter les octets) et bien réalisée !(du awk joli, c'est pas tous les jours)

        Mais passer par strace, ça tue pas un peu les performances ?

        • [^] # Re: pv

          Posté par (page perso) . Évalué à 3.

          à lire les commentaires du lien pointé, si !
          Mais effectivement, l'idée est sympa et joliment implémentée :)

  • # Commentaire supprimé

    Posté par . Évalué à 2.

    Ce commentaire a été supprimé par l'équipe de modération.

    • [^] # Re: scp

      Posté par (page perso) . Évalué à 1.

      Je n'ai pas cherché plus loin, mais en utilisant scp ainsi, je n'ai pas de barre d'avancement. L'astuce (foireuse, donc) souvent évoquée consiste bien à faire une copie au travers de sshd sur le localhost (pour avoir la barre d'avancement).

      • [^] # Commentaire supprimé

        Posté par . Évalué à 3. Dernière modification le 29/11/13 à 14:17.

        Ce commentaire a été supprimé par l'équipe de modération.

        • [^] # Re: scp

          Posté par . Évalué à 4.

          Ou plus simplement :

           $ dd_rescue plop1 plop2
          

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

    • [^] # Re: scp

      Posté par . Évalué à 0.

      scp plop1 plop2 est équivalent à cp plop1 plop2 (scp lance cp en sous-main)
      Donc il faut faire scp plop1 localhost:$PWD/plop2 ou équivalent, je suppose… Mais question efficacité, c’est franchement pas ça.

    • [^] # Re: scp

      Posté par (page perso) . Évalué à 3.

      En général, quand on parle de scp, c'est qu'on aurait du parler de rsync (qui fait grosso-modo tout ce que fait scp, et plus). Pour une barre de progression fichier par fichier, il y a ça :

      rsync --progress plop1 plop2

      Mais effectivement, il faut penser à mettre --progress avant de lancer la commande. Si elle tourne depuis 2h et qu'on se demande quand elle va terminer, cv a l'air très bien.

  • # iotop

    Posté par . Évalué à 2.

    Pour faire un suivi de copie, j'utilise iotop.

    Si il y a plein de truc à copié, "index" marche pas trop mal, il a une routine de copie optimisé ( https://github.com/nicolasboulay/index/ ).

    "La première sécurité est la liberté"

  • # Rsync

    Posté par (page perso) . Évalué à 5.

    Salut,

    Ton outil semble vraiment sympa, mais si c'est simplement pour un cp, alors tu peux utiliser une nouvelle option de rsync (depuis la 3.1.0):

    rsync -ahW --no-compress --info=compress2 <src> <dst>
    • [^] # Re: Rsync

      Posté par (page perso) . Évalué à 2.

      J'aurai dû développer plus la phrase concernant les solutions que j'avais trouvé avant de coder ce petit outil :)

      Comme indiqué, rsync fait effectivement partie des solutions souvent évoquées pour résoudre ce problème, mais il faut avouer que la syntaxe résultante manque un tout petit peu de légèreté, non ? (moi je ne maîtrise pas assez rsync pour lancer truc comme ça sans avoir consulté chaque option au préalable)

      • [^] # Re: Rsync

        Posté par (page perso) . Évalué à 5.

        C'est lourd comme syntax, mais bon, tu peux faire un alias pour ça.

      • [^] # Re: Rsync

        Posté par (page perso) . Évalué à 4.

        il faut avouer que la syntaxe résultante manque un tout petit peu de légèreté, non ?

        Dans ce cas, un alias suffit, non ?

  • # rsync

    Posté par . Évalué à 9. Dernière modification le 29/11/13 à 14:37.

    Tu as dit considérer rsync, je suppose que tu as pensé au

    rsync -P dossier1/fichier dossier2/
    

    qui t'affiche une jolie progression de ta copie.

    -r ajoute la récursivité.

    • [^] # Re: rsync

      Posté par (page perso) . Évalué à 1.

      Bhen … non.

      J'ai trouvé toutes sortes de réponses alambiquées à propos de rsync, mais celle là, non. C'est simple et ça fait pile ce que je voulais.

      Merci !

      • [^] # Re: rsync

        Posté par . Évalué à 3.

        pourtant facile à trouver
        man rsync

        puis
        /progress

        nous emmene aux lignes :

                   --progress              show progress during transfer
                -P                          same as --partial --progress

        expliquées plus loin (en tapant n pour avoir "next" element recherché)

  • # Un outil pour surveiller les copies ?

    Posté par . Évalué à 2.

  • # Le shell du troisième millénaire!

    Posté par . Évalué à -9.

    https://github.com/unconed/TermKit

    Je pense qu'il est impératif de faire évoluer la situation du "terminal".

    On est toujours en VT-100 à 38000 bauds! Faites "stty -a" si vous ne me croyez pas! Vous verrez par vous même.

    http://en.wikipedia.org/wiki/Line_discipline

    Que de telles idées rétrogrades puissent être la base notre système d'exploitation chéri est vraiment affligeant.

    http://nmap.org/movies/

    Je souhaite qu'on arrive enfin à Skynet ou au moins à la pillule rouge.

    http://www.enlightenment.org/p.php?p=about/terminology

    Pouvoir mettre une photo de chat en fond d'écran, c'est vrai que c'est très sympa.

    Comme disent Stallmann et Paul Graham, l'avenir est au Lisp. C'est évident.

    http://fr.wikipedia.org/wiki/S-expression

    Une commande est une s-expression.

    ls . => (ls ".")
    find / -iname "*toto" | grep "titi" => (grep "titi" (find "/" -iname "*toto"))

    Je médite sur ça depuis quelques mois.

    Je voudrais le faire. C'est tellement plus beau. Si il y a des gens intéressés, contactez moi.

    L'idéal pour moi, c'est de tout refaire à partir du "and". Mais, bien sur ça il y a un problème de performance.

    Si l'on pouvait définir une informatique juste à partir d'un seul opérateur natif "and", ça serrait une pure merveille.

    http://fr.wikipedia.org/wiki/Gottlob_Frege

    Frege a essayé de le faire pour les maths. Relier nombres et logique sans passer par une représentation (je me la pète un peu, j'ai pas tout compris).

    • [^] # Re: Le shell du troisième millénaire!

      Posté par (page perso) . Évalué à 1.

      Comme disent Stallmann et Paul Graham, l'avenir est au Lisp. C'est évident.

      J'en suis convaincu aussi, mais ça manque un peu d'arguments, non ?

      Sinon, as-tu regardé du côté de CLASH pour remplacer le shell par un Lisp. Après, il reste à faire une jolie macro qui traduit les commandes non trouvées en lisp en commande shell.
      Il y a aussi le listener de Clim qui est un shell graphique. (un peu comme TermKit mais en moins joli pour l'instant).

      • [^] # Re: Le shell du troisième millénaire!

        Posté par . Évalué à -8.

        Tu es un maitre pour moi.

        Je me suis converti, il y a peu. Moins de deux mois.

        Je vais regarder tes liens et je t'en remercie.

        Au niveau "argumentaire", je pense que c'est vain ("flawed" comme ils aiment dire). Tu peux trouver d'excellents argumentaires pour (en vrac) Forth, Java, Clojure, Erlang, la POO, la "FP" …

        Je pense que les "lispiens" sont dans un ghetto. Ils se sentent aggressés et on besoin de revendiquer.

        Ca se voit très bien sur le site de Clojure. Leur premier argument est:

        "On tourne dans la JVM. Le Java, c'est du sérieux."

        N'importe quoi. Je détaille pas, mais il y a de bonnes raisons pour considérer cette approche comme fausse.

        Les Haskell, les Julia, les OCaml, les Erlang: Tout ça on peut le faire en Lisp (je le dis pour les autres, je sais que tu sais).

        Le combat "Lambda calcul/POO" ou "Monades/POO" ne fait que polluer le débat. Ce ne sont que des détails.

        Le problème du Lisp (et c'est bête à dire) ce sont les parenthèses.

        Faire en racket:

        (circle 50)

        Ca va, c'est joli. Mais les machins avec des dizaines de parenthèses fermantes, ça va pas.

        Alors il y a ça:

        http://readable.sourceforge.net/

    • [^] # Re: Le shell du troisième millénaire!

      Posté par . Évalué à 1.

      http://www.enlightenment.org/p.php?p=about/terminology
      Pouvoir mettre une photo de chat en fond d'écran, c'est vrai que c'est très sympa.

      Euh, t'y vas un peu vite, il est surtout très rapide et léger en plus d'être un poil sexy (hormis les boutons). Après prend soin de ne pas confondre Terminal et shell.

      Termkit n'a pas bougé depuis 2 ans, c'est un signe qu'on en avait pas trop besoin ou que la problématique du terminal qu'il tentait de mettre en avant n'était pas celle-là.

      • [^] # Re: Le shell du troisième millénaire!

        Posté par . Évalué à -3.

        Le gars de Termkit est une star sur reddit. Pas loin de 2000 commentaires, avec gens qui postent (au moment ou nous parlons) pour demander ou ça en est.

        Quelle est sa réponse?

        "Euuhhh, merci pour tout, mais chui parti sur Node.js, et il se trouve que ce n'est pas "mature" comme techno." (je crois qu'il ne parle pas de femme)

        Il y a aussi, ce gars gars la:

        http://liftoffsoftware.com/

        C'est très beau. Il faut regarder l'historique des logs. C'est un "replay". Une sorte de vidéo youtube de l'écran. Il a des bonnes idées.

        Le problème est ailleurs.

        La semaine dernière, il poste sur HN: "Je n'arrive pas à trouver un modèle économique. Aidez-moi SVP!".

        Un administrateur ne va se connecter sur un site web meme en HTTPS pour ouvrir un SSH sur un serveur dédié. Ils sont trop paranos.

        • [^] # Re: Le shell du troisième millénaire!

          Posté par . Évalué à 3.

          Un administrateur ne va se connecter sur un site web meme en HTTPS pour ouvrir un SSH sur un serveur dédié. Ils sont trop paranos.

          Trop parano?
          C'est juste qu'encapsuler du SSH dans du HTTPS c'est une connerie (FW d'entreprise ou non). Sortir l'artillerie Firefox Chrome là où un terminal de 300ko fait le boulot, c'est aussi une connerie.
          Tout ça pour quoi? C'est vachement utile d'avoir une icône PDF pour se figurer qu'il s'agit d'un document de ce type ou l'aperçu d'un jpg que tu devras de toute façon traîter dans une application dédiée.
          "Non mais la problématique, ce sont les FW entreprise"
          Bien tu utilises un VPN comme un vrai adminsys et non un amateur de chat sur Tumblr. Si cela n'est pas autorisé, tu respectes la politique de sécu de ta boîte ou tu changes de boîte!

          Les dev JS/HTML5/RubyOnMac vont devoir se sortir un peu les doigts du cul et de s'atteler à des créations plus utiles.

          • [^] # Re: Le shell du troisième millénaire!

            Posté par . Évalué à -4.

            Les dev JS/HTML5/RubyOnMac vont devoir se sortir un peu les doigts du cul et de s'atteler à des créations plus utiles.

            Ton message est juste.

            Ce sont de petits jeunes "américains" qui souhaitent percer. Donc, ils prennent le dernier truc à la mode.

            Malgré ça, je pense que leurs efforts sont intéressants.

    • [^] # Re: Le shell du troisième millénaire!

      Posté par . Évalué à 3.

      Je crois plus en des solutions comme powershell qu'en des trucs comme termkit (et pourtant powershell je n'y crois pas). Le shell unix doit fonctionner en mode console ajouter des trucs c'est bien mais il faut que ça continue de fonctionner en mode console sinon ça ne sert à rien. Personne dans ceux qui utilisent sérieusement leur shell ne veulent avoir à utiliser la sourie quand ils utilisent leur shell.

      find / -iname "*toto" | grep "titi" => (grep "titi" (find "/" -iname "*toto"))
      

      Le shell évolue plus que tu ne le crois, maintenant on a les globbing par exemple :

      find / -iname "*toto" -exec grep -h "titi" \+
      grep -h "titi" (#i)/**/*toto(.) # c'est la solution que je prévilégie généralement
      zargs -- (#i)/**/*toto(.) -- grep "titi"
      print -m (#i)/**/*toto(.) | xrags grep "titi"

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

      • [^] # Re: Le shell du troisième millénaire!

        Posté par . Évalué à -5.

        Je ne connaissait pas le globbing. C'est des sortes de macros, non?

        Je ne dis pas de mal de unix, des fichiers, de la ligne de commande.
        J'ai pensé comme ça un moment mais je me suis rendu compte que si c'était toujours comme ça, c'est qu'il y avait une bonne raison.

        Je me trompe souvent. En 2000, j'étais un fan du "clicodrome" à la Windows.

        Je ne sais plus qui dit ça, mais en substance, cette personne dit que les IHM sont faciles à utiliser pour des choses simples et compliquées pour des choses complexes. D'ou la persistance de la ligne de commande.

        On peut tout faire en ligne de commande.

        Pour le powershell, ce que j'en ai vu, c'est qu'on instancie des objets .NET. En gros, on fait du VBScript.

        • [^] # Re: Le shell du troisième millénaire!

          Posté par . Évalué à 3.

          C'est des sortes de macros, non?

          Je ne sais pas si on peut appeler ça des macro, mais je pense que tu as saisi de quoi il s'agit.

          Je ne dis pas de mal de unix, des fichiers, de la ligne de commande.

          La question n'est pas de savoir si c'est mal ou pas, mais de comprendre que l'évolution ce n'est pas que faire des trucs graphiques. Les shell évoluent, adoptent des nouvelles syntaxes et de nouvelles fonctions sans pour autant devenir graphique.

          En gros, on fait du VBScript.

          Ouai un shell c'est un langage que tu manipule, que le langage soit un dérivé de basic, du bourn shell, du python ou du lisp, c'est presque de l'ordre du détail. Là où unix dis clairement dans ces règles, les programmes s'interface par le biais de texte et de l'entrée/sortie standard/d'erreur, powershell à choisi de manipuler des objets .Net. C'est original et intéressant (mais je ne trouve pas ça génial car ça limite les développement à du .net).

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

          • [^] # Re: Le shell du troisième millénaire!

            Posté par . Évalué à -3.

            Les shell évoluent, adoptent des nouvelles syntaxes et de nouvelles fonctions sans pour autant devenir graphique.

            Oui. Le graphisme pour le graphisme ne sert à rien.

            Par exemple, la coloration syntaxique est (presque) inutile.

            Ce qui est utile est d'avoir des "progress" sur des opérations lourdes. Pouvoir voir le contenu d'un "pipe" en temps réel aussi.

            Le "tiling" aussi est très utile.

            Je sais que tout ça existe déjà à différents endroits.

            • [^] # Re: Le shell du troisième millénaire!

              Posté par . Évalué à 9.

              Par exemple, la coloration syntaxique est (presque) inutile.

              Ça c'est faux. La couleur dans un shell, c'est très important.
              Avoir un prompt qui se remarque au milieu d'une bouillie de texte c'est nécessaire bien souvent, grep qui colorise ce qu'il « match » aussi, etc

              La couleur permet d'être plus efficace en ayant des repère plus faciles et donc plus rapide à retrouver.

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

    • [^] # Re: Le shell du troisième millénaire!

      Posté par . Évalué à 1.

      Une commande est une s-expression.

      eshell le fait, certaines fonctions elisp sont mappées directement, comme find-file par exemple. En plus il est très bien intégré à l'OS qu'est GNU emacs ;)

      • [^] # Re: Le shell du troisième millénaire!

        Posté par . Évalué à -6.

        Merci du tuyau. Je vais me forcer à regarder ça.

        Jusqu'à présent, mon vécu avec emacs s'est limité à "yum install emacs*". Maintenant, quand je clique sur un fichier ".l" ou ".el", ça me lance emacs.

        Ma première réaction a été: "J'ai pas besoin de Common Lisp, de elisp ou de Scheme. C'est trop simple, je vais faire mon lisp à moi (perso)".

        J'ai commencé ça en C++. Pour l'instant, j'ai un parseur qui fonctionne bien. Il m'affiche un beau message "Syntax error!" à la 8bit avec numéro de ligne et de caractère, contexte du source comment en Java.

        Pourquoi faire simple quand on peut faire encore plus simple.

        Je prévois de ne gérer que deux opérateurs.

        (native "+" (left right)) ;ça appelle l'opérateur "plus" (en C++) sur deux symbols.

        (define toto (liste)) ;ajoute un symbole dans la pile des symboles

        Avec ça on doit pouvoir tout faire du moment que les opérateurs "natifs" sont implémentés en C++.

        Je veux zapper toutes les notations inutiles, les dièzes, les quotes …
        Je vais remplacer ça par une interprétation en fonction du contexte: un lambda est toujours une adresse de lambda, une string est toujours passée par valeur …

        Le PHP fait comme ça, je vois pas pourquoi on pourrait pas faire ça en Lisp.

        Franchement, c'est faisable dans un délai raisonnable. Stallmann l'a bien fait.

        Qu'est ce que t'en penses ?

  • # Classe le PS1

    Posté par (page perso) . Évalué à -9.

    Il est trop beau ton prompt, vas y partage ton PS1 siouplé!

    • [^] # Re: Classe le PS1

      Posté par (page perso) . Évalué à 7.

      Je te conseille la lecture du premier commentaire.

      « 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

  • # Méthode à l'arrache : du puis iotop

    Posté par (page perso) . Évalué à 1.

    Avant la copie faire

    du -xhs

    Puis pendant la copie :

    iotop -a -o

  • # Y’a aussi l’option « et si les coreutils évoluaient ? »

    Posté par . Évalué à 6.

    Pourquoi la barre de progression n’est pas implémentée dans les coreutils (cp, mv, etc) ? C’est pourtant une demande récurrente.

    Pas par défaut, je comprends que ça casserai la compatibilité des scripts, mais qu’est-ce qui empêche d’ajouter une option --progress ? Les utilisateurs qui le souhaitent pourraient alors faire alias cp="cp --progress".

    Y’a peut-être une bonne raison à ça, mais je vois pas laquelle.

    • [^] # Re: Y’a aussi l’option « et si les coreutils évoluaient ? »

      Posté par . Évalué à 5.

      Y’a peut-être une bonne raison à ça, mais je vois pas laquelle.

      J'ai une hypothèse à proposer. Pour faire une barre de progression jolie, il faut pouvoir redessiner sur la même ligne. Cela se fait soit avec ncurses, soit avec des codes de contrôle ANSI, qui fonctionnent de manière assez aléatoire particulièrement dans les environnements limités dans lesquels cp est amené à être utilisé (recovery shell, etc.).

      Pour un outil "core", il faut une solution à la fois portable et efficace.

      Ce qui est envisageable (et envisagé), c'est d'écrire sur la sortie standard un pourcentage d'avancement lorsque SIGUSR1 est reçu. Pour une interface plus jolie, les développeurs ont l'air frileux.

  • # Question idiote : umount ?

    Posté par (page perso) . Évalué à 1.

    Bonjour,

    En tant qu'utilisateur, j'ai souvent besoin de copier des trucs sur clé USB, ce qui va "vite" mais le transfert ne termine qu'après umount, qui peut prendre "des heures" : je n'ai AUCUNE idée de la faisabilité de suivre le "vidage du tampon d'écriture vers périphériques externes"…

    "Oubli" dans cv ? Ou c'est une tannée à faire ?

Suivre le flux des commentaires

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