barmic 🦦 a écrit 5783 commentaires

  • [^] # Re: Méfie-toi des outils magiques

    Posté par  . En réponse au journal imagemagick, GraphicsMagick, vips, chatgpt. Évalué à 5.

    C'est en effet pratique, mais ça reprend la propagande des uns et des autres.

    C'est important pour moi. La question de pourquoi GraphicsMagick existe alors qu'ImageMagick est là c'est ce que tu trouve dans ce genre de « propagande » et ça donne une idée de la direction que se donne un projet (performance/compatibilité/fonctionnalités/autre ?). C'est vraiment ce que j'attends du genre de paragraphe qu'il a écrit.

    C'est ensuite dans la suite que l'on peut comparer les projets entre eux et effectivement GraphicsMagick semble mal en point.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Utilisateur de Xfce4

    Posté par  . En réponse à la dépêche Xfce 4.18 est sorti !. Évalué à 4.

    Centos utilise Gnome parce que RedHat contribue à Gnome. Et RedHat contribue à Gnome parce que fut un temps c'était l'option qui paraissait la plus pertinente pour proposer un bureau face aux concurrents de RedHat. Aujourd'hui Gnome semble suffisamment les satisfaire pour ne pas se tourner vers une autre option.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Pas une alternative?

    Posté par  . En réponse au lien fq : une alternative à jq, yq, MediaInfo et bien plus encore. Évalué à 5.

    • fq sert sur les données binaires, donc, pas sur du json, yaml, html?

    Le lien indique

    Supported formats

    aac_frame, adts, adts_frame, amf0, apev2, apple_bookmark, ar, asn1_ber, av1_ccr, av1_frame, av1_obu, avc_annexb, avc_au, avc_dcr, avc_nalu, avc_pps, avc_sei, avc_sps, avi, avro_ocf, bencode, bitcoin_blkdat, bitcoin_block, bitcoin_script, bitcoin_transaction, bits, bplist, bsd_loopback_frame, bson, bytes, bzip2, cbor, csv, dns, dns_tcp, elf, ether8023_frame, exif, fairplay_spc, flac, flac_frame, flac_metadatablock, flac_metadatablocks, flac_picture, flac_streaminfo, gif, gzip, hevc_annexb, hevc_au, hevc_dcr, hevc_nalu, hevc_pps, hevc_sps, hevc_vps, html, icc_profile, icmp, icmpv6, id3v1, id3v11, id3v2, ipv4_packet, ipv6_packet, jpeg, json, jsonl, macho, macho_fat, markdown, matroska, mp3, mp3_frame, mp3_frame_vbri, mp3_frame_xing, mp4, mpeg_asc, mpeg_es, mpeg_pes, mpeg_pes_packet, mpeg_spu, mpeg_ts, msgpack, ogg, ogg_page, opus_packet, pcap, pcapng, png, prores_frame, protobuf, protobuf_widevine, pssh_playready, rtmp, sll2_packet, sll_packet, tar, tcp_segment, tiff, toml, tzif, udp_datagram, vorbis_comment, vorbis_packet, vp8_frame, vp9_cfm, vp9_frame, vpx_ccr, wasm, wav, webp, xml, yaml, zip

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 4.

    Quand tu commence à réfléchir comme ça tu peux en arriver à te dire que tu veux seulement une allow list d'ips. Pour tes ips fixes pas de problème et pour les autres le plus classique c'est le port knocking, mais tout est imaginable.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 2.

    C'est bien vrai mais le principe des lois c'est de les écrire en continue au cas où, un jour, tu ai besoin de comprendre un comportement. Comme ça n'est pas prédictible, il n'y a pas vraiment le choix.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 2.

    pourrir ton daemon SSH

    C'est à dire ?

    te pourrir […] tes logs

    Une rotation avec compression et il se fatiguera avant toi.

    Mais bon c'était surtout pour dire que personne ne tente un brute force réseau.

    L'intérêt de fail2ban est aussi d'éviter du DDoS (au sens large).

    Ça il faut voir. Je serais pas surpris qu'il soit possible de DDoS via fail2ban.
    Là où SSH va juste ouvrir/fermer des connexions. fail2ban doit parser les logs, mettre ) jour les règles iptables pour ban et pour unban. Il me semble avoir vérifié récemment les configurations récentes d'iptables utilisent bien des set d'IP pour ne pas avoir à décharger/recharger tout le parfeu, mais ça n'a pas toujours était le cas. Et bon le principe des DDoS c'est d'avoir pleins d'ip et d'agréger les bandes passantes. Si tu as pris le temps d'analysé le comportement du fail2ban adverse tu peut potentiellement le charger dans une boucle de ban/unban.

    Tout ça pour dire que c'est pas magique et qu'il faut faire attention à sa configuration.

    Soyons clair si fail2ban peu très bien ajouter de la sécurité, je suis convaincu qu'il doit tout son succès à ceux qui réagissent mal à ceux genre de photos : https://i.redd.it/8pldpxudj7h01.jpg (par sympathie pour les concernés je met juste le lien :) )

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 3.

    C'est ce que j'ai expliqué il faut un mot de passe fort !
    Et un mot de passe fort à l'heure actuelle c'est au moins 12 caractères avec minuscules, majuscules et chiffres (ou une phrase de passe en français).

    Tu as lu ce que j'ai écris ?

    • Mot de passe 8 caractères 62 symboles d'alphabet → 48bits d'entropie donc très faible d'après l'ANSII
    • Nombre de tentatives pour le casser : 2**48 → 281 474 976 710 656 tentatives

    C'est un truc qui nécessite une puissance de calcul et un temps phénoménal pour le casser par essais successifs, plusieurs dizaines d'années au moins.

    Le coût calculatoire n'a plus aucun sens quand tu as une requête réseau obligatoire.

    Donc fail2ban ne sert strictement à rien de ce cas, d'un point de vue sécurité (cela à d'autres usages).

    C'est un peu comme quand tu dis a un gars qui utiliserait un mot de passe de 13 caractères (plutôt que ta recommandation à 12) que ça ne sert à rien d'un point de vu sécurité.

    Note que ta recommandation est d'utiliser ce que l'ANSII considère comme un mot de passe faible (une entropie inférieure à 80bits).

    À chaque fois que j'ai vu un serveur se faire compromettre via SSH, c'est toujours le même scénario : l'adminsys a fait une énorme boulette en attribuant d'une manière ou d'une autre un mot de passe bidon à utilisateur. Et malgré un fail2ban parfaitement configuré, le serveur est compromis en quelque heures / jours.

    C'est une expérience. Moi je n'ai jamais vu de serveur ssh compromis, j'ai donc pas besoin de désactiver la connexion root et de me poser des questions sur l'utilisation de mot de passe ou de clef ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 4. Dernière modification le 02 janvier 2023 à 15:06.

    Si tu as sécurisé ton service avec des mots de passe forts ou des méthodes authentification qui sont insensibles aux attaques par force brute, fail2ban est inutile d'un point de vue sécurité.
    Si tu as des mots passe faible, fail2ban ne fera que retarder (un peu) la compromission du service car une IP finira bien par essayer le bon mot de passe.

    Aucune méthode est insensible au brute force. La question c'est uniquement quelle est l'espérance de l'attaquant pour passer. L'entropie d'un mot de passe c'est l'estimation du log en base 2 du nombre de tentatives nécessaires pour trouver le bon.

    Un mot de passe de 8 caractères avec un alphabet de 62 symboles (majuscules, minuscules, chiffres) a une entropie de 48bits, il est considéré comme très faible par l'ANSII et il faut 281 474 976 710 656 tentatives pour le trouver.

    Sans trop te poser de question (utilisation de cartes graphiques, fpga, etc) tu peux tenter plusieurs milliards de mot de passe par seconde. Tu met moins d'une semaine pour passer au travers? Mais ça c'est quand tu as un fichier à déchiffrer. Si tu dois faire un accès réseau et qu'un fail2ban te ban 1s toutes les 15 tentatives1, tu en a pour un paquet d'années si je ne m'abuse.

    Je ne crois pas que les attaques autres que par dictionnaires soient fonctionnelles sur ssh.

    J'aime pas fail2ban et je ne m'en sert pas, mais on peut pas lui reprocher de ne pas être un outil de sécurité.


    1. évidement un attaquant très motivé aura un paquet d'IPs pour limiter cette gêne. 

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: il en manque

    Posté par  . En réponse au sondage Quel mot de franglais vous horripile le plus ?. Évalué à 4.

    Notre société, follower mondial dans le domaine, fera de son mieux pour vous aider à accomplir vos objectifs.

    C'est pas mal comme communication :p

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Page de don ?

    Posté par  . En réponse à la dépêche Sortie de la version R1 beta 4 de Haiku. Évalué à 3.

    Je l'ajoute au thread des améliorations possible. Le chapeau ne dit rien de ce qu'est le projet ou de ces objectifs. Pour moi qui suit d'une manière assez distraite le projet quand je suis tombé sur la première référence à BeOS je ne savais plus si BeOS était l'OS d'origine ou l'un des autres projets qui tentent de maintenir l'écosystème.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Non open source

    Posté par  . En réponse au lien Une intro à Bookwyrm. Évalué à 4.

    et qu'on peut donc se donner des définitions avec des mots du dictionnaire ("libre", "ouvert", "open source") sans avoir besoin de l'aval de ces gens.

    Dans un contexte de logiciel, c'est un appel à la notion de logiciel libre. C'est une volonté de créer de la confusion. C'est malveillant et c'est bien pour ça que c'est critiquable et critiqué.

    Mais c'est aussi assez bête comme procédé. J'y vois très clairement la volonté d'amalgamer « libre » avec « en accord avec ma morale ». C'est un comportement très répandu, mais particulièrement pas malin ici.

    S'amalgamer au logiciel libre, c'est s'amalgamer à ce milieu où les GAFAM capitalistes sont très influents et très importants. Pourquoi ne pas simplement dire que c'est un logiciel anti-capitaliste par exemple ? Non seulement ça distingue de ce capitalisme1, mais ça permet de mettre en lumière leur combat (ce qui semble être l'objectif quand on crée une licence justement pour ça).

    Aussi quitte à ne pas reprendre les définitions du milieu proposer les siennes pour entre autres, expliquer ce qu'ils veulent dire par là semble un minimum et permet encore une fois de parler de leurs idées ça devrait leur plaire.


    1. il est important de comprendre que le logiciel libre s'il peut être vu comme un partage proche de l'anarchisme peut aussi être vu comme le graal de la concurrence « libre et non faussée » chère aux libéraux (et qui satisfait les capitalistes capables d'éliminer la concurrence autrement) 

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Commande file

    Posté par  . En réponse à la dépêche Sortie de uchardet 0.0.8 pour la détection de codages de caractères. Évalué à 2.

    Non, ils ne tentent pas de le faire (donner l'encodage) ; c'est une incompréhension : ça dit juste que c'est du multi-octets (là l'algo naif de combinaisons discriminantes et le fait qu'il y ait peu de choix fait que ça tomber juste) ou du 7 bits (ascii) ou du 8 bits (dit ascii étendu)

    S'il voulait dire que c'est du multi-octets il indiquerait multi-octets. Là il indique ascii, iso-8859-1 ou utf8 qui sont des encodages.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 2. Dernière modification le 01 janvier 2023 à 16:50.

    Mais du coup en quoi est-ce différent (dans le sens plus sécurisé) que de mettre un mot de passe très long (genre une clé rsa en base64) avec un gestionnaire de mots de passes ?

    Dans ce que je vois rapidement :

    • Avec un mot de passe long, tu n'a qu'un seul moyen de t'authentifier à un compte. Là où avec une clef tu as une clef par moyen d'accès (généralement par machine).
    • Avec un mot de passe long, pour te protéger du brute force tu dois ajouter des trucs en plus : un gestionnaire de mot de passe avec synchro, un fail2ban,… Quand tu utilise des clefs, c'est de la configuration des outils que tu utilise de toute manière.
    • Avec un mot de passe long, tu va devoir utiliser ton gestionnaire de mot de passe à chaque nouvelle connexion (alors oui tu peux multiplexer tes connexions, mais ça n'est pas vraiment transparent), avec une clef tu la met dans ton agent et c'est tranquille.

    C'est les mêmes qui ont l'accès root aussi sur les serveurs en question ?

    Non, mon utilisation était de me connecter de temps en temps CHEZ MOI depuis mon boulot pour des raisons persos. Genre récupérer des vidéos à partager avec les collègues (il n'était pas rare que le temps de la pause de midi on se fasse un épisode ou deux d'une série quelconque en mangeant au bureau)
    Utilisation complètement illégitime, j'en conviens :)

    Typiquement le genre de cas où le chiffrement de clef me paraît évident.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 4.

    Pour le formuler autrement ces personnes veulent qu'on leur fournisse un accès par mot de passe et rien d'autre.

    J'entends (de la part de l'utilisateur) "viens pas nous embêté avec ton truc que je connais pas. On a toujours fais comme ça et c'est pas toi qui va me faire changer". C'est le même genre d'arguments qu'on a vu pour expliquer que c'était inacceptable que Firefox ne supporte plus FTP. L'utilisateur veut pas.

    Il faut l'accompagner, mais il faut vraiment que l'utilisateur comprenne qu'il n'est pas seul sur Internet et que les pratiques se doivent d'évoluer. C'est l'une des fonctions des gens de la tech de faire ce devoir de conseil.

    D'autant qu'il y a d'autres apports à l'usage de clefs. Tu peux supprimer une clef sans impact sur les autres usages et tu n'a pas de secret partagé.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 3.

    Moi je parle d'une paire de clés publique/privé générée sans mot de passe.

    Pour ne pas la chiffrer il faut avoir bien ignoré ton logiciel qui t'a dit que ce serait bien que tu mette une passphrase. Je comprends que dans certains cas, on puisse trouver contraignant de chiffrer sa clef (avoir un agent ssh lancé avec ta session demande un peu de configuration), mais s'il est admis que c'est une machine partagée je ne vois pas comment on peut se dire que c'est une bonne idée. Sans mettre en cause la probité de tes collègues, ça évite aussi des maladresses.

    De toute façon les sysadmin avaient les mots de pass root sur toutes les machines, donc là encore ils auraient pu accéder à ma clé privée très simplement.

    C'est les mêmes qui ont l'accès root aussi sur les serveurs en question ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 2.

    Je connais pas d'appli sftp qui ne soient pas en mesure de gérer des clefs.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 3.

    j'ai eu besoin d'acceder à ma machine (je ne sais plus pour quelle raison) de l'extérieur une fois, j'ai installé une appli ssh sur mon ordiphone et me suis connecté en ssh.
    Sans mot de passe j'aurais été coincé.

    Ton ordiphone peu utiliser une clef, surtout si tu as des besoins irrésistibles de te connecter n'importe où.

    Je ne suis pas d'accord là dessus.
    Dans mon ancien boulot, je me connectais de temps en temps chez moi par ssh, et je n'ai pas envie qu'une personne qui utilise "ma" machine, car oui, il m'arrivait de laisser ma machine à un collegue sans être derrière lui, puisse se loguer sans soucis chez moi.
    Et ceci est valable du coup pour nimporte qui qui aurait eu acces à cette machine, de façon légitime ou pas.

    Je ne comprends pas. Comment pourrait-il accéder à ta clef ? Ça fait longtemps que ça ne m'est pas arrivé, mais si c'était le cas d'une je coupe tous les shell ssh et de 2 je vire toutes les entrées de mon agent. Comme tu dois de toute manière faire l'un ajouter l'autre ne demande pas plus de rigueur. Il est même possible que tu fasse déjà quelque chose de suffisant avec un pkill ssh. Perso je préfère garder mon agent en vie, mais c'est un détail.

    du coup indirectement ça "augmente" le force du mot de passe

    Faut faire attention avec ce genre de sentiment. Personnellement je ne m'autorise pas ce genre d'hypothèse sans qu'un gars un minimum plus sérieux que moi en sécurité le confirme.

    Au final la bonne solution est un compromis.

    Oui, interdire l'accès par mot de passe sauf si tu as une bonne raison.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 2.

    C'est idiot. Il y a des cas où l'on a besoin d'un accès par mot de passe. Il faut simplement utiliser des mots de passe forts.

    Jamais rencontré de cas de besoin de mot de passe. L'usage de clef n'est pas simplement immensément plus sécurisé que n'importe quel mot de passe dit fort, il est aussi infiniment plus pratique à l'usage.

    Je suis d'accord avec toi sur le principe, mais dans la pratique les seuls cas que j'ai vu c'est une crainte quant à la mise en place, mais une fois c'est très confortable.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Bar des sports.

    Posté par  . En réponse au journal Tentative de partage de mon expérience, vécue depuis l'extérieur, des réseaux sociaux. Évalué à 1.

    En outre, mes commerçants n'essaient jamais de me "faire passer le plus de temps chez eux" (en fait, on se met à passer du temps chez certains, mais parce que ça devient des potes et qu'on discute avec eux! 😅), ni de me faire acheter des trucs que je ne voulais pas.

    Le placement des produits, les affichages, l'organisation de l'étalage, la pratique de la "criée", le positionnement des commerçants les uns par rapport aux autres, le choix des jours de marché,… Tout ça est choisi entre autre pour te faire acheter et c'est normal.

    C'est quand même triste de croire que ce genre de comportements entrepreneuriaux ne sont pas des "dark patterns" et que c'est totalement normal. Dire "c'est le jeu", ça implique qu'on considère que c'est normal si les commerçants "jouent" avec ta vie et tes désirs

    Comme dirait Bourdieu, c'est pas une analyse personnelle des gens. Les gens se comportent comme le système les pousse à se comporter et oui les commerçants doivent vendre pour vivre. Tu connais peut être des commerces qui sont à l'aise et ne cherchent pas à faire plus, mais ce n'est pas ce que le système économique dont ils font partie les pousse à faire.

    Juger les agents sur ce que le système les pousse à faire est à mon avis manquer sa cible. Tu ne peux pas changer le comportement des acteurs sans changer le système.

    Ensuite tenter d'élargir les définitions est à mon avis un autre problème. Tout comme on voit souvent des gens vouloir amalgamer leur morale à "libre" et libre à leur morale, je trouve que vouloir faire passer toutes les pratiques commerciales peu scrupuleuses dans dark patterns le vide de son sens et cache se pourquoi le terme a été créé.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Commande file

    Posté par  . En réponse à la dépêche Sortie de uchardet 0.0.8 pour la détection de codages de caractères. Évalué à 4. Dernière modification le 31 décembre 2022 à 08:24.

    Pourtant il tente de le faire. Si une fonction marche aussi mal généralement soit on la retire soit on tente de la corriger, pourquoi refuser ? La dépendance peut tout à fait être optionnelle voir passer par une interface pour accepter d'autres bibliothèques ou éviter des problèmes de licences.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Paramètres par défaut des distributions

    Posté par  . En réponse au journal ssh : et si nous sensibilisions par un label, ou autre impératif?. Évalué à 2.

    interdire le log par mot de passe dans ssh

    C'est tout. Tout le reste c'est du bonus qui va être plus ou moins discuté. S'il y a un truc à apprendre c'est interdire la connexion par mot de passe.

    S'il y a un truc a marteler il est tout trouvé.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Optimisation

    Posté par  . En réponse au message Avent du Code, jour 14. Évalué à 2.

    J'ai essayé et ça ne m'a pas fait gagner grand chose. J'ai trouvé par contre une solution efficace.

    Au lieu de faire tomber un grain de sable, je regarde toutes les positions accessible depuis le point de départ avec comme règle les même mouvements qu'un pion aux échecs. Je passe de 27 minutes d’exécution à 0.7s.

    En groovy ça donne:

    import java.time.Duration
    import java.time.Instant
    import java.util.regex.Pattern
    
    def start = Instant.now()
    def sc = new Scanner(new File('input'))
    
    record Point(int x, int y) {}
    
    static Set<Point> readInput(Scanner sc) {
        def coordPattern = Pattern.compile("(\\d+),(\\d+)")
        def rocks = [] as Set<Point>
    
        while (sc.hasNextLine()) {
            def line = sc.nextLine()
            def matcher = coordPattern.matcher(line)
            Point prev = null
            while (matcher.find()) {
                def current = new Point(
                        Integer.parseInt(matcher.group(1)),
                        Integer.parseInt(matcher.group(2))
                )
                rocks << current
                if (prev != null) {
                    for (def i = Math.min(prev.x(), current.x()); i < Math.max(prev.x(), current.x()); i++) {
                        rocks << new Point(i, current.y())
                    }
                    for (def j = Math.min(prev.y(), current.y()); j < Math.max(prev.y(), current.y()); j++) {
                        rocks << new Point(current.x(), j)
                    }
    
                }
                prev = current
            }
        }
        return rocks
    }
    
    def rocks = readInput(sc)
    
    def floor = rocks.max { it.y() }.y() + 2
    
    def sand = 0
    def newSands = [new Point(500, 0)]
    while (!newSands.isEmpty()) {
        def nextSands = [] as Set<Point>
        for (s in newSands) {
            Set<Point> fallen = fall(s)
                    .findAll { !rocks.contains(it) }
                    .findAll { it.y() < floor }
            nextSands.addAll(fallen)
        }
        rocks.addAll(nextSands)
        sand += nextSands.size()
        newSands = nextSands
    }
    
    println(sand)
    def duration = Duration.between(start, Instant.now())
    println(duration)
    
    static Set<Point> fall(Point sand) {
        return [
                sand,
                new Point(sand.x(), sand.y() + 1),
                new Point(sand.x() - 1, sand.y() + 1),
                new Point(sand.x() + 1, sand.y() + 1)
        ]
    }

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Pas d'accord avec tout

    Posté par  . En réponse au lien [ANSSI] bonnes pratiques en C. Évalué à -1.

    Si je lis clients je me doute que ce sera probablement une collection de clients.

    Tu sais s'ils sont triés et si oui par quoi, dédoublonnés, si l'ordre a un sens ou non,… ?

    Je ne fais pas du C, mais je trouve personnellement que la démarcation que tu fais peut être bien plus flou que ça et que bien souvent les types du langages ne permettent pas forcément d'exprimer ce que tu entends par type. C'est donc une information que tu te retrouve à :

    • soit ne la mettre nul part et au développeur de la redéduire. C'est souvent fait pour des variables local qui sont utilisé sur de toutes petites portions de code
    • soit tu la met dans le nom de la variable d'une façon ou d'une autre
    • soit tu la met dans les commentaires avec certaines conventions ça peut être utilisé par les outils pour ne pas avoir à naviguer dans le code pour les lire

    Je ne vois pas de solution particulièrement magique qui me ferrait dire qu'une solution est hors contexte meilleure que les autres.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • # Presque

    Posté par  . En réponse au lien Why the super rich are inevitable. Évalué à 3.

    I want to point out one more thing in this simulation: Even with redistribution, the wealthiest person in the game is exponentially richer than the poorest.

    Même avec ce mode de redistribution. Il n'en existe pas qu'un seul et je ne suis pas sûr qu'on les ai tous imaginé. De plus c'est exponentielle certes mais selon où l'on se situe sur une exponentielle les écarts ne sont pas les mêmes.

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll

  • [^] # Re: Et linuxfr ?

    Posté par  . En réponse au journal Tentative de partage de mon expérience, vécue depuis l'extérieur, des réseaux sociaux. Évalué à 2.

    Ce que je ne comprends pas vis à vis de linuxfr c'est que si je comprends bien tu es mal à l'aise de recevoir des messages qui ont plus un caractère publicitaire et qu'ils sont envoyés parce que tu compose une audience. Combien de dépêches, journaux ou liens entrent exactement dans ce principe et sont publiés avec cette idée ?

    https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll