Michaël a écrit 2935 commentaires

  • [^] # Re: Pour finir, une petite remarque sur les jeux pas libres

    Posté par  (site web personnel) . En réponse au journal Oil Rush version finale. Évalué à 3.

    Proprietary AMD or NVIDIA video drivers

    Les gens pour qui il est important de ne pas utiliser de logiciels fermés sur leur système n'ont probablement pas acheté une carte NVIDIA, si?

  • [^] # Re: précision

    Posté par  (site web personnel) . En réponse au journal Vidéoprotection c'est efficace - témoignage.. Évalué à 3.

    Oui, la DST soudoie les imams afin d'envoyer des wesh piquer les portables des pédonazis pour faire accuser les juifs, le tout sur instigation de groupes néo-marxistes sud-américains.

    Jeu gratuit sans obligation d'achat: parmi les groupuscules cités ci-dessus, un seul n'est pas infiltré à plus de 50% par la CIA. Sauras-tu le reconnaître?

    (Pour lire la réponse, tournez votre écran.)

  • [^] # Re: manque un mot ?

    Posté par  (site web personnel) . En réponse au sondage Je démarre l'installation de ma distribution par :. Évalué à 10.

    Le mot français pour barre oblique est ou.

  • [^] # Re: FEAR, SEX and Sodomie

    Posté par  (site web personnel) . En réponse au journal UEFI Secure Boot et les tablettes/téléphones Windows 8 - conclusion ?. Évalué à 2.

    Oui, mais ça va fermer l'arrivée de nouveaux linuxiens.

    Le problème des technologies fermées ne vient pas seulement de ce qu'elles empêchent de faire mais des «contournements» parfois douteux, infectés par des virus ou des trojans, qui se développent sur leur terrain.

  • [^] # Re: Forums francophone

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

    En plus d'adhérer complètement à ton commentaire, j'ajoute que

    Clairement, mais comme il s'agit de faire une partition partagée, ça va légitimement nécessiter de prendre le plus petit dénominateur commun quoi qu'il arrive.

    on peut se montrer heureux quand ce plus petit dénominateur n'est pas FAT32!

  • [^] # Re: Je ne comprends pas

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

    le fait qu'il soit plus compliqué de trouver de la doc sur internet

    En douze ans d'utilisation (mazette!) je n'ai eu aucun problème que je n'ai pas réussi à résoudre avec la doc officielle et la mailing list freebsd-questions. La vie, c'est pas toujours compliqué!

  • [^] # Re: code PIN ?

    Posté par  (site web personnel) . En réponse au journal Vol de smartphone et données personnelles. Évalué à 3.

    Si si, chaque mot est compté comme 11 bits d'entropie et 2^11 = 8 * 2^8 = 2048, c'est à dire qu'il considère que chaque mot provient d'un dictionnaire de 2048 mots courants.

  • [^] # Re: code PIN ?

    Posté par  (site web personnel) . En réponse au journal Vol de smartphone et données personnelles. Évalué à 3.

    Par contre, des outils comme pwgen génèrent des mdp qui ne sont pas des mots du dictionnaire déformés, mais qui sont prononçables, et donc facilement mémorisables

    Si je devais écrire un programme de type pwgen ou apg, je procéderai de la même manière qu'un générateur de noms de hack'n'slash, par exemple celui de tome, c'est-à-dire, de la façon suivante:

    1. On choisit un dictionnaire (liste de mots) D
    2. On transforme chaque mot en liste de n-uples de lettres (je choisis un symbole supplémentaire * qui n'apppartient pas à l'alphabet et je prends ici n=3) de façon à ce que le mot `Bob' devienne:

      **B
      *Bo
      Bob
      ob*
      b**

    3. On fait une analyse statistique (une table de transitions) des suites de triplets générés en 2.

    4. On simule la loi empirique (générée en 3.) de la n-ième lettre de ces triplets connaissant les deux premières lettres, pour générer un nouveau mot.

    On obtient ainsi des mots qui ressemblent aux mots du dictionnaire D mais qui n'appartiennent pas forçement à D. (Mais si D contient trop peu de mots ou bien est trop grand, on ne retrouve que les mots de D.)

    Avec quelques précautions, cette méthode devrait donner des résultats acceptables.

  • [^] # Re: code PIN ?

    Posté par  (site web personnel) . En réponse au journal Vol de smartphone et données personnelles. Évalué à 2.

    Ce qui protège des attaques forces brute, c'est d'utiliser un mot de passe compliqué.

    Effectivement. Pour générer des mots de passe suffisemment compliqués on peut suivre ces instructions: http://xkcd.com/936/

    Pour se protéger des attaques par exhaustion (ou par force brute) on peut utiliser tout bêtement changer de méthode d'authentification, par exemple utiliser des mots de passe jetables (OPIE).

  • [^] # Re: c'est général

    Posté par  (site web personnel) . En réponse au journal Mais où sont les stagiaires curieux et passionnés ?. Évalué à 3.

    Alors c'est effectivement très préoccupant, c'est important d'être heureux de vivre et de savoir changer ce qui ne va pas pour y arriver… le réveil va être effectivement super dur.

  • [^] # Re: l'homéopathie

    Posté par  (site web personnel) . En réponse au journal Le violon et son contexte. Évalué à 3.

    On n'a pas le droit de croire ce que l'on veut parce qu'on est scientifique ?

    On a pas mal de liberté mais on ne peut pas croire absolument tout ce qu'on veut: il faut renoncer aux coryances qui contredisent l'expérience et la rationnalité. Cela laisse pas mal de marge manœuvre.

    L'esprit soi-disant scientifique et la course à tout mesurer est le cancer de notre société.

    Il y a des scientifiques qui ne sont pas des ingénieurs. :)

    Etudes qui sont souvent mal foutues parce que plus personne ne sait que corrélation n'est pas causalité et que les cours de statistiques se perdent.

    Il suffit de leur expliquer que ta montre a le pouvoir de déclencher les cloches de l'église voisine… je crois que l'exemple vient de Guerre et paix ou bien d'un conte de Poe. Je trouve que l'exemple est facile à comprendre et illustre bien la différence entre corrélation et causalité.

  • [^] # Re: l'homéopathie

    Posté par  (site web personnel) . En réponse au journal Le violon et son contexte. Évalué à 3.

    ça guérit les gens

    Ça les guérit de choses que deux jours de repos ne suffisent pas à soigner? Simple curiosité…

  • [^] # Re: c'est général

    Posté par  (site web personnel) . En réponse au journal Mais où sont les stagiaires curieux et passionnés ?. Évalué à 8.

    Le plus terrible: il n'a jamais aucune réaction, non qu'il soit de marbre : il est amorphe, un genre de chamallow géant.

    Il aurait pas un problème de cannabis ton employé? Vu les symptômes, cela y ressemble fort!

  • [^] # Re: J'étais stagiaire il n'y a pas si longtemps...

    Posté par  (site web personnel) . En réponse au journal Mais où sont les stagiaires curieux et passionnés ?. Évalué à 5.

    Pour le contexte, j'ai rédigé l'annonce qu'il m'aurait plu d'avoir quand je cherchait un stage, avec des termes à fouiller un peu, pensant naïvement que c'était un moyen comme un autre de détecter le stagiaire motivé.

    Honnêtement j'aurais tendance à me dire qu'une annonce provenant du centre de recherche de Thalès attire presqu'automatiquement l'œil, qu'elle soit bien ou mal écrite.

    Un problème de la région parisienne pour les stages est probablement le prix des logements. Les rémunerations des stages et la situation du logement en France ne sont probablement pas faites pour exciter la mobilité, en région parisienne le problème devient peut-être encore plus aigu!

  • [^] # Re: J'étais stagiaire il n'y a pas si longtemps...

    Posté par  (site web personnel) . En réponse au journal Mais où sont les stagiaires curieux et passionnés ?. Évalué à 2.

    j'ai eu des question du genre quel est votre perspective de carrière, et tout un paquet de bullshit dont je n'avais rien à battre.

    Les questions sous-jascentes à celle que tu mentionnes sont:

    • Le candidat a-t-il préparé son entretien?
    • Le candidat est-il capable de s'organiser dans le temps sur des périodes de plus de trois jours?
    • Le candidat a-t-il un intérêt pour le sujet tel qu'il s'imagine y faire carrière.

    Si tu sembles surpris par la question ou ne réponds pas instantanément, tu réponds NON à ces trois question en un brin de seconde!

  • [^] # Re: Quelques conseils

    Posté par  (site web personnel) . En réponse au message Offre d'emploi - CDI - Développeur logiciels embarqués - Sophia Antipolis (06). Évalué à 3.

    2°) ca fait aussi gagner tu temps au recruteur qui n'a pas à me recevoir une premiere fois pour me faire passer un entretien technique, voir que je suis bon, puis me faire passer un deuxieme entretien avec sa hierachie et là on cause salaire et m'entendre dire que je suis "trop cher"

    On peut aussi écrire ses prétentions salariales sur sa lettre de motivation!

  • [^] # Re: Quelques conseils

    Posté par  (site web personnel) . En réponse au message Offre d'emploi - CDI - Développeur logiciels embarqués - Sophia Antipolis (06). Évalué à 1.

    Cependant, ne pas donner une fourchette pour le montant du salaire t'expose à de vils remarques désobligeantes sur ce site !

    Je ne comprend pas pourquoi, n'est-ce pas aussi au postulant de faire part de ses prétentions salariales?

  • [^] # Re: Incompatibilité ?

    Posté par  (site web personnel) . En réponse à la dépêche C11 n'est pas encore mort. Évalué à 4.

    Il faut quand-même implémenter un petit paquet de fonctions numériques, et si on produit un compilateur C pour un type de processeur principalement utilisé dans le petit électro-ménager, je comprends que la pression ne soit pas énorme, énorme…

  • # Tes commentaires et ton code

    Posté par  (site web personnel) . En réponse au message Programme Déterminant matrice carrée. Évalué à 3.

    Tes commentaires ne sont pas bons:
    - bavards;
    - imprécis;
    - pas pertinents.

    Ne le prends pas mal, c'est pour t'aider à t'améliorer.

    int determ = 0, row, col;
        
        // On crée un tableau dans lesquel on stockera les déterminants des cofacteurs de la premiere ligne
        int detcofact[] = new int [matrice.col-1];
    
    

    Cela s'écrit plutôt

    int determ = 0, // accumulateur: calcul du déterminant
     row, // curseur des lignes
     col; // curseur des colonnes
     int detcofact[] = new int [matrice.col-1]; // déterminants des cofacteurs de la première ligne  de matrice.T     
    
    

    (Avec des alignements que je ne peux pas faire ici.)

    Dans la deuxième version toutes les lignes sont documentées, la mention on crée un tableau pour y stocker disparaît: une variable sert à stocker une valeur, pas la peine de l'écrire, dit plutôt ce qui est dedans!

     public static int detcofacteur(mat matricofact,int rang, int dim)
    
    // Retour à la ligne
    System.out.println();
    
    

    Tu trouves ça plus pertinent d'indiquer un retour à la ligne que d'expliquer ce que fait ta fonction auxiliaire et de décrire ses paramètres? Gros problème de hiérarchisation des informations, de plus la paraphrase du code est inutile ou nuisible. Si tu te donnais la peine de faire cette description, tu te donnerais une chance d'écrire une fonction qui fait ce que tu veux en éclaircissant cette histoire dans ta tête.

    // si la dimension de la matrice entrée est 1*1, on retourne alors le seul nombre concerné
        if (dim == 1)
        {
        detcofact=matricofact.T[0][0];
        }
        // Sinon on définit la sous matrice par apport a matricofact dont on devra calculer le déterminant, qu'on appelle cofact
        else 
    
    

    deviens
    // Si la taille de la matrice entrée est 1x1, alors son déterminant detcofact est son unique coefficient
    // sinon on construit le cofacteur cofact dont on calcule le déterminant detcofact.
     if (dim == 1)
        {
        detcofact=matricofact.T[0][0];
        }
     else
    
    

    Ceci dit, dans ce fragment la logique me paraît suspecte. Tes commentaires doivent: 1. expliquer ce que font les fonctions et 2. expliquer pourquoi ce qu'elles font donne le bon résultat.
     /* Pour un affichage plus propre, si le nombre est négatif et comporte donc
          un "-", on mettra un espace de moins que si le nombre est positif
          De même si le nombre a 2 chiffres, on lui enlevera un espace ( donc un nombre a 2 chiffres max). */
    
    

    C'est bavard, tu n'a pas décrit le travail que fait ta procédure et enfin, ne programmant pas en java j'hésite tout de même à croire qu'il n'y a pas de fonction de type printf qui t'aidera à afficher proprement un tableau de nombres.

    Voilà un canvas pour ton programme:

    // determinant(MATRICE)
    //  Renvoie le déterminant de la matrice carrée MATRICE. 
    //  Calcul par la méthode des cofacteurs.
    public static int determinant(mat matrice)
        {
    int determ = 0, // accumulateur: calcul du déterminant
     j; // curseur des colonnes
     
    // Le déterminant d'une matrice 1x1 est son unique coefficeint, on développe le déterminant des matrices de taille plus grande selon la première ligne, grâce à la fonction `comatrice`. 
    if (matrice.col == 1) {
      determ = matrice.T[0][0];
    } else {
      for (j = 0; j < matrice.col; j++) 
      {
       determ += (-1^j)*matrice.T[0][j]*determinant(comatrice(matrice,0,j));
      }
      return determ;
    }
    
    // comatrice(MATRICE, I0, J0)
    //  Renvoie la comatrice de MATRICE relative à la position I0, J0.
    public static mat comatrice(mat matrice, int i0, int j0)
    {
    int i, // curseur des lignes
    int j; // curseur des colonnes
    mat c = new mat();
    c.row = matrice.row - 1;
    c.col = matrice.col - 1;
    c.T = new int[c.row][c.col];
    
    for (i = 0; i < c.col; i++) {
     for(j = 0; j < c.row; j++) {
      c.T[i][j] = 
    }
    }
    }
    
    

    Cette structure est meilleure parcequ'elle met en évidence le caractère récursif de determinantet l'opération élémentaire produire la comatrice qui apparaît dans ton algorithme mais pas dans ton code. Avec ce point de départ plus sein, tu devrais t'en sortir.
  • [^] # Re: méthode récursive

    Posté par  (site web personnel) . En réponse au message Programme Déterminant matrice carrée. Évalué à 3.

    En gros, le déterminant d'une matrice nxn est la somme des déterminants des sous-matrice (n-1)x(n-1) — obtenues par élimination d'une ligne et d'une colonne — multipliées par (-1) à la puissance (décalage de colonne + décalage de ligne).

    Ces déterminants sont (au signe près) les fameux cofacteurs. Donc la méthode quetu décris est bel et bien celle que veut utiliser l'OP.

    Ce calcul est inefficace au possible.

    Effectivement, c'est difficile de faire pire, et même quand on calcule à la main ce n'est jamais la méthode qu'on utilise! (Sauf pour les matrices 2x2 ou quand le calcul semble particulièrement facile.) En pratique on fait un pivot de Gauss pour se ramener à une matrice diagonale de même déterminant. Cela se fait en espace constant (si la représentation des nombres est en espace constant) et en temps O(n^3) où n est la taille de la matrice. Des variantes permettent de passer de 3 à un nombre un peu plus petit, dans les 2,73.

    Ceci dit, pour le type de projet, je pense que la méthode des cofacteurs est un bon choix, simple à mettre proprement en œuvre. Bon courage!

  • [^] # Re: Profondeur

    Posté par  (site web personnel) . En réponse au message Améliorer les performances lors de l'accès au contenu d'un répertoire.. Évalué à 2.

    Pour des liens physiques cela ne fait aucune différence, le lien est juste un nouveau nom pour le même contenu de fichier.

    Les liens symboliques sont des fichiers spéciaux contenant le nom du fichiers vers lequel ils pointent, donc en principe, il faut faire une ou plusieurs recherches de dossiers pour les résoudre et retrouver le véritable nom de fichier.

    Les détails dépendent du système de fichiers (ici UFS) mais je suppose que c'est plus ou moins partout la même chose.

    Sur les systèmes HFS+ il y a une troisième sorte de liens, qui sont des liens symboliques capables de suivre un fichier lorsqu'il change de nom.

  • [^] # Re: Profondeur

    Posté par  (site web personnel) . En réponse au message Améliorer les performances lors de l'accès au contenu d'un répertoire.. Évalué à 2.

    Comment tu fais ton découpage ?

    De façon à avoir un nombre à peu près constant d'objets dans chaque dossier feuille.

    C'est peut-être mieux techniquement, mais d'un point de vue logique, si tu veux une arborescence cohérente, ça me paraît pas être une bonne solution.

    Grâce aux liens physiques, tu peux voir tes fichiers dans plusieurs arborescences différentes: donc tu peux utiliser simultanément autant d'organisations que tu veux pour tes données. (S'y retrouver, c'est le métier de l'ordinateur.)

  • # Profondeur

    Posté par  (site web personnel) . En réponse au message Améliorer les performances lors de l'accès au contenu d'un répertoire.. Évalué à 2.

    Je réalise quelques tests sur ma Fedora 16, relatifs au parcours d'une arborescence avec beaucoup de fichiers dedans, pour les besoins de l'exemple, plus de 160.000 fichiers vides dans un repertoire racine, et le meme nombre de fichiers, avec les même noms, dans 5 répertoires enfants (size1..5).

    Par contre, ce qui me surprend, c'est que le temps d’exécution de `ls' ne varie pas d'un appel à l'autre, comme si aucune info n'était mise dans le cache du système de fichiers.

    À mon avis c'est parceque l'information est déjà dans le cache avant le premier ls, si tu viens de créer tes fichiers. Cela te paraît plausible?

    Du coup, mes chers lecteurs, connaissez vous "la bonne façon de faire" pour lister les répertoires de façon rapide? Y a t il des réglages kernel sympa à faire pour mettre des infos en cache de façon plus agressive?

    La bonne façon c'est de ne pas avoir 160_000 fichiers par dossiers, les systèmes de fichiers non spécialisés ne sont pas fait pour ça. De mémoire, je crois qu'il n'est pas conseillé d'avoir plus d'une grosse centaine de fichiers dans un dossier, si tu veux avoir un accès rapide à tes fichiers. Je te rappelle que les fichiers dans un dossier n'ont souvent pas «d'ordre» ce qui veut dire qu'accéder à un fichier dans un dossier se fait en temps proportionnel au nombre de fichiers dans le dossier.

    Par exemple ton time touch **/1plop.jpg obtient une grosse liste de fichiers que le shell passe ensuite à touch qui va rechercher chacun des fichiers, pour cela tu vas donc ouvrir 160_000 fois le même dossier et y faire

    1 + 2 + ... + 160 000 = Q(160 000) où Q(x) = x * (x - 1) /2 (en gros x^2 / 2)

    recherches de fichiers (pour faire stat ou mettre à jour les champs, etc.)

    Si tu passes à un schéma avec 1600 dossiers imbriqués sur trois hauteurs: 32 dossiers contenant 50 dossiers contenant chacun 100 fichiers, tu va faire

    160 000 ( Q(32) + Q(50) ) ouvertures de dossiers

    et

    1600 * Q(100) traitements sur ces fichiers

    et comme Q(32) + Q(50) + Q(100)/100 est beaucoup plus petit que 160 000/2 (ça fait moins de 2000, à vue de nez)

    tu remarques une grosse différence.

    Si dans ton traitement le nombre d'appel systèmes sur chaque nom de fichier est grand, tu choppes un coefficient devant Q(160 000) pour la première méthode et le 1600 * Q(100) pour la deuxième méthode, et ça se passe de plus en plus mal pour la première méthode.

    Pour corriger ce problème, il faut donc que tu optes pour une organisation de tes fichiers sur plusieurs niveaux de profondeur.

    Par exemple, tu trouves un moyen simple de transformer ton nom de fichier en chaîne hexadecimale de 5 caractères (pour tes 160000 fichiers c'est assez), disons 12345 et tu crées un lien physique sur ton fichier de départ qui est 1/23/45 et tu fais tes traitements gourmands en appels systèmes sur cette présentation de ta collection de données.

  • [^] # Re: M'sieur, Hé, M'sieur, mes gamins y z'ont les cheveux noirs, c'est grave ?

    Posté par  (site web personnel) . En réponse à la dépêche Un cadeau de noël pour vos têtes blondes... AbulÉdu 11.08 Live est arrivé. Évalué à 4.

    J'allais oublier : même qu'y sont frisés...

    Il fallait bien que le personnage de l'affiche ait un phénotype, tu sais… tout le monde en a un.

  • [^] # Re: Vive le libre

    Posté par  (site web personnel) . En réponse au journal Arte - Apple la Tyrannie du cool. Évalué à 2.

    Un logiciel proprio qui utilise un format de données standard permet la même chose.

    Je suis plutôt d'accord avec toi, avec une petite réserve: tu n'as aucune garantie que ton logiciel propriétaire marche sur la plateforme de ton choix dans 10 ans. Dans le scénario, où je devrais développer un logiciel pour exploiter mes données dans un format standard, je préférerais partir d'un logiciel libre que je peux adapter à ma plateforme d'aujourd'hui (et ça marche: par exemple TeX, et les compilateurs C, Fortran, Cobol) plutôt que de partir de rien (l'entreprise éditant le logiciel que j'utilisais a disparu corps et biens).