Colin Pitrat a écrit 1117 commentaires

  • [^] # Re: "Pourquoi voyez-vous ce message ?"

    Posté par  (site web personnel) . En réponse au journal Le Monde, vous voulez bien respecter le RGPD (spécifiquement la partie consentement) ?. Évalué à 3.

    Techniquement tu as accès à deux services différents : l'article en plein écran où l'article sur les 3/4 de l'écran. Donc même avec le texte original tu peux argumenter que ça n'est pas légal. Tout dépend de l'interprétation du mot service …

  • [^] # Re: il manque 01

    Posté par  (site web personnel) . En réponse au journal C'est traditionnel, ne boudons pas notre plaisir !. Évalué à 4.

  • [^] # Re: il manque 01

    Posté par  (site web personnel) . En réponse au journal C'est traditionnel, ne boudons pas notre plaisir !. Évalué à 2.

    Mais sinon, on peut revenir à ma domination du monde?

    Pourquoi revenir dessus ? C'est établi alors maintenant avançons. Histoire que l'an 1 soit un peu moins pourri que l'an -1.

  • [^] # Re: Titre qui fait peur?

    Posté par  (site web personnel) . En réponse au journal Android < 7.1 va refuser les connections TLS certifiées par Let's Encrypt. Évalué à 4.

    Techniquement c'est correct si je comprends bien : dans 3 ans Android < 7.1 va refuser les connections TLS certifiées par Let's Encrypt.

    Enfin, si c'est comme le brexit y'aura une autre solution (la même ?) dans 3 ans.

  • # Facile

    Posté par  (site web personnel) . En réponse au journal [HS] Comment prononcez-vous Knoppix ?. Évalué à 5.

    Canopée-baton-croix

  • [^] # Re: Un peu à la bourre

    Posté par  (site web personnel) . En réponse au journal Yes Master. Évalué à 2.

    J'ai regardé pour te faire ça et du coup je suis tombé sur un os.
    Tu retournes le nombre de pions bien placés, mais pas le nombre de pions de la bonne couleur mais mal placés:

    Par exemple:

    Test (4 letters among ROGBYAPW):
    OBAW
    0 good 4 bad
    
    Test (4 letters among ROGBYAPW):
    PGRY
    0 good 4 bad
    
    Test (4 letters among ROGBYAPW):
    YRPG
    4 good 0 bad
    
    Bravo 3 attempts
    

    En essayant les huit lettres sur les deux premiers essais, j'ai 0 good et 4 bad à chaque fois. Pourtant le premier à aucune lettre bonne. Le deuxième à les 4 bonnes lettres mais aucune au bon endroit.

    Du coup, https://github.com/matteli/yesmaster/issues/1

  • [^] # Re: Un peu à la bourre

    Posté par  (site web personnel) . En réponse au journal Yes Master. Évalué à 2. Dernière modification le 07 décembre 2020 à 11:49.

    En fait, les chiffres ci-dessus sont faux.
    Mon code avait un bug: je comptais le nombre de coups nécessaires pour être sûr de la combinaison (je m'arrêtais quand les combinaison possibles étaient réduites à 1). Mais pour gagner, il faut jouer cette combinaison. Donc dans certains cas, il fallait un coup de plus pour gagner.

    Cette stratégie est du "one-step ahead" et comme dit précédemment, n'est pas nécessairement la meilleure. C'est celle décrite par Knuth dans son papier (mais pour 6 couleurs).

    Un papier de 2013, "An Optimal Mastermind (4,7) Strategy and More Results in the Expected Case" par Geoffroy Ville recherche une solution optimale pour le Mastermind à 7 couleurs (6 couleurs plus trous autorisés) et donne des résultats:
    https://arxiv.org/pdf/1305.1010.pdf

    Je continue de creuser et documente mes trouvailles et mon code à http://colin.pitrat.free.fr/?p=539

  • [^] # Re: Un peu à la bourre

    Posté par  (site web personnel) . En réponse au journal Yes Master. Évalué à 2.

    Alors j'ai tout recodé moi même, mais je vais jeter un coup d’œil, ça devrait être faisable :-)

  • # Un peu à la bourre

    Posté par  (site web personnel) . En réponse au journal Yes Master. Évalué à 3.

    Je sais que j'arrive après la bataille, mais je me suis penché sur la question et j'ai eu l'approche suivante:

    Créer la liste de toutes les combinaisons possibles (après tout il n'y en a que 84 = 4096). Pour chaque combinaison, compter le nombre de combinaisons qui rapportent chaque score (donc parcourir 4096*4096 = 16 millions de combinaisons au premier coup, c'est faisable). Ensuite, calculer l'espérance d'élimination associée à chaque coup jouable. Jouer le coup qui va éliminer le plus de combinaisons.

    On peut alors recommencer en ne considérant que les combinaisons qui n'ont pas été éliminées.

    Au final, le premier coup est assez lent, tout ça pour sortir 4 chiffres différents, on peut donc le hard-coder pour aller plus vite.

    Le résultat est:
    - 3 essais dans 22% des cas
    - 4 essais dans 68% des cas
    - 5 essais dans 10% des cas

    À noter que ce n'est peut être pas l'approche optimale. On joue le coup qui a la meilleure espérance, mais il peut aboutir à une situation où tous les coups suivants sont mauvais alors qu'un autre coup légèrement moins bon peut aboutir à une situation ou un coup suivant est suffisamment bon pour compenser. En pratique, je pense que c'est assez proche de l'optimal quand même (au moins pour 4 pions choisis parmi 8 couleurs).

    Petit bonus, avec 8 couleurs et 4 pions, la probabilité d'avoir 2 pions de la même couleur est étonnamment élevée si on choisit la combinaison aléatoirement:

    4 couleurs différentes: 1680 / 4096 = 41%
    3 couleurs différentes: 2016 / 4096 = 49%
    2 couleurs différentes, 2 pions chaque: 168 / 4096 = 4%
    2 couleurs différentes, 3 pions d'une couleur: 224 / 4096 = 5%
    1 seule couleur: 8 / 4096 = 0.2%

  • [^] # Re: Point d'entrée

    Posté par  (site web personnel) . En réponse au journal Défis PeerTube. Évalué à 8.

    Point d'entrée unique […] Il en existe déjà quelques-unes

    Tout est dit :)

  • # Placement de produit

    Posté par  (site web personnel) . En réponse à la dépêche Revue de presse de l’April pour la semaine 47 de l’année 2020. Évalué à 4.

    Après avoir lu l'article sur Unsplash, qui semble avoir réinventé le placement de produit et réussir à le vendre assez bien aux investisseurs, je suis perplexe. Est-ce mieux ou moins bien que les pubs "externes" ? Certes ce n'est plus interruptif, mais ça façonne le contenu. N'est-ce pas plus pervers encore?

    Pour l'instant le meilleur genre de pub à mon goût, ce sont celles de Joueur du Grenier: un sketch unique et drôle clairement identifié comme message publicitaire.

  • [^] # Re: Autre article

    Posté par  (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à 3.

    Sur un uint64 par contre ce serait drôlement bien!

  • [^] # Re: Sauf que ...

    Posté par  (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à 4.

    Pas sur TPF(en tout cas ce que j'en ai côtoyé). C'était soit du C soit de l'assembleur TPF. Le C était du vieux C bien pourri et le compilo mal optimisé, les perfs n'etaient pas vraiment au rendez-vous. Donc tout ce qui était non-critique niveau perfs était en C, le reste en assembleur.

    D'ailleurs, pendant que des devs migraient à du C++/Linux, d'autres bossaient à convertir du C en assembleur TPF pour récupérer du CPU et compenser l'augmentation de traffic.

  • [^] # Re: Eh oui...

    Posté par  (site web personnel) . En réponse au journal DHCP et heure système. Évalué à 8.

    Il ne parle pas de NTP il parle de DHCP. Sans réseau il ne peut pas espérer que ntpd va mettre son ordi à l'heure …

  • [^] # Re: Un peu d'histoire à la Higgins et café du commerce, et du troll velu et méchant ...

    Posté par  (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à 3.

    Pas la peine de te mettre au Java, la mode touche à sa fin. Essai le Rust plutôt :)

  • [^] # Re: Autre article

    Posté par  (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à 2.

    Et aussi une question d'arrondi au moment de l'affichage.

  • [^] # Re: Autre article

    Posté par  (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à 7.

    Maintenant que je l'ai lu, l'article est intéressant tout en étant à côté de la plaque. Parler du "coût d'import" d'une librairie n'a pas de sens d'une manière générale. Une implémentation fixed point header only en C++ n'a pas de "coût d'import".

    Ce qui est marrant c'est que l'auteur est consciente de ça et termine l'article en donnant les vraies raisons: pourquoi réécrire quelque chose qui marche et réécrire coûte plus cher qu'écrire.

  • [^] # Re: Autre article

    Posté par  (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à -1.

    J'ai pas encore lu l'article mais la virgule fixe, c'est juste tout multiplier par une valeur fixée (216 par exemple). Du coup je ne vois pas en quoi ça poserait problème à un langage.

  • # Sauf que ...

    Posté par  (site web personnel) . En réponse au journal COBOL : c'est dans les vieilles marmites.... Évalué à 8. Dernière modification le 22 novembre 2020 à 09:07.

    Je ne suis pas un spécialiste de ce dont il est question dans l'article, mais les références aux choses que je connais me font penser que l'article est probablement bourré de mensonges:

    Or why you see airline booking agents use that same black screen with green type to change your flight? “Oh, that’s COBOL — that’s definitely COBOL,” laughs Craig Bailey, a senior engineer at Faircom, a firm that makes software to help firms manage those old systems.

    Pour avoir travaillé dans le secteur, c'est faux. Ce qui dominait autrefois c'était TPF, les mainframes IBM. Le code était en assembleur. À ma connaissance presque tous les acteurs du secteurs ont réussi à s'en débarrasser presque complètement (oui ça fait beaucoup de presques). En tout cas, pas de Cobol en vue. Oui les terminaux texte sont toujours présents et compatibles (souvent dans une fenêtre Windows de nos jours), ça ne veut pas dire que ce n'est pas du
    C++/Java/Go/Python/Rust sous Linux qui tourne côté serveur.

  • [^] # Re: Unité énergie

    Posté par  (site web personnel) . En réponse au journal Slimbook version KDE. Évalué à 8.

    Non je suis kamion-heure, je me déplace en kamion

  • [^] # Re: Snap a bannir

    Posté par  (site web personnel) . En réponse au journal Ubuntu, Snap, les performances de chromium se dégradent. Évalué à 8.

    Pour packager un petit jeu ou diffuser une petite application avec une faible base d'utilisateurs

    Pour ça je préfère AppImage personnellement

  • # Meta-Troll

    Posté par  (site web personnel) . En réponse au journal Warp : les performances de Firefox s’améliorent. Évalué à 9. Dernière modification le 14 novembre 2020 à 15:12.

    Ahah, un p'tit troll en fin de journal, c’est beau non ?

    Non, c'est nul. Moi j'aime pas les p'tits trolls, j'aime que les gros. Et en début de journal, qui s'étalent allègrement jusqu'à la fin. Non mais!

  • # Raisons d'essayer Rust

    Posté par  (site web personnel) . En réponse au journal Retour d'expérience sur les langages de programmation. Évalué à 10. Dernière modification le 13 novembre 2020 à 20:53.

    J'aimerais m'y mettre un jour, mais j'ai pas d'idée de projet personnel qui profite de l'absence de GC

    L'absence de GC n'est pas la seule raison d'essayer (et de préférer) Rust. Personnellement, j'ai tenté le Go et c'est simple avec un bon écosystème. Mais y'a plein de trucs crados fans le design du langage, des librairies et dans l'esprit qui finissent par te rattraper. Avec Rust, j'ai l'impression que beaucoup de choses ont été très bien pensées pour le long terme.

    Je pourrais faire une longue liste mais je suis très flemmard alors je donnerai juste un exemple: la gestion d'erreurs. En Rust, tu as Result qui fait que soit tu retournes un résultat, soit une erreur et que l'erreur ne peut pas être ignorée. Tu dois la traiter. Tu peux utiliser unwrap si tu es flemmard, mais au moins tu sais à quoi t'attendre et c'est facile à retrouver.

    En Go, le pattern c'est de retourner (resultat, erreur). Si tu ne verifies pas l'erreur, dommage le compilateur ne t'aidera pas à t'en rendre compte. En plus il faut toujours gérer 4 cas: (result, nil), (result, err), (nil, err), (nill, nil). Et si les cas 2 et 4 semble improbables et inutiles, il n'y a pas besoin de chercher très loin dans la doc de la lib standard pour trouver des exemples (read par exemple, qui peut retourner des données et un EOF).

    Maintenant j'ai tendance à dégainer Rust pour tout et n'importe quoi. Y'a bien Python qui garde une place dans mon coeur, mais juste pour des trucs rapides, ou pour le plaisir de changer. Et en général avec pytype.

  • [^] # Re: Déjà vu

    Posté par  (site web personnel) . En réponse au journal Les adresses mail personnelles et les comptes en lignes. Évalué à 7.

    C'est facile d'en faire une qui valide un e-mail du moment que tu acceptes des faux positifs: ".@."

    Moi ce qui me hérisse ce sont les sites qui refusent les + dans les adresses mails. Et ils sont légion malheureusement.

  • # Avec cette loi, l'Affaire Benalla aurait-elle pu paraître au grand jour ?

    Posté par  (site web personnel) . En réponse au journal Projet de loi "Sécurité Globale". Évalué à 10. Dernière modification le 02 novembre 2020 à 16:57.

    Ben non, c'est bien le but, non?