A place to cache linked articles (think custom and personal wayback machine)
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 13KB

3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
3 jaren geleden
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  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>#162: Minimum Viable Self (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://kneelingbus.substack.com/p/162-minimum-viable-self">
  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>#162: Minimum Viable Self</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://kneelingbus.substack.com/p/162-minimum-viable-self" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <p>Two decades ago, before social media existed, Zygmunt Bauman articulated a perfect description of how it would soon shape our behavior and frame our relationships to one another. In his 2000 book <em>Liquid Modernity</em>, Bauman wrote: “Seen from a distance, (other people’s) existence seems to possess a coherence and a unity which they cannot have, in reality, but which seems evident to the spectator. This, of course, is an optical illusion. The distance (that is, the paucity of our knowledge) blurs the details and effaces everything that fits ill into the Gestalt. Illusion or not, we tend to see other people’s lives as works of art. And having seen them this way, we struggle to (make our lives) the same.” The conditions Bauman described had already emerged in other media environments, such as television, but the participatory nature of the internet and specifically social media would compel everyone involved to develop an online identity, intentionally or not, that would correspond to their offline identity but would never quite mirror it perfectly. The personal brand, that groan-inducing pillar of digital existence, only occasionally amounts to the refined display that its most sophisticated instances embody. For most people, though, a personal brand is an accidental side effect of their digital presence, something they assume to be a faithful reflection of their “real” selves whether it really is or not.</p>
  71. <p>Even poorly constructed online identities, however, somehow manage to cohere into consistent wholes, thanks to the medium that transmits them. Every social media feed is an endless parade of these fragmentary identities, disaggregated into units of content and passing by quickly enough to evade the scrutiny that would detect their incompleteness. As Bauman presciently realized, the constraints of these digital environments and the sheer volume of users endows even the flimsiest online presences with an illusion of unity. Showing up frequently enough in the feed might elevate one’s presence to a work of art, at least from everyone else’s distracted perspective, and this in turn motivates us all to present our own selves more artfully. The speed of the information flow is essential to the entire illusion: A platform like Twitter makes our asynchronous posts feel like real-time interaction by delivering them in such rapid succession, and that illusion begets another more powerful one, that we’re all actually <em>present</em> within the feed. If you and I are both present, moreover, that implies that we’re together, something that is always almost true within these social networks but never quite achieved. On Twitter every relationship is thus parasocial, even if bidirectionally so, and perhaps that’s why digital relationships continue to demand in-person reification.</p>
  72. <p>Something I frequently joke about—a dark truth that begs for humor—is how social media requires continuous posting just to remind everyone else you exist. I once <a href="https://twitter.com/kneelingbus/status/1339376044097331202">said</a> that if Twitter was real life our bodies would always be slowly shrinking, and tweeting more would be the only way to make ourselves bigger again. We can always opt out of this arrangement, of course, and live happily in meatspace, but that is precisely the point: Offline we exist by default; online we have to post our way into selfhood. Reality, as Philip K. Dick said, is that which doesn’t go away when you stop believing in it, and while the digital and physical worlds may be converging as a hybridized domain of lived experience and outward perception, our own sustained presence as individuals is the quality that distinguishes the two. As I <a href="https://kneelingbus.substack.com/p/149-listen-the-snow-is-falling">wrote</a> in January, silence is effectively impossible on the contemporary internet, where “voids are just filled by other people’s content, and thus vanish instantly.” The illusions that enable social media to feel like a primary reality (rather than a medium that supplements that reality) have become increasingly seamless and less likely to be broken, but <a href="https://studio.ribbonfarm.com/p/digital-homelessness">as Venkatesh Rao has observed</a>, many users are sacrificed at the altar of this reality, slipping through the cracks and becoming “digitally homeless.” This phenomenon, he writes, flourishes in “online zones where, for whatever reasons, psychologically plausible and inhabitable personas have failed to cohere for a significant subset of people.” The feed algorithms and interfaces treat these users the same way the actual homeless are frequently treated: by pushing them to the margins and concealing them from view. For the online homeless, as digital reality matures, maybe nonexistence is no longer an option.</p>
  73. </article>
  74. <hr>
  75. <footer>
  76. <p>
  77. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  78. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  79. </svg> Accueil</a> •
  80. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  81. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  82. </svg> Suivre</a> •
  83. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  84. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  85. </svg> Pro</a> •
  86. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  87. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  88. </svg> Email</a> •
  89. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  90. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  91. </svg> Légal</abbr>
  92. </p>
  93. <template id="theme-selector">
  94. <form>
  95. <fieldset>
  96. <legend><svg class="icon icon-brightness-contrast">
  97. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  98. </svg> Thème</legend>
  99. <label>
  100. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  101. </label>
  102. <label>
  103. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  104. </label>
  105. <label>
  106. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  107. </label>
  108. </fieldset>
  109. </form>
  110. </template>
  111. </footer>
  112. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  113. <script>
  114. function loadThemeForm(templateName) {
  115. const themeSelectorTemplate = document.querySelector(templateName)
  116. const form = themeSelectorTemplate.content.firstElementChild
  117. themeSelectorTemplate.replaceWith(form)
  118. form.addEventListener('change', (e) => {
  119. const chosenColorScheme = e.target.value
  120. localStorage.setItem('theme', chosenColorScheme)
  121. toggleTheme(chosenColorScheme)
  122. })
  123. const selectedTheme = localStorage.getItem('theme')
  124. if (selectedTheme && selectedTheme !== 'undefined') {
  125. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  126. }
  127. }
  128. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  129. window.addEventListener('load', () => {
  130. let hasDarkRules = false
  131. for (const styleSheet of Array.from(document.styleSheets)) {
  132. let mediaRules = []
  133. for (const cssRule of styleSheet.cssRules) {
  134. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  135. continue
  136. }
  137. // WARNING: Safari does not have/supports `conditionText`.
  138. if (cssRule.conditionText) {
  139. if (cssRule.conditionText !== prefersColorSchemeDark) {
  140. continue
  141. }
  142. } else {
  143. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  144. continue
  145. }
  146. }
  147. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  148. }
  149. // WARNING: do not try to insert a Rule to a styleSheet you are
  150. // currently iterating on, otherwise the browser will be stuck
  151. // in a infinite loop…
  152. for (const mediaRule of mediaRules) {
  153. styleSheet.insertRule(mediaRule.cssText)
  154. hasDarkRules = true
  155. }
  156. }
  157. if (hasDarkRules) {
  158. loadThemeForm('#theme-selector')
  159. }
  160. })
  161. </script>
  162. </body>
  163. </html>