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 :
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.
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 !
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 !
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.
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(vector3000); View port (vector3111)); The root node (union(list ; The floor(sphere(vector30-50010)5000(material(color110)1000)); Red sphere (sphere(vector30-13)1(material(color100)500)); Blue sphere(sphere(vector3204)1(material(color001)500)); Green sphere(sphere(vector3-204)1(material(color010)10)))); The lights(list ; An ambiant light(ambiant0.2); An omnidirectional light(omnidirectional0.6(vector3210)); A directional light(directional0.2(vector3144))))
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.
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 :)
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
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 :
fromdjango.shortcutsimportrenderimportjavascriptimportrandomdefscatter_svg_view(request):# Generate some pointspoints=[{"x":random.gauss(0.5,0.3),"y":random.gauss(0.5,0.2)}for_inrange(800)]# Da JS partjs="points = "+str(points)+"\n"js+="""\const jsdom = await import("jsdom")const d3 = await import("d3")// Create the SVG nodeconst 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 backgroundsvg.append("rect",) .attr("width", 800) .attr("height", 600) .attr("fill", "magenta")// Draw the pointssvg.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 JSsvg=javascript.eval_js(js)# Render the final page returnrender(request,"chartpdf/scatter.html",{"svg":svg})
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.
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.
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
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: détail synthaxique
Posté par jtremesay (site web personnel) . En réponse au journal Mathsworld: the S-expressed shader language. Évalué à 2.
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 :
[^] # Re: CADQuery
Posté par jtremesay (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 jtremesay (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 jtremesay (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 jtremesay (site web personnel) . En réponse au lien These Stupid Trucks are Literally Killing Us. Évalué à 10.
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 jtremesay (site web personnel) . En réponse au journal LIPS : Lisp dans le navigateur. Évalué à 2.
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 jtremesay (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 jtremesay (site web personnel) . En réponse au journal LIPS : Lisp dans le navigateur. Évalué à 2.
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.
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 jtremesay (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 :
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 jtremesay (site web personnel) . En réponse au journal Pull git. Évalué à 4. Dernière modification le 10 février 2023 à 02:43.
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 jtremesay (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.
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 jtremesay (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 jtremesay (site web personnel) . En réponse au lien JSPyBridge - utiliser des bibliothèques JavaScript en Python. Évalué à 5.
Ç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 jtremesay (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 :
Le template
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 jtremesay (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 jtremesay (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 jtremesay (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 jtremesay (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 jtremesay (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 jtremesay (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 3.
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 as des recommendations ? La seule que je connais est spacemacs.
[^] # Re: Kate
Posté par jtremesay (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 jtremesay (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 jtremesay (site web personnel) . En réponse au journal VSCodium & support python : pyright. Évalué à 3.
J'ai pas vu / j'ai oublié :-/
Il faudra que j'aile voir ça. Ça fait des années que je ne l'ai pas lancé !
[^] # Re: Include c
Posté par jtremesay (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 jtremesay (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.
Ça m’a beaucoup plu et j’espère que tu continueras à partager des choses qui te plaisent :)