vmagnin a écrit 722 commentaires

  • [^] # Re: Pas que le calcul

    Posté par  (site web personnel, Mastodon) . En réponse au journal Des nouvelles de Fortran. Évalué à 5.

    Concernant la généricité, Steve Lionel précise qu'il a été question de travailler dessus pour la future norme 202X, mais que ça a été reporté à la norme suivante 202Y faute de consensus :

    https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-forward/

  • [^] # Re: Pas que le calcul

    Posté par  (site web personnel, Mastodon) . En réponse au journal Des nouvelles de Fortran. Évalué à 7.

    C'est intéressant de discuter des chaînes de caractères en Fortran. Personnellement, c'est justement un aspect du langage qui m'a toujours dérangé aux entournures. Probablement parce que les chaînes ont (avaient ?) une longueur fixe, qu'il faut jouer avec Trim(), etc. Ca doit venir de mes années BASIC…

    Mais comme ce n'est pas au cœur de mon usage (en gros les chaînes me servent uniquement à manipuler des noms de fichiers de sortie), j'ai sûrement raté des épisodes, ceux dont tu parles avec Fortran 2003 et 2008. Par exemple, je suis complètement passé à côté de l'Unicode dans Fortran… Je vois aussi que dans Fortran 95, il y avait un module optionnel "Varying length character strings" (ISO/IEC 1539-2 : 2000). Est-ce qu'il a été inclus dans la norme principale ?

    Promis, le jour où je retournerai dans mon bureau (?), je relirai ton article dans GLMF !

    Tiens, je ne savais pas que Cray faisait maintenant partie de HP. Ils n'ont pas fini d'implémenter Fortran 2018 (deffered features), mais je suis incapable de juger de ce que ça représente… Bon, on n'est pas dans la même catégorie, je me contenterai de mon cher gfortran… A noter que dans son blog, Steve Lionel précise qu'un de ses objectifs est de réduire le nombre de nouveautés majeures dans les normes pour laisser le temps aux éditeurs de compilateur d'implémenter les normes (https://stevelionel.com/drfortran/2020/04/25/doctor-fortran-in-forward/). D'ailleurs, il dit bien qu'en 2017 seul le compilateur Cray implémentait intégralement Fortran 2008.

  • [^] # Re: Mes premières lignes de code professionnelles

    Posté par  (site web personnel, Mastodon) . En réponse au journal Des nouvelles de Fortran. Évalué à 4.

    Ca peut servir à comprendre du vieux code. Mais c'est limite de l'archéologie informatique… Dommage, il y a quand même un avant et un après Fortran 90.

  • [^] # Re: Ça fait plaisir un journal sur Fortran

    Posté par  (site web personnel, Mastodon) . En réponse au journal Des nouvelles de Fortran. Évalué à 8.

    Bonsoir,

    le site fortran-lang.org est tout frais, il a été mis en ligne très récemment (avril ?).

    Effectivement, j'ai gfortran-10 dans deux machines virtuelles Fedora 32 et Lubuntu 20.04, mais j'attends de mettre à jour mon Ubuntu 19.10 pour faire des tests de vitesse (j'attends le déconfinement pour faire mes mises à jour…)

    Non, je n'ai pas essayé les coarrays. J'ai juste un code de calcul qui utilise du ray tracing, et qui se parallélise très facilement avec OpenMP (quelques lignes de directives bien choisies) pour utiliser tous les coeurs de mes PC. Mais dans le livre "Numerical Computing with Modern Fortran" de R.J. Hanson et T. Hopkins, il y a trois chapitres sur MPI, Coarrays et OpenMP.

    https://books.google.fr/books/about/Numerical_Computing_with_Modern_Fortran.html?id=Oe4mAgAAQBAJ&redir_esc=y

  • [^] # Re: Performance des compilateurs libres

    Posté par  (site web personnel, Mastodon) . En réponse au journal Des nouvelles de Fortran. Évalué à 6. Dernière modification le 03 mai 2020 à 22:09.

    Attention, dans le benchmack Polyhedron, il y a deux tableaux : le premier sous Windows, le second sous Linux. A noter que le second semble plus favorable pour gfortran (d'ailleurs en version 7.4 sous Linux, et 8.1 sous Windows…).

  • [^] # Re: Performance des compilateurs libres

    Posté par  (site web personnel, Mastodon) . En réponse au journal Des nouvelles de Fortran. Évalué à 10.

    Voici un benchmark récent de divers compilateurs Fortran :
    https://polyhedron.com/?page_id=175
    qui montre que gfortran ne se débrouille globalement pas plus mal que la plupart des compilateurs commerciaux. Maintenant, c'est compliqué les benchmarks : ça dépend des problèmes mathématiques utilisés, des options choisies pour chaque compilateur, des microprocesseurs sur lesquels ont les utilise (sans parler de clusters de machine), etc.

    Personnellement, j'ai longtemps utilisé les ancêtres d'Intel Fortran, en particulier Compaq Visual Fortran, et depuis une douzaine d'années j'utilise principalement gfortran. J'avais acheté Intel Fortran 2015, mais finalement pour les problèmes qui m'intéressent (basés souvent sur la résolution de gros systèmes d'équations différentielles, sur un bon PC), je me suis rendu compte que suivant les problèmes gfortran pouvait être un peu plus rapide qu'Intel ou le contraire, avec des différences en général inférieures à 10 %. Bon, quand on est à 10 % de différence, c'est peu. Même pour un calcul qui dure 10h, c'est vrai qu'on est content de gagner une heure, mais ça n'est pas non plus déterminant pour le choix d'un compilateur. Les compilateurs commerciaux n'implémentent pas forcément plus vite les nouvelles normes Fortran et finalement si on veut bénéficier des nouveautés, au bout d'un an ou deux il faut ressortir le porte-monnaie.

    A noter que dans les benchmarks, il faut aussi se méfier des versions des compilateurs. Dans le cas de gfortran, sur mon Ubuntu j'ai gfortran-4.8, gfortran-5, gfortran-7, gfortran-8 et gfortran-9 ! J'ai un script python qui me permet de tester sur mon problème chaque version avec différentes options ou groupes d'options (-O3, -Ofast, -march=native, -mtune=native…) et je sais d'expérience que la dernière version n'est pas forcément la plus rapide : parfois oui, parfois non. Le numéro de version mineure a aussi son importance : j'ai en ce moment la 7.5, la 8.4 et la 9.2. Comme leur nom l'indique la 7.5 et la 8.4 ont été plus longuement déboguées. Quand une nouvelle version majeure vient de sortir, par exemple x.0 ou x.1, on peut parfois être déçu. Enfin, on est généralement à des différences de l'ordre de 5 %, parfois 10 %.

    En tout cas, j'attends la sortie de Flang (LLVM 11 ?) car il est toujours bon d'avoir plusieurs compilateurs, d'une part pour choisir le plus rapide, d'autre part parce que ça permet d'améliorer la qualité du code (certains compilateurs vont détecter des petits problèmes que d'autres ne verront pas).

  • [^] # Re: Droidcam

    Posté par  (site web personnel, Mastodon) . En réponse au message Utiliser son smartphone comme webcam pour son PC ?. Évalué à 1.

    J'ai réussi à activer le Débogage USB en allant dans le menu "A propos du téléphone > Informations sur le logiciel > Numéro de version" (taper 7 fois pour activer les Options de développement).

    Sur mon PC, adb est installé.

    Pour l'instant DroidCam affiche qu'il est déconnecté.

    Faudrait-il installer SDK Android ? Faire une manip avec adb ?

  • [^] # Re: Droidcam

    Posté par  (site web personnel, Mastodon) . En réponse au message Utiliser son smartphone comme webcam pour son PC ?. Évalué à 1.

    Voici un résumé de ce que j'ai réussi à faire dans Ubuntu 19.10. A noter que pour l'instant, je ne me suis pas soucié du son. Je me suis basé sur :
    https://lord.re/posts/198-mon-setup-pour-streamer-vol1/
    et surtout :
    https://srcco.de/posts/using-obs-studio-with-v4l2-for-google-hangouts-meet.html

    On installe et configure v4l2loopback pour avoir un /dev/video5 :

    $ sudo apt install v4l2loopback-utils v4l2loopback-dkms
    $ sudo modprobe v4l2loopback devices=1 video_nr=5 card_label="OBS Cam" exclusive_caps=1
    $ ls /dev/video5
    

    On installe OBS Studio 0.0.1 :

    $ sudo apt install obs-studio
    

    On build et installe son plugin v4l2sink :

    $ git clone --recursive https://github.com/obsproject/obs-studio.git
    $ git clone https://github.com/CatxFish/obs-v4l2sink.git
    $ cd obs-v4l2sink
    $ mkdir build && cd build
    $ sudo apt install libobs-dev qtbase5-dev
    $ cmake -DLIBOBS_INCLUDE_DIR="../../obs-studio/libobs" -DCMAKE_INSTALL_PREFIX=/usr ..
    $ make -j
    $ sudo make install
    $ sudo cp /usr/lib/obs-plugins/v4l2sink.so /usr/lib/x86_64-linux-gnu/obs-plugins/
    

    On installe DroidCam via Aurora Store, on lance l'application sur le téléphone connecté en Wi-Fi.

    On lance OBS Studio :

    $ obs
    

    On crée une Scène qu'on appelle "Smartphone webcam". Dans Sources, on ajoute une "Source média", et dans ses propriétés on décoche "Fichier local" et on indique l'adresse de DroidCam (par exemple http://192.168.0.106:4747/video) comme entrée. Dans le menu Outils > V4L2 Video Output, on indique le chemin /dev/video5 et on clique sur Auto Start.

    Ca marche ! Le logiciel de capture Webcamoid détecte bien /dev/video5. Ca marche également dans un navigateur avec https://webcamtests.com/ (dans Firefox, autoriser l'utilisation de la webcam). Et dans https://meet.google.com/, on voit l'image dans la fenêtre de paramétrage de la caméra.

    Par contre, quand j'installe Skype :

    $ snap install skype --classic
    

    Dans la fenêtre de configuration de la caméra, Skype voit bien une "OBS cam", mais le rectangle reste désespérément noir…

    A noter également une latence d'environ 0,5 seconde.

  • [^] # Re: Droidcam

    Posté par  (site web personnel, Mastodon) . En réponse au message Utiliser son smartphone comme webcam pour son PC ?. Évalué à 2.

    Merci à tous,

    je viens d'installer DroidCam via Aurora Store. Dans mon navigateur, en me connectant à http://192.168.1.106:4747/ je vois le flux vidéo du smartphone. La version gratuite affiche de la pub (sur l'écran du smartphone) et permet une résolution de 480p (la version pro propose 720p et 1080p). Mon application DataStats montre que le flux sortant du téléphone est 3 à 4 MB/s. Je suis en Wi-Fi.

    Ca marche aussi avec VLC (Ouvrir un flux réseau > http://192.168.1.106:4747/video).

    Par contre, je n'ai pas l'impression d'avoir le son.

    Mais c'est un bon début. C'est intéressant.

  • # extundelete, ext4magic, foremost ?

    Posté par  (site web personnel, Mastodon) . En réponse au message partition perdue, testdisk, superblock non valide. Évalué à 2.

    Bonjour,

    as-tu essayé des programmes comme extundelete, ext4magic, foremost ?

    Je me souviens avoir utilisé avec succès extundelete pour récupérer un gros répertoire effacé (ext4) :
    - http://extundelete.sourceforge.net/
    - https://doc.ubuntu-fr.org/extundelete

    Mais la partition était intacte. Si la partition est abîmée, je ne sais pas si ces utilitaires arrivent à récupérer quelque chose.

    Bon courage

  • [^] # Re: Double substitution en Bash

    Posté par  (site web personnel, Mastodon) . En réponse au journal Courses Assistées par Ordinateur (CAO). Évalué à 2.

    Apparemment, la substitution se fait en une seule passe dans bash…

    En tout cas, ça me donne envie de faire une impression de man bash car je ne me souviens pas avoir vu cette syntaxe de double substitution dans aucun livre, mémento ou magazine…

    Voilà qui donne un résultat convenable pour une impression :

    $ man --troff-device=ps bash > bash.ps
    

    Bon, y'a quand même 81 pages en Glish, of course.

  • [^] # Re: Double substitution en Bash

    Posté par  (site web personnel, Mastodon) . En réponse au journal Courses Assistées par Ordinateur (CAO). Évalué à 2. Dernière modification le 27 avril 2020 à 19:11.

    J'ai trouvé dans man bash :

    ${parameter}

    If the first character of parameter is an exclamation point (!), and parameter is not a nameref, it intro‐
    duces a level of indirection. Bash uses the value formed by expanding the rest of parameter as the new pa‐
    rameter; this is then expanded and that value is used in the rest of the expansion, rather than the expansion
    of the original parameter. This is known as indirect expansion.

  • [^] # Re: Double substitution en Bash

    Posté par  (site web personnel, Mastodon) . En réponse au journal Courses Assistées par Ordinateur (CAO). Évalué à 2.

    Merci bien, je ne connaissais pas cette syntaxe. C'est commité !

    Finalement pourquoi bash n'accepte pas :

    url="${${article}}"
    

    et que signifie ce ! qui n'est pas une négation ?

    Ca affiche apparemment non pas le contenu de la variable, mais son affectation :

    $ article='url_bananes'
    $ !article
    article='url_bananes'
    $
    

    Est-ce que c'est le ! de la commande history ? Ca renvoie la dernière commande de l'historique commençant par cette chaîne ? (c'est ce que ça semble faire)

  • [^] # Re: disque dur plein ?

    Posté par  (site web personnel, Mastodon) . En réponse au message Je n'arrive plus à installer de paquets . Évalué à 2.

    Ca peut être dû à des noms de fichiers ou répertoires comprenant des espaces. Dans ce cas il faut mettre le chemin entre guillemets ou apostrophes :

    $ rm "./mon répertoire/mon fichier avec des espaces.ext"
    
  • [^] # Re: disque dur plein ?

    Posté par  (site web personnel, Mastodon) . En réponse au message Je n'arrive plus à installer de paquets . Évalué à 2.

    NeoX a raison, ta partition utilisateur est probablement pleine si tu n'arrives pas à te connecter. C'est un symptôme classique.

    Donc tu te connectes dans un terminal (CTRL+ALT+F2), puis tu tapes :

    $ find . -size +5M -exec ls -lh {} \;
    

    Ca t'affichera la liste des fichiers de plus de 5M dans ton compte.

    Ensuite, tu en effaces quelques-uns avec des commandes Remove du type :

    $ rm /chemin/chemin/gros_fichier
    

    Tu reviens en mode graphique (CTRL+ALT+F1 sur une Ubuntu), tu pourras alors te connecter dans ta session et poursuivre le ménage. Consulte le post suivant :
    https://linuxfr.org/forums/linux-debutant/posts/probleme-espace-disque

    Tu y trouveras des outils en mode graphique pour faire du ménage.

    Bon courage

  • [^] # Re: Ubuntu ?

    Posté par  (site web personnel, Mastodon) . En réponse au message Je n'arrive plus à installer de paquets . Évalué à 2.

    C'est ça !

  • # Ubuntu ?

    Posté par  (site web personnel, Mastodon) . En réponse au message Je n'arrive plus à installer de paquets . Évalué à 2. Dernière modification le 26 avril 2020 à 19:04.

    Dans le cas d'une distribution Ubuntu, une installation avortée peut nécessiter un :

    $ sudo dpkg --configure -a
    

    Si tu n'arrives pas à te connecter à ta session graphique, essaie de te connecter en mode texte avec un CTRL+Alt+F2 par exemple.

  • [^] # Re: Quelques autres brothers...

    Posté par  (site web personnel, Mastodon) . En réponse au journal Naviguer sans tête dans un coquillage !. Évalué à 1.

    Dans les options de w3m, je vois qu'il y a du choix en terme de dump :

    -dump dump formatted page into stdout
    -dump_head dump response of HEAD request into stdout
    -dump_source dump page source into stdout
    -dump_both dump HEAD and source into stdout
    -dump_extra dump HEAD, source, and extra information into stdout

  • # Quelques autres brothers...

    Posté par  (site web personnel, Mastodon) . En réponse au journal Naviguer sans tête dans un coquillage !. Évalué à 3.

    Dans Synaptic, je trouve aussi :

    Si vous les avez déjà utilisés, quels sont vos avis ?

  • [^] # Re: Un autre ;)

    Posté par  (site web personnel, Mastodon) . En réponse au journal Naviguer sans tête dans un coquillage !. Évalué à 2.

    Merci,

    voici la page de Links : http://links.twibright.com/

    Peux-tu nous dire pourquoi tu es passé de lynx à Links ? Quelles sont les différences principales ?

  • [^] # Re: apt install chromium-browser

    Posté par  (site web personnel, Mastodon) . En réponse au journal Naviguer sans tête dans un coquillage !. Évalué à 3.

    Oui, mais il est indiqué :

    This is a transitional dummy package. It can safely be removed.
    chromium-browser is now replaced by the chromium snap.

  • [^] # Re: wkhtmltopdf

    Posté par  (site web personnel, Mastodon) . En réponse au journal Naviguer sans tête dans un coquillage !. Évalué à 4.

    Merci, le résultat est vraiment bon. Son seul défaut semble un nom imprononçable !

    Ca doit pouvoir servir à imprimer certaines pages sans fioriture quand le navigateur ne donne pas un résultat satisfaisant, ou quand le mode "Lecture" de Firefox n'arrive pas à récupérer le texte. Impeccable par exemple pour lire The New York Times :

    $ wkhtmltopdf https://www.nytimes.com/2020/04/24/health/sunlight-coronavirus-trump.html essai.pdf
    

    Qu'est-ce qu'on pourrait faire d'autre avec ? Des idées ?

  • [^] # Re: LaTeX

    Posté par  (site web personnel, Mastodon) . En réponse au message Génération de documents selon modèle (gestion qualité des formations). Évalué à 4.

    Il n'y a pas plus beau que LaTeX mais la pente d'apprentissage est rude.

    Peut-être qu'un langage de balisage comme Markdown peut suffire ? Ca dépend de la complexité des documents.

    Et pour la conversion des documents, Pandoc peut être utile.

  • [^] # Re: Affecter la variable DISPLAY

    Posté par  (site web personnel, Mastodon) . En réponse au message Utiliser "at" pour lancer un programme graphique ?. Évalué à 1.

    J'ai essayé mais ça ne marche pas. D'après man at :

    -c     cats the jobs listed on the command line to standard output.
    

    Par exemple si j'ai créé avec at un job dont l'identifiant est 21, avec $ at -c 21 j'obtiens l'affichage du script qui lancera le job (avec les variables d'environnement qui seront utilisées, le cd pour le répertoire de travail, etc.) Ce qui est intéressant et permet de comprendre le fonctionnement de at.

  • [^] # Re: Affecter la variable DISPLAY

    Posté par  (site web personnel, Mastodon) . En réponse au message Utiliser "at" pour lancer un programme graphique ?. Évalué à 2.

    Merci pour vos réponses ! Je m'étais pourtant déjà fais avoir avec des histoires de variables d'environnement avec at… Effectivement, ainsi ça marche :

    $ echo "DISPLAY=:0 firefox https://linuxfr.org/" | at now +1 minute
    

    Voici les différences entre les variables d'environnement du bash de départ et celles du sh lancé par at :

    $ env | sort > env_bash.txt
    $ echo "env | sort > env_sh.txt" | at now
    $ diff env_sh.txt env_bash.txt
    5a6
    > DISPLAY=:0
    23d23
    < OLDPWD=/
    30a31
    > SHELL=/bin/bash
    34a36
    > TERM=xterm-256color
    35a38
    > _=/usr/bin/env