jtremesay a écrit 321 commentaires

  • [^] # Re: détail synthaxique

    Posté par  (site web personnel) . En réponse au journal Mathsworld: the S-expressed shader language. Évalué à 2.

    Oui, ça se comprend qu'une/un seule/seul liste/ensemble donnée en argument foute le doute quand on fait une réunion ensembliste. Ici le mot utilisé dans un sens un peu différent.

    Tutafé. Ici, c’est une opération ensembliste sur les volumes passés en paramètre. À terme, il y aura aussi l’intersection et la différence. Avant, j’utilisai des opérateurs binaires. L’intention était plus claire mais la scène plus chiante à écrire :

    (union
      (union
        (sphere …)
        (sphere …))
      (union
        (sphere …)
        (sphere …)))
    
  • [^] # Re: CADQuery

    Posté par  (site web personnel) . En réponse au journal Mathsworld: the S-expressed shader language. Évalué à 3.

    Je connaissais OpenSCAD de nom, jamais joué avec.

  • [^] # Re: détail synthaxique

    Posté par  (site web personnel) . En réponse au journal Mathsworld: the S-expressed shader language. Évalué à 2.

    C'est comme ça qu'ils font en lisp, je n'ai pas cherché ầ étre innovant sur ce point là.

  • [^] # Re: Wolfenstein 3D

    Posté par  (site web personnel) . En réponse au journal Mathsworld: the S-expressed shader language. Évalué à 2.

    tutafé, je m'a trompé

  • [^] # Re: Ce ne sont pas les voiture qui tuent mais ceux qui les conduisent.

    Posté par  (site web personnel) . En réponse au lien These Stupid Trucks are Literally Killing Us. Évalué à 10.

    Percutés par des voitures, ces coureurs cyclistes témoignent

    Mention spéciale à ce connard qui a grillé le feu rouge et qui m’a percuté alors que je traversais sur le passage piéton/cycliste. Mais bon, il faut admettre qu’il avait une super excuse : "je ne vous ai pas vu, sinon je n’aurai pas grillé le feu"…

    Désolé pour le bruit, mais des années après, j’en ai encore gros.

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

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

    Et sinon y’a ce compilateur Common Lisp qui est intéressant parce qu’il compile vers LLVM et interopère très bien avec C++ (et donc il est en principe possible de génénrer du WASM depuis la sortie LLVM je suppose) :

    J'aime beaucoup ! Est-ce que tu sais si ça marcherai avec parenscript mentionné par le camarade Leirda< plus bas ? Je trouve leur gestion du dom très élégante !

  • [^] # Re: et parenscript ?

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

    N'ayant aucune connaissance des deux langages, et donc préjugés, et encore peu de code en scheme, si ça marche facilement et avec de bonne perfs, je dis pourquoi pas !

  • [^] # 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 :)