13 mai 2022
sourceSi vous voulez tester si un serveur Kroki marche bien, c’est très cool. En revanche, le composant d’édition ne permet pas de récupérer le texte quand il devient long, donc méfiez-vous
12 mai 2022
sourceEnfin des slides qui donnent envie d’apprendre les langages fonctionnels en partant d’un prémice simple : ça ne sert à rien d’enseigner le concept de monade.
12 mai 2022
sourceDes illustrations open-source, aux couleur très vives (ça change). A mon avis très pratique pour toute une phase de préparation de projet
12 mai 2022
sourceJe suis tout à fait convaincu par cette citation, et ça m’incite à réfléchir à ma pratique professionnelle
12 mai 2022
sourceSi vous vous posez la question de répliquer votre base de prod dans une base de test "proprement", cet outil semble une piste intéressante.
12 mai 2022
sourceLa citation idéale pour démarrer n’importe quelle réunion d’architectes logiciels
12 mai 2022
sourceCa me fait réfléchir sur le fait que les IAs soient, par construction, conservatrices/réactionnaires …
10 mai 2022
source09 mai 2022
sourceUne librairie de consomation de server sent event basée sur okhttp (et ça, c’est vraiment cool)
09 mai 2022
sourceCe groupe m’étonne et me stupéfie toujours autant
06 mai 2022
sourceWow, Ca dénonce … Bon, en fait c’est vieux. Mais tristement d’actualité.
06 mai 2022
sourceEncore un micro-framework CSS. C’est cool !
06 mai 2022
sourceJ’aime bien cette approche, et cet article me paraît un retour d’expérience assez correct
05 mai 2022
sourceJe me dis régulièrement que je devrais un jour ou l’autre passer à Linux. Et en fait, Keepass est l’un des plus gros freins (parce que je veux une expérience de qualité). Cet article pourrait m’aider … (mais il faudra tester)
05 mai 2022
sourceEn lisant un autre article, je découvre que je peux intégrer Keepass comme gestionnaire de mot de passe pour mon navigateur 🤯
04 mai 2022
sourceEst-ce que vous saviez que git dispose d’un système de gestion de métadonnées ? Pourquoi ça m’intéresse ? Parce que ces histoires de conventionnal commit sont des métadonnées mal cachées dans le message de commit.
04 mai 2022
sourceAh donc ça va recommencer à sentir mauvais de bosser dans une entreprise de service en numérique ?
04 mai 2022
sourceSi vous voulez utiliser une version plus récente de FontAwesome dans vos documents Asciidoc, c’est une astuc eutile
01 mai 2022
sourceIl y a dans cette page quelques idées vraiment intéressantes.
01 mai 2022
sourceJ’ai beaucoup aimé cette série. Mais effectivement, elle est problématique pour de multiples raisons.
30 avril 2022
source30 avril 2022
sourceSi vous voulez relier le monde magique de mastodon à celui de Twitter, cet outil a l’air de faire le boulot
30 avril 2022
sourceAlors ça, en tant que développeur et citoyen, je suis pour !
30 avril 2022
sourceAprès Sex Criminals et Berserk, j'ai entamé une oeuvre à la couverture un peu mystérieuse.
Le comics est assez long et, honnêtement, j'ai beaucoup plus l'impression de lire un manga qu'autre chose. Mais de quoi ça parle ?
Monstress nous raconte l'histoire de Maika Demi-Loup, prise dans une guerre entre humains (et sorcières) et mutants issus d'anciens qu'on pourrait dire anthropomorphique (on trouve parmi ces anciens une louve, un renard, une femme aux bois de cerfs, des oiseaux). Et dans cette guerre, Maika va découvrir qu'elle porte en elle un dieu monstrueux issu d'une ancienne ère, que sa mère lui aurait attaché (les lecteurs me diront tous que chacune de ces phrases une simplification absolument outrancière de la complexité de cette oeuvre, et je serai bien d'accord, c'est toujours beaucoup plus compliqué que ça). En chemin, elle va s'entourer de quelques personnages pour ne pas mener de quête pour sauver le monde, ne pas non plus conduire l'un des camps à la bataille, ne pas non plus changer le monde. Mais ça, ça n'est même pas l'aspect le plus spectaculaire de cette histoire.
L'aspect le plus spectaculaire, c'est qu'à part deux exceptions notables, tous les personnages sont féminins. Ca n'a l'air de rien, mais dans un récit de guerre comme celui-là, voir des personnages féminins prendre les rôles de généraux méprisant la vie de leurs troupes, de scientifiques fous prêts à sacrifier des enfants, est un retournement des plus salutaires. Et pour le coup, ça ne change strictement rien aux enjeux du récit.
C'est tellement spectaculaire que ça cache peut-être les grandes qualités d'un récit qui est joliment dessiné (avec un usage intelligent des flous), dont le scénario est bien pensé pour toujours nous montrer Maika comme un monstre, à la fois à cause de sa cohabitation forcée, mais aussi à cause de son comportement de pur prédateur. Parce que dans cette galerie de femmes dangereuses, elle n'est pas la dernière à tuer des gens simplement parce qu'ils sont sur sa route. En fait, ça en fait peut-être l'un des personnages les plus mortellement dangereux que j'ai vu. Encore plus, sans doute, qu'Elric lui-même.
Autrement dit, lisez cette oeuvre, qui par ailleurs collectionne les prix Eisner. Au passage, l'oeuvre a reçu le prix "pour adolescents". Mais franchement, à moins que je ne fasse preuve d'une sensiblerie coupable, je ne comprends pas trop cette séparation adolescent/adulte.
29 avril 2022
sourceJe tombe sur cet article pas tout jeune dans lequel mon nom est cité. Et si je me souviens bien d’Utopod (qui a notamment diffusé une superbe nouvelle cannibale de Catherine Dufour), je n’ai aucun souvenir d’avoir écrit ça
29 avril 2022
sourceTrès très tenté de m’abonner, parce que j’aime beaucoup cette oeuvre.
29 avril 2022
sourceUne expérience poétique très intéressante pour de multiples raisons
29 avril 2022
sourceUne horloge dont les chiffres sont constitués de morceaux de Google Earth
29 avril 2022
sourceOui, c’est un gag, mais en en parlant ce matin avec certains collègues, je pense que ça peut être utile
29 avril 2022
sourceOn me parle de semantic release, et du fait d’utiliser conventionnal commit. Comme je suis un peu hostile aux conventionnal commits, je me dis qu’ajouter des notes à nos commits serait une belle façon de pouvoir définir le niveau de compatibilité du commit
29 avril 2022
sourceSpaceChem General Discussions]
Une belle collection de jeux de programmation, sur différents supports.
29 avril 2022
sourceOh mais il y a un wiki des jeux de programmation
29 avril 2022
sourceRobocode n’est pas mort ! Dès que j’ai fini mon bot d’échecs, je tente de m’y remettre pour tenter deux ou trois trucs
29 avril 2022
sourceTrès chouette matrice de décision pour choisir une base de données dans l’univers Amazon, semble-t-il
29 avril 2022
sourceL’être humain est sensible aux histoires … Et cette histoire le montre bien
29 avril 2022
sourceLa pire description de go que je puisse imaginer "you are living in the Plan 9 cinematic universe."
28 avril 2022
sourceJ’ai la douloureuse impression que ça pourrait répondre à un besoin (pour peu que je sois capable de piloter ça depuis maven)
28 avril 2022
sourceUn service … intéressant (et leur page de doc sur les différents clients AMQP est super complète
27 avril 2022
sourceC’est quand même un peu plus nuancé que "oh le con d’Elon" … Et ça porte une vision plus entrepreneuriale du truc que le caprice de milliardaire (même si l’objection du tarif monstrueux de l’achat reste valable)
27 avril 2022
sourceL’idée est vraiment chouette. Mais je crois qu’on a passé l’époque du terminal, non ?
27 avril 2022
sourceLes "IA" ne comprennent pas ce qu’elles manipulent …
25 avril 2022
source25 avril 2022
sourceCa fait toujours du bien de lire des choses positives sur notre pays (cette fois-ci, l’organisation électorale)
25 avril 2022
sourceUn repackaging différement optimisé des outils de compilation Rust améliorant évidement beaucoup les performances de compilation
23 avril 2022
sourceCa me rappelle une discussion récente avec mon beau-père …
23 avril 2022
sourceVraiment, les modules ont amélioré la sécurité 😅 (Je frappe sous la ceinture, il est vrai) Franchement, je n’aimerai pas maintenir une application Java>15 sans conteneurisation correcte.
22 avril 2022
source20 avril 2022
sourceUne police de caractère optimisée pour la lisibilité.
20 avril 2022
sourceOh \_why, toujours dans mon coeur
20 avril 2022
sourceIl y a toujours des détails rigolos quand on essaye de faire des trucs élégants en Rust. Cette fois-ci, c’est faire l’équivalent des Single Abstract Method Java qui sont appliquées aux closures.
20 avril 2022
sourceLe RGPD, c’est vraiment cool : les sites français risquent de ne plus pouvoir utiliser reCaptcha (et cest une bonne nouvelle)
19 avril 2022
sourceJe comprend parfaitement le concept derrière cette catégorisation (qui semble à priori un peu farfelue)
18 avril 2022
sourceUn article vraiment intéressant sur les différentes façons de gérer le polymorphisme en Rust. Et je me suis rendu compte que j’utilisais trop les traits et pas assez les enums.
15 avril 2022
sourceUn très chouette script qui installe podman (et podman compose) dans WSL2 ET crée automatiquement des alias pour le shell Windows
15 avril 2022
source15 avril 2022
sourceYessaï ! Le reggae, man, le reggae
15 avril 2022
sourceIl faut voir les choses en face : GiedRé a raison.
15 avril 2022
sourceQuand Chrome était sorti, le même auteur avait écrit une longue BD montrant à quel point c’était un bon navigateur. Même pas dix ans après, le portrait n’est plus aussi flatteur
15 avril 2022
sourceChouette thread rappelant qu’on vit dans un beau pays
14 avril 2022
sourceLe matériel entraînement des pilotes de port (et du canal de Panama) est simplement ébouriffant.
13 avril 2022
source★★ Dr.Cassos sur Twitter : "[THREAD J’interviewais une jeune fille à propos des incivilités et du harcèlement de rue. Elle m’a raconté une histoire qui n’ira pas dans l’article mais que je vous raconte quand même parce qu’elle est ouf. C’est pas tous les jours qu’un trafiquant te protège d’un agresseur." / Twitter]
Une histoire de dingue (et franchement, c’est quoi ce pays de connards ?). Oh, et les commentaires sur les trafiquants qui assurent la sécurité … Je ne sais plus quoi écrire, là
13 avril 2022
sourceSi vous avez un jour besoin d’afficher le schéma d’une base postgres/mysql dans PlantUML rapidement, cette image Docker fait du bon boulot …
13 avril 2022
sourceSacrément intéressant. En revanche, le vote Zemmour massif dans les communes riches est vraiment bizarre (ou alors c’est son côté ancien du Figaro qui aide)
12 avril 2022
sourceCette idée d’utiliser un vrai terminal physique comme terminal SSH & co d’un ordinateur moderne est pour une fois une bonne façon d’entrer dans le monde des terminaux
11 avril 2022
sourceOui, aujourd’hui, on sait que les cinq années qui viennent seront dramatiques pour l’ensemble des services publics, sauf bien sûr les forces de l’ordre.
11 avril 2022
sourceComment documenter correctement son Swagger
11 avril 2022
sourceEt avec ça, je peux écrire ma doc dans mon contrôleur Spring, et l’exposer dans ma doc, sans passer par Springfox (je n’ai rien contre, c’est juste pas mon cas d’utilisation)
11 avril 2022
sourceC’est pas tous les jours que j’ai envie de repasser sous cette merde de macOS. Mais un vrai IDE Rust, ça me tente beaucoup (ou alors il faut que je reteste Eclipse Corrosion, qui m’avait semblé bien trop lent)
11 avril 2022
sourceUne tribune parfaitement pertinente sur le côté téléréalité de l’élection présidentielle
11 avril 2022
sourceUn intéressant plugin qui génère le fichier Swagger d’une appli Spring/JAX pendant la compilation (et ça, c’est vraiment bien). Ca marche très bien, hein, mais il faut juste faire attention aux annotations utilisées. Dans mon cas (l’équipe utilisait @PostMapping @RequestMapping …) ça a marché … quand j’ai simplifié les annotations.
11 avril 2022
sourceMerci podcastscience de me faire découvrir l’existence de l’os clitoridien (je connaissais déja l’os pénien, célèbre aussi grâce au musée du pénis islandais)
10 avril 2022
sourceCes derniers temps, pour tout un tas de raison (dont une santé qui ne fait pas rêver), j'ai essayé de limiter ma participation à Codingame, et en particulier aux challenges de programmation. En effet, ceux-ci imposent un rythme de codage qui ne me permet pas d'être bon, ce qui est un peu frustrant. Et pire encore, ça m'enferme dans un comportement de codeur passionné, qui ne laisse que peu de place à la vie de famille. Donc je participe beaucoup moins.
Néanmoins, depuis quelques mois, un collègue me tanne avec un problème particulier, qui n'est pas un contest, mais un simple puzzle. Enfin, un simple puzzle ... On parle quand même du jeu des rois. En l'occurence, des parties d'échec avec début de partie aléatoire en deux manches gagnantes. J'avais trouvé toute une série d'excuses de qualité : préparer et participer au Snowcamp, faire avancer mon projet open-source de documentation d'architecture, ...
Mais mon collègue est opiniâtre, et plutôt bien classé ...
Au bout d'un moment, j'ai donc craqué et lancé un projet, évidement en Rust, pour tenter d'implémenter un bot de qualité qui joue aux échecs. Et, comme d'habitude, j'ai d'abord cherché une source d'information de qualité. J'ai eu la chance de tomber sur une très belle série d'articles, un peu datés, mais très bien conçus : Chess Programming, écrits par François Dominic Laramée. J'ai donc méthodiquement implémenté
Je vous explique ...
Ou plutôt, je laisse François-Dominic commencer l'explication du MinMax et de l'AphaBeta. Pour résumer, le but de la partie est de permettre à mon bot de capturer le roi (oui, on ne le fait pas, c'est vulgaire) sans lui laisser la possibilité d'y échapper. Comme ça n'est pas immédiatement possible, on considère qu'un bon "proxy" de ce score est d'avoir plus de valeur sur l'échiquier que l'adversaire. Seulement, ça, c'est un peu biaisé, et en plus en début de partie, il faut un autre proxy. On peut par exemple imaginer essayer de gagner les cases près du centre.
Bon, évidement, il y a un bon paquet de positions à évaluer à chaque tour, qui fait qu'un bot ne peut pas faire d'évaluation de tous les coups ... Mais ça, c'est assez classique dans les jeux codingame. En revanche, ce dont je n'ai pas l'habitude, c'est de l'évaluation MinMax, qui à mon sens implique qu'une évaluation inclue mon tour de jeu et celui de l'adversaire.
Tout ça, c'est somme toute assez classique ...
Donc dans ces cas-là, la méthode "simple" est de sélectionner et scorer les différents coups possibles, et de prendre le meilleur. Et j'en suis là.
Sauf que, comme tout développeur "moderne", j'ai créé des tonnes de structures sophistiquées : des Point
, des RealMove
, des Turn
. Et je passe pas mal de temps à faire des .clone()
, ce qui ne me satisfait pas (en Java, je ne les verrai pas, parce que Java est bien plus laxiste sur la gestion de la mémoire).
Et, pire encore, j'ai compris un truc : entre deux tours de jeu, il n'y a que tr_s peu de différence : deux pièces ont bougé. Autrement dit, prédire le futur en recalculant à chaque tour les mouvements possibles de toutes les pièces est sacrément efficace. En fait, en l'écrivant, je me rends compte qu'il me faudrait une structure "à la git". C'est-à-dire un arbre des positions possibles qui me permette, quand je passe d'un tour au suivant, de bénéficier directement des calculs effectués au tour précédent.
Autrement dit ... Autrement dit, j'arrive au moment, classique quand je me lance dans un challenge codingame, où je supprime mon code pour le réécrire de zéro (ou à peu près).
J'ai une chance : les règles des échecs sont peut-être complexe (et par rapport aux autres jeux codingame, elles le sont incroyablement), mais au moins elles ne changent pas d'un niveau au suivant. Donc on repart de zéro avec des coups possibles stockés dans des champs de bits (ça fera plaisir à Nicolas), une arborescence de coups qui s'écrase quand on passe au tour suivant, et peut-être une vision plus claire des heuristiques. Souhaitez-moi bonne chance !
10 avril 2022
sourceUne façon intéressante de tuner les performances de Windows pour optimiser sa consommation électrique. Ca ne doit pas être le seul programme à faire ça … mais celui-là est en Rus!
10 avril 2022
sourceJe vois très bien l’usage que je pourrais faire d’un tel système qui permet de visualiser les dépendances de tickets Gitub
09 avril 2022
sourceEst-ce que ce calendrier des légumes de saison n’est pas parfaitement mignon ?
09 avril 2022
sourcePas mal ce squelette html/css !
09 avril 2022
sourceCa m’a l’air d’un jeu parfaitement cute
09 avril 2022
sourceRésultat, dans Python, vous avez au moins trois façons différentes de formatter du contenu dans des chaînes de caractère. C’est la fête …
09 avril 2022
sourceImplémenter un vector Rust qui contient des implémentations d’un trait, ça n’est pas forcément trivial …
08 avril 2022
sourceOui, bon, ça peut faire sourire, mais parfois, developpez.com, ça dépanne rudement.
08 avril 2022
source08 avril 2022
sourceUn outil de génération de captures d’écrans de sites web, basé (évidement) sur un browser embarqué.
08 avril 2022
sourceUne intéressante taxonomie des différents rôles qu’on peut jouer quand on a un peu d’expérience
08 avril 2022
sourceCa m’a l’air d’un drôle de jeu de survie dans l’espace …
08 avril 2022
sourceUne intéressante introduction au scraping de site web en php
07 avril 2022
sourceCette jolie histoire d’une home page sur internet m’a rappelé une autre époque d’internet. C’était parfaitement mélancolique.
07 avril 2022
sourceDans l’ombre de Google, le paysage des moteurs de recherche continue à évoluer. Et je vois dans cet article quelques propositions *très\* intéressantes.
07 avril 2022
sourceIl faut vraiment que je résiste *très\* fort. Parce que j’ai deux envies 1. Un asciidoctor en pur Java (sans le JRuby sous-jacent) 2. Un asciidoc en pur Rust Les deux projets sont intéressants, techniquement à ma portée, mais mon dieu que ça va être long
07 avril 2022
sourceOH une implémentation native Java d’un processeur Asciidoc. Si ça peut marcher dans Maven, c’est la fête. Autrement dit, il va falloir que je m’y intéresse d’assez près
07 avril 2022
sourceMais qu’est-ce que je fais ? Eh bien, tout simplement, j’essaye de créer de la confiance dans une base de code qui ne me donne *vraiment\* pas confiance.
07 avril 2022
sourceUn plugin maven générant les diagrammes de classe au format PlantUML. Ca répond à un besoin *très\* précis que j’ai exactement aujourd’hui
07 avril 2022
sourceNon de zeus ! Une version pour cargo du très pratique fizzed-watcher-maven-plugin ? (autrement dit un outil qui surveille le dossier des sources et lance le build à chaque modification). C’est souvent *très\* pratique (regardez le dev mode de Quarkus …)
06 avril 2022
source06 avril 2022
sourceIl va falloir que je prenne le temps de lire toute cette liste tranquillement, parce que ça a l’air long, précis … et efficace !
05 avril 2022
source05 avril 2022
sourceOn trouve rarement des rapports SCP mettant en scène le sexe anormal (et c’est à mon avis heureux). Celui-ci est franchement réussi.
05 avril 2022
sourceBon, avec cet article, je crois que j’ai *enfin\* compris la subtilité des définitions de chaînes caractère Rust (entre String et &str, on s’y perd parfois)
04 avril 2022
sourceUn collègue avait fait il y a un an ou deux une présentation sur SonicPi, qui était chouette. Mais là, c’est du Rust+WebAssembly dans mon navigateur …
04 avril 2022
sourceUn intéressant article documentant un problème de management franchement commun
04 avril 2022
sourceL’un des trucs marquants du cyberpunk, c’est qu’il met en valeur les "outsiders", littéralement ceux qui vivent en marge du système. Et souvent, ça n’est pas notre cas … C’est ce qui fait qu’on ne croit pas être dans le cuberpunk.