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 59KB

1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
11 maanden geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
11 maanden geleden
1 jaar geleden
11 maanden geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
1 jaar geleden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684
  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. Tag #technique
  14. — David Larlet</title>
  15. <meta name="description" content="Publications relatives au tag #technique">
  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. <style type="text/css">
  106. details[open] summary {
  107. display: none;
  108. }
  109. </style>
  110. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick"
  111. data-instant-intensity="viewport-all">
  112. <header>
  113. <h1>Publications relatives au tag #technique</h1>
  114. </header>
  115. <nav>
  116. <p class="center">
  117. <a href="/david/" title="Aller à l’accueil">
  118. <svg class="icon icon-home">
  119. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  120. </svg>
  121. Accueil</a>
  122. ‱ <a rel="tags"
  123. href="/david/#tags-2023"
  124. title="Liste de toutes les Ă©tiquettes">
  125. <svg class="icon icon-tags">
  126. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-tags"></use>
  127. </svg>
  128. Étiquettes</a>
  129. </p>
  130. </nav>
  131. <hr>
  132. <main>
  133. <p>Les plus rĂ©centes en premier, les 3 premiĂšres sont dĂ©pliĂ©es et ensuite c’est Ă  la demande, bonne exploration !</p>
  134. <h2>
  135. <a href="/david/2023/12/03/" title="Lien permanent vers cet article">NostAlgIe</a> (2023-12-03)
  136. </h2>
  137. <p>Paradoxalement, les <abbr title="Large Language Model">LLM</abbr> qui sont annoncĂ©s comme Ă©tant l’avenir ne font que reproduire ce qui a eu lieu dans le passĂ©. Comme un auto-correct qui ne saurait pas que la langue Ă©volue. Chaque <em>prompt</em> demande Ă  notre passĂ© de construire notre avenir, une forme d’hĂ©ritage numĂ©rique auquel il va falloir&nbsp;s’habituer.</p>
  138. <p>ConsidĂ©rant que nous sommes Ă  un moment charniĂšre oĂč il faudrait justement dĂ©vier d’une trajectoire passĂ©e qui nous propulse Ă  +trop-de-degrĂ©s, ces outils —&nbsp;par nature&nbsp;— rĂ©actionnaires ne sont-ils pas en train de nous conforter dans nos erreurs&nbsp;passĂ©es&#8239;?</p>
  139. <p>Et c’est lĂ  oĂč ça devient intĂ©ressant, peut-on de maniĂšre Ă©thique choisir d’ĂȘtre orientĂ©s et quelles dĂ©rives certaines cela aurait&#8239;? Il y a dĂ©jĂ  des biais Ă©normes sur les jeux d’apprentissage mais est-ce que je pourrais choisir par exemple une <em>saveur</em> de ChatGPT <a href="https://www.wired.com/story/search-engine-ecosia-generative-ai-revolution/">qui ait Ă©tĂ© dĂ©finie par Ecosia&#8239;?</a>&nbsp;(<a href="/david/cache/2023/b3accd4d0eb51c1628b85144224efa04/">cache</a>) Quels paramĂštres politiques sont acceptables&#8239;? Et pour&nbsp;qui&#8239;?</p>
  140. <p>Bref, c’était mieux avant&nbsp;🙃.</p>
  141. <hr />
  142. <blockquote lang="en">
  143. <p>🙄 Provides neutral analysis, fostering open communication and&nbsp;trust.</p>
  144. <p><cite><em><a href="https://liarliar.ai/">LiarLiar.ai</a></em></cite></p>
  145. </blockquote>
  146. <blockquote lang="en">
  147. <p>✍ Even if there are no real updates there is always something to say. In those moments, I write about something that happened to me this week. A small anecdote. <mark>Something human.</mark> Something grounding. No design mic-drops. No condescending words of&nbsp;wisdom.</p>
  148. <p><cite><em><a href="https://markboulton.co.uk/journal/an-anchor/">An Anchor - Mark Boulton</a></em>&nbsp;(<a href="/david/cache/2023/ef356702864a79503a82ed2e288dd6fb/">cache</a>)</cite></p>
  149. </blockquote>
  150. <blockquote lang="en">
  151. <p>đŸ§‘â€âš–ïž The Functional Source License (FSL) is a mostly permissive non-compete license that converts to Apache 2.0&nbsp;or MIT after two years. It is designed for SaaS companies that value both user freedom and developer sustainability. FSL provides everything a developer needs to use and learn from your software without harmful&nbsp;free-riding.</p>
  152. <p><cite><em><a href="https://fsl.software/">FSL</a></em></cite></p>
  153. </blockquote>
  154. <h2>
  155. <a href="/david/2023/09/27/" title="Lien permanent vers cet article">Perspective</a> (2023-09-27)
  156. </h2>
  157. <blockquote lang="en">
  158. <p>Let’s call the generally pro-Tailwind group <em>Builders</em>, and let’s call the generally anti-Tailwind group <em>Crafters</em>.</p>
  159. <p>This isn’t to say that Crafters don’t build things, or that the Builders aren’t skilled craftspeople. But as a quick and messy shorthand, let’s go with it for a moment, because I think it hints at the values of these two&nbsp;groups.</p>
  160. <p>[
]</p>
  161. <p>Builders clearly value getting the work done as quickly and efficiently as possible. They are making something—likely something with parts beyond the frontend—and are eager to see it through to&nbsp;completion.</p>
  162. <p>[
]</p>
  163. <p>On the other side, the Crafters tend to be seasoned CSS specialists, and almost always enjoy the part of the work that Tailwind is supposed to make easier. It’s fair to say they’ve overcome the challenge presented by CSS—or, at least, <mark>that this is where they <em>like</em> to be&nbsp;challenged.</mark></p>
  164. <p>Crafters may be building holistic products and projects, just like Builders. But Crafters generally are less focused on <em>getting through</em> the frontend as a <em>part</em> of that work, and instead see the frontend as <em>the product itself</em>.</p>
  165. <p><cite><em><a href="https://joshcollinsworth.com/blog/tailwind-is-smart-steering">Classic rock, Mario Kart, and why we can’t agree on Tailwind</a></em>&nbsp;(<a href="/david/cache/2023/2074a4d527220f5ddf2dc0b4e678c83a/">cache</a>)</cite></p>
  166. </blockquote>
  167. <p>Un article nuancĂ© qui pose le doigt sur la diffĂ©rence de point de vue dans l’utilisation des outils. Oui, c’est le second article technique d’affilĂ©, aprĂšs je vais prendre mes&nbsp;gouttes.</p>
  168. <p>Le parallĂšle est intĂ©ressant avec les joueurs et les audiophiles car on est toujours dans la recherche de l’accomplissement au-delĂ  de la performance pure. Une histoire de plaisir Ă  arpenter le chemin et Ă  le rendre accessible au plus grand nombre
 tout en ayant conscience d’ĂȘtre un peu Ă©litiste en se permettant cela car la face nord offre d’autres&nbsp;dĂ©fis.</p>
  169. <p>Je respecte —&nbsp;et j’admire de plus en plus&nbsp;— les personnes qui n’ont pas besoin d’entrer Ă  fond dans un sujet pour s’amuser. Il y a une innocence dont Ă©mane une forme de beautĂ©. Certain·es pourraient y lire une condescendance mal placĂ©e mais pas du tout, cette recherche est bien trop souvent un fardeau chronophage qui pourrit la vie et les relations. Un groupe sain nĂ©cessite probablement d’avoir les deux façons d’apprĂ©hender les choses pour arriver Ă  l’équilibre instable qui consiste Ă  aller de&nbsp;l’avant.</p>
  170. <p>Oh, et pour revenir aux CSS, <strong>pour mon usage</strong> qui est de faire des petits outils rĂ©silients en Ă©quipe rĂ©duite, j’utilise de plus en plus des <em>frameworks</em> <a href="https://github.com/dbohdan/classless-css">sans classes</a> (ahum) comme <a href="https://picocss.com/">Pico.css</a> qui procurent une base saine, configurable et facilement portable. Est-ce que cela fait de moi un <em>Brafter</em>&#8239;? (<a href="https://www.urbandictionary.com/define.php?term=Braft">Non</a>.)</p>
  171. <hr />
  172. <blockquote lang="en">
  173. <p>✍ Most people default to one or another behavior but rarely use them exclusively. Writers will often benefit from talking things out when they get stuck; and talkers will find that occasionally writing something down helps solidify their thoughts. Both strategies can be learned. Whether you’re a writer or a talker isn’t about your inability to do one or the other so much as it is a preferred or optimized&nbsp;mode.</p>
  174. <p>This is, incidentally, <mark>a much more valuable way of understanding different working styles</mark> than the old maker vs manager canard. Both talkers and writers make things (including decisions), but they means by which they make things—and the needs they have in relation to their colleagues—are not the&nbsp;same.</p>
  175. <p><cite><em><a href="https://everythingchanges.us/blog/writers-and-talkers-and-leaders/">Writers and talkers and leaders, oh my!</a></em>&nbsp;(<a href="/david/cache/2023/b2292d98e9d54537c13b8c1e2cae5583/">cache</a>)</cite></p>
  176. </blockquote>
  177. <blockquote lang="en">
  178. <p>🐉 But in general, I’d still be wary of using local-first outside real-time / multiplayer / offline use cases. <mark>Local-first is definitely still bleeding-edge.</mark> You will hit unexpected problems. A good community has rapidly developed, but there’ll still be some stretches on the road where you’ll have to solve novel&nbsp;problems.</p>
  179. <p>So: if you need local-first, see if it makes sense to isolate the local-first parts and architect the rest of the app (for now) in a more conventional&nbsp;fashion.</p>
  180. <p><cite><em><a href="https://bricolage.io/some-notes-on-local-first-development/">Some notes on Local-First Development</a></em>&nbsp;(<a href="/david/cache/2023/49f2ce04dd0beb94dc2f662163bc6339/">cache</a>)</cite></p>
  181. </blockquote>
  182. <blockquote>
  183. <p>😔 En fait ma plus grande inquiĂ©tude dans ses parcours hors-circuits sont les autres humains, ceux qui ne comprendraient pas ma&nbsp;dĂ©marche.</p>
  184. <p><cite><em><a href="https://www.la-grange.net/2023/03/03/suburb">banlieue ou suburb</a></em>&nbsp;(<a href="/david/cache/2023/5f93f91a46391e0e120dac49298857d1/">cache</a>)</cite></p>
  185. </blockquote>
  186. <h2>
  187. <a href="/david/2023/05/05/" title="Lien permanent vers cet article">AÏe</a> (2023-05-05)
  188. </h2>
  189. <blockquote>
  190. <p>Honestly, at this point using ChatGPT in the way that I do feels like a massively unfair competitive advantage. I’m not worried about AI taking people’s jobs: <mark>I’m worried about the impact of AI-enhanced developers like&nbsp;myself.</mark></p>
  191. <p>It genuinely feels unethical for me <em>not</em> to help other people learn to use these tools as effectively as possible. I want everyone to be able to do what I can do with them, as safely and responsibly as&nbsp;possible.</p>
  192. <p>I think the message we should be emphasizing is&nbsp;this:</p>
  193. <p><strong>These are incredibly powerful tools. They are far harder to use effectively than they first appear. Invest the effort, but approach with caution: we accidentally invented computers that can lie to us and we can’t figure out how to make them&nbsp;stop.</strong></p>
  194. <p><cite><em><a href="https://simonwillison.net/2023/Apr/7/chatgpt-lies/">We need to tell people ChatGPT will lie to them, not debate linguistics</a></em>&nbsp;(<a href="/david/cache/2023/452be27c5cc8a4b9824d1d7e005546c6/">cache</a>)</cite></p>
  195. </blockquote>
  196. <p><em>Je ne voulais pas trop rĂ©agir Ă  chaud sur ce sujet. Aussi, je n’ai pas encore testĂ© tout cela pour de vrai donc tout ce qui suit ne sont que les ruminations d’un vieux mi-Cassandre, mi-raison.</em></p>
  197. <p>Quand je regarde les <a href="https://gist.github.com/simonw/66918b6cde1f87bf4fc883c67735195d">expĂ©riences</a> de Simon Willison, je compare de plus en plus ces aides pour dĂ©velopeur·euses Ă  un StackOverflow amĂ©liorĂ©. Peut-ĂȘtre que ça ne fait qu’accroitre les inĂ©galitĂ©s entre les personnes expĂ©rimentĂ©es et celles qui ne le sont pas. À moins que ça ne puisse ĂȘtre qu’une rĂ©flexion de personne expĂ©rimentĂ©e. Difficile de me prononcer mais je doute que cet outil permette de rĂ©duire ce&nbsp;fossĂ©.</p>
  198. <p>Bien sĂ»r, ça donne tout de suite envie de <a href="https://lethain.com/openai-exploration/">faire</a>&nbsp;(<a href="/david/cache/2023/4a485034e94dc6123a624e8a589e8dac/">cache</a>) des <a href="http://dataholic.ca/2023/04/05/gpt-assistant-vocal/">trucs</a>&nbsp;(<a href="/david/cache/2023/08f83e8893cad4d5a2eb6a560f73dd65/">cache</a>) plutĂŽt <a href="https://www.lukew.com/ff/entry.asp?2008">fun</a>&nbsp;(<a href="/david/cache/2023/dc43f3c837d95313ac7317e10349511e/">cache</a>) avec. Pour ma part, ça me dĂ©motive de publier des choses qui vont venir alimenter la machine. Dans une telle proportion d’analyse, chaque rĂ©action Ă  un article ne fait qu’enrichir sa comprĂ©hension, chaque texte alternatif Ă  une image ne fait qu’entraĂźner un gĂ©nĂ©rateur, chaque ligne de code sur une forge publique permet d’amĂ©liorer un algorithme potentiellement destructeur, chaque Ă©tiquette attribuĂ©e contribue Ă  confirmer un biais. Les producteurs ont le pouvoir d’orienter un algorithme qui se nourrit de ces productions, d’une certaine maniĂšre les vainqueurs racontent dĂ©jĂ  l’histoire qu’écrira la gĂ©nĂ©ration suivante. Tout change
 sans vraiment&nbsp;changer.</p>
  199. <p>Peut-ĂȘtre que, comme pour les Ă©checs, cette aide contribuera Ă  faire monter le niveau gĂ©nĂ©ral et permettra de s’entraĂźner contre/avec la machine. Regardant beaucoup de parties commentĂ©es en direct, la jauge mise Ă  jour en temps rĂ©el nous donne peut-ĂȘtre un aperçu des Ă©valuations futures ou mĂȘme des recrutements. J’imagine que ça pourrait devenir trĂšs pertinent pour gĂ©nĂ©rer des tests unitaires, voire de sĂ©curitĂ©, sur un code&nbsp;produit.</p>
  200. <p>En creux, il est un peu fou de constater que tout ce qui est publiquement et gratuitement accessible est en train d’ĂȘtre exploitĂ© pour le profit de quelques uns sans aucun respect des souhaits des auteur·ices sur ces contenus. Une forme de colonisation dont je prends conscience probablement car je suis —&nbsp;pour une fois&nbsp;— du mauvais cĂŽtĂ© de la frontiĂšre, aussi numĂ©rique&nbsp;soit-elle.</p>
  201. <blockquote>
  202. <p>👮 Based on our findings, if Copilot is used by expert developers in software projects, it can become an asset since its suggestions could be comparable to humans’ contributions in terms of quality. However, Copilot can become a liability <mark>if it is used by novice developers who may fail to filter</mark> its buggy or non-optimal solutions due to a lack of&nbsp;expertise.</p>
  203. <p><cite><em><a href="https://www.sciencedirect.com/science/article/abs/pii/S0164121223001292">GitHub Copilot AI pair programmer: Asset or Liability?</a></em>&nbsp;(<a href="/david/cache/2023/6eef954bc8dd84322cf19ab38caf2ee3/">cache</a>)</cite></p>
  204. </blockquote>
  205. <blockquote>
  206. <p>✍ Personal notes (for meetings, books, and coding) seems the most promising but I don’t think AI can do this for me either. When I take notes, I’m only interested in writing out the stuff that matters to me. Every book I read has a hundred summaries on the internet, each more detailed and comprehensive than mine, but I still take book notes because I want to remember what impacted me. Even if an AI knew what those things were, <mark>delegating that work would defeat the&nbsp;purpose.</mark></p>
  207. <p><cite><em><a href="https://www.bryanbraun.com/2023/04/14/ais-can-write-for-us-but-will-we-want-them-to/">AIs can write for us but will we actually want them to?</a></em>&nbsp;(<a href="/david/cache/2023/89aa5bbfeaa7c8f2411980f99801359c/">cache</a>)</cite></p>
  208. </blockquote>
  209. <blockquote>
  210. <p>😔 It’s astonishing to me how little people have learned about trusting centralized entities with huge amounts of power in their lives. <mark>LLMs are a fundamentally centralized phenomenon</mark> — they take a huge amount of human and computer time to make, and are thus only accessible to enormous institutions. I don’t understand if people are simply blind to these power relations, or if they don’t&nbsp;care.</p>
  211. <p><cite><em><a href="https://notebook.wesleyac.com/gpt-ugh/">Scattered ChatGPT thoughts</a></em>&nbsp;(<a href="/david/cache/2023/d1545c8cf9387ad9b0c98020c7ccfe61/">cache</a>)</cite></p>
  212. </blockquote>
  213. <blockquote>
  214. <p>đŸ€” Where does this all land? I’m moderately optimistic about&nbsp;AI.</p>
  215. <p>But I think the thing that excites a lot of people about it is the reorganization, the shift, the reward for opportunism. Navigating that change in market opportunity and being there is its own reward to a lot of people. And it should be: this is the essence of progress in an industrialized society. The relationships, the strategy, matters much more to many people than craft or art: what goes into the production of a thing is just a variable to be&nbsp;minimized.</p>
  216. <p><mark>How people feel about AI has a lot to do with how they think society should be structured,</mark> what makes work valuable, and what they truly enjoy&nbsp;doing.</p>
  217. <p><cite><em><a href="https://macwright.com/2023/04/15/ai.html">The one about AI</a></em>&nbsp;(<a href="/david/cache/2023/ccb1821caf1a27ed2a2e9a92a26d0b65/">cache</a>)</cite></p>
  218. </blockquote>
  219. <blockquote>
  220. <p>💩 Large Language Models are something lesser. <mark>They are water running down pathways etched into the ground over centuries by the rivers of human culture.</mark> Their originality comes entirely from random combinations of historical thought. They do not know the ‘meaning’ of anything—they only know the records humans find meaningful enough to store.[19] Their unreliability comes from their unpredictable behaviour in novel circumstances. When there is no riverbed to follow, they drown the surrounding&nbsp;landscape.</p>
  221. <p><cite><em><a href="https://softwarecrisis.dev/letters/ai-bird-brains-silicon-valley/">Artificial General Intelligence and the bird brains of Silicon Valley</a></em>&nbsp;(<a href="/david/cache/2023/f23d043d8e99f2af5fcf1b970f98744a/">cache</a>)</cite></p>
  222. </blockquote>
  223. <blockquote>
  224. <p>🧊 Depending on the energy source used for training and its carbon intensity, training a 2022-era <mark>LLM emits at least 25&nbsp;metric tons of carbon</mark> equivalents if you use renewable energy, as we did for the BLOOM model. If you use carbon-intensive energy sources like coal and natural gas, which was the case for GPT-3, this number quickly goes up to 500&nbsp;metric tons of carbon emissions, roughly equivalent to over a million miles driven by an average gasoline-powered&nbsp;car.</p>
  225. <p>And this calculation doesn’t consider the manufacturing of the hardware used for training the models, nor the emissions incurred when LLMs are deployed in the real&nbsp;world.</p>
  226. <p><cite><em><a href="https://arstechnica.com/gadgets/2023/04/generative-ai-is-cool-but-lets-not-forget-its-human-and-environmental-costs/">The mounting human and environmental costs of generative AI</a></em>&nbsp;(<a href="/david/cache/2023/230f8f7224199132de4ce030458536de/">cache</a>)</cite></p>
  227. </blockquote>
  228. <blockquote>
  229. <p>đŸȘ” Enseignez le code sans&nbsp;ordinateur</p>
  230. <p>CODE EN BOIS est un systĂšme innovant et Ă©cologique qui permet d’initier Ă  la programmation en manipulant des briques d’instructions en bois. La seule question qu’on se pose, c’est «&nbsp;pourquoi ça n’existait pas&nbsp;avant&#8239;?&nbsp;»</p>
  231. <p><cite><a href="https://codeenbois.fr/">CODE EN&nbsp;BOIS</a></cite></p>
  232. </blockquote>
  233. <blockquote>
  234. <p>🌌 J’ai ressenti l’impulsion aprĂšs qu’une amie a demandĂ© Ă  la cantonade “ma fille voudrait aller voir les aurores borĂ©ales, mais ma famille ne prend plus l’avion, vous pensez que c’est possible en train&#8239;?”. <mark>Ça doit ĂȘtre possible, je me suis dit, mais compliquĂ© Ă  organiser.</mark> Et puis j’ai regardĂ© les cartes, les zones de visibilitĂ© des aurores, les meilleures pĂ©riodes de l’annĂ©e pour les voir, la mĂ©tĂ©o scandinave, les prĂ©dictions d’activitĂ© solaire
 en fait, c’est bien plus accessible que je ne le pensais. Et si j’y&nbsp;allais&#8239;?</p>
  235. <p><cite><em><a href="https://blog.professeurjoachim.com/billet/2023-03-31-aller-voir-les-aurores-boreales-en-train">Aller voir les aurores boréales en train</a></em>&nbsp;(<a href="/david/cache/2023/096a44a83d8d3f2bdfd21e3d378e4719/">cache</a>)</cite></p>
  236. </blockquote>
  237. <h2>
  238. <a href="/david/2023/02/13/" title="Lien permanent vers cet article">Livre</a> (2023-02-13)
  239. </h2>
  240. <details>
  241. <summary>DĂ©plier pour lire le contenu de la publication</summary>
  242. <blockquote lang="en">
  243. <p>They both would have been ‘good enough’ for my purposes, but since I’m comfortable with Markdown, HTML, and CSS, using Pandoc made the most&nbsp;sense.</p>
  244. <p>If you’re comfortable with Markdown then Pandoc is <em>amazing</em>. It integrates out of the box with both Weasyprint and paged.js. <mark>Either of them is a decent option for generating PDFs.</mark> Paged.js uses headless Chrome, which gives it access to a broader spectrum of CSS features and makes it a little bit&nbsp;flakier.</p>
  245. <p><cite><em><a href="https://www.baldurbjarnason.com/2023/how-i-made-my-book/">Some thoughts on how to make a book, three months after I made one</a></em>&nbsp;(<a href="/david/cache/2023/8cb87dbe21c3f5a7a69735a70daf51c3/">cache</a>)</cite></p>
  246. </blockquote>
  247. <p>Je commence Ă  avoir quelques expĂ©riences avec Pandoc si vous voulez que l’on produise un livre numĂ©rique ensemble. Pas forcĂ©ment technique. Potentiellement sur le Web. Dans le meilleur des cas on apprendrait chacun·e des choses et on repartirait Ă  la fois plus autonomes <em>et</em> paradoxalement plus lié·es&nbsp;aussi.</p>
  248. <p>(DĂ©)livrez-vous.</p>
  249. </details>
  250. <h2>
  251. <a href="/david/2023/02/09/" title="Lien permanent vers cet article">Allumage</a> (2023-02-09)
  252. </h2>
  253. <details>
  254. <summary>DĂ©plier pour lire le contenu de la publication</summary>
  255. <p>DĂ©marrer un nouveau projet avec une nouvelle Ă©quipe est un sentiment qui m’est incroyable. J’ai passĂ© mon annĂ©e 2022&nbsp;Ă  faire —&nbsp;entre autres&nbsp;— des petits produits pour Scopyleft et je ne rĂ©alise que maintenant Ă  quel point ça me permet de dĂ©marrer plus rapidement aujourd’hui pour un site que l’on fait avec <a href="https://www.maiwann.net/">MaĂŻtanĂ©</a> pour la&nbsp;Croix-Rouge.</p>
  256. <p>La structure est toujours un peu la mĂȘme&nbsp;: des contenus dans du markdown, du dĂ©ploiement continu de fichiers HTML statiques en utilisant l’intĂ©gration continue et l’hĂ©bergement de GitLab. Une URL de dĂ©monstration dĂšs le premier <em>commit</em>. À partir de lĂ , on peut rajouter des traductions, des images, une navigation particuliĂšre mais la base est l’affaire d’un copier-coller de quelques fichiers et d’une centaine de lignes de&nbsp;Python.</p>
  257. <p>Soigner l’allumage technique, c’est avoir plus de temps pour rĂ©flĂ©chir Ă  l’accessibilitĂ© des donnĂ©es et Ă  l’autonomie des personnes qui vont maintenir le site, c’est permettre de s’adapter aux besoins du public sans ĂȘtre contraint par un cadre, c’est prendre le temps de s’intĂ©resser au problĂšme <em>mĂ©tier</em> Ă  rĂ©soudre. C’est prendre confiance dans de petits outils rĂ©silients et&nbsp;frugaux.</p>
  258. <p>Que mon eXpĂ©rience de DĂ©veloppeur (DX) s’en trouve ĂȘtre amĂ©liorĂ©e car j’aspire Ă  cultiver de petits bonsaĂŻs numĂ©riques n’est qu’un effet de&nbsp;bord.</p>
  259. <hr />
  260. <blockquote lang="en">
  261. <p>🩕 I have been using it from day one of this blog (nĂ© Year II before <abbr title="LoĂŻc Le Meur, coucou LoĂŻc , long time no see!">LLM</abbr>).</p>
  262. <p><cite><em><a href="https://www.padawan.info/en/2023/02/the-content-management-system-of-my-dreams-part-1-a-little-bit-of-history.html">The Content Management System of my Dreams (part 1) - A little bit of history</a></em>&nbsp;(<a href="/david/cache/2023/65169d7164c8bf5790a224d45a95adb7/">cache</a>)</cite></p>
  263. </blockquote>
  264. <blockquote lang="en">
  265. <p>đŸ§± Think very hard about that word. What exactly is <em>dynamic</em> on your home page? Are you speaking about that Top News thingy? How often do they change? <mark>Are you doing this to satisfy yourself</mark> (some content editors have the same proclivity than developers to throw a tantrum because their new content does not appear instantaneously on the site)? Is this a business requirement or a real need of your&nbsp;users?</p>
  266. <p><cite><em><a href="https://www.padawan.info/en/2023/02/the-content-management-system-of-my-dreams-part-2-the-trouble-with-dynamic-publishing.html">The Content Management System of my Dreams (part 2) - The trouble with dynamic publishing</a></em>&nbsp;(<a href="/david/cache/2023/f8b7c3246cf1d4e06c735ee163be32a0/">cache</a>)</cite></p>
  267. </blockquote>
  268. <blockquote lang="en">
  269. <p>🧭 Since <mark>every direction is technically “North”</mark> from here, we use a grid overlay, to bring some semblance of order to our surroundings. The prevailing winds here come from “Grid&nbsp;North”.</p>
  270. <p><cite><em><a href="https://brr.fyi/posts/south-pole-topography">South Pole Topography</a></em>&nbsp;(<a href="/david/cache/2023/f9e282fb545b5c1f50dfa1c0d98c50e3/">cache</a>)</cite></p>
  271. </blockquote>
  272. </details>
  273. <h2>
  274. <a href="/david/2023/01/24/" title="Lien permanent vers cet article">Capot</a> (2023-01-24)
  275. </h2>
  276. <details>
  277. <summary>DĂ©plier pour lire le contenu de la publication</summary>
  278. <blockquote>
  279. <p>En tant que premier projet public depuis mon arrivĂ©e chez Gandi, je suis content d’avoir pu tester tant de nouvelles chose—nouvelles pour moi, nouvelles pour l’équipe
 <mark>la possibilitĂ© d’apprendre des nouveaux concepts et des nouvelles pratiques,</mark> c’est l’une des principales raisons pour laquelle je pratique ce mĂ©tier. L’autre raison c’est que ça me permet de rĂ©aliser des choses pratiques et utiles dans le respect des personnes qui les&nbsp;utiliseront.</p>
  280. <p><cite><em><a href="https://blog.gandi.net/fr/posts/un-coup-d-oeil-sous-le-capot/">Un coup d’Ɠil sous le capot</a></em>&nbsp;(<a href="/david/cache/2023/e29bd9361e89e31ac21ee21180ec1dfb/">cache</a>)</cite></p>
  281. </blockquote>
  282. <p>J’adore ces retours oĂč il «&nbsp;suffit&nbsp;» d’une nouvelle personne pour qu’un partage devienne&nbsp;possible.</p>
  283. <p>En ce moment, je me questionne sur l’accueil potentiel d’une personne en alternance dans <a href="http://scopyleft.fr/">Scopyleft</a>. C’est un engagement sur deux ans avec 4&nbsp;jours par semaine, c’est Ă©norme. Et en mĂȘme temps, ça permettrait peut-ĂȘtre Ă  cette personne de ne plus ĂȘtre considĂ©rĂ©e comme totalement dĂ©butante et d’accĂ©der Ă  des postes/situations plus&nbsp;enviables.</p>
  284. <p>Peut-ĂȘtre que ce serait aussi l’occasion de publier davantage d’outils et de pratiques que nous avons et qui ne sont pas documentĂ©es et/ou pas&nbsp;publiques.</p>
  285. <p>Tellement de choses peuvent se passer en&nbsp;2&nbsp;ans
</p>
  286. </details>
  287. <h2>
  288. <a href="/david/2023/01/14/" title="Lien permanent vers cet article">DĂ©pendances</a> (2023-01-14)
  289. </h2>
  290. <details>
  291. <summary>DĂ©plier pour lire le contenu de la publication</summary>
  292. <blockquote lang="en">
  293. <p>I suspect one of the reasons for this is that Pinafore is written in Svelte v2 and Sapper – both of which are deprecated in favor of Svelte v3 and SvelteKit. Not only is there no migration path from Svelte v2 to v3, but there isn’t one from Sapper to SvelteKit either. (And on top of that, I had to fork Sapper pretty heavily.) Anyone making a bet on learning Pinafore’s tech stack is investing in a dead framework, so <mark>it’s not very attractive for new&nbsp;maintainers.</mark></p>
  294. <p><cite><em><a href="https://nolanlawson.com/2023/01/09/retiring-pinafore/">Retiring Pinafore</a></em>&nbsp;(<a href="/david/cache/2023/b5acd8bbf209345ff300ea8c10c44181/">cache</a>)</cite></p>
  295. </blockquote>
  296. <p>«&nbsp;<span lang=en>Move fast and outdate things.</span>&nbsp;» n’est pas un <em>motto</em> mais une constatation. Je suis assez assidu des Ă©crits de Baldur Bjarnason Ă  ce sujet, que ce soit Ă  travers son <a href="https://www.baldurbjarnason.com/">site</a>, son <a href="https://softwarecrisis.baldurbjarnason.com/">livre</a> ou sa <a href="https://softwarecrisis.dev/">newsletter</a>.</p>
  297. <p>Je crois que je commence Ă  dĂ©passer la sidĂ©ration et le rejet pour tenter de comprendre un peu mieux les raisons profondes de toute cette complexitĂ© et cette vitesse que l’on s’impose, avec une composante historique&nbsp;notamment.</p>
  298. <p>2023, l’annĂ©e de la maturitĂ©&nbsp;😂.</p>
  299. <blockquote lang="en">
  300. <p>The symptoms of pop&nbsp;culture:</p>
  301. <ul>
  302. <li>A “disdain for history”. Pop cultures believe history doesn’t have anything to teach&nbsp;them.</li>
  303. <li>Newer is automatically better. Pop cultures are built on the assumption that anything new or different is superior to established. Or, in other words, older is inherently&nbsp;inferior.</li>
  304. <li><mark>What’s next is going to be superior to what’s now.</mark> Pop cultures exist in perpetual anticipation of the next trend. Their disbelief of history appears to outsiders as a belief in&nbsp;progress.</li>
  305. <li>The “Pop” in “Pop Culture” stands for “popularity”. If it’s popular then it must be&nbsp;right.</li>
  306. </ul>
  307. <p>These traits are deeply irrational but they are the tech industry’s default mode of&nbsp;operation.</p>
  308. <p><cite><em><a href="https://softwarecrisis.dev/letters/tech-is-a-pop-culture/">Tech Companies Are Irrational Pop Cultures</a></em>&nbsp;(<a href="/david/cache/2023/45c1becce6fcd8254f2c99fbc1397018/">cache</a>)</cite></p>
  309. </blockquote>
  310. <hr />
  311. <blockquote lang="en">
  312. <p>We’re starting to see the initial decay hit the parts of the web dev ecosystem that are the furthest away from the cheap money fountains Google and Facebook are providing. Core projects run out of money. Git commits stop. <mark>A dependency you use breaks when one of its dependencies stops working,</mark> leading somebody to fork it with a quick fix or replacement dependency. Bandaid fixes to decaying OSS projects start to crop up in more and more places. We start to see blog posts saying that all we need to do is get enough people to donate money or pay for support. Everything will be fine. Just look at how OpenSSL got turned&nbsp;around.</p>
  313. <p>All of which is bad enough but also misses the&nbsp;point.</p>
  314. <p><cite><em><a href="https://www.baldurbjarnason.com/2021/the-oss-bubble-and-the-blogging-bubble/">The Open-Source Software bubble that is and the blogging bubble that was</a></em>&nbsp;(<a href="/david/cache/2023/d6b891fd250a6ae967ae55564770b67a/">cache</a>)</cite></p>
  315. </blockquote>
  316. <blockquote>
  317. <p>This JavaScript community (if judged by the demographics of this survey) seems to be comprised mostly of folks that are largely building with React, webpack, and Jest. With React on 3.2% of web sites and jQuery at 77.7% (as of January 2023), <mark>that’s a pretty small slice of a much larger&nbsp;community.</mark></p>
  318. <p>We seem to live in different&nbsp;worlds.</p>
  319. <p><cite><em><a href="https://www.zachleat.com/web/javascript-community/">JavaScript, Community</a></em>&nbsp;(<a href="/david/cache/2023/7ff62009f21336b8eb54ea18261bcfb7/">cache</a>)</cite></p>
  320. </blockquote>
  321. </details>
  322. <h2>
  323. <a href="/david/2023/01/10/" title="Lien permanent vers cet article">Qualité</a> (2023-01-10)
  324. </h2>
  325. <details>
  326. <summary>DĂ©plier pour lire le contenu de la publication</summary>
  327. <blockquote>
  328. <p>Quiconque cherche Ă  circonscrire une discipline en lui imposant un cadre ne cherche gĂ©nĂ©ralement qu’à protĂ©ger son Ɠuvre, et il le fait en perpĂ©tuant les standards qui ont permis son Ă©mergence. Celui-ci essaie de convaincre les gĂ©nĂ©rations Ă  venir qu’elles doivent suivre les rĂšgles qu’il a Ă©dictĂ©es si elles comptent parvenir Ă  l’excellence. Mais, comme disait Charles Bukowski, «&nbsp;il est quatre heures et demie du matin, il sera toujours quatre heures et demie du&nbsp;matin
&nbsp;».</p>
  329. <p>Nous sommes Ă  ce point focalisĂ©s sur le chemin que nous nous efforçons de suivre, en voulant toujours tout faire au mieux, armĂ©s d’une dĂ©votion sans faille pour notre discipline <mark>alors que les ƓillĂšres de la peur nous empĂȘchent d’envisager des terrains inconnus,</mark> que nos yeux restent fixĂ©s sur cette route, sur ces mains qui prennent appui sur des genoux. Et nous ne rĂ©alisons pas que nous ne faisons que suivre les rĂšgles promulguĂ©es par un homme qui a un jour disputĂ© une course contre des chevaux, ou par un autre qui s’est frottĂ© Ă  un sommet de plus de huit mille mĂštres sans oxygĂšne, ou par un autre encore qui a dĂ©cidĂ© de laisser chez lui ses pitons, ses cordes et la sĂ©curitĂ© pour ne faire qu’un avec les murs Ă  escalader. Nous suivons les lois de ceux qui en ont enfreint de plus&nbsp;anciennes.</p>
  330. <p><cite><em>Au-delĂ  des sommets</em>, Kilian&nbsp;Jornet</cite></p>
  331. </blockquote>
  332. <p>On parlait de code et de qualitĂ© avec <a href="https://thom4.net/">Thomas</a>. Je lui faisais part de ma frustration vis-Ă -vis d’un code qui n’avait pas Ă©tĂ© Ă©crit par moi et que je trouvais problĂ©matique. En creusant un peu (merci&#8239;!), je rĂ©alise que ce qui coince est au niveau de la pĂ©rennitĂ© et de la transmission. Et j’ai aussi conscience de produire moi-mĂȘme du code qui serait difficile Ă  reprendre par d’autres personnes n’ayant pas les mĂȘmes&nbsp;aspirations/compĂ©tences.</p>
  333. <p>En Python, on a la chance de pouvoir automatiser certaines conversions/vérifications qui tendent à aller vers une certaine uniformisation (et donc universalité&#8239;?)&nbsp;: <a href="https://github.com/psf/black">black</a>, <a href="https://flake8.pycqa.org/">flake8</a>, <a href="https://pypi.org/project/isort/">isort</a> ou <a href="https://mypy.readthedocs.io/">mypy</a> par&nbsp;exemple.</p>
  334. <p>Pour aller plus loin, le code en lui-mĂȘme n’est peut-ĂȘtre pas si critique, mais ce que l’on a appris en le concevant et l’utilisant l’est bien davantage. C’est cette transmission qu’il est important de rendre possible au sein de l’équipe. Outiller la base commune est un moyen de <strong>plus rapidement</strong> passer Ă  l’étape de partage des concepts importants/mĂ©tiers, en ce souciant moins de la&nbsp;forme.</p>
  335. <p>Et peut-ĂȘtre au contraire, que cette <strong>vitesse</strong> acquise nous empĂȘche d’échanger sur des concepts importants&#8239;? Des envies diffĂ©rentes&#8239;? Des choix Ă  cĂŽtĂ© desquels on peut passer par manque&nbsp;d’attention.</p>
  336. <blockquote lang="en">
  337. <p>Tradition (n.): Peer pressure from dead&nbsp;people.</p>
  338. <p><cite><em>Lu plusieurs fois sur&nbsp;masto</em></cite></p>
  339. </blockquote>
  340. <hr />
  341. <blockquote>
  342. <p>🩋 Depuis quelques annĂ©es, j’essaie d’écrire un code le plus direct&nbsp;possible.</p>
  343. <p>Mon objectif&nbsp;: diminuer au maximum ma charge&nbsp;cognitive.</p>
  344. <p><cite><em><a href="https://sklein.xyz/garden/020-keep-it-simple-stupid-le-plus-longtemps-possible/">Keep it simple, stupid le plus longtemps possible</a></em>&nbsp;(<a href="/david/cache/2023/646ebfa25432bc6b653e524b52d25c9a/">cache</a>)</cite></p>
  345. </blockquote>
  346. <blockquote lang="en">
  347. <p>⛔ Many of the tools that we thought we could rely on broke down, whether it is Apple products, or software that require subscription services, DRM, etc. As an artist you spend time developing a skill, <mark>you become a Photoshop illustrator.</mark> When your connection to the internet fails and that the software locks up, that skill that you thought was yours was actually entirely owned by someone, and can be taken&nbsp;away.</p>
  348. <p>Even though we’ve been paying for this sort of software for years, the moment that you can’t have access to authenticate yourself that skill is gone. We didn’t expect this, it scared&nbsp;us.</p>
  349. <p><cite><em><a href="https://100r.co/site/weathering_software_winter.html">weathering software winter</a></em>&nbsp;(<a href="/david/cache/2023/c564325b28ec854b6b098950df5c8c8f/">cache</a>)</cite></p>
  350. </blockquote>
  351. <blockquote lang="en">
  352. <p>🔎 It’s important to remember concepts and high level approaches, but don’t worry about remembering the details. You can always look that stuff up when you need&nbsp;it.</p>
  353. <p><cite><em><a href="https://gomakethings.com/you-dont-have-to-remember-everything-to-be-a-good-programmer/">You don’t have to remember everything to be a good programmer</a></em>&nbsp;(<a href="/david/cache/2023/2f4b8ec8f6fd2cbc48a04dcac2cc7d24/">cache</a>)</cite></p>
  354. </blockquote>
  355. </details>
  356. <h2>
  357. <a href="/david/2023/01/07/" title="Lien permanent vers cet article">Dette</a> (2023-01-07)
  358. </h2>
  359. <details>
  360. <summary>DĂ©plier pour lire le contenu de la publication</summary>
  361. <blockquote>
  362. <p>La dette c’est un problĂšme de riche. Ça arrive aprĂšs, quand on a trouvĂ© le bon produit, qu’on a trouvĂ© sa cible, qu’on a prouvĂ© qu’on Ă©tait capable d’ac­qué­rir des clients. LĂ  on aura aussi le finan­ce­ment qui va avec pour embau­cher des ingé­nieurs qui vont <mark>refaire ce qui doit l’ĂȘtre,</mark> et Ă©limi­ner une bonne partie des travaux qu’on avait remis Ă  plus&nbsp;tard.</p>
  363. <p>L’enjeu c’est d’ar­ri­ver jusque&nbsp;là.</p>
  364. <p><cite><em><a href="https://n.survol.fr/n/la-dette-technique">La dette technique - Carnet de notes</a></em>&nbsp;(<a href="/david/cache/2023/934ed9f96be582e35b3c8cf8fc0859e5/">cache</a>)</cite></p>
  365. </blockquote>
  366. <p>La seule fois dans ma carriĂšre (ouais ça fait tout de suite vieux là
) oĂč on a rĂ©ussi Ă  Ă©ponger une dette technique initiale a Ă©tĂ© sur <a href="https://mesconseilscovid.sante.gouv.fr">MesConseilsCovid</a> lorsqu’on a dĂ» partir <a href="/david/2020/05/26/">comme des fusĂ©es</a> avec <a href="https://ronan.amicel.net/">Ronan</a> parce que le gouvernement français ne pouvait pas se douter qu’on allait dĂ©confiner la population Ă  un moment&nbsp;đŸ€·.</p>
  367. <p>Les conditions qui ont rendu possible cela sont&nbsp;multiples&nbsp;:</p>
  368. <ul>
  369. <li>dĂ©veloppeurs expĂ©rimentĂ©s qui se connaissent et qui se sont dĂ©jĂ  pincĂ© les doigts plusieurs fois sur du code non testĂ©/Ă  l’arrache Ă  moyen&nbsp;terme&#8239;;</li>
  370. <li>équipe compréhensive qui a pris en compte nos retours et notre endettement volontaire des premiÚres semaines, effort de pédagogie de notre&nbsp;cÎté&#8239;;</li>
  371. <li>outil relativement simple qui a consistĂ© au dĂ©but Ă  une preuve de concept permettant de mesurer les usages et attentes, on n’était pas dans une course Ă  la&nbsp;fonctionnalitĂ©&#8239;;</li>
  372. <li>budget suffisant pour savoir qu’il serait possible de financer cette dette Ă  moyen terme («&nbsp;Quoi qu’il en coĂ»te&nbsp;», etc&nbsp;#haha).</li>
  373. </ul>
  374. <p>Il faut une sacrĂ© conjonction pour que toutes ces conditions soient rĂ©unies. De plus, ça a demandĂ© pas mal de rigueur alors que la dette n’était finalement que d’un mois, peut-ĂȘtre&nbsp;moins.</p>
  375. <p>Dans une prĂ©cĂ©dente expĂ©rience <em>startup</em>, on avait trop mis l’accent sur la technique/le produit et pas assez sur son adoption/communication, ça peut arriver aussi. J’ai beaucoup appris de cet Ă©chec sur l’importance de ce qui est <em>hors</em> du&nbsp;code.</p>
  376. <hr />
  377. <blockquote lang="en">
  378. <p>😔 The most obvious way an online community is like a bar is that bars serve alcohol, and alcohol makes people loud and stupid. It actually depresses your hearing, so you can’t hear yourself talk as well, <mark>so you speak louder.</mark> And a room full of people speaking louder means a very boisterous room. And of course, alcohol reduces inhibition, so you say things you might not usually&nbsp;say.</p>
  379. <p>The parallels to online behavior are easy to see. Online, people are much more willing to type things that they’d never say in&nbsp;person.</p>
  380. <p><cite><em><a href="https://powazek.com/posts/3571">A community isn’t a garden, it’s a bar.</a></em>&nbsp;(<a href="/david/cache/2023/fb08217a583922fd319fabb55f34a4f3/">cache</a>)</cite></p>
  381. </blockquote>
  382. <blockquote lang="en">
  383. <p>🔙 It can be uncomfortable, that clearing away. It can be deeply unpleasant. But it’s also useful. It’s a sign of what you need to change. What I found was that <mark>when I gave myself permission to really feel that unpleasantness,</mark> when I didn’t try to get comfortable with it or avoid it, I opened some space to move: towards a reconfiguration or revision or reimagining of what my work&nbsp;was.</p>
  384. <p><cite><em><a href="https://aworkinglibrary.com/writing/reentry">Reentry | A Working Library</a></em>&nbsp;(<a href="/david/cache/2023/7258248bb534fddb277bf6148cd3ffbf/">cache</a>)</cite></p>
  385. </blockquote>
  386. </details>
  387. <h2>
  388. <a href="/david/2023/01/05/" title="Lien permanent vers cet article">Instanseul</a> (2023-01-05)
  389. </h2>
  390. <details>
  391. <summary>DĂ©plier pour lire le contenu de la publication</summary>
  392. <blockquote>
  393. <p>Peut-ĂȘtre que la centralisation d’une identitĂ© mastodon est une hĂ©rĂ©sie. đŸ€”</p>
  394. <p>Au mĂȘme titre que l’on s’adapte au contexte des lieux physiques, je pourrais avoir un compte sur piaille.fr pour parler dans un contexte français, un autre sur jasette.facil.services pour tout ce qui est quĂ©bĂ©cois, etc.</p>
  395. <p>Une identitĂ© distribuĂ©e, fĂ©diversifiĂ©e, qui serait <mark>la reprĂ©sentation numĂ©rique d’une personnalitĂ© complexe et moins&nbsp;lissĂ©e.</mark></p>
  396. <p>Il y a tant à&nbsp;désapprendre.</p>
  397. <p><cite><em><a href="https://mastodon.social/@dav/109395748607478355">Un pouet du 23&nbsp;novembre 2022</a> (ancienne&nbsp;instance)</em></cite></p>
  398. </blockquote>
  399. <p>Un retour sur ma migration Mastodon depuis <a href="https://mastodon.social/@dav">https://mastodon.social/@dav</a> vers <a href="https://fedi.larlet.fr/@david">https://fedi.larlet.fr/@david</a> (avec @david@larlet.fr en <em>username</em>) en utilisant <a href="https://masto.host/">masto.host</a> en arriĂšre&nbsp;plan.</p>
  400. <p>Quelques motivations pour&nbsp;bouger&nbsp;:</p>
  401. <ul>
  402. <li>la dĂ©centralisation rendue possible par les protocoles vs. ma participation Ă  une instance centrale/principale/historique qui n’est pas terrible compte tenu de mes&nbsp;compĂ©tences/connaissances&#8239;;</li>
  403. <li>la consommation des ressources des autres (et savoir combien ça consomme en vrai), au-delĂ  de l’argent, je voulais avoir une idĂ©e de ce que ça implique sans pour autant&nbsp;l’auto-hĂ©berger&#8239;;</li>
  404. <li>la modĂ©ration (im)possible Ă  une telle ampleur avec une Ă©quipe/politique qui n’est pas limpide et des conflits d’intĂ©rĂȘts possibles&nbsp;hĂ©bergeur/dĂ©veloppeur&#8239;;</li>
  405. <li>le contrĂŽle et la pĂ©rennitĂ© des endroits oĂč je m’exprime en ligne sont importants pour&nbsp;moi&#8239;;</li>
  406. <li>le cĂŽtĂ© expĂ©rimental/geek de la chose en jouant avec les&nbsp;protocoles&nbsp;🧑‍🔬.</li>
  407. </ul>
  408. <p>Ce qui est problématique à ce&nbsp;jour&nbsp;:</p>
  409. <ul>
  410. <li>la migration a Ă©tĂ© un peu chaotique car j’avais dĂ©jĂ  tentĂ© plein de trucs Ă  la main Ă  base de <code>webfinger</code> sur ce domaine et il restait des traces et du cache, ma&nbsp;faute&#8239;;</li>
  411. <li>lors de la migration, il semble y avoir des (serveurs de) comptes qui n’ont pas rĂ©pondu Ă  temps et qui suivent encore l’ancien profil, sachant que je ne peux initier une redirection/rĂ©cupĂ©ration que tous les 30&nbsp;jours sur mastodon.social ça fait pas mal de personnes qui ne savent pas ce qui se passe, j’imagine que je suis aussi des comptes fantĂŽmes sans le&nbsp;savoir&#8239;;</li>
  412. <li>lors du dĂ©clenchement de la migration, vous n’avez plus accĂšs Ă  grand chose Ă  part Ă  vos archives, il n’est pas possible de modifier son ancien profil par exemple pour signifier que c’est un compte redirigĂ© auquel il ne faut plus&nbsp;s’abonner&#8239;;</li>
  413. <li>Ă  ma connaissance, si quelqu’un·e fait un message direct Ă  l’ancien compte, iel n’a aucun moyen de savoir que celui-ci est redirigĂ© et que je n’aurai pas les moyens d’ĂȘtre notifiĂ© et de&nbsp;rĂ©pondre&#8239;;</li>
  414. <li>je n’ai pas facilement accĂšs aux rĂ©ponses de messages hors de mon instance (Ă  part s’il s’agit d’une personne suivie qui rĂ©pond), il faut que j’aille sur l’URL de l’instance en question pour tout voir, ça rĂ©duit beaucoup l’aspect social de la chose, surtout en suivant trĂšs peu de&nbsp;personnes&#8239;;</li>
  415. <li>le flux RSS n’est pas redirigĂ© depuis https://mastodon.social/@dav.rss vers https://fedi.larlet.fr/@david.rss ce que je peux comprendre techniquement mais qui n’est pas terrible (<a href="https://github.com/mastodon/mastodon/issues/22404">issue ici</a>)&#8239;;</li>
  416. <li>je ne sais pas comment fonctionne la dĂ©couverte des comptes mais il y a clairement moins de personnes (connues) qui s’abonnent depuis la migration, je ne sais pas si c’est un dĂ©faut d’eXperience Utilisateur·ice ou autre (je doute que ce soit la <em>timeline</em> locale qui puisse ĂȘtre en cause vu le flux sur&nbsp;mastodon.social)&#8239;;</li>
  417. <li>j’ai l’impression de ne pas voir tous les messages mais ça m’arrivait dĂ©jĂ  avant avec deux clients diffĂ©rents donc ça ne doit pas dĂ©pendre de&nbsp;l’instance&#8239;;</li>
  418. <li>je n’ai reçu aucune des nombreuses notifications sur mon ancien compte, il m’a fallu le rĂ©activer pour m’en rendre&nbsp;compte&#8239;!</li>
  419. </ul>
  420. <p>Ce que j’ai&nbsp;dĂ©couvert&nbsp;:</p>
  421. <ul>
  422. <li>les administrateur·ices d’instances ont un rĂ©sumĂ© des mots-diĂšses les plus employĂ©s sur l’instance (et la possibilitĂ© de les mettre en&nbsp;avant)&#8239;;</li>
  423. <li>je consomme beaucoup d’espace disque (3&#8239;Gb Ă  ce jour, aprĂšs un mois) alors que je publie peu, tout ce qui passe dans ma <em>timeline</em> semble ĂȘtre rĂ©cupĂ©rĂ© localement, je me demande s’il y a un option pour faire le&nbsp;mĂ©nage&#8239;;</li>
  424. <li>les interactions avec les personnes suivies restent quasi-instantanées, merci <a href="https://tinysubversions.com/notes/reading-activitypub/">ActivityPub</a>&nbsp;(<a href="/david/cache/2023/8440372c6df33b8f23cfce7a9eca5961/">cache</a>)&#8239;;</li>
  425. <li>je n’ai eu aucun problĂšme de <em>spam</em> jusqu’à prĂ©sent ni d’instance Ă &nbsp;bloquer&#8239;;</li>
  426. <li>je ne sais pas si c’est la migration et/ou la <a href="/david/2022/11/12/">vague de novembre</a> (et/ou les activitĂ©s hivernales) mais j’interagis beaucoup moins sur le rĂ©seau, d’une certaine maniĂšre ça m’a motivĂ© pour republier rĂ©guliĂšrement par&nbsp;ici&#8239;;</li>
  427. <li>j’ai toujours ce truc qui me trotte en tĂȘte de ne pas passer par Mastodon mais d’avoir un truc semi-statique et certains ont dĂ©jĂ  un peu creusĂ©&nbsp;depuis.</li>
  428. </ul>
  429. <p>Est-ce que tout cela en valait vraiment la peine&#8239;? Ce n’est pas encore bien Ă©vident
 j’ai une vraie frustration Ă  ne pas voir toutes les rĂ©ponses, ce qui Ă©tait dĂ©jĂ  vrai auparavant mais sur une instance populaire ça se voit beaucoup moins (ce qui est peut-ĂȘtre encore davantage un souci&#8239;!). Pareil lorsque je veux suivre une nouvelle personne, il faut que j’aille sur sa page de profil sinon je n’ai pas (toutes) ses publications. Depuis Toot! sur iOS c’est extrĂȘmement&nbsp;fastidieux.</p>
  430. <p>Cela m’a permis d’explorer aussi la rĂ©silience du protocole et contrairement Ă  ce qu’il se passe avec les courriels ça ne semble pas retenter les envois. Les interfaces actuelles Ă©tant assez silencieuses sur ces erreurs, c’est dommage, mĂȘme en asynchrone ça serait bien&nbsp;utile.</p>
  431. <p>D’un autre cĂŽtĂ©, j’ai appris pas mal de choses sur les rouages et le transit des publications et des&nbsp;interactions.</p>
  432. <p>Est-ce que je recommanderais aux nouvelles et nouveaux venu·es de commencer avec une instance solo&#8239;? <strong>SĂ»rement pas.</strong> C’est dĂ©jĂ  fastidieux de comprendre le concept d’instance, si en plus il y a tous les problĂšmes citĂ©s ci-dessus qui s’ajoutent et crĂ©ent davantage de confusion ça doit donner une expĂ©rience&nbsp;dĂ©cevante.</p>
  433. <p>En mĂȘme temps, une instance solo fait probablement peu de sens pour un rĂ©seau social architecturĂ© comme Mastodon et on en revient Ă  mon pouet initial (oui vous savez, tout lĂ -haut)&nbsp;: plusieurs comptes avec plusieurs identitĂ©s. En revanche, pour un collectif —&nbsp;au hasard <a href="http://scopyleft.fr/">Scopyleft</a>&nbsp;— je vois un intĂ©rĂȘt Ă  avoir une instance dĂ©diĂ©e. Ça pourrait permettre d’embarquer des personnes en douceur&nbsp;aussi
</p>
  434. <hr />
  435. <blockquote lang="en">
  436. <p>✍ Hacking on ActivityPub was a fun project, but it was chaotic. ActivityPub in practice is a grab-bag of specifications and implementation-specific details. <mark>It was hard to find documentation</mark> for a lot of things and hard to debug requests that didn’t have their intended effect on&nbsp;Mastodon.</p>
  437. <p>ActivityPub is a distributed architecture, so it’s going to be a lot more complicated than&nbsp;RSS.</p>
  438. <p><cite><em><a href="https://macwright.com/2022/12/09/activitypub.html">Playing with ActivityPub</a></em>&nbsp;(<a href="/david/cache/2023/4be6162587a2171b64fd7753b7fe410b/">cache</a>)</cite></p>
  439. </blockquote>
  440. <blockquote lang="en">
  441. <p>😬 I found this one particularly hard - it was almost impossible to find an example of what a Follow message looks like, so I ended up spending a lot of time following my account from a Mastodon client and seeing what data was HTTP POSTed; <strong>and</strong> I also <mark>need to maintain the state of who followed me</mark> (so I can send them messages&nbsp;later).</p>
  442. <p><cite><em><a href="https://paul.kinlan.me/adding-activity-pub-to-your-static-site/">Adding ActivityPub to your static site</a></em>&nbsp;(<a href="/david/cache/2023/1676902071b6e1e7e0d3395bc47956b5/">cache</a>)</cite></p>
  443. </blockquote>
  444. <blockquote lang="en">
  445. <p>💯 A virtual Mastodon monopoly is not good for almost anyone, I think - I'm actually quite excited for Tumblr to implement ActivityPub, because it stands a chance of forcing protocol changes and improvements to be discussed, rather than directed almost entirely by one&nbsp;project.</p>
  446. <p><cite><em><a href="https://aeracode.org/2022/12/05/understanding-a-protocol/">Understanding A Protocol</a></em>&nbsp;(<a href="/david/cache/2023/4b5bae499ad13fe0f5413d8c7b77c09a/">cache</a>)</cite></p>
  447. </blockquote>
  448. <blockquote lang="en">
  449. <p>But there’s one major difference to all the problem’s we've witnessed with social media so far. It will stay an open space that we can co-design. Even though Eugen Rochko now seems to be a super nice guy, he has all the freedom to abandon Mastodon, make some bad decisions or to do a hard right turn and follow Elon. It doesn’t matter. <mark>Always remember that Mastodon is just one door.</mark> You no longer like this door? Open another one. Mastodon is not THE&nbsp;platform.</p>
  450. <p><cite><em><a href="https://bastianallgeier.com/notes/network-effect">Network effect</a></em>&nbsp;(<a href="/david/cache/2023/745057669a6d4c8fd3c5ce1c5dd81b8c/">cache</a>)</cite></p>
  451. </blockquote>
  452. <blockquote lang="en">
  453. <p>😅 Self-hosting Mastodon is all the rage, but having to deal with a full-blown installation of Ruby (which is always a pain to install properly, even if you use rbenv), plus the abomination that is Sidekiq and the overall Rube Goldberg-esque architectural approach that is almost mandatory to deal with <mark>the complexities of ActivityPub is just something I don’t want to maintain.</mark> Ever. Even inside&nbsp;Docker.</p>
  454. <p><cite><em><a href="https://taoofmac.com/space/blog/2022/12/21/0900">Getting Takahē to run on Piku</a></em>&nbsp;(<a href="/david/cache/2023/a889fa6d4e07bdc390d44461ed6dce21/">cache</a>)</cite></p>
  455. </blockquote>
  456. <blockquote lang="en">
  457. <p>Having spent time on Mastodon, I now realize how hilariously wrong I was about how moderation would work. <mark>I was seeing Mastodon through the lenses of Twitter, rather than as a different culture with different technology.</mark> I’m now fairly confident in saying Mastodon is friendlier than Twitter and will remain so, regardless of who and how many&nbsp;join.</p>
  458. <p><cite><em><a href="https://escapingtech.com/tech/opinions/i-was-wrong-about-mastodon-moderation.html">I Was Wrong About Mastodon</a></em>&nbsp;(<a href="/david/cache/2023/daa39b64681b0574bbe189e80c8a4653/">cache</a>)</cite></p>
  459. </blockquote>
  460. </details>
  461. </main>
  462. <hr>
  463. <footer>
  464. <p>
  465. <nobr>
  466. <a href="/david/" title="Aller à l’accueil">
  467. <svg class="icon icon-home">
  468. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"></use>
  469. </svg>
  470. Accueil</a>
  471. </nobr>
  472. ‱
  473. <nobr>
  474. <a href="/david/log/" title="AccĂšs au flux RSS">
  475. <svg class="icon icon-rss2">
  476. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  477. </svg>
  478. Suivre</a>
  479. </nobr>
  480. ‱
  481. <nobr>
  482. <a href="http://larlet.com"
  483. title="Go to my English profile"
  484. data-instant>
  485. <svg class="icon icon-user-tie">
  486. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  487. </svg>
  488. Pro</a>
  489. </nobr>
  490. ‱
  491. <nobr>
  492. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">
  493. <svg class="icon icon-mail">
  494. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  495. </svg>
  496. Email</a>
  497. </nobr>
  498. ‱
  499. <nobr>
  500. <abbr class="nowrap"
  501. title="HĂ©bergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">
  502. <svg class="icon icon-hammer2">
  503. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  504. </svg>
  505. LĂ©gal</abbr>
  506. </nobr>
  507. </p>
  508. <template id="theme-selector">
  509. <form>
  510. <fieldset>
  511. <legend>
  512. <svg class="icon icon-brightness-contrast">
  513. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  514. </svg>
  515. ThĂšme
  516. </legend>
  517. <label>
  518. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  519. Auto
  520. </label>
  521. <label>
  522. <input type="radio" value="dark" name="chosen-color-scheme">
  523. Foncé
  524. </label>
  525. <label>
  526. <input type="radio" value="light" name="chosen-color-scheme">
  527. Clair
  528. </label>
  529. </fieldset>
  530. </form>
  531. </template>
  532. </footer>
  533. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  534. <script>
  535. function loadThemeForm(templateName) {
  536. const themeSelectorTemplate = document.querySelector(templateName)
  537. const form = themeSelectorTemplate.content.firstElementChild
  538. themeSelectorTemplate.replaceWith(form)
  539. form.addEventListener('change', (e) => {
  540. const chosenColorScheme = e.target.value
  541. localStorage.setItem('theme', chosenColorScheme)
  542. toggleTheme(chosenColorScheme)
  543. })
  544. const selectedTheme = localStorage.getItem('theme')
  545. if (selectedTheme && selectedTheme !== 'undefined') {
  546. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  547. }
  548. }
  549. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  550. window.addEventListener('load', () => {
  551. let hasDarkRules = false
  552. for (const styleSheet of Array.from(document.styleSheets)) {
  553. let mediaRules = []
  554. for (const cssRule of styleSheet.cssRules) {
  555. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  556. continue
  557. }
  558. // WARNING: Safari does not have/supports `conditionText`.
  559. if (cssRule.conditionText) {
  560. if (cssRule.conditionText !== prefersColorSchemeDark) {
  561. continue
  562. }
  563. } else {
  564. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  565. continue
  566. }
  567. }
  568. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  569. }
  570. // WARNING: do not try to insert a Rule to a styleSheet you are
  571. // currently iterating on, otherwise the browser will be stuck
  572. // in a infinite loop

  573. for (const mediaRule of mediaRules) {
  574. styleSheet.insertRule(mediaRule.cssText)
  575. hasDarkRules = true
  576. }
  577. }
  578. if (hasDarkRules) {
  579. loadThemeForm('#theme-selector')
  580. }
  581. })
  582. </script>
  583. </body>
  584. </html>