Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

index.html 29KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the `title` element
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Recherche — David Larlet</title>
  13. <meta name="description" content="C’est une chose étrange que de vouloir être explorateur de nos jours. Le mot même pourrait sembler désuet, témoin d’un temps révolu où l’homme était encore petit et le monde encore grand. Reste-t-il toujours du mystère, de l’inconnu alors que la modernité s’acharne à tout maîtriser et à tout conquérir ? L’homme d’aujourd’hui détruit bien plus volontiers qu’il n’explore. Il uniformise le monde, s’accapare des terres et des océans et finalement tue le plus grand trésor de cette planète : le vivant.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  53. <article>
  54. <header>
  55. <h1>Recherche</h1>
  56. </header>
  57. <nav>
  58. <p class="center">
  59. <a rel="prev" href="/david/2022/03/23/" title="Publication précédente : Open-source">← Précédent</a> •
  60. <nobr>
  61. <a href="/david/" title="Aller à l’accueil"
  62. ><svg class="icon icon-home">
  63. <use
  64. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  65. ></use>
  66. </svg>
  67. Accueil</a
  68. >
  69. </nobr>
  70. <nobr>
  71. <a href="/david/recherche/" title="Aller à la page de recherche"
  72. ><svg class="icon icon-search">
  73. <use
  74. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-search"
  75. ></use>
  76. </svg>
  77. Recherche</a
  78. >
  79. </nobr>
  80. • <a rel="next" href="/david/2022/04/14/" title="Publication suivante : Ressenti">Suivant →</a>
  81. </p>
  82. </nav>
  83. <hr>
  84. <blockquote>
  85. <p>C’est une chose étrange que de vouloir être explorateur de nos jours. Le mot même pourrait sembler désuet, témoin d’un temps révolu où l’homme était encore petit et le monde encore grand. Reste-t-il toujours du mystère, de l’inconnu alors que la modernité s’acharne à tout maîtriser et à tout conquérir&#8239;? L’homme d’aujourd’hui détruit bien plus volontiers qu’il n’explore. Il uniformise le monde, s’accapare des terres et des océans et finalement tue le plus grand trésor de cette planète&nbsp;: le&nbsp;vivant.</p>
  86. <p>Quand on se penche sur la définition qu’en donne le Larousse, l’explorateur y est décrit comme une «&nbsp;personne qui fait un voyage de découverte dans un pays lointain, une région inconnue&nbsp;». Mais aujourd’hui où le pays le plus lointain se trouve à seulement quelques heures d’avion et où il faut scruter à la loupe des cartes topographiques pour repérer des régions vierges ou au mieux mal connues, cela a-t-il encore du sens&#8239;? <mark>Reste-t-il seulement quelque chose à explorer&#8239;?</mark>&nbsp;[…]</p>
  87. <p>Je vois donc l’exploration comme la possibilité de rencontrer autre chose que soi-même, comme la volonté de mieux connaître la nature, de renseigner sa destruction, mais aussi et surtout de réapprendre notre place sur Terre. Un monde sans exploration possible serait un monde vide. Vide de sens, vide de vie. Un monde mort. Tant que les explorateurs pourront exercer leur métier, rien ne sera tout à fait&nbsp;perdu.</p>
  88. <p><cite><em>Comment survivre à l’attaque d’un ours et autres aventures</em>, Eliott&nbsp;Schonfeld</cite></p>
  89. </blockquote>
  90. <p>Je suis frustré de ne pas avoir de page de recherche sur cet espace depuis des années. (Je ne sais pas si je suis frustré qu’il n’y ait pas de recherche ou par l’idée que ce soit un site sans possibilité de s’y retrouver mais c’est un autre débat.) J’avais expérimenté un peu avec <a href="https://lunrjs.com/">LunrJS</a> sans être convaincu par le support du français. Je regarde aussi régulièrement ce qu’il se passe <a href="https://gohugo.io/tools/search/">côté Hugo</a> ou <a href="https://pypi.org/project/pelican-search/">Pelican</a> mais que ce soit <a href="https://stork-search.net/">Stork</a> ou <a href="https://github.com/tinysearch/tinysearch">tinysearch</a>, passer par Rust (et WebAssembly&#8239;!) ajoute une complexité non négligeable, même si des personnes ont pris la peine de <a href="https://lord.re/posts/206-recherche-pour-un-blog-statique/">documenter</a>&nbsp;(<a href="/david/cache/2022/2f3ed5cb927427fb834b4a9d657592be/">cache</a>) leurs <a href="https://endler.dev/2019/tinysearch/">implémentations</a>&nbsp;(<a href="/david/cache/2022/d97914db7d2e525edc27669adbc0f917/">cache</a>) en détail. Merci&#8239;!</p>
  91. <p>Et puis il y a quelques jours, je tombe sur ces <a href="https://gomakethings.com/how-to-create-a-search-page-for-a-static-website-with-vanilla-js/">deux</a>&nbsp;(<a href="/david/cache/2022/09da2c716e8bb15e5d22ee071cf39358/">cache</a>) <a href="https://gomakethings.com/how-to-update-the-url-of-a-page-without-causing-a-reload-using-vanilla-javascript/">articles</a>&nbsp;(<a href="/david/cache/2022/2c67b87e1b880952bb277fc429cb8bf5/">cache</a>) de Chris Ferdinandi et je me dis que ça vaut le coup de tenter en faisant quelques copier-coller. Histoire de voir au moins à quelle taille d’index est-ce que j’arrive et si j’en comprends bien le code. Je commence avec les entrées depuis 2020&nbsp;et j’arrive à une taille raisonnable de téléchargement (350&#8239;Ko). En allant chercher quelques années précédentes, je monte jusqu’à 700&#8239;Ko de transfert ce qui me semble être la limite acceptable pour une telle fonctionnalité. Je suis enthousiaste à l’idée d’avoir avancé sur ce vieux sujet en quelques lignes de JS et de&nbsp;Python&#8239;!</p>
  92. <p>J’ai fait <a href="https://git.larlet.fr/davidbgk/larlet-fr-david/src/commit/c0b4ddac306cfe56cd55c578b53d7c0edf7d4fd8/david/templates/recherche.html#L157-L371">quelques améliorations</a> depuis, notamment car je voulais que l’on voit les termes recherchés, un <em>template</em> dédié pour le rendu et des <em>stopwords</em> en français. Je fais en sorte que les résultats s’affichent lors de la saisie aussi. Il y aurait encore beaucoup à faire et à défaire (récupérer les résultats plus anciens dans un second temps pour réduire la taille de la page initiale&#8239;?). L’algorithme actuel est… simpliste. Peut-être une opportunité de <a href="/david/2022/03/23/" title="Open-source">faire en commun</a> un outil pour les utilisateur·ices de sites&nbsp;statiques&#8239;?</p>
  93. <p>Si vous voulez jouer avec, ça se passe <a href="/david/recherche/">par ici</a>. Je n’ai aucune idée des recherches que vous allez effectuer car toutes les requêtes restent chez vous. N’hésitez pas à me remonter les incohérences en précisant les termes spécifiés et les résultats&nbsp;escomptés.</p>
  94. <hr />
  95. <p>🐺 J’ai encore une fois croisé des traces de canidé sauvage lors d’une randonnée dans la neige fraîche. Je me demande combien d’entre ell·eux m’ont observé depuis que je vais me balader en forêt. Je réalise à quel point mon imaginaire nord-américain a été bercé par Yakari. À bientôt&nbsp;Trois-Pattes&#8239;!</p>
  96. <hr />
  97. <p>💰 On réfléchit beaucoup autour des salaires au sein de scopyleft (oui, <a href="/david/2021/11/30/">encore</a>). Et la lecture de cet article sur le <a href="https://david.mercereau.info/ma-pratique-du-prix-libre-et-conscient/">prix libre et conscient</a>&nbsp;(<a href="/david/cache/2022/d9af1ba02055491fc25b6849b8fd65d0/">cache</a>) m’a fait envisager un <em>salaire libre et conscient</em>. À&nbsp;suivre…</p>
  98. <hr />
  99. <p>🚲 J’ai vu passer quelqu’un dans mon flux mastodon qui parlait de <em>vélo acoustique</em> en opposition aux vélos électriques. J’adore et&nbsp;j’adopte.</p>
  100. <hr />
  101. <p>🧐 Deux mots à&nbsp;explorer&nbsp;:</p>
  102. <ol>
  103. <li><a href="https://fr.wiktionary.org/wiki/anomie">anomie</a>&nbsp;: État d’une société caractérisée par une désintégration des normes qui règlent la conduite des personnes et assurent l’ordre&nbsp;social.</li>
  104. <li><a href="https://en.wiktionary.org/wiki/Eutopia">Eutopia</a>&nbsp;: A place of ideal well-being, as a practical aspiration (compared with utopia as an impossible&nbsp;concept).</li>
  105. </ol>
  106. <hr />
  107. <p>🎭 L’inconvénient de devenir vieux, c’est de bien trop connaître la <a href="https://www.economist.com/interactive/france-2022">pièce de théâtre</a> qui se joue tous les 5&nbsp;ans. Je vais une nouvelle fois m’abstenir d’y jouer un rôle, qui plus est&nbsp;distant.</p>
  108. <h2 id="trouvailles">Trouvailles <a href="#trouvailles" title="Ancre vers cette partie">#</a></h2>
  109. <blockquote lang="en">
  110. <p>✍️ Many mornings I write very mundane stuff, but the pandemic has taught me not to take the mundaneness of life for granted. <mark>There is luxury in being mundane.</mark> It is like how oxygen is precious to life, but we forget how precious it is because it is in abundance all around us. But once we have a suffocating experience we would never see oxygen the same way again. For me, the mundaneness of my life is&nbsp;precious.</p>
  111. <p><cite><em><a href="https://winnielim.org/journal/making-space-for-my-self-through-journalling/">making space for my self through journalling</a></em>&nbsp;(<a href="/david/cache/2022/6e38073a60400f3930923e61a67ddc56/">cache</a>)</cite></p>
  112. </blockquote>
  113. <blockquote lang="en">
  114. <p>🧑‍🍳 Cooklang is like markdown for recipes. It lets you write recipes in a human-readable format that a computer can parse to get the ingredient list, steps, etc.</p>
  115. <p><cite><em><a href="https://briansunter.com/blog/cooklang/">Cooklang - Managing Recipes in Git</a></em>&nbsp;(<a href="/david/cache/2022/48c2a5401b4445c412167f0ae1280ad8/">cache</a>)</cite></p>
  116. </blockquote>
  117. <blockquote>
  118. <p>🤗 Est-ce qu’il n’y aurait pas là comme un regret de ne plus être celle que j’ai été, un refus de laisser le temps faire son affaire, une bataille perdue d’avance&#8239;? La silhouette fine de la jeune femme me ferait-elle de l’œil dans le miroir&#8239;? C’est bien possible. Pourtant j’aime les rides et les cicatrices, les taches brunes sur mes mains m’attendrissent mais je n’accepte pas encore facilement ce corps qui change, qui s’alourdit, devient moins ferme. <mark>Et je ne comprends pas&nbsp;pourquoi.</mark></p>
  119. <p>Il n’y a aucune raison&nbsp;valable.</p>
  120. <p><cite><em><a href="https://www.carnetsderoutes.me/Du-gras.html">Du gras - Carnets de routes</a></em>&nbsp;(<a href="/david/cache/2022/46d0b4daf67dbeb6a068f921c50076af/">cache</a>)</cite></p>
  121. </blockquote>
  122. <blockquote>
  123. <p>🤔 Je me doute que cet article ne va pas plaire à une bonne partie de mon lectorat. Passer son temps à se la raconter «&nbsp;anarchiste&nbsp;» pour finir par inciter les gens à aller gentiment aux urnes&#8239;? Honnêtement, je me tamponne de la «&nbsp;pureté&nbsp;» du militantisme et de l’idéologie. Le monde, la politique, tout ça, c’est le bordel, et on avance au coup par coup, <mark>comme on peut.</mark> On ne crache certainement sur aucune victoire, même modeste. Je suis peut-être un anarchiste, mais alors un anarchiste opportuniste&nbsp;: peu importe le moyen, si ça apporte un pouième de progrès social, je&nbsp;prends.</p>
  124. <p><cite><em><a href="https://grisebouille.net/lhypothese-melenchon/">L’hypothèse Mélenchon</a></em>&nbsp;(<a href="/david/cache/2022/c89dc81e066c25e15a90123631168673/">cache</a>)</cite></p>
  125. </blockquote>
  126. <blockquote lang="en">
  127. <p>🔗 I like Bohn’s working definition, however vague it might be in the details. <mark>“Be linkable and accessible to any client”</mark> is a provocative test for whether something is “of the&nbsp;web”.</p>
  128. <p><cite><em><a href="https://blog.jim-nielsen.com/2022/what-is-the-web/">What is the Web?</a></em>&nbsp;(<a href="/david/cache/2022/99a44a14a9d140bd39686955a78e5e9f/">cache</a>)</cite></p>
  129. </blockquote>
  130. <blockquote lang="en">
  131. <p>📍 DAOs are, I think, one of the best illustrations of the problem with a lot of these Web3 projects: They are trying to find technological solutions that will somehow codify very complex social structures. A lot of them also seem to operate under the assumption that everyone is acting in good faith, and that <mark>project members’ interests will generally align</mark>—a baffling assumption given the amount of bad actors in the crypto&nbsp;space.</p>
  132. <p><cite><em><a href="https://www.fastcompany.com/90733574/how-a-wikipedia-engineer-became-one-of-the-loudest-web3-skeptics">How a Wikipedia volunteer editor became a very vocal Web3 critic</a></em>&nbsp;(<a href="/david/cache/2022/10bfffb87f475e23c0dd0a30527b9750/">cache</a>)</cite></p>
  133. </blockquote>
  134. <blockquote>
  135. <p>🇷🇺 Toujours, je répondais&nbsp;: «&nbsp;Non les gars, la Russie n’est pas le passé de l’Europe. La Russie est votre futur. Regardez ce qui se passe en Russie et vous verrez ce qui arrivera à vos propres sociétés.&nbsp;» Tout se passe ici en accéléré. […] La paix est incompatible avec le présent système politique, avec les conditions sociales qui ont rendu Poutine possible. Poutine est bien entendu responsable personnellement de cette guerre. Mais il est aussi <mark>le résultat de ces trente dernières années d’inégalités et d’exploitation</mark> pendant lesquelles les récits nationalistes ont été légitimés, tandis que la perte de voix des plus pauvres ouvrait la voie aux dérives dictatoriales. La guerre est le fruit de ces penchants libéraux et&nbsp;nationalistes.</p>
  136. <p><cite><em><a href="https://www.revue-ballast.fr/alexey-sakhnin-la-victoire-sur-poutine-viendra-de-linterieur/">«&nbsp;La victoire sur Poutine viendra de l’intérieur&nbsp;»</a></em>&nbsp;(<a href="/david/cache/2022/37d3c1e9f20ea7396919f9f6cda24a08/">cache</a>)</cite></p>
  137. </blockquote>
  138. <blockquote lang="en">
  139. <p>🗺 As journalists and illustrators, there is no way around simplifying the world for the sake of readability. Whether in maps or in text. But we can be much more aware of <mark>the consequences of those simplifications</mark> – and be honest about what’s happening. We can present a map as a story that contains moral choices, rather than portraying it as the&nbsp;truth.</p>
  140. <p><cite><em><a href="https://thecorrespondent.com/664/how-maps-in-the-media-make-us-more-negative-about-migrants">How maps in the media make us more negative about migrants</a></em>&nbsp;(<a href="/david/cache/2022/9f2c19796746e6888e309647a49508bb/">cache</a>)</cite></p>
  141. </blockquote>
  142. <blockquote lang="en">
  143. <p>🤓 We had this debate about Iraq. Was Iraq the way it was because of Saddam, or was Saddam the way he was because of Iraq? In other words, there’s the personality, which can’t be denied, but there are also <mark>structural factors</mark> that shape the personality. One of the arguments I made in my Stalin book was that being the dictator, being in charge of Russian power in the world in those circumstances and in that time period, made Stalin who he was and not the other way&nbsp;around.</p>
  144. <p><cite><em><a href="https://www.newyorker.com/news/q-and-a/stephen-kotkin-putin-russia-ukraine-stalin">The Weakness of the Despot</a></em>&nbsp;(<a href="/david/cache/2022/147b20ce875cacebd10f490f2690ce57/">cache</a>)</cite></p>
  145. </blockquote>
  146. <blockquote>
  147. <p>🚙 Steve Jobs disait que l’ordinateur allait devenir une bicyclette pour l’esprit, un outil sobre, efficient, réparable et améliorable. Chez Apple, la bicyclette s’est transformée en&nbsp;SUV.</p>
  148. <p><cite><em><a href="https://louisderrac.com/2022/03/23/apple-et-la-convialite/">Apple et la convivialité</a></em>&nbsp;(<a href="/david/cache/2022/580f9e17e55d43379850d613f51cf3a2/">cache</a>)</cite></p>
  149. </blockquote>
  150. <blockquote>
  151. <p>🎯 Un développeur web très <mark>au centre</mark>, ça serait une personne qui est salariée dans une entreprise financée par de la dette (une start-up), dont le produit “œuvre pour un monde meilleur” et dont certains des clients, directs ou indirects, représentent les énergies fossiles ou des industries polluantes. Cette personne se moquerait de ses camarades, ne s’intéresserait pas aux inégalités de son équipe, de l’utilisation/traitement/revente des données, et prendrait l’avion pour aller à des conférences ou en séminaire&nbsp;d’équipe.</p>
  152. <p><cite><em><a href="https://thom4.net/2022/03/23/marges/">☕️ Journal&nbsp;: Marges</a></em>&nbsp;(<a href="/david/cache/2022/4bf828ef0ce7191d048d0c510a3c3e0c/">cache</a>)</cite></p>
  153. </blockquote>
  154. <blockquote lang="en">
  155. <p>🦋 I guess the thing that would really help with this is education and helping people hone their skills as developers. I understand that there’s a learning curve and not everyone is going to become a programming god overnight, but every little bit sets off butterfly effects that will ripple down in other ways. Any solution that <mark>requires everyone be a programming god</mark> isn’t viable for anyone, including programming&nbsp;gods.</p>
  156. <p><cite><em><a href="https://christine.website/blog/social-quandry-devops-2022-03-17">Technical Solutions Poorly Solve Social Problems</a></em>&nbsp;(<a href="/david/cache/2022/3e8bb1b63246d6f97316864569492382/">cache</a>)</cite></p>
  157. </blockquote>
  158. <blockquote lang="en">
  159. <p>🚲 It’s one thing for a city to build a few pop-up bike lanes. It’s another for them to go the extra mile (or kilometer, in Jakarta) and officially <mark>prioritize road space for&nbsp;non-drivers.</mark></p>
  160. <p><cite><em><a href="https://infiniteblock.substack.com/p/jakartas-transit-miracle">Jakarta’s Transit Miracle</a></em>&nbsp;(<a href="/david/cache/2022/a863c20d0cb9722df74219009e8365a3/">cache</a>)</cite></p>
  161. </blockquote>
  162. <blockquote lang="en">
  163. <p>🍫 For example, to stop eating chocolate—that’s something <mark>a dead person can do better than you</mark> because, no matter what, they’ll definitely never, ever eat chocolate again. […] Any goal that is about not doing something or stopping doing something is a dead person’s&nbsp;goal.</p>
  164. <p><cite><em>The Happiness Trap</em>, Russ&nbsp;Harris</cite></p>
  165. </blockquote>
  166. <blockquote lang="en">
  167. <p>🐝 Honchar describes these technological battles, and Aerorozvidka’s way of fighting, as the future of warfare, in which swarms of <mark>small teams networked together</mark> by mutual trust and advanced communications can overwhelm a bigger and more heavily armed&nbsp;adversary.</p>
  168. <p>“We are like a hive of bees,” he said. “One bee is nothing, but if you are faced with a thousand, it can defeat a big force. We are like bees, but we work at&nbsp;night.”</p>
  169. <p><cite><em><a href="https://www.theguardian.com/world/2022/mar/28/the-drone-operators-who-halted-the-russian-armoured-vehicles-heading-for-kyiv">The drone operators who halted Russian convoy headed for Kyiv</a></em>&nbsp;(<a href="/david/cache/2022/c7ebf32ee18c4f44c452f864729a21a8/">cache</a>)</cite></p>
  170. </blockquote>
  171. <blockquote lang="en">
  172. <p>🔨 “In one sense, this register is just annoying because it’s tacky and cliched,” says Mark. “But again, it’s annoying because it just seems so lazily narcissistic. One thing I will say about the idea of the apocalypse is that it’s usually at least as much a fantasy as it is fear. As often as not, <mark>it’s a narcissistic fantasy about being a witness</mark>, and subject, of the end of everything. And when it’s invoked, as it so often is, in this world-weary, ironic register it’s a way of seeming to be maximally serious – because what could be more serious than the end of the world? – while being about as frivolous as it’s possible to&nbsp;be.</p>
  173. <p><cite><em><a href="https://www.dazeddigital.com/politics/article/55563/1/stop-making-the-ukraine-war-about-you">Stop making the Ukraine war about you</a></em>&nbsp;(<a href="/david/cache/2022/cf85372fcb8da232d3fb8d95a88bc8fe/">cache</a>)</cite></p>
  174. </blockquote>
  175. <blockquote lang="en">
  176. <p>👋 When your FOSS project chooses to use a non-free platform, you give it an official vote of confidence on behalf of your project. In other words, you lend some of your project’s credibility and legitimacy to the platforms you choose. These platforms are defined by network effects, and <mark>your choice is an investment in that network.</mark>&nbsp;[…]</p>
  177. <p>In short, choosing non-free platforms is an individualist, short-term investment which prioritizes your project’s apparent access to popularity over the success of the FOSS ecosystem as a&nbsp;whole.</p>
  178. <p><cite><em><a href="https://drewdevault.com/2022/03/29/free-software-free-infrastructure.html">It is important for free software to use free software infrastructure</a></em>&nbsp;(<a href="/david/cache/2022/ed7544349c2bef8c7f1bfff3ab286fd6/">cache</a>)</cite></p>
  179. </blockquote>
  180. <blockquote lang="en">
  181. <p>💔 If you work with full time remote employees or contractors, please put channels in place to communicate with family or alternate contacts. Make sure emergency contact info is shared on both&nbsp;sides.</p>
  182. <p><cite><em><a href="https://www.sofuckingagile.com/blog/mourning-loss-as-a-remote-team">Mourning Loss of a Team Member as a Remote Team</a></em>&nbsp;(<a href="/david/cache/2022/5eb0016b355ac4b358be367fe64f4c84/">cache</a>)</cite></p>
  183. </blockquote>
  184. <nav>
  185. <p class="center">
  186. <a rel="prev" href="/david/2022/03/23/" title="Publication précédente : Open-source">← Précédent</a> •
  187. <a href="/david/2022/" title="Liste des publications récentes">↑ En 2022</a>
  188. • <a rel="next" href="/david/2022/04/14/" title="Publication suivante : Ressenti">Suivant →</a>
  189. </p>
  190. </nav>
  191. </article>
  192. <hr>
  193. <footer>
  194. <p>
  195. <nobr>
  196. <a href="/david/" title="Aller à l’accueil"
  197. ><svg class="icon icon-home">
  198. <use
  199. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  200. ></use>
  201. </svg>
  202. Accueil</a
  203. >
  204. </nobr>
  205. <nobr>
  206. <a href="/david/log/" title="Accès au flux RSS"
  207. ><svg class="icon icon-rss2">
  208. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  209. </svg>
  210. Suivre</a
  211. >
  212. </nobr>
  213. <nobr>
  214. <a href="http://larlet.com" title="Go to my English profile" data-instant
  215. ><svg class="icon icon-user-tie">
  216. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  217. </svg>
  218. Pro</a
  219. >
  220. </nobr>
  221. <nobr>
  222. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
  223. ><svg class="icon icon-mail">
  224. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  225. </svg>
  226. Email</a
  227. >
  228. </nobr>
  229. <nobr>
  230. <abbr
  231. class="nowrap"
  232. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
  233. ><svg class="icon icon-hammer2">
  234. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  235. </svg>
  236. Légal</abbr
  237. >
  238. </nobr>
  239. </p>
  240. <template id="theme-selector">
  241. <form>
  242. <fieldset>
  243. <legend><svg class="icon icon-brightness-contrast">
  244. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  245. </svg> Thème</legend>
  246. <label>
  247. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  248. </label>
  249. <label>
  250. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  251. </label>
  252. <label>
  253. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  254. </label>
  255. </fieldset>
  256. </form>
  257. </template>
  258. </footer>
  259. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  260. <script>
  261. function loadThemeForm(templateName) {
  262. const themeSelectorTemplate = document.querySelector(templateName)
  263. const form = themeSelectorTemplate.content.firstElementChild
  264. themeSelectorTemplate.replaceWith(form)
  265. form.addEventListener('change', (e) => {
  266. const chosenColorScheme = e.target.value
  267. localStorage.setItem('theme', chosenColorScheme)
  268. toggleTheme(chosenColorScheme)
  269. })
  270. const selectedTheme = localStorage.getItem('theme')
  271. if (selectedTheme && selectedTheme !== 'undefined') {
  272. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  273. }
  274. }
  275. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  276. window.addEventListener('load', () => {
  277. let hasDarkRules = false
  278. for (const styleSheet of Array.from(document.styleSheets)) {
  279. let mediaRules = []
  280. for (const cssRule of styleSheet.cssRules) {
  281. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  282. continue
  283. }
  284. // WARNING: Safari does not have/supports `conditionText`.
  285. if (cssRule.conditionText) {
  286. if (cssRule.conditionText !== prefersColorSchemeDark) {
  287. continue
  288. }
  289. } else {
  290. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  291. continue
  292. }
  293. }
  294. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  295. }
  296. // WARNING: do not try to insert a Rule to a styleSheet you are
  297. // currently iterating on, otherwise the browser will be stuck
  298. // in a infinite loop…
  299. for (const mediaRule of mediaRules) {
  300. styleSheet.insertRule(mediaRule.cssText)
  301. hasDarkRules = true
  302. }
  303. }
  304. if (hasDarkRules) {
  305. loadThemeForm('#theme-selector')
  306. }
  307. })
  308. </script>
  309. </body>
  310. </html>