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.

преди 10 месеца
преди 10 месеца
преди 8 месеца
преди 10 месеца
преди 3 седмици
преди 10 месеца
преди 9 месеца
преди 10 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 8 месеца
преди 9 месеца
преди 9 месеца
преди 9 месеца
преди 9 месеца
преди 9 месеца
преди 9 месеца
преди 9 месеца
преди 9 месеца
преди 10 месеца
преди 9 месеца
преди 10 месеца
преди 9 месеца
преди 10 месеца
преди 9 месеца
преди 10 месеца
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173
  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. Étiquette #dépendance
  14. — David Larlet</title>
  15. <script>
  16. function toggleTheme(themeName) {
  17. document.documentElement.classList.toggle(
  18. 'forced-dark',
  19. themeName === 'dark'
  20. )
  21. document.documentElement.classList.toggle(
  22. 'forced-light',
  23. themeName === 'light'
  24. )
  25. }
  26. const selectedTheme = localStorage.getItem('theme')
  27. if (selectedTheme !== 'undefined') {
  28. toggleTheme(selectedTheme)
  29. }
  30. </script>
  31. <!-- Documented, feel free to shoot an email. -->
  32. <link rel="stylesheet" href="/static/david/css/style_2024-03-09.css">
  33. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  34. <link rel="preload"
  35. href="/static/david/css/fonts/century_supra_ot_a_regular.woff2"
  36. as="font"
  37. type="font/woff2"
  38. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  39. crossorigin>
  40. <link rel="preload"
  41. href="/static/david/css/fonts/century_supra_ot_a_bold.woff2"
  42. as="font"
  43. type="font/woff2"
  44. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  45. crossorigin>
  46. <link rel="preload"
  47. href="/static/david/css/fonts/century_supra_ot_a_italic.woff2"
  48. as="font"
  49. type="font/woff2"
  50. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  51. crossorigin>
  52. <link rel="preload"
  53. href="/static/david/css/fonts/century_supra_ot_b_regular.woff2"
  54. as="font"
  55. type="font/woff2"
  56. media="(prefers-color-scheme: dark)"
  57. crossorigin>
  58. <link rel="preload"
  59. href="/static/david/css/fonts/century_supra_ot_b_bold.woff2"
  60. as="font"
  61. type="font/woff2"
  62. media="(prefers-color-scheme: dark)"
  63. crossorigin>
  64. <link rel="preload"
  65. href="/static/david/css/fonts/century_supra_ot_b_italic.woff2"
  66. as="font"
  67. type="font/woff2"
  68. media="(prefers-color-scheme: dark)"
  69. crossorigin>
  70. <meta name="description" content="Publications relatives au tag #dépendance">
  71. <!-- That good ol' feed, subscribe :). -->
  72. <link rel="alternate"
  73. type="application/atom+xml"
  74. title="Feed"
  75. href="/david/log/">
  76. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  77. <link rel="apple-touch-icon"
  78. sizes="180x180"
  79. href="/static/david/icons2/apple-touch-icon.png">
  80. <link rel="icon"
  81. type="image/png"
  82. sizes="32x32"
  83. href="/static/david/icons2/favicon-32x32.png">
  84. <link rel="icon"
  85. type="image/png"
  86. sizes="16x16"
  87. href="/static/david/icons2/favicon-16x16.png">
  88. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  89. <link rel="mask-icon"
  90. href="/static/david/icons2/safari-pinned-tab.svg"
  91. color="#07486c">
  92. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  93. <meta name="msapplication-TileColor" content="#f7f7f7">
  94. <meta name="msapplication-config"
  95. content="/static/david/icons2/browserconfig.xml">
  96. <meta name="theme-color"
  97. content="#f7f7f7"
  98. media="(prefers-color-scheme: light)">
  99. <meta name="theme-color"
  100. content="#272727"
  101. media="(prefers-color-scheme: dark)">
  102. <!-- Is that even respected? Retrospectively? What a shAItshow…
  103. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  104. <meta name="robots" content="noai, noimageai">
  105. <!-- To get attribution when linking on mastodon. -->
  106. <meta name="fediverse:creator" content="@david@larlet.fr">
  107. <style type="text/css">
  108. details[open] summary {
  109. display: none;
  110. }
  111. </style>
  112. <body data-instant-intensity="viewport-all">
  113. <article>
  114. <header>
  115. <hgroup>
  116. <h1>#dépendance</h1>
  117. <p>Publications relatives à cette étiquette</p>
  118. </hgroup>
  119. </header>
  120. <nav>
  121. <p>
  122. <a href="/david/" title="Aller à l’accueil">
  123. Accueil</a>
  124. <a rel="tags"
  125. href="/david/2024/#tags"
  126. title="Liste de toutes les étiquettes">
  127. Étiquettes</a>
  128. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search" data-no-instant>Recherche</a>
  129. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  130. </p>
  131. </nav>
  132. <h2>
  133. <a href="/david/2024/03/25/" title="Lien permanent vers cet article">Inclusion</a> <time datetime="2024-03-25">25 mars 2024</time>
  134. </h2>
  135. <p>Dans le cadre de <del><a data-link-domain="en.wikipedia.org" href="https://en.wikipedia.org/wiki/Eating_your_own_dog_food">manger ma propre bouffe pour chien</a></del> mon <a data-link-domain="fr.wikipedia.org" href="https://fr.wikipedia.org/wiki/Auto%C3%A9quipement">autoéquipement</a>, je voulais vérifier si l’implémentation de <a data-link-domain="oembed.com" href="https://oembed.com/">oEmbed</a> dans <a data-link-domain="umap-project.org" href="https://umap-project.org/fr/">uMap</a> était utilisable… et il se trouve que ce n’était pas le cas avant aujourd’hui. Il y aurait encore des pistes d’améliorations mais au moins ça affiche une carte (si vous autorisez les requêtes externes en&nbsp;JS)&nbsp;:</p>
  136. <style type="text/css">
  137. o-embed {
  138. /* Size of the oembed + paragraph + margins. */
  139. height: calc(300px + 1rem + 3rem);
  140. }
  141. </style>
  142. <o-embed url="https://umap.openstreetmap.fr/fr/map/grand-tour-de-la-foret-de-ouareau_1037457">
  143. <p>
  144. Vous devriez voir s’afficher une carte de mon « Grand Tour de la forêt de Ouareau »,
  145. il est probable que cela ne s’exécute pas dans un agrégateur par exemple.
  146. </p>
  147. </o-embed>
  148. <script type="module">
  149. class OEmbed extends HTMLElement {
  150. static tagName = 'o-embed'
  151. static register(tagName, registry) {
  152. if(!registry && ('customElements' in globalThis)) {
  153. registry = globalThis.customElements
  154. }
  155. registry?.define(tagName || this.tagName, this)
  156. }
  157. get url() {
  158. return this.getAttribute('url') || ''
  159. }
  160. constructor() {
  161. super()
  162. this.attachShadow({ mode: 'open' })
  163. }
  164. async connectedCallback() {
  165. let slot = document.createElement('slot')
  166. this.shadowRoot.appendChild(slot)
  167. const html = await this.fetchText(this.url)
  168. const oEmbedLink = this.extractOembedLink(html)
  169. const oEmbedJson = await this.fetchJson(oEmbedLink)
  170. this.innerHTML = oEmbedJson.html
  171. }
  172. fetchText(url) {
  173. return fetch(url)
  174. .then((data) => data.text())
  175. .catch(console.error.bind(this))
  176. }
  177. fetchJson(url) {
  178. return fetch(url, { type: 'json' })
  179. .then((data) => data.json())
  180. .catch(console.error.bind(this))
  181. }
  182. extractOembedLink(html) {
  183. const parser = new DOMParser()
  184. const htmlDocument = parser.parseFromString(html, "text/html")
  185. const oEmbedMeta = htmlDocument.documentElement.querySelector(
  186. 'link[type="application/json+oembed"]'
  187. )
  188. return oEmbedMeta.href
  189. }
  190. }
  191. OEmbed.register()
  192. </script>
  193. <p>J’en ai fait un <em>web component</em> car je compte explorer / publier davantage de cartes par la suite. Je vais essayer d’ajouter des options lorsqu’elles deviendront disponibles côté uMap. Pour l’instant, il faudra vous contenter d’un <code>view-source:</code> (meilleure fonctionnalité du Web, ne l’oublions&nbsp;jamais).</p>
  194. <p>Au passage, j’ai mis à jour le moteur de ce site pour pouvoir injecter des morceaux de HTML (et donc CSS/JS) sur des billets en particulier. Je m’amuse&nbsp;bien&nbsp;🧑‍🔬.</p>
  195. <p>Je compte <a href="/david/2024/03/11/#hr-109">reparler de cette carte</a>.</p>
  196. <a href="#hr-134" title="Lien vers cette section de la page"><hr id="hr-134" /></a>
  197. <p>Beaucoup moins glorieux, j’ai participé à <a data-link-domain="forum.openstreetmap.fr" href="https://forum.openstreetmap.fr/t/mise-en-production-umap-v2-1-x-compliquee-perte-des-dernieres-donnees-sauvegardees-sur-52-cartes/22336">de la perte de données</a> aujourd’hui. Nous avons eu besoin de trois cerveaux et pas mal d’heures pour comprendre ce qu’il se passait. Il était difficile de tester / imaginer / reproduire autrement que sur le serveur de production. C’est déjà pas mal d’avoir eu la possibilité de passer en lecture seule avant que ça ne touche trop de&nbsp;cartes.</p>
  198. <p>J’ai appris qu’il ne fallait pas se fier à l’ordre des IDs… lorsqu’ils deviennent des&nbsp;UUIDs&#8239;!</p>
  199. <a href="#hr-135" title="Lien vers cette section de la page"><hr id="hr-135" /></a>
  200. <blockquote lang="en">
  201. <p>A data hoarder’s dream come true: bundle any web page into a single HTML file. You can finally replace that gazillion of open tabs with a gazillion of .html files stored somewhere on your precious little&nbsp;drive.</p>
  202. <p>Unlike the conventional “Save page as”, monolith not only saves the target document, <mark>it embeds CSS, image, and JavaScript assets all at once,</mark> producing a single HTML5 document that is a joy to store and&nbsp;share.</p>
  203. <p><cite><em><a data-link-domain="github.com" href="https://github.com/Y2Z/monolith">monolith</a></em></cite></p>
  204. </blockquote>
  205. <p>Je me demande si je ne devrais pas avoir recours à ce type d’outil plutôt que de n’extraire que la partie de HTML qui m’intéresse pour garder <a href="/david/2024/02/03/" title="Archives">une copie des liens</a> que je lie par ici. C’est pour l’instant un peu fastidieux mais ça me fait aussi découvrir des choses en explorant le code des&nbsp;autres.</p>
  206. <a href="#hr-136" title="Lien vers cette section de la page"><hr id="hr-136" /></a>
  207. <blockquote lang="en">
  208. <p>For this reason, I got more into <mark>“Conflict-free Resolution Data Types” (CRDTs),</mark> with the goal of understanding what they are, how they work, what are the different libraries out there, and which one would be a good fit for us, if&nbsp;any.</p>
  209. <p><cite><em><a data-link-domain="blog.notmyidea.org" href="https://blog.notmyidea.org/a-comparison-of-javascript-crdts.html" hreflang="fr"
  210. title="Consultation de l’article">A comparison of JavaScript CRDTs</a>
  211. <a href="/david/cache/2024/2c0b2588dfcd3a194da4133c7505cd3e/" hreflang="fr"
  212. data-tippy data-description=""
  213. data-source="https://blog.notmyidea.org/a-comparison-of-javascript-crdts.html"
  214. data-date="2024-03-25"
  215. data-favicon="https://blog.notmyidea.org/favicon-32x32.png"
  216. data-domain="blog.notmyidea.org"
  217. ><svg xmlns="http://www.w3.org/2000/svg"
  218. width="24" height="24" viewBox="0 0 24 24" fill="none"
  219. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  220. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  221. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  222. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  223. </svg>
  224. <span class="sr-only">[archive]</span></a></em></cite></p>
  225. </blockquote>
  226. <p>J’apprends plein de choses à ce sujet grâce à Alexis, c’est chouette à explorer par&nbsp;procuration.</p>
  227. <a href="#hr-137" title="Lien vers cette section de la page"><hr id="hr-137" /></a>
  228. <blockquote lang="en">
  229. <p>To summarize, digital information requires maintenance. It's not sufficient to make backups; the backups also need to be maintained, upgraded, transferred, and curated. Without conscientious care, the data of today will be lost forever in a few years. Even with care, it's possible through software or hardware changes to lose access forever. That shoebox of old backup CDs will be unreadable&nbsp;soon.</p>
  230. <p>Which brings us back to those old photo caches. They held negatives and prints, physical objects that stored images. They needed no attention, no curating, no updating. They sat untended and forgotten for decades, but through all that time faithfully held their information, waiting for a future discoverer. As a result, we can all see what the Scott Antarctic expedition saw, and I can see what my great-grandparents looked&nbsp;like.</p>
  231. <p><mark>It is a sad irony that modern technology makes it unlikely that future generations will see the images made&nbsp;today.</mark></p>
  232. <p>Ask yourself whether your great-grandchildren will be able to see your photographs. If the images exist only as a digital image file, the answer is almost certainly, &quot;No&quot;. If, however, there are physical prints, the odds improve. Those digital images need to be made real to endure. Without a print, a digital photograph has no&nbsp;future.</p>
  233. <p><cite><em><a data-link-domain="commandcenter.blogspot.com" href="https://commandcenter.blogspot.com/2014/08/prints.html" hreflang="en"
  234. title="Consultation de l’article (anglais)">command center: Prints</a>
  235. <a href="/david/cache/2024/46dc6f44f3e34c4c0626ad4b13dba768/" hreflang="en"
  236. data-tippy data-description="Two long-buried caches of photographs came to light last year. One was a stack of cellulose nitrate negatives made on the Scott Antarctic ex..."
  237. data-source="https://commandcenter.blogspot.com/2014/08/prints.html"
  238. data-date="2024-03-25"
  239. data-favicon="https://commandcenter.blogspot.com/favicon.ico"
  240. data-domain="commandcenter.blogspot.com"
  241. ><svg xmlns="http://www.w3.org/2000/svg"
  242. width="24" height="24" viewBox="0 0 24 24" fill="none"
  243. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  244. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  245. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  246. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  247. </svg>
  248. <span class="sr-only">[archive]</span></a></em></cite></p>
  249. </blockquote>
  250. <p>Très vrai <em>et</em> je me demande si le fait d’avoir des artefacts qui perdurent sur plusieurs générations sans entretien / transmission n’est pas justement un épiphénomène. Le numérique est peut-être plus proche de la transmission orale, une information qui a besoin d’être appropriée par læ récepteur·ice pour qu’elle continue à&nbsp;vivre.</p>
  251. <p>Ce sera à moi d’apprendre à ma descendance comment garder en vie cette flamme numérique qui vacille à chaque coup de vent de format&nbsp;propriétaire.</p>
  252. <nav>
  253. <p>
  254. <a href="/david/2024/dependance/"
  255. title="Liste de tous les articles 2024 associés à cette étiquette"
  256. rel="tag">#dépendance</a>
  257. <a href="/david/2024/partage/"
  258. title="Liste de tous les articles 2024 associés à cette étiquette"
  259. rel="tag">#partage</a>
  260. <a href="/david/2024/technique/"
  261. title="Liste de tous les articles 2024 associés à cette étiquette"
  262. rel="tag">#technique</a>
  263. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  264. </p>
  265. </nav>
  266. <h2>
  267. <a href="/david/2024/03/23/" title="Lien permanent vers cet article">Intendant</a> <time datetime="2024-03-23">23 mars 2024</time>
  268. </h2>
  269. <blockquote lang="en">
  270. <p>In <a data-link-domain="andrewkelley.me" href="https://andrewkelley.me/post/why-we-cant-have-nice-software.html">Why We Can’t Have Nice Software</a>, I point out this pattern of needless software churn in the mindless quest for profit. This is a perfect example occurring right now. Redict has already reached its peak; it does not need any more serious software development to occur. It does not need to <a data-link-domain="redis.com" href="https://redis.com/blog/the-future-of-redis/">pivot to AI</a>. It can be maintained for decades to come with minimal effort. It can continue to provide a high amount of value for a low amount of labor. That’s the entire point of&nbsp;software!</p>
  271. <p>Redict does not have any profit left to offer. It no longer needs a fund-raising entity behind it anymore. <mark>It just needs a good project&nbsp;steward.</mark></p>
  272. <p><cite><em><a data-link-domain="andrewkelley.me" href="https://andrewkelley.me/post/redis-renamed-to-redict.html" hreflang="en"
  273. title="Consultation de l’article (anglais)">Redis Renamed to Redict</a>
  274. <a href="/david/cache/2024/d58c7619eec894c5c069244114ea1df5/" hreflang="en"
  275. data-tippy data-description="In other words, Redict is the true spiritual successor to what was once Redis."
  276. data-source="https://andrewkelley.me/post/redis-renamed-to-redict.html"
  277. data-date="2024-03-23"
  278. data-favicon=""
  279. data-domain="andrewkelley.me"
  280. ><svg xmlns="http://www.w3.org/2000/svg"
  281. width="24" height="24" viewBox="0 0 24 24" fill="none"
  282. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  283. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  284. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  285. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  286. </svg>
  287. <span class="sr-only">[archive]</span></a></em></cite></p>
  288. </blockquote>
  289. <p>Je me pose beaucoup de questions sur cette notion de finitude logicielle. Et sur le fait de parfois créer ma propre nécessité, sans en avoir forcément conscience ou&nbsp;l’intention.</p>
  290. <p>J’y vois un parallèle avec une frugalité que je n’arrive pas à atteindre, les deux étant probablement&nbsp;liés.</p>
  291. <p>Il me reste encore tellement de choses à&nbsp;démêler…</p>
  292. <a href="#hr-130" title="Lien vers cette section de la page"><hr id="hr-130" /></a>
  293. <blockquote lang="en">
  294. <p>So, yeah, I’ve been at this for a while, and this is the answer: Write CSS. Not too much. Mostly&nbsp;scoped.</p>
  295. <p>I’m sure we’ll never argue about how to manage CSS ever&nbsp;again.</p>
  296. <p><cite><em><a data-link-domain="leereamsnyder.com" href="https://www.leereamsnyder.com/write-css-not-too-much-mostly-scoped" hreflang="en"
  297. title="Consultation de l’article (anglais)">Write CSS. Not too much. Mostly scoped.</a>
  298. <a href="/david/cache/2024/4e116948ed4d26daa981a6c4ea9e4282/" hreflang="en"
  299. data-tippy data-description="Let’s talk about Tailwind and appease no one"
  300. data-source="https://www.leereamsnyder.com/write-css-not-too-much-mostly-scoped"
  301. data-date="2024-03-23"
  302. data-favicon="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='64'%20height='64'%3e%3cstyle%3e%20@media%20(prefers-color-scheme:%20dark)%20{%20.lee%20{%20fill:%20%23FF4640;%20}%20.ream%20{%20fill:%20%23EC7F00;%20}%20.sny%20{%20fill:%20%23FFB258;%20}%20.der%20{%20fill:%20%23FFDFC6;%20}%20.letters%20{%20fill:%20%23373948;%20}%20}%20%3c/style%3e%3cpath%20class='lee'%20fill='%239B70FF'%20d='M0%203.066A3.066%203.066%200%200%201%203.066%200h57.868A3.066%203.066%200%200%201%2064%203.066v14.946H0V3.066Z'/%3e%3cpath%20class='ream'%20fill='%2300749D'%20d='M64%2034.108H0V15.713h64z'/%3e%3cpath%20class='sny'%20fill='%230092C5'%20d='M64%2031.808v20.695H0V31.808z'/%3e%3cpath%20class='der'%20fill='%238BCFFC'%20d='M64%2047.904v13.03A3.066%203.066%200%200%201%2060.934%2064H3.066A3.066%203.066%200%200%201%200%2060.934v-13.03h64Z'/%3e%3cg%20class='letters'%20fill='%23fff'%20fill-rule='nonzero'%3e%3cpath%20d='M13.275%2040.809c0-4.277%207.379-14.523%207.379-20.304%200-3.102-1.927-4.7-5.17-4.7-4.089%200-8.554%202.021-13.865%206.063a20.491%2020.491%200%200%201%202.726%204.277c3.807-3.055%206.016-4.559%207.849-4.559%201.081%200%201.457.517%201.457%201.363%200%203.76-6.956%2012.643-6.956%2019.458%200%204.136%202.444%206.063%207.144%206.063%205.687%200%2010.481-2.679%2016.215-9.494-1.175-.893-2.303-1.739-3.854-3.384-3.854%205.405-7.332%207.52-10.199%207.52-1.927%200-2.726-.846-2.726-2.303ZM50.286%2048c.33-1.692%201.128-3.431%201.833-5.17-.987.047-3.384.141-5.875.141-1.692%200-1.88-1.128-1.41-2.444%202.444-6.58%206.44-10.81%2010.575-10.81%201.363%200%202.491.423%203.243%201.41-.235-.047-.517-.047-.799-.047-2.538%200-3.9%201.739-3.9%203.76s1.268%203.29%203.336%203.29c3.29%200%204.935-3.431%204.935-7.332%200-3.619-1.692-6.627-5.687-6.627-4.183%200-7.52%203.055-10.763%209.87h-.423c.423-2.021.658-3.572.658-4.559%200-3.525-2.115-5.264-5.499-5.264-2.96%200-5.78%201.363-8.883%203.854.893.987%201.645%202.256%202.491%203.807%202.021-1.833%203.478-2.679%204.935-2.679%201.081%200%201.551.705%201.551%201.88%200%201.645-.94%205.311-2.726%209.776-.705%201.739-1.363%202.115-2.679%202.115-2.02%200-3.572-.141-4.324-.141-.329%201.692-1.08%203.431-1.786%205.17%202.632-.141%2018.33-.141%2021.197%200Z'/%3e%3c/g%3e%3c/svg%3e"
  303. data-domain="leereamsnyder.com"
  304. ><svg xmlns="http://www.w3.org/2000/svg"
  305. width="24" height="24" viewBox="0 0 24 24" fill="none"
  306. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  307. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  308. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  309. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  310. </svg>
  311. <span class="sr-only">[archive]</span></a></em></cite></p>
  312. </blockquote>
  313. <p>Ça commence par le classique «&nbsp;pour ou contre Tailwind&nbsp;» mais après il y a des choses&nbsp;inspirantes.</p>
  314. <a href="#hr-131" title="Lien vers cette section de la page"><hr id="hr-131" /></a>
  315. <blockquote lang="en">
  316. <p>quick q, however: how do they get off the worm when they’ve arrived at their&nbsp;destination</p>
  317. <p>keep noticing that the movie cuts before they get off, Denis my friend you can’t fool me, how do you stop riding the worm, answer&nbsp;us</p>
  318. <p><cite><em><a data-link-domain="youngvulgarian.substack.com" href="https://youngvulgarian.substack.com/p/sydney-sweeney-if-youre-free-on-thursday" hreflang="en"
  319. title="Consultation de l’article (anglais)">Sydney Sweeney, if you’re free on Thursday,</a>
  320. <a href="/david/cache/2024/0e3d54128711421c0878723dafed66e8/" hreflang="en"
  321. data-tippy data-description="Behold! I have had a thought."
  322. data-source="https://youngvulgarian.substack.com/p/sydney-sweeney-if-youre-free-on-thursday"
  323. data-date="2024-03-23"
  324. data-favicon="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdaf53371-1861-41b7-8e48-82787a877e62%2Ffavicon-16x16.png"
  325. data-domain="youngvulgarian.substack.com"
  326. ><svg xmlns="http://www.w3.org/2000/svg"
  327. width="24" height="24" viewBox="0 0 24 24" fill="none"
  328. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  329. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  330. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  331. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  332. </svg>
  333. <span class="sr-only">[archive]</span></a></em></cite></p>
  334. </blockquote>
  335. <p>Tiens c’est vrai ça&#8239;! 🤔🤯</p>
  336. <nav>
  337. <p>
  338. <a href="/david/2024/dependance/"
  339. title="Liste de tous les articles 2024 associés à cette étiquette"
  340. rel="tag">#dépendance</a>
  341. <a href="/david/2024/psychologie/"
  342. title="Liste de tous les articles 2024 associés à cette étiquette"
  343. rel="tag">#psychologie</a>
  344. <a href="/david/2024/technique/"
  345. title="Liste de tous les articles 2024 associés à cette étiquette"
  346. rel="tag">#technique</a>
  347. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  348. </p>
  349. </nav>
  350. <h2>
  351. <a href="/david/2024/03/11/" title="Lien permanent vers cet article">LoginWall</a> <time datetime="2024-03-11">11 mars 2024</time>
  352. </h2>
  353. <blockquote lang="en">
  354. <p>I don’t have a LinkedIn account. I don’t like the idea that we both <strong>need</strong> an account. I need one to <strong>post</strong> my résumé, and you need one to <strong>view</strong> it. How does that benefit me to have my résumé behind a login wall? It doesn’t. It benefits LinkedIn. Now, my résumé is on my website, displayed more beautifully than LinkedIn lets&nbsp;me.</p>
  355. <p>[…]</p>
  356. <p>Every new thing that I add to my website works to regain my internet presence <strong>away</strong> from companies that <strong>do not</strong> have my interests at heart. And I will avoid future problems like a company deciding to put login walls or paywalls in front of my content. Or putting Nazi content beside mine. <mark>I can avoid all of that by&nbsp;self-publishing.</mark></p>
  357. <p><cite><em><a data-link-domain="lmnt.me" href="https://lmnt.me/blog/web-independence.html" hreflang="en"
  358. title="Consultation de l’article (anglais)">Web Independence</a>
  359. <a href="/david/cache/2024/ce6e3472d21a189dc76b3fc6e6f1b49c/" hreflang="en"
  360. data-tippy data-description="Be independent. We can build things on the web without them. Better things."
  361. data-source="https://lmnt.me/blog/web-independence.html"
  362. data-date="2024-03-11"
  363. data-favicon="https://lmnt.me/lmnt.png"
  364. data-domain="lmnt.me"
  365. ><svg xmlns="http://www.w3.org/2000/svg"
  366. width="24" height="24" viewBox="0 0 24 24" fill="none"
  367. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  368. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  369. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  370. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  371. </svg>
  372. <span class="sr-only">[archive]</span></a></em></cite></p>
  373. </blockquote>
  374. <p>Le problème de sites comme LinkedIn c’est qu’il est difficile de se rendre compte de leur inaccessibilité lorsqu’on a un compte. Ou alors les personnes mettent leurs CV en signature de courriel en sachant que je ne vais pas pouvoir les&nbsp;consulter&#8239;?</p>
  375. <p>Avec TwiX c’est encore pire car ça varie d’un jour sur l’autre. Parfois le <em>tweet</em> est accessible mais seul, parfois il faut un compte, parfois on accède à une page avec la liste des dernières publications de la personne mais ordonnées par «&nbsp;popularité&nbsp;», ça sent bon la girouette qui est à la tête de&nbsp;l’entreprise.</p>
  376. <p>Et je ne parle même pas de ce qui se passe sur&nbsp;Facebook.</p>
  377. <a href="#hr-108" title="Lien vers cette section de la page"><hr id="hr-108" /></a>
  378. <blockquote lang="en">
  379. <p>What I try to keep in mind is the <a data-link-domain="en.wikipedia.org" href="https://en.wikipedia.org/wiki/Curb_cut_effect">curb cut effect</a>, also known as the «&nbsp;i want subtitles on my favourite show because even though my ears are just fine, i like to eat crisps while watching&nbsp;» rule. In many cases, adding accessibility to your website makes it nicer for everyone, not only for the people who needed these changes. (Corollary: everything that makes you squint is giving a giant migraine to someone else out&nbsp;there.)</p>
  380. <p><cite><em><a data-link-domain="alexsirac.com" href="https://alexsirac.com/accessibility-notes/" hreflang="fr"
  381. title="Consultation de l’article">Accessibility notes from your headache-prone friend</a>
  382. <a href="/david/cache/2024/4dc1c2edacf179310783146044f0d06e/" hreflang="fr"
  383. data-tippy data-description=""
  384. data-source="https://alexsirac.com/accessibility-notes/"
  385. data-date="2024-03-11"
  386. data-favicon="https://alexsirac.com/wp-content/uploads/2023/01/cropped-cropped-portraitplante-32x32.webp"
  387. data-domain="alexsirac.com"
  388. ><svg xmlns="http://www.w3.org/2000/svg"
  389. width="24" height="24" viewBox="0 0 24 24" fill="none"
  390. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  391. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  392. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  393. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  394. </svg>
  395. <span class="sr-only">[archive]</span></a></em></cite></p>
  396. </blockquote>
  397. <p>Je ne connaissais pas le nom de cet effet, j’espère le retenir en le notant ici. Merci&nbsp;Alex&#8239;!</p>
  398. <p><mark>Lu le lendemain</mark> <a data-link-domain="toot.cat" href="https://toot.cat/@nickcolley/112073548430975046">sur masto</a>&nbsp;:</p>
  399. <blockquote lang="en">
  400. <p>It is true that meeting the needs of many disabled people makes services better for non-disabled&nbsp;people.</p>
  401. <p>It is wrong though to say that all accessibility efforts benefit non-disabled&nbsp;people.</p>
  402. <p>They don’t, meeting some access needs <em>only</em> benefit some disabled&nbsp;people.</p>
  403. <p>It is tiring hearing &quot;you’ll be disabled in the future&quot; when there’s such a broad experience of disability that many people won’t experience due to&nbsp;age.</p>
  404. <p>We must create strategies where we aim to humanise and value disabled people inherently and not have to lean so hard on non-disabled people’s self&nbsp;interest.</p>
  405. </blockquote>
  406. <a href="#hr-109" title="Lien vers cette section de la page"><hr id="hr-109" /></a>
  407. <figure>
  408. <a href="/static/david/2024/2024-03-11-parcours-ouareau.png"
  409. title="Cliquer pour une version haute résolution">
  410. <img
  411. src="/static/david/2024/2024-03-11-parcours-ouareau.png"
  412. width="1294" height="1108"
  413. srcset="/static/david/2024/2024-03-11-parcours-ouareau.png 1294w, /static/david/2024/2024-03-11-parcours-ouareau.png 660w, /static/david/2024/2024-03-11-parcours-ouareau.png 990w, /static/david/2024/2024-03-11-parcours-ouareau.png 1320w"
  414. sizes="min(100vw, calc(100vh * 1294 / 1108))"
  415. loading="lazy"
  416. decoding="async"
  417. alt="Capture d’écran d’un parcours sur 4&nbsp;jours avec une soixantaine de kilomètres.">
  418. </a>
  419. <figcaption>Si ma cheville le&nbsp;permet.</figcaption>
  420. </figure>
  421. <p>J’ai joué avec le <a data-link-domain="komoot.com" href="https://www.komoot.com/fr-fr/plan">Planificateur d’itinéraire de Komoot</a> hier, je ne m’étais jamais demandé vraiment quelles distances est-ce que je pouvais parcourir dans la forêt. J’aime bien le fait d’avoir l’option de suivre les chemins connus. À voir si j’arrive à faire ce grand tour en rando rapide / légère. Je connais déjà 80% du parcours et je sais dès à présent que la deuxième journée serait bien longue. L’avantage d’être en terrain connu, c’est de connaître les endroits où je peux couper en cas de pépin&nbsp;physique.</p>
  422. <p>J’ai du matériel très léger mais je me rends compte que la nourriture est déjà un défi sur 4&nbsp;jours pour garder un sac qui permette de courir. Je m’entraîne en ce moment en faisant des aller-retours à la bibliothèque avec 5kg de livres sur le dos. On verra bien si c’est utile… au pire j’aurais découvert des&nbsp;BD&nbsp;:-).</p>
  423. <nav>
  424. <p>
  425. <a href="/david/2024/decentralisation/"
  426. title="Liste de tous les articles 2024 associés à cette étiquette"
  427. rel="tag">#décentralisation</a>
  428. <a href="/david/2024/dependance/"
  429. title="Liste de tous les articles 2024 associés à cette étiquette"
  430. rel="tag">#dépendance</a>
  431. <a href="/david/2024/web/"
  432. title="Liste de tous les articles 2024 associés à cette étiquette"
  433. rel="tag">#web</a>
  434. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  435. </p>
  436. </nav>
  437. <h2>
  438. <a href="/david/2024/03/03/" title="Lien permanent vers cet article">Permanence</a> <time datetime="2024-03-03">3 mars 2024</time>
  439. </h2>
  440. <blockquote lang="en">
  441. <p>Eventually, I started asking myself: <mark><em>why am I promising permanence?</em></mark> The answer crept up on me: <em>because permanence is better than nothing.</em> Without the momentum of obligation, I didn’t trust myself to begin anything in&nbsp;earnest.</p>
  442. <p>The thing is, it never worked. The half-life of obligation is short; the half-life of guilt is long. Promises never saved one of my side projects, but they clogged many nights and weekends with the gunk of regret. Something had to&nbsp;change.</p>
  443. <p><cite><em><a data-link-domain="dianaberlin.com" href="https://dianaberlin.com/posts/no-more-forever-projects" hreflang="en"
  444. title="Consultation de l’article (anglais)">No more forever projects</a>
  445. <a href="/david/cache/2024/4c8a04c4c0e928bd78f22db77425bb47/" hreflang="en"
  446. data-tippy data-description="It took me a long time to see past forever projects. I told myself that making promises gave beginnings gravity. I labeled my newsletter &nbsp;a “lifelong project” not long after I started it. I called /mentoring a “movement” the day I announced it. Commitment marked a project as something w"
  447. data-source="https://dianaberlin.com/posts/no-more-forever-projects"
  448. data-date="2024-03-03"
  449. data-favicon="https://images.squarespace-cdn.com/content/v1/598927e3bebafbda588a07e2/1504459315187-9G9MSVDRY4HEGXNT8JAL/favicon.ico"
  450. data-domain="dianaberlin.com"
  451. ><svg xmlns="http://www.w3.org/2000/svg"
  452. width="24" height="24" viewBox="0 0 24 24" fill="none"
  453. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  454. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  455. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  456. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  457. </svg>
  458. <span class="sr-only">[archive]</span></a></em></cite></p>
  459. </blockquote>
  460. <p>Je vais aller m’enforester avec cette question. Le refuge ne va pas être accessible via la piste de ski (de fond), plus assez de&nbsp;neige.</p>
  461. <p>Un 3&nbsp;mars, au nord de&nbsp;Montréal.</p>
  462. <a href="#hr-97" title="Lien vers cette section de la page"><hr id="hr-97" /></a>
  463. <blockquote>
  464. <p>Ces chaleurs extrêmes de 2023&nbsp;ont moins à voir avec le développement d’El Niño qu’avec les conditions anticycloniques de la zone. <em>«&nbsp;On a observé une baisse des vents assez forte sur l’Atlantique Nord,</em> explique Christophe Cassou. <em>Or quand il y a moins de vent, il y a moins d’évaporation, ce qui conduit à un réchauffement des eaux de surface. Ces eaux chauffent aussi car elles se mélangent moins avec les eaux plus profondes et plus&nbsp;froides.&nbsp;»</em></p>
  465. <p>Aujourd’hui, cette configuration météorologique a disparu mais les eaux de surface de l’Atlantique Nord continuent de battre des records de chaleur à cause du phénomène El Niño, qui a fini par réchauffer progressivement les eaux de l’océan pendant&nbsp;l’hiver.</p>
  466. <p><cite><em><a data-link-domain="lemonde.fr" href="https://www.lemonde.fr/les-decodeurs/article/2024/03/03/climat-pourquoi-les-temperatures-battent-tous-les-records-depuis-la-mi-2023_6219806_4355770.html" hreflang="fr"
  467. title="Consultation de l’article">Climat&nbsp;: pourquoi les températures battent tous les records depuis la mi-2023</a>
  468. <a href="/david/cache/2024/6fc45aab6c9584cbb6f55ef70a685d01/" hreflang="fr"
  469. data-tippy data-description="L’année 2023 a été classée comme la plus chaude enregistrée depuis 1850, avec 14,98 °C de moyenne sur l’ensemble du globe. La tendance continue en 2024. Le principal coupable : le réchauffement lié aux gaz à effet de serre d’origine humaine."
  470. data-source="https://www.lemonde.fr/les-decodeurs/article/2024/03/03/climat-pourquoi-les-temperatures-battent-tous-les-records-depuis-la-mi-2023_6219806_4355770.html"
  471. data-date="2024-03-03"
  472. data-favicon="https://www.lemonde.fr/dist/assets/img/logos/pwa-180.png"
  473. data-domain="lemonde.fr"
  474. ><svg xmlns="http://www.w3.org/2000/svg"
  475. width="24" height="24" viewBox="0 0 24 24" fill="none"
  476. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  477. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  478. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  479. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  480. </svg>
  481. <span class="sr-only">[archive]</span></a></em></cite></p>
  482. </blockquote>
  483. <p>Les Décodeurs m’offrent une grille de lecture des phénomènes en cours&nbsp;intéressante.</p>
  484. <a href="#hr-98" title="Lien vers cette section de la page"><hr id="hr-98" /></a>
  485. <blockquote lang="en">
  486. <p>From pragma directives, to async scripts, to stylesheets, to open graph tags, it’s easy to mess up and can have consequences. Capo.js will show you the <a data-link-domain="rviscomi.github.io" href="https://rviscomi.github.io/capo.js/user/rules/">specific order of elements</a> to make your <code>&lt;head&gt;</code> and your page a little (or a lotta) bit&nbsp;faster.</p>
  487. <p><cite><em><a data-link-domain="frontendmasters.com" href="https://frontendmasters.com/blog/capo-js-a-five-minute-web-performance-boost/" hreflang="en"
  488. title="Consultation de l’article (anglais)">Capo.js: A five minute web performance boost</a>
  489. <a href="/david/cache/2024/a122504621c3c5318c0bdee38ef4479b/" hreflang="en"
  490. data-tippy data-description="You want a quick web performance win at work that’s sure to get you a promotion? Want it to only take five minutes? Then I got you. Capo.js is a tool to get your <head> in order. It’s based o…"
  491. data-source="https://frontendmasters.com/blog/capo-js-a-five-minute-web-performance-boost/"
  492. data-date="2024-03-03"
  493. data-favicon="https://frontendmasters.com/favicon-32x32.png"
  494. data-domain="frontendmasters.com"
  495. ><svg xmlns="http://www.w3.org/2000/svg"
  496. width="24" height="24" viewBox="0 0 24 24" fill="none"
  497. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  498. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  499. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  500. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  501. </svg>
  502. <span class="sr-only">[archive]</span></a></em></cite></p>
  503. </blockquote>
  504. <p>Il est aussi possible d’<a data-link-domain="rviscomi.github.io" href="https://rviscomi.github.io/capo.js/user/demo/">utiliser la démo</a> sans installer aucun JS en copiant du HTML ou en pointant vers une page. J’ai du mal à évaluer à quel point c’est pertinent pour cet espace, peut-être davantage dans des <a data-link-domain="tonsky.me" href="https://tonsky.me/blog/js-bloat/" hreflang="en"
  505. title="Consultation de l’article (anglais)">contextes sans prise de soin</a>
  506. <a href="/david/cache/2024/ad911ebf7ba5523ef0be1bdd599f7623/" hreflang="en"
  507. data-tippy data-description="What is the average size of JavaScript code downloaded per website? Fuck around and find out!"
  508. data-source="https://tonsky.me/blog/js-bloat/"
  509. data-date="2024-03-03"
  510. data-favicon="https://tonsky.me/i/favicon.png"
  511. data-domain="tonsky.me"
  512. ><svg xmlns="http://www.w3.org/2000/svg"
  513. width="24" height="24" viewBox="0 0 24 24" fill="none"
  514. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  515. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  516. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  517. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  518. </svg>
  519. <span class="sr-only">[archive]</span></a> qui semblent être la norme&nbsp;aujourd’hui.</p>
  520. <a href="#hr-99" title="Lien vers cette section de la page"><hr id="hr-99" /></a>
  521. <blockquote>
  522. <p>Rêve de la nuit&nbsp;dernière</p>
  523. <p><cite><em><a data-link-domain="la-grange.net" href="https://www.la-grange.net/2024/02/20/reve" hreflang="fr"
  524. title="Consultation de l’article">rêve - Carnets Web de La Grange</a>
  525. <a href="/david/cache/2024/24716a84007189a332fd8db3e5ff4c05/" hreflang="fr"
  526. data-tippy data-description=""
  527. data-source="https://www.la-grange.net/2024/02/20/reve"
  528. data-date="2024-03-03"
  529. data-favicon="https://www.la-grange.net/favicon.ico"
  530. data-domain="la-grange.net"
  531. ><svg xmlns="http://www.w3.org/2000/svg"
  532. width="24" height="24" viewBox="0 0 24 24" fill="none"
  533. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  534. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  535. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  536. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  537. </svg>
  538. <span class="sr-only">[archive]</span></a></em></cite></p>
  539. </blockquote>
  540. <p>💚</p>
  541. <nav>
  542. <p>
  543. <a href="/david/2024/dependance/"
  544. title="Liste de tous les articles 2024 associés à cette étiquette"
  545. rel="tag">#dépendance</a>
  546. <a href="/david/2024/opensource/"
  547. title="Liste de tous les articles 2024 associés à cette étiquette"
  548. rel="tag">#opensource</a>
  549. <a href="/david/2024/parvenir/"
  550. title="Liste de tous les articles 2024 associés à cette étiquette"
  551. rel="tag">#parvenir</a>
  552. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  553. </p>
  554. </nav>
  555. <h2>
  556. <a href="/david/2024/03/02/" title="Lien permanent vers cet article">Montre</a> <time datetime="2024-03-02">2 mars 2024</time>
  557. </h2>
  558. <p>J’ai une <a data-link-domain="suunto.com" href="https://www.suunto.com/fr-ca/Produits/Montres-de-sport/Suunto-Ambit/Suunto-Ambit-Black/" hreflang="fr"
  559. title="Consultation de l’article">Suunto Ambit Black</a>
  560. <a href="/david/cache/2024/4050651a19400713c8563166e2a9abd5/" hreflang="fr"
  561. data-tippy data-description="La qualifier de simple montre serait un peu réducteur."
  562. data-source="https://www.suunto.com/fr-ca/Produits/Montres-de-sport/Suunto-Ambit/Suunto-Ambit-Black/"
  563. data-date="2024-03-02"
  564. data-favicon="https://www.suunto.com/favicon-16x16.png"
  565. data-domain="suunto.com"
  566. ><svg xmlns="http://www.w3.org/2000/svg"
  567. width="24" height="24" viewBox="0 0 24 24" fill="none"
  568. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  569. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  570. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  571. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  572. </svg>
  573. <span class="sr-only">[archive]</span></a> achetée il y a une douzaine d’années. (Merci à Suunto de garder une page avec les caractéristiques d’un produit qui n’est plus construit / vendu&#8239;! C’est notamment utile pour comparer les spécifications de taille et poids.) Je me demandais si les montres actuelles allaient pouvoir résister à une <a href="/david/2024/02/24/" title="Jour 1">température inférieure à -20°C</a> et il semblerait que ce ne soit pas le cas, tous les modèles que j’ai consulté spécifient clairement que c’est la limite&nbsp;basse.</p>
  574. <figure>
  575. <a href="/static/david/2024/2024-03-02-coros-apex-2-temperatures.png"
  576. title="Cliquer pour une version haute résolution">
  577. <img
  578. src="/static/david/2024/2024-03-02-coros-apex-2-temperatures.png"
  579. width="2390" height="1306"
  580. srcset="/static/david/2024/2024-03-02-coros-apex-2-temperatures.png 2390w, /static/david/2024/2024-03-02-coros-apex-2-temperatures.png 660w, /static/david/2024/2024-03-02-coros-apex-2-temperatures.png 990w, /static/david/2024/2024-03-02-coros-apex-2-temperatures.png 1320w"
  581. sizes="min(100vw, calc(100vh * 2390 / 1306))"
  582. loading="lazy"
  583. decoding="async"
  584. alt="Capture d’écran pour la Coros Apex 2&nbsp;qui va de -20°C à 50°C.">
  585. </a>
  586. <figcaption>Même Kiki a du mal par -20°C&nbsp;!</figcaption>
  587. </figure>
  588. <p><em>Détail marrant&nbsp;: Kilian Jornet était déjà sur les photos de promotion de la Suunto Ambit Black et on le retrouve sur la Coros Apex 2&nbsp;Pro&nbsp;d’aujourd’hui.</em></p>
  589. <p>Au-delà de l’aspect scientifique d’envisager une montre qui résiste aux températures locales, il y a une <a href="/david/2024/01/27/" title="Jour 1">situation récente</a> qui me reste en tête aussi (ce n’est <a href="/david/2020/12/18/">pas la première fois</a>, et ce ne sera certainement pas la dernière). Une position GPS précise aurait certainement pu m’aider dans ce cas là, si je n’avais pas été trop entêté pour ne pas la consulter. J’envisage aussi des <a href="/david/2024/01/06/" title="Objectif">objectifs</a> sur lesquels j’ai besoin de me rassurer / entraîner spécifiquement en ayant une idée des distances que je pourrais parcourir dans un contexte donné que j’envisage plus rapide que ce que j’ai l’habitude de&nbsp;faire.</p>
  590. <p>Je cherche en priorité une montre qui affiche un fond de carte, ce n’est pas tant ma trace programmée que ce qu’il y a autour qui m’intéresse dans d’autres contextes exploratoires. Sur ma montre actuelle, je ne pouvais qu’enregistrer une trace à suivre qui m’indiquait les déviations mais <em>pour ma pratique</em> ce n’était pas très intéressant. Savoir qu’il y a un lac / chemin forestier à proximité peut changer ma sortie. Difficile de savoir <em>a priori</em> si les données pour mes lieux de balade seront à jour ou suffisamment&nbsp;détaillées.</p>
  591. <p>J’ai regardé l’Apple Watch Ultra 2, la Suunto Vertical Titanium Solar, des Garmin d’«&nbsp;aventure&nbsp;» et finalement la Coros Apex 2 (Pro). Dans tous les cas, ce sont de grosses montres et j’ai un poignet fin. Dans tous les cas, le <em>marketing</em> est complètement délirant&nbsp;🙃. Sans compter le prix. La Coros semble être la moins chère (!) qui réponde à l’ensemble de mes attentes, la version Pro ayant une meilleure précision GPS et autonomie, ce qui m’importe&nbsp;beaucoup.</p>
  592. <p>Ah, <a href="/david/2024/02/07/#hr-69">aussi</a>. Difficile à justifier, même amortie sur la prochaine décennie… et c’est d’ailleurs là où j’ai de sérieux doutes en terme d’obsolescence programmée, ce qui a duré 10&nbsp;ans ne durera probablement plus 10&nbsp;ans. Triste réalité. J’essaye de ne pas trop me demande si <em>je</em> vais être capable de passer encore une décennie à arpenter la&nbsp;forêt.</p>
  593. <p><strong>Montre</strong> moi tes peurs et je te dirai comment les&nbsp;acheter.</p>
  594. <p><em>P.S.&nbsp;: j’ai un petit truc qui me gratte aussi dans le fait de ne pas être utilisateur régulier de <a data-link-domain="umap-project.org" href="https://umap-project.org/fr/">uMap</a>, ce qui est un manque à différents niveaux. Avoir davantage de données me motiverait certainement à jouer avec. Il y a des lieux que je veux garder intimes et d’autres qui sont déjà bien publics. J’ai une vieille envie de pouvoir raconter mes sorties sur un fond de carte à la <a data-link-domain="storymap.knightlab.com" href="https://storymap.knightlab.com/">StoryMap</a> (<a data-link-domain="github.com" href="https://github.com/slead/leaflet-storymap">avec Leaflet&#8239;?</a>) pour agrémenter les récits de sons et images correspondants aux lieux&nbsp;parcourus.</em></p>
  595. <nav>
  596. <p>
  597. <a href="/david/2024/dependance/"
  598. title="Liste de tous les articles 2024 associés à cette étiquette"
  599. rel="tag">#dépendance</a>
  600. <a href="/david/2024/sport/"
  601. title="Liste de tous les articles 2024 associés à cette étiquette"
  602. rel="tag">#sport</a>
  603. <a href="/david/2024/technique/"
  604. title="Liste de tous les articles 2024 associés à cette étiquette"
  605. rel="tag">#technique</a>
  606. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  607. </p>
  608. </nav>
  609. <h2>
  610. <a href="/david/2024/02/18/" title="Lien permanent vers cet article">In·directions</a> <time datetime="2024-02-18">18 février 2024</time>
  611. </h2>
  612. <blockquote lang="en">
  613. <p>Any time you have a design that references the same value across multiple pieces of UI, I’d suggest that is an opportunity for <mark>abstracting</mark> that value into a name that better describes the intention of the value in the&nbsp;design.</p>
  614. <p><cite><em><a data-link-domain="jwdallas.com" href="https://jwdallas.com/posts/namingcssvariables/" hreflang="en"
  615. title="Consultation de l’article (anglais)">Naming Variables In CSS</a>
  616. <a href="/david/cache/2024/d0ffe1891c332b6fc6e7d7826d8489da/" hreflang="en"
  617. data-tippy data-description="Some collected thoughts around how to name variables in CSS. Ideas, conventions, and some do's and don't for consideration."
  618. data-source="https://jwdallas.com/posts/namingcssvariables/"
  619. data-date="2024-02-18"
  620. data-favicon="https://jwdallas.com/icons/favicon.ico"
  621. data-domain="jwdallas.com"
  622. ><svg xmlns="http://www.w3.org/2000/svg"
  623. width="24" height="24" viewBox="0 0 24 24" fill="none"
  624. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  625. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  626. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  627. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  628. </svg>
  629. <span class="sr-only">[archive]</span></a></em></cite></p>
  630. </blockquote>
  631. <p>Je me demande souvent quel est le bon niveau hiérarchique au sein des CSS modernes. L’approche constatée actuelle semble être de mettre des variables par couleur (par exemple) puis ensuite définir des variables intermédiaires pour leur donner un sens pour un contexte&nbsp;donné.</p>
  632. <pre><code>:root {
  633. --umap-color-darkBlue: #263B58;
  634. }
  635. button {
  636. --color-primary: var(--umap-color-darkBlue);
  637. }
  638. button.primary {
  639. background-color: var(--color-primary);
  640. }
  641. </code></pre>
  642. <p>Il s’agit ici de partir d’un exemple simpliste mais concret. J’imagine qu’il y a autant de dévelopeur·euse que de façon d’écrire ces 3&nbsp;seules déclarations&nbsp;:). Pourquoi <code>:root</code> et pas <code>html</code>&#8239;? Est-ce qu’il faut définir les couleurs primaires sur le <code>button</code> ou sur <code>form, nav</code>&#8239;? Ou faire sauter cet intermédiaire&#8239;? Est-ce qu’il faut <code>button.primary</code>, <code>.primary</code>, <code>.button-primary</code>, <code>.button.button-primary</code>&#8239;? Etc, etc.</p>
  643. <p>Et je ne mentionne même pas les solutions à partir de <code>:host</code> / <code>:host-context()</code> ou <code>:scope</code> qui sont encore d’autres façons de faire qui sont peut-être amenées à devenir&nbsp;populaires.</p>
  644. <p>Venant d’un langage dont l’<a data-link-domain="en.wikipedia.org" href="https://en.wikipedia.org/wiki/Zen_of_Python">un des mantras</a> est <q lang="en">There should be one-- and preferably only one --obvious way to do it.</q>, il est plus difficile de se retrouver devant une telle… flexibilité&#8239;? Lorsqu’on envisage un commun sur ces 10&nbsp;prochaines années, comment trouver une stratégie maintenable qui s’inscrira dans la durée avec&nbsp;enthousiasme&#8239;?</p>
  645. <p>Ce qui est certain, c’est que l’approche de Tailwind ne me convient pas du&nbsp;tout.</p>
  646. <blockquote lang="en">
  647. <p>To keep up with the ever-evolving CSS standard Tailwind introduced another set of language literals. Over the years Tailwind has grown from a simple set of atoms to a <mark>vendor-specific</mark> language with expressions, operators, and method&nbsp;calls.</p>
  648. <p><cite><em><a data-link-domain="nuejs.org" href="https://nuejs.org/blog/tailwind-misinformation-engine/" hreflang=""
  649. title="Consultation de l’article">Tailwind marketing and misinformation engine</a>
  650. <a href="/david/cache/2024/44c12c8fbb59c7239f0f3b04bae189b7/" hreflang=""
  651. data-tippy data-description="The origins of Tailwind and how it is framed against semantic CSS"
  652. data-source="https://nuejs.org/blog/tailwind-misinformation-engine/"
  653. data-date="2024-02-18"
  654. data-favicon="https://nuejs.org/img/favicon.svg"
  655. data-domain="nuejs.org"
  656. ><svg xmlns="http://www.w3.org/2000/svg"
  657. width="24" height="24" viewBox="0 0 24 24" fill="none"
  658. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  659. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  660. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  661. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  662. </svg>
  663. <span class="sr-only">[archive]</span></a></em></cite></p>
  664. </blockquote>
  665. <a href="#hr-77" title="Lien vers cette section de la page"><hr id="hr-77" /></a>
  666. <blockquote lang="en">
  667. <p><em>File over app</em> is a philosophy: if you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. <mark>Use tools that give you this&nbsp;freedom.</mark></p>
  668. <p><em>File over app</em> is an appeal to tool makers: accept that all software is ephemeral, and give people ownership over their&nbsp;data.</p>
  669. <p><cite><em><a data-link-domain="stephango.com" href="https://stephango.com/file-over-app" hreflang="en"
  670. title="Consultation de l’article (anglais)">File over app - Steph Ango</a>
  671. <a href="/david/cache/2024/20d288eb47779c4f1b3f36fb86aa7108/" hreflang="en"
  672. data-tippy data-description="If you want to create digital artifacts that last, they must be files you can control, in formats that are easy to retrieve and read. Use tools that give you..."
  673. data-source="https://stephango.com/file-over-app"
  674. data-date="2024-02-18"
  675. data-favicon="https://stephango.com/icon.svg"
  676. data-domain="stephango.com"
  677. ><svg xmlns="http://www.w3.org/2000/svg"
  678. width="24" height="24" viewBox="0 0 24 24" fill="none"
  679. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  680. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  681. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  682. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  683. </svg>
  684. <span class="sr-only">[archive]</span></a></em></cite></p>
  685. </blockquote>
  686. <a href="#hr-78" title="Lien vers cette section de la page"><hr id="hr-78" /></a>
  687. <blockquote lang="en">
  688. <p>Learn about the systems that already exist, and build on them rather than around them. If an existing system doesn’t do what you want, maybe the problem is in the design of your system, not that&nbsp;one.</p>
  689. <p>If you do build a new component, make sure it’s of general utility. Don’t build infrastructure that solves only the problems of your own&nbsp;team.</p>
  690. <p>It’s easy to build complexity. In the rush to launch, it’s quicker and easier to code than to redesign. <mark>But the costs accumulate and you lose in the long&nbsp;run.</mark></p>
  691. <p><cite><em><a data-link-domain="commandcenter.blogspot.com" href="https://commandcenter.blogspot.com/2023/12/simplicity.html" hreflang="en"
  692. title="Consultation de l’article (anglais)">command center: Simplicity</a>
  693. <a href="/david/cache/2024/6b26bff7f4772cf8fb78878ff4f9594f/" hreflang="en"
  694. data-tippy data-description="In May 2009, Google hosted an internal Design Wizardry panel, with talks by Jeff Dean,  Mike Burrows, Paul Haahr, Alfred Spector, Bill Cou..."
  695. data-source="https://commandcenter.blogspot.com/2023/12/simplicity.html"
  696. data-date="2024-02-18"
  697. data-favicon="https://commandcenter.blogspot.com/favicon.ico"
  698. data-domain="commandcenter.blogspot.com"
  699. ><svg xmlns="http://www.w3.org/2000/svg"
  700. width="24" height="24" viewBox="0 0 24 24" fill="none"
  701. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  702. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  703. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  704. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  705. </svg>
  706. <span class="sr-only">[archive]</span></a></em></cite></p>
  707. </blockquote>
  708. <nav>
  709. <p>
  710. <a href="/david/2024/commun/"
  711. title="Liste de tous les articles 2024 associés à cette étiquette"
  712. rel="tag">#commun</a>
  713. <a href="/david/2024/dependance/"
  714. title="Liste de tous les articles 2024 associés à cette étiquette"
  715. rel="tag">#dépendance</a>
  716. <a href="/david/2024/technique/"
  717. title="Liste de tous les articles 2024 associés à cette étiquette"
  718. rel="tag">#technique</a>
  719. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  720. </p>
  721. </nav>
  722. <h2>
  723. <a href="/david/2024/02/03/" title="Lien permanent vers cet article">Archives</a> <time datetime="2024-02-03">3 février 2024</time>
  724. </h2>
  725. <blockquote lang="en">
  726. <p>Google will no longer be keeping a backup of the entire Internet. Google Search’s “cached” links have long been an alternative way to load a website that was down or had changed, but now the company is killing them off. Google “Search Liaison” Danny Sullivan confirmed the feature removal in an X post, saying the feature “was meant for helping people access pages when way back, you often couldn’t depend on a page loading. These days, <mark>things have greatly improved.</mark> So, it was decided to retire&nbsp;it.”</p>
  727. <p><cite><em><a data-link-domain="arstechnica.com" href="https://arstechnica.com/gadgets/2024/02/google-search-kills-off-cached-webpages/" hreflang="en"
  728. title="Consultation de l’article (anglais)">Google will no longer back up the Internet: Cached webpages are dead</a>
  729. <a href="/david/cache/2024/75c7b6350ba18a5a11ee3bbf8b3b64be/" hreflang="en"
  730. data-tippy data-description="Google Search will no longer make site backups while crawling the web."
  731. data-source="https://arstechnica.com/gadgets/2024/02/google-search-kills-off-cached-webpages/"
  732. data-date="2024-02-03"
  733. data-favicon="https://cdn.arstechnica.net/wp-content/themes/ars/assets/img/material-ars-db41652381.png"
  734. data-domain="arstechnica.com"
  735. ><svg xmlns="http://www.w3.org/2000/svg"
  736. width="24" height="24" viewBox="0 0 24 24" fill="none"
  737. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  738. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  739. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  740. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  741. </svg>
  742. <span class="sr-only">[archive]</span></a></em></cite></p>
  743. </blockquote>
  744. <p><em>(rires)</em></p>
  745. <p>Forcément en lisant ça un samedi matin, j’étais immédiatement motivé pour améliorer la façon dont j’archive les liens par ici. À commencer par des méta-données qui permettraient d’avoir une prévisualisation des liens un peu&nbsp;enrichie.</p>
  746. <p>Je me dis que je ne dois pas être le seul à essayer d’extraire des informations des pages. Et j’en trouve pas mal&nbsp;: <a data-link-domain="github.com" href="https://github.com/gri38/hyperlink_preview">hyperlink_preview</a>, <a data-link-domain="github.com" href="https://github.com/scrapinghub/extruct">extruct</a> ou <a data-link-domain="github.com" href="https://github.com/seanbreckenridge/url_cache">url_cache</a> pour ne citer qu’eux. Cela me met sur la piste de <a data-link-domain="github.com" href="https://github.com/michaelhelmick/lassie">Lassie</a> qui semble extraire ce que j’aimerais avoir&nbsp;: une image ou favicon, potentiellement une description, ainsi qu’une langue. Jake Lazaroff m’avait <a href="/david/2024/02/01/#hr-60">depuis répondu</a> qu’il génère en fait ses vignettes au moment de la <a data-link-domain="gist.github.com" href="https://gist.github.com/jakelazaroff/36b9665efe02870576acfc033171d6bf">construction du site</a>. Je ne veux pas totalement suivre cette approche car je ne veux pas stocker d’images additionnelles mais je vais essayer d’avoir une solution&nbsp;hybride.</p>
  747. <p>Cela m’embête de plus en plus de coupler le générateur de site aux (méta-)données des archives. <em>À&nbsp;méditer.</em></p>
  748. <p>Pour ce qui est de l’interface, ça attendra un autre jour. J’ai tout de même ajouté des attributs <code>hreflang</code> et la bonne langue dans les pages d’archives, un truc qui me grattait depuis un bout de&nbsp;temps.</p>
  749. <a href="#hr-62" title="Lien vers cette section de la page"><hr id="hr-62" /></a>
  750. <p>Cela fait <a href="/david/2020/02/07/#sonos">bien longtemps</a> que je regrette d’avoir acheté des enceintes Sonos. Hier —&nbsp;encore une fois frustré par l’application proposée par défaut&nbsp;— je découvre <a data-link-domain="github.com" href="https://github.com/SoCo/SoCo">SoCo</a> ainsi que <a data-link-domain="github.com" href="https://github.com/avantrec/soco-cli">soco-cli</a> après quelques recherches. Je passe ensuite la soirée à batailler avec Automator pour pouvoir faire un clic-droit sur un dossier local et que ça me lise les fichiers FLAC qui sont&nbsp;dedans.</p>
  751. <p>J’arrive à la solution&nbsp;suivante&nbsp;:</p>
  752. <pre><code>on run {input, parameters}
  753. tell application &quot;Terminal&quot;
  754. do script &quot;cd ~/sonos &amp;&amp; sonos Chambre play_dir '&quot; &amp; (POSIX path of input) &amp; &quot;'&quot;
  755. end tell
  756. return input
  757. end run
  758. </code></pre>
  759. <p>Ce n’est pas très élégant et je n’ai pas réussi à faire en sorte que ça se lance dans iTerm mais au moins ça joue de la&nbsp;musique.</p>
  760. <a href="#hr-63" title="Lien vers cette section de la page"><hr id="hr-63" /></a>
  761. <blockquote lang="en">
  762. <p><strong>drab</strong> focuses on providing JavaScript functionality where it’s most useful. Many of the elements are helpful wrappers <mark>around browser APIs.</mark> Here are some of the features of the&nbsp;library.</p>
  763. <p><cite><em><a data-link-domain="drab.robino.dev" href="https://drab.robino.dev/" hreflang="en"
  764. title="Consultation de l’article (anglais)">drab - A Headless Custom Element Library</a>
  765. <a href="/david/cache/2024/2a1235215c277ebb8a0e9acb7ffd91e0/" hreflang="en"
  766. data-tippy data-description="A headless custom element library."
  767. data-source="https://drab.robino.dev/"
  768. data-date="2024-02-03"
  769. data-favicon="https://drab.robino.dev/favicon.svg"
  770. data-domain="drab.robino.dev"
  771. ><svg xmlns="http://www.w3.org/2000/svg"
  772. width="24" height="24" viewBox="0 0 24 24" fill="none"
  773. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  774. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  775. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  776. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  777. </svg>
  778. <span class="sr-only">[archive]</span></a></em></cite></p>
  779. </blockquote>
  780. <p>Le futur qui se dessine à ce sujet est <em>très</em> stimulant. Cela fait 15&nbsp;ans qu’il y a une production de masse de code JS qui n’est ni réutilisable, ni interopérable. J’ai bon espoir que ce soit en train de&nbsp;changer.</p>
  781. <a href="#hr-64" title="Lien vers cette section de la page"><hr id="hr-64" /></a>
  782. <blockquote lang="en">
  783. <p>When trying to defend this, economists typically claim that we have unlimited desire for new stuff. Apparently, rather than dedicating the time gains from technology to leisure, we pour it into making more stuff for ourselves. This is bogus. People do have a limited desire for new things, because dedicating yourself to endless production (and consumption) comes at the expense of hanging out with your family, friends and pets, or doing stuff like walking in the wilderness or surfing the waves. What people actually desire is a balance of many things, but <mark>the system we’re stuck in has unlimited desire for one direction only.</mark> That’s because it’s a vortex unleashed by humans who no longer know how to stop&nbsp;it.</p>
  784. <p><cite><em><a data-link-domain="brettscott.substack.com" href="https://brettscott.substack.com/p/tech-doesnt-make-our-lives-easier" hreflang="en"
  785. title="Consultation de l’article (anglais)">Tech doesn’t make our lives easier. It makes them faster</a>
  786. <a href="/david/cache/2024/9750840b448f07a2f2594bb25da23836/" hreflang="en"
  787. data-tippy data-description="Supposedly technologies like AI and digital payments make our lives easier. In reality convenience is an illusion used to sell us automation-driven acceleration"
  788. data-source="https://brettscott.substack.com/p/tech-doesnt-make-our-lives-easier"
  789. data-date="2024-02-03"
  790. data-favicon="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fd3d5b3dd-9c2b-4f8c-a2b7-f39933be1d53%2Ffavicon-16x16.png"
  791. data-domain="brettscott.substack.com"
  792. ><svg xmlns="http://www.w3.org/2000/svg"
  793. width="24" height="24" viewBox="0 0 24 24" fill="none"
  794. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  795. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  796. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  797. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  798. </svg>
  799. <span class="sr-only">[archive]</span></a></em></cite></p>
  800. </blockquote>
  801. <p>Un bon article à lire après 24h de galères&nbsp;techniques&nbsp;😅.</p>
  802. <nav>
  803. <p>
  804. <a href="/david/2024/dependance/"
  805. title="Liste de tous les articles 2024 associés à cette étiquette"
  806. rel="tag">#dépendance</a>
  807. <a href="/david/2024/opensource/"
  808. title="Liste de tous les articles 2024 associés à cette étiquette"
  809. rel="tag">#opensource</a>
  810. <a href="/david/2024/technique/"
  811. title="Liste de tous les articles 2024 associés à cette étiquette"
  812. rel="tag">#technique</a>
  813. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  814. </p>
  815. </nav>
  816. <h2>
  817. <a href="/david/2024/01/20/" title="Lien permanent vers cet article">Extinction</a> <time datetime="2024-01-20">20 janvier 2024</time>
  818. </h2>
  819. <blockquote lang="en">
  820. <p>So where have all the websites gone? Well, the people who make them have all gone to war for the capitalist machine. They grew up and got jobs. A natural part of growing up. Silos came and plucked their voices. Invasive memes and short form content grew in their place. Hustle overtook leisure. Harassment overtook openness. Influence overtook creativity. An economy of interestingness replaced by one of followers, likes, and engagement&nbsp;metrics.</p>
  821. <p>One important thing to note; <mark>websites aren’t extinct.</mark> In fact, you’re on one now! Uploading your own words is ancient technology but still&nbsp;works.</p>
  822. <p><cite><em><a data-link-domain="daverupert.com" href="https://daverupert.com/2024/01/where-have-all-the-websites-gone/" hreflang="en"
  823. title="Consultation de l’article (anglais)">Where have all the flowers gone?</a>
  824. <a href="/david/cache/2024/7136e0810bfa42c4a9ca798a55cd2d53/" hreflang="en"
  825. data-tippy data-description="A post from Jason Velazquez called “Where have all the websites gone?” crossed my socials. It’s a good lament about the dearth of interesting content on the internet and how we’re stuck in the same boring content silos."
  826. data-source="https://daverupert.com/2024/01/where-have-all-the-websites-gone/"
  827. data-date="2024-01-19"
  828. data-favicon="https://daverupert.com/favicon.ico"
  829. data-domain="daverupert.com"
  830. ><svg xmlns="http://www.w3.org/2000/svg"
  831. width="24" height="24" viewBox="0 0 24 24" fill="none"
  832. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  833. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  834. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  835. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  836. </svg>
  837. <span class="sr-only">[archive]</span></a></em></cite></p>
  838. </blockquote>
  839. <p>En réponse à <q lang="en"><a data-link-domain="fromjason.xyz" href="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/" hreflang="en"
  840. title="Consultation de l’article (anglais)">Where have all the websites gone?</a>
  841. <a href="/david/cache/2024/c3272392d462da90874d32841e5caac8/" hreflang="en"
  842. data-tippy data-description="It feels like all the cool websites from the late 2000s are gone. But maybe we are looking at this the wrong way. Maybe it is us who vanished."
  843. data-source="https://www.fromjason.xyz/p/notebook/where-have-all-the-websites-gone/"
  844. data-date="2024-01-09"
  845. data-favicon="https://www.fromjason.xyz/img/favicon.png"
  846. data-domain="fromjason.xyz"
  847. ><svg xmlns="http://www.w3.org/2000/svg"
  848. width="24" height="24" viewBox="0 0 24 24" fill="none"
  849. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  850. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  851. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  852. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  853. </svg>
  854. <span class="sr-only">[archive]</span></a></q> que j’ai <a href="/david/2024/01/10/#hr-24">déjà cité</a>. Peut-être que la capacité à publier est toujours là mais que nous avons <a href="/david/2024/01/12/#hr-27">trop changé</a> pour être capables de perdurer dans cette pratique. 2024&nbsp;pourrait me faire mentir car je vois une certaine effervescence dans mon agrégateur. On va bien voir si ça dure. On va bien voir si <em>je</em>&nbsp;dure.</p>
  855. <p><em>Guidé par le besoin, je suis en train d’automatiser des ancres sur mes <code>&lt;hr&gt;</code>, fausse bonne idée&#8239;? En affinant un peu le style ça me convient pour&nbsp;l’instant.</em></p>
  856. <a href="#hr-40" title="Lien vers cette section de la page"><hr id="hr-40" /></a>
  857. <blockquote>
  858. <p>public-inbox implements the sharing of an email inbox via git to complement or replace traditional mailing lists. Readers may read via NNTP, IMAP, POP3, Atom feeds or HTML&nbsp;archives.</p>
  859. <p>public-inbox spawned around three main&nbsp;ideas:</p>
  860. <ul>
  861. <li>Publicly accessible and archived communication is essential to Free Software&nbsp;development.</li>
  862. <li>Contributing to Free Software projects should not require the use of non-Free services or&nbsp;software.</li>
  863. <li><mark>Graphical user interfaces should not be required for text-based communication.</mark> Users may have broken graphics drivers, limited eyesight, or be unable to afford modern&nbsp;hardware.</li>
  864. </ul>
  865. <p>public-inbox aims to be easy-to-deploy and manage; encouraging projects to run their own instances with minimal&nbsp;overhead.</p>
  866. <p><cite><em><a data-link-domain="public-inbox.org" href="https://public-inbox.org/README.html" hreflang="en"
  867. title="Consultation de l’article (anglais)">public-inbox - an &quot;archives first&quot; approach to mailing lists</a>
  868. <a href="/david/cache/2024/30b40ff8034212e070dc7daf2b9406e9/" hreflang="en"
  869. data-tippy data-description="public-inbox implements the sharing of an email inbox via git to complement or replace traditional mailing lists. Readers may read via NNTP, IMAP, POP3, Atom feeds or HTML archives."
  870. data-source="https://public-inbox.org/README.html"
  871. data-date="2024-01-19"
  872. data-favicon="https://public-inbox.org/favicon.ico"
  873. data-domain="public-inbox.org"
  874. ><svg xmlns="http://www.w3.org/2000/svg"
  875. width="24" height="24" viewBox="0 0 24 24" fill="none"
  876. stroke="currentColor" stroke-width="2" stroke-linecap="square"
  877. stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle>
  878. <path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path>
  879. <line x1="12" y1="17" x2="12.01" y2="17"></line>
  880. </svg>
  881. <span class="sr-only">[archive]</span></a></em></cite></p>
  882. </blockquote>
  883. <p>D’une certaine manière, l’<a data-link-domain="github.com" href="https://github.com/jgm/pandoc/issues/9250">extinction de voix des un·es</a> fait mon bonheur de découverte aujourd’hui. J’espère que le réflexe ne sera pas de passer de <em>Google Groups</em> à <em>Microsoft Github Discussions</em> par&nbsp;commodité.</p>
  884. <a href="#hr-41" title="Lien vers cette section de la page"><hr id="hr-41" /></a>
  885. <blockquote>
  886. <p>… ça veut dire qu’en vrai, les droits humains, tu t’en fiches pas&nbsp;mal.</p>
  887. <p>Et que tu es juste <mark>un peu raciste</mark>.</p>
  888. <p><cite><em><a data-link-domain="emmaclit.com" href="https://emmaclit.com/2024/01/19/culture-froncaise/">Culture&nbsp;fronçaise</a></em></cite></p>
  889. </blockquote>
  890. <p>Voilà.</p>
  891. <a href="#hr-42" title="Lien vers cette section de la page"><hr id="hr-42" /></a>
  892. <figure>
  893. <a href="/static/david/2024/2024-01-19-ski-de-fond-nocturne.jpg"
  894. title="Cliquer pour une version haute résolution">
  895. <img
  896. src="/static/david/2024/2024-01-19-ski-de-fond-nocturne.jpg"
  897. width="3024" height="3024"
  898. srcset="/static/david/2024/2024-01-19-ski-de-fond-nocturne.jpg 3024w, /static/david/2024/2024-01-19-ski-de-fond-nocturne_660x440.jpg 660w, /static/david/2024/2024-01-19-ski-de-fond-nocturne_990x660.jpg 990w, /static/david/2024/2024-01-19-ski-de-fond-nocturne_1320x880.jpg 1320w"
  899. sizes="min(100vw, calc(100vh * 3024 / 3024))"
  900. loading="lazy"
  901. decoding="async"
  902. alt="Un enfant de dos dans des traces de ski de fond classique à la tombée du jour">
  903. </a>
  904. <figcaption>-16°C, rien de mieux pour démarrer une fin de semaine qu’une sortie ski dans notre jardin après&nbsp;l’école.</figcaption>
  905. </figure>
  906. <p>Cette photo est floue, c’est devenu tellement rare avec un téléphone (<em>OK&nbsp;Boomer</em>&nbsp;:p). Les couleurs étaient superbes et une fois les mains réchauffées c’était une ambiance très agréable. On n’a pas croisé grand monde. La rééducation active continue tranquillement son&nbsp;chemin.</p>
  907. <nav>
  908. <p>
  909. <a href="/david/2024/dependance/"
  910. title="Liste de tous les articles 2024 associés à cette étiquette"
  911. rel="tag">#dépendance</a>
  912. <a href="/david/2024/evolution/"
  913. title="Liste de tous les articles 2024 associés à cette étiquette"
  914. rel="tag">#évolution</a>
  915. <a href="/david/2024/parentalite/"
  916. title="Liste de tous les articles 2024 associés à cette étiquette"
  917. rel="tag">#parentalité</a>
  918. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  919. </p>
  920. </nav>
  921. <form action="/david/recherche/" method="get">
  922. <fieldset>
  923. <legend>Recherche</legend>
  924. <label for="input-search">Termes de votre recherche :</label>
  925. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  926. <input type="submit" value="Chercher">
  927. <p id="indexation-infos">
  928. <small>
  929. Seuls les contenus de ces 8 dernières années sont indexés.
  930. </small>
  931. </p>
  932. </fieldset>
  933. </form>
  934. <aside>
  935. <theme-toggle></theme-toggle>
  936. </aside>
  937. </article>
  938. <hr>
  939. <footer>
  940. <p>
  941. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  942. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  943. <a href="http://larlet.com"
  944. title="Go to my English profile"
  945. data-instant>Pro</a>
  946. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  947. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  948. </p>
  949. <template id="theme-selector">
  950. <form>
  951. <style type="text/css">
  952. fieldset div {
  953. text-align: center;
  954. }
  955. </style>
  956. <fieldset>
  957. <legend>Thème</legend>
  958. <div>
  959. <label>
  960. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  961. Auto
  962. </label>
  963. <label>
  964. <input type="radio" value="dark" name="chosen-color-scheme">
  965. Foncé
  966. </label>
  967. <label>
  968. <input type="radio" value="light" name="chosen-color-scheme">
  969. Clair
  970. </label>
  971. </div>
  972. </fieldset>
  973. </form>
  974. </template>
  975. </footer>
  976. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  977. <script>
  978. class ThemeToggle extends HTMLElement {
  979. constructor() {
  980. super()
  981. const themeSelectorTemplate = document.querySelector('#theme-selector')
  982. const form = themeSelectorTemplate.content.firstElementChild
  983. this.attachShadow({ mode: 'open' })
  984. this.shadowRoot.appendChild(form.cloneNode(true))
  985. }
  986. connectedCallback() {
  987. const form = this.shadowRoot.querySelector('form')
  988. form.addEventListener('change', (e) => {
  989. const chosenColorScheme = e.target.value
  990. localStorage.setItem('theme', chosenColorScheme)
  991. toggleTheme(chosenColorScheme)
  992. })
  993. const selectedTheme = localStorage.getItem('theme')
  994. if (selectedTheme && selectedTheme !== 'undefined') {
  995. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  996. }
  997. }
  998. }
  999. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  1000. window.addEventListener('load', () => {
  1001. let colorsLayer = undefined
  1002. let hasDarkRules = false
  1003. for (const styleSheet of Array.from(document.styleSheets)) {
  1004. let mediaRules = []
  1005. for (const layerRule of styleSheet.cssRules) {
  1006. if (!(layerRule instanceof CSSLayerBlockRule)) {
  1007. continue
  1008. }
  1009. if (layerRule.name === 'colors') {
  1010. colorsLayer = layerRule
  1011. }
  1012. for (const cssRule of layerRule.cssRules) {
  1013. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  1014. continue
  1015. }
  1016. // WARNING: Safari does not have/supports `conditionText`.
  1017. if (cssRule.conditionText) {
  1018. if (cssRule.conditionText !== prefersColorSchemeDark) {
  1019. continue
  1020. }
  1021. } else {
  1022. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  1023. continue
  1024. }
  1025. }
  1026. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  1027. }
  1028. }
  1029. // WARNING: do not try to insert a Rule to a styleSheet you are
  1030. // currently iterating on, otherwise the browser will be stuck
  1031. // in a infinite loop…
  1032. for (const mediaRule of mediaRules) {
  1033. // Safari requires the `0` second parameter (even if default).
  1034. colorsLayer.insertRule(mediaRule.cssText, 0)
  1035. hasDarkRules = true
  1036. }
  1037. }
  1038. if (hasDarkRules) {
  1039. if ('customElements' in window && !customElements.get('theme-toggle')) {
  1040. customElements.define('theme-toggle', ThemeToggle)
  1041. }
  1042. }
  1043. })
  1044. </script>
  1045. </body>
  1046. </html>