Review

Dans ce sixième tome, Marco Inaros, le super-méchant du cinquième tome, tente de prendre le pouvoir dans le système solaire. Et évidement, James Holden se met - pas très volontairement - sur son chemin.
J'aime bien l'efficacité du style de l'auteur, qui raconte son histoire de façon tout à fait chronologique, en essayant toutefois d'embrasser la plupart des acteurs de son récit. Certains morceaux sont donc racontés par Holden ou son équipage, d'autres par des rebelles ceinturiens ou par Avasarala. Et je m'aperçois en écrivant cette chronique que j'ai été beaucoup plus contaminé par le visionnage de la très bonne série que je pouvais le croire, puisque même en l'écrivant, je revois le visage d'Avasarala ou de Holden. Il me semble d'ailleurs que les visages des acteurs m'ont accompagné pendant toute la lecture. Ca change énormément la lecture, pour le physique des acteurs, bien sûr, et même pour la forme des vaisseaux ou des stations. Et c'est en quelque sorte un changement positif, puisque je dois bien reconnaître que les descriptions sont parfois un peu faibles.
Et cette faiblesse se retrouve en un sens dans le récit. Non pas que l'histoire soit linéaire, puisque ça part quand même dans tous les sens. C'est plutôt que très vite dans le récit, on se rend compte que le méchant n'a en fait aucune espèce de plan. Du coup, on a un peu l'impression de voir de l'escrime dans le noir : des adversaires (bien plus que deux, en fait) qui essayent de se faire du mal sans vraiment comprendre où se trouvent les autres belligérants. A ce sujet, la référence à l'Afghanistan m'a paru peu ... vulgaire : c'est évident que le méchant est un méchant. Et c'est évident aussi (depuis le tome précédent) que c'est un terroriste qui ne souhaite rien d'autre qu'être le dernier homme debout, juste parce que c'est beaucoup plus facile de détruire que de construire.
Un dernier point faible est d'ailleurs la conclusion, dans laquelle le fusil de Tchekhov est utilisé comme un retournement de situation magique. Ca m'a même pas mal gêné.
Cela dit, comme je le disais, l'écriture reste efficace, les personnages bien campés (Avasarala est toujours au-dessus de la mêlée) et le côté feuilletonnant reste agréable. Autrement dit, lisez-le si vous avez commencé la série. Sinon ... vous ne comprendrez pas l'histoire.





Il est temps d’ouvrir un nouveau champ de réflexion professionnelle …​ Et je vais commencer par une introduction en douceur …​ ATTENTION : l’article ressemble à une mauvaise traduction, mais pour un début, je m’en contente (en revanche ça ne pourra pas servir de socle)







Review

Ca faisait bien longtemps que je voyais passer des messages me disant qu'il fallait absolument lire Umberto Eco, et que ce recueil de textes variés était une très bonne introduction à son oeuvre.
Et je n'ai pas été déçu !
Dans ce recueil d'une taille raisonnable, on trouve donc une nouvelle vaguement science-fictive brocardant l'armée, une série de chroniques parues dans un journal italien (à commencer par celle donnant le titre à l'ouvrage), un ensemble de textes relevant de la cacopédie, et enfin un éloge de sa ville natale.
Si certains textes sont un peu datés à mon goût (le rapport aux femmes et aux homosexuels semble curieux), l'ensemble reste néanmoins très agréable à lire avec certains textes tout à fait drôles et d'autres encore pertinents aujourd'hui. Je me suis par exemple senti personnellement visé par celui sur l'usage des points de suspension. J'ai également beaucoup apprécié celui sur les bibliothèques, ou même celui donnant son titre au livre. Dans tous ces textes, Eco fait preuve d'une érudition mêlée de truculence qui lui vaut tout mon respect. En fait, la seule chose à regretter dans cette oeuvre est le côté auberge espagnole d'un recueil ne se contenant pas d'un certain type de textes, mais de quatre formes textuelles différentes.
Toutefois, ça reste une façon très bien écrite, et très drôle, de découvrir l'oeuvr ed'un auteur important du XXème siècle.



Des transitions CSS toutes prêtes. C’est beau. Et c’est bien pratique pour quelqu’un comme moi. Si ça pouvait marcher dans asciidoctor-revealjs, ce serait chouette.


J’ignorais qu’il y avait dans la norme unicode autant de formes de flèches disponibles. Et c’est cool !


Je pourrais commencer mon article exactement comme celui que j'ai écrit en 2019 ... Pare que je suis à nouveau, au petit matin, dans le train qui me ramène chez moi

(regardez l'heure, il est un peu tôt pour un dimanche matin 😅)

Donc cette année, en pleine vague omicrone, j'ai choisi de traverser la France pour passer trois jours dans un lieu clos, rempli de gens (c'est une façon un peu négative de tourner les choses, mais j'y ai pas mal pensé). Est-ce que ça en valait la peine ? Je crois que oui.

D'abord parce que le sujet dont j'ai parlé "C4 et au-delà, documenter agilement une architecture" présente un ensemble d'outils dont je pense qu'ils ajoutent quelque chose d'utile au code. Et mes collègues pourront le confirmer, puisque c'est un sujet autour duquel je tourne depuis quelques années déja.

Ensuite parce que j'aime vraiment beaucoup Snowcamp. Les organisateurs sont exceptionnels de gentillesse et d'attention envers les orateurs sélectionnés (surtout quand, comme moi, on perd son téléphone en fin de séjour - encore merci Lorie). En plus des organisateurs, tout le monde est globalement de bonne humeur et content de participer à l'événement. Et puis bien sûr, il y a la journée magique d'unconference !

Cela dit, j'ai aussi vu quelques conférences vraiment intéressantes (non, je n'ai pas pris de notes en direct, parce qu'en participant à une conférence en tant qu'orateur, il est très difficile de penser à autre chose qu'à ce qu'on prépare). Sans ordre de préférence, j'ai pu voir

  • The eternal sunshine of the zero-build pipeline (voir les slides) je n'étais pas dans le bon public, et je suis loin d'avoir tout compris, mais m4dz est quand même très bon dans ses présentations
  • L'open-source au service du développeur (et de l'architecte) (voir les slides) un retour d'expérience sur l'immersion dans le monde de l'open-source qui reprend et étend l'article éponyme
  • Mais à quoi ça sert un DevRel (voir les slides), une conférence à licornes par les gens d'OVHCloud
  • La clean architecture dans le web, présentée par mon collègue Martin, qui m'a préparé pour ma propre conférence
  • La permaentreprise sur laquelle je reviendrai dans un autre article, je pense
  • Ajoutez une vraie recherche à votre application legacy sans vous prendre la tête, si vous regardez les photos prises, vous verrez qu'avec Nicolas, on traîne généralement ensemble comme les deux vieux du muppet show. Du coup je devais aller le voir relier Debezium, Hazelcast et ElasticSearch. Et c'était vraiment bien fait, et bien présenté
  • Les bonnes pratiques Oauth2/OIDC conjugées au présent, passé simple et futur.(voir sur Youtube) J'ai beaucoup aimé, parce que pour une fois, j'avais une présentation compréhensible de ces mécanismes d'autorisation et d'authentification
  • L'histoire de SRP, le protocole d'authentification Zero-Knowledge (voir les slides) était une belle baffe, qui m'a bien montré à quel point l'authentification "classique" (quand on n'utilise justement pas OAuth2/OIDC) par mot de passe était faible, et comment on savait l'améliorer depuis au moins 20 ans.
  • Checklist pour concevoir une application dans le cloud:10 conseils à l’attention des concepteurs (voir les slides), un retour d'expérience sur le passage au cloud d'applications Spring. C'était intéressant, même si je dois reconnaître que je connaissais la plupart des choses dont Alexandre parlait
  • Père castor, raconte-nous une histoire d'ops (voir la version CloudNord sur Youtube) David nous racontait une série d'incidents survenus dans des entreprises, grandes ou petites. C'était à chaque fois intéressant, surtout parce que les erreurs étaient plus liées à des faiblesses organisationnelles qu'à des individus.

Même si je n'étais pas toujours attentif, j'ai trouvé l'ensemble de ces conférences d'un très bon niveau, et j'y ai assisté avec plaisir. Je regrette juste de ne pas avoir vu celle de Thibaut, qui avait l'air vraiment géniale

En revanche, je dois bien dire que dans une conférence, les sujets abordés ne sont pas le coeur de l'événement. Le coeur de l'événement, c'est le fait de faire communauté.

Faire communauté, pour moi, c'est partager un culture, des valeurs, une mythologie. Et on retrouve tout ça dans une conférence. C'est pour ça qu'on trouve parfois des gens qui indiquent que le meilleur moment des conférences, c'est la pause (ou les resto/bars), où on discute avec tout le monde. Et à mon avis, une des raisons qui me pousse à aller en conférence comme orateur, comme simple spectateur, c'est précisément l'envie de faire partie de cette communauté de gens passionnés par un domaine souvent pas évidement. Et c'est évidement pour ça que je ferai ce qu'il faut pour retourner à Snowcamp 2023 (la date est déjà sur leur site, figurez-vous)



Nom de zeus ! je vais pouvoir refaire mon talk sur les concepts liés à la correction de bugs en utilisant cette métaphore !


En regardant une conf à @SnowCampIO, je me dis que ce serait *bien\* d’ajouter l’un de ces plugins à mon Keepass


Une super télécommande pour revealjs. Après ma présentation d’aujourd’hui, j’essayerai de l’utiliser partout, parce que c’est vraiment pratique !





C’est évidement du logiciel fourni en tant que service, avec paiement à l’usage (je n’aime pas ça). Mais l’idée de voir mes feuilles de calcul dans Slack a quelque chose d’obscènement attirant



Une démarche de modélisation d’un process qui peut être intéressante, parce qu’elle se concentre sur l’extérieur, et fournit un résultat plus "propre" que le fameux event storming




Je viens de perdre 4/5 heures sur ce jeu, alors profitez-en vous aussi !


Je sais que les gens de CleverCloud ne sont pas de grands fans des containers, mais avec une petite implémentation Rust, ça peut être …​ plus supportable ?


Certes ça n’est qu’une tablette 8 pouces, mais c’est aussi un Raspberry, et c’est sacrément chouette !


Si vous voulez savoir quels pays produisent de l’électricité "verte", et donc où il est supportable d’aller installer vos datacenters/VM, cette carte est pour vous





Review

J'ai eu la chance de recevoir en avant-première un exemplaire de ce recueil (merci Xavier) qui n'est pas forcément dans mes habitudes de lecture (je ne suis pas un grand fan de nouvelles), mais l'occasion faisant le larron, et Sheckley faisant pour moi partie des auteurs de l'âge d'or ... pourquoi pas.

On a donc affaire à un recueil d'un peu plus de 400 pages, réunissant 13 nouvelles et une postface (écrite en 1972 pour une autre anthologie). Je vais essayer de vous livrer mes souvenirs sur ces nouvelles (ce qui est toujours un bon moyen de savoir si elles ont été marquantes, ou pas)

Le Prix du danger (The Prize of Peril, 1958)
Dans une anticipation très intéressante de la téléréalité, un américain moyen accepte d'être pourchassé pendant un temps donné avant, si il survit, de gagner une somme rondelette. Pensez à Escape, diffusée sur RMC Découverte, et vous serez très proche de la réalité.

Les Morts de Ben Baxter (The Deaths of Ben Baxter, 1957)
Pour sauver le futur, une équipe de voyageurs temporels doit explorer différents passés dans lesquels Ben Baxter meurt et éviter ça.

Une Race de guerriers (Warrior Race, 1952)
Une histoire qui m'a mis franchement mal à l'aise mettant en scène des guerriers qui, pour gagner la guerre, se suicident pour faire honte à l'adversaire

N'y touchez pas ! (Hands Off, 1954)
Des aventuriers terriens tentent d'échanger leur vaisseau contre un autre, bien plus avancé. Mais sont-ils adaptés à ce vaisseau ?

La Mission du Quedak (Meeting of the Minds, 1960)
Un extra-terrestre débarque sur Terre et tente d'assimiler animaux et humains. Y arrivera-t-il ? L'histoire ressemble un peu à la guerre des mondes, mais en toutefois assez différent.

Tu brûles ! (Warm, 1953)
Une nouvelle très particulière, où le personnage principal commence à voir le monde comme un réseau de conventions sociologiques. Et qu'y a-t-il sous ces conventions ? Rien.

Un billet pour Tranaï (A Ticket to Tranai, 1955)
Un homme entend parler de l'utopie réalisée, et quitte sa ville terrienne pour rejoindre la planète qui la réalise. Mais est-ce vraiment l'utopie ? Le thème est archi-connu, mais il est exploité avec une certaine finesse, et un angle assez amusant.

Le Temps des retrouvailles (Join Now / The Humors, 1958)
Un homme s'étant scindé en son ça, son moi et son surmoi essaye de retrouver l'unité. Et ça n'est pas facile. La nouvelle nous offre en plus un voyage qui part de la Terre pour visiter Mars et Vénus.

Tels que nous sommes (All the Things You Are, 1956)
Premier contact entre des explorateurs humains et une race indigène, celui-ci met en valeur le danger que représentent les hommes, mais aussi leur capacité à créer (involontairement).

La Suprême récompense (The Victim from Space, 1957)
Sur cette planète, une vie bien menée mérite une mort atroce. Que se passe-t-il quand un homme arrive et améliore beaucoup les choses pour tout le monde ?

Les Spécialisés (Specialist / M Molecule, 1953)
J'ai pris cette histoire comme un exercice de style, dans lequel un vaisseau spatial, composé de créatures vivantes, avait besoin d'un homme pour pousser le véhicule plus vite que la lumière.

La Septième victime (Seventh Victim, 1953)
Et si on avait le droit de tuer pour se libérer de la frustration que nous fait ressentir la société ? Dans ce cas la loi impliquerait que la victime, aussi volontaire que le meurtrier (parce que tout le monde ne ressent pas cette pulsion), aurait le droit de se défendre, parfois avec beaucoup de subtilité ...

Permis de Maraude (Skulking Permit, 1954)
Lorsqu'un village du nouveau-delaware, une colonie perdue au fond de l'espace, reprend contact avec la Terre, ce village découvre qu'il faut être civilisé, et donc avoir des criminels. Et ça n'est pas simple.

Marc THIVOLLET, De la science-fiction du dehors à celle du dedans (1972)
Si les nouvelles datent des années 50, cette postface date elle des années 70. Et si j'ai eu une certaine indulgence pour les aspects datés des nouvelles, j'ai trouvé cette postface particulièrement fastidieuse : l'auteur essaye d'y faire assaut de style. Et je l'ai trouvé tellement lourd que je n'ai pas lu celle-ci en entier.

Conclusion
Il y a clairement dans ces nouvelles un personnage sheckleiein : un homme (nous sommes dans les années 1950, que diable), épris de liberté (nous sommes aux états-unis avant tout) mais également de réussite sociale, qui pourtant n'y arrivera pas (la faute à un auteur trop épris de la manière particulièrement canulardesque qu'à l'univers de fonctionner) qui pourtant va tout donner. C'est vrai dans presque toutes les nouvelles, et je ne vais pas dire que j'ai ressenti d'empathie pour ces personnages (sauf pour le dernier, qui se retrouve criminel pour la cause de sa société). En revanche, j'ai (et c'est rarement le cas) beaucoup apprécié la manière qu'avait l'auteur pour retourner le monde comme un gant histoire d'y emprisonner le personnage principal dans une situation qui sera souvent en sa défaveur. parce que même ceux qui croient gagner vont, au bout du compte, y perdre. Et souvent, ils vont y perdre la vie.
C'est d'ailleurs, vu du XXIème siècle, une forme d'étrangeté que de voir la violence sous-jacente qui imbibe la plupart de ces récits : on s'y bat, on s'y tire dessus, et on y meurt facilement. Il n'y a certes pas de scènes d'action, mais quand même, beaucoup de morts, et dans des décors assez exotiques.
Ces décors qui nous font bien voir l'âge d'or de la SF avec tout ce qu'il a de naïf et de romantique : vous pouvez aller sur n'importe quelle planète perdue au fond de l'espace, vous y trouverez une atmosphère respirable, des autochtones parlant votre langue (ou une langue que vous apprendre le temps de vous poser par imprégnation hypnotique), et vous serez baigné dans des décors grandioses et exotiques. Ca ravit à chaque fois l'enfant aventureux en moi. Mais l'homme qui a écouté un peu parlé d'astronomie dans les vingt dernières années, lui, pose un oeil un peu réprobateur sur ces facilités. Même si elles permettent des récits souvent amusants.
Et l'un dans l'autre, même si les nouvelles trahissent leur âge (avec notamment le rôle uniquement décoratif de la femme), je dois dire que j'ai apprécié cette lecture pour ce qu'elle était : une vision amusée, mais aussi sacrément habitée, de ce que pourrait être la vie dans des mondes possibles, à défaut d'être agréables.




La carte des phares du monde avec, quand c’est connu, la vraie couleur du phare et la vraie répétition des éclats. C’est très chouette !





C’est pas pour défendre le français, mais le coup du H qui n’a pas de son, c’est pareil en anglais …​ (cela dit la vidéo est franchement hilarante)





Ces conseils ne valent en fait pas seulement pour ce type d’entretien, mais aussi - et surtout - pour définir une architecture.


Une liste …​ correcte …​ de compétences d’architecte (je trouve en revanche son insistance à utiliser des modèles visuels plutôt faussée)








Une visualisation de texte assez intéressante, qui permet clairement de voir les structures répétées en début ou en fin de phrase. C’est évidement utile pour de l’analyse de discours, de poésie



Je vais relire cet article, parce que l’éthique est un sujet auquel il faudrait sensibiliser les développeurs


Review

Dans ce court roman, on suit les pas de Scur, ancienne soldat dans une guerre oubliée, qui se réveille dans un vaisseau spatial de croisière transformé en transport de criminels de guerre, lequel se retrouve autour d'une planète inconnue. Mais ça n'est pas tout, le vaisseau transporte également un homme qui a torturé Scur aux derniers jours de la guerre.
Evidement, quand A. Reynolds écrit un roman, c'est rarement joyeux. Ici, l'état du vaisseau, et de la planète autour de laquelle il orbite, ne laisse pas beaucoup d'espoir. Pas plus que la population d'anciens criminels de guerre, qui ont agi pour des raisons plus ou moins avouables. Ca donne une ambiance sombre et poisseuse. Et je trouve même dommage que Scur soit l'anomalie dans cette histoire : elle n'est pas une criminelle de guerre, et prend dès son réveil l'ascendant sur les milliers de personne du vaisseau à la suite d'une manoeuvre très "vorkosiganienne". Hélas, comme on ne la connaît pas, on a du mal à croire à la vraisemblance de la manoeuvre. Et ce sentiment d’invraisemblance du personnage central subsistera tout au long de cette oeuvre et viendra gâcher ses interactions avec d'anciens militaires qui, dans l'ensemble, n'ont pas une vision très claire de la chaîne de commandement, ce qui est franchement illogique.
Un autre aspect assez curieux est le vaisseau : on sait qu'il est parti trop loin dans l'avenir, donc qu'il est défaillant, mais ces défaillances ne se manifestent qu'en tant qu'éléments de support narratif : l'autodoc qui part en sucette n'entre en scène que parce qu'il est utilisé. C'est dommage, parce qu'en partant à peu près du même matériau, Aurora était plus convaincant.
Finalement, la seule ouverture de ce roman est la conclusion, qui montre bien que l'auteur a pensé cette oeuvre comme une grosse nouvelle (200 pages, quand même), puisque les dix dernières pages chamboulent le sens qu'on peut donner à cette histoire.

Une histoire flippante de Raspberry trouvé dans une armoire qui s’avère récupérer des informations pour les envoyer à "un pote". Le plus flippant ? Le degré d’amateurisme des attaquants.


Du bon creepypasta. C’est inquiétant, certains passages sont terrifiants, et ça ressemble à un Blair Witch project encore pus cheap.


Si vous voulez commencer avec Archimate, ce livre semble très bien …​ malgré une traduction française très incomplète (et impossible à mettre à jour sans faire partie de l’open group)


Depuis quelques temps, Docker Desktop est devenu payant. C'est nécessaire pour l'entreprise qui l'édite, mais pas forcément pour des utilisateurs habitués à la gratuité du produit. Pour l'instant, je l'utilise donc toujours, mais avec mauvaise conscience.

Internet, toujours riche en suggestions ... pas forcément utiles, me propose cette fois un mouvement audacieux

Comme j'ai un peu de temps, autant tenter la manoeuvre ... Mais je vais tenter ça avec un minimum de précaution : j'ai sur ma machine un certain nombre de conteneurs utiles que j'aimerais pouvoir conserver dans Rancher Desktop :

C:\Users\nicolas-delsaux>docker ps --format '{{.Names}}'
'kroki-excalidraw'
'kroki'
'selenoid'
'selenoid-ui'
'watchtower'

Je dois donc d'abord retrouver la ligne de commande utilisée pour lancer chacun de ces conteneurs ...

Et j'ai beau chercher, je ne trouve pas de façon générique de récupérer leur ligne de commande. Je vais donc migrer ça à la main en espérant retrouver la bonne ligne de commande.

Pour watchtower, c'est facile, c'est dans la page Docker Hub. Donc paf

docker run -d --name watchtower -v /var/run/docker.sock:/var/run/docker.sock --restart always containrrr/watchtower

Pour kroki, c'est à peine plus compliqué (surtout que j'ai enlevé kroki-excalidraw, que je n'ai jamais utilisé)

docker run -d --name kroki -p 29000:8000 --restart always yuzutech/kroki:latest

Par contre, pour selenoid, c'est un peu plus compliqué

docker network create selenoid
docker run -d --name selenoid --network selenoid -p 4444:4444 -v //var/run/docker.sock:/var/run/docker.sock -v %HOME%\.aerokube\selenoid:/etc/selenoid aerokube/selenoid:latest-release
docker run -d --name selenoid-ui --network selenoid -p 38080:8080 aerokube/selenoid-ui --selenoid-uri http://selenoid:4444

docker pull selenoid/chrome:90.0
docker pull selenoid/video-recorder:latest-release 

Et une fois que c'est fait, ça marche ! Il y a quand même un petit défaut au passage à Rancher (qui m'amène un cluster k3s dont je ne sais pas encore quoi faire), c'est que cette commande devient un poil plus longue

docker ps
CONTAINER ID   IMAGE                              COMMAND                  CREATED          STATUS                    PORTS                                         NAMES
298933f02f3f   aerokube/selenoid-ui               "/selenoid-ui --sele…"   13 minutes ago   Up 13 minutes (healthy)   0.0.0.0:38080->8080/tcp, :::38080->8080/tcp   selenoid-ui
c35940438e50   aerokube/selenoid:latest-release   "/usr/bin/selenoid -…"   16 minutes ago   Up 16 minutes             0.0.0.0:4444->4444/tcp, :::4444->4444/tcp     selenoid
86fbee8f3976   yuzutech/kroki:latest              "/bin/sh -c 'exec ja…"   3 hours ago      Up 3 hours                0.0.0.0:29000->8000/tcp, :::29000->8000/tcp   kroki
9fe5b9911256   containrrr/watchtower              "/watchtower"            3 hours ago      Up 3 hours                8080/tcp                                      watchtower
4be094681b97   746788bcc27e                       "entry"                  3 hours ago      Up 3 hours                                                              k8s_lb-port-443_svclb-traefik-tx47d_kube-system_5939a410-7da8-4f24-af79-becc1b4d802a_0
79cfab73c9d8   rancher/klipper-lb                 "entry"                  3 hours ago      Up 3 hours                                                              k8s_lb-port-80_svclb-traefik-tx47d_kube-system_5939a410-7da8-4f24-af79-becc1b4d802a_0
297084ed8406   rancher/mirrored-library-traefik   "/entrypoint.sh --gl…"   3 hours ago      Up 3 hours                                                              k8s_traefik_traefik-864f86bfd8-xlfnb_kube-system_ac6bf342-16c9-4414-aed6-8d7c8fd0f372_0
eb8e4f21ea6f   rancher/local-path-provisioner     "local-path-provisio…"   3 hours ago      Up 3 hours                                                              k8s_local-path-provisioner_local-path-provisioner-9789bdbfb-444rc_kube-system_9cb3b321-3cf7-4750-a8d8-aeeb005ed27e_0
780e01c35406   rancher/mirrored-metrics-server    "/metrics-server --c…"   3 hours ago      Up 3 hours                                                              k8s_metrics-server_metrics-server-6486d89755-l4h99_kube-system_ccc73032-3201-488c-b365-24a56cd84fa6_0
e97d1510e47d   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_traefik-864f86bfd8-xlfnb_kube-system_ac6bf342-16c9-4414-aed6-8d7c8fd0f372_0
093bcb6dc1e7   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_svclb-traefik-tx47d_kube-system_5939a410-7da8-4f24-af79-becc1b4d802a_0
76a97eb181c4   rancher/mirrored-coredns-coredns   "/coredns -conf /etc…"   3 hours ago      Up 3 hours                                                              k8s_coredns_coredns-84c56f7bfb-xrsq9_kube-system_62c58fc1-6ed5-44d8-b849-afba411601f0_0
e7d7aeffe375   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_metrics-server-6486d89755-l4h99_kube-system_ccc73032-3201-488c-b365-24a56cd84fa6_0
a5c0fba4f950   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_coredns-84c56f7bfb-xrsq9_kube-system_62c58fc1-6ed5-44d8-b849-afba411601f0_0
9226c968e36d   rancher/mirrored-pause:3.1         "/pause"                 3 hours ago      Up 3 hours                                                              k8s_POD_local-path-provisioner-9789bdbfb-444rc_kube-system_9cb3b321-3cf7-4750-a8d8-aeeb005ed27e_0

Oui, il y a quand même un paquet de conteneurs en plus ... Mais d'un autre côté, je suis revenu dans les clous ... (par contre j'aimerais vraiment bien avoir un DNS pour mes conteneurs, parce que les ports, c'est pénible).


C’est rigolo cette tentative de créer des identifiants qui soient facilement prononcables ! (je me demande si il existe un plugin Keepass correspondant)



Une alternative à l’explorateur de fichiers de Windows, élégante et avec quelques fonctionnalités sympas



L’écosystème Python est rempli d’étrangetés. Et cog en est un exemple parfait.


Ces exemples d’utilisation de cog sont proprement stupéfiants. Ils parlent *tous\* de générer de la configuration ou de la doc pour que ces éléments collent au code source


Review

Pour une fois, je vais commencer par abuser des spoilers pour décrire l'intrigue de ce livre dans le détail.

Que raconte ce livre ?

L'histoire commence à peu près en l'an 3.000. Dans ce futur plutôt lointain, l'humanité s'est divisée en trois factions : les enchairés, qui continuent à vivre dans un corps biologique mais avec des modifications génétiques parfois exubérantes, les gleisners, qui sont passés à un corps robotique bien plus durable et résistant, et enfin les citoyens de polis, qui vivent une existence entièrement virtuelle. Ces trois factions ont apparemment connues une guerre, créant des frontières entre ces factions, qu'il est normalement impossible de traverser.
L'histoire commence avec la création de Yatima par une Polis, afin de renouveler la diversité des citoyens. Celui-ci grandit vite, et s'intéresse aux mathématiques avant de se lancer dans une randonnée chez les enchairés (en mettant en place différents moyens astucieux pour passer la frontière avec un ami). Il s'y fait alors des amis, parce que le temps de la guerre est passé depuis longtemps, et que les enchairés ont appris à accepter la diversité.
Dans le même temps, on découvre qu'une étoile binaire assez lointaine va bientôt s'effondrer, projetant une vague de rayons gammas qui détruirait les enchairés. Yatima décide alors de retourner aider les enchairés à se protéger contre ce drame.
Cette protection ne sera pas efficace, et il emmènera son ami enchairé dans sa Polis (autrement dit il créera un clone numérique de celui-ci qu'il fera vivre dans sa ville simulée).
Ca créera chez les gleisners et les citoyens des polis la motivation pour explorer l'espace Cette exploration les emmènera vers des systèmes spatiaux divers, contenant des traces de vie variées mais toujours surprenante, et dans un cas sur les traces d'une espèce qui utilise les trous de vers pour changer d'univers. Et là, le livre changera de direction (à nouveau) pour m'emmener dans des espaces différents.
Le tout pour amener à une conclusion vertigineuse et solipsiste à la fois.

Ce que j'en ai pensé

J'ai rarement été aussi stupéfait par la puissance de l'imagination d'un auteur. Greg Egan est rigoureux dans ses concepts (et chaque chapitre est en un sens une dissertation sur un aspect de pointe de la science). Mais cette rigueur est le support à une imagination folle. Pour le dire autrement, je n'avais jamais envisagé la topologie mathématique comme un bon support à l'imagination. Pas plus d'ailleurs que l'utilisation des micro-dimensions des théories quantiques ...
Rien que ça est fou.
Mais la manière dont ces chapitres s'enchaînent, avec des concepts différents, des idées renouvelées, rend les choses incroyables. Pour le dire autrement, un auteur classique prendrait une idée et en ferait un roman Ici Greg Egan prend dix, vingt idées fortes de la science moderne pour en faire ce que je ne peux que qualifier de chef-d'oeuvre éblouissant.
Et ce chef d'oeuvre tient aussi parce qu'Egan a su, je trouve, progresser sur les aspects traditionnellement faibles de son écriture : les personnages sont reconnaissables, ils ont des traits de caractères identifiables et des motivations claires. De la même manière, même si la plupart des décors sont virtuels, ils sont aussi parfaitement lisibles. Et ces éléments, qui péchaient habituellement, deviennent cette fois-ci des soutiens pour nous emmener toujours plus loin dans un vertige hyperspatial.
Et l'un des trucs que je trouve le plus incroyable, c'est que ce livre réussit à éviter totalement l'écueil des détails aberrants temporellement. Parce que le livre commence par parler de réalité virtuelle, quelque chose qui prend de la réalité "assez rapidement", parce que c'est une technique, plus qu'une science. Et se tromper dans le choix d'une technique peut arriver facilement. C'est à mon sens pour ça que l'implémentation des polis n'est qu'assez peu décrite. Et c'est tant mieux.
Donc une bonne histoire, dans un futur aussi lointain que Greg Egan pouvait l'imaginer, avec une imagination forcenée. J'ai en fait énormément aimé ce roman, et je ne peux que vous le recommander si vous avez une bonne culture scientifique et considérez que ça peut être le bon support à l'imagination.


Un plugin pour embarquer une vidéo ou une webcam dans une présentation Reveal. Je cherchais ça cet après-midi, et je me demandais si j’allais devoir développer le plugin. Eh bien non !



Une chouette liste d’antipatterns. Je connaissais les compréhensions de liste, mais pas les générateurs, et c’est vraiment chouette !





L'EFF a récement sorti l'une des cascades arketing dont ils ont l'habitude.

Cette fois, c'est cover your tracks, qui vérifie si votre navigation sur internet est bien protégée. Et si je regarde mon résultat, sans surprise, je suis bien protégé. Ce qui m'amène à une réflexion assez simple ... Et si les utilisateurs de firefox disparaissaient d'internet simplement parce que leur niveau de protection les rend invisibles aux outils de suivi habituel ? D'accord, on analyse le user-agent, mais certains plugins firefox permettent de le changer (comme dans Opera depuis longtemps). Du coup, même cette analyse ne suffit pas.

Ca veut dire quoi ?

Ca veut dire simplement qu'en tant que développeur, vous ne devez pas, comme je le vois trop souvent, cibler un navigateur précis (tiens, par exemple, spacedesk fait cette erreur), mais cibler des fonctionnalités, qui apparaissent rapidement dans les différents navigateurs.


Evidement, cet homme est criticable pour des raisons innombrables. Mais je trouve cette communication remarquable (en partie parce qu’il donne des leçons d’éthique aux 5 derniers présidents de la république)


Je parlais récement de l'extreme carpaccio à distance. Et pour avoir testé, je trouve ça assez satisfaisant de voir le score progresser. Mais dans notre mode d'animation, on préfère organiser les différentes étapes et n'activer les étapes qu'une par une. Et nos étapes, généralement, c'est

  1. hello world
  2. renvoyer le résultat que l'utilisateur entre
  3. Calculer le prix d'un article pour un état cible (parce qu'on fait habituellement ça aux US)
  4. Calculer le prix de plusieurs articles pour cet état cible
  5. Calculer le prix de plusieurs articles pour deux états cibles
  6. Calculer le prix de plusieurs articles dépassant un gros tarif (pour que le client ait une réduction)
  7. Ajouter d'autres états
  8. Et enfin gérer toutes les fonctionnalités

Alors comment faire pour porter ça avec ce super outillage ?

A priori, on peut facilement faire quelque chose du type

  1. Démarrer un client et le connecter au serveur (c'est pas si simple, puisqu'il faut utiliser ngrok, localtunnel ou même localhost.run, ce que tout le monde ne sait pas faire). Mais une fois que c'est fait, on a régulièrement des échanges client-serveur qui valident que ça marche (et ça permet aux arbitres de voir qui arrive à se connecter)
  2. Retourner le prix de plusieurs articles pour un pays bien choisi. En fait, le serveur envoie des demandes de calcul de prix pour plusieurs articles à tous les clients, donc on doit forcément confondre les étapes 1 et 2. Par contre, on doit aussi passer aux pays européens. Donc j'aurais tendance à dire qu'il faut retourner le prix standard pour la France. Avec la TVA ... Et je pense qu'on donnera le taux aux participants, puisqu'on fait déjà ça en local.
  3. Retourner le prix de plusieurs articles pour la France et pour un autre pays important (je pense bien sûr à l'Allemagne)
  4. Gérer le cas du gros tarif (je ne crois pas avoir vu ça dans le code d'extreme-carpaccio, mais ça ne doit pas être trop compliqué)
  5. Gérer tous les pays européens (je me demande vraiment si il ne faudrait pas leur donner la liste des taux de TVA pour se simplifier la vie)

Notez bien qu'en fait, ça n'est pas très difficile pour les participants de ne faire qu'une partie du travail, puisqu'il suffit de retourner des 404 pour les cas qui ne doivent pas être implémentés immédiatement.

Par contre, je me demande vraiment si je ne vais implémenter du live-reload pour les langages communs, histoire que les participants puissent aller plus vite, même si d'un autre côté c'est aussi une forme de compétence que de maîtriser les outils de déploiement pour accélérer au maximum le temps de redéploiement ....

Autrement dit, je commence à être raisonnablement confiant, il va juste falloir que je prenne le temps de refaire un exercice complet.


Depuis que oui.sncf ne fournit plus que des horaires de train, j’ai du mal à choisir les meilleures options de voyage. Heureusement, ce site fournit le service complet (avec comparatif des options)


Oh, tiens, c’est marrant, un gestionnaire de mots de passe sans stockage, mais basé sur un algorithme de génération de mot de passe.




Si vous voulez analyser un fichier toml (avec des outils comme jq, par exemple), cet utilitaire pourra vous aider …​


En ce posant la question de la lenteur du build Rust, cet article explore à peu près tous les aspects de la compilation. C’est vraiment *très\* intéressant



Il y a quelques temps, je vous ai parlé de mon super support de téléphone portable en lego. Ce support me permet d'utiliser mon téléphone comme webcam, grâce à l'excellent DroidCamX (que j'ai acheté et qui est vraiment chouette). Et en fait, ça n'était qu'une partie d'un plan plus vaste, qui arrive aujourd'hui à sa version finale

Je vous explique ...

Sur l'image ci-dessus, on voit

  • Mon ordinateur portable professionnel
  • Le support de mon téléphone portable (que j'utilise précisément pour prendre cette photo)
  • Une tablette Samsung Galaxy Tab A7 2019 que j'utilise comme écran secondaire (achetée sur BackMarket, parce que je n'achète plus grand chose autrement)
  • Et bien sûr, son support, lui aussi en lego (inspiré par ce modèle instructables)

Mais comment tout ça marche ensemble ?

Eh bien ... pas très simplement.

J'ai installé spacedesk sur la tablette comme sur le téléphone. Et c'est vraiment un très chouette logiciel, qui me permet d'étendre mon bureau Windows sur ma tablette, tout en utilisant l'écran tactile pour cliquer sur mes applis Windows (très chouette). Il y a toutefois un inconvénient. spacedesk envoie les frames vidéo à travers le réseau, dans mon cas le wifi domestique fourni par ma freebox revolution, installée deux étages plus bas. Inutile de dire que ça n'était pas vraiment performant.

Je me suis alors souvenu que mon premier téléphone Android me permettait d'utiliser la connexion Internet de mon ordinateur pour alimenter le téléphone, grâce au reverse tethering. Hélas, ce reverse tethering a été supprimé dans les versions récentes d'Android pour des raisons ... difficilement compréhensibles. J'ai donc dû chercher une solution alternative. Je suis évidement tombé sur l'excellent Gnirehtet (via notamment cet article de LinuxFr). Et si il me permettait bien d'accéder à internet, spacedesk, lui, ne voyait pas le serveur qui tournait sur l'ordinateur lui-même. Et ça me désespérerait, parce que spacedesk à travers n'importe quelle forme de wifi, c'est pas terrible.

Et puis je suis tombé sur un article indiquant que les versions récentes d'Android permettaient le tethering via ethernet. Et comme j'ai un adaptateur usb-c/ethernet, en plus de l'adaptateur dédié à mon thinkpad, j'ai ressorti un câble de ma cave, que j'ai branché entre les deux et ... ça marche ! Je peux bien accéder à internet, comme d'ailleurs à ma machine Windows, depuis ma tablette Android.

Du coup, j'ai ajouté ce câble réseau sur mon bureau, et paf, j'ai un chouette écran secondaire sur lequel je peux même envoyer des vidéos (c'est-à-dire regarder sur ma tablette un navigateur de ma machine Windows affichant une page Youtube incluant ma vidéo) sans lag visible. Et comme cette tablette a une batterie raisonnable, ça marche ... toute la journée !

Une question demeure : pourquoi ne pas avoir acheté un écran portable (comme celui-ci). Tout simplement parce que je les trouve trop/pas assez encombrants, et surtout absolument monotâches : je ne peux pas m'en servir de façon autonome. Alors que cette tablette Android est parfaitement fonctionnelle, et me sert également comme liseuse (approximative, parce que le ressenti visuel d'un écran led n'est vraiment pas celle d'un écran e-ink).





Si vous faites tourner vos bases de données dans des conteneurs Docker, et que vous voulez des backups, ce conteneur "magique" pourrait vous aider


Waow ! C’est vraiment très impressionnant de réussir à faire un modèle soleil/terre/lune astronomiquement juste en lego


Deux trucs impressionants là-dedans 1. De façon évidente, leur clavier magique 2. Le processeur qu’on doit pouvoir implémenter comme un clavier virtuel …​


Quoi ? clink (qui ajoute des fonctionnalités bien pratiques à clink.exe) a été forké ?