A place to cache linked articles (think custom and personal wayback machine)
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

index.html 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  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>Stumbling (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <meta name="robots" content="noindex, nofollow">
  53. <meta content="origin-when-cross-origin" name="referrer">
  54. <!-- Canonical URL for SEO purposes -->
  55. <link rel="canonical" href="https://lucybellwood.com/stumbling/">
  56. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  57. <article>
  58. <header>
  59. <h1>Stumbling</h1>
  60. </header>
  61. <nav>
  62. <p class="center">
  63. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  64. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  65. </svg> Accueil</a> •
  66. <a href="https://lucybellwood.com/stumbling/" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <p>“If everyone’s social media experience looked like your social media experience I think people would want to be on social media a lot more.”</p>
  71. <p>I’m in therapy. I mean, I’m <em>in</em> my house, same as every other day, but I’m looking at the particular video call window that corresponds to “being in therapy” and my therapist is saying these nice things to me and I’m laughing because my feeds are full of just as much chaos and anxiety as anyone else’s, but she presses on.</p>
  72. <p>“Every time you tell me about some new community or project you found or someone you met online, it sounds fascinating and beautiful and hopeful. That’s…well. That’s not my experience of being online. I had to quit.”</p>
  73. <p>I stop laughing and try to hear what she’s saying—turning it over, weighing it against my experience. Is it true? So many days I feel like I’m purposefully recoiling from the internet at large, erecting sandcastle barricades against an inrushing tide. </p>
  74. <p>But it <em>is</em> true.</p>
  75. <p>I’ve been changing my relationship to being online.</p>
  76. <p>Some of it is keeping in touch with friends who are fascinated by the same sorts of hybrid creations I am. Friends who build things. Friends in different professional communities. Paying attention when they mention some new discovery or avenue of interest.</p>
  77. <p>Some of it is using an RSS reader to change the cadence and depth of my consumption—pulling away from the quick-hit likes of social media in favor of a space where I can run my thoughts to their logical conclusion (and then sit on them long enough to consider whether or not they’re true).</p>
  78. <p>Some of it is joining small communities who meet regularly to write letters or discuss abolition or cheer each other on throughout the work day.</p>
  79. <p>Some of it is just letting myself wander, link to link, through people’s personal websites and passion projects, seeing what comes up.<sup><a id="ref1" href="#fn1">1</a></sup></p>
  80. <p>Most people (myself included) stopped using the internet this way years ago. Our footpaths converged around the same 5-10 platforms, each with its own particular manner of communication. I have learned, unintentionally, to code switch every time I craft a new post. It’s exhausting, trying to keep track of all those unspoken rules shaped by years of use.</p>
  81. <p>But I don’t have rules like that on my blog. I turned off stats. There are no comments. No likes. It’s been long enough since I wrote regularly here that I’m not bringing any tonal baggage with me.</p>
  82. <p>Hell, the last time I had a regular personal writing practice online I was <em>eighteen</em>.</p>
  83. <p>A theme of the past year has been trying to disengage from my attachment to what I think other people want or need from me, and to rekindle my working relationship with myself. Changing my relationship to being online hasn’t been linear. I still go on social media. It’s not like it’s become obsolete in my world overnight. But my therapist (as usual) is right. </p>
  84. <p>Something’s on the move.</p>
  85. <p><sup id="fn1">1. I spent an afternoon last week dredging up memories of StumbleUpon, a service that flung users around to random sites with the click of a button <a href="https://www.theverge.com/2018/5/24/17389230/stumbleupon-shut-down-internet-discovery">between 2002 and 2018</a>. It was great! The closest thing I’ve experienced recently was Jenny Odell asking folks on Twitter to <a href="https://twitter.com/the_jennitaur/status/1344818014210777088?s=20">share their favorite single serving websites</a>. (LEAF.COM!!!) Not a full replacement for the service, but a delight nonetheless. <a href="#ref1" title="Jump back to footnote 1 in the text.">↩</a></sup></p>
  86. </article>
  87. <hr>
  88. <footer>
  89. <p>
  90. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  91. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  92. </svg> Accueil</a> •
  93. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  94. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  95. </svg> Suivre</a> •
  96. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  97. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  98. </svg> Pro</a> •
  99. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  100. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  101. </svg> Email</a> •
  102. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  103. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  104. </svg> Légal</abbr>
  105. </p>
  106. <template id="theme-selector">
  107. <form>
  108. <fieldset>
  109. <legend><svg class="icon icon-brightness-contrast">
  110. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  111. </svg> Thème</legend>
  112. <label>
  113. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  114. </label>
  115. <label>
  116. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  117. </label>
  118. <label>
  119. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  120. </label>
  121. </fieldset>
  122. </form>
  123. </template>
  124. </footer>
  125. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  126. <script>
  127. function loadThemeForm(templateName) {
  128. const themeSelectorTemplate = document.querySelector(templateName)
  129. const form = themeSelectorTemplate.content.firstElementChild
  130. themeSelectorTemplate.replaceWith(form)
  131. form.addEventListener('change', (e) => {
  132. const chosenColorScheme = e.target.value
  133. localStorage.setItem('theme', chosenColorScheme)
  134. toggleTheme(chosenColorScheme)
  135. })
  136. const selectedTheme = localStorage.getItem('theme')
  137. if (selectedTheme && selectedTheme !== 'undefined') {
  138. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  139. }
  140. }
  141. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  142. window.addEventListener('load', () => {
  143. let hasDarkRules = false
  144. for (const styleSheet of Array.from(document.styleSheets)) {
  145. let mediaRules = []
  146. for (const cssRule of styleSheet.cssRules) {
  147. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  148. continue
  149. }
  150. // WARNING: Safari does not have/supports `conditionText`.
  151. if (cssRule.conditionText) {
  152. if (cssRule.conditionText !== prefersColorSchemeDark) {
  153. continue
  154. }
  155. } else {
  156. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  157. continue
  158. }
  159. }
  160. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  161. }
  162. // WARNING: do not try to insert a Rule to a styleSheet you are
  163. // currently iterating on, otherwise the browser will be stuck
  164. // in a infinite loop…
  165. for (const mediaRule of mediaRules) {
  166. styleSheet.insertRule(mediaRule.cssText)
  167. hasDarkRules = true
  168. }
  169. }
  170. if (hasDarkRules) {
  171. loadThemeForm('#theme-selector')
  172. }
  173. })
  174. </script>
  175. </body>
  176. </html>