jtremesay a écrit 364 commentaires

  • [^] # Re: Et pourquoi pas Web Assembly ?

    Posté par  (site web personnel) . En réponse au journal LIPS : Lisp dans le navigateur. Évalué à 2.

    Je n'y connais rien et j'ai sans doute mal compris ton besoin mais ma première réaction a été de me demander pourquoi ne pas utiliser Web Assembly ?

    ma réflexion a été "je veux lire des s-expr dans le navigateur", j'ai tapé "lisp in the browser" dans mon moteur de recherche préféré, et j'ai cliqué sur lips. Je n'ai pas poussé plus loin ma réflexion ou mes recherches :D

    Mais effectivement, ça peut-être une piste intéressante.

    Ou est-ce parce qu'il n'y pas pas encore de solution viable pour créer du WASM à partir de LISP ?

    Absolument aucune idée ! J'ai touché à lisp pour la première fois de ma vie cette semaine.

    Je suis en train d'écrire un raytracer. Actuellement, il est en rust, utilise sdl pour faire le rendu et les scènes sont décrites en YAML. Mon but est à terme de le faire tourner dans le navigateur pour que les gens puissent facilement jouer avec et faire des scènes avec des maths dans ce style. Et je trouvais que lisp faisait un format de donnée élégant pour intégrer la logique nécessaire à l'écriture de ce genre de scènes pleines de maths, plus flexible que yaml et plus simple d'approche que les shaders webgl.

    Donc là, à la base, je cherchais juste à lire une scène lisp depuis mon rust. Puis je me suis un peu égaré quand j'ai vu que je pouvais exécuter le lisp directement depuis le navigateur.

    Et ça remet plein de choses en question. Parce que en fait, j'aime bien lisp, et j'aimerai bien ré-écrire le moteur dans ce langage. Mais d'un autre côté, j'ai déjà une base de code fonctionnelle dans un langage que je maîtrise mieux et qui je sais supporte wasm.

  • # Pourquoi lisp dans le navigateur ?

    Posté par  (site web personnel) . En réponse au journal LIPS : Lisp dans le navigateur. Évalué à 4. Dernière modification le 04 mars 2023 à 21:31.

    Ben je trouve que ça fait un format super élégant pour déclarer les scènes à rendre avec mon raytraceur :

    (scene 
        ; The camera
        (camera 
            ; Position
            (vector3 0 0 0)
            ; View port 
            (vector3 1 1 1))
        ; The root node 
        (union (list 
            ; The floor
            (sphere 
                (vector3 0 -5001 0)
                5000
                (material 
                    (color 1 1 0)
                    1000))
            ; Red sphere 
            (sphere 
                (vector3 0 -1 3)
                1
                (material 
                    (color 1 0 0)
                    500)) 
            ; Blue sphere
            (sphere 
                (vector3 2 0 4)
                1
                (material 
                    (color 0 0 1)
                    500)) 
            ; Green sphere
            (sphere 
                (vector3 -2 0 4)
                1
                (material 
                    (color 0 1 0)
                    10)))) 
        ; The lights
        (list 
            ; An ambiant light
            (ambiant
                0.2) 
            ; An omnidirectional light
            (omnidirectional
                0.6
                (vector3 2 1 0)) 
             ; A directional light
            (directional
                0.2
                (vector3 1 4 4))))

    La possibilité de profiter de la puissance du langage pour faire de la génération procédurale facile de scènes est un énorme plus.

  • [^] # Re: La méthode Ysabeau

    Posté par  (site web personnel) . En réponse au journal Pull git. Évalué à 4. Dernière modification le 10 février 2023 à 02:43.

    C’est gentil de parler de la « méthode Ysabeau », merci :)

    Ben… C'est grâce à toi que que j'ai appris qu'on pouvait détourner un tableur pour l'utiliser pour ça. Tu voulais que j'appelle ça comment ? :)

    Je profite de ce commentaire pour te dire merci. Ça faisait longtemps que je voulais acheter une machine à coudre. Je n'avais pas franchi le pas par flemme, peur de faire de faire un achat qui prendrait finalement la poussière (coucou mon violon, mon nécessaire à peinture pour figurines, et beaucoup trop d'autres choses), et aussi un tout petit peu peur d'être jugé (un mec qui a une machine à coudre, non mais allo quoi). Pis tu as publié un journal. Je me suis rendu compte qu'à mon échelle je pouvais être vaguement utile à ma communauté dans cette situation avec au final assez peu d'implication de ma part. Nos discutions sur la tribune ont orientés mon choix (j'ai essentiellement retenu «fuir les électroniques au profit des mécaniques moins soumises à obsolescence programmée».). Et j'ai finalement décidé d'acheter une machine reconditionnée (Une HUSQVARNA VIKING® H|CLASS™ E20 pour les curieux).

    Depuis, j'ai fait des masques, réparé des vêtements, fait des conneries créatives pour expérimenter… Je suis particulièrement fier de mon protège capotes, mais c'est probablement parce que j'ai toujours 3 ans d'age mentale (extérieur, intérieur. Il n'est pas parfait, mais c'est mon premier exemplaire <3).

    Enfin bref, grâce toi à toi, j'ai finalement acheté une machine à coudre, et c'est cool. Merci :)

  • [^] # Re: La bourse ?

    Posté par  (site web personnel) . En réponse au lien Google Bard : l’IA se trompe et fait perdre 100 milliards de dollars à Google en bourse. Évalué à 5.

    C'est important de ne pas l'oublier, parce que je ne doute pas que ça remonte à un moment ou à un autre, donc tant que tout le monde ne vends pas, ç'est presque pas important (à mon avis).

    Pense à ces pauvres capitalistes qui transforment la valeur théorique de leurs actions en vraie monnaie en les laissant en garantie à la banque et qui devront donc laisser plus d’actions en garantie pour compenser la perte de valeur :’(

    Le phénomène est notamment expliqué par Gille de la chaîne Heu?reka ici

  • # La méthode Ysabeau

    Posté par  (site web personnel) . En réponse au journal Pull git. Évalué à 9. Dernière modification le 08 février 2023 à 09:50.

    Pour ceux qui préfèrent LibreOffice à GIMP, Ysabeau< avait partagé sa propre méthode pour créer des patrons.

    (oui, je sais, c’est pas le même but. Ysabeau cherche à faire ses propres designs là où tu proposes une aide à la conversion d’image vers patron)

  • [^] # Re: Générer des rapports PDF - la version over-engineered

    Posté par  (site web personnel) . En réponse au lien JSPyBridge - utiliser des bibliothèques JavaScript en Python. Évalué à 5.

    C'est pas vraiment un rendu côté backend

    Ça tombe bien, j’ai parlé de génération et non de rendu.

  • # Générer des rapports PDF - la version over-engineered

    Posté par  (site web personnel) . En réponse au lien JSPyBridge - utiliser des bibliothèques JavaScript en Python. Évalué à 4.

    Sur Windfit, on affiche plein de jolis graphes générés côté client avec d3js. Maintenant, on souhaite générer des rapports mensuels PDF pour les clients. Rapports qui contiendraient des jolies graphes. Sauf que les rapports seraient générés côtés backend (Python/Django) et que je n'ai absolument pas envie de re-implémenter les graphes dans une techno différentes. Du coup je cherche une solution pour réutiliser facilement nos super graphes JS côté backend.

    Ben avec JSPyBridge, j'ai réussi à faire un PoC presque pas dégueulasse :D

    Ma vue Django :

    from django.shortcuts import render
    import javascript
    import random
    
    def scatter_svg_view(request):
        # Generate some points
        points = [{
            "x": random.gauss(0.5, 0.3),
            "y": random.gauss(0.5, 0.2)
        } for _ in range(800)]
    
        # Da JS part
        js = "points = " + str(points) + "\n"
        js += """\
    const jsdom = await import("jsdom")
    const d3 = await import("d3")
    
    // Create the SVG node
    const dom = new jsdom.JSDOM(`<svg width="800" height="600"></svg>`);
    let svg = d3.select(dom.window.document).select("svg")
    svg.attr("viewBox", [0, 0, 800, 600])
    
    // Add debug background
    svg.append("rect",)
        .attr("width", 800)
        .attr("height", 600)
        .attr("fill", "magenta")
    
    // Draw the points
    svg.selectAll(".cf-point")
        .data(points)
        .join(enter => enter.append("circle"), update => update, exit => exit.remove())
        .attr("cx", p => p.x * 800)
        .attr("cy", p => p.y * 600)
        .attr("r", 4)
        .attr("fill", "green")
    
    return svg.node().outerHTML
        """
    
        # Generate the SVG by executing the JS
        svg = javascript.eval_js(js)
    
        # Render the final page 
        return render(request, "chartpdf/scatter.html", {"svg": svg})

    Le template

    <!DOCTYPE html>
    <html lang="en">
    
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    
    <body>
        {{ svg|safe }}
    </body>
    
    </html>

    Et pouf, j'ai une page contenant mon SVG généré par D3 mais côté backend.

    Et on me signale dans l'oreillette que je ferais mieux de me tourner directement vers nodejs pour ça pultôt que de passer par JSPyBridge.

  • [^] # Re: Linuxfr est devenu une page miroir de youtube.

    Posté par  (site web personnel) . En réponse au lien Painting a Landscape with Maths. Évalué à 3.

    son shader est disponible là
    https://www.shadertoy.com/view/4ttSWf

  • [^] # Re: Emacs

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 4.

    C’est pour ça que certains ont décidés de se passer d’OS et de directement faire tourner Emacs

    https://github.com/a-schaefers/systemE

  • [^] # Re: Emacs

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 3.

    Et c’est la raison pour laquelle j’avais préféré apprendre les rudiments de vim que de emacs à l’époque parce que je voulais juste éditer des fichiers de config dans la console.

    Mais maintenant que mon usage a évolué, ça pourrait valoir le coup que je me prenne la tête avec.

  • [^] # Re: Kate

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 1.

    aucune idée, je n’ai jamais utilisé ces choses là. Je préfère utiliser un gestionnaire de paquet qui me permet de gérer facilement l’ensemble que de gérer tout ça à la main.

  • [^] # Re: Un peu hors sujet : makefile et docker

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 2.

    c’est marrant, j’ai eu l’impression inverse.

    Earthly me parait plus simple et plus limité dans son expressivité, et je pense que j’aurais encore besoin de mon ./configure.py maison pour générer les earthfile.

    Alors que dagger couplé à devrait me permettre d’exprimer tous ce que je veux mais au prix d’un code plus complexe

  • [^] # Re: Emacs

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 3.

    Bref, il semble que tu cherches un truc comme VSCode, mais sans Microsoft, perenne, sans fioriture, interface customisable. Il me semble que ce que tu cherches, c'est Emacs.

    Je sais qu’emacs a tout ce que je demande et même plus, mais jusque là je n’ai pas réussi à l’aimer :-/

    Tu peux essayer de démarrer sur une distribution Emacs pour commencer, ca peut te faire gagner pas mal de temps pour commencer, et si tu es conquis tu pars d'une config from scratch que tu customises.

    Tu as des recommendations ? La seule que je connais est spacemacs.

  • [^] # Re: Kate

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 1.

    Il est pas disponible dans les dépots homebrew pour mac :(

  • [^] # Re: Un peu hors sujet : makefile et docker

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 2.

    Pour l'instant, je vais garder mon bricolage qui marche, mais je garde les liens sous le coude pour un réfacto futur.

  • [^] # Re: Kate

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 3.

    Tiens, cette question me dit quelque chose, je crois qu'elle est sortie il n'y a pas trop trop longtemps ici sur LinuxFr :-)

    J'ai pas vu / j'ai oublié :-/

    Kate a tout ça

    Il faudra que j'aile voir ça. Ça fait des années que je ne l'ai pas lancé !

  • [^] # Re: Include c

    Posté par  (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 2.

    Si, très probablement

  • [^] # Re: Linuxfr est devenu une page miroir de youtube.

    Posté par  (site web personnel) . En réponse au lien Painting a Landscape with Maths. Évalué à 3.

    J’ai pris le temps de regarder la vidéo. C’est vraiment cool de le voir construire le monde petit à petit de manière fluide.

    Ceci dit dlfp est mon seul réseau social. J'aime bien y partager les choses qui me plaisent avec l'espoir que cela plaise aussi aux autres moules.

    Ça m’a beaucoup plu et j’espère que tu continueras à partager des choses qui te plaisent :)

  • [^] # Re: Linuxfr est devenu une page miroir de youtube.

    Posté par  (site web personnel) . En réponse au lien Painting a Landscape with Maths. Évalué à 4.

    Quand je vois cette vidéo, je ne serai pas surpris qu’il fasse tout directement en shader. Du coup, il aurait juste besoin d’un contexte OpenGL et peut faire ça depuis n’importe quel outil. D’après mes tests, si les performances sont secondaires, un simple framebuffer suffit pour faire des images avec des maths.

  • [^] # Re: C'est pas exactement libre :/

    Posté par  (site web personnel) . En réponse au journal Pipedream : des workflows, des APIs et de la vitesse. Évalué à 4.

    De ce que je vois, il n’y pas encore la possibilité de faire de l’auto-hébergement (https://github.com/PipedreamHQ/pipedream/issues/954). Je n’ai pas creusé le code disponible, mais je pense que c’est juste le nécessaire pour construire les flots, pas les exécuter.

  • [^] # Re: licence libre != accès libre

    Posté par  (site web personnel) . En réponse au journal Liste des articles gratuits des Editions Diamond. Évalué à 5.

    Et tu as bien raison de chipoter. Mais je ne touche plus à ce journal, il est maudit.

  • [^] # Re: me suis trompé de bouton >_<

    Posté par  (site web personnel) . En réponse au journal Liste des articles gratuits des Editions Diamond. Évalué à 3.

    Et voila, corrigé !

  • [^] # Re: Merci

    Posté par  (site web personnel) . En réponse au journal Liste des articles gratuits des Editions Diamond. Évalué à 4.

    parfait !

  • [^] # Re: Merci

    Posté par  (site web personnel) . En réponse au journal Liste des articles gratuits des Editions Diamond. Évalué à 6.

    Je veux bien que vous éditiez le journal avec le contenu du commmentaire :

    • remplacer les liens du journal par ceux du commentaire
    • remplacer le script par celui du commentaire
    • supprimer le dit commentaire

    Merci d’avance et encore désolé d’être en boulet

  • [^] # Re: me suis trompé de bouton >_<

    Posté par  (site web personnel) . En réponse au journal Liste des articles gratuits des Editions Diamond. Évalué à 2.

    en fait, j'ai aussi foiré les liens… est-ce que vous pouvez simplement supprimer le journal ? j'en posterai une version correcte plus tard.