raum_schiff a écrit 131 commentaires

  • [^] # Putsch ou guerre civile ?

    Posté par  . En réponse à la dépêche Annonce de Perl 7. Évalué à 10.

    Le changement de nom de P6 vers Raku semble autant voulu des deux côtés (pour des raisons différentes) afin d'éviter l’explosion en vol.

    La situation initiale était très toxique pour la communauté et la majorité des bonnes volontés de rapprochement des deux langages est venue des devs de Raku : Avec des portages ad-hoc de modules de Perl5 par Elizabeth Mattijsen et le module Inline::Perl5 (a noter qu’il y a aussi Inline::Python, mais c’est une autre histoire …).

    Le retour de la Perl Fondation a été inexistant même si elle a financé et continue de le faire les travaux d’optimisation de la VM de Raku; la communauté quant à elle s’est montrée inintéressée voire hostile dans sa majorité.

    Le changement de nom, IMHO à fait du bien aux deux parties, laissant certes Raku dans une position de faiblesse au niveau de ses ressources et de sa visibilité, mais a libéré des énergies qui auraient été gâchées par des querelles de chapelles. En optant pour un nouveau nom, Raku est sortit par la grande porte au niveau moral en laissant plus d’écho aux voix du changement dans la communauté Perl (Curtis Poe, Sawyer, et même Damian Conway).

    Si le passage à P7 paraît mineur (il l’est, je ne le nie pas), il ouvre le chemin vers des modifications plus profondes ; modifications que j’espère, mais si le camp des conservateurs l’emporte (Sawyer même si il semble jouer sur du velours, mise gros sur ce coup là) et cela ne résulte que d’un coup d’épée dans l’eau, seule la communauté de Perl aura à s’en mordre les doigts et Camelia (ça aurait pu être un nom sympa, soupirs …) n’aura pas à en souffrir.

    Pour en revenir à Raku, je pense aussi que c’est un excellent langage, compréhensible autant que compréhensif pour l’utilisateur qui offre la possibilité de produire du code clair (voir même naïf) pour des situations simples, et permet la complexification sans charge cognitive trop lourde.

    Note : si Larry semble maintenant plus s'intéresser à ces petits enfants, c’est tout à son honneur.
    Il a toujours insisté sur le côté humain du dev dans ses conférences, son attitude est donc linguistiquement autant pertinente que performative.

  • # Une bonne initiative

    Posté par  . En réponse à la dépêche Annonce de Perl 7. Évalué à 7.

    IMHO : Avoir utilisé le principe "feature guard" pour faire évoluer le langage tout en conservant une rétro-compatibilité ne pouvait pas durer éternellement.

    Ce principe appelait d’emblée à une mise à jour de Perl, car la rendait possible techniquement.

    Il ne manquait plus que la volonté "politique" (merci sawyerX) de faire le premier pas.

    Bien sûr, le plus dur dans cette migration sera le CPAN (dont l’automatisation a été proposée ici).
    Mais les mainteneurs de modules étant responsables de leur code, c’est bien à eux de déterminer ou non la migration à terme de leur modules dans la branche 7 : si en plus, l’équipe du core de Perl leur propose les outils nécessaires pour le faire, les dents vont moins grincer.

    Pour tout le code ≤ 5.8 sans flag strict et warnings qui tourne déjà sur des distrib pas upgradées depuis 10 ans il finira peu à peu dans des containers ou sera remplacé.

    A bien y réfléchir, la fenêtre de temps d’environ 9 mois entre le renommage de Perl6 en Raku a libéré les esprits, pour le mieux.

    Tous mes vœux de réussite aux prochaines versions de Perl (et Raku évidemment) !

  • # Raku au cas où

    Posté par  . En réponse à la dépêche Sortie de Perl 5.32.0. Évalué à 3.

    Pour de l'aide sur P6 => Raku :

    Sinon Elizabeth Mattijsen et Jonathan Worthington se feront un plaisir de répondre aux questions posées sur Raku.

    Sawyer X fera de même en temps que Pumpking de P5.

  • # Pour plus de détails

    Posté par  . En réponse au lien Sortie prochaine de Perl 7. Parce que.. Évalué à 1.

    Vidéo explicative pour les curieux, et les autres …

    • Pourquoi 7 en numéro de version
    • La compatibilité future 5/7
    • etc.

    https://www.youtube.com/watch?v=6wPMh-3qYJM&feature=youtu.be&t=2973

  • # Juste une marche ....

    Posté par  . En réponse au lien Sortie prochaine de Perl 7. Parce que.. Évalué à 2.

    Perl 7 is going to be Perl 5.32, with saner, more modern defaults.

    Citation : https://leanpub.com/preparing_for_perl7

    La prochaine marche "pourrait" être une révision de l'OO : https://github.com/Ovid/Cor/wiki

    à voir …

  • # (Outre) Passer l'interface de configuration

    Posté par  . En réponse au message Script - Automatiser la réponse à des questions.. Évalué à 5.

    La réponse se trouve peut-être par ici (pour Debian) : https://unix.stackexchange.com/questions/332909/update-upgrade-debian-and-skip-any-interactions

    La distrib va installer les paquets avec une config par défaut et/ou vide/minimale.

    Par contre ton script devra lui même éditer les fichiers de config avec les valeurs voulues suivant le prompt que tu donneras à l'utilisateur.

  • # Yep

    Posté par  . En réponse au lien Rien ne sera plus comme avant. Par Ploum. Évalué à 2.

    Merci !

  • [^] # Re: Cinq minutes ou une vie

    Posté par  . En réponse au lien Parce que les regex, ça va bien cinq minutes. Évalué à 1.

    Je vais m'auto-citer depuis ce post :

    l'exemple donné ne l'était qu'à son propre titre, dans le contexte des regex

    Donc cet exemple n'était pas "utile", mais démonstratif dans son concept.

    Pour parser des trucs plus complexes, si tu aimes yacc et/ou des grammaires BNF (avec des jolis pipes), libre à toi. Chacun utilise les outils qu'il veut même quand (note le point d'interrogation) on est con … non ?

    C'est étrange qu'on parle de regex, alors qu'une bonne compréhension du Français devrais suffire, mais bon les posts à la tl;dr avec réaction épidermique ça fatigue à la longue.

  • [^] # Re: Cinq minutes ou une vie

    Posté par  . En réponse au lien Parce que les regex, ça va bien cinq minutes. Évalué à 1. Dernière modification le 06 février 2020 à 17:27.

    Certes, dans le cas d'une date seule, il est plus facile d'utiliser les types natifs d'un langage et de les comparer avec la validité d'une entrée.

    > my $कामसूत्र = Date.new('0100-02-29');
    Day out of range. Is: 29, should be in 1..28
    
    

    Intéressant de savoir que l'année 100 a été bissextile, et qu'elle correspond à l'année de compilation des textes du कामसूत्र en Inde ….

    Mais, pour mémoire, le sujet initial était sur les regex et l'exemple donné ne l'était qu'à son propre titre, dans le contexte des regex où la logique vient après le match.

  • [^] # Re: Cinq minutes ou une vie

    Posté par  . En réponse au lien Parce que les regex, ça va bien cinq minutes. Évalué à 3.

    Le but d'une regex est de valider des formats d'entrés typographique, la logique vient après.

    Vu que comme le dit 'OP, "ça va bien cinq minutes" (et que midi approche) :

    • On peut aussi ajouter du code dans la regex
    • Ou faire un post-traitement sur l'ast résultant de la la grammaire

    Juste à titre d'exemple :

    grammar rdate {
        rule  TOP        { 
            <year> <separator> <month> <separator> <day>
            { self.check(self.year,self.month,self.day,self.separator) }
        }
        token separator           { '/' || '.' || '-' }
        token year                { '-'? <[0..9]> ** 4 }
        token month               { '0'<[0..9]> || '1'<[0..2]> }
        token day                 { '0'<[0..9]> || <[1..2]><[0..9]> || '3'<[0..1]> }
        method check($y,$m,$d,$s) {
            # Code de vérification ici
        }
    }
    
    class rdate-actions {
        # Code post-traitement ici.
    }
    

    La doc pour bien commencer est ici

    Bon app'

  • [^] # Re: Cinq minutes ou une vie

    Posté par  . En réponse au lien Parce que les regex, ça va bien cinq minutes. Évalué à 1.

    Non … c'est une typo, j'aurais dû faire partir la deuxième range de 0

    :-)

    Merci pour la correction.

  • # Cinq minutes ou une vie

    Posté par  . En réponse au lien Parce que les regex, ça va bien cinq minutes. Évalué à 2.

    Une bonne cheat sheet pour pcre.

    Merci pour le lien !

    Mais ces temps-ci j'écris ce genre de choses (https://ihateregex.io/expr/date) comme ça :

    grammar rdate {
        rule  TOP        { 
            <year> <separator>  <month> <separator> <day>
        }
        token separator  { '/' || '.' || '-' }
        token year       { <[0..9]> ** 4 }
        token month      { '0'<[0..9]> || '1'<[1..2]> }
        token day        { '0'<[0..9]> || <[1..2]><[0..9]> || '3'<[0..1]> }
    }
    
    

    Mais c'est une autre histoire, et je ------->[]

  • [^] # Re: Le ruissellement se fait vers le haut

    Posté par  . En réponse au lien En France, toujours plus de pauvres, les riches bien plus riches : ça ruisselle mais ça imbibe pas !. Évalué à 1.

    On réinvente la roue, car celle-ci semble mal tourner.

    L'aspect descriptif de l'économie posé par Adam Smith se traduit, IMHO, par une mauvaise interprétation performative de celle-ci par les acteurs majeurs de la pensée économique actuelle, qui l'on adopté comme invariant.

    "The Theory of Moral Sentiments" et "Nature and Causes of the Wealth of Nations" sont des ouvrages qui se veulent scientifiques à une époque où la séparation entre philosophie et sciences était à peine en train de se construire. Or si on parle de "Morale" et de "Richesse" on se doute de tout l'aspect performatif et politique que cela peut induire.

  • [^] # Re: Façon numérique

    Posté par  . En réponse au lien La grève façon numérique. Évalué à 4.

    Sauf qu'on peut légitimement penser que l'application de la loi la concernant à l'époque était une violation manifeste de l'État de droit américain et du concept des Droits de l'Homme.

    Du fait de la constitution américaine basée sur le système des Check and Balances, le moyen le plus rapide pour contraindre l'état d'Alabama à changer sa loi était de violer cette loi, donc de rentrer dans l'illégalité.

    La loi n'a rien avoir avec la démocratie et l'humanisme, elle est le reflet d'un type de gouvernance.

    Or, il n'y a rien de naturel ou d'évident à penser que ses revendications propres sont supérieures à celle des autres. Et donc à même de justifier une violation de la loi pour ça.

    "naturel" encore de l'essentialisation.
    Si la loi était naturelle, toute pensée hors de la loi serait hors nature.

  • [^] # Re: Façon numérique

    Posté par  . En réponse au lien La grève façon numérique. Évalué à 4.

    Il faut aussi respecter l'État de droit et la démocratie dans la procédure. Faire des actions sans bases légales ne vont pas dans ce sens. Sinon cela revient à penser que ses revendications sont d'un intérêt supérieur à celui des autres ce qui n'est pas une pensée humaniste.

    Attention à ne pas essentialiser le propos …

    Ce qui peu mener à penser que Rosa Parks n'a pas eu de pensée humaniste.

    La première phrase de la citation se suffit à elle même, la deuxième si je puis, dire est de "trop", car très orientée politiquement.

  • # ... C'est un blocage

    Posté par  . En réponse au lien La grève façon numérique. Évalué à 1.

    A en juger par les réactions de certains usagers de la plateforme dans l'article de mediapart:

    Dans le numérique, un blocage est plus efficace qu'une grève.

    A méditer.

  • # A tatons

    Posté par  . En réponse au message Question boucle. Évalué à 2.

    Pas besoin d'être grinçant, c'est bien read() qui pose "problème" ici.

    La doc de de python est peu claire sur la notion de curseur avec read() dans le module de base IO :

    https://docs.python.org/3/library/io.html?highlight=read#io.IOBase

    Rien n'y est indiqué sur un curseur à part que l'objet IO est un stream, cela peut donc prêter à confusion.

    Pis bon, lire un fichier x bytes à la fois avec while, c'est bien pour "optimiser" ou si on est pas sur de ce qu'il y a dans le fichier ou si on veut se la jouer "je viens du C".

    Sauf que open() propose une option de buffer qui optimise déjà la chose.

    Donc, si on veut JUSTE lire un fichier, avec une politique simple et stupide :
    On transforme f en liste, et fait une itération de celle-ci :

    with open('/usr/share/dict/french', 'r', 100) as f: 
        for line in list(f) :
            print(line, end="")
    

    … on peut même se passer de list(), python se charge de la transformation si il voit une boucle.

    La doc de python est touffue, très touffue, pour ne pas dire barbue; heureusement que son tutoriel l'est moins.

  • [^] # Re: J'aurai aimé...

    Posté par  . En réponse au journal Appel des travailleuses et travailleurs du numérique pour une autre réforme des retraites. Évalué à -1.

    PS : perso je suis contre les heures supplémentaires défiscalisées, mais suis bien conscient que pas mal de monde les adorent, à commencer par les plus pauvres, ha le masochisme…

    Ben oui tout le monde aime le fric et surtout ceux qui en ont le moins … "salauds de pauvres".

  • [^] # Re: pas sûr...

    Posté par  . En réponse au journal Appel des travailleuses et travailleurs du numérique pour une autre réforme des retraites. Évalué à 8.

    Pas de Python pas de retraite ?

  • [^] # Re: Et dire que...

    Posté par  . En réponse au journal Appel des travailleuses et travailleurs du numérique pour une autre réforme des retraites. Évalué à 9.

    Moi je milite pour tout le monde à 1 million par mois sans jamais bosser de sa vie, et j'ai autant de démonstration que ça peut marcher que vous.
    A la course au populisme, on peut militer pour tout et n'importe quoi, autant y aller à fond.

    C'est le principe de base de l'actionnariat rentier, normal que les actionnaires soient des populistes car faire rêver les gueux ça aide à garder sa rente.

    Me donne presque envie te te plusser tout ça …

  • [^] # Re: NSI

    Posté par  . En réponse à la dépêche Apprentissage de la programmation dans les lycées (SNT/NSI) — la création d’exercices. Évalué à 1.

    Témoignage intéressant.

    La programmation abordée directement et essentiellement avec les math peut rebuter beaucoup d'élèves qui ne se destinent pas à cette filière, l'approche du prof est alors cruciale.

    Le fait que la seconde soit une période charnière du lycée fait que pas mal d'élèves se sentent déclassés. La réforme récente a ses bons côtés sur ce point, avec le système d'options qui permet une "pré-orientation" s'affirmant ensuite en première/terminale.

    Mais la réforme a tendance à surcharger les cours et faire courir les profs pour remplir l'emploi du temps de l'élève. Les deux se retrouvent alors à jongler avec des salles et des horaires comme si ils étaient à la fac (ex: mon fils a des cours le samedi en plus de la semaine, et son prof commute entre 2 lycées pour satisfaire le système d’options des classes à sa charge).

    Pour le sentiment de déclassement, en ce qui concerne mon fils, son lycée propose des cours de soutient en groupe restreint suivant les matières, ce qui l'aide beaucoup.

  • [^] # Re: Vu depuis la seconde

    Posté par  . En réponse à la dépêche Apprentissage de la programmation dans les lycées (SNT/NSI) — la création d’exercices. Évalué à 2.

    Il fait un ABIBAC si vous voulez tout savoir.

    Et c'est loin d'être orienté technologie et/ou économie et/ou science … il ne reste donc que la littérature.

  • # Vu depuis la seconde

    Posté par  . En réponse à la dépêche Apprentissage de la programmation dans les lycées (SNT/NSI) — la création d’exercices. Évalué à 9. Dernière modification le 24 novembre 2019 à 12:45.

    Ce témoignage vaut ce qu'il vaut, il n'a pas de visée universelle et ne reflète qu'une expérience personnelle basée sur le témoignage d'un ado de 16 ans qui a bien voulu répondre à mes questions sur son temps libre du dimanche:

    Mon fils est en seconde section littéraire, il fait du SNT avec son prof de math en utilisant : Thonny. La majorité de sa classe n'est ni portée sur les maths ni sur la programmation, et tous passent une partie de leur vie d'ado sur leurs smartphones.

    Ils n'ont eut que très peu de difficultés à prendre en main l'IDE pour le côté IHM; pour ce qui est de la programmation le début d'année a été assez dur, mais il n'y a pas eut de décrochage et les concepts de base (variable, liste, opérateurs logiques, etc…) ont été compris, pour les fonctions et la création/importation de modules, c'est une autre histoire, le prof s'en charge; mais bon … c'est une seconde littéraire et ce n'est pas ce qu'on leur demande.

    Les exercices restent basiques (chiffre de césar, équations simples), Le prof fournit un squelette et leur donne la partie de code sur laquelle ils doivent travailler.

    Même si la console python reste austère, les entrées et sorties de leurs scripts et le fait d'utiliser un éditeur de texte ne les choque pas.

    … Fin de la partie témoignage recueillit.

    Même si l'initiative d'edukt est louable, je me pose la question sur la problématique soulevée en début de journal sur le REPL dont "l'ergonomie laisse à désirer" et "l'image désuète renvoyée".

    L'éducation du SNT n'est IMHO pas là pour soutenir l'image de la technologie "véhiculée par les smartphones" (cette technologie est un métier en soi) mais de montrer la vérité derrière l'outil. Si l’élève veut ensuite orienter son parcours dans cette voie autant qu'il ne soit pas trompé sur la marchandise.

  • [^] # Re: [PROMO-INSIDE] On peut au moins sourire

    Posté par  . En réponse au journal Rigolons avec l'ascii. Évalué à 1.

    Oui, je sais, dans ce genre la :
    https://docs.postgresql.fr/12/sql-createcollation.html

    Avec la possibilité d'en écrire un dérivé avec cette API; ça je ne le savais pas :
    http://userguide.icu-project.org/collation/api

    Cela doit être loin d'une partie de rigolade, mais utile somme toute.

  • # [PROMO-INSIDE] On peut au moins sourire

    Posté par  . En réponse au journal Rigolons avec l'ascii. Évalué à 1.

    Comme l'ont fait remarquer beaucoup de posteurs c'est juste une question de classement arbitraire.

    Mais comment le changer ?

    C'est pas parfait mais ça le fait :

    https://docs.raku.org/routine/collate

    > <Ç c à C A Ù z ù>.collate
    (A à c C Ç ù Ù z)
    

    Il y a pour à cet effet une variable d'env "$*COLLATION" qui permet de changer le comportement de classement des graphèmes de la méthode.

    J'ai pas cherché dans d'autres langages, mais ça doit exister.

    Bon, tout ça pour ça, entre temps on a bien rigolé, non ?