grim7reaper a écrit 132 commentaires

  • # Un autre Vim-like

    Posté par  . En réponse au journal Tour d'horizon des éditeurs de texte pour le terminal. Évalué à 1.

    Dans la famille Vi, on peut ajouter Vis.

  • [^] # Re: Une chose que j'ai oublié d'ajouter

    Posté par  . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 2.

    Mais bon à ce niveau autant utiliser un arbre.

    Ouais, un truc genre HAT-trie.

  • [^] # Re: Une chose que j'ai oublié d'ajouter

    Posté par  . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 2.

    Il est fort le Rust.

    Oui, surtout qu’en l’occurrence je parlais de C++…
    Et oui, pour le coup tu peux faire une recherche dichotomique sur une liste chaînée (mais il précise bien que tu seras plus performant avec des RandomAccessIterator).

    The number of comparisons is logarithmic: at most log(last - first) + 2. If ForwardIterator is a Random Access Iterator then the number of steps through the range is also logarithmic; otherwise, the number of steps is proportional to last - first.

  • [^] # Re: Une chose que j'ai oublié d'ajouter

    Posté par  . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 3.

    Enfin, pour remettre une couche sur les itérateurs, on fait comment une recherche dichotomique dans un tableau trié avec des itérateurs ? ;-)

    Avec un random-access iterator ça doit se faire très naturellement (cela dit, la fonction de la bibliothèque standard ne requiert qu’un ForwardIterator).

  • [^] # Re: Une chose que j'ai oublié d'ajouter

    Posté par  . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 3.

    Ça pourrait être intéressant de voir les différences de performances induites par ce genre de vérifications.

    Il y a ce papier de John Regehr, section III D.
    Avec la citation de mise en garde:

    Please keep in mind, however, that this implementation is tuned for debugging not performance. A highly tuned software integer undefined behavior checker for C/C++ could probably have overhead in the 5% range.

  • [^] # Re: Une chose que j'ai oublié d'ajouter

    Posté par  . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 2.

    Je parle du standard de Rust

    Tu as un lien vers ce standard ?
    Je me doute bien que c’est plus un standard à la Python qu’un standard comme le C ou Ada, mais ça reste intéressant à voir.

    Et pour ce qui est de gcc, -ftrapv est réputé comme buggé

    T’as un lien là-dessus ?
    En tout cas, dans clang/LLVM ça fonctionne vu que c’est utilisé par Seed7

  • [^] # Re: Une chose que j'ai oublié d'ajouter

    Posté par  . En réponse à la dépêche Le langage Rust en version 1.0 alpha, on arrête de tout casser !. Évalué à 5.

    ce qui est très different du C ou le programme est indéfini.

    Ça dépend…
    Ce que tu dis c’est défini dans le « standard » de Rust ou c’est seulement un truc proposé par le compilo ?

    En C, Selon le standard :
    - type signé : comportement indéfini si overflow
    - type non-signé: comportement « modulo »

    Par contre, avec les compilateurs (GCC et clang au moins), il y a des options pour :
    - forcer le comportement « modulo » et complément à deux (-fwrapv)
    - trap en cas d’overflow sur les entiers signés (-ftrapv et -fsanitize=signed-integer-overflow)

    Donc au final, niveau implémentation le C offre la même chose que Rust sur ce point là.

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 2.

    J’avais lu un comparatif assez intéressant, je crois fait par les devs de scala au départ, sur les perfs entre C++, Scala, Java (je crois qu’il y avait un autre langage mais je ne me souvient plus lequel, peut-être go).

    Je penses que tu parles de cette publication de Google.

  • [^] # Re: Non a YAML !

    Posté par  . En réponse à la dépêche Je crée mon jeu vidéo E14 : formats de données. Évalué à 1.

    Je pensais a la grammaire quand j'ai dit ça et elle est, pour le coup, excessivement courte.

    Elle est courte mais plus d’une demi-page : elle fait quand 4 pages (page 4-7)

  • [^] # Re: Non a YAML !

    Posté par  . En réponse à la dépêche Je crée mon jeu vidéo E14 : formats de données. Évalué à 3.

    JSON est un format très simple, dont la spec est limpide et tient en une demi page.

    La RFC 7159 fait plus d’une demi-page, ou alors tu as des putains de grandes pages…

  • # Impression de déjà vu

    Posté par  . En réponse au journal Virus ?. Évalué à 10.

    Ta description me rappelle ce qui est arrivé à quelqu’un qui avait une Debian pas à jour dans un VM (à l’époque des faille Bash, mais on ne sait pas si ça a été le vecteur d’infection) et s’est fait vérolé.
    Il avait un processus au nom improbable (eiccyumxzl) qui bouffait beaucoup de CPU et faisait beaucoup de trafic réseau (probablement pour faire un DOS).

    J’avais récupéré l’exécutable pour en faire une analyse (surtout que le binaire est non strippé et avec les symboles de débug, ça sent le script kiddie…) mais j’ai pas encore eu le temps. Quelqu’un d’autre avait commencé et était aller assez loin (récupération et décodage de la conf à partir du serveur de C&C).

  • [^] # Re: Hammer

    Posté par  . En réponse à la dépêche DragonFly BSD 4.0. Évalué à 3.

    Tu as de la doc’ sur HAMMER ici (ça parle aussi de HAMMER 2 qui est en chemin)

    Pour la comparaison, je laisse ça à d‘autres.

  • [^] # Re: Le choix du nom

    Posté par  . En réponse à la dépêche CommonMark, une syntaxe Markdown en commun et répandue. Évalué à 1.

    Pas sûr, vu que c’est l’usage du mot Markdown qui semble lui poser problème.
    Et comme le dit la licence :

    Neither the name “Markdown” nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

  • [^] # Re: Félicitations

    Posté par  . En réponse à la dépêche GNU Emacs 24.4. Évalué à 3.

    Perso j’utilise auto-complete-clang (dont une version est disponible ici). Il fonctionne très bien.

    Il y a aussi une version asynchrone que je n’ai pas testé.

  • [^] # Re: Félicitations

    Posté par  . En réponse à la dépêche GNU Emacs 24.4. Évalué à 4.

    Franchement, chacun de ces trucs est impressionnant. Et aucun n'est facile - if only possible - à faire dans Emacs, je suis le 1er à le reconnaître.

    Même avec Rope (et donc ropemacs) ?

  • [^] # Re: Félicitations

    Posté par  . En réponse à la dépêche GNU Emacs 24.4. Évalué à 2.

    Des fois je regarde des vidéos/tutos et le gars est sous Eclipse et certains trucs font rêver, l'autre jour le gars commence à taper un appel à une fonction, Eclipse propose une complétion, le gars accepte, et là Eclipse positionne le curseur entre les parenthèses et liste les arguments attendus par la fonction et leur type. Eh, ça bute, ça, je sais pas faire ça dans Emacs.

    Ça dépend quel langage tu utilises, mais pour le C et le C++ Emacs fait ça très bien en combinant clang et yasnippet :)

  • [^] # Re: Bonne nouvelle ?

    Posté par  . En réponse au journal Microsoft libère les sources du cœur de .NET sur github, et ouvre son processus de développement. Évalué à 6.

    J'en doute

    Tu devrais pas, pour Microsoft le C n’as pas d’avenir (c’est une position officielle hein).
    Leur compilo ne supporte pas (et ne supportera jamais au dernières nouvelles) le C99.

    We do not plan to support ISO C features that are not part of either C90 or ISO C++.

    Tu veux faire du C99 ? « Fais du C++ ! » est leur réponse.

    We recommend that C developers use the C++ compiler to compile C code

    Récemment ils ont bien ajouté le support d’une ou deux features dont ils avaient besoin (pour du C++ je crois), mais ça s’arrête là.
    Pour le C11, on peut s’attendre au même support…

    Source : un article de Herb Sutter

  • # Qualité des publications

    Posté par  . En réponse à la dépêche L’Académie des sciences française prétend vouloir l’ouverture des publications scientifiques. Évalué à 3.

    Après avoir précisé que seule l’évaluation par les pairs permettait d’assurer la qualité d’une publication scientifique

    Oui, quand c’est bien fait. Ce qui n’est pas toujours le cas, même quand c’est publié par des « gros ».
    IEEE et Springer ont publiés des papiers générés avec SCIgen :

    According to Nature News, Cyril Labbé, a French computer scientist, recently informed Springer and the IEEE, two major scientific publishers, that between them, they had published more than 120 algorithmically-generated articles.

  • [^] # Re: A defaut de GNU, il y a Linux

    Posté par  . En réponse au journal CPP Con sur Youtube. Évalué à 1.

    Exact, c’est aussi une possibilité

  • [^] # Re: A defaut de GNU, il y a Linux

    Posté par  . En réponse au journal CPP Con sur Youtube. Évalué à 1.

    Moyennant quelques patchs, il était (est ?) possible de compiler avec le compilo’ Intel aussi.

  • [^] # Re: A defaut de GNU, il y a Linux

    Posté par  . En réponse au journal CPP Con sur Youtube. Évalué à 10. Dernière modification le 23 octobre 2014 à 16:23.

    fallback sur du C standard si pas supporté par le compilo (ou que l'ASM n'a pas été fiat pour tel CPU).

    Exemple con et basique : tu implémentes le context-switch, tu dois sauvegarder les registres : c’est quoi ton fallback en C standard ?

    C’est pas une question de volonté, certaines choses ne sont pas faisable en C

    ASM compris donc (d'ailleurs, ça m'étonnerai qu'il y a du code ASM non optionnel dans Linux, vu toutes les machines à supporter…)

    Bah raté, il y en a.

    Visual C++ devrait être capable de compiler out of the box si le code était standard, car Visual C++ compile pas mal de C standard quand même.

    Mouarf, faut rester en C89 alors.
    Le C99 est pas supporté et ne le sera jamais (sauf bout qui les intéresse), et niveau C11 ça risque d’être la même…

  • [^] # Re: A defaut de GNU, il y a Linux

    Posté par  . En réponse au journal CPP Con sur Youtube. Évalué à 3. Dernière modification le 23 octobre 2014 à 16:06.

    En même temps, faire un kernel en C standard c’est pas franchement possible. Rien que la directive asm pour inclure du code assembleur dans du C c’est une extension donc bon…

    Utiliser des extensions dans du code kernel ça ne me choque pas, dans du code applicatif c’est déjà plus discutable.

  • [^] # Re: C++

    Posté par  . En réponse au journal CPP Con sur Youtube. Évalué à 4.

    parce qu'un compilateur C bien configuré (genre -Wall -Wextra -pedantic -Werror) va te jeter si tu transtypes n'importe comment.

    Bof, bof

    Avec ton jeu d’option, le code suivant va passer sans aucun souci (aussi bien avec clang que gcc) :

    #include <stdint.h>
    
    int main(void)
    {
        int64_t big = 4398046511104LL;
        int32_t small = big;
        return 0;
    }

    Il faut ajouter -Wconversion si tu veux un warning.

  • [^] # Re: C++

    Posté par  . En réponse au journal CPP Con sur Youtube. Évalué à 8.

    (je me demande d'ailleurs s'il existe des warning pour avertir de la présence casts C-style dans du code C++…)

    -Wold-style-cast ?

  • [^] # Re: et de l'autre côté

    Posté par  . En réponse à la dépêche GNU Emacs : quelques extensions (première partie). Évalué à 1. Dernière modification le 16 octobre 2014 à 08:46.

    ce serait bien qu'Emacs ne soit pas qu'un OS et propose un jour un éditeur de texte (compatible vi de préférence).

    Tu veux dire comme avec Alt-x evil-mode RET ?