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 21KB

2 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  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>Home invasion (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://www.hughrundle.net/home-invasion/">
  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>Home invasion</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-2021-12.svg#icon-home"></use>
  65. </svg> Accueil</a> •
  66. <a href="https://www.hughrundle.net/home-invasion/" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <blockquote>
  71. <p>Nobody goes there anymore. It’s too crowded.<br>
  72. Yogi Berra, <a href="https://quoteinvestigator.com/2014/08/29/too-crowded/">et al</a></p>
  73. </blockquote>
  74. <p>Well, it looks like it's finally happened. As news sites began reporting that Elon Musk had finalised his purchase of Twitter, the fediverse's <a href="https://en.wikipedia.org/wiki/Eternal_September">Eternal September</a> — hoped for and feared in equal numbers amongst its existing user base — began.</p>
  75. <p>We've had waves of new people before — most recently earlier this year when Musk first announced his purchase offer — but what's been happening for the last week is different in both scale and nature. It's clear that a sizeable portion of Twitter's users are choosing to deplatform themselves <em>en masse</em>, and many have been directed to Mastodon, the most famous and populated software on the fediverse.</p>
  76. <h2>Two kinds of party</h2>
  77. <p>In Hobart in the late 1990s, there were basically three nightclubs. They were all sleazy to different degrees, loud to varying levels, and people went to them because that's where other people were — to have fun with friends, to attract attention, to assert their social status, and so on. This is Twitter.</p>
  78. <p>I had a friend who lived in a sharehouse around the corner from one of these popular clubs. He hosted house parties on weekends. Small, just friends and a few friends of friends. This is the fediverse.</p>
  79. <h2>Murmuration</h2>
  80. <p>For those of us who have been using Mastodon for a while (I started my own Mastodon server 4 years ago), this week has been overwhelming. I've been thinking of metaphors to try to understand why I've found it so upsetting. This is supposed to be what we wanted, right? Yet it feels like something else. Like when you're sitting in a quiet carriage softly chatting with a couple of friends and then an entire platform of football fans get on at Jolimont Station after their team lost. They don't usually catch trains and don't know the protocol. They assume everyone on the train was at the game or at least follows football. They crowd the doors and complain about the seat configuration.</p>
  81. <p>It's not <em>entirely</em> the Twitter people's fault. They've been taught to behave in certain ways. To chase likes and retweets/boosts. To promote themselves. To perform. All of that sort of thing is anathema to most of the people who were on Mastodon a week ago. It was part of the reason many moved to Mastodon in the first place. This means there's been a jarring culture clash all week as a huge murmuration of tweeters descended onto Mastodon in ever increasing waves each day. To the Twitter people it feels like a confusing new world, whilst they mourn their old life on Twitter. They call themselves "refugees", but to the Mastodon locals it feels like a busload of Kontiki tourists just arrived, blundering around yelling at each other and complaining that they don't know how to order room service. We also mourn the world we're losing.</p>
  82. <h2>Viral</h2>
  83. <p>On Saturday evening I published a post explaining a couple of things about Mastodon's history of dealing with toxic nodes on the network. Then everything went bananas. By 10pm I had locked my account to require followers to be approved, and muted the entire thread I had myself created. Before November 2022 Mastodon users used to joke that you'd "gone viral" if you got more than 5 boost or likes on a post. In an average week, perhaps one or two people might follow my account. Often nobody did. My post was now getting hundreds of interactions. Thousands. I've had over 250 follow requests since then — so many I can't bear to look at them, and I have no criteria by which to judge who to accept or reject. Early this week, I realised that some people had cross-posted my Mastodon post <em>into Twitter</em>. Someone else had posted a screenshot of it on Twitter.</p>
  84. <p>Nobody thought to ask if I wanted that.</p>
  85. <p>To users of corporate apps like Twitter or Instagram this may sound like boasting. Isn't "going viral" and getting big follower counts what it's all about? But to me it was something else. I struggled to understand what I was feeling, or the word to describe it. I finally realised on Monday that the word I was looking for was "traumatic". In October I would have interacted regularly with perhaps a dozen people a week on Mastodon, across about 4 or 5 different servers. Suddenly having hundreds of people asking (or not) to join those conversations without having acclimatised themselves to the social norms felt like a violation, an assault. I know I'm not the only one who felt like this.</p>
  86. <p>It probably didn't help that every Mastodon server administrator I know, including myself, was suddenly dealing with an deluge of new registrants, requests to join (if they didn't have open registration), and then the inevitable server overloads. Aus.social buckled under the strain, going offline for several hours as the admin desperately tried to reconfigure things and upgrade hardware. Chinwag closed registrations temporarily. Even the "flagship instance" mastodon.social was publishing posts hours after they'd been written, with messages being created faster than they could be sent. I was nervously watching the file storage creep up on the ausglam.space wondering if I'd make it to the end of the weekend before the hard drive filled up, and starting to draft new Rules and Terms of Use for the server to make explicit things that previously "everybody knew" implicitly because we previously could acculturate people one by one.</p>
  87. <h2>Consent</h2>
  88. <p>I hadn't fully understood — <em>really</em> appreciated — how much corporate publishing systems steer people's behaviour until this week. Twitter encourages a very extractive attitude from everyone it touches. The people re-publishing my Mastodon posts on Twitter didn't think to ask whether I was ok with them doing that. The librarians wondering loudly about how this "new" social media environment could be systematically archived didn't ask anyone whether they <em>want</em> their fediverse posts to be captured and stored by government institutions. The academics excitedly considering how to replicate their Twitter research projects on a new corpus of "Mastodon" posts didn't seem to wonder whether we wanted to be studied by them. The people creating, publishing, and requesting public lists of Mastodon usernames for certain categories of person (journalists, academics in a particular field, climate activists...) didn't appear to have checked whether any of those people <em>felt safe</em> to be on a public list. They didn't appear to have considered that there are names for the sort of person who makes lists of people so others can monitor their communications. They're not nice names.</p>
  89. <p>The tools, protocols and culture of the fediverse were built by trans and queer feminists. Those people had already started to feel sidelined from their own project when people like me started turning up a few year ago. This isn't the first time fediverse users have had to deal with a significant state change and feeling of loss. Nevertheless, the basic principles have mostly held up to now: the culture and technical systems were deliberately designed on principles of consent, agency, and community safety. Whilst there are definitely improvements that could be made to Mastodon in terms of moderation tools and more fine-grained control over posting, in general these are significantly superior to the Twitter experience. It's hardly surprising that the sorts of people who have been targets for harrassment by fascist trolls for most of their lives built in protections against unwanted attention when they created a new social media toolchain. It is the very tools and settings that provide so much more agency to users that pundits claim make Mastodon "too complicated".</p>
  90. <p>If the people who built the fediverse generally sought to protect users, corporate platforms like Twitter seek to control their users. Twitter claims jurisdiction over all "content" on the platform. The loudest complaints about this come from people who want to publish horrible things and are sad when the Twitter bureaucracy eventually, sometimes, tells them they aren't allowed to. The real problem with this arrangement, however, is what it does to how people think about consent and control over our own voices. Academics and advertisers who want to study the utterances, social graphs, and demographics of Twitter users merely need to ask Twitter Corporation for permission. They can claim that <em>legally</em> Twitter has the right to do whatever it wants with this data, and <em>ethically</em> users gave permission for this data to be used in any way when they ticked "I agree" to the Terms of Service. This is complete bullshit of course (The ToS are inpenetrable, change on a whim, and the power imbalance is enormous), but it's convenient. So researchers convince themselves they believe it, or they simply don't care.</p>
  91. <p>This attitude has moved with the new influx. Loudly proclaiming that content warnings are censorship, that functionality that has been deliberately unimplemented due to community safety concerns are "missing" or "broken", and that volunteer-run servers maintaining control over who they allow and under what conditions are "exclusionary". No consideration is given to <em>why</em> the norms and affordances of Mastodon and the broader fediverse exist, and whether the actor they are designed to protect against might be you. The Twitter people believe in the same fantasy of a "public square" as the person they are allegedly fleeing. Like fourteenth century Europeans, they bring the contagion with them as they flee.</p>
  92. <h2>Anarchism</h2>
  93. <p>The irony of it all is that my "viral toot thread" was largely about the fediverse's anarchist consent-based nature. Many of the newcomers saw very quickly that their server admins were struggling heroically to keep things running, and donated money or signed up to a Patreon account to ensure the servers could keep running or be upgraded to deal with the load. Admins were sending private and public messages of support to each other, sharing advice and feelings of solidarity. Old hands shared #FediTips to help guide behaviour in a positive direction. This is, of course, mutual aid.</p>
  94. <p>It's very exciting to see so many people experiencing anarchic online social tools. The clever people who build ActivityPub and other fediverse protocols and tools have designed it in ways that seek to elude monopolistic capture. The software is universally Free and Open Source, but the protocols and standards are also both open and extensible. Whilst many will be happy to try replicating what they know from Twitter — a kind of combination of LinkedIn and Instagram, with the 4chan and #auspol people always lurking menacingly — others will explore new ways to communicate and collaborate. We are, after all, social creatures. I am surprised to find I have become a regular contributor (as in, <em>code</em> contributor 😲) to <a href="https://joinbookwyrm.com">Bookwyrm</a>, a social reading tool (think GoodReads) built on the ActivityPub protocol used by Mastodon. This is just one of many applications and ideas in the broader fediverse. More will come, that will no longer simply be "X for Fedi" but rather brand new ideas. Whilst there are already some commercial services running ActivityPub-based systems, a great many of the new applications are likely to be built and operated on the same mutual aid, volunteerist basis that currently characterises the vast majority of the fediverse.</p>
  95. <h1>Grief</h1>
  96. <p>Many people were excited about what happened this week. Newcomers saw the possibilities of federated social software. Old hands saw the possibilities of critical mass. But it's important that this isn't the only story told about early November 2022. Mastodon and the rest of the fediverse may be very new to those who arrived this week, but some people have been working on and playing in the fediverse for over a decade. There were already communities on the fediverse, and they've suddenly changed forever.</p>
  97. <p>I was a reasonably early user of Twitter, just as I was a reasonably early user of Mastodon. I've met some of my firmest friends through Twitter, and it helped to shape my career opportunities. So I understand and empathise with those who have been mourning the experience they've had on Twitter — a life they know is now over. But Twitter has slowly been rotting for years — I went through that grieving process myself a couple of years ago and frankly don't really understand what's so different now compared to two weeks ago.</p>
  98. <p>There's another, smaller group of people mourning a social media experience that was destroyed this week — the people who were active on Mastodon and the broader fediverse prior to November 2022. The nightclub has a new brash owner, and the dancefloor has emptied. People are pouring in to the quiet houseparty around the corner, cocktails still in hand, demanding that the music be turned up, walking mud into the carpet, and yelling over the top of the quiet conversation.</p>
  99. <p><em>All</em> of us lost something this week. It's ok to mourn it.</p>
  100. </article>
  101. <hr>
  102. <footer>
  103. <p>
  104. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  105. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  106. </svg> Accueil</a> •
  107. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  108. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  109. </svg> Suivre</a> •
  110. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  111. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  112. </svg> Pro</a> •
  113. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  114. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  115. </svg> Email</a> •
  116. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  117. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  118. </svg> Légal</abbr>
  119. </p>
  120. <template id="theme-selector">
  121. <form>
  122. <fieldset>
  123. <legend><svg class="icon icon-brightness-contrast">
  124. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  125. </svg> Thème</legend>
  126. <label>
  127. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  128. </label>
  129. <label>
  130. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  131. </label>
  132. <label>
  133. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  134. </label>
  135. </fieldset>
  136. </form>
  137. </template>
  138. </footer>
  139. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  140. <script>
  141. function loadThemeForm(templateName) {
  142. const themeSelectorTemplate = document.querySelector(templateName)
  143. const form = themeSelectorTemplate.content.firstElementChild
  144. themeSelectorTemplate.replaceWith(form)
  145. form.addEventListener('change', (e) => {
  146. const chosenColorScheme = e.target.value
  147. localStorage.setItem('theme', chosenColorScheme)
  148. toggleTheme(chosenColorScheme)
  149. })
  150. const selectedTheme = localStorage.getItem('theme')
  151. if (selectedTheme && selectedTheme !== 'undefined') {
  152. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  153. }
  154. }
  155. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  156. window.addEventListener('load', () => {
  157. let hasDarkRules = false
  158. for (const styleSheet of Array.from(document.styleSheets)) {
  159. let mediaRules = []
  160. for (const cssRule of styleSheet.cssRules) {
  161. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  162. continue
  163. }
  164. // WARNING: Safari does not have/supports `conditionText`.
  165. if (cssRule.conditionText) {
  166. if (cssRule.conditionText !== prefersColorSchemeDark) {
  167. continue
  168. }
  169. } else {
  170. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  171. continue
  172. }
  173. }
  174. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  175. }
  176. // WARNING: do not try to insert a Rule to a styleSheet you are
  177. // currently iterating on, otherwise the browser will be stuck
  178. // in a infinite loop…
  179. for (const mediaRule of mediaRules) {
  180. styleSheet.insertRule(mediaRule.cssText)
  181. hasDarkRules = true
  182. }
  183. }
  184. if (hasDarkRules) {
  185. loadThemeForm('#theme-selector')
  186. }
  187. })
  188. </script>
  189. </body>
  190. </html>