steph1978 a écrit 2965 commentaires

  • # sans PPCM, t'est cuit

    Posté par  . En réponse au message Advent of Code 2023, day 8. Évalué à 1.

    J'ai bien brûlé du CPU avant de comprendre qu'il fallait pas tout faire tourner en même temps mais juste calculer le nombre d'étapes de chaque fantôme puis de prendre leur PPCM.

    En 20 lignes de python:

    import sys
    from itertools import cycle
    from math import lcm
    
    I, _, *P = [l for l in sys.stdin.read().splitlines()]
    # BCN = (HFN, KFC)
    # 0123456789012345678
    P = {l[0:3]:(l[7:10],l[12:15]) for l in P}
    
    G = [p for p in P.keys() if p[2] == 'A']
    R = []
    for g in G:
        C = g
        N = 0
        for i in cycle(I):
            if C[2] == 'Z':
                break
            C = P[C][i == 'R']
            N += 1
        R.append(N)
    print(lcm(*R))
  • [^] # Re: Découpage d'intervalles en Python

    Posté par  . En réponse au message Advent of Code 2023 : Day 5. Évalué à 2. Dernière modification le 08 décembre 2023 à 16:09.

    Je te confirme.

    Après une partie 1 torchée en cinq minutes, j'ai eu la flemme d'écrire les algo d'intersection. J'avais laissé de côté.

    Puis j'ai quand même tenté en brute force (vraiment crassouille d'itérer sur une range de plusieurs millions). Mais en compilant le programme, réponse en 7 minutes.

    J'aurai fait ça à l'ouverture du challenge, j'aurai tapé le top 100 :D

  • # en mode brute, et c'est passé

    Posté par  . En réponse au message Advent of Code 2023, day 6. Évalué à 2. Dernière modification le 08 décembre 2023 à 16:02.

    j'ai énuméré toutes les unités de temps.

    import sys
    
    (t,r) = (int(sys.argv[1]), int(sys.argv[2]))
    
    print(
            # i : time of charging, between 0 and t
            # v = i # speed in m/s
            # d = v * (t-i)  # distance = speed * remaining time
            sum(i*(t-i) > r for i in range(t))
    )

    je pensais que ça allait coincer pour la partie 2, car ça sentait le gros chiffre pour exploser le cpu ou la mémoire.
    mais il n'est est rien.

  • [^] # Re: excusez ma naïveté

    Posté par  . En réponse au journal Périphérique d'authentification TOTP. Évalué à 4.

    donc son mobile poll une URL et si elle a un truc à envoyer c'est le mobile qui l'envoie.

    roo, malin

    faut rester sous le radar de l'opérateur parce que t'es pas sensé utiliser ton forfait pour un usage pro mais j'imagine que la barre de détection est haute.

  • [^] # Re: excusez ma naïveté

    Posté par  . En réponse au journal Périphérique d'authentification TOTP. Évalué à 4.

    pourquoi ne pas utiliser le bete 2FA par sms?

    parce qu'il faut donner son numéro de téléphone et moi, je veux pas.

    et pourquoi vouloir absolument un TOTP/appli mobile sur… des sites de développement?

    pour éviter de se faire voler son compte.

  • [^] # Re: horloge interne se dérègle

    Posté par  . En réponse au journal Périphérique d'authentification TOTP. Évalué à 4.

    Time sync Yes¹
    ¹ - Time synchronization is performed using one of the USB configuration tools. The expected time drift is between 1 and 30 seconds per year (depending on ambient temperature), and a periodic sync of the system clock may be required (i.e., every 1 or 2 years, depending on the drift tolerance of the authentication system).

    _

    Oui, le constructeur m'a sorti la même excuse,

    Tu veux dire qu'ils ont ajouté cette note après ton achat et ta réclamation ?

    Dans tous les cas, merci pour ton journal qui rappelle qu'il faut se méfier de ce qu'on peut acheter.

  • [^] # Re: Le bon token et le mauvais token

    Posté par  . En réponse au journal Périphérique d'authentification TOTP. Évalué à 3.

    Idem, c'est juste bien caché. On en parlait ici.

  • # horloge interne se dérègle

    Posté par  . En réponse au journal Périphérique d'authentification TOTP. Évalué à 7. Dernière modification le 03 décembre 2023 à 14:28.

    C'est le cas de toute horloge (non connectée au réseau).

    J'ai une Pebble que j'adore mais je ne m'en sers pas en mode connecté car je ne veux pas être enquiquiné par les notifications.
    Je dois néanmoins la connecter régulièrement pour qu'elle se recale. Je note un décalage après quelques semaines. En arrière qui plus est, ce qui est pénible car risque de mettre en retard. D'ailleurs Wikipedia mentionne un décalage d'environ 1s/jour.

    Or le TOTP tourne toutes les 30 secondes et les systèmes ont généralement une tolérance de quelques codes (quelque ~= 1). C'est pour ça que tu constate que seulement certains se dérèglent, c'est simplement qu'ils n'ont pas la même tolérance vis-à-vis des codes trop en retard ou trop en avance. Donc un appareil TOTP doit être remis à l'heure environ tous les 30 jours.

  • [^] # Re: Elm

    Posté par  . En réponse au lien Un langage de plus : Roc. Évalué à 2.

    C'est là que le typage intervient

    Prend la fonction map par exemple.

    map arg1 arg2

    Pas évident de savoir ce que son arg1 et arg2.

    Si je te donne le type de cette fonction

    map : (a -> b) -> List a -> List b

    Tu comprends que map prend une fonction qui transforme un a en b, l'applique à une liste de a pour faire une liste de b.

    Et ton IDE (moi j'utilise helix avec elm-language-server) va t'aider en te mettant un tooltip avec le type.

  • [^] # Re: debian

    Posté par  . En réponse au lien No Bing, no Edge, no upselling: De-crufted Windows 11 coming to Europe soon. Évalué à 2.

    Je vois l'idée.
    Pour ma part j'ai arrêté de faire du support ouinouin pour mes proches.
    Je trouve bien plus rentable pour eux et moi de les basculer sur linuxmint.

  • [^] # Re: Toujours comparer avec les patates

    Posté par  . En réponse au lien Les 1 % les plus riches émettent autant de gaz à effet de serre que les 66 % les plus pauvres. Évalué à 2.

    On a vraiment l'économie la plus fragile de l'histoire pour avoir aussi peur de la contrôler ?

    Tout à fait. Surtout que quand les entreprises ont été dans la mouise pendant la pandémie, elles n'ont pas refusée la manne publique au nom du quoi qu'il en coûte.

  • # moi aussi j'ai rien compris

    Posté par  . En réponse au lien Free n'a rien compris : son agence de publicité appelle au vandalisme de Wikipédia. Évalué à 2.

    Reef c'est Free ? ou c'est de blagueurs qui n'ont rien à voir avec Iliad ?

  • # debian

    Posté par  . En réponse au lien No Bing, no Edge, no upselling: De-crufted Windows 11 coming to Europe soon. Évalué à 10.

    Moi aussi j'ai "decrufted" mon windows, au point d'enlever l'OS et de mettre une Debian.

    Entièrement satisfait !

  • [^] # Re: Elm

    Posté par  . En réponse au lien Un langage de plus : Roc. Évalué à 2.

    Pour compléter la réponse de Andréas,

    Si je prends le hello world de Elm

    module Main exposing (..)
    
    import Html exposing (text)
    
    
    main =
        text "hello world"

    Le compilateur génère - après optimisation - un fichier JS de 17ko qui embarque le runtime et le code applicatif transformé en JS.

    [3590 lines omitted]
    var $elm$json$Json$Decode$map = _Json_map1;
    var $elm$json$Json$Decode$map2 = _Json_map2;
    var $elm$json$Json$Decode$succeed = _Json_succeed;
    var $elm$virtual_dom$VirtualDom$toHandlerInt = function (handler) {
            switch (handler.$) {
                    case 0:
                            return 0;
                    case 1:
                            return 1;
                    case 2:
                            return 2;
                    default:
                            return 3;
            }
    };
    var $elm$virtual_dom$VirtualDom$text = _VirtualDom_text;
    var $elm$html$Html$text = $elm$virtual_dom$VirtualDom$text;
    var $author$project$Main$main = $elm$html$Html$text('hello world');

    Et cela s'intègre dans une page HTML comme ceci :

    <!DOCTYPE HTML>
    <html>
    <head>
      <meta charset="UTF-8">
      <title>Main</title>
      <style>body { padding: 0; margin: 0; }</style>
      <script src="elm.js"></script>
    </head>
    <body>
    <div id="elm"></div>
    <script>Elm.Main.init({ node: document.getElementById("elm") });</script>
    </body>
    </html>
  • [^] # Re: Elm

    Posté par  . En réponse au lien Un langage de plus : Roc. Évalué à 3.

    Par contre, le code Elm n'est pas compatible Node.js,

    Exact. Je crois que cela fonctionnait sur les version avant la 0.19 mais je ne faisais pas de Elm à l'époque. Et il était alors possible de faire du backend en Elm. Pour simplifier encore plus le langage et son usage, le BDFL a décidé de supprimer cette possibilité. Et c'est ce manque que veut tenter de combler Roc.

  • [^] # Re: Elm

    Posté par  . En réponse au lien Un langage de plus : Roc. Évalué à 6.

    On peut douter de la capacité d'elm a tuer js, mais ce qu'il apporte me parait indéniable.

    Tout à fait d'accord. JS a un énorme écosystème et énormément de pratiquants, il ne sera pas remplacé de sitôt. Et ELM ne sait pas tout faire. Mais pour tout ce que ELM sait faire : réagir à des événements pour transformer un modèle et en faire un rendu DOM, c'est du bonheur. Et la communauté est top.

    J'ai hâte d'expérimenter ce qu'est capable de faire Roc.

  • [^] # Re: Utile pour certains services, mais loin d'être au niveau de Firefox

    Posté par  . En réponse au lien Google Chromium – Le diable est dans les détails et ce projet les élimine (Korben). Évalué à 3.

    J'ai exactement le même usage : un profile FF aux petits ognons affiné depuis deux décennies, si ça passe pas un profile FF plus tolérant mais que je nettoie après ; si ça passe pas, j'enrage et le lance un chromium que je nettoie après.

    À part cet usage, lié au lobbying/marketing de google, je ne vois d'ailleurs pas l'intérêt de Chrome(-ium).

  • [^] # Re: Toujours comparer avec les patates

    Posté par  . En réponse au lien Les 1 % les plus riches émettent autant de gaz à effet de serre que les 66 % les plus pauvres. Évalué à 6.

    pour en être convaincu ?

    On peut en tout cas facilement être convaincu du contraire : les patates étant un aliment économiquement accessible, on peut émettre l'hypothèse que 99% des pauvres mangent plus que 99% des patates produites ne laissant ainsi au 1% les plus riches moins de 1% des patates. Heureusement qu'ils peuvent se rattraper sur le caviar.

    Cela dit, je ne vois pas le rapport avec la choucroute si ce n'est qu'il y a aussi des patates.

  • [^] # Re: complément

    Posté par  . En réponse au lien Privacy is Priceless, but Signal is Expensive. Évalué à -1. Dernière modification le 17 novembre 2023 à 10:24.

    Et quel est l'intérêt de vouloir absolument récupérer le numéro de téléphone de l'utilisateur ?

    Je croyais d'ailleurs que Signal avait travaillé à permettre de créer un compte sans numéro de téléphone.

    Sinon, en quoi est-ce bien différent d'un service propriétaire style Telegram ?

  • [^] # Re: complément

    Posté par  . En réponse au lien Privacy is Priceless, but Signal is Expensive. Évalué à 1. Dernière modification le 17 novembre 2023 à 08:43.

    We use third-party services to send a registration code via SMS or voice call in order to verify that the person in possession of a given phone number actually intended to sign up for a Signal account.
    […]
    We use third-party services to send a registration code via SMS or voice call in order to verify that the person in possession of a given phone number actually intended to sign up for a Signal account.

    Remplacent le SMS/Phonecall par TOTP et ils économisent $6M.

    À votre service.

  • [^] # Re: Résumé

    Posté par  . En réponse au lien En Espagne, “Adolescence sans mobile” un mouvement spontané et suivi. Évalué à 7.

    retard à prévoir dans l'usage d'outils modernes.
    je plaindrai surtout les 5% des 15-18 qui n'ont pas de smartphone
    gros retard dans la vie pratique qui aura des impacts négatifs sur leur vie

    Je souhaite que ce soit du second degré mais je crains que non.

    Un smartphone sortie de sa boîte est un simple outil de consommation de masse.
    Cela n'apporte rien dans le développement des compétences d'une personne.
    Passer 1h30 par jour devant tiktok apporte quoi dans la vie pratique ?!

    Si c'est pour apprendre à utiliser un écran tactile, il suffit de leur faire acheter des billets de train sur une borne SNCF, ça devrait les amener en une session au niveau d'un utilisateur tiktok.

    Si c'est pour apprendre ce qu'est un ordinateur, apprendre le dev, comprendre les enjeux de vie privée ou d'écologie, cela passe par l'éducation pas par l'achat d'un device hors de prix.

    C'est un peu comme dire mettez vos gosses devant la TV sinon ils seront largué sur la compréhension du rayonnement électro-magnétique ou sur des compétences essentiels des métiers de l'audio visuel.

  • [^] # Re: Résumé

    Posté par  . En réponse au lien En Espagne, “Adolescence sans mobile” un mouvement spontané et suivi. Évalué à 1.

    Si il faut donner l'exemple en tant que parent en plus, on s'en sort pas :D

    Je plaisante et je note la pratique, ça me servira plus tard.

  • [^] # Re: Licenciement et IA

    Posté par  . En réponse au lien FAQ: pourquoi ils embauchent pour virer? l'IA aux USA? etc. Évalué à 9.

    J'avais lu des témoignages d'ingé sortant de GAFAM qui disaient ne rien glander de la semaine et être payé 400k$/an.

    Ne rien faire de la semaine, je pense que en effet, ça se remplace facilement par une IA :)

    À l'autre bout du spectre, elon a montré qu'en licenciant deux tiers des ingé d'une boite, on en vire forcément un ou deux qui faisaient tourner la boutique et qu'ainsi tout part en kawet.

  • [^] # Re: caractéristiques d'un langage qui dure

    Posté par  . En réponse au lien Hare : un langage pour les 100 ans à venir. Évalué à 1. Dernière modification le 13 novembre 2023 à 22:43.

    comme une satire et tu trouve injurieux que je dise que c'est n'importe quoi ?

    Satirique ne veut pas dire faux.

    CSS est Turing complete

    Il ne faut pas lire que le titre. "CSS + l’interaction utilisateur" est turing complete.

    C'est une affirmation qui ne tiens que sur ton avis

    Idem l'affirmation inverse ne tient que sur ton avis. On part quand même de toi qui soutient que dire que Awk est un GPL est du même niveau que dire que les pyramides ont été construites par des extra-terrestre et moi qui dit que l'une et l'autre des hypothèses sont semblable.

    Ta véhémence semble aller de paire avec l'absence d'éléments concrets.

  • [^] # Re: caractéristiques d'un langage qui dure

    Posté par  . En réponse au lien Hare : un langage pour les 100 ans à venir. Évalué à 1.

    Évoquer l'hypothèse zéro pour soutenir ton propos, ça score pas mal en terme de mauvaise foi.

    On ne parle pas de la construction de pyramide il y a cinq mille ans mais d'un langage dont tu peux toi même trouver des exemples sur internet et pour t'y aider, un gars a écrit un doom like en awk. Et il n'a pas été enlevé par des bonshommes verts.

    Même si mon commentaire sur Go tient plus de la satire, il est du même acabit que ta comparaison avec CSS (qui plus est fausse).

    Dire que AWK est un GPL est tout aussi valable que de dire que c'est un DSL donc c'est avant tout une question de point de vue et c'est le mien.