David Marec a écrit 472 commentaires

  • [^] # Re: J'ai moinsé

    Posté par  (site web personnel) . En réponse au journal Désolé, la Quadrature, mais tu fais fausse route. Évalué à 3.

    Pourquoi pas un délit d'entrave à […]

    Le « délit d'entrave » existe déjà sur ce sujet et sur nombre d'autres.

    Là, il s'agit seulement de l'étendre aux sites internet.

  • [^] # Re: Merci la quadrature

    Posté par  (site web personnel) . En réponse au journal Désolé, la Quadrature, mais tu fais fausse route. Évalué à -10.

    Mais relève de la mobilisation positive sur Internet en faveur des droits,
    ou de la lutte contre la position dominante de moteurs de recherche et la façon dont ils en abusent.

    Bienvenue chez les Bisounours.

  • [^] # Re: Merci

    Posté par  (site web personnel) . En réponse au journal Des "basheries". Évalué à 2.

    ça coûte pas le même prix.

    Oui, c'était plus pour illustrer l'usage de -exec plutôt que de passer par xargs.
    Ceci dit l'usage de -exec … + reste de celui qui coûtent le moins.

    Et si on reste sur le même exemple:

    /bin/grep -s coin -r /MonRepertoire/

    est encore moins couteux.

    Et on peut avoir des pièges comme le "|xargs tar cvf" qui est à proscrire.

    Surtout, cela ne fonctionne pas - ou pire, ça part en distribil - si la commande appelée ne sait pas effectuer une même action sur un jeu de fichiers… Mais le -exec … + pose aussi problème dans ce cas.

    De plus, -exec permet de placer facilement le nom de ficher dans la commande à exécuter.
    - bon, on peut le faire aussi avec xargs -I, mais c'est plus long à écrire :) -

  • [^] # Re: Erreur de livre et experts C++

    Posté par  (site web personnel) . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 6.

    Exemple:

    class obj
    {
    public: 
        obj():_r(1){}
        ~obj(){}
        unsigned int fx(){return ++_r;}
        unsigned int fy(){return (_r*=_r);}
        unsigned int result(){return _r;}
    private:
        unsigned int _r;
    };
    int main(int argc, char* argv[])
    {
    
        obj o;
        std::cout << o.fx() << '\t' << o.fy() << "\t" << o.result() << std::endl;
        return 0;
    }

    Visual studio 2012: 2 1 1
    Clang 3.4.1 : 2 4 4


    je n'ai pas de GCC sous la main

  • [^] # Re: Erreur de livre et experts C++

    Posté par  (site web personnel) . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 4.

    Perso, je vois ça dans du code dans la boite où je bosse, […]

    Je trouve aussi que l'exemple est assez mal choisi, on doit rarement rencontrer ce genre d'enfilades en C++.

    Par contre, je suis déjà tombé sur ce même problème, mais avec des stream, pour lesquelles enfiler des fonctions/entrées est l'usage:

    std::cout  << obj.fy() << "\t" << obj.fx() << " -> " << obj.result() <<std::endl;

    Où les appels des premières méthodes affectent le résultat, qui sera donc différent selon l'ordre d'exécution.

    De mémoire MSVC évaluait de droite à gauche alors que GCC et CLang évaluaient de gauche à droite.

  • [^] # Re: Merci

    Posté par  (site web personnel) . En réponse au journal Des "basheries". Évalué à 2.

    Par exemple, faire une recherche de tous les fichiers flac d'un dossier,
    de façon récursive et conversion de chacun en mp3

    Si l'outil de conversion est capable de renommer lui même le fichier de sortie de .flac et .mp3 il suffit de tout passer à exec:

    find monDossierDemusique  -name "*.flacc" -type f -exec flacToMp3 {} \;

    La dernière fois que j'ai lancé un truc comme ça, le flacToMp3 était un script shell de mon cru qui appelait le véritable convertisseur avec:

    • les bonnes options
    • un nom de fichier en sortie calculé à coup de basename et cie.
  • [^] # Re: Merci

    Posté par  (site web personnel) . En réponse au journal Des "basheries". Évalué à 5.

    afin qu'il m'indique le nom de fichier quand ça matche :

    Pour ça, il suffit d'utiliser le drapeau -l de grep.

    $ find . -name '*.cpp' -exec grep -l 'if ( isNarrow_ )' {}  +

    Du coup, on peut utiliser + plutôt que ; pour tout envoyer d'un coup à grep.

  • [^] # Re: Merci

    Posté par  (site web personnel) . En réponse au journal Des "basheries". Évalué à 1.

    Touver tous les fichiers cpp puis faire un grep dans chacun d'eux pour
    trouver la chaine "if ( isNarrow_ )"

     find . -name "*.cpp" -exec grep "if ( isNarrow_ )" {} \;

    plutôt qu'un print pour un xarg; autant attaquer directement le fichier.

  • [^] # Re: Led comme capteur de luminosité

    Posté par  (site web personnel) . En réponse à la dépêche Les diodes ne sont pas toutes des lumières. Évalué à 3.

    A noter dans le même esprit: les optocoupleurs.

    Ils utilisent l'«éclairage» des diodes pour, entre autres utilisations:

    • isoler deux circuits ;
    • relayage, carte d'entrées/sorties TOR ;
  • [^] # Re: Impressionnant

    Posté par  (site web personnel) . En réponse à la dépêche FreeBSD 11.0. Évalué à 2.

    Mais ça marche très bien sous Archlinux avec xf86-video-intel

    Dans ce cas, il faut charger les modules i915_port ou i915kms_port ( et drm2_port, mais ça se fait automatiquement je crois) pour éviter de charger les pilotes livrés avec la base.

  • [^] # Re: Impressionnant

    Posté par  (site web personnel) . En réponse à la dépêche FreeBSD 11.0. Évalué à 2.

    Je suis un peu perdu dans la nomenclature : Broadwell, Haswell, Skylake, …
    J'ai une intel HD 5000 sur mon intel NUC 5i3RYH. Il me semble que c'est du Broadwell.

    Si je m'en tiens au 5 qui introduit la référence, c'est du Broadwell ( 5ème génération).

    Mais ça marche très bien sous Archlinux avec xf86-video-intel

    Vous devriez utiliser les pilotes livrés avec la 11, i915 et i915kms, plutôt que le port. Je ne saurais dire quel mode est le plus conseillé.

    FreeBSD suit le pilote linux. Cette page indique l'état d'avancement des pilotes graphiques.
    Malheureusement, Broadwell n'est pas officiellement pris en charge.


    Il faut dire qu'ils ne sont pas très nombreux dans l'équipe.

  • [^] # Re: Comme d'habitude...

    Posté par  (site web personnel) . En réponse au journal Linux en rémission ?. Évalué à 2.

    OS/2 a ete devellope par microsoft et ibm

    Microsoft avait quitté le projet avant que l'on ne voit une interface graphique avec la barre de menu et le dock ( pas avant Warp, il me semble) et/ou le launchpad.

  • [^] # Re: Comme d'habitude...

    Posté par  (site web personnel) . En réponse au journal Linux en rémission ?. Évalué à 3.

    Windows 95 et sa fulgurante ascension ? Son menu démarrer que chaque bureau linux a copié ?

    Je n'ai pas ce truc sous Fluxbox ou sur i3 et il existait un menu un peu équivalent sous OS/2 avant Windows 95.

    Le ruban de MS Office ? (tellement bien que LibreOffice aimerait bien le copier)

    Traduire: Tellement mal gaulé que LibreOffice ne l'a pas copié ?

    le fait qu'une grande partie des pilotes graphiques vivent sous Windows en espace utilisateur,

    Les pilotes tournent en kernel mode sous MS-Windows, sous GDI même, qui, lui, tourne certes dans un espace particulier, appelé session space, mais pas en user mode. Les drivers sont encore dessous , en kernel mode.

    Microsoft avait annoncé avoir vouloir remonter GDI en user mode il y a bien plus de dix ans, mais ils y ont renoncé (performances ?).

    Direct 2&3D ainsi que les drivers 3D tournent en espace utilisateur, par contre.

  • [^] # Re: Impressionnant

    Posté par  (site web personnel) . En réponse à la dépêche FreeBSD 11.0. Évalué à 4.

    Un gros bémol: le support des GPU intel Skylake se fait attendre

    Si j'en crois cette page, la prise en charge sous Linux de ce GPU n'est pas franchement stable.

  • # Coquilles

    Posté par  (site web personnel) . En réponse à la dépêche FreeBSD 11.0. Évalué à 3.

    points clefs

    Le lien vers la page de man de bhyve (8) est cassé à la fin du paragraphe.
    https://www.freebsd.org/cgi/man.cgi?query=bhyve&sektion=8&manpath=FreeBSD+11.0-RELEASE

    Configuration, rctl

    Vous pouvez lez activer

    s/lez/les

  • [^] # Re: Bhyve et le besoin en CPU récent

    Posté par  (site web personnel) . En réponse à la dépêche FreeBSD 11.0. Évalué à 5.

    Seule exigence, le CPU doit comprendre l'instruction POPCNT:

    Je me suis mal exprimé. Ce n'est pas cette instruction en soit qui est recherchée
    - son remplaçant est prévu au cas où -
    mais elle va de paire avec la techno de virtualisation EPT, notée VMX je crois dans les features, mais qui pourrait n'être que désactivée dans le BIOS.


    Autosatisfaction récursive ?

  • [^] # Re: Bhyve et le besoin en CPU récent

    Posté par  (site web personnel) . En réponse à la dépêche FreeBSD 11.0. Évalué à 5.

    Cette page indique la prise en charge de pas mal de CPU Intel et AMD.

    Seule exigence, le CPU doit comprendre l'instruction POPCNT:

    grep Features /var/run/dmesg.boot | grep POPCNT
    

    Comme le dit justement bapt, le premier Intel à le prendre en charge est Nehalem.

  • [^] # Re: Cas d'utilisation ?

    Posté par  (site web personnel) . En réponse à la dépêche DragonFly BSD 4.6 et 4.6.1. Évalué à 5.

    Il paraît que zfs peut utiliser beaucoup
    de cache, mais le libère à la demande.

    Oui, si on ne le bride pas avec unvfs.zfs.arc_max="xxxM" dans loader.conf. Sinon, il va remplir son ARC jusqu'à ne laisser qu'un 1G de mémoire physique (vm.kmem_size) ou la moitié, si vous avez moins de 2Go.

    Mais c'est un réglage parmi d'autre. ZFS est configurable en de nombreux points pour l’adapter à votre situation. Par exemple, en activant ou désactivant certaines fonctions comme le prefetch ( désactivé de toute façon sous 4Go) ou en activant et réglant le cache de second niveau, L2ARC, sur un disque SSD.

    A lire dans la doc de FreeBSD, ZFS, advanced.

    Mais, je le déconseille toutefois sur une architecture 32bits. Là, il faut vraiment le régler au plus fin.


    Et ZFS, ce n'est pas grand chose comparé à l'usage courant d'un Desktop aujourd'hui, qui réclame 16Go de RAM pour afficher 50 onglets pleins de javascript, multimédia etc. dans un butineur Web.

  • [^] # Re: Cas d'utilisation ?

    Posté par  (site web personnel) . En réponse à la dépêche DragonFly BSD 4.6 et 4.6.1. Évalué à -2.

    Houla, il faut en garder un peu sous le coude, pour la dépêche de FreeBSD 11 !

    Je ne doute pas que les:

    je suis pas un troll,
    seulement, je me renseigne amicalement sur les BSD ( que je ne connais pas)
    qui sont trop à la ramasse avec leur support matériel antédiluvien,
    leur communauté ridicule et leur technos qui suivent pas l'rythme des bugs
    de linux.

    sauteront sur l'occasion pour en remettre une couche pour nous expliquer que tout ça, c'est la faute à la licence.


    J'y connais rien et ce n'est pas une raison valable
    pour ne pas pouvoir raconter n'importe quoi.

  • [^] # Re: Benchmark?

    Posté par  (site web personnel) . En réponse à la dépêche DragonFly BSD 4.6 et 4.6.1. Évalué à 5.

    Parce qu'à part Hammer, je ne lui trouve aucun attrait par rapport à FreeBSD.

    C'est surtout Hammer2 qui devrait entrer en concurrence avec ZFS.

    • Construction basée sur des blocs en «copy-on-write».
    • plusieurs racines,
    • compression et chiffrement à un plus haut niveau que Hammer1

    De fait, le premier point change beaucoup de choses.
    - Hammer1 était construit au dessus d'un arbre -

    Surtout Hammer2 promet de réduire l'empreinte mémoire, ce qui reste le gros inconvénient de ZFS.

    Il faudrait une dépêche dédiée à Hammer2. :)

  • [^] # Re: Cas d'utilisation ?

    Posté par  (site web personnel) . En réponse à la dépêche DragonFly BSD 4.6 et 4.6.1. Évalué à 4.

    je ne vois pas beaucoup d'intérêt aux BSD par rapport à linux:

    Dites-vous que l'on peut arguer de l'inverse.
    Je ne vois pas d'intérêt à Linux par rapport aux BSD.
    Sans doute, parce que mon parcours est différent: j'ai connu les BSD avant les Linux.

    le support matériel

    Linux supporte seulement plus de "matériel". c'est loin d'être optimal.
    D'ailleurs, Linux supporte-t-il plus de plate-formes que netBSD ?

    et la correction des bugs/ajout de features ne peut pas suivre le rythme

    Le rythme de … ?
    Et j'ai en tête, sous les Linux «modernes« un ajout de bugs en corrigeant des «features».

    (communauté beaucoup plus petite, aucun support d'entreprises commerciales).

    «aucun» !?

    Au final les seuls avantages des BSD à ma connaissance sont que pf est vachement mieux que iptable

    Ainsi que la pile réseau, openSSH, libreSSL, les jails, bhyve, ZFS, capsicum …

    […] Si oui pourquoi Google&co continue à faire tourner linux pour leurs serveurs ?

    Vous savez, vous, ce que Google, Facebook, Whatsapp, NetFlix, Yahoo, Sony … utilise sur toute sa gamme de serveurs ?

    • pourquoi on a 4 versions de BSD ? De ce que je sais y'a eu pas mal de forks plus ou moins cordiaux…

    Oui, querelles d'égo au départ, maquillées en divergences de cap et/ou techniques.
    Au sujet de DFly, il s'agit bien d'une divergence technique au sujet de la gestion des threads et d'une manière plus générale du SMP.

    • qui utilisent ces 4 BSD, pourquoi (ils ont un cas d'utilisation différents chacun ?)

    Routeurs, bidules réseaux, serveurs WEB, console de jeux …
    https://en.wikipedia.org/wiki/List_of_products_based_on_FreeBSD

    et surtout pourquoi ne pas utiliser linux à la place ?

    La question est biaisée. Pourquoi utiliserait-on du linux ?

    • est-ce que ces os sont plutôt dans une logique de recherche plutôt que de production comme haiku ou plan9 ?

    Non.

  • [^] # Re: alternative crédible

    Posté par  (site web personnel) . En réponse au journal Le courage de l'innovation. Évalué à 10.

    --- A: 'mate mon nouveau portable! Il est léger, ergonomique, fin et racé !
    -- B: Et c'est quoi le gros sac de 3 kg plein de bidules que tu trimbale avec ?
    --- A: les adaptateurs.

  • [^] # Re: foobar

    Posté par  (site web personnel) . En réponse au journal Gestion des erreurs d’allocation mémoire en C. Évalué à 3. Dernière modification le 27 octobre 2016 à 15:31.

    Je trouve que wrapper malloc() est déjà trop lourd

    Je trouve surtout qu'il est dangereux parce que selon les extraits des pages de manuel publiées ici,
    il peut sortir NULL en cas de xmalloc(0) sous linux.

    • sous FreeBSD, jemalloc(3) retourne un pointeur dans ce cas là.
        Even a request for zero bytes (i.e., malloc(0)) returns a pointer 
        to something of the minimum allocatable size.
    

    De fait, il vaut mieux connaitre (un peu) l'implémentation du malloc que l'on utilise.
    Et lorsque l'on alloue pour le noyau c'est encore différent.

    Dans tout les programmes non interactif, j'exit() après avoir utilisé perror():

    Quel différence avec err(3) ?(1)

    d'autant qu'un crash et qu'un exit() ce n'est pas la même chose

    Oui, l'un provoque un dump et pas l'autre. Si l'on veut un dump, on peut alors effectivement utiliser perror(1) puis abort(3).


    (1): au hasard, un des exemples de la page :

     if ((p = malloc(size)) == NULL)
                       err(EX_OSERR, NULL);
  • [^] # Re: undefined behaviour

    Posté par  (site web personnel) . En réponse au journal Gestion des erreurs d’allocation mémoire en C. Évalué à 1.

    En pratique tu peux avoir l’entrée avec une variable "pas de chance calcul foireux"
    qui va faire un malloc(0) ou un malloc (-1)

    … ou par un realloc, qui prête plus le flanc à ce genre de boulettes.

    Ce qui fait que le xmalloc proposé par l'auteur du journal va retourner un pointeur null.

    if ( ! (p = malloc(s)) && s )
       err(...)

    Du coup, le wrapper proposé ne résout pas le problème.

  • [^] # Re: NVMe from scratch

    Posté par  (site web personnel) . En réponse à la dépêche DragonFly BSD 4.6 et 4.6.1. Évalué à 1.

    On peut même s'attendre à ce qu'il soit adapté puis adopté par FreeBSD un de ces quatres.