samedi 19 octobre 2024

Podman et GUI

Je cherche encore comment créer des environnements de travail séparés afin de coder avec un peu de tout, sans polluer ma machine, et en réduisant les risques de hack (je pense principalement aux nombreux dépôts plus ou moins sûrs utilisés par les gestionnaires de paquets modernes). J'aime bien Podman, qui me semble relativement simple et léger tout en fournissant une bonne isolation, mais encore faut-il se souvenir de l'incantation nécessaire. Voici donc ce qui semble marcher, et qui permet l'affichage de clients graphiques:

Tout d'abord, créer le conteneur:

podman run -i -t -v ~/.emacs:/root/.emacs -v /home/fred/prog/python:/src -v /dev/input:/dev/input --network host --env DISPLAY --security-opt label=type:container_runtime_t --privileged -d -ti --name monprojet debian:trixie /bin/sh

Ensuite, autoriser l'affichage, et ouvrir une console:

xhost +; podman exec --privileged -ti monprojet /bin/bash

Et voilà ! À présent, il n'y a plus qu'à installer les paquets requis et on peut commencer à coder !

mercredi 9 octobre 2024

Un moteur de jeu écrit en Ocaml

C'est ce type qui s'est lancé dans ce projet un peu fou : créer un moteur de jeu en OCaml. Étant fan d'OCaml et de moteurs de jeu, forcément, ça me parle. Et en plus le bougre décide d'implémenter un système de composant d'entitées !

Alors, malheureusement, c'est du stream, c'est donc pas très dense et je n'ai pas très envie de me taper 10 heures de vidéo pour saisir toutes les subtilités de son approche. Mais le tout début déjà me donne un bel aperçu ce que ce c'est de travailler avec du OCaml moderne, en utilisant au maximum OPAM et Dune. Je compte bien m'y mettre en dilettante un de ces quatre et voir ce que ça donne. Ça pourrait être également l'occasion de creuser un peu les nouveautés du langage autour de la programmation concurrente via les domaines.

La première étape, ça serait de porter mon control, parce qu'avec tous ces controlleurs de jeux sur et sous mon bureau, je n'ai qu'une envie, c'est de coder avec !

lundi 30 septembre 2024

No Man's Sky

Space geek devant l'éternel, j'avais suivi le drama autour du jeu No Man's Sky, la déception immense lors de sa sortie, puis sa rédemption lorsque le jeu a finalement réussi à livrer toutes ses promesses. Ayant vu qu'il était dans le Game Pass, je me suis décidé à l'installer et à le tester.

Pour ceux qui ne connaissent pas, No Man's Sky est un jeu d'exploration spatiale dans la lignée des Elite, où l'on incarne un explorateur aux commandes de son vaisseau spatial et où l'on peut se promener de planète en planète pour récolter des ressources, construire des bases, et tenter de résoudre un mystère qui sert de fil rouge tout le long du jeu.

L'on appréciera la partie création de base, très complète, et la grande quantité d'activités possibles qui, bien que classiques, sont gentiment fichues : exploration, minage, construction de bases, combat sur le sol ou dans l'espace (même si le combat n'est pas le but premier du jeu), commerce, mais aussi apprentissage des langues des diverses espèces intelligentes que l'on recontre. L'absence de transitions lorsque l'on passe de l'espace aux planètes est également appréciable, même si la partie pilotage ne pose aucun souci et garde un côté extrèmement arcade.

Il est cependant peu probable que cela devienne mon nouveau jeu préféré : il y a peu de défis liés à l'espace puisque le pilotage et la navigation sont triviaux, il y a des raccourcis de gameplay partout (il est possible d'appeler son vaisseau à n'importe quel endroit, on peut facilement installer des portails de téléportation) et le jeu n'échappe pas au grind puisqu'il faut pour avancer développer de nouvelles technologies gourmandes en ressources et qui donc nous envoient forcément explorer et récolter. J'espère avoir quand même le courage de construire une belle base sur une planète pas trop hostile.

jeudi 12 septembre 2024

Blender et noeuds de géométrie

Je tente doucement de rester à jour avec Blender, et en particulier avec les noeuds de géométrie. Cette fonctionnalité absolument géniale permet de construire des objets de manière procédurale avec un système de noeuds similaire aux noeuds de matériaux ou aux noeuds de composition. C'est de la programmation visuelle, et ça marche du tonnerre. La chaine BlenderDude propose toute une série de tutoriels pour utiliser les noeuds de géométrie, et j'ai commencé à m'attaquer à la modélisation d'une planète miniature.

Mais là, c'est dodo, alors je continuerai une prochaine fois. En attendant, j'ai plein d'idées pour utiliser à fond le concept !

dimanche 1 septembre 2024

Oeuf de canard - Retour à SDL

La bonne vieille bibliothèque SDL m'avait manqué. Tellement que j'avais raté que se préparait une version 3 ! Pas encore stable, j'ai préféré l'éviter pour le moment et me baser sur quelque chose de propre. Voici donc pour me remettre dans le bain un nouvel oeuf de canard pour réagir aux événements déclenchés par nos manettes. Signe des temps, je fournis maintenant une image Docker qui dérive d'une Debian Trixie et installe les dépendances nécéssaires. Normalement, il suffit de faire:

./refresh.sh # Créé l'image Docker et la démarre
./exec.sh # Execute un shell dans l'image Docker
cd /src 
./bootstrap.sh # Mise en place des Makefiles
make # Compilation
/buildb/bin/control # Test!

Petite surprise, je n'ai pas réussi à faire fonctionner le branchement à chaud des manettes : autant SDL détecte bien lorsque l'on débranche, l'inverse ne semble pas vrai. Je n'ai pas très envie de plonger dans le code de la SDL pour chercher si je l'utlise mal ou si c'est une limitation de l'implémentation Linux, donc tant pis, on fera sans.

lundi 15 juillet 2024

Mise à jour Ubuntu

Mais c'est qu'il y a une nouvelle LTS Ubuntu, et on ne m'avait rien dit ! C'est avec pas mal d'excitation que j'ai mis à jour ma 22.04 en 24.04, et que j'ai vu tout un tas de nouvelles fonctionalités dans mes logiciels. Pour le moment, le plus marquant, c'est GnuCash, qui a maintenant un petit menu contextuel pour l'auto-complétion, ce qui est rudement pratique. J'ai l'impression que les fontes ont changé également, généralement je trouve les menus plus lisibles. On a aussi un nouvel Emacs, ce qui est toujours agréable (tiens, il faudra que je vous parle de mes dernières découvertes Emacs, en particulier le mode eglot qui a vraiment changé ma vie). Seul chose qui me reste à faire, c'est de mettre à jour mes bases Postgres, sans tout pétér (parce que y'a justement mes comptes GnuCash là dessus !). Je m'en vais faire l'exégèse de la doc pour mettre toutes les chances de mon côté.

Conférence C++ On sea

J'ai passé un vendredi à la conférence C++ On Sea, c'était très sympa, même si la météo ce jour là était particulièrement excécrable et que je me suis fait bien saucer à l'aller (et un peu au retour).

Je parle un petit peu de la technique sur Linuxfr, mais j'ai vraiment apprécié l'ambiance, le côté geek et bon enfant, le bingo du C++ où chacun avait un petit papier avec les termes à cocher quand on les entendait lors d'une présentation. Le déjeuner était plutôt pas mal, et au retour on s'est fait des amis et on s'est retrouvé avec un bon groupe avec qui causer dans le train. À refaire, même si je sens une certaine réticence du côté de mon employeur à nous laisser trop profiter de ce genre d'événement sur le temps de travail.