Anonyme a écrit 62265 commentaires

  • [^] # Re: Python

    Posté par  . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 3. Dernière modification le 21 juillet 2021 à 05:18.

    J'abonde dans tous ces commentaires, mais aussi dans le fait que mon seul but était d'avoir un code facile et logiquement aisé à suivre.

    Ok, là je vais rajouter un peu d’animosité : c’est raté.

    Dans les commentaires, il y a par exemple le fait que le choix aléatoire de a et b suffit à créer de l'aléatoire dans l'ordre de la transaction. C'est tout à fait vrai, mais alors, on n'explicite plus le fait qu'on choisit aléatoirement et les acteurs et l'ordre. C'est vrai mais sous entendu.

    Ajoute un commentaire dans ton code qui explique pourquoi tu fais les choses de tel ou tel manière (plutôt que de décrire ce que le code fait).

    Même chose, j'aime expliciter mes variables. C'est pas nécessaire, mais finalement je trouve que ça clarifie la lecture du code.

    Tu utilises plusieurs fois la variable i, tes variable d’index s’appellent a et b, ton tableau de capitaux s’appelle people.


    Après, c’est juste des conseils pour faire du Python plus « standard », ça peut t’aider si tu souhaites collaborer avec d’autres personnes, mais tu fais bien ce que tu veux.

  • [^] # Re: Python

    Posté par  . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 3.

    On peut aussi ajouter des annotations de types, d’ailleurs on devrait tout le temps le faire.

    C’est le truc qui m’embête le plus avec Python, qu’il soit faiblement/dynamiquement typé et que même quand tu annotes, l’interpréteur s’en fout.

  • [^] # Re: Python

    Posté par  . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 3.

    Et comme c'est du commentaire (enfin ça se met normalement en commentaire au début) ça n'a aucun effet sur l'interpréteur ; raison pour laquelle je n'ai pas compris la remarque.

    Justement, si, ça a un effet sur l’interpréteur. Et comme utf-8 est le défaut, ça n’a aucun intérêt.

    C’est juste un de ces vieux cargo cultes qu’on se traine, tout le monde fait comme ça, je vais faire pareil.

  • [^] # Re: Python

    Posté par  . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 3.

    Vieux comment ?

    13 ans

    Et pourquoi plus aucun intérêt ?

    Parce que l’encodage par défaut en Python est UTF-8.

    C'est pourtant plus propre, je trouve, de déclarer et initialiser toutes les variables qu'on va utiliser.

    Plus propre de déclarer des variables globales qui n’ont d’intérêt que dans un scope précis ?

  • [^] # Re: Python

    Posté par  . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 3.

    Cela dit, ma fonction pays() doit pas être bonne, j’obtiens des résultats qui m’ont l’air bien différent de ton code.

    Déjà parce que comme le souligne Moonz<, il y a une erreur dans le code original, et aussi, parce que j’ai fais une typo en passant les index et non pas les valeurs :

    --- a 2021-07-20 14:12:27.830368254 -0400
    +++ b 2021-07-20 14:12:17.222132326 -0400
    @@ -42,10 +42,10 @@
    
         # a pays b
         if random() > 0.5:
    -        people[a], people[b] = pays(a, b, base)
    +        people[a], people[b] = pays(people[a], people[b], base)
         # b pays a
         else:
    -        people[b], people[a] = pays(b, a, base)
    +        people[b], people[a] = pays(people[b], people[a], base)
    
     # final, show the resluts
     print(f"Last tranfert base : {base}. {', '.join(str(p) for p in people)}")
  • # Python

    Posté par  . En réponse au journal Un article de "Pour la science" m'ayant amené à coder pour une petite vérification perso.... Évalué à 6.

    Sans aucune animosité, je me permet simplement quelques remarques sur le style du code:

    # -*- coding: utf8 -*-

    C’est un vieux truc qui n’a plus aucun intérêt.

    from random import *

    C’est en général pas conseillé d’importer *, il vaut mieux soit importer le module et utiliser module.fonction soit importer les fonctions dont tu as besoin.

    people=[]
    
    # first setting NB_PEOPLE people with the same amount of money (AMOUNT_START)
    while i<NB_PEOPLE :
        people.append(AMOUNT_START)
        i+=1

    L’initialisation de la variable people peut être réduite à people = [AMOUNT_START] * NB_PEOPLE

    i=0
    a=0
    b=0
    base=0

    Tu n’as pas besoin d’initialiser toutes tes variables globalement en Python.

    while i<NB_LOOP :

    En général en Python on utilise des boucles for plutôt que while : for _ in range(0, NB_LOOP + 1): (tu n’utilise pas la variable i, autant ne pas lui donner de nom)

    if c>0.5 : # a pays b

    Il me semble que les deux blocks font la même chose, avec les signes inversés, du coup une fonction pays(a, b, base) où tu inverse a et b et qui renvoie la nouvelle valeur de a et b devrait faire l’affaire non ?

    Genre people[a], people[b] = pays(a, b, base) ou people[b], people[a] = pays(b, a, base).

    while i<NB_PEOPLE :

    Idem que précédemment, mais en plus tu peux directement itérer sur people for person in people:, mais le mieux c’est surtout d’utiliser str.join() : final = ", ".join(str(p) for p in people).

    final="Last tranfert base : " + str(base) +". "

    On utilise plutôt les f-string, str.format() ou les %-string plutôt que la concaténation pour faire ça en général : print(f"Last tranfert base : {base}. {', '.join(str(p) for p in people)}")


    Après avoir appliquer ça (et utilisé black pour le formatage), ça donne quelque chose comme ça :

    #!/usr/bin/python3
    
    from random import random, randint
    
    NB_PEOPLE = 500
    AMOUNT_START = 2000
    NB_LOOP = 5000000
    RATE = 0.2
    DRATE = 0.05
    
    
    def pays(a, b, base):
        # no advantage for the poorest as no poorest
        if a == b:
            a = a - base * RATE
            b = b + base * RATE
        # poorest receive the money so add DRATE in the transfer
        elif a > b:
            a = a - base * (RATE + DRATE)
            b = b + base * (RATE + DRATE)
        # poorest pay the money so deduct DRATE in the transfer
        else:
            a = a - base * (RATE - DRATE)
            b = b + base * (RATE - DRATE)
    
        return a, b
    
    
    people = [AMOUNT_START] * NB_PEOPLE
    
    for _ in range(0, NB_LOOP + 1):
        # select two random people
        a = randint(0, NB_PEOPLE - 1)
        b = randint(0, NB_PEOPLE - 1)
    
        # compare the capital of both and select the base for the calculation for  the next
        # step (capital of the poorest)
        if people[a] < people[b]:
            base = people[a]
        else:
            base = people[b]
    
        # a pays b
        if random() > 0.5:
            people[a], people[b] = pays(a, b, base)
        # b pays a
        else:
            people[b], people[a] = pays(b, a, base)
    
    # final, show the resluts
    print(f"Last tranfert base : {base}. {', '.join(str(p) for p in people)}")

    Cela dit, ma fonction pays() doit pas être bonne, j’obtiens des résultats qui m’ont l’air bien différent de ton code.

  • [^] # Re: Moyennement utile.

    Posté par  . En réponse au sondage Parlons d'imprimantes 3D…. Évalué à 2. Dernière modification le 18 juillet 2021 à 20:50.

    Freecad est ce qu'il y a de mieux je pense, mais ça reste de la conception…

    Arf, si FreeCAD est ce qui existe de mieux en libre, c’est vraiment pas ouf.

    J’en avais déjà parlé en commentaire dans un journal assez récent (quelque mois je crois) : en tant que débutant, j’ai essayer de modéliser un « cache » pour le trou où passe les câbles de ma baie et c’était un enfer.

    Je voulais juste faire une surface plate de quelque millimètres, avec des « pieds » à chaque coin pour pouvoir le visser à la baie (une table miniature à l’envers en fait) et ça m’a pris énormément de temps. J’arrivais jamais a faire de symétrie ou à ajouter des trou là où je voulais et j’avais l’impression de devoir comprendre le fonctionnement interne de FreeCAD pour la moindre action.

    J’ai pas testé d’autres outils, mais j’ai des souvenirs de SolidWorks, quand j’étais au lycée, y a plus de 10 ans et c’était pas aussi complexe.

  • [^] # Re: jeux certifiés

    Posté par  . En réponse au lien SteamDeck ordinateur/console portable par Valve (fin 2021). Évalué à 4.

    Qui aura coûté neuf 2 à 3x plus cher qu'une console neuve.

    Faut pas oublier que les consoles sont vendues à perte.

    Avec le coût des jeux, le rapport longévité/prix est probablement équivalent, si on rajoute la qualité il est probablement en faveur des PC.

    là où quelqu'un achetant une ps4 d'occase saura qu'il peut faire tourner tous le catalogue ps4 sans avoir à se poser la question des specs.

    La preuve avec Cyberpunk 2077, qui tourne (tournait ?) super mal sur PS4.

  • [^] # Re: jeux certifiés

    Posté par  . En réponse au lien SteamDeck ordinateur/console portable par Valve (fin 2021). Évalué à 7.

    Le problème du monde du jeux PC, c'est que les éditeurs s'en branlent que la majorité des gens ne veulent/peuvent pas upgrader tous les 3-4 ans et sortent des jeux aux besoins matériels constemment grandissant.

    Le fait est que tu n’es pas obligé de faire tourner tous les jeux en ultra et de racheter un PC tous les 3 ans. Je dirais qu’un PC de 5-6 ans fera tourner des jeux récents, au pire, aussi bien qu’une console du même age.

    Aussi, tu peux changer les composants de ton PC un par un. Actuellement je joue sur un PC neuf qui tourne avec une nVidia 980 (6-7 ans) et ça fonctionne bien (en attendant de pouvoir passer sur un GPU récent).

  • [^] # Re: Architecture de type PC sous Arch Linux

    Posté par  . En réponse au lien SteamDeck ordinateur/console portable par Valve (fin 2021). Évalué à 5.

    connexion internet obligatoire

    Ça, ça dépend des jeux, pas de Steam.

    et autre popup ingame par défaut.

    Des exemples ? Parce que les seuls « popup » auxquelles je peux penser là comme ça, c’est les « achievements » et encore une fois, ça vient des développeurs du jeux, c’est pas Steam qui les ajoutes tout seul.

  • [^] # Re: Soyons précis

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 6.

    Exemple tout bête, si vous ne me croyez pas, un activiste qui va au restaurant, se fait scanner son pass-sanitaire, le restaurateur vérifie et la DGSE est automatiquement au courant.

    Ta vache spherique Ton activiste n'utilise pas de téléphone, pas de carte de crédit, il ne passe jamais devant des cameras de vidéosurveillance, rien ?

    Je pense que la DGSE a pas besoin du pass sanitaire pour pister les gens qu'elle surveille.

  • [^] # Re: Maintenant on a des outils de message queuing comme RabbitMQ ou MQTT ....

    Posté par  . En réponse au journal fail2ban : mutualiser ma blacklist entre mes serveurs. Évalué à 4.

    Quand je travaillais chez OVH, on utilisait serf pour propager un message et exécuter iptables.

  • [^] # Re: Il faut assumer ses choix

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à -1.

    Je tiens à préciser que c’est pas le fait que devnewton soit modérateur qui me dérange, c’est ses propos. Le fait qu’ils soient modérateur est une circonstance aggravante de mon point de vue.

  • # Réaction de Bortzmeyer

    Posté par  . En réponse au lien Ce site montre à quel point les moteurs de recherche ne sont pas neutres et impartiaux. Évalué à 8.

  • [^] # Re: Il faut assumer ses choix

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à -3.

    par des gens sensibles…

    Ah, ça y est !

    Encore un pas et ça va parler de SJW et de cancel culture.

  • [^] # Re: Il faut assumer ses choix

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 5.

    Déjà, on est pas sur Reddit, i n’y a pas de différence quand tu postes en tant que modérateur et en tant que citoyen lambda du site.

    En plus de ça, l’injonction à séparer l’œuvre de l’artiste c’est encore un autre moyen de ce dédouaner quand on a dit ou fait une connerie.

  • [^] # Re: Soyons précis

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 6.

    Rappelons que pour Diphtérie, Tétanos, Poliomyélite, c'est (en mode "conseillé" certes car vous êtes sensés être grands et capable de comprendre) un rappel tous les 20 ans (25, 45 ans, 65 ans)

    D’ailleurs c’est marrant parce que c’est pas partout pareil, ici, au Québec, c’est une dose quand t’es enfant puis une dose à 50 ans.

  • [^] # Re: Il faut assumer ses choix

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 5.

    Cool, on avait déjà les anti-vax, mais maintenant on a carrément un modérateur qui vient nous expliquer que l’eugénisme est une bonne idée. Super.

  • [^] # Re: quelques commentaires

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 6.

    J’avoue que je ne comprends ni ton message, ni celui de Michaël.

    Si vous me répondez à moi que ça n’a rien à voir, merci, mais je le sais déjà, c’est pas moi qui fait des analogies dégueulasses dans ce fil.

    Par contre, vous êtes complètement passé à côté de mon commentaire, ce que je vous reproche c’est de continuer à « débattre » avec des gens comme papap quand le dixième de ce qu’il dit devrait déjà justifier un permaban.

  • [^] # Re: quelques commentaires

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 3.

    Lui répéter que ce qu’il dit est moisi ça a bien marché jusque là. Continuez, c’est visiblement la bonne façon de gérer les complotistes.

  • [^] # Re: Soyons précis

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 4. Dernière modification le 13 juillet 2021 à 16:14.

    Tu dis qu’il y des gens font plein de tests PCR pour ne pas se faire vacciner, tu dois donc avoir une source (qui montre qu’il y a effectivement des gens qui font ça) et des chiffres (qui montrent que ça à un impact non négligeable sur le budget de « la collectivité »).

  • [^] # Re: Soyons précis

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 7.

    Des chiffres et des sources pour cette affirmation ?

  • [^] # Re: Soyons précis

    Posté par  . En réponse au journal Petite question sur l'immunité collective. Évalué à 2.

    Disclaimer : je ne vis pas en France et j’ai pas regardé Macron à la TV (je ne l’aurai de toute façon pas fait), donc j’ai seulement vu des résumés de ce qui a été annoncé.

    Quelle annonce en particulier te pose problème ?

    • Les tests PCR payants qui semble tellement contre productif.
    • L’instauration d’un couvre-feu en Martinique et à la Réunion, parce que ça sert à rien à part donner l’impression que le virus se propage uniquement parce que les français sont des enfants irresponsables.
    • Le revenu d’engagement pour les jeunes qui n’est une mesurette pour sauver les meubles avant les élections et qu’il faut mettre en parallèle avec tout ce que les gouvernents de Macron ont fait contre leur jeunesse.
  • [^] # Re: Avancement de Sneedacity

    Posté par  . En réponse au lien Deux forks d’Audacity (dont un par 4chan) sont dans un bateau… qu’est-ce qui peut mal finir ?). Évalué à 0.

    Non, c’est loin d’être aussi simple et ça n’a strictement rien à voir avec les SJW.

    Ton discours se résume à ce meme et c’est consternant :

    I feel bulied

    Je note au passage que SJW est soit disant un terme que tu n’aimes pas, mais que tu l’emploies toutes les deux phrases.

    Au delà de ça, c’est un autre point de la vidéo que je ciblais : celle où il explique comment les groupes d’extrêmes droites ont changé leurs méthodes de recrutement avec Internet, pour passer à un mode « décentralisé » ou c’est plus vraiment possible de cibler un groupe précis quand un incel fait une tuerie de masse dans une école aux États-Unis.

    C’est exactement ce sur quoi 4chan surfe et c’est l’argumentaire que tu propages (à mon avis à dessin) quand tu dis que « 4chan c'est clairement pas une communauté unie ».

  • [^] # Re: Avancement de Sneedacity

    Posté par  . En réponse au lien Deux forks d’Audacity (dont un par 4chan) sont dans un bateau… qu’est-ce qui peut mal finir ?). Évalué à 3.

    4chan c'est clairement pas une communauté unie, et dire que les gents qui on harcelé le mainteneur de Tenacity c'est les même que les développeurs de Sneedacity c'est un sophisme par association, qui se bases sur le fait que les 2 viennes du même site (et possiblement des même fils de discutions).

    C’est exactement sur ça qu’ils se basent pour radicaliser les Normies.