Zylabon a écrit 1384 commentaires

  • [^] # Re: OS pas américain

    Posté par  . En réponse au journal Le département de la défense US s'appuie sur SGI et Linux !. Évalué à 3.

    Si une boite introduit une backdoor quelque part, il y a 100% de chance que cette backdoor soit introduite.
    Dur à battre…

    Please do not feed the trolls

  • [^] # Re: Deux petites questions :)

    Posté par  . En réponse à la dépêche Votre blogue à la maison sur Raspberry Pi. Évalué à 2.

    C'est sûrement la partie "Comment" qui est incluse avec la clé, tu peux la voir en clair :

    ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub | cut -f 4 -d ' '

    Please do not feed the trolls

  • [^] # Re: Deux petites questions :)

    Posté par  . En réponse à la dépêche Votre blogue à la maison sur Raspberry Pi. Évalué à 2.

    Il s'agit des paires de clés /etc/ssh/ssh_host_*. Elles servent à authentifier le serveur, elles sont donc supposées être uniques et sont généralement générée au premier lancement du serveur ou lors de l'installation.

    Je me demande si je ne fais pas erreur en n'en trouvant pas de traces sur le net, je dois faire l'amalgame avec la présence d'un utilisateur par défaut.

    Please do not feed the trolls

  • # Deux petites questions :)

    Posté par  . En réponse à la dépêche Votre blogue à la maison sur Raspberry Pi. Évalué à 4.

    Tout d'abord merci pour ce tuto, j'ai moi même un raspberry pi depuis un moment et j'en suis ravis (il me reste qu'a régler le problème d'augmenter la capacité de stockage sans faire exploser la consommation).

    La première question n'en est pas vraiment une. Sur ma machine, php-apc augmente significativement les performances de php, ce qui est très bienvenue étant donné la modestie du cpu. Tu as essayé ?

    La seconde, quand j'ai installé raspbian il y a plus d'un an je crois, sur ssh, les clé du serveur étaient déjà présente sur l'iso distribuée, ce qui est un trou de sécurité assez choquant. Est-ce que maintenant les clés sont générée au premier boot, ou tous les raspbian ont les mêmes ?

    Please do not feed the trolls

  • [^] # Re: Lieu

    Posté par  . En réponse au message Publication sur AppStore. Évalué à 4.

    C'est un peu comme le sexe oral. Lors d'une réunion de famille, savoir que des gens l'ont déjà pratiqué n'en fait pas un sujet de conversation acceptable.

    Please do not feed the trolls

  • [^] # Re: Agner Fog

    Posté par  . En réponse au message Techniques d'optimisation C++. Évalué à 2.

    • paralléliser (seulement une fois que le code est bien optimisé pour un cœur, car c'est sur un cœur que les gains sont les plus importants : avec plusieurs cœurs la concurrence pour les cache est beaucoup plus rude, sans compter les besoins en communication entre les cœurs ! ). C'est une étape parfois difficile si le code n'est pas un peu pensé pour au début, qui peut donc nécessiter pas mal de refactoring.

    Oui, c'est parfois difficile parce que c'est très tard pour le faire, un bon algo séquentiel parallélisé ne donne pas nécessairement un bon algo parallèle… Je modifierais ta hiérarchie ainsi :

    Cela dit je rejoins les avis postés plus haut : dans l'ordre, pour optimiser un code de calcul, il faut
    0. déterminer les performances que l'on veut atteindre et les ressources qui pourront être utilisées
    1. prendre le bon algorithme (avec la bibliothèque standard C++, prendre le bon conteneur)
    2. mesurer ce qui prend vraiment du temps (sous Linux, perf est ton ami !)
    3. optimiser, dans l'ordre selon moi :
    […]

    Please do not feed the trolls

  • [^] # Re: auto signé

    Posté par  . En réponse au sondage Comme autorité de certification pour linuxfr.org je préfèrerais.... Évalué à 5.

    Oui, alors la porte est blindé, mais la fenêtre est ouverte 1 mètre plus loin. C'est beau la sécurité!

    Donc ils font une vérification sérieuse ?

    applique une vérification sérieuse,

    Merci pour la bonne blague.
    Tu sais très bien que c'est faux (pour s'en convaincre, il suffit de voir qu'ils n'osent même pas demander à des pro-libres de regarder chez eux).

    Donc ils ne font pas de vérification sérieuse ?

    Si tu veux réfuter une idée et qu'on te prenne au sérieux, n'introduit pas d'incohérence dans ton argumentaire.

    Please do not feed the trolls

  • [^] # Re: OS pas américain

    Posté par  . En réponse au journal Le département de la défense US s'appuie sur SGI et Linux !. Évalué à 10.

    Un OS n'a pas de nationalité.

    On peut considérer qu'il a la même nationalité que l'institution qui a la possibilité d'introduire une backdoor dans les binaires distribué. A fortiori quand le système fera tourner des services critiques.

    Please do not feed the trolls

  • [^] # Re: Bonne idée

    Posté par  . En réponse au journal mes-aides.gouv.fr, simulez vos aides en ligne !. Évalué à 2.

    Ha ha j'attendais impatiemment le « la télé c'est pourri » :-D Je regarde beaucoup la télé, mais je ne suis pas sûr de m'abrutir : je regarde beaucoup France 5 / Arte, parfois un peu de LCP… Et pour ne pas être snob comme les anti-télé qui confondent l'outil et l'usage, j'avoue aussi regarder des « conneries » genre les Simpsons, South Park… (bon pas de télé-réalité quand même).

    Mouai…

    C'est comme d'offrir trois repas par jour chez McDo à des enfants qui ont faim en disant « ben quoi ? Ils sont pas obligé de commander un McCrap, ils peuvent prendre une salade ! ».

    Dépenser de l'argent public comme une bite et tenir les bénéficiaires responsable du bon usage qu'il en sera finalement fait c'est pas une politique responsable.

    Please do not feed the trolls

  • [^] # Re: auto signé

    Posté par  . En réponse au sondage Comme autorité de certification pour linuxfr.org je préfèrerais.... Évalué à 3. Dernière modification le 05 novembre 2014 à 17:39.

    Parce que pour vérifier l'empreinte d'une clé il faut faire confiance à une entreprise que quelqu'un à payer pour ça. Tu peux pas le faire toi même. Trop compliqué. Trop long. Et ça suppose de comprendre comment ça marche. Et pourquoi faire quelque chose gratuitement quand quelqu'un a payer quelqu'un d'autre pour le faire à ta place ?

    Please do not feed the trolls

  • # Google c'est caca

    Posté par  . En réponse à la dépêche Documentaire "Les Gardiens du nouveau monde" de Flo Laval. Évalué à 5.

    Les esprits chagrins qui râleront sur le fait que la dépêche propose un lien youtube plutôt qu'un magnet bittorrent alors ? On les oublie ?

    Please do not feed the trolls

  • [^] # Re: Un autre modèle

    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é à 10. Dernière modification le 30 octobre 2014 à 16:47.

    les articles sont écrits bénévolement par des scientifiques

    Mon petit grain de sel, 99% des articles sont écrit par des gens qui sont payés pour mener des recherches, très souvent avec de l'argent public. Les papiers sont rédigé sur le temps de travail normal, ça n'a rien de bénévole.

    ajout : mais en fait c'est encore plus grave, le contribuable paye pour écrire les articles, et il paye pour les lire (même s'il ne veut pas les lire lui même il paye pour d'autres chercheurs puissent les lire).

    Please do not feed the trolls

  • # code en forme :)

    Posté par  . En réponse au message Problème de pointeur ?. Évalué à 5.

    Salut,

    D'abord bravo c'est courageux :)

    Pour le code, la syntaxe c'est ```c pour du c pour ouvrir le bloc.

    Par ailleurs, il serait plus facile de t'aider si tu mettais un fichier c complet (prêt à être compilé), ou que tu mette le message d'erreur que tu rencontre.

    void gotoligcol( int lig, int col )
    {
      COORD mycoord;
    
      mycoord.X = col;
      mycoord.Y = lig;
      SetConsoleCursorPosition( GetStdHandle( STD_OUTPUT_HANDLE ), mycoord );
    
    }
    void swap(int*pt1,int*pt2)
    {
      int tempon;
      tempon = *pt1;
      *pt1 = *pt2;
      *pt2 = tempon;
    }
    void echangercoo(int lig,int col,int mat2[10][15])
    {
      int nbcoup;
      nbcoup=5;
      int X=getch();
    
      X=getch();
    
      do
        {
          switch (X)
        {
        case '2':
          if (lig<13)
                gotoligcol(lig,col);
          swap(&mat2[lig][col],&mat2[lig+1][col]);
          printf("%d",nbcoup);
          --nbcoup;
          gotoligcol(lig,col);
          printf("%c",mat2[lig][col]);
          gotoligcol(lig+1,col);
          printf("%c",mat2[lig+1][col]);
          gotoligcol(lig,col);
    
          gotoligcol(13,1);
          printf("Il vous reste %d coups ",nbcoup);
    
          break;
        case '4':
          if (col>1)
                gotoligcol(lig,col);
          swap(&mat2[lig][col],&mat2[lig][col-1]);
          gotoligcol(lig,col);
          printf("%c",mat2[lig][col]);
          gotoligcol(lig,col-1);
          printf("%c",mat2[lig][col-1]);
          gotoligcol(lig,col);
          nbcoup=nbcoup-1;
          gotoligcol(13,1);
          printf("Il vous reste %d coup",nbcoup);
          break;
        case '6':
          if(col<8)
                gotoligcol(lig,col);
          swap(&mat2[lig][col],&mat2[lig][col+1]);
          gotoligcol(lig,col);
          printf("%c",mat2[lig][col]);
          gotoligcol(lig,col+1);
          printf("%c",mat2[lig][col+1]);
          gotoligcol(lig,col);
          nbcoup=nbcoup-1;
          gotoligcol(13,1);
          printf("Il vous reste %d coup",nbcoup);
          break;
        case '8':
          if (lig>1)
                gotoligcol(lig,col);
          swap(&mat2[lig][col],&mat2[lig-1][col]);
          gotoligcol(lig,col);
          printf("%c",mat2[lig][col]);
          gotoligcol(lig-1,col);
          printf("%c",mat2[lig-1][col]);
          gotoligcol(lig,col);
          nbcoup=nbcoup-1;
          gotoligcol(13,1);
          printf("Il vous reste %d coup",nbcoup);
          break;
        case ' ':
          gotoligcol(lig,col);
          printf("%c", mat2[lig][col]);
          gotoligcol(13,1);
          printf("Il vous reste %d coup",nbcoup);
          break;
    
        }
    
        }
      while(nbcoup!=0);
      if(nbcoup==0)
        {
          printf("\n Vous avez perdu !");
        }
    
    }
    void curseur(int*lig, int*col, int mat3[10][15])
    {
      int choix=getch();
      int t=0;
      do
        {
          choix=getch();
          switch(choix)
        {
        case '2':
          if(lig<9)
            *lig=*lig+1;
          gotoligcol(lig,*col);
    
          break;
        case '4':
          if(*col>0)
                *col=*col-1;
          gotoligcol(*lig,*col);
          break;
        case '6':
          if(*col<14)
                *col=*col+1;
          gotoligcol(*lig,*col);
          break;
        case '8':
          if(*lig>0)
                *lig=*lig-1;
          gotoligcol(*lig,*col);
          break;
        case ' ':
          gotoligcol(*lig,*col);
          mat3[*lig][*col]=mat3[*lig][*col]+32;
          printf("%c",mat3[*lig][*col]);
          mat3[*lig][*col]=mat3[*lig][*col]-32;
          echangercoo(*lig,*col,mat3);
          break;
        }
        }
      while (t==0);
    
    }
    void supression(int mat[10][15]) //Supprimer 3 items identiques cote à cote
    {
      int i,j;
      for(i=0; i<10; i++)
        {
          for(j=0 ; j<15; j++)
        {
          if((mat[i][j]==mat[i][j+1])&&(mat[i][j]==mat[i][j+2]))
            {
              mat[i][j]=' ';
              gotoligcol(i,j);
              printf("%c",mat[i][j]);
              mat[i][j+1]=' ';
              gotoligcol(i,j+1);
              printf("%c",mat[i][j+1]);
              mat[i][j+2]=' ';
              gotoligcol(i,j+2);
              printf("%c",mat[i][j+2]);
            }
          else
            {
              if ((mat[i][j]==mat[i+1][j])&&(mat[i][j]==mat[i+2][j]))
            {
              mat[i][j]=' ';
              gotoligcol(i,j);
              printf("%c",mat[i][j]);
              mat[i+1][j]=' ';
              gotoligcol(i+1,j);
              printf("%c",mat[i+1][j]);
              mat[i+2][j]=' ';
              gotoligcol(i+2,j);
              printf("%c",mat[i+2][j]);
            }
              else;
    
            }
        }
        }
    
    }
    void faireTomber(int mat4[10][15])
    {
      int i,j,a;
      a=0;
    
      for (i=0; i<9; i++)
        {
          for(j=0; j<14; j++)
        {
          if (mat4[i][j]==' ')
            {
              do
            {
              mat4[i-a][j]=mat4[i-a+1][j];
              a++;
              gotoligcol(i-a,j);
              printf("%c",mat4[i-a][j]);
            }while(a!=9-i);
    
            }
    
        }
    
        }
    
    }
    
    int main()
    {
      int mat[10][15];
      int ligne=0,colonne=0;
      matrice(mat);
      supression(mat);
      faireTomber(mat);
      // gotoligcol(0,0);
      //afficherMatrice(mat);
      curseur(&ligne,&colonne,mat);
      return 0;
    }

    Please do not feed the trolls

  • [^] # Re: Transformée Mojette

    Posté par  . En réponse au journal QRaidCODE, stocker des données sécurisée sur qrcodes. Évalué à 3.

    je suis pas super fort en reed solomon, mais c'est pas "juste" une multiplication de polynômes sur le corps de galois ?

    Please do not feed the trolls

  • [^] # Re: Live streaming

    Posté par  . En réponse au journal Conférence d'Andrew S. Tanenbaum. Évalué à 3.

    Pour replacer son commentaire dans son contexte, il s'agit du cas ou l’évènement est financé par de l'argent public

    Hé ben…."gros con dans son genre"…

    Il peut refuser, non?
    Légalement n'est-il pas en droit de refuser la diffusion ne serait-ce de son image?

    La conf' est ouverte au public, est-ce interdit d'y aller?

    Et il s'agit de gros cons dans son genre qui refusent la diffusion du savoir

    Il peut la refuser… Oui… Bien sur, et c'est en général ce qui caractérise les gros cons, des gens qui font ce qui veulent, même si ce n'est pas ce qu'il faudrait faire.

    Diffuser le savoir est l'une des grandes mission du ministère de l'enseignement supérieur. Légalement, on peut imposer que sa prestation soit filmée et diffusée. Et ça devrait être le cas à fortiori s'il y a de l'argent public sur la table (ce qui est nécessairement le cas ne serait-ce que parce que les locaux qui accueillent la conférence sont publics). Tous les contribuable ont payer pour voir ça. On le leur refuserait au nom de quoi ?

    Et personnellement ce qui m'interdit d'y aller c'est une question de topologie.

    Please do not feed the trolls

  • [^] # Re: Regexp::Assemble

    Posté par  . En réponse au message Algo ; Evitez les doubles "boucles" ?. Évalué à -4.

    Il est rigolo ton lien :

    Lassé du spam et des virus qui engorgeaient son serveur STMP, et constatant que nombre d'entre eux provenaient d'adresses de connexion ADSL chez des particuliers (probablement infestés de virus et de chevaux de Troie), David Landgren a pris des mesures radicales

    « Lassé des problèmes sociaux causé par les inégalité, et constatant que nombre des richesses étaient accaparée par des gens d'origine juive (probablement parce qu'il faut bien être originaire de quelque chose), le parti nazi a pris des mesures radicales »

    Please do not feed the trolls

  • # Le type "set" ?

    Posté par  . En réponse au message Algo ; Evitez les doubles "boucles" ?. Évalué à 5.

    J'y connais rien en perl, mais en python ya ça :

    https://docs.python.org/3/library/stdtypes.html#frozenset

    Ça te ferait passer de O(taille_ficher * taille_liste) à O(taille_liste + taille_fichier), en supposant que ce soit implémenté avec une table de hash (ils font chier à pas mettre les complexité).

    Please do not feed the trolls

  • [^] # Re: CP/DD et mesure de temps

    Posté par  . En réponse au message Bench ecriture commande DD + CP. Évalué à 2. Dernière modification le 28 octobre 2014 à 22:58.

    ajout : désolé, en fait mon message sera peu éclairant, j'étais en mode "j'explique au noob"

    Tu peux connaitre la taille des blocs utilisé par cp avec strace (en supposant qu'il ne l'adapte pas en fonction des perfs).

    Chez moi pour cp : de /dev/urandom vers /dev/null

    read(3, "\36l\303x\342\331\360c\233\206T{\203\23\356\35\207\224\341\342\3X\203\366\262\327I\7xL
    \235"…, 131072) = 131072
    write(4, "\36l\303x\342\331\360c\233\206T{\203\23\356\35\207\224\341\342\3X\203\366\262\327I\7xL
    \235"…, 131072) = 131072

    Pour dd c'est 512 octets. (ça se règle avec l'option bs, par exemple dd bs=4k, il y a aussi ibs et obs pour régler la taille de bloc pour "input" et "output". À priori c'est le coté réseau le plus important.

    Si la taille de bloc est trop petite, le cout des appels système est trop important par rapport au cout des copies des données. Au delà d'un certain stade, augmenter ce nombre ne fait que consommer inutilement de la mémoire, puis grève les performance à cause de la perte des effets de cache.

    Please do not feed the trolls

  • [^] # Re: petit bug dans le tuto + deux questions

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 2.

    Passer deux args à Afficher sort une erreur normalement dans la 0.2.0.
    Je ne comprends pas, où est le bug ? (comportement attendu, comportement observé par exemple)

    Le bug est dans le texte du tutoriel qui annonce "La commande Afficher n’affiche que son premier argument et ignore tous les autres. Ici, le deuxième argument « et encore du texte » est ignoré et seul le premier argument « du texte » est affiché :"

    http://microalg.info/tuto.html

    Please do not feed the trolls

  • [^] # Re: Troll

    Posté par  . En réponse à la dépêche Enlightenment DR 0.19 et autres nouveautés éclairées. Évalué à 10.

    Certains utilisateurs non-avancés utilisent un lecteur vidéo.

    Disons qu'ils utilisent un terminal castré pour lire leur vidéos…

    Please do not feed the trolls

  • [^] # Re: Pascal ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 4.

    Pas de complexité de type

    a = 2/3
    b = 2//3
    c = 2.0/3
    d = 2.0//3
    
    #Que valent a b c et d
    #sachant que / est la division et // est la division entière ?

    Ce genre de question ressemble à celles que l'on pose lors du premier cours de programmation python, et pourtant, je suis prêt à parier que même des utilisateurs réguliers de python se planteraient.
    La faute à un système de type tout sauf simple.

    Please do not feed the trolls

  • # petit bug dans le tuto + deux questions

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 2.

    C'est sympa comme langage :)

    Petit bug dans le tuto :

    La commande Afficher n’affiche que son premier argument et ignore tous les autres. Ici, le deuxième argument « et encore du texte » est ignoré et seul le premier argument « du texte » est affiché

    Je comprend que (Afficher "foo" "bar") est un appel correcte équivalent à (Affiche "foo"), en fait non :)

    Sinon, je me demandais pourquoi avoir fait le choix d'un "Retourner" à la sémantique différent des langages impératifs usuels.

    Et sinon sinon, autre question, pourquoi accorder plus de confiance à l'utilisateur s'il déclare être mineur que majeur ?

    Please do not feed the trolls

  • [^] # Re: Parenthèses vs indentation

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 3.

    PS: pkoi la liste à puces ne marche pas?

    pas de ligne vide avant la première étoile :
    * puce 1
    * puce 2
    avec une ligne vide avant la première étoile :

    • puce 1
    • puce 2

    (c'est pareil pour le code et un peu tout)

    ;-)

    Please do not feed the trolls

  • [^] # Re: Décalage

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 9. Dernière modification le 24 octobre 2014 à 17:17.

    C'est justement ce que je conteste. La notion de type est une notion technique induite par la manière dont l'ordinateur stocke les données et par l'utilisation que tu peux en faire.

    Non… Les types sont présents dans la nature, si tu mélange de la purée et du jus de pomme, aucune chance que ça fasse de la purée, ni du jus de pomme, ni un mouton.

    De la même manière, l'expression 3 + "foo", si aucun langage décent de l'autorise, c'est pas à cause d'une restriction arbitraire lié au codage des valeurs en mémoire, c'est parce que ça n'a aucun sens, et qu'un programme qui voudrait effectuer cette opération n'aurait aucune chance d'être correct, donc autant le rejeter simplement.

    Please do not feed the trolls

  • [^] # Re: Syntaxe lispienne, est-ce bien raisonnable ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 2.

    C'est certes une syntaxe simple, mais est-ce réellement important pour des débutants ?

    Sachant que la sémantique du langage du langage le plus fréquemment recommandé pour les débutant est indépendante de la représentation textuelle du programme, on se dit que lisp, c'est pas plus mal.

    Please do not feed the trolls