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

index.html 18KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  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. Weird
  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="Say the weird thing.">
  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. <style type="text/css">
  106. .tippy-content {
  107. min-width: 280px;
  108. padding: .5rem;
  109. font-size: calc(var(--fluid-0) * 0.8);
  110. font-family: var(--labor-font);
  111. letter-spacing: initial;
  112. text-align: left;
  113. }
  114. .tippy-content h3 {
  115. margin-top: 0;
  116. }
  117. .tippy-content h3 img {
  118. max-width: 2rem;
  119. max-height: 2rem;
  120. display: inline-block;
  121. }
  122. .tippy-content .tippy-links {
  123. display: flex;
  124. justify-content: space-around;
  125. }
  126. .tippy-content a {
  127. padding: .4rem;
  128. color: #F06048;
  129. }
  130. </style>
  131. <body data-instant-intensity="viewport-all">
  132. <article>
  133. <header>
  134. <hgroup>
  135. <h1>Weird</h1>
  136. <p>Le <time datetime="2024-04-10">10 avril 2024</time></p>
  137. </hgroup>
  138. </header>
  139. <nav>
  140. <p>
  141. <a rel="prev"
  142. href="/david/2024/04/08/"
  143. title="Publication précédente : Éclipse">← Précédent</a> •
  144. <a href="/david/" title="Aller à l’accueil" rel="up">Accueil</a>
  145. <a href="/david/recherche/"
  146. title="Aller à la page de recherche"
  147. rel="search" data-no-instant>Recherche</a>
  148. • <a rel="next"
  149. href="/david/2024/04/13/"
  150. title="Publication suivante : Fondation">Suivant →</a>
  151. </p>
  152. </nav>
  153. <blockquote lang="en">
  154. <p><em>Say the weird&nbsp;thing.</em></p>
  155. <p>Okay, I’ll&nbsp;play.</p>
  156. <p>The self is an&nbsp;illusion.</p>
  157. <p>I’m a meat sack with electricity flying through&nbsp;space.</p>
  158. <p>I am the natural consequence of every action from the Big Bang to&nbsp;today.</p>
  159. <p>I don’t have free&nbsp;will.</p>
  160. <p>Most of what my brain does is done in the dark of my attention and even when I am making conscious choices I did not choose to become the type of person who would choose that choice over&nbsp;another.</p>
  161. <p>We created god because we got smart enough to realize that we were gonna die. Evolution rewarded religion because dogmatic bonded communities with a shared myth had ways of tending to one another in ways that other tribes&nbsp;didn’t.</p>
  162. <p>We are the product of superstitious ancestors who survived better because they believed in supernatural elements and that they made them more likely to&nbsp;survive.</p>
  163. <p>All we know is that there is consciousness and we are no closer to solving the hard problem of consciousness than when we first phrased it. And objects and consciousness which we cannot know if they are real because our brain is limited by its own perception of reality. And when we try to observe what is real, what is real&nbsp;changes.</p>
  164. <p>Our brain is doing so much that it created shortcuts so that you are not aware of most of it. And our brains are so wired into towards culting that even when we leave religion, we create a religion out of whatever our thing is: astrology, politics, whatever.</p>
  165. <p>These evolutionary shortcuts worked when we were small tribes but now that our trews are bumping into each other, it will be the machine that destroys&nbsp;ourselves.</p>
  166. <p>We have a 180&nbsp;catalog brain biases that tends towards simplicity over complexity, loyalty to our tribes, the illusion of the self and all of that is not compatible to what we know about the modern&nbsp;world.</p>
  167. <p>Anyone who accepts all this will inevitably be alone. There is a lot of lip service to leaving the matrix but in reality it’s very&nbsp;lonely.</p>
  168. <p>The machine of evolution that says to survive at all costs and all of the shortcuts that created that survival will eventually be a machine that eats itself. Individuals can remove themselves to some degree but <mark>if you try to change the world, you will inevitably become a cult and you will become the monster that you were trying to&nbsp;destroy.</mark></p>
  169. <p>And even with all of that, there’s a way to structure with meaning and purpose and experiencing being, and being able to pop your head up in this universe, and check out what is going on where you still are glad you got to be alive, and it probably takes a little bit of privilege because you have to die so many times to get there and it’s very&nbsp;hard.</p>
  170. <p>And in the end the only benefit that you get is that you know that you’re playing in reality which is little more than a shared hallucination rather than being in a delusion and not knowing that you&nbsp;are.</p>
  171. <p>Invite me to your next party! ✌️</p>
  172. <p><cite>@nononsensespirituality, <a data-link-domain="mamot.fr" href="https://mamot.fr/@jcfrog/112245851038854526">via masto</a>, que l’on retrouve <a data-link-domain="instagram.com" href="https://www.instagram.com/nononsensespirituality/reel/C5SRDzTLqAh/">aussi sur&nbsp;Instagram</a></cite></p>
  173. </blockquote>
  174. <p>Bienvenue dans mon cerveau&nbsp;😅.</p>
  175. <a href="#hr-146" title="Lien vers cette section de la page"><hr id="hr-146" /></a>
  176. <blockquote>
  177. <p>The Swolf is a composite measurement in sports swimming that reflects how fast and <mark>how efficiently somebody is swimming.</mark> In contrast, time per distance (speed) neglects swimming technique, and the number of swimming strokes per lap neglects the purpose of competitive swimming: Covering a given distance in the shortest&nbsp;time.</p>
  178. <p><cite><a data-link-domain="en.wikipedia.org" href="https://en.wikipedia.org/wiki/Swolf">Swolf</a></cite></p>
  179. </blockquote>
  180. <p>Découverte du jour grâce à la montre&nbsp;: la mesure du Swolf en natation. Voilà un calcul qui m’intéresse davantage que la&nbsp;vitesse.</p>
  181. <p>J’ai fait mon premier kilomètre (avec pauses) de l’année. Mon Swolf actuel a l’air de tourner autour de 40-45&nbsp;lorsque je ne suis pas trop dérangé par les autres nageur·euses, on va voir si ça évolue ces prochains&nbsp;mois.</p>
  182. <a href="#hr-147" title="Lien vers cette section de la page"><hr id="hr-147" /></a>
  183. <blockquote>
  184. <p>The other maintainer suddenly&nbsp;disappeared.</p>
  185. <p><cite><a data-link-domain="github.com" href="https://github.com/tukaani-project/xz/commit/77a294d98a9d2d48f7e4ac273711518bf689f5c4">Update maintainer and author&nbsp;info.</a></cite></p>
  186. </blockquote>
  187. <p>Le <em>commit</em> du&nbsp;jour.</p>
  188. <nav>
  189. <p>
  190. <a href="/david/2024/communaute/"
  191. title="Liste de tous les articles 2024 associés à cette étiquette"
  192. rel="tag">#communauté</a>
  193. <a href="/david/2024/poesie/"
  194. title="Liste de tous les articles 2024 associés à cette étiquette"
  195. rel="tag">#poésie</a>
  196. <a href="/david/2024/psychologie/"
  197. title="Liste de tous les articles 2024 associés à cette étiquette"
  198. rel="tag">#psychologie</a>
  199. <a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a>
  200. </p>
  201. </nav>
  202. <nav>
  203. <p>
  204. <a rel="prev"
  205. href="/david/2024/04/08/"
  206. title="Publication précédente : Éclipse">← Précédent</a> •
  207. <a href="/david/2024/" title="Liste des publications récentes">↑ En 2024</a>
  208. • <a rel="next"
  209. href="/david/2024/04/13/"
  210. title="Publication suivante : Fondation">Suivant →</a>
  211. </p>
  212. </nav>
  213. <form action="/david/recherche/" method="get">
  214. <fieldset>
  215. <legend>Recherche</legend>
  216. <label for="input-search">Termes de votre recherche :</label>
  217. <input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required>
  218. <input type="submit" value="Chercher">
  219. <p id="indexation-infos">
  220. <small>
  221. Seuls les contenus de ces 8 dernières années sont indexés.
  222. </small>
  223. </p>
  224. </fieldset>
  225. </form>
  226. <aside>
  227. <theme-toggle></theme-toggle>
  228. </aside>
  229. </article>
  230. <hr>
  231. <footer>
  232. <p>
  233. <a href="/david/" title="Aller à l’accueil">Accueil</a>
  234. <a href="/david/log/" title="Accès au flux RSS">Suivre</a>
  235. <a href="http://larlet.com"
  236. title="Go to my English profile"
  237. data-instant>Pro</a>
  238. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a>
  239. <abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr>
  240. </p>
  241. <template id="theme-selector">
  242. <form>
  243. <style type="text/css">
  244. fieldset div {
  245. text-align: center;
  246. }
  247. </style>
  248. <fieldset>
  249. <legend>Thème</legend>
  250. <div>
  251. <label>
  252. <input type="radio" value="auto" name="chosen-color-scheme" checked>
  253. Auto
  254. </label>
  255. <label>
  256. <input type="radio" value="dark" name="chosen-color-scheme">
  257. Foncé
  258. </label>
  259. <label>
  260. <input type="radio" value="light" name="chosen-color-scheme">
  261. Clair
  262. </label>
  263. </div>
  264. </fieldset>
  265. </form>
  266. </template>
  267. </footer>
  268. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  269. <script>
  270. class ThemeToggle extends HTMLElement {
  271. constructor() {
  272. super()
  273. const themeSelectorTemplate = document.querySelector('#theme-selector')
  274. const form = themeSelectorTemplate.content.firstElementChild
  275. this.attachShadow({ mode: 'open' })
  276. this.shadowRoot.appendChild(form.cloneNode(true))
  277. }
  278. connectedCallback() {
  279. const form = this.shadowRoot.querySelector('form')
  280. form.addEventListener('change', (e) => {
  281. const chosenColorScheme = e.target.value
  282. localStorage.setItem('theme', chosenColorScheme)
  283. toggleTheme(chosenColorScheme)
  284. })
  285. const selectedTheme = localStorage.getItem('theme')
  286. if (selectedTheme && selectedTheme !== 'undefined') {
  287. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  288. }
  289. }
  290. }
  291. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  292. window.addEventListener('load', () => {
  293. let colorsLayer = undefined
  294. let hasDarkRules = false
  295. for (const styleSheet of Array.from(document.styleSheets)) {
  296. let mediaRules = []
  297. for (const layerRule of styleSheet.cssRules) {
  298. if (!(layerRule instanceof CSSLayerBlockRule)) {
  299. continue
  300. }
  301. if (layerRule.name === 'colors') {
  302. colorsLayer = layerRule
  303. }
  304. for (const cssRule of layerRule.cssRules) {
  305. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  306. continue
  307. }
  308. // WARNING: Safari does not have/supports `conditionText`.
  309. if (cssRule.conditionText) {
  310. if (cssRule.conditionText !== prefersColorSchemeDark) {
  311. continue
  312. }
  313. } else {
  314. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  315. continue
  316. }
  317. }
  318. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  319. }
  320. }
  321. // WARNING: do not try to insert a Rule to a styleSheet you are
  322. // currently iterating on, otherwise the browser will be stuck
  323. // in a infinite loop…
  324. for (const mediaRule of mediaRules) {
  325. // Safari requires the `0` second parameter (even if default).
  326. colorsLayer.insertRule(mediaRule.cssText, 0)
  327. hasDarkRules = true
  328. }
  329. }
  330. if (hasDarkRules) {
  331. if ('customElements' in window && !customElements.get('theme-toggle')) {
  332. customElements.define('theme-toggle', ThemeToggle)
  333. }
  334. }
  335. })
  336. </script>
  337. <script src="/static/david/js/popper-2.11.8.min.js"></script>
  338. <script src="/static/david/js/tippy-bundle-6.3.7.umd.min.js"></script>
  339. <script>
  340. tippy('[data-tippy]', {
  341. content(reference) {
  342. reference.addEventListener('click', (e) => e.preventDefault())
  343. return `
  344. <h3 lang="fr">
  345. <img src="${reference.dataset.favicon}" loading="lazy">
  346. <a href="${reference.dataset.source}"
  347. >Article sur ${reference.dataset.domain}</a></h3>
  348. <p lang="${reference.hreflang}"><em>${reference.dataset.description}</em></p>
  349. <div class="tippy-links" lang="fr">
  350. <a href="${reference.href}">Archive au ${reference.dataset.date}</a>
  351. </div>
  352. `
  353. },
  354. allowHTML: true,
  355. interactive: true,
  356. delay: [150, 700],
  357. hideOnClick: false
  358. })
  359. </script>
  360. <script type="module">
  361. import { annotate } from '/static/david/js/rough-notation-0.5.1.esm.min.js'
  362. const markObserver = new IntersectionObserver((entries, observer) => {
  363. const computedStyle = getComputedStyle(document.documentElement)
  364. const markBackground = computedStyle.getPropertyValue('--mark-background')
  365. for (const entry of entries) {
  366. if (entry.intersectionRatio === 0) continue
  367. const markElement = entry.target
  368. markElement.style.backgroundColor = 'inherit'
  369. const annotation = annotate(
  370. markElement, {
  371. type: 'highlight',
  372. multiline: true,
  373. color: markBackground,
  374. // animate: !window.matchMedia('(prefers-reduced-motion: reduce)').matches
  375. animate: false
  376. }
  377. )
  378. annotation.show()
  379. observer.unobserve(markElement)
  380. }
  381. }, {threshold: 1.0})
  382. for (const markElement of document.querySelectorAll('mark')) {
  383. markObserver.observe(markElement)
  384. }
  385. </script>
  386. </body>
  387. </html>