Letho a écrit 328 commentaires

  • [^] # Re: Vidéo

    Posté par  . En réponse au journal Wordle is the new TapTempo. Évalué à 3.

    Et en français, l'excellente vidéo de Science Étonnante :

    JE CRAQUE WORDLE ! 🟩⬛🟨⬛🟨 (grâce aux maths)

  • [^] # Re: Orbital?

    Posté par  . En réponse au journal Desktop : enfin du choix, enfin un langage de programmation sérieux. Évalué à 2.

    C'est ce que propose Compose en Kotlin. C'est assez génial à utiliser, et en ce qui me concerne je l'ai déjà adopté pour le dev Android. Et il y a un support multi-plateforme.

    Je rêverais de pouvoir faire du GTK4 de cette façon.

    https://developer.android.com/jetpack/compose
    https://www.jetbrains.com/lp/compose-mpp/

  • [^] # Re: Autres tentatives avortées

    Posté par  . En réponse au sondage Mon adaptation de Dune préférée. Évalué à 6.

    À propos de l'adaptation (avortée) de Jodorowsky, il faut absolument voir cet extraordinaire documentaire :

    Jodorowsky's Dune (2016)
    https://www.allocine.fr/film/fichefilm_gen_cfilm=220938.html

  • [^] # Re: Lapin compris

    Posté par  . En réponse au journal Letlang, encore un nouveau langage de programmation. Évalué à 2.

    Merci (sincèrement).

    Je suis développeur, mais ne suis pas passé par une école d'ingénieur. Je touche assez rapidement à mes limites quand il s'agit de mathématiques – ce qui est d'autant plus frustrant que je trouve cela passionnant.

    Je viens de me trouver un cours sur ZFC, je vais aller potasser cela ;)

  • [^] # Re: Lapin compris

    Posté par  . En réponse au journal Letlang, encore un nouveau langage de programmation. Évalué à 1.

    Pardon, il fallait lire if (x = 3) ## false sur la dernière ligne. Si un gentil modo passait dans le coin ;)

  • [^] # Re: Lapin compris

    Posté par  . En réponse au journal Letlang, encore un nouveau langage de programmation. Évalué à 1. Dernière modification le 08 janvier 2022 à 13:51.

    Je dis peut-être une bêtise, mais ne pourrait-on pas considérer qu'une variable représente l'ensemble des valeurs possibles selon les contraintes définies ?

    Définir x := 2 reviendrait à affecter à x le singleton { 2 }.

    L'opérateur = ne serait alors que du sucre syntaxique pour les ensembles à un seul élément : pour une variable x représentant un singleton et une valeur n, x = n serait équivalent à n in x.

    Et l'on pourrait réécrire le code ci-dessus de cette façon :

    let x: int
    
    if (3 in x) ## true
    
    if (3 = x) ## false
    
  • [^] # Re: Génial

    Posté par  . En réponse au journal Une boite à meuh qui fait pas "meuh". Évalué à 4.

    À vrai dire, le seul logiciel à télécharger est Android Studio. C'est lui qui s'occupe de manager les SDKs, l'émulateur, etc. Ce n'est pas tout léger, j'en conviens. Mais c'est à mon sens un outil efficace, et même plutôt agréable une fois qu'on a pris le temps de le connaître un peu.

    Et non, pas besoin du moindre compte Google (ni de quelque compte que ce soit) pour développer une application, encore heureux. Par contre, si tu veux qu'elle soit disponible sur le Play Store, il te faudra effectivement un compte développeur Google. Mais rien n'empêche de fournir ton logiciel sur un store alternatif, ou encore directement sous forme d'apk.

  • [^] # Re: Représentation de Windows...

    Posté par  . En réponse au journal Dual OSchool Free Software Pack. Évalué à 5.

    Je m'avance sans doute, mais quand j'ai lu « réinsertion », « adulte », et « coupé du monde », j'ai tout de suite pensé à de la réinsertion de prisonniers.

    Si tel était le cas, l'image du boulet serait peut-être un peu limite ;)

  • [^] # Re: We need more

    Posté par  . En réponse au journal opensara: un nouveau jeu libre. Évalué à 1.

    Je m'auto-corrige. Il ne s'agit pas de

    const Receiver<MyProtocol> receiver = {
        onSomeMessage: (payload) => {
            console.log(payload);
            return true;
        }
    }

    Mais plutôt de :

    const receiver: Receiver<MyProtocol> = {
        onSomeMessage: (payload) => {
            console.log(payload);
            return true;
        }
    }

    Si un gentil modo passait par ici ;)

  • [^] # Re: We need more

    Posté par  . En réponse au journal opensara: un nouveau jeu libre. Évalué à 2. Dernière modification le 15 octobre 2021 à 16:22.

    Les types somme sont représentables en Kotlin via les sealed classes :

    // Dans le même fichier
    sealed class Player()
    
    class Warrior(var strength: Int): Player()
    class Wizard(var mana: Int): Player()
    
    // Pattern matching exhaustif
    when (player) {
        is Warrior -> player.strength
        is Wizard -> player.mana
    }

    Après, j'en conviens, c'est peut-être un chouïa moins élégant qu'en TypeScript :

    type Warrior = { strength: number };
    type Wizard = { mana: number };
    type Player = Warrior | Wizard;

    De façon plus générale, et bien qu'étant plus habitué au typage nominal, je trouve incroyablement expressif le typage structurel de TypeScript (je pense entre autres à toi, keyof) ; on a pu faire des choses vraiment sympas avec. Du genre :

    type MyProtocol = {
        someMessage: {
            payload: string,
            response: boolean,
        }
    }
    
    const receiver: Receiver<MyProtocol> = {
        onSomeMessage: (payload) => {
            console.log(payload);
            return true;
        }
    }

    Cela peut paraître tout bête, mais je trouve chouette de pouvoir exprimer le fait qu'une structure prenant en charge MyProtocol doive implémenter des handlers de la forme onLeNomDuMessage. Avec bien sûr la vérification des types d'entrée et de sortie.

  • # Code

    Posté par  . En réponse au journal Livre pour expliquer l'architecture informatique aux enfants. Évalué à 3.

    J'avais adoré Code de Charles Petzold, et je le recommande à quiconque veut en savoir plus sur le fonctionnement d'un ordinateur. Mais bien que ce soit un livre extrêmement didactique, j'ai peur que ce ton neveu ne soit tout de même un peu jeune. Et je ne suis même pas certain qu'il soit traduit en français. :/

  • [^] # Re: Et merde

    Posté par  . En réponse au journal Belmondo bronsonisé. Évalué à 4.

    Et ces répliques ciselés…

    « C'est pas l'alcool qui me manque, c'est l'ivresse. »

  • [^] # Re: Ca permet aussi de discuter avec les enfants une fois plus grand

    Posté par  . En réponse au journal Une famille, c'est un papa + une maman 🙈 🙉 🙊. Évalué à 5.

    C'est malin, tiens. Cette image m'a fait penser au drapeau de l'île de Man. Je me retrouve donc piégé sur Wikipédia, en train de lire un article sur le mouton Loaghtan.

    Je ne te remercie pas.

  • [^] # Re: @

    Posté par  . En réponse au journal Ma cl@sse virtuelle. Évalué à 10. Dernière modification le 06 juillet 2021 à 13:13.

    Avec un doigt de modernité, ils auraient parlé de cl@sse digit@le.

  • # Plots

    Posté par  . En réponse au journal Calculatrice graphique?. Évalué à 5.

    Pour visualiser très rapidement une courbe, juste en tapant la formule, il m'arrive d'utiliser Plots. Simple, voire simpliste. Mais ça marche plutôt bien.

    Bon, c'est une application Gnome. ;)

    https://github.com/alexhuntley/Plots

    Installable facilement via Flathub, sinon il y a des paquets Ubuntu, Debian et AUR pour Archlinux.

  • [^] # Re: Docker

    Posté par  . En réponse à la dépêche bunkerized-nginx - Sécurisez facilement et sans tracas vos services web. Évalué à 4.

    Idem. Et pourtant j'aime beaucoup Docker (et surtout Podman). Je préfère garder une distinction entre la partie « infra » (une bonne vieille CentOS des familles, Nginx en reverse-proxy, etc), que je vais pouvoir configurer facilement, et les applications déployées pour les clients qui elles le sont sous forme de containers.

  • [^] # Re: Proton

    Posté par  . En réponse au journal Battle royal et adolescence…. Évalué à 4.

    Je plusssoie énergiquement, et la liste de compatibilité ne fait que grandir.
    Cela peut demander des réglages manuels pour certains jeux (i.e. si les joueurs sont les enfants, il faudra leur préconfigurer le tout).

    Je suis joueur (très) occasionnel, mais je dois dire que je trouve proprement renversante l'évolution récente de la compatibilité des jeux avec Linux. Grand merci à Proton et DXVK. Dans l'ensemble, je n'ai plus l'impression de parfois me « priver » comme cela pouvait être le cas il y a encore quelques années.

    Je vous laisse, je retourne à Final Fantasy XIV ;)

    https://www.protondb.com/

  • [^] # Re: J'aime beaucoup Markdown

    Posté par  . En réponse au journal générer des cours en Markdown avec Mkdocs-et. Évalué à 1.

    Cela vaut aussi pour des profils plus techniques : j'aime bien LaTeX, mais pour rédiger mes cours, je ne saurais me passer de Markdown et Pandoc.

    Ajoute à ça un éditeur distraction-free comme Apostrophe, c'est vraiment le pied.

  • [^] # Re: résumé

    Posté par  . En réponse au journal La pétition anti Stallman, anti FSF, anti GPL. Évalué à 5. Dernière modification le 29 mars 2021 à 13:42.

    Idem.

    Même si un exemple ne fait pas démonstration, je me souviens qu'à la glorieuse époque de Compiz/Beryl, Quinn Storm, qui était contributrice principale de ce dernier, se définissait comme transgenre et lesbienne, et que personne ne semblait s'en offusquer. Ce qui importait, c'était le code.

    Après, c'est lointain un souvenir, et peut-être ai-je un biais de perception. Et je ne suis pas assez vieux pour avoir connu les prémices du logiciel libre (j'ai commencé Linux avec une RedHat 5.2, je devais avoir 11 ans).

  • [^] # Re: Contre lettre

    Posté par  . En réponse au journal RMS et la FSF. Évalué à 5.

    Au contraire, c'est à mon sens un cas où ce que préconise Popper ne s'applique pas.

    « Je ne veux pas dire par là qu’il faille toujours empêcher l’expression de théories intolérantes. Tant qu’il est possible de les contrer par des arguments logiques et de les contenir avec l’aide de l’opinion publique, on aurait tort de les interdire. Mais il faut revendiquer le droit de le faire, même par la force si cela devient nécessaire, car il se peut fort bien que les tenants de ces théories se refusent à toute discussion logique et ne répondent aux arguments que par la violence. Il faudrait alors considérer que, ce faisant, ils se placent hors la loi et que l’incitation à l’intolérance est criminelle au même titre que l’incitation au meurtre, par exemple. »

    On peut encore une fois ne pas apprécier les dires de Stallman. Mais c'est quelqu'un qui fonctionne sur un mode purement logique, et avec une franchise absolue. Ce qui peut j'en conviens donner l'impression d'un manque d'empathie de sa part, mais c'est hors propos ici :

    • il ne se refuse pas aux discussions logiques ;
    • il ne répond pas aux arguments par la violence.

    Je précise au passage que Popper était un libéral, attaché à la notion de libre expression. La limite qu'il pose à cette dernière au bénéfice du bien commun est à ce titre particulièrement cadrée, et plutôt d'ordre légaliste.

    Donc sans porter de jugement sur la situation Stallman/FSF, non, je ne pense pas qu'évoquer Popper soit adapté ici. Et je trouve qu'on l'évoque souvent à tort et à travers.

  • [^] # Re: Pourquoi ?

    Posté par  . En réponse au journal Appel à contribution pour un nouveau langage !. Évalué à 5. Dernière modification le 25 mars 2021 à 11:42.

    Je dirais qu'un nouveau langage peut se révéler pertinent s'il se révèle plus adapté que l'existant à certains cas d'usage.

    En tant que développeur, j'essaye d'utiliser les technos les plus adaptées à mon projet du moment. Par exemple, je ne suis pas très fan du développement front-end, mais je dois dire que React et Vue ont apporté beaucoup dans ce domaine. On parle pas mal en ce moment de Svelte, qui sans être un nouveau langage (c'est un transpileur pour des fichiers incluant du JavaScript, de l'HTML et du CSS), est à mon sens un (énorme) pas dans le bon sens, notamment avec SvelteKit.

    De la même façon, si je dois créer un système basé sur le CQRS et l'event-sourcing, je me dirigerais sans doute vers Elixir, parce que son modèle acteur s'adapte super bien à la notion d'agrégat.

    Pour moi, cette diversité me permet de ne pas avoir à me contenter d'un outil peut-être plus universel, mais moins adapté aux cas particuliers.

    Le truc, c'est que ces technologies, langages, frameworks, se nourrissent les uns des autres. Elm a apporté un pattern que tu retrouve dans React/Redux et Vue/Vuex. Les langages fonctionnels ont essaimé jusque dans Java, à partir de Java 8.

    Parfois, une technologie apparaît from scratch, en essayant soit d'apporter une vision, des patterns en rupture avec l'existant, soit au contraire en essayant d'être un syncrétisme de ce qui se fait de mieux.

    Sans ces tentatives, qui n'aboutissent pas toujours, je pense que l'évolution de nos outils serait bien plus lente. Donc, si l'utilité propre de nouveaux langages peut-être discutable, du point de vue de l'écosystème, le dynamisme apporté par ce foisonnement d'idées est à mon sens une raison largement suffisante :)

  • [^] # Re: Contre lettre

    Posté par  . En réponse au journal RMS et la FSF. Évalué à 1. Dernière modification le 25 mars 2021 à 10:58.

    Il faudrait aussi arrêter de faire dire n'importe quoi à Popper. Son paradoxe ne s'applique que dans le cas où l'on est face à des personnes :

    1. Refusant le dialogue rationnel
    2. Utilisant la force

    Dans les cas contraires, c'est la discussion qu'il faut utiliser, pas la censure.

    On peut ne pas être d'accord avec Stallman, mais son discours ne se place à mon avis certainement pas sur le champ de l'émotionnel. On peut donc y apporter des contre-arguments.

  • [^] # Re: Tu es une caricature du client chiant pour le plaisir sadique d'être chiant

    Posté par  . En réponse au journal Question : Ai-je le droit de refuser d'exécuter un logiciel ?. Évalué à 2.

    Je suis désolé, je souhaitais plusser, mais l'appendice maladroit qui me sert de pouce a ripé sur l'écran du téléphone 😑
    Merci pour billarchive en tout cas !

  • [^] # Re: Beaux documents

    Posté par  . En réponse au journal C'est foutu pour LibreOffice. Évalué à 1.

    Ils ne s'entendront jamais !

    C'est quand même dommage : VS Code avec l'extension Vim, c'est très chouette.

  • [^] # Re: JustPy

    Posté par  . En réponse à la dépêche Développer une interface web avec le toolkit Atlas (2/2). Évalué à 2.

    Je ne connais pas JustPy, mais cela semble comparable à Phoenix LiveView (Phoenix est un framework web pour Elixir). Le peu que j'en ai fait m'a pas mal bluffé, et la montée en charge ne semble pas poser de problème.

    Après, Elixir tournant sur BEAM, je pense que cela aide un peu (le modèle acteur est vraiment chouette), je ne sais pas ce qu'il en serait avec Python.

    https://www.phoenixframework.org/