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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  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>
  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>Facebook’s Unknowable Megascale (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="#f0f0ea">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f0f0ea">
  26. <!-- Documented, feel free to shoot an email. -->
  27. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  28. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  29. <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>
  30. <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>
  31. <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>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <script>
  36. function toggleTheme(themeName) {
  37. document.documentElement.classList.toggle(
  38. 'forced-dark',
  39. themeName === 'dark'
  40. )
  41. document.documentElement.classList.toggle(
  42. 'forced-light',
  43. themeName === 'light'
  44. )
  45. }
  46. const selectedTheme = localStorage.getItem('theme')
  47. if (selectedTheme !== 'undefined') {
  48. toggleTheme(selectedTheme)
  49. }
  50. </script>
  51. <meta name="robots" content="noindex, nofollow">
  52. <meta content="origin-when-cross-origin" name="referrer">
  53. <!-- Canonical URL for SEO purposes -->
  54. <link rel="canonical" href="https://daringfireball.net/2020/12/facebook_unknowable_megascale">
  55. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>Facebook’s Unknowable Megascale</h1>
  59. </header>
  60. <nav>
  61. <p class="center">
  62. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  63. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  64. </svg> Accueil</a> •
  65. <a href="https://daringfireball.net/2020/12/facebook_unknowable_megascale" title="Lien vers le contenu original">Source originale</a>
  66. </p>
  67. </nav>
  68. <hr>
  69. <p>Adrienne LaFrance, writing for The Atlantic, “<a href="https://www.theatlantic.com/technology/archive/2020/12/facebook-doomsday-machine/617384/">Facebook Is a Doomsday Machine</a>”:</p>
  70. <blockquote>
  71. <p>People tend to complain about Facebook as if something recently
  72. curdled. There’s a notion that the social web was once useful, or
  73. at least that it could have been good, if only we had pulled a few
  74. levers: some moderation and fact-checking here, a bit of
  75. regulation there, perhaps a federal antitrust lawsuit. But that’s
  76. far too sunny and shortsighted a view. Today’s social networks,
  77. Facebook chief among them, were built to encourage the things that
  78. make them so harmful. It is in their very architecture.</p>
  79. <p>I’ve been thinking for years about what it would take to make the
  80. social web magical in all the right ways — less extreme, less
  81. toxic, more true — and I realized only recently that I’ve been
  82. thinking far too narrowly about the problem. I’ve long wanted Mark
  83. Zuckerberg to admit that <a href="https://twitter.com/AdrienneLaF/status/910493155421822976">Facebook is a media company</a>, to take
  84. responsibility for the informational environment he created in the
  85. same way that the editor of a magazine would. (I pressed him on
  86. this <a href="https://www.theatlantic.com/technology/archive/2018/05/mark-zuckerberg-doesnt-understand-journalism/559424/">once</a> and he laughed.) In recent years, as Facebook’s
  87. mistakes have compounded and its reputation has tanked, it has
  88. become clear that negligence is only part of the problem. No one,
  89. not even Mark Zuckerberg, can control the product he made. I’ve
  90. come to realize that Facebook is not a media company. It’s a
  91. Doomsday Machine.</p>
  92. </blockquote>
  93. <p>This is a very compelling and cogent essay, and I largely agree with LaFrance. But here I disagree: Zuckerberg clearly <em>can</em> control it. There are dials on the algorithms that control what users see in their feeds. What can’t be controlled is what happens as Facebook pursues <em>engagement</em>. What keeps too many people hooked to Facebook is exactly the sort of worldview-warping toxic content that is damaging society worldwide. To some degree Facebook’s addictiveness and toxicity are directly correlated. This isn’t conjecture or speculation, <a href="https://daringfireball.net/linked/2020/11/24/facebook-sociopaths">we have proof</a>. Plus, we have eyes: in some ways the societal harm from Facebook is as easy for anyone to see as the respiratory problems caused by smoking. I honestly believe Zuckerberg would prefer to reduce the toxicity of Facebook’s social media platforms, but not enough to do so if it reduces Facebook’s addictiveness. Again, likewise, I’m sure tobacco company executives would have loved to invent tobacco products that didn’t cause cancer.</p>
  94. <p>A key insight from LaFrance:</p>
  95. <blockquote>
  96. <p>The website that’s perhaps best known for encouraging mass
  97. violence is the image board 4chan — which was followed by 8chan,
  98. which then became 8kun. These boards are infamous for being the
  99. sites where multiple mass-shooting suspects have shared manifestos
  100. before homicide sprees. The few people who are willing to defend
  101. these sites unconditionally do so from a position of free-speech
  102. absolutism. That argument is worthy of consideration. But there’s
  103. something architectural about the site that merits attention, too:
  104. There are no algorithms on 8kun, only a community of users who
  105. post what they want. People use 8kun to publish abhorrent ideas,
  106. but at least the community isn’t pretending to be something it’s
  107. not. The biggest social platforms claim to be similarly neutral
  108. and pro–free speech when in fact no two people see the same feed.
  109. Algorithmically tweaked environments feed on user data and
  110. manipulate user experience, and not ultimately for the purpose of
  111. serving the user. Evidence of real-world violence can be easily
  112. traced back to both Facebook and 8kun. But 8kun doesn’t manipulate
  113. its users or the informational environment they’re in. Both sites
  114. are harmful. But Facebook might actually be worse for humanity.</p>
  115. </blockquote>
  116. <p>This is <em>the</em> problem we, collectively, have not grasped. How do we regulate — via the law and/or social norms — a form of mass media with amorphous content? When you make a movie or write a book or publish a magazine, the speech that matters is the content of the movie/book/magazine. When you post something to Facebook, the “speech” that matters most isn’t the content of the post but the algorithm that determines who sees it and how. 3 billion users effectively means there are 3 billion different “Facebooks”. <em>That’s</em> the “megascale” which LaFrance equates to the megadeaths of a Strangelovian doomsday device. </p>
  117. <p>A mere “website” — say, Wikipedia — that reaches an audience of billions is like the surface of an ocean: enormously expansive, but visible. Facebook is like the <em>volume</em> of an ocean: not merely massive, but unknowable.</p>
  118. <p>We instinctively think that 8kun is “worse” than Facebook because its users are free to post the worst content imaginable, and because they are terribly imaginative, do. It feels like 8kun must be “worse” because its <em>content</em> is worse — what is permitted, and what actually is posted. But Facebook is in fact far worse, because by its nature we, as a whole, can’t even see what “Facebook” is because everyone’s feed is unique. 8kun, at least, is a knowable product. You could print it out and say, “Here is what 8kun was on December 29, 2020.” How could you ever say what Facebook is at any given <em>moment</em>, let alone for a given day, let alone as an omnipresent daily presence in <em>billions</em> of people’s lives?</p>
  119. <p>A question I’ve pondered these last few post-election weeks: What would have happened if Mark Zuckerberg were all-in on Trump? What if instead of flagging and tamping down on Trump’s utterly false but profoundly destructive “election fraud” anti-democratic power grab, Facebook had done the opposite and pushed the narrative Trump wants? What if Trump owned Facebook? What if Zuckerberg ran for president, lost, and pursued a similar “turn your supporters against democracy” strategy?</p>
  120. <p>Is there any reason to believe that Facebook chose the pre- and post-election course it did because it was the right thing to do — good for the United States, good for the world, good for the principles of democracy and truth — rather than the result of a cold calculus that determined it was the optimal way to keep the most people the most engaged with Facebook?</p>
  121. <p>I, for one, believe Facebook charted a course around this election primarily with Facebook’s continuing addictiveness in mind. But I <em>know</em> that whatever the reasons, they were ultimately determined by one person. That’s quite a thing.</p>
  122. </article>
  123. <hr>
  124. <footer>
  125. <p>
  126. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  127. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  128. </svg> Accueil</a> •
  129. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  130. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  131. </svg> RSS</a> •
  132. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  133. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  134. </svg> Pro</a> •
  135. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  136. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  137. </svg> Email</a> •
  138. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  139. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  140. </svg> Légal</abbr>
  141. </p>
  142. <template id="theme-selector">
  143. <form>
  144. <fieldset>
  145. <legend><svg class="icon icon-brightness-contrast">
  146. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  147. </svg> Thème</legend>
  148. <label>
  149. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  150. </label>
  151. <label>
  152. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  153. </label>
  154. <label>
  155. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  156. </label>
  157. </fieldset>
  158. </form>
  159. </template>
  160. </footer>
  161. <script>
  162. function loadThemeForm(templateName) {
  163. const themeSelectorTemplate = document.querySelector(templateName)
  164. const form = themeSelectorTemplate.content.firstElementChild
  165. themeSelectorTemplate.replaceWith(form)
  166. form.addEventListener('change', (e) => {
  167. const chosenColorScheme = e.target.value
  168. localStorage.setItem('theme', chosenColorScheme)
  169. toggleTheme(chosenColorScheme)
  170. })
  171. const selectedTheme = localStorage.getItem('theme')
  172. if (selectedTheme && selectedTheme !== 'undefined') {
  173. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  174. }
  175. }
  176. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  177. window.addEventListener('load', () => {
  178. let hasDarkRules = false
  179. for (const styleSheet of Array.from(document.styleSheets)) {
  180. let mediaRules = []
  181. for (const cssRule of styleSheet.cssRules) {
  182. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  183. continue
  184. }
  185. // WARNING: Safari does not have/supports `conditionText`.
  186. if (cssRule.conditionText) {
  187. if (cssRule.conditionText !== prefersColorSchemeDark) {
  188. continue
  189. }
  190. } else {
  191. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  192. continue
  193. }
  194. }
  195. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  196. }
  197. // WARNING: do not try to insert a Rule to a styleSheet you are
  198. // currently iterating on, otherwise the browser will be stuck
  199. // in a infinite loop…
  200. for (const mediaRule of mediaRules) {
  201. styleSheet.insertRule(mediaRule.cssText)
  202. hasDarkRules = true
  203. }
  204. }
  205. if (hasDarkRules) {
  206. loadThemeForm('#theme-selector')
  207. }
  208. })
  209. </script>
  210. </body>
  211. </html>