#apprentissage
Publications relatives à cette étiquette
GPX Viewer
Suite de mes expérimentations de la veille à la fois en cartographie et en web components. Je me suis demandé s’il était possible de faire un composant qui ne dépende pas de uMap pour afficher une trace GPX. Le fait d’avoir passé une heure à trouver la bonne CSP pour arriver à afficher une carte m’a d’une certaine manière motivé (c’était une journée galère).
Il se trouve qu’il existe leaflet-gpx qui fait exactement ce que je voulais. Il ne me restait « plus qu’à » en faire un composant web, ce que j’avais déjà fait par ailleurs :
Vous devriez voir s’afficher une carte de mon « Grand Tour de la forêt de Ouareau », qui contient cette trace GPX, centrée sur 46.2117, -73.9335 avec un zoom de 12. Il est probable que cela ne s’exécute pas dans un agrégateur par exemple.
Alors en fait, comme rien n’est jamais simple en JS, il a fallu que j’adapte le plugin qui n’était pas compatible avec les modules JS et que je fasse des galipettes pour que ça finisse par tomber en marche 🤸. Cet écosystème est merveilleux (quel métier !). J’ai quand même remonté le problème.
Au passage, inspiré par le travail de Knut Hühne [archive] sur la sémantique des données d’une carte, je me suis demandé si j’allais définir un itinerary pour un Trip avec des GeoCoordinates mais ça m’a fait tirer un fil beaucoup trop long. Je garde l’idée sous le coude pour mes propres recherches dans le domaine cela dit.
Un composant de plus, je ne suis pas très satisfait de celui-ci car j’avais l’espoir d’arriver à quelque chose de facilement réutilisable. J’aurais au moins commencé à mettre les doigts dans le XML du format GPX. Il est possible de définir plusieurs segments au sein d’une même trace. Il peut y avoir pas mal de métadonnées, notamment de mise en forme de la trace mais aussi de caractéristiques (biologiques, physiques, etc).
The fact is that we can’t rely on any single website to hold the whole world’s knowledge, because it can be corrupted sooner or later. The only solution is a distributed architecture, with many smaller websites connecting with each other and sharing information. This is where ActivityPub comes in, the protocol used by Mastodon, Lemmy, Peertube and many other federated social media projects.
I have worked on Lemmy for the past four years, bringing it from a prototype to a fully functional Reddit alternative. I wrote the entire federation code and became very familiar with the protocol. I realized that the same technology easily be used to create a federated encyclopedia. As no one else took up such a project, I finally decided to do it on my own and create Ibis. Thanks to my previous experience with the tech stack and the ActivityPub library I created, I was able to complete a proof of concept in a relatively short time of four months.
Announcing Ibis, the federated Wikipedia Alternative
[archive]
Wikipedia décentralisé, je dis oui ! Merci Alex [archive].
C’est important pour diverses raisons.
I think it’s time to admit that my hobby is buying stuff for my new hobby.
Chris Hallbeck, sur masto
Touché.
Excitation
Il y a cette petite étincelle qui s’allume lorsque j’entrevois la possibilité de démarrer un petit bout de code qui pourrait changer mon/le monde (en toute modestie).
Idée du jour : faire un web component qui s’intitulerait <page-crypt>
en s’inspirant grandement de PageCrypt (et de sa version à jour). La génération de la page chiffrée pourrait se faire en Python.
Cela essayerait de résoudre une problématique d’accès à du contenu privé sur des pages pré-générées de manière statique. Il est probable que j’en ai besoin sous peu afin d’afficher une progression personnalisée d’informations sensibles dans un contexte pro, ce qui me motive d’autant plus.
Je découvre au passage qu’il n’est pas trivial de convertir de l’unicode en base64 via JS.
Note : il existe aussi StatiCrypt.
If majority is always right – let’s eat shit… millions of flies can’t be wrong.
Statek, Waldemar Łysiak, 1994
Cette citation aura fait ma journée.
Je suis frustré par les capacités d’export des données de la montre. En inspectant, je pourrais récupérer les JSON qui passent avec Playwright mais c’est un peu la face nord. Ça me fait glousser qu’un tel site utilise Vite.
Il faut que je teste coros-api (TypeScript) et/ou Coros-Training-Hub-Exporter (Java), je ne suis pas le seul à vouloir récupérer ces données.
Aussi, il y a des données qui ne sont pas exposées par le TrainingHub mais auxquelles on semble avoir accès via une API tierce (et très dispendieuse !). Étrange et décevant…
Vannerie
L’atelier du jour était une initiation à la vannerie, cette fois-ci avec / pour l’enfant. Depuis le temps qu’il veut m’accompagner, j’ai sauté sur l’occasion lorsqu’une animatrice d’atelier — ancienne enseignante, ça doit jouer — acceptât les personnes de son âge.
Le twist, c’est que j’ai pu le faire aussi vu que nous étions les seuls présents pour la session au final. Autant dire qu’avec un cours particulier on a pu apprendre encore plus de choses ! Sur un spectre allant des techniques d’assouplissement à l’appropriation culturelle, on a passé un bon moment d’échanges. J’ai appris que la préparation du frêne noir utilisé dans la vannerie par les Premières Nations prend plusieurs mois, ce qui explique sa rareté (et son prix).
Toujours cette sensation de créer des objets utiles à partir de pas grand chose et avec un minimum de matériel.
Like Stimulus, but a lot smaller and a bit more webcomponenty?
Découverte du jour que je trouve très inspirante. J’avais dans un coin de tête de tester des choses dans cette voie. Réussir à faire le pont entre les deux serait une très bonne combinaison. J’apprécie qu’une solution de test soit proposée, même si elle est légère (en terme de fiabilité) j’en peux plus d’attendre Playwright.
End the battle. Use
infinity
to get the highest possiblez-index
and win forever.[…]
But is
infinity
really any better than some arbitrarily big value like9999px
? Functionally, no. Same end result. But I think it does help make code more self-documenting, becauseinfinity
conveys intent. It expresses that it’s all about the magnitude, not a specific magic number.
Autre découverte du jour. J’aime bien l’idée de pouvoir évacuer certaines valeurs magiques de manière explicite. J’ai la flemme de tester ce qu’un calc(infinity - 1)
donnerait sur un z-index
🤭.
Préparatifs
J’admire les personnes qui arrivent à prendre une photo de leur sac de manière éclatée avant de partir. J’ai toujours pas mal de choses à rajouter au dernier moment, j’essaye au moins d’avoir les basiques de façon certaine.
A utopia for web that I can envision would have rich component creation and manipulation capabilities in built as a part of spec and browsers implementing them. Hence, we won’t have to include any of the heavy third party libraries which will give faster load times to the users by saving the download costs by a huge amounts.
Generating Config driven Dynamic Forms using Web Components
[archive]
Aujourd’hui, j’ai exploré les façons de faire des formulaires en assemblant des Web Components. Cet article de 2019 donne un bon aperçu de ce qu’il est possible de faire. Il y a aussi cet autre article [archive] qui m’a permis de découvrir ElementInternals. Des frameworks comme Shoelace pourraient être inspirants dans le domaine.
RH uses GNOME 3. Ubuntu used Unity, alienated a lot of people who only knew how to use Windows-like desktops, and that made Mint a huge success. GNOME 2 got forked as MATE, and Mint adopted it, helping a lot. Mint also built its own fork of GNOME 3, Cinnamon. Formerly tiny niche desktops like Xfce and LXDE got a huge boost. Debian adopted GNOME 3 and systemd, annoying lots of its developers and causing the Devuan fork to happen.
Everyone seems to forget why GNOME and GNOME 3 and Unity happened
[archive]
Fascinante histoire.
As of version 2.1.0 this project will split into Plausible Community Edition and Plausible Enterprise Edition. The Community Edition (CE) will remain completely open source under the AGPLv3 license. The Enterprise Edition (EE) will contain extra features that will be published as source-available on Github, but we do not grant rights for anyone else to use, distribute or otherwise exploit these features.
Des raisons un peu plus détaillées [archive] ayant motivé ce choix.
Injection
It’s fun to think of other possible uses… Perhaps you could pull in HTML modules along with their relevant CSS link. Or embed a tweet or code examples in documentation or a blog post. It could probably even be used to load and apply a regular rel=stylesheet
link asynchronously, and at a low priority, which is otherwise surprisingly hard to do (note: I didn’t test this idea much to say for sure).
J’ai cette page ouverte dans un onglet depuis littéralement des années. C’est Alexis qui me l’a rappelé en partageant htmz aujourd’hui qui va un tout petit peu plus loin.
Voilà le code en question :
<iframe
src="/static/david/2024/test-injection.html"
onload="
this.before(
(
this.contentDocument.body||this.contentDocument
).children[0]
);
this.remove()
"
hidden>
</iframe>
En résumé, on prend le code l’iframe
et on l’injecte au chargement dans le document en cours. Voici un exemple (pas sûr que ça fonctionne depuis un agrégateur…) :
J’ai ajouté l’attribut hidden
à la proposition initiale pour éviter le flash. Si vous inspectez le code, vous constatez que le paragraphe précédent tout à fait classique alors qu’il s’agissait d’une iframe
(sauf si vous avez une extension qui bloque les iframe
bien sûr). Jusque là c’est une forme d’inclusion
[archive] mais rien de bien utile.
Ce qui devient un peu plus fou serait de pouvoir injecter un Web Component de cette façon ! Le problème étant que le this.remove()
est exécuté avant le chargement du script de l’iframe
… et si on le retire on conserve cet élément hidden
dans le document. Ce n’est pas critique mais ce n’est pas très élégant non plus, d’autant que cela signifie que le composant est défini et instancié deux fois.
Il y a probablement des choses qui m’échappent mais il se fait tard.
To be continued…
Découvertes du jour : <base>
et globalThis.
Aussi, il n’est pas forcément indiqué de générer une SECRET_KEY
avec Django, il vaut mieux le faire en Python directement :
[depuis un shell]
$ python3 -c 'import secrets; print(secrets.token_hex(100))'
So, what’s the fun of writing on the internet anymore? Well, if your aim is to be respected as an author, there’s probably not much fun to be had here at all. Don’t write online for fame and glory. Oblivion, obscurity and exploitation are all but guaranteed. Write here because ideas matter, not authorship. Write here because the more robots, pirates, and single-minded trolls swallow up cyberspace, the more we need independent writing in order to think new thoughts in the future — even if your words are getting dished up and plated by an algorithm.
What’s the fun in writing on the internet anymore?
[archive]
Rester (et alimenter la machine) ou quitter (et laisser l’espace à la machine).
Je n’aime pas beaucoup la métaphore de la forêt noire [archive] ces temps-ci car j’apprécie un peu trop les forêts pour ça. J’aurais davantage l’impression de faire partie d’une haie alors qu’il y a beaucoup de monoculture aux alentours. Avec les double sens que cette méta·phore implique.
Feutrage
Atelier du soir avec Jesse que je connaissais pour ses autres activités et c’était une surprise de retomber sur lui ! C’est une bonne personne 😊. Le problème des Affûtés c’est qu’iels arrivent un peu trop bien à me cibler !
L’objectif était de faire une paire de mitaines à partir de laine brute, c’est une approche qui m’intéresse beaucoup car je n’arrive pas à accrocher au tricotage et j’ai pourtant de gros besoins à ce sujet (je ne taris pas d’éloge au sujet de cette matière par ailleurs, je ne vais pas me répéter ici). Je n’avais aucune idée de cette technique auparavant.
La laine provenait de la boutique BureBure sur Etsy, ce qui a l’avantage de pouvoir s’en procurer facilement de manière indépendante. Pour une option plus locale, certaines évoquaient La Vie en Alpaga mais c’est une laine plus fine qu’il vaut mieux couper d’après Jesse pour qu’elle arrive à feutrer plus facilement. J’ai appris qu’une bonne partie de la laine qui serait utilisable au Québec ne l’est pas faute de rentabilité. À moi de trouver une source locale.
Je vais documenter la méthode car c’est faisable dans sa cuisine sans nécessiter d’outillage particulier et je compte bien continuer cet apprentissage. Cela demande quelques étapes et un petit tour de main, l’atelier était vraiment important pour devenir autonome.
Matériel : un bac étanche, un natte pour faire des maki (véridique), un rectangle de papier bulles, un rectangle en plastique avec des trous (type rideau ou tapis de vaisselle). Le tout dimensionné pour le patron choisi qui peut être découpé dans un sac de course en plastique rigide. Ensuite, il ne faut que de l’eau chaude, du savon et du vinaigre. Autant dire que ce n’est pas le matériel qui coûte cher.
- On fait un patron ayant une taille d’environ 130% par rapport au résultat attendu, le principe est que la laine va s’agréger et donc réduire sa taille de manière significative lors du processus.
- On pose le patron dans le bac, sur la natte + papier bulles.
- On ajoute trois couches de laine en commençant par la fibre à l’horizontale puis en croisant les fibres, on fait en sorte que ça dépasse pour pouvoir faire la jonction avec la face arrière du patron.
- On recouvre avec le tapis en plastique puis on arrose d’eau très chaude et de savon.
- On masse avec tendresse pour ne pas faire de trous au début, c’est cette action qui va relier les différents filaments de laine progressivement (c’est le feutrage à proprement parler).
- On retourne et on replie l’excédent sur les bords du patron avant d’ajouter nos trois couches de laine sur cette nouvelle face.
- Arrivé à cette étape, on a notre structure et on n’ajoutera plus de laine (à part souci). La simplicité du processus est incroyable.
- On fait bien le détourage du pouce dans le cas d’une mitaine. Ne pas oublier de replier le bord en bas, il faut laisser un trou pour le passage de la main !
- On continue de masser recto-verso un très grand nombre de fois en ajoutant de l’eau chaude et du savon (le foulage) jusqu’à ce que ça tienne bien et que l’on puisse extraire le patron.
- On peut maintenant rouler nos maki ! Cela permet de masser le rouleau et d’avoir d’autres angles pour les fibres. Il faut aussi se concentrer sur les bords pour arrondir les angles et commencer à former la mitaine.
- Au bout d’un moment — ces premières étapes ont pris une bonne heure — on passe à la deuxième mitaine, retour à l’étape 2…
- Avec les deux mitaines en main, on peut les feutrer/fouler réciproquement en se frottant les mains toujours en ajoutant du savon et de l’eau brulante (c’est un atelier vraiment propre) pendant là aussi de longues minutes, l’objectif est d’arriver à approcher de la taille finale désirée. On frotte dans le sens où on veut réduire la taille, par exemple en horizontal sur l’ouverture pour resserrer.
- On termine en rinçant abondamment le savon et en plongeant la pièce dans une solution vinaigrée pour changer le pH, ce qui fixe le tout et adouci la laine.
- (Optionnel) Il est possible de réduire encore a posteriori en remouillant avec du savon MAIS il n’est pas possible de revenir en arrière donc il vaut mieux s’arrêter trop tôt plutôt que trop tard, d’autant que ça rétrécit au séchage.
Il y a très peu de pertes dans le processus même si ça prend beaucoup de savon. Le gros intérêt de la technique, c’est que la pièce est vraiment adaptée au support sur laquelle on la feutre+foule (ici mes mains). Il est possible de couper le surplus en bas pour égaliser mais je préfère que ça remonte plus haut sur l’avant-bras. Le résultat est un peu rigide car j’ai privilégié la chaleur (et les erreurs de débutant) mais il est possible de mettre moins de laine. J’arrive néanmoins à tenir un bâton de ski sans forcer.
Anecdote : j’étais le plus jeune et le seul homme, c’était intéressant d’être au sein de cette sororité des aînées, il ne manquait qu’une cheminée pour avoir une soirée d’anecdotes québécoises au coin du feu 🤗.
Au retour, après avoir essoré les mitaines pour qu’elles ne gouttent pas trop, j’ai pu les mettre pour qu’elles affrontent leur première tempête de neige improvisée. Même mouillées et dégoulinantes, j’arrivais à garder mes mains au chaud à l’intérieur… ah, la laine <3. J’ai hâte de tester avec avec une sous-couche et/ou une sur-couche, ça tombe bien car les températures redescendent enfin.
Renards
Entre chien et loup, le renard pointe le bout de son nez pointu. Après avoir attendu patiemment attendu que mon appareil photo arrive à ses limites, le voilà avançant vers moi d’un pas décidé.
Même en poussant les réglages au maximum lors du développement, je me rends bien compte que je suis dans la nuit bientôt noire. Alors je tente d’utiliser l’éclairage de la ville, la pollution lumineuse se reflétant sur la neige m’offre de précieux stops photographiques.
L’équivalent 800mm que je tiens à bout de bras n’aide pas à faire baisser les ISO, tant pis, je compte trop sur ma mobilité pour être capable de tenter une approche. La neige est bien trop gelée et bruyante pour que j’ai la moindre chance. Un skieur nocturne détourne leur attention.
La luminosité est telle que je vois la lumière de mon autofocus qui se reflète, bien rouge, au fond de ses yeux à une cinquantaine de mètres. Iel m’attend. Je ne saurais jamais jusqu’à quelle distance est-ce que l’on se seraient acceptés car une coureuse met fin à ce tête-à-tête nocturne. Si nous sommes tous le deux routiniers, nous aurons certainement d’autres occasions de nous croiser.
Photographiquement parlant, je crois que je préfère la prise floue de la veille. Une forme d’acceptation qu’il puisse encore y avoir des animaux libres d’une capture trop nette.
Merci au parent devant l’école qui m’a dit qu’il n’y avait pas de renards dans le parc cette année. Mon esprit de con·tradiction a fait le reste.
Les carnets Web servent également à faire rêver les autres de façon inattendue et la plupart du temps silencieusement. N’hésitez pas à publier. Vous toucherez le cœur et l’imagination d’une personne quelque part dans le monde.
🧡
Version
Il y a cette appréhension à sortir une version 2 qui est bloquante sur pas mal de projets / produits / outils. Réduire ses ambitions quitte à planifier les versions 3 et 4 par la même occasion est un moyen de faire baisser la pression de ses propres attentes. Ce n’est plus l’évènement mais un évènement parmi les suivants qui vient s’intégrer dans une dynamique plus globale.
Il y a d’un côté l’effort pour les personnes qui vont l’utiliser et de l’autre la motivation [archive] pour les personnes qui vont développer et maintenir le produit.
Je caricature mais on est vendredi.
Écoute
Ceci est tellement vrai que nous sommes seuls au monde dans la communication que, lorsque quelqu’un écoute et lorsque la communication réussit, c’est un miracle étincelant. […] C’est tellement rare, c’est tellement improbable, c’est tellement miraculeux que c’est peut-être ça la civilisation et la culture. Rencontrer quelqu’un qui écoute.
Le Bonheur possible, Michel Serres (1997)
Exercice de mise en forme des valeurs émergeantes des valeurs de Scopyleft aujourd’hui. Je suis content d’y reconnaître chaque personne et en même temps un collectif qui se découvre et qui apprend à faire ensemble. Avoir 8 valeurs qui se démarquent dans 3 contextes différents me donne davantage d’information et d’envie qu’une poignée affichée sur un site web. Un maillage de compréhension réciproque est en train d’être tissé entre nous.
Ce besoin de venir (re)questionner la manière de faire ensemble est nécessaire à ces collectifs. Ce n’est pas dans l’objectif d’un travail évaluatif des bonnes ou mauvaises pratiques, mais bien dans un désir d’entretenir la flamme collective. Ces collectifs ont besoin de se questionner sans cesse sur leurs pratiques. Sur les raisons qui les poussent à faire ensemble. Sans quoi, l’activité du groupe piétine et ses membres peuvent se dégager du projet commun. C’est une manière de redonner de l’élan et de la motivation au collectif. Ce besoin de se redire : « pourquoi nous sommes-nous mis ensemble et où voulions-nous aller ? »
Tooltipopover
Popover API – This provides a declarative mechanism to create content that always renders in the topmost-layer, so that it overlays other web page content. This can be useful for building features like tooltips and notifications. Support for popover was the #1 author request in the recent State of HTML survey.
Ma première intuition pour enrichir les liens de la version archivée était de passer par des éléments natifs (comme toujours). Initialement, j’ai même envisagé un élément <dialog>
qui est déjà mieux supporté mais ça rentrait mal dans le DOM là où je voulais l’insérer. Je me met alors en quête d’un polyfill pour la Popover API qui pourrait convenir mais j’ai un peu peur des effets de bord vu que je découvre et qu’il y a quand même pas mal de possibilités. J’en suis même à me lire une bonne page de doc
[archive] pour essayer de comprendre la distinction entre les deux.
Je finis par abandonner cette piste et je me dis que ça pourrait être un Web Component intéressant. Je m’arrache les cheveux un bon petit moment sur le positionnement et je capitule en me disant qu’il y a déjà des personnes qui ont produit des outils comme Floating UI ou Tippy.js. Choisir c’est renoncer… et j’ai fait les deux à la fois en optant pour Tippy qui prend soin de l’accessibilité [archive]. J’ai trop besoin d’avoir l’expérience de l’interface pour pouvoir affiner par la suite et faire les choses à ma sauce.
N’hésitez pas à jouer avec et à me faire des retours, c’est amené à évoluer.
My recipe for fiction set ten years in the future used to be 90% already-here, 9% not-here-yet but predictable, and 1% who-ordered-that. But unfortunately the ratios have changed. I think we're now down to maybe 80% already-here —climate change takes a huge toll on infrastructure— then 15% not-here-yet but predictable, and a whopping 5% of utterly unpredictable deep craziness.
Cela me rappelle une discussion récente au sujet du manque de pertinence de la météo et de la difficulté à faire de la prédiction sur des données rendues obsolètes par le changement climatique. Les modèles ne sont pas (encore ?) adaptés à un tel chaos.
Manifestement, les écrivains non plus.
Someone out there is working on it: a geolocation-aware social media scraping deep learning application, that uses a gamified, competitive interface to reward its “players” for joining in acts of mob violence against whoever the app developer hates. Probably it has an inoccuous-seeming but highly addictive training mode to get the users accustomed to working in teams and obeying the app's instructions—think Ingress or Pokemon Go. Then, at some pre-planned zero hour, it switches mode and starts rewarding players for violence—players who have been primed to think of their targets as vermin, by a steady drip-feed of micro-targeted dehumanizing propaganda delivered over a period of months.
Ibid.
Ah si en fait 😬.
If we want a system that is consistent with the flourishing of life on earth, we will need a system that mimics nature. Our current economic model doesn’t - for many reasons - and needs to change. Looking at nature, including our own human nature in our private lives, gives us many ideas for what this new, harmonious system could look like.
Il n’y a que les classes moyennes qui peuvent être socialistes. C’était tout l’enjeu de leur destruction pour n’avoir plus que des personnes qui aient peur de perdre le trop peu ou le vraiment beaucoup qu’elles ont. Et la peur rend la manipulation tellement plus facile…
If a monkey hoarded more bananas than it could eat, while most of the other monkeys starved, scientists would study that monkey to figure out what the heck was wrong with it. When humans do it, we put them on the cover of Forbes.
Ibid.
🙈
Équipe
We can typically break down collaboration groups into three types:
- Real teams are all about solving the hardest, most complex problems. A diverse set of perspectives and skills is required to untangle these sorts of problems, for which there is no obvious solution. […]
- Working groups are all about efficiency. Most people spend most of their productive time in working groups. We’ll say it again: there is nothing wrong with being in a working group. […]
- Teams-in-name-only are groups that claim to be a team, but lack emotional commitment and shared purpose. They are like working groups, but without the efficient processes and individual responsibility. […]
Although most people are told that they’re part of a team, the reality is that, more often than not, they’re members of a team-in-name-only.
Teaming is hard because you’re probably not really on a team
[archive]
Devenir une (vraie) équipe prend du temps. Il faut même pouvoir envisager que cela ne devienne jamais le cas. Et ce n’est peut-être pas un souci si on n’a pas ces attentes… ou qu’on peut les attendre.
Nitter est mort. C’était le seul moyen qu’il me restait pour suivre les drama dans la communauté des échecs pro (et ils sont si nombreux !).
Ce n’est pas si grave.
Un autre lieu où il serait possible de marcher en parlant, ou l’inverse. Il est même possible de prolonger en suivant le sentier inter-centre vers Mont-Tremblant.
Si j’écrivais faire ensemble, ça serait faux. C’est une combinaison de expérimenter des chemins vers un monde auquel j’aspire et de les partager. Ça m’intéresse de le faire, et ça ne m’intéresse pas si c’est juste pour moi. Le prompt, c’est écouter mes dissonnances cognitives et suivre le fil. Y cogiter à plusieurs, lire à ces sujets, tester seul ou à plusieurs, le restituer/mettre en œuvre. Arrêter, continuer, recommencer.
J’aime beaucoup la mélodie des Yearnotes de Thomas.
Stratégie
La notion de stratégie revêt une dimension temporelle axée sur l’avenir. Mais lorsque nous tentons de nous engager sur l’avenir, nous nous retrouvons sur un terrain glissant. Trop souvent, la stratégie d’entreprise repose sur le principe erroné selon lequel il est possible de prédire l’avenir d’une manière fiable. Nassim Nicholas Taleb, l’un des auteurs les plus brillants sur l’illusion de la prédictibilité, a dit : « Nous ne pouvons pas vraiment planifier parce que nous ne comprenons pas l’avenir — mais ce n’est pas nécessairement une mauvaise nouvelle. Nous pourrions le faire en gardant à l’esprit ces limitations. Cela requiert simplement du courage. »
Eric Beinhocker va dans le même sens : « On s’attend à ce que les dirigeants d’entreprise se comportent en généraux courageux capables de prédire l’avenir, d’échafauder de grandes stratégies, de mener leurs troupes à une bataille couronnée de succès — puis ils sont virés à la première escarmouche perdue. Il faut des dirigeants courageux pour faire reculer cet état d’esprit, admettre l’incertitude inhérente à l’avenir et privilégier l’apprentissage et l’adaptation au détriment de la prédiction et de la planification. »
Comme le soulignent Taleb et Beinhocker, dans la plupart des organisations conventionnelles, la stratégie est l’essence même de l’approche prévision-contrôle — en déterminant une stratégie, nous fixons les bons objectifs, puis choisissons un itinéraire pour les atteindre. Toute cette approche repose sur un faux raisonnement. Bien qu’il soit possible de prévoir certaines choses, celles qu’il est impossible de prévoir sont bien plus nombreuses. Nous ne pouvons connaître la future situation économique ou celle de notre secteur d’activité, prévoir les innovations qui vont perturber le marché ou les opportunités susceptibles d’apparaître. Il serait plus facile de dresser la toute petite liste de ce que nous pouvons prévoir en toute fiabilité que d’énumérer l’imprévisible, que nous nous évertuons malgré tout trop souvent à essayer d’envisager.
Lorsque nous tentons de prédire l’avenir dans un univers imprévisible, nous nous berçons non seulement d’illusions, mais pire, nous diminuons notre faculté à détecter et nous ajuster à la réalité du moment.
La révolution Holacracy, Brian J. Robertson
Se donner les moyens et les conditions d’être à l’écoute est loin d’être trivial. Une fois le nez dans le guidon, il est facile de laisser pousser des œillères et de réduire son champ des possibles. Après tout, pourquoi avoir envie de faire évoluer une situation qui fonctionne bien ? Pourquoi envisager de nouveaux chemins avec leurs lots d’incertitudes et de dangers ? Mais c’est ce confort qui est le plus dangereux, celui qui fait manquer des rencontres, des occasions d’apprendre ou de découvrir de nouveaux domaines. Ce confort rend les entreprises séniles très rapidement.
J’aime bien la métaphore du vélo proposée par ce livre pour décrire la différence entre un plan à 5 ans et une adaptation continue au contexte changeant.
Imaginez que vous fassiez du vélo comme on gère la plupart des organisations modernes. Vous organiseriez une grande réunion afin de décider l’angle que doit présenter le guidon. Vous détailleriez le plus possible votre itinéraire en répertoriant tous les obstacles connus, le moment précis où vous devrez les éviter, ainsi que la trajectoire nécessaire pour cela. Puis vous enfourcheriez votre vélo, tiendriez fermement le guidon selon l’angle défini, fermeriez les yeux, puis rouleriez conformément au plan. Vous n’avez pratiquement aucune chance d’atteindre votre objectif, même si vous parveniez à garder le vélo bien droit pendant tout le parcours. Et lorsque vous tombez, vous vous demandez probablement, « Pourquoi n’y sommes-nous pas arrivés la première fois ? », voire « Qui a merdé ? »
Cette approche ridicule n’est pas loin de correspondre à l’approche adoptée par de nombreuses organisations pour leur planification stratégique. En revanche, Holacracy aide une organisation à fonctionner à la manière dont nous faisons habituellement du vélo, selon un paradigme de pilotage dynamique, à savoir un ajustement permanent selon les retours obtenus, faisant ainsi naître un cheminement plus organique. Si vous observez un cycliste très doué, vous constaterez une oscillation permanente car il reçoit sans arrêt des informations sensorielles sur sa situation et son environnement lui permettant de corriger légèrement sa direction, sa vitesse, son équilibre et son aérodynamisme. Cette oscillation intervient car il maintient un équilibre dynamique tout en avançant. Les informations qu’il reçoit rapidement lui permettent de respecter les contraintes de l’environnement et de son matériel. Au lieu de perdre beaucoup de temps et d’énergie à prévoir précisément à l’avance le « bon » itinéraire, il garde son but en tête, reste focalisé sur l’instant présent et avance le plus naturellement du monde. Cela ne signifie pas qu’il n’a aucun plan ou tout du moins aucune idée de son itinéraire, mais qu’il parvient à mieux contrôler sa progression en se livrant en permanence à la réalité ambiante et en se fiant à sa capacité à ressentir les choses et à réagir instantanément. De même, l’occasion s’offre à nous d’afficher un meilleur contrôle dans nos organisations en affrontant la réalité et en nous adaptant, en permanence.
Lorsque nous nous attachons à un résultat précis prévu à l’avance, nous risquons de nous retrouver à combattre la réalité quand celle-ci ne correspond pas à notre prévision. Si nous constatons que nous avons dévié du bon cap, nous pouvons en conclure, parfois inconsciemment, que nous sommes très certainement dans l’erreur. Juger ainsi la réalité nuit à notre capacité d’adaptation et nous incite à lutter contre la vérité indésirable, à essayer de forcer la réalité à être conforme à la vision que nous avions. Il s’agit là d’une stratégie loin d’être efficace pour gérer la complexité fluctuante du monde des affaires actuel. Lorsque la réalité entre en conflit avec nos plans les mieux échafaudés, c’est généralement la réalité qui l’emporte.
Je dois faire remarquer qu’adopter une approche plus dynamique pour gagner en contrôle ne revient pas à « ne rien prévoir », tout comme on n’avance pas à vélo « sans piloter ». Il s’agit de modifier notre relation aux prévisions et plans, en les considérant parfois comme des faux raisonnements utiles et non comme des outils essentiels pour contrôler l’organisation. Et il s’agit d’être en phase avec l’instant présent afin de toujours pouvoir piloter en fonction de la réalité.
Ibid.
Alors que le malaise dans lequel sont aujourd’hui plongées les sociétés occidentales n’en finit plus d’être commenté, est-il néanmoins possible de dessiner les contours d’une société idéale, une utopie réaliste, susceptible de constituer, pour les Français, un avenir désirable ? C’est précisément pour apporter des éléments de réponses à cette question qu’a été lancé en 2019 l’Observatoire des perspectives utopiques. Dans le sillage de ces deux années de pandémie et à la veille de l’élection présidentielle, il nous est apparu utile de reconduire cette enquête, pour saisir où en sont les Français et évaluer dans quelle mesure leurs représentations et aspirations ont évolué.
Il y a des choses intéressantes qui ressortent de cet observatoire, notamment en comparant les résultats au cours du temps. Je me demande ce que pourraient donner les résultats de ce même sondage au Québec.
Mot du jour : cynégétophobie.
Bois
La dissonance cognitive du jour : faire un atelier de tour à bois et lire dans la foulée La vie secrète des arbre de Peter Wohlleben brillamment mise en version BD par Fred Bernard et Benjamin Flao.
Lorsque je marche en foret, je sens que je fais partie intégrante du vivant. Je suis, nous sommes naturellement, unis au minéral, aux bactéries, aux virus, aux champignons aux plantes, aux chenilles, aux papillons, à tous les animaux.
Nous sommes tous reliés et ne faisons que passer sur cette mince pellicule de vie qui couvre miraculeusement la terre. Tout le vivant est constitue des mêmes atomes présents sur notre planète depuis sa création.
Je porte en moi des particules qui ont constitue des arbres du crétacé, des légionnaires romains, des plants de tomates rapportés d’Amérique par les conquistadors… rien ne se crée, tout se transforme, dit-on. Rien n’est plus vrai.
D’autant plus motivé pour trouver un bout de forêt à préserver — des chasseurs, de l’exploitation, de la pollution, etc. — dans le coin. Un de mes objectifs 2024.
Écriture
And, I’ll assume we all agree that owning your own website is a good thing, and we all want more people to do it.
But here’s the thing: we need more tools for it. We need simpler tools for it. And we need to make installing and using them trivially simple.
We need more self-hosted platforms for personal publishing that aren’t Wordpress. And don’t point me to Hugo or Netlify or Eleventy or all those things - all of them are great, but none of them are simple enough. We need web publishing tools that do not require users to open the Terminal at all. And we need lots of them.
We need a whole galaxy of options.
Quelques étoiles dans la galaxie :
- Scribouilli (code) par L’Échappée Belle ;
- Write.as (open-source) est le plus proche que je pourrais conseiller avec un support commercial de Musing Studio ;
- mastohost — que j’utilise — permet d’avoir son propre domaine aussi sans vraiment de connaissance technique, le support est réactif ;
- Carrd est revenu plusieurs fois dans ma bulle ces derniers temps ;
- Pika aussi avec une saveur plus humaine.
Il y a une bonne liste dans cette discussion et une autre par ici (section Managed Static site hosts or Blogging platforms
).
Among its suggestions: write a longer headline; split a six-sentence paragraph up because it’s “too long”; and replace “too complex” words like “invariably,” “notoriety,” and “modification.” Dozens of sentences were flagged as being confusing (I disagree) — and it really hated em dashes. I rewrote my prose over and over, but it didn’t seem to satisfy my robot grader. I finally chose one thought per sentence, broke up paragraphs, and replaced words with suggested keywords to get rid of the red dots signaling problems.
The result feels like an AI summary of my story — at any moment, a paragraph could start with “In conclusion…” or “The next thing to consider is…” The nuance, voice, and unexpected twists and turns have been snuffed out. I’m sure some people would prefer this uncomplicated, beat-by-beat version of the story, but it’s gone from being a story written by a real person to a clinical, stiff series of sentences.
Un article de TheVerge qui risque de ne pas être très bien référencé. Le moment où l’on s’adapte pour nourrir les robots n’est pas nouveau, on a « juste » mis une nouvelle étiquette dessus en 2023 qui permet aux robots / algorithmes de se battre entre eux de manière explicite.
Pas sûr de vouloir entrer sur le ring sans m’épuiser très vite.
I propose Data Luddism as a radical response to the productive power of big data and predictive algorithms. My starting point is not the Romantic neo-Luddism of Kirkpatrick Sale but the historical Luddism of 1811-1816, and the Luddites' own rhetoric regarding their resistance to 'obnoxious machines'.
The everything
package and its 3,000+ sub-packages have caused a Denial of Service (DOS) for anyone who installs it. We’re talking about storage space running out and system resource exhaustion.
But that’s not all. The creator took their prank to the next level by setting up http://everything.npm.lol, showcasing the chaos they unleashed. They even included a meme from Skyrim, adding some humor (or mockery, depending on your perspective) to the situation.
When “Everything” Becomes Too Much: The npm Package Chaos of 2024
[archive]
npm install lol
🤣
En parlant de lol…
Si les fictions, celles qu’on s’invente, celles que nous souffle notre inconscient comme celles qu’on lit, ont un rôle majeur à jouer dans la fabrique de notre rapport au monde, alors voilà qui plaide pour redoubler d’ardeur quand il s’agit de nourrir soigneusement nos imaginaires. Quand on voit les déferlements de violence et le virilisme qui caractérisent les héros modernes, on ne peut que s’interroger sur le type de rapport au monde que cela crée. C’est la raison pour laquelle la bataille culturelle passe aussi par la création de nouvelles utopies, ni niaises ni naïves, qui puissent donner d’autres matières à rêver qu’un monde dévasté et peuplé de soldats augmentés.
[…] Nous avons besoin d’autres cadres de pensée dans lesquels évoluer. Nous avons besoin d’ailleurs culturels pour sortir de l’ornière et nous dérouter.
Alors nous irons trouver la beauté ailleurs, Corinne Morel Darleux
Nous accueillons une nouvelle personne chez Scopyleft, l’occasion de former une nouvelle équipe. Ces ailleurs culturels doivent pouvoir être partagés et inspirer pour réussir à essaimer.
C’est l’une de mes frustrations à ne plus participer à des regroupements, ne pas partager par ce biais là les expériences menées depuis 11 ans en matière d’horizontalité et de travail en commun·s.
So when we wonder where all the websites have gone, know it’s the curators we’re nostalgic for because the curators showed us the best the web had to offer once upon a time. And the curators— the tenders, aggregators, collectors, and connectors— can bring us back to something better. Because it’s still out there, we just have to find it.
Here’s the best part. You can be that curator right now, at this very moment. You can start to rebuild the interconnectivity that made the web fun to explore. And you don’t need to be a computer scientist to do it.
Dixième jour que j’ai l’impression de faire des billets trop longs. Beaucoup d’éparpillement suite à un cumul d’onglets ouverts, parfois depuis bien longtemps. Ça vous laisse un petit exercice de curation
vous aussi :).
Dons
Plus que 3 jours pour décider de l’usage de vos #impôts en donnant à des #assos !
Vu le succès de l’opération l’an dernier, je relance le doublement des dons en cette fin d’année 2023, avec un plafond plus élevé ! 🤑💞
Donnez à une des assos ci-dessous, publiez votre reçu en réponse, je double votre don. […]
Admirable. C’est la deuxième année que nous arrivons à faire des dons avec Scopyleft et ça me met en joie. Cela m’a même motivé pour en faire à titre personnel.
Une forme d’impôt volontaire qui ne termine pas / plus à la SAQ.
Pensée (genrée) du jour : un bon développeur fait bien la cuisine, un très bon développeur fait la vaisselle après avoir fait la cuisine.
Il y a une métaphore au niveau du soin, du partage et de la maintenance à peine déguisée.
Masto comme un espace de discussion, le blog comme un espace de synthèse : il me faut un sélecteur de thème clair / foncé car c’est utile à plusieurs personnes. C’est faible comme test utilisateur·ice mais c’est déjà ça. Et puis j’ai découvert plein de pratiques !
Je décline le sélecteur de thème que l’on avait fait en 2020 avec Anthony mais cette fois sous la forme d’un Web Component. Je me suis pris les pieds dans le tapis car les layers en CSS ajoutent un niveau d’indentation dans la logique (et changent la spécificité mais c’est le but !).
Je ne sais pas encore quel style lui donner. J’en profite pour mettre en place le changement subtil de police pour le thème foncé (plus light, ironiquement). J’ai l’espoir que ce type d’adaptation aide les astigmates… à arriver jusqu’au sélecteur de thème 😅.
Bientôt 500 lignes de CSS.
Une fois la transcription terminée, je peux enregistrer le fichier texte du podcast avec la fonction export en mode paragraphe. (non corrigé, brut).
Je suis impressionné.
Ce titre :)
La transcription des podcast serait très importante pour moi car je n’arrive pas à en écouter un plus de 2 minutes sans être à la peine (imaginez-moi au téléphone… ou en visio sans vidéo). J’avais fait des essais il y a 3 ans déjà qui n’étaient pas concluant mais peut-être que l’IA s’en sort mieux aujourd’hui. En tout cas, ça semble être le cas sur cet essai. Il faut que je prenne le temps de transformer ces murmures en mots, j’ai l’impression de passer à côté de beaucoup de choses inspirantes.
We evaluate APIs only on the basis of merit in the context of providing superior search engine results. Considering company x founder political views is not a factor in this evaluation. Politics finding its way into tech is one of the reason we do not have innovation any more.
We are primarily in the business of search and we’d like to stay focused on that.
Vlad (admin Kagi) répondant
[archive] à « Reconsider your partnership with Brave »
À un moment l’année dernière, j’ai essayé Kagi et j’ai failli franchir le pas du payant. Je suis bien content de ne pas l’avoir fait car je m’en serais mordu les doigts aujourd’hui. Dans l’idéal, un moteur de recherche serait objectif mais un algorithme comporte toujours les biais de ses créateur·ices. Et vu la population qui code aujourd’hui, autant dire que c’est mal barré. Le fait qu’un administrateur de Kagi puisse être aussi naïf sur le sujet est assez terrible.
Pas de politique au travail [archive] est ma nouvelle cryptonite.
Vocabulaire
Les tensions et processer les tensions. Essayez de remplacer les termes « problèmes » et « solutions » par « tensions » et « processer ». Les êtres humains semblent être enclins de manière innée à attendre la dernière minute pour gérer ce qu’ils perçoivent comme des problèmes. Par conséquent, l’emploi de ce langage « négatif » dans le monde de l’entreprise peut donner naissance à une culture de l’évitement ou de l’inquiétude inutile. Le terme « tension », comme employé en Holacracy, est neutre et signifie simplement la perception d’un écart entre la réalité et ce qu’elle pourrait être.
Une tension n’est pas un « problème » et n’induit pas nécessairement une « solution ». Elle met en lumière une occasion de rapprocher la situation actuelle de ce qu’elle pourrait être — ce qui sous-entend généralement une amélioration. Holacracy emploie le terme « processer » pour décrire ce phénomène, qui évite la notion de résultat fixe et définitif et illustre un cheminement fait d’une adaptation et de progrès permanents.
Des propositions plutôt que des problèmes. Le changement qui va de pair avec celui que je viens de décrire est de prendre l’habitude de faire des « propositions » au lieu de se contenter de se lamenter. Lorsque vous ressentez une tension, demandez-vous : « Qu’est-ce qui pourrait améliorer la situation ? Que pourrais-je proposer ? » Encouragez votre équipe à en faire de même. La proposition ne se doit pas d’être une « solution » parfaite — c’est un moyen d’entamer la conversation de manière proactive et créative, et non négative.
La révolution Holacracy, Brian J. Robertson, chapitre « Changez votre langage, changez votre culture »
On pourrait y voir de la novlangue de manager mais il y a cette idée derrière qu’on ne tente pas de résoudre un problème mais de libérer — peut-être temporairement — une tension qui me plait bien. Ce que l’on aborde alors ensemble ce sont les actions qui nous semblent aller vers un mieux parmi l’arbre des possibles. L’enjeu d’un collectif qui se respecte est de trouver la légitimité individuelle nécessaire pour continuer à explorer des pistes ne faisant pas forcément l’unanimité lors d’une première itération. Holacratie semble mettre des règles explicites sur ces pratiques.
J’apprécie particulièrement le couple proposition / objections. Difficile de sortir d’une forme de confort une fois celui-ci établi. Peut-être que le refus de confort pourrait être une notion au même titre que le refus de parvenir ? Accepter le risque de l’inconnu pour ne pas se perdre dans un hier déjà expérimenté, déjà dé·fini.
Des objections ? La prochaine fois que vous recherchez l’adhésion de votre équipe à une décision, modifiez votre mode de communication. Ne demandez pas : « Est-ce que tout le monde est d’accord ? » ou « Ma proposition plaît-elle à tout le monde ? ». Ces questions débouchent sur une discussion longue et pénible. Demandez-leur plutôt : « Y a-t-il des objections à l’adoption de cette proposition ? » Et définissez une objection comme « une raison pour laquelle l’adoption de cette proposition causerait du tort ou nous ferait régresser ? »
Voici une autre formulation : « Est-ce que quelqu’un considère la mise en œuvre de cette proposition comme pas assez sûre, sachant que nous pourrons revoir cette décision si elle ne porte pas ses fruits ? » Ce simple changement de langage peut vous faire gagner beaucoup de temps et alléger considérablement le processus décisionnel.
Ibid.
Nicolas L. et Nicolas H. me font des retours sur le nouveau design en passant par Mastodon. Les choix respectifs de chacun·e de rendre les réponses publiques ou non enlèvent une partie des échanges mais c’est vraiment chouette d’entamer un processus d’amélioration (de libération de tensions ?) en commun à ce sujet.
J’essaye de rendre l’épaisseur du soulignement des liens dynamique, lié à la fluidité de la taille du texte 🧑🔬, peut-être que je devrais rendre la taille des bordures dynamiques aussi ? Parfois la contrainte technique peut devenir une contrainte éditoriale acceptable. Cet espace est suffisamment sur-pensé comme ça.
Je commence un thème sombre qui réagit à celui du système d’exploitation par défaut. Surtout pour un besoin personnel pour l’instant, mes yeux en ont besoin. Cela me pousse à ajouter des variables CSS pour les couleurs.
Plus tard, Emmanuel m’enlève une épine du pied sur une formule de grille que je ne comprenais pas totalement. J’apprends des choses au passage. Le copier-coller ? Oui, mais il faudra toujours finir par le décortiquer.
La CSS progresse, 426 lignes ce soir… et un seul breakpoint
défini pour forcer une variable maximale sur les grands écrans. J’aime bien cette idée.
Randonnée de 8 km en famille aujourd’hui, parfois je ne me rends plus trop compte des distances — qui plus est sur un sol difficile. Je voulais surtout savoir jusqu’à quels refuges je pouvais envisager des aventures avec l’enfant dans des conditions hivernales. Chaque année, de nouveaux horizons s’ouvrent.
— Comment appelle-t-on un groupe de faisans ? demande Anna.
— Un bouquet, répond Isobel. Un groupe d’étourneaux ?
— Un murmure.
— De flamants ?
— Une flamboyance de flamants. De hiboux ?
Isobel hésite. Sans lever les yeux de son livre, Emily répond à sa place :
— On dit un parlement de hiboux.
— Très bien. Plus difficile alors. Comment appelle-t-on un groupe d’alouettes ?
— Une exaltation.
— Et de papillons ?
— Un kaléidoscope de papillons.Alors nous irons trouver la beauté ailleurs, Corinne Morel Darleux citant Dominique Fortier sur Emily Dickinson, Les Villes de papiers
💚 Quand l’ornithologie fait de la poésie.