barmic a écrit 10455 commentaires

  • [^] # Re: Paradoxale ?

    Posté par  . En réponse à la dépêche ONLYOFFICE ouvre le code source des éditeurs de bureau. Évalué à 3.

    En fait je ne vois pas d'autres raisons de faire de l'(A)GPL quand on aime bien le proprio à côté.

    Je ne sais pas. Tu peux vouloir éviter un fork propriétaire du cœur de ton appli.
    Mais je ne suis clairement pas assez calé pour savoir que tel combinaison de licence signifie tel ou tel volonté.
    Tu sais moi je me contente de ma vanity licence qui est simple et que ej comprends parfaitement ^^

    pour GCC il me semble que c'est toujours galère

    Des choix architecturaux ça ne se change pas si facilement, mais je crois qu'ils ne sont plus opposés à un découpage frontend/backend qui donne du coup de la liberté à ce niveau là.

    tu as des exemple de plugin non libre avec GCC et le tout livré en un package?

    Je ne suis la vie de gcc qu'à travers les actualités sur linuxfr donc j'en sais pas plus que toi :)

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

  • [^] # Re: Paradoxale ?

    Posté par  . En réponse à la dépêche ONLYOFFICE ouvre le code source des éditeurs de bureau. Évalué à 1.

    Euh… Ok je ne connais pas assez onlyoffice pour savoir qu'il n'est pas possible de créer son propre module indépendamment de la licence de de ce dernier. Parce que « logiciels sous AGPL + modules pros » ça n'est pas suffisant pour le savoir ça dépend de l'architecture employée. Comme avec gcc qui a pendant longtemps fait un choix architectural pour justement faire ce que tu dis (empêcher un travail propriétaire au dessus).

    Tu as vérifié ou tu as juste émis une hypothèse ?

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

  • [^] # Re: Paradoxale ?

    Posté par  . En réponse à la dépêche ONLYOFFICE ouvre le code source des éditeurs de bureau. Évalué à 0.

    Je suis un cycliste utilisateur de Debian.

    À la relecture tardive on ne sait pas trop ce que ça vient faire. J'ai juste oublié la partie sur le fait que ça ne me permet pas non plus de critiquer le choix des automobilistes à être automobilistes.

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

  • [^] # Re: Paradoxale ?

    Posté par  . En réponse à la dépêche ONLYOFFICE ouvre le code source des éditeurs de bureau. Évalué à 10. Dernière modification le 19 octobre 2016 à 10:06.

    J'ai de plus en plus de mal avec les gens qui, comme toi, veulent de l'éthique partout. C'est une course en avant pour être plus royaliste que celui d'à coté pour ne pas se faire taxer d'« anti-libre », « sexiste », « raciste », « pollueur », ou je ne sais quelle infamie pire encore. En quoi le fait qu'ils ne respectent pas toutes tes règles à toi implicites te permet de les prendre de haut comme ça (parce que oui parler « d'erreur de jeunesse » c'est prendre de haut son interlocuteur).

    C'est un sport de chercher toutes les infractions au code des gens biens.

    Je suis un cycliste utilisateur de Debian. En quoi ça me donnerait le droit de porter un jugement sur l'usage que d'autres ont de l'informatique ? En quoi est-ce qu'aller embêter le premier utilisateur Windows que je croise me permettrait de mieux dormir le soir ? Le prosélytisme poussé et mal placé est une idiotie de mon point de vu. Si ce que tu utilise est si bien que ça, les gens s'y mettront d'eux-même sans que tu ai besoin de les materner.

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

  • [^] # Re: Paradoxale ?

    Posté par  . En réponse à la dépêche ONLYOFFICE ouvre le code source des éditeurs de bureau. Évalué à 7.

    C'est un choix. Affirmer qu'il est volontairement « non totalement interopérable » est un procès d'intention.

    Qu'est-ce que ça peut te faire ?

    • le dépôt des sources est sur GitHub, une application web non libre ;

    Qu'est-ce que ça change ? Le fait que l'application qui tourne sur le serveur soit libre quelqu'en soit la licence ne change strictement rien pour l'utilisateur.

    C'est un choix technologique. Ça ferait partie de la partie « contrib » chez Debian.

    • le site web officiel contient plein de traceurs indélicats ;

    J'ai pas vérifié, mais ça arrive aussi à d'autre (oui Mozilla c'est à vous que je pense…).

    Comme gitlab, c'est où que tu voulais héberger le code si github et gitlab sont persona non grata ?

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

  • [^] # Re: Différences par rapport a LibreOffice?

    Posté par  . En réponse à la dépêche ONLYOFFICE ouvre le code source des éditeurs de bureau. Évalué à -1.

    Là comme ça sans connaître je dirais qu'onlyoffice est sur le web et permet de faire de l'édition à plusieurs (comme etherpad)

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

  • [^] # Re: Journal— Rspamdcontinue son chemin

    Posté par  . En réponse au journal Rspamd continue son chemin. Évalué à 10.

    Un anti spam coté serveur (il se place avant le serveur de mail ou dans les premières étapes du traitement des mails par le serveur de mail).

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

  • [^] # Re: Dommage…

    Posté par  . En réponse à la dépêche KDE est vingtenaire. Évalué à 3.

    Ça a peut-être changé, mais il y a déjà quelques années, on pouvait montrer que dès que quelques amplis sont lancés, les environnements intégrés (KDE, Gnome) redeviennent plus léger que les bureaux plus minimalistes, grâce justement aux services et bibliothèques partagés.

    Il faut utiliser toutes leur panoplies. Perso j'utilise Firefox, Thunderbird, urxvt/zsh, evince, Intelij, wireshark, chrome avec awesome. Je doute que le chargement multiple de la bibliothèque gtk pose un vrai problème.

    Sachant que souvent par lourd, on entends un ressenti et avoir un fondu, des événements qui apparaissent, etc ça pousse à trouver ça lourd, même si ça prend un demi bit en mémoire et que les CPU n'ont pas de charge mesurable. Tu fait un spectacle à l'utilisateur pour le faire patienter.

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

  • [^] # Re: lesspipe

    Posté par  . En réponse au journal Back to basics : avoir un excellent pager avec less. Évalué à 3.

    J'ai mis à jour. Je te crois sur parole pour les DVD je n'ai pas de lecteur CD/DVD sur ma machine :)

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

  • [^] # Re: Jai: Language for game programmming

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 7.

    Cette page raconte n'importe quoi… Si tu veux à la place de typage fort. Parlons de sûreté de type. OCaml est typé statiquement donc le compilateur vérifie le typage avant l'exécution et il n'est pas autorisé à faire des conversions ou des transtypages. Donc OCaml a un typage sûr. Il ne faut pas se laisser berner par l'inférence de type. Quand tu utilise le auto en C++, tu as de l'inférence de type, ça n'est pas du type erasure et ben là c'est pareil sauf que c'est plus poussé. De la même manière pour le type Somme qui décrit une variable comme l'un de ses types. Ça t'oblige à gérer chaque type.

    Quand tu commence à écrire de l'OCaml le système de type c'est le premier truc qui vient te foutre une baffe :)

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

  • [^] # Re: lesspipe

    Posté par  . En réponse au journal Back to basics : avoir un excellent pager avec less. Évalué à 4.

    Ta reprise est sympa, je vais la récupérer du coup. C'est vrai que j'ai rajouté des lignes au fur et à mesure mais n'ai jamais revu ce script globalement.

    Je continue à la faire évoluer et je l'ai ajouter à mes configurations : https://bitbucket.org/barmic/config/src/f0240b4d142f0f2994f13f125e55bd85fd02aa7c/lessfilter?at=default&fileviewer=file-view-default (bouh c'est pas libre tout ça tout ça…)

    Il y avait encore quelques coquilles par exemple la coloration qui n'était faite qu'avec highlight pour certains fichiers.
    Et j'ai ajouté une liste de fichiers particulier que je veux coloriser mais que ça ne se déduit pas avec file (.bashrc/.zshrc/…).

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

  • [^] # Re: Jai: Language for game programmming

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 3.

    le duck typing (c’est le cas en python, et aussi en go si je ne me plante pas

    Le duck typing c'est un typage fort mais dynamique. Go fais ça de manière statique et on appelle ça un typage structurel.

    Ce sont des typages où pour le premier on vérifie dynamiquement si les noms de méthodes correspondent. Imagine en python hors classe new style, tu peux ajouter manuellement toutes les méthodes nécessaires à n'importe quelle variables pour t'en servir comme d'un tableau par exemple, c'est le principe du dynamique et on ne peut donc pas trop se contenter de regarder le type d'un objet pour savoir si on peut ou non s'en servir comme ça.

    En go c'est un peu différent, une variable peu correspondre à une interface qu'elle ne connaît pas (lors de la création de l'objet, on a pas indiqué qu'il descendait de cette interface), mais si c'est le cas il peut être utilisé comme un objet de cette interface. Le compilateur vérifie que l'objet a bien une structure qui correspond à l'interface demandé.

    Dans le paradigme fonctionnel, une variable a un type qui lui est propre et qui reste inchangé de sa création à sa libération. Ce qu'il y a c'est que tu peut indiquer que tu es capable de manipuler plusieurs types différents (soit parce que tu le spécialise via du pattern matching, soit parce que tu te contente de faire des courses que tu peux faire avec les 2).

    ce que tu dis c’est que là le compilateur s’autorise à créer de nouveaux types ?

    Non non c'est toi qui les crée.

    Est-ce à dire que si tu as une fonction f qui peut renvoyer soit un A, soit un B, et deux surcharges de g, l’une pour A, l’autre pour B, cela va fonctionner correctement de chaîner les appels g(f("toto")) ? Ce serait élégant.

    Oui et ça peut même aller plus loin, tu peux spécialiser pour des valeurs donné (par exemple avoir une fonction pour un entier et une pour la valeur 0, c'est souvent comme ça que sont géré les cas terminaux des fonctions récursives). Soit ça se fait par création de multiples fonctions soit via le pattern matching (je crois que ocaml n'a pas de multimethode - on ne parle pas de surcharge en fonctionnel car les fonctions cohabitent-). En tout cas oui le typage est propagé à travers les méthodes (c'est là que réside la beauté du bousin).

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

  • [^] # Re: Jai: Language for game programmming

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 4.

    Moi ce que je disais c'est que le type des tableaux 'a array est polymorphe et contient des éléments de n'importe quel type 'a qui peut être un type de fonction

    J'en déduis donc que selon toi un langage fonctionnel digne de ce nom doit être faiblement typé. Ou au moins doit avoir un type racine qui peut contenir n'importe quoi. C++ ne sera donc jamais un langage fonctionnel digne de ce nom.

    L'inférence de type vérifie que le typage est correct. Quand tu touche à OCaml tu te rend vite compte qu'il a un typage fort.
    L'inférence de type (je vais essayer de l'expliquer mais je vais me casser les dents, on va me reprendre derrière ^), c'est le compilateur qui va tenter de déduire les types non pas avec du transtypage et/ou de la conversion (PHP c'est toi qu'on regarde !), mais en propageant les types partout où c'est nécessaire.

    Si tu as une fonction qui peut retourner soit le type A soit le type B, tu doit faire attention à gérer chacun des 2 types partout ou utiliser des fonctions ou des opérateurs qui peuvent prendre ces 2 types en paramètre. C'est en ça qu'ils sont polymorphiques. Le polymorphisme dans le paradigme fonctionnel ne s'appuie pas sur une hiérarchie de classe, mais sur le fait de pouvoir prendre un type parmi d'autres. C'est ce qu'ils appellent les union type si je ne m'abuse (mais je crois que je m'abuse, c'est un autre nom).

    En tout cas ça permet de définir un type comme étant soit d'un type soit d'un autre (c'est pas limité à 2). Ça se rapproche du type union du C sauf que ça ne cache pas le type au compilateur, il va propager la liste des types partout où c'est nécessaire.

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

  • [^] # Re: lesspipe

    Posté par  . En réponse au journal Back to basics : avoir un excellent pager avec less. Évalué à 10.

    Merci pour les précisions et l'idée de pygmentize :)

    À ta place au lieu d'avoir des 2>/dev/null, je mettrais au début du script (en changeant le shabang pour bash) :

    exec 2<&-
    exec 2<>/dev/null

    Tu as la gestion des scripts python en double :)

    Dernière petite remarque à ta place je ferrais une fonction colorize qui lance pygmentize ou highlight en fonction qui prend en paramètre le lexer pygmentize et le fichier et qui a une table de correspondance entre le lexer pygmentize et l'équivalent highlight. C'est pratique à faire en bash et tu gagne quelques lignes.

    Je me suis permis de le reprendre en bash parce que je pense que je vais l'utiliser si ça ne te dérange pas :)

    #!/bin/bash
    # input preprocessor for less
    
    function cmdexist() {
      which "$1" >/dev/null
    }
    
    declare -A lexers
    lexers["c"]="c"
    lexers["pl"]="perl"
    lexers["py"]="python"
    lexers["sh"]="Bash"
    lexers["php"]="php"
    lexers["make"]="make"
    
    function colorize() {
      if which pygmentize >/dev/null ; then
        pygmentize -l "$1" "$2"
      elif which highlight >/dev/null ; then
        highlight -S "${lexers[$1]}" -O ansi "$2"
      fi
    }
    
    # print LESSOPEN variable, when called without args
    # (use it with absolute path)
    if [ $# -eq 0 ]; then
        echo "LESSOPEN=\"|$0 %s\""
        echo "LESSCHARSET=utf-8"
        if env | grep -q '^LESS=' ; then
            if ! echo $LESS | grep -q '\-R' ; then
                echo "LESS=\"-R $LESS\""
            fi
        else
            echo "LESS=-R"
        fi
        echo "export LESS LESSOPEN LESSCHARSET"
        exit
    fi
    
    # Check usage
    if [ $# -gt 1 ]; then
        echo "Usage: Don't use it directly"
        echo 'Launch "eval $(/path/to/lesspipe.sh)" to use it with less'
    fi
    
    # We just determine file type of $1
    # and determine which viewer is appropriate
    case "$(file -Lb "$1")" in
    # Folder
    directory)
        ls -la "$1" ;;
    
    # Archive
    POSIX[[:space:]]tar[[:space:]]archive*)
        tar tvvf "$1" ;;
    gzip[[:space:]]compressed[[:space:]]data*) # Test if tar or man
        if gzip -dc "$1" | file - | grep -q 'tar archive' ; then
            tar tvvf "$1"
        elif gzip -dc "$1" | file - | grep -q 'roff' ; then
            gzip -dc "$1" | nroff -S -mandoc -
        else
            gzip -dc "$1"
        fi ;;
    bzip2[[:space:]]compressed[[:space:]]data*)
        if bzip2 -dc "$1" | file - | grep -q 'tar archive' ; then
            tar tvvf "$1"
        elif bzip2 -dc "$1" | file - | grep -q 'roff' ; then
            bzip2 -dc "$1" | nroff -S -mandoc -
        else
            bzip2 -dc "$1"
        fi ;;
    cpio[[:space:]]archive)
        cmdexist cpio && cpio -it < "$1" ;;
    [Xx][Zz][[:space:]]compressed[[:space:]]data*)
        if xz -dc "$1" | file - | grep 'tar archive' ; then
            xz -dc "$1" | tar tvvf -
        else
            xz -dc "$1"
        fi ;;
    data) # Test if lzma archive
        if xz -t "$1" ; then
            if xz -F lzma -dc "$1" | file - | grep 'tar archive' ; then
                xz -F lzma -dc "$1" | tar tvvf -
            else
                xz -F lzma -dc "$1"
            fi
        else
            echo "Unrecognized file"
        fi ;;
    ISO[[:space:]]9660[[:space:]]CD-ROM[[:space:]]filesystem[[:space:]]data*)
        if cmdexist isoinfo ; then
            echo "$1:" ; isoinfo -d -i "$1"
            echo
            echo '***Contents:' ; isoinfo -f -i "$1"
        fi ;;
    Zip[[:space:]]archive[[:space:]]data*)
        unzip -l "$1" ;;
    RAR[[:space:]]archive[[:space:]]data*)
        cmdexist unrar && unrar l "$1" ;;
    
    # Distributions Packages
    Debian[[:space:]]binary[[:space:]]package*)
        if cmdexist dpkg ; then
            echo "$1:" ; dpkg --info "$1"
            echo
            echo '*** Contents:' ; dpkg-deb --contents "$1"
        else
            ar p "$1" data.tar.gz | tar tzvf -
        fi ;;
    RPM*)
        if cmdexist rpm ; then
            echo "$1:" ; rpm -q -i -p "$1"
            echo
            echo '*** Contents:' ; rpm -q -l -p "$1"
        elif cmdexist rpm2cpio ; then
            rpm2cpio "$1" | cpio -it
        elif cmdexist rpm2tar ; then
            rpm2tar -O "$1" | tar tvf -
        fi ;;
    
    # Printable documents
    PDF[[:space:]]document*)
        cmdexist pdftotext && pdftotext "$1" - ;;
    PostScript[[:space:]]document*)
        if cmdexist pdftotext && cmdexist ps2pdf ; then
            ps2pdf "$1" > /tmp/less-$$
            pdftotext /tmp/less-$$ -
            rm -f /tmp/less-$$
        fi ;;
    TeX[[:space:]]DVI[[:space:]]file*)
        cmdexist dvi2tty && dvi2tty "$1" >/dev/null ;;
    
    # Editable documents
    LaTeX*document[[:space:]]text)
        cmdexist highlight && highlight -S tex -O ansi "$1" ;;
    HTML[[:space:]]document[[:space:]]text)
        cmdexist highlight && highlight -S html -O ansi "$1" ;;
    OpenDocument[[:space:]]Text)
        cmdexist odt2txt && odt2txt "$1" ;;
    CDF[[:space:]]V2[[:space:]]Document*) # MS Office document
        if [[ "$1" =~ .doc$ ]] ; then
            cmdexist catdoc && catdoc "$1"
        elif [[ "$1" =~ .xls$ ]] ; then
            cmdexist xls2csv && xls2csv "$1"
        fi ;;
    troff*)
        nroff -S -mandoc "$1" ;;
    
    # text
    *[Pp]erl*script*text*)      colorize pl "$1" ;;
    *[Pp]ython*script*text*)    colorize py "$1" ;;
    *sh*script*text*)           colorize sh "$1" ;;
    *[pP][hH][pP]*script*text*) colorize php "$1" ;;
    *C*program*text)            colorize php "$1" ;;
    *text)
        if [[ "$1" =~ ^[mM]akefile$ ]] ; then
            colorize make "$1"
        else
            cat "$1"
        fi ;;
    
    # Images
    JPEG[[:space]]image[[:space:]]data*)
        cmdexist identify && identify "$1"
        cmdexist jp2a && jp2a --color "$1" ;;
    
    *image[[:space:]]data*)
        cmdexist identify && identify "$1"
        cmdexist jp2a && convert "$1" jpg:- | jp2a --color - ;;
    
    # Others
    # *)
    #   cat "$1" ;;
    
    esac

    J'ai remarqué la commande : dvi2tty "$1" >/dev/null il écris sur sa sortie standard ? (je ne connais pas du tout l'outil)

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

  • [^] # Re: -S

    Posté par  . En réponse au journal Back to basics : avoir un excellent pager avec less. Évalué à 6.

    Je ne le vois pas dans le man. Merci.
    J'aimerais bien pouvoir faire l'inverse, mais j'ai rien trouvé et j'ai essayé (de répéter -S ou +S).

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

  • [^] # Re: Console

    Posté par  . En réponse au journal Back to basics : avoir un excellent pager avec less. Évalué à 4.

    Effectivement mon clavier as du fourcher.

    Ceci dit, même si l'utilité est faible, il fonctionne très bien en cli : less ./etc/hosts | grep e ;)

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

  • [^] # Re: tail -f fichier_de_log ? non ! less +F fichier_de_log

    Posté par  . En réponse au journal Back to basics : avoir un excellent pager avec less. Évalué à 6.

    Mon dieu j'ai oublié d'en parler ! C'est le plus gros usage que j'ai de less en plus…
    Merci d'avoir réparé mon étourderie :)

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

  • [^] # Re: Jai: Language for game programmming

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 3.

    […] comme je trolle pas sur Java […]

    lol ?

    Et je suis gentil parce que les lambdas Java sont moins riches fonctionnellement.

    Pour la curryfication :

    […] il suffit de refaire une closure à la main même si ça doit être un peu plus lourd en syntaxe […]

    Oui c'est tout à fait possible et comme tu peux utiliser des références de méthodes ça n'est pas forcément particulièrement lourd. Au niveau de la syntaxe une lambda c'est (params) -> { body } où les paramètres n'ont pas forcément de type explicite et où il n'est pas nécessaire de mettre le body dans un bloc s'il ne contient qu'une seule instruction. Je trouve ça assez concis.

    Pour ce qui est du fonctionnellement moins riches, le fait que ça se base sur des interfaces et que les interfaces peuvent avoir des méthodes permet des choses qui ne sont pas directement accessible en C++ comme le fait java.util.Function avec la composition par exemple (https://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html).

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

  • [^] # Re: Jai: Language for game programmming

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 2.

    Mais nous on s'en sert ! Il n'y a pas un framework ou une bibliothèque qui ne ce soit adaptée pour être plus agréable avec des lambdas. Il y a eu une vraie évolution de la bibliothèque standard pour avoir des usages pratiques.

    Autant je déplore le manque de curryfication, autant je n'ai jamais ressenti le besoin d'avoir plus de choix dans ma façon de capturer. Ajouter des options pour ajouter des options ça ne m'intéresse pas plus que ça. Avoir une API fluent pour faire de la composition c'est déjà plus utile pour ce que je fais en tout cas.

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

  • [^] # Re: Donc pour résumer…

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 2.

    Oui c'est entre autre lié à la taille du byte code

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

  • [^] # Re: Jai: Language for game programmming

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 2.

    Puisque tu troll… La différence entre le RAII du C++ et celui qu'on voit en Java (ou en python), c'est que dans ces derniers il n'y a pas moyen d'avoir d'ub. Ce qui peut arriver quand tu as des problèmes dans tes destructeurs.

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

  • [^] # Re: Donc pour résumer…

    Posté par  . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 4.

    Interdire l'inlining implicite de toutes les méthodes tant qu'elles n'ont pas été explicitement marquées nonvirtual (ou final ou private), comme c'est le cas en java ?

    Juste pour la remarque, il y a de l'inling en Java, il est fait à chaud (c'est une optimisation du compilateur JIT) sous certaines conditions.

    Juste pour faire remarqué que ce n'est pas complètement interdit :)

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

  • [^] # Re: Et tu ne parles que du matériel...

    Posté par  . En réponse au journal HP, l’informatique de trahison.. Évalué à 10.

    Je ne connais pas cette approche. Je suppose que tu ne parles pas de logrotate mais bien de compression à la volée.

    Je ne suis pas un spécialiste de syslog, mais oui les fs font ça à la volée.

    N'empêche, ça freine le problème et peut-être que dans la pratique ça peut le résoudre dans l'essentiel des cas, mais je ne comprends pas qu'on ne puisse pas fixer une limite à syslog (hormis limite du système de fichier, donc partition séparée).

    Tu recule véritablement le problème de plusieurs magnitudes. Ensuite la méthode classique c'est d'utiliser la rotation pour limiter la taille. Tu fais une rotation basée sur la taille ou le temps (tous les 50Mio ou tous les jours si tu veux) et de définir une période de rétention (tu garde les n dernière archives). La combinaison des 2 te permet de garder un historique important (plusieurs semaines) sans problème.

    Une technique peut aussi être d'utiliser fail2ban. S'il sert normalement à empêcher des connections ssh lors de tentatives d'attaque, c'est surtout un moteur qui lit en entrée des fichiers de log pour lancer une commande si un événement est trop fréquent dans tes logs. S'en servir pour relancer ton cups, si ce dernier envoie trop de fois le message d'erreur sur un temps donné, n'a rien de compliqué.

    Bien sûr ça n'est pas aussi propre que ce que tu voudrait, mais ça me paraît être une solution actionnable aujourd'hui pour toi et ta copine.

    Et je suppose que ça rend la recherche dans les logs un peu plus lourde.

    Non tu as les outils z* qui sont là pour ça (zgrep, zless, zcat,…). Quand c'est le système de fichier, c'est totalement transparent.

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

  • [^] # Re: [HS] Pratiques sexuelles : il ne faut pas "dévier" de ton référentiel?

    Posté par  . En réponse au journal HP, l’informatique de trahison.. Évalué à 7.

    ne donnant pas mon argent à une entreprise qui entend ouvertement me sodomiser, et le proclame éhontement.

    Juste pour info, pas mal de monde prend plaisir avec la sodomie, quelle que soit l'orientation sexuelle et le genre de la personne.
    Traiter cette pratique sexuelle de manière négative jute parce que tu (sembles) ne pas la pratiquer est vraiment bof.

    Pour moi c'est juste la conjonction de l'expression « se faire baiser/niquer » et « se la faire faire à l'envers » (→ ne pas le voir venir).

    Je trouve la vulgarité pas terrible, mais je ne vois pas en quoi quelqu'un qui dis « je ne donne pas mon argent à une entreprise qui fait machin » est préjudiciable à tous les gens qui apprécient ce machin. Si demain quelqu'un nous explique qu'il ne donne plus son argent aux entreprises qui tuent des animaux, tu ne pourra pas t'empêcher de lui expliquer crier qu'il y a pleins de gens qui aiment la viande rouge et qu'il devraient respecter tous les non-végétaliens ?

    C'est une expression qui vient d'une part qu'en principe tu choisi ton ou ta partenaire et donc tu es libre d'accepter ou non, d'autre part dans l'imaginaire collectif c'est une pratique pas mal associée à la douleur dût à la façon de le faire, ça a peut être aussi encore un coté tabou chez une partie de la population.

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

  • [^] # Re: Et tu ne parles que du matériel...

    Posté par  . En réponse au journal HP, l’informatique de trahison.. Évalué à 3.

    D'ailleurs, je trouve ça assez dingue qu'un process qui déconne puisse remplir les logs au point de foutre en l'air le système… cf. question stack exchange.

    Outre les limitations de taille et de débit, tu as aussi la possibilité de compresser tes log. C'est particulièrement efficace dans des cas comme tu le présente. Tu peux soit l'activer au niveau de syslog soit du fs si tu utilise un fs qui le supporte.

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