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.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  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. Rétrospectives
  14. — David Larlet</title>
  15. <meta name="description" content="J’ai mauvaise conscience. Aujourd’hui, j’ai gagné de l’argent en récompense d’une activité inutile. J’ai monopolisé l’attention et l’admiration d’enfants et d’adultes pour n’avoir fait rien d’autre que mettre un pied devant l’autre un peu plus vite qu’ils ne le font.">
  16. <!-- That good ol' feed, subscribe :). -->
  17. <link rel="alternate"
  18. type="application/atom+xml"
  19. title="Feed"
  20. href="/david/log/">
  21. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  22. <link rel="apple-touch-icon"
  23. sizes="180x180"
  24. href="/static/david/icons2/apple-touch-icon.png">
  25. <link rel="icon"
  26. type="image/png"
  27. sizes="32x32"
  28. href="/static/david/icons2/favicon-32x32.png">
  29. <link rel="icon"
  30. type="image/png"
  31. sizes="16x16"
  32. href="/static/david/icons2/favicon-16x16.png">
  33. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  34. <link rel="mask-icon"
  35. href="/static/david/icons2/safari-pinned-tab.svg"
  36. color="#07486c">
  37. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  38. <meta name="msapplication-TileColor" content="#f7f7f7">
  39. <meta name="msapplication-config"
  40. content="/static/david/icons2/browserconfig.xml">
  41. <meta name="theme-color"
  42. content="#f7f7f7"
  43. media="(prefers-color-scheme: light)">
  44. <meta name="theme-color"
  45. content="#272727"
  46. media="(prefers-color-scheme: dark)">
  47. <!-- Is that even respected? Retrospectively? What a shAItshow…
  48. https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
  49. <meta name="robots" content="noai, noimageai">
  50. <!-- Documented, feel free to shoot an email. -->
  51. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  52. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  53. <link rel="preload"
  54. href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2"
  55. as="font"
  56. type="font/woff2"
  57. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  58. crossorigin>
  59. <link rel="preload"
  60. href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2"
  61. as="font"
  62. type="font/woff2"
  63. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  64. crossorigin>
  65. <link rel="preload"
  66. href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2"
  67. as="font"
  68. type="font/woff2"
  69. media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)"
  70. crossorigin>
  71. <link rel="preload"
  72. href="/static/david/css/fonts/triplicate_t3_regular.woff2"
  73. as="font"
  74. type="font/woff2"
  75. media="(prefers-color-scheme: dark)"
  76. crossorigin>
  77. <link rel="preload"
  78. href="/static/david/css/fonts/triplicate_t3_bold.woff2"
  79. as="font"
  80. type="font/woff2"
  81. media="(prefers-color-scheme: dark)"
  82. crossorigin>
  83. <link rel="preload"
  84. href="/static/david/css/fonts/triplicate_t3_italic.woff2"
  85. as="font"
  86. type="font/woff2"
  87. media="(prefers-color-scheme: dark)"
  88. crossorigin>
  89. <script>
  90. function toggleTheme(themeName) {
  91. document.documentElement.classList.toggle(
  92. 'forced-dark',
  93. themeName === 'dark'
  94. )
  95. document.documentElement.classList.toggle(
  96. 'forced-light',
  97. themeName === 'light'
  98. )
  99. }
  100. const selectedTheme = localStorage.getItem('theme')
  101. if (selectedTheme !== 'undefined') {
  102. toggleTheme(selectedTheme)
  103. }
  104. </script>
  105. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick"
  106. data-instant-intensity="viewport-all">
  107. <article>
  108. <header>
  109. <h1>Rétrospectives</h1>
  110. </header>
  111. <nav>
  112. <p class="center">
  113. <a rel="prev"
  114. href="/david/2023/01/03/"
  115. title="Publication précédente : Préparation">← Précédent</a> •
  116. <nobr>
  117. <a href="/david/" title="Aller à l’accueil" rel="up">
  118. <svg class="icon icon-home">
  119. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"></use>
  120. </svg>
  121. Accueil</a>
  122. </nobr>
  123. <nobr>
  124. <a href="/david/recherche/"
  125. title="Aller à la page de recherche"
  126. rel="search">
  127. <svg class="icon icon-search">
  128. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-search"></use>
  129. </svg>
  130. Recherche</a>
  131. </nobr>
  132. • <a rel="next"
  133. href="/david/2023/01/05/"
  134. title="Publication suivante : Instanseul">Suivant →</a>
  135. </p>
  136. </nav>
  137. <hr>
  138. <blockquote>
  139. <p>J’ai mauvaise conscience. Aujourd’hui, j’ai gagné de l’argent en récompense d’une activité inutile. J’ai monopolisé l’attention et l’admiration d’enfants et d’adultes pour n’avoir fait rien d’autre que mettre un pied devant l’autre un peu plus vite qu’ils ne le&nbsp;font.</p>
  140. <p>Individuellement, je suis en accord avec moi-même sur le fait que courir m’a tout donné. En revanche, si j’y réfléchis en me replaçant dans le tissu de la société, je reconnais la stérilité de cette&nbsp;occupation.</p>
  141. <p><cite><em>Au-delà des sommets</em>, Kilian&nbsp;Jornet</cite></p>
  142. </blockquote>
  143. <p>À chaque fois que je lis des rétrospectives sportives sur l’année, je me rends compte que ça serait quand même flippant que tant de personnes aient accès à mes moindres ballades, mes sautes de cœur, mes humeurs du jour, mes parcours préférés, etc.</p>
  144. <p>Sociologiquement, qu’est ce que ça signifie d’avoir besoin de consigner chacun de ses pas&#8239;? Les rares fois où j’ai fait usage d’un outil de suivi lors de mes activités, cela a modifié ma façon d’évoluer et donc d’être. Peut-être que j’ai davantage besoin d’intimité que d’accompagnement dans ces moments là&#8239;? Est-ce que l’aventure c’est réussir à sortir de la <em>heatmap</em>&nbsp;locale&#8239;?!</p>
  145. <p>Mon cyclomètre est non connecté, j’ai essayé de trouver l’outil le plus stupide qui soit pour consigner tout de même une distance totale. Pareil pour <a href="/david/2021/07/16/">mon char</a>. Jusqu’à ce que la déconnexion devienne trop louche socialement pour pouvoir continuer à me sentir&nbsp;libre.</p>
  146. <p>Ces données portent tellement bien leur nom. Et surtout la&nbsp;santé&#8239;!</p>
  147. <hr />
  148. <blockquote lang="en">
  149. <p>😬 This is the crux of the Yard-sale model. In a free market, one person ends up with all of the wealth – <mark>completely by&nbsp;chance.</mark></p>
  150. <p>This is completely&nbsp;counterintuitive.</p>
  151. <p><cite><em><a href="https://pudding.cool/2022/12/yard-sale/">Why the super rich are inevitable</a></em>&nbsp;(<a href="/david/cache/2023/669f9d9d8f0c6cfb8131887c17eecfa9/">cache</a>)</cite></p>
  152. </blockquote>
  153. <blockquote lang="en">
  154. <p>👀 For more than 20&nbsp;years, we’ve known that teams spending time watching users, can see improvements. Yet we still see many teams with regular user research programs that produce complicated, unusable products. We couldn’t understand why, until&nbsp;now.</p>
  155. <p><mark>Each team member has to be exposed directly to the users&nbsp;themselves.</mark></p>
  156. <p><cite><em><a href="https://articles.uie.com/user_exposure_hours/">Fast Path to a Great UX - Increased Exposure Hours</a></em>&nbsp;(<a href="/david/cache/2023/4c5b3193ced812222ef1a6d53e3470aa/">cache</a>)</cite></p>
  157. </blockquote>
  158. <nav>
  159. <p>
  160. <a href="/david/2023/confidentialite/"
  161. title="Liste de tous les articles 2023 associés à cette étiquette"
  162. rel="tag">#confidentialité</a>
  163. <a href="/david/2023/gafam/"
  164. title="Liste de tous les articles 2023 associés à cette étiquette"
  165. rel="tag">#gafam</a>
  166. <a href="/david/2023/sport/"
  167. title="Liste de tous les articles 2023 associés à cette étiquette"
  168. rel="tag">#sport</a>
  169. <a href="/david/#tags-2023" title="Liste de toutes les étiquettes 2023">
  170. <svg class="icon icon-tags">
  171. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-tags"></use>
  172. </svg>
  173. tous ?</a>
  174. </p>
  175. </nav>
  176. <nav>
  177. <p class="center">
  178. <a rel="prev"
  179. href="/david/2023/01/03/"
  180. title="Publication précédente : Préparation">← Précédent</a> •
  181. <a href="/david/2023/" title="Liste des publications récentes">↑ En 2023</a>
  182. • <a rel="next"
  183. href="/david/2023/01/05/"
  184. title="Publication suivante : Instanseul">Suivant →</a>
  185. </p>
  186. </nav>
  187. </article>
  188. <hr>
  189. <footer>
  190. <p>
  191. <nobr>
  192. <a href="/david/" title="Aller à l’accueil">
  193. <svg class="icon icon-home">
  194. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"></use>
  195. </svg>
  196. Accueil</a>
  197. </nobr>
  198. <nobr>
  199. <a href="/david/log/" title="Accès au flux RSS">
  200. <svg class="icon icon-rss2">
  201. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  202. </svg>
  203. Suivre</a>
  204. </nobr>
  205. <nobr>
  206. <a href="http://larlet.com"
  207. title="Go to my English profile"
  208. data-instant>
  209. <svg class="icon icon-user-tie">
  210. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  211. </svg>
  212. Pro</a>
  213. </nobr>
  214. <nobr>
  215. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">
  216. <svg class="icon icon-mail">
  217. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  218. </svg>
  219. Email</a>
  220. </nobr>
  221. <nobr>
  222. <abbr class="nowrap"
  223. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">
  224. <svg class="icon icon-hammer2">
  225. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  226. </svg>
  227. Légal</abbr>
  228. </nobr>
  229. </p>
  230. <template id="theme-selector">
  231. <form>
  232. <fieldset>
  233. <legend>
  234. <svg class="icon icon-brightness-contrast">
  235. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  236. </svg>
  237. Thème
  238. </legend>
  239. <label>
  240. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  241. Auto
  242. </label>
  243. <label>
  244. <input type="radio" value="dark" name="chosen-color-scheme">
  245. Foncé
  246. </label>
  247. <label>
  248. <input type="radio" value="light" name="chosen-color-scheme">
  249. Clair
  250. </label>
  251. </fieldset>
  252. </form>
  253. </template>
  254. </footer>
  255. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  256. <script>
  257. function loadThemeForm(templateName) {
  258. const themeSelectorTemplate = document.querySelector(templateName)
  259. const form = themeSelectorTemplate.content.firstElementChild
  260. themeSelectorTemplate.replaceWith(form)
  261. form.addEventListener('change', (e) => {
  262. const chosenColorScheme = e.target.value
  263. localStorage.setItem('theme', chosenColorScheme)
  264. toggleTheme(chosenColorScheme)
  265. })
  266. const selectedTheme = localStorage.getItem('theme')
  267. if (selectedTheme && selectedTheme !== 'undefined') {
  268. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  269. }
  270. }
  271. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  272. window.addEventListener('load', () => {
  273. let hasDarkRules = false
  274. for (const styleSheet of Array.from(document.styleSheets)) {
  275. let mediaRules = []
  276. for (const cssRule of styleSheet.cssRules) {
  277. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  278. continue
  279. }
  280. // WARNING: Safari does not have/supports `conditionText`.
  281. if (cssRule.conditionText) {
  282. if (cssRule.conditionText !== prefersColorSchemeDark) {
  283. continue
  284. }
  285. } else {
  286. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  287. continue
  288. }
  289. }
  290. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  291. }
  292. // WARNING: do not try to insert a Rule to a styleSheet you are
  293. // currently iterating on, otherwise the browser will be stuck
  294. // in a infinite loop…
  295. for (const mediaRule of mediaRules) {
  296. styleSheet.insertRule(mediaRule.cssText)
  297. hasDarkRules = true
  298. }
  299. }
  300. if (hasDarkRules) {
  301. loadThemeForm('#theme-selector')
  302. }
  303. })
  304. </script>
  305. </body>
  306. </html>