Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 14KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  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>
  13. Village
  14. — David Larlet</title>
  15. <meta name="description" content="Because they are precious, it’s important to understand what makes a village a village, and what kills the village.">
  16. <!-- That good ol' feed, subscribe :). -->
  17. <link rel="alternate"
  18. type="application/atom+xml"
  19. title="Feed"
  20. href="/david/log/">
  21. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  22. <link rel="apple-touch-icon"
  23. sizes="180x180"
  24. href="/static/david/icons2/apple-touch-icon.png">
  25. <link rel="icon"
  26. type="image/png"
  27. sizes="32x32"
  28. href="/static/david/icons2/favicon-32x32.png">
  29. <link rel="icon"
  30. type="image/png"
  31. sizes="16x16"
  32. href="/static/david/icons2/favicon-16x16.png">
  33. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  34. <link rel="mask-icon"
  35. href="/static/david/icons2/safari-pinned-tab.svg"
  36. color="#07486c">
  37. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  38. <meta name="msapplication-TileColor" content="#f7f7f7">
  39. <meta name="msapplication-config"
  40. content="/static/david/icons2/browserconfig.xml">
  41. <meta name="theme-color"
  42. content="#f7f7f7"
  43. media="(prefers-color-scheme: light)">
  44. <meta name="theme-color"
  45. content="#272727"
  46. media="(prefers-color-scheme: dark)">
  47. <!-- Is that even respected? Retrospectively? What a shAItshow…
  48. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  49. <meta name="robots" content="noai, noimageai">
  50. <!-- Documented, feel free to shoot an email. -->
  51. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  52. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  53. <link rel="preload"
  54. href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2"
  55. as="font"
  56. type="font/woff2"
  57. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  58. crossorigin>
  59. <link rel="preload"
  60. href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2"
  61. as="font"
  62. type="font/woff2"
  63. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  64. crossorigin>
  65. <link rel="preload"
  66. href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2"
  67. as="font"
  68. type="font/woff2"
  69. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  70. crossorigin>
  71. <link rel="preload"
  72. href="/static/david/css/fonts/triplicate_t3_regular.woff2"
  73. as="font"
  74. type="font/woff2"
  75. media="(prefers-color-scheme: dark)"
  76. crossorigin>
  77. <link rel="preload"
  78. href="/static/david/css/fonts/triplicate_t3_bold.woff2"
  79. as="font"
  80. type="font/woff2"
  81. media="(prefers-color-scheme: dark)"
  82. crossorigin>
  83. <link rel="preload"
  84. href="/static/david/css/fonts/triplicate_t3_italic.woff2"
  85. as="font"
  86. type="font/woff2"
  87. media="(prefers-color-scheme: dark)"
  88. crossorigin>
  89. <script>
  90. function toggleTheme(themeName) {
  91. document.documentElement.classList.toggle(
  92. 'forced-dark',
  93. themeName === 'dark'
  94. )
  95. document.documentElement.classList.toggle(
  96. 'forced-light',
  97. themeName === 'light'
  98. )
  99. }
  100. const selectedTheme = localStorage.getItem('theme')
  101. if (selectedTheme !== 'undefined') {
  102. toggleTheme(selectedTheme)
  103. }
  104. </script>
  105. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick"
  106. data-instant-intensity="viewport-all">
  107. <article>
  108. <header>
  109. <h1>Village</h1>
  110. </header>
  111. <nav>
  112. <p class="center">
  113. <a rel="prev"
  114. href="/david/2023/06/12/"
  115. title="Publication précédente : Apocalypse">← Précédent</a> •
  116. <nobr>
  117. <a href="/david/" title="Aller à l’accueil" rel="up">
  118. <svg class="icon icon-home">
  119. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"></use>
  120. </svg>
  121. Accueil</a>
  122. </nobr>
  123. <nobr>
  124. <a href="/david/recherche/"
  125. title="Aller à la page de recherche"
  126. rel="search">
  127. <svg class="icon icon-search">
  128. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-search"></use>
  129. </svg>
  130. Recherche</a>
  131. </nobr>
  132. • <a rel="next"
  133. href="/david/2023/06/26/"
  134. title="Publication suivante : Particules">Suivant →</a>
  135. </p>
  136. </nav>
  137. <hr>
  138. <blockquote lang="en">
  139. <p>Because they are precious, it’s important to understand what makes a village a village, and what kills the&nbsp;village.</p>
  140. <p>The central thesis is that what these villages can’t tolerate is a sustained large influx of strangers. A stranger in this context is an nothing more or less than an unfamiliar face. I know it tends to draw the mind in those directions, but please refrain from projecting concepts such as nationality or ethnicity on the term. We’re all simultaneously villagers and strangers in various social&nbsp;circumstances.</p>
  141. <p>A slow trickle of strangers is tolerable, a brief large influx is fine; the strangers’ average interaction is eventually stabilizes and biases toward the a stable group of members, and they quickly find shared values and become villagers too. They become familiar faces, and undoubtedly make their mark on the shared culture. That’s often a refreshing and welcome thing. It’s still a&nbsp;village.</p>
  142. <p>When sustained growth is too large, the strangers’ average interaction is with other strangers, and even if this would have eventually stabilized into something like a village, there are yet more strangers to prevent this from happening. Everyone stays strangers, and a sort of stranger-culture emerges where guards are up by default because there are never any familiar&nbsp;faces.</p>
  143. <p><mark>It’s no longer a village, but something like a train station.</mark> The default mode of being is <em>passing through</em>. People come and go, and there’s no real sense of belonging. There is a sense of anonymity, there are no lasting repercussions for cutting in line or being&nbsp;rude.</p>
  144. <p>It’s an oppressive, alienating, and disempowering&nbsp;environment.</p>
  145. <p><cite><em><a href="https://www.marginalia.nu/log/82_killing_community/">Killing Community</a></em>&nbsp;(<a href="/david/cache/2023/e6c79911a93db53d87a80281d0037b97/">cache</a>)</cite></p>
  146. </blockquote>
  147. <p>Cet article parle de Reddit mais je ressens très fort la transformation qui s’est opérée au sein de Mastodon, d’un village en une gare. Il m’a fallu <a href="/david/2022/11/12/">6&nbsp;mois</a> pour prendre le train et retourner dans ma&nbsp;grotte.</p>
  148. <p>Dans cet espace, je réfléchis beaucoup à cette différence de se sentir <a href="https://sive.rs/below-average">en-dessous de la moyenne</a>&nbsp;(<a href="/david/cache/2023/4d9148b9d78455c2d67051e467d2e824/">cache</a>). Et ce changement de point de vue me fait aussi reconsidérer mes dépendances et mes incompétences. Ce n’est pas cet atelier vélo qui est mauvais, ce sont mes choix techniques qui m’ont rendu incompétent face aux pannes actuelles qui demandent davantage d’outillage et d’expérience. Etc.</p>
  149. <p>En ce moment, je travaille avec <a href="https://www.croix-rouge.fr/">La Croix-Rouge française</a>, le <a href="https://labrri.net/">Laboratoire de recherche en relations interculturelles de l’Université de Montréal</a> et surtout <a href="https://github.com/umap-project/umap/">uMap</a> et son essaimage, autant de projets et d’explorations qui redonnent du sens à mes investissements dans le numérique. Il faudrait que je prenne le temps d’écrire à ce sujet, j’aurais probablement des choses à partager côté évolution de Scopyleft&nbsp;aussi.</p>
  150. <p>Dans un temps et un espaces finis, il faut constamment rebâtir les chemins de sa pensée et prendre soin des relations du village. Mon activité devient alors davantage celle d’un conteur, qui se sert parfois d’outils pour mettre en musique les actions des&nbsp;autres.</p>
  151. <nav>
  152. <p>
  153. <a href="/david/2023/gratitude/"
  154. title="Liste de tous les articles 2023 associés à cette étiquette"
  155. rel="tag">#gratitude</a>
  156. <a href="/david/2023/incompetence/"
  157. title="Liste de tous les articles 2023 associés à cette étiquette"
  158. rel="tag">#incompétence</a>
  159. <a href="/david/2023/simplicite/"
  160. title="Liste de tous les articles 2023 associés à cette étiquette"
  161. rel="tag">#simplicité</a>
  162. <a href="/david/#tags-2023" title="Liste de toutes les étiquettes 2023">
  163. <svg class="icon icon-tags">
  164. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-tags"></use>
  165. </svg>
  166. tous ?</a>
  167. </p>
  168. </nav>
  169. <nav>
  170. <p class="center">
  171. <a rel="prev"
  172. href="/david/2023/06/12/"
  173. title="Publication précédente : Apocalypse">← Précédent</a> •
  174. <a href="/david/2023/" title="Liste des publications récentes">↑ En 2023</a>
  175. • <a rel="next"
  176. href="/david/2023/06/26/"
  177. title="Publication suivante : Particules">Suivant →</a>
  178. </p>
  179. </nav>
  180. </article>
  181. <hr>
  182. <footer>
  183. <p>
  184. <nobr>
  185. <a href="/david/" title="Aller à l’accueil">
  186. <svg class="icon icon-home">
  187. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"></use>
  188. </svg>
  189. Accueil</a>
  190. </nobr>
  191. <nobr>
  192. <a href="/david/log/" title="Accès au flux RSS">
  193. <svg class="icon icon-rss2">
  194. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  195. </svg>
  196. Suivre</a>
  197. </nobr>
  198. <nobr>
  199. <a href="http://larlet.com"
  200. title="Go to my English profile"
  201. data-instant>
  202. <svg class="icon icon-user-tie">
  203. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  204. </svg>
  205. Pro</a>
  206. </nobr>
  207. <nobr>
  208. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">
  209. <svg class="icon icon-mail">
  210. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  211. </svg>
  212. Email</a>
  213. </nobr>
  214. <nobr>
  215. <abbr class="nowrap"
  216. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">
  217. <svg class="icon icon-hammer2">
  218. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  219. </svg>
  220. Légal</abbr>
  221. </nobr>
  222. </p>
  223. <template id="theme-selector">
  224. <form>
  225. <fieldset>
  226. <legend>
  227. <svg class="icon icon-brightness-contrast">
  228. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  229. </svg>
  230. Thème
  231. </legend>
  232. <label>
  233. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  234. Auto
  235. </label>
  236. <label>
  237. <input type="radio" value="dark" name="chosen-color-scheme">
  238. Foncé
  239. </label>
  240. <label>
  241. <input type="radio" value="light" name="chosen-color-scheme">
  242. Clair
  243. </label>
  244. </fieldset>
  245. </form>
  246. </template>
  247. </footer>
  248. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  249. <script>
  250. function loadThemeForm(templateName) {
  251. const themeSelectorTemplate = document.querySelector(templateName)
  252. const form = themeSelectorTemplate.content.firstElementChild
  253. themeSelectorTemplate.replaceWith(form)
  254. form.addEventListener('change', (e) => {
  255. const chosenColorScheme = e.target.value
  256. localStorage.setItem('theme', chosenColorScheme)
  257. toggleTheme(chosenColorScheme)
  258. })
  259. const selectedTheme = localStorage.getItem('theme')
  260. if (selectedTheme && selectedTheme !== 'undefined') {
  261. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  262. }
  263. }
  264. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  265. window.addEventListener('load', () => {
  266. let hasDarkRules = false
  267. for (const styleSheet of Array.from(document.styleSheets)) {
  268. let mediaRules = []
  269. for (const cssRule of styleSheet.cssRules) {
  270. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  271. continue
  272. }
  273. // WARNING: Safari does not have/supports `conditionText`.
  274. if (cssRule.conditionText) {
  275. if (cssRule.conditionText !== prefersColorSchemeDark) {
  276. continue
  277. }
  278. } else {
  279. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  280. continue
  281. }
  282. }
  283. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  284. }
  285. // WARNING: do not try to insert a Rule to a styleSheet you are
  286. // currently iterating on, otherwise the browser will be stuck
  287. // in a infinite loop…
  288. for (const mediaRule of mediaRules) {
  289. styleSheet.insertRule(mediaRule.cssText)
  290. hasDarkRules = true
  291. }
  292. }
  293. if (hasDarkRules) {
  294. loadThemeForm('#theme-selector')
  295. }
  296. })
  297. </script>
  298. </body>
  299. </html>