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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386
  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>Tag #décentralisation — David Larlet</title>
  13. <meta name="description" content="Publications relatives au tag #décentralisation">
  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. <style type="text/css">
  53. details[open] summary {
  54. display: none;
  55. }
  56. </style>
  57. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  58. <header>
  59. <h1>Publications relatives au tag #décentralisation</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 rel="tags" href="/david/#tags-2023" title="Liste de toutes les étiquettes"><svg class="icon icon-tags">
  67. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-tags"></use>
  68. </svg> Étiquettes</a>
  69. </p>
  70. </nav>
  71. <hr>
  72. <main>
  73. <p>Les plus récentes en premier, les 3 premières sont dépliées et ensuite c’est à la demande, bonne exploration !</p>
  74. <h2><a href="/david/2023/02/28/" title="Lien permanent vers cet article">AlgoRSSithme</a> (2023-02-28)</h2>
  75. <blockquote lang="en">
  76. <p>This is why RSS feeds are amazing: nobody can get into your feed or be prioritized in it unless you say&nbsp;so.</p>
  77. <p><cite><em><a href="https://notes.jim-nielsen.com/#2023-02-27T0915">Enshittification - Jim Nielsen’s Notes</a></em>&nbsp;(<a href="/david/cache/2023/941b67353ff151e5da55c691f6e9161b/">cache</a>)</cite></p>
  78. </blockquote>
  79. <p>L’usage fait qu’il n’y a pas d’algorithme derrière un flux RSS ou un agrégateur mais il pourrait en être&nbsp;autrement.</p>
  80. <p>Les auteur·ices choisissent de mettre les x derniers articles dans leur flux mais ce n’est en fait que la <em>dernière</em> entrée qui est pertinente (en prenant l’hypothèse que l’agrégateur rafraichit plus vite que le rythme de publication). Tout le reste pourrait être choisi selon un algorithme car concernerait les personnes qui n’ont pas encore d’articles dans leur&nbsp;cache.</p>
  81. <p>Je pourrais par exemple choisir d’avoir le dernier article ainsi qu’une dizaine d’articles soigneusement sélectionnés pour motiver les nouvelles personnes inscrites à conserver ce flux (au même titre que les messages épinglés sur un compte mastodon), d’autant qu’il est <a href="/david/log/">affiché chez moi</a> (pour <a href="/david/2021/06/03/">rappel</a>).</p>
  82. <p>Je pourrais aussi tous les mois faire sortir un ancien article que j’aime bien et qui apparaitrait probablement en dernier/très loin dans votre agrégateur mais si vous êtes en RSS Zéro (je suis sûr que c’est un truc), ça pourrait le rendre visible et vous donner envie d’aller y jeter un&nbsp;œil.</p>
  83. <p>De l’autre côté du flux, l’agrégateur pourrait faire de même et aller repêcher de vieux billets non lus, ne pas afficher tous les articles lors de l’ajout d’un nouveau flux, mettre certaines publications de sources plus populaires en avant, etc.</p>
  84. <p>Ce n’est pas le format qui empêche d’y mettre une logique de dévelopeur·euse (aussi appelé algorithme), mais les outils qui le génèrent et qui l’exploitent. C’est relativement étonnant que personne n’ait encore pris le temps de saccager&nbsp;ça.</p>
  85. <p>Oups…</p>
  86. <hr />
  87. <blockquote>
  88. <p>💜 L’idée derrière cela, c’est de pouvoir accéder à <mark>de la papeterie facile à imprimer</mark> et à photocopier, tout en profitant de belles illustrations. Pour l’instant, je pense partager mes propres illustrations ainsi qu’une liste de liens pour les ressources d’autres personnes. […] J’aimerais que cette boutique soit le début d’une réflexion commune sur le partage de l’art et&nbsp;l’artisanat.</p>
  89. <p><cite><em><a href="https://la-papeterie-libre.fr/">La Papeterie&nbsp;Libre</a></em></cite></p>
  90. </blockquote>
  91. <blockquote lang="en">
  92. <p>🤦 It seems ChatGPT is wrongly recommending us for “reverse phone number lookup” - ie the ability to determine the location of a mobile phone solely based on the number. <mark>This is not a service we provide.</mark> It is not a service we have ever provided, nor a service we have any plans to provide. Indeed, it is a not a service we are technically capable of&nbsp;providing.</p>
  93. <p><cite><em><a href="https://blog.opencagedata.com/post/dont-believe-chatgpt">Don’t believe ChatGPT - we do NOT offer a “phone lookup” service</a></em>&nbsp;(<a href="/david/cache/2023/0568befa90d2b39c0694d4c7ffc3cd73/">cache</a>)</cite></p>
  94. </blockquote>
  95. <blockquote lang="en">
  96. <p>👍 The best time to leave Github was before it was acquired by Microsoft. The second-best time is <mark>now.</mark> Sooner or later, you will be forced out of Github like we, oldies, were forced out of Sourceforge. Better leaving while you are free to do it on your own&nbsp;terms…</p>
  97. <p><cite><em><a href="https://ploum.net/2023-02-22-leaving-github.html">We need to talk about your Github addiction</a></em>&nbsp;(<a href="/david/cache/2023/afa0aae212698b71118868d36d50a747/">cache</a>)</cite></p>
  98. </blockquote>
  99. <blockquote lang="en">
  100. <p>💅 You do not have to follow these rules every time. If you have a good reason to break any of them, do. But they are safe to follow every&nbsp;time.</p>
  101. <p><cite><em><a href="https://anthonyhobday.com/sideprojects/saferules/">Visual design rules you can safely follow every time</a></em>&nbsp;(<a href="/david/cache/2023/61f52848924157701ed66c85d67f3536/">cache</a>)</cite></p>
  102. </blockquote>
  103. <blockquote>
  104. <p>🤗 Je fais tout ça sans la contrainte de maintenance, car je ne développe que des prototypes de logiciels. C’est <mark>une sorte d’exutoire</mark> pour se libérer l’esprit des projets qui me traînent dans la&nbsp;tête.</p>
  105. <p><cite><em><a href="https://marienfressinaud.fr/farandole-de-projets.html">Farandole de projets</a></em>&nbsp;(<a href="/david/cache/2023/392138accbdaee722a669834da5f1a8d/">cache</a>)</cite></p>
  106. </blockquote>
  107. <blockquote lang="en">
  108. <p>🧠 You could even think of this home stream as what in literature is called a “stream of consciousness”: <mark>a constant stream of the multitudinous thoughts and feelings which pass through the mind of a narrator.</mark> Your website is a way for you to share your stream of consciousness, that temporary and subjective and highly biased snippet of the universe, with everyone else, including your future self. In all its&nbsp;multitudes.</p>
  109. <p><cite><em><a href="https://matthiasott.com/notes/streams-of-consciousness">Streams of Consciousness</a></em>&nbsp;(<a href="/david/cache/2023/328b56a2ee2e291dabc8f63a0013cc7a/">cache</a>)</cite></p>
  110. </blockquote>
  111. <h2><a href="/david/2023/01/26/" title="Lien permanent vers cet article">Décentralisation</a> (2023-01-26)</h2>
  112. <p>Je suis allé voir <a href="https://equalit.ie/">eQualitie</a> hier, ça m’a fait rechercher toutes les initiatives que je connaissais de «&nbsp;suites&nbsp;»&nbsp;décentralisées&nbsp;:</p>
  113. <ul>
  114. <li><a href="https://labriqueinter.net/">LaBriqueInter.net</a></li>
  115. <li><a href="https://yunohost.org/">YunoHost</a></li>
  116. <li><a href="https://www.kiwix.org/">Kiwix</a></li>
  117. <li><a href="https://www.bibliosansfrontieres.org/ideas-box/">IDEAS&nbsp;BOX</a></li>
  118. <li><a href="https://www.bibliosansfrontieres.org/nos-actions/des-outils/ideas-cube/">IDEAS&nbsp;CUBE</a></li>
  119. <li><a href="https://coolify.io/">Coolify</a></li>
  120. <li><a href="https://sandstorm.io/">Sandstorm</a></li>
  121. <li><a href="https://nextcloud.com/">Nextcloud</a></li>
  122. <li><a href="https://www.frama.space/abc/fr/">Frama.space</a></li>
  123. <li><a href="https://www.cloudron.io/">Cloudron</a> (merci&nbsp;Sébastien&#8239;!)</li>
  124. <li><a href="https://freedombox.org/">FreedomBox</a> (merci&nbsp;Alexandre&#8239;!)</li>
  125. <li><a href="https://indiehosters.net/liiibre/">Liiibre</a> (merci&nbsp;Maïa&#8239;!)</li>
  126. <li><a href="https://zourit.net/">Zourit.net</a> (merci&nbsp;Clailou&#8239;!)</li>
  127. <li><a href="https://caprover.com/">CapRover</a> (plus technique, merci&nbsp;Pierre&#8239;!)</li>
  128. <li><a href="https://hostux.network/">Hostux</a> (merci&nbsp;Xav’&#8239;!)</li>
  129. </ul>
  130. <p>Si vous en avez d’autres, j’accepte les&nbsp;suggestions&#8239;!</p>
  131. <p>Je prends cette liste comme une réinvention récurrente, itérative et diversifiée. On pourrait le voir comme une dispersion des efforts, je l’envisage comme un b(r)ouillon d’idées nécessaire à une exploration saine. <span lang=en>“There Are Plenty of AlternativeS”</span> comme ils&nbsp;disent.</p>
  132. <hr />
  133. <blockquote lang="en">
  134. <p>🌳 That is why owning a domain (and publishing your content there) is like planting a tree: it’s value that starts small and grows. The best time to own a domain and publish your content there was 20&nbsp;years ago. The second best time is&nbsp;today.</p>
  135. <p><cite><em><a href="https://blog.jim-nielsen.com/2023/best-time-to-own-a-domain/">The Best Time to Own a Domain Was 20&nbsp;Years Ago; The Second Best Time Is Today</a></em>&nbsp;(<a href="/david/cache/2023/576a604fce44b337a38425c021b3b0b3/">cache</a>)</cite></p>
  136. </blockquote>
  137. <blockquote>
  138. <p>🤔 La pensée n’est peut-être qu’une bizarrerie de la nature offerte à une espèce, comme elle fait ces bois de ruminants rares ou disparus que l’on voit dans les muséums&nbsp;: armes ou parures si curieusement étendues, bouclées ou spiralées, ou si rameuses qu’elles sont plus nuisibles encore qu’inutiles à l’animal qu’elles&nbsp;couronnent.</p>
  139. <p>Pourquoi pas&#8239;? Pourquoi non&#8239;? Notre tête est chargée de questions et d’idées qui se prennent dans l’enchevêtrement de la forêt des faits, et nous retient embarrassés, orgueilleux de l’être, condamnés à bramer des poèmes et des hypothèses, –&nbsp;fiers et&nbsp;désespérés.</p>
  140. <p><cite><em>Mauvaises pensées et autres</em>, Paul&nbsp;Valéry</cite></p>
  141. </blockquote>
  142. <blockquote>
  143. <p>🥲 <em>[En attendant chez l'orthodontiste]</em><br />
  144. — Papa, tu as un téléphone, tu n’as pas besoin de t’ennuyer avec moi par&nbsp;compassion.</p>
  145. </blockquote>
  146. <h2><a href="/david/2023/01/05/" title="Lien permanent vers cet article">Instanseul</a> (2023-01-05)</h2>
  147. <blockquote>
  148. <p>Peut-être que la centralisation d’une identité mastodon est une hérésie. 🤔</p>
  149. <p>Au même titre que l’on s’adapte au contexte des lieux physiques, je pourrais avoir un compte sur piaille.fr pour parler dans un contexte français, un autre sur jasette.facil.services pour tout ce qui est québécois, etc.</p>
  150. <p>Une identité distribuée, fédiversifiée, qui serait <mark>la représentation numérique d’une personnalité complexe et moins&nbsp;lissée.</mark></p>
  151. <p>Il y a tant à&nbsp;désapprendre.</p>
  152. <p><cite><em><a href="https://mastodon.social/@dav/109395748607478355">Un pouet du 23&nbsp;novembre 2022</a> (ancienne&nbsp;instance)</em></cite></p>
  153. </blockquote>
  154. <p>Un retour sur ma migration Mastodon depuis <a href="https://mastodon.social/@dav">https://mastodon.social/@dav</a> vers <a href="https://fedi.larlet.fr/@david">https://fedi.larlet.fr/@david</a> (avec @david@larlet.fr en <em>username</em>) en utilisant <a href="https://masto.host/">masto.host</a> en arrière&nbsp;plan.</p>
  155. <p>Quelques motivations pour&nbsp;bouger&nbsp;:</p>
  156. <ul>
  157. <li>la décentralisation rendue possible par les protocoles vs. ma participation à une instance centrale/principale/historique qui n’est pas terrible compte tenu de mes&nbsp;compétences/connaissances&#8239;;</li>
  158. <li>la consommation des ressources des autres (et savoir combien ça consomme en vrai), au-delà de l’argent, je voulais avoir une idée de ce que ça implique sans pour autant&nbsp;l’auto-héberger&#8239;;</li>
  159. <li>la modération (im)possible à une telle ampleur avec une équipe/politique qui n’est pas limpide et des conflits d’intérêts possibles&nbsp;hébergeur/développeur&#8239;;</li>
  160. <li>le contrôle et la pérennité des endroits où je m’exprime en ligne sont importants pour&nbsp;moi&#8239;;</li>
  161. <li>le côté expérimental/geek de la chose en jouant avec les&nbsp;protocoles&nbsp;🧑‍🔬.</li>
  162. </ul>
  163. <p>Ce qui est problématique à ce&nbsp;jour&nbsp;:</p>
  164. <ul>
  165. <li>la migration a été un peu chaotique car j’avais déjà tenté plein de trucs à la main à base de <code>webfinger</code> sur ce domaine et il restait des traces et du cache, ma&nbsp;faute&#8239;;</li>
  166. <li>lors de la migration, il semble y avoir des (serveurs de) comptes qui n’ont pas répondu à temps et qui suivent encore l’ancien profil, sachant que je ne peux initier une redirection/récupération que tous les 30&nbsp;jours sur mastodon.social ça fait pas mal de personnes qui ne savent pas ce qui se passe, j’imagine que je suis aussi des comptes fantômes sans le&nbsp;savoir&#8239;;</li>
  167. <li>lors du déclenchement de la migration, vous n’avez plus accès à grand chose à part à vos archives, il n’est pas possible de modifier son ancien profil par exemple pour signifier que c’est un compte redirigé auquel il ne faut plus&nbsp;s’abonner&#8239;;</li>
  168. <li>à ma connaissance, si quelqu’un·e fait un message direct à l’ancien compte, iel n’a aucun moyen de savoir que celui-ci est redirigé et que je n’aurai pas les moyens d’être notifié et de&nbsp;répondre&#8239;;</li>
  169. <li>je n’ai pas facilement accès aux réponses de messages hors de mon instance (à part s’il s’agit d’une personne suivie qui répond), il faut que j’aille sur l’URL de l’instance en question pour tout voir, ça réduit beaucoup l’aspect social de la chose, surtout en suivant très peu de&nbsp;personnes&#8239;;</li>
  170. <li>le flux RSS n’est pas redirigé depuis https://mastodon.social/@dav.rss vers https://fedi.larlet.fr/@david.rss ce que je peux comprendre techniquement mais qui n’est pas terrible (<a href="https://github.com/mastodon/mastodon/issues/22404">issue ici</a>)&#8239;;</li>
  171. <li>je ne sais pas comment fonctionne la découverte des comptes mais il y a clairement moins de personnes (connues) qui s’abonnent depuis la migration, je ne sais pas si c’est un défaut d’eXperience Utilisateur·ice ou autre (je doute que ce soit la <em>timeline</em> locale qui puisse être en cause vu le flux sur&nbsp;mastodon.social)&#8239;;</li>
  172. <li>j’ai l’impression de ne pas voir tous les messages mais ça m’arrivait déjà avant avec deux clients différents donc ça ne doit pas dépendre de&nbsp;l’instance&#8239;;</li>
  173. <li>je n’ai reçu aucune des nombreuses notifications sur mon ancien compte, il m’a fallu le réactiver pour m’en rendre&nbsp;compte&#8239;!</li>
  174. </ul>
  175. <p>Ce que j’ai&nbsp;découvert&nbsp;:</p>
  176. <ul>
  177. <li>les administrateur·ices d’instances ont un résumé des mots-dièses les plus employés sur l’instance (et la possibilité de les mettre en&nbsp;avant)&#8239;;</li>
  178. <li>je consomme beaucoup d’espace disque (3&#8239;Gb à ce jour, après un mois) alors que je publie peu, tout ce qui passe dans ma <em>timeline</em> semble être récupéré localement, je me demande s’il y a un option pour faire le&nbsp;ménage&#8239;;</li>
  179. <li>les interactions avec les personnes suivies restent quasi-instantanées, merci <a href="https://tinysubversions.com/notes/reading-activitypub/">ActivityPub</a>&nbsp;(<a href="/david/cache/2023/8440372c6df33b8f23cfce7a9eca5961/">cache</a>)&#8239;;</li>
  180. <li>je n’ai eu aucun problème de <em>spam</em> jusqu’à présent ni d’instance à&nbsp;bloquer&#8239;;</li>
  181. <li>je ne sais pas si c’est la migration et/ou la <a href="/david/2022/11/12/">vague de novembre</a> (et/ou les activités hivernales) mais j’interagis beaucoup moins sur le réseau, d’une certaine manière ça m’a motivé pour republier régulièrement par&nbsp;ici&#8239;;</li>
  182. <li>j’ai toujours ce truc qui me trotte en tête de ne pas passer par Mastodon mais d’avoir un truc semi-statique et certains ont déjà un peu creusé&nbsp;depuis.</li>
  183. </ul>
  184. <p>Est-ce que tout cela en valait vraiment la peine&#8239;? Ce n’est pas encore bien évident… j’ai une vraie frustration à ne pas voir toutes les réponses, ce qui était déjà vrai auparavant mais sur une instance populaire ça se voit beaucoup moins (ce qui est peut-être encore davantage un souci&#8239;!). Pareil lorsque je veux suivre une nouvelle personne, il faut que j’aille sur sa page de profil sinon je n’ai pas (toutes) ses publications. Depuis Toot! sur iOS c’est extrêmement&nbsp;fastidieux.</p>
  185. <p>Cela m’a permis d’explorer aussi la résilience du protocole et contrairement à ce qu’il se passe avec les courriels ça ne semble pas retenter les envois. Les interfaces actuelles étant assez silencieuses sur ces erreurs, c’est dommage, même en asynchrone ça serait bien&nbsp;utile.</p>
  186. <p>D’un autre côté, j’ai appris pas mal de choses sur les rouages et le transit des publications et des&nbsp;interactions.</p>
  187. <p>Est-ce que je recommanderais aux nouvelles et nouveaux venu·es de commencer avec une instance solo&#8239;? <strong>Sûrement pas.</strong> C’est déjà fastidieux de comprendre le concept d’instance, si en plus il y a tous les problèmes cités ci-dessus qui s’ajoutent et créent davantage de confusion ça doit donner une expérience&nbsp;décevante.</p>
  188. <p>En même temps, une instance solo fait probablement peu de sens pour un réseau social architecturé comme Mastodon et on en revient à mon pouet initial (oui vous savez, tout là-haut)&nbsp;: plusieurs comptes avec plusieurs identités. En revanche, pour un collectif —&nbsp;au hasard <a href="http://scopyleft.fr/">Scopyleft</a>&nbsp;— je vois un intérêt à avoir une instance dédiée. Ça pourrait permettre d’embarquer des personnes en douceur&nbsp;aussi…</p>
  189. <hr />
  190. <blockquote lang="en">
  191. <p>✍️ Hacking on ActivityPub was a fun project, but it was chaotic. ActivityPub in practice is a grab-bag of specifications and implementation-specific details. <mark>It was hard to find documentation</mark> for a lot of things and hard to debug requests that didn’t have their intended effect on&nbsp;Mastodon.</p>
  192. <p>ActivityPub is a distributed architecture, so it’s going to be a lot more complicated than&nbsp;RSS.</p>
  193. <p><cite><em><a href="https://macwright.com/2022/12/09/activitypub.html">Playing with ActivityPub</a></em>&nbsp;(<a href="/david/cache/2023/4be6162587a2171b64fd7753b7fe410b/">cache</a>)</cite></p>
  194. </blockquote>
  195. <blockquote lang="en">
  196. <p>😬 I found this one particularly hard - it was almost impossible to find an example of what a Follow message looks like, so I ended up spending a lot of time following my account from a Mastodon client and seeing what data was HTTP POSTed; <strong>and</strong> I also <mark>need to maintain the state of who followed me</mark> (so I can send them messages&nbsp;later).</p>
  197. <p><cite><em><a href="https://paul.kinlan.me/adding-activity-pub-to-your-static-site/">Adding ActivityPub to your static site</a></em>&nbsp;(<a href="/david/cache/2023/1676902071b6e1e7e0d3395bc47956b5/">cache</a>)</cite></p>
  198. </blockquote>
  199. <blockquote lang="en">
  200. <p>💯 A virtual Mastodon monopoly is not good for almost anyone, I think - I'm actually quite excited for Tumblr to implement ActivityPub, because it stands a chance of forcing protocol changes and improvements to be discussed, rather than directed almost entirely by one&nbsp;project.</p>
  201. <p><cite><em><a href="https://aeracode.org/2022/12/05/understanding-a-protocol/">Understanding A Protocol</a></em>&nbsp;(<a href="/david/cache/2023/4b5bae499ad13fe0f5413d8c7b77c09a/">cache</a>)</cite></p>
  202. </blockquote>
  203. <blockquote lang="en">
  204. <p>But there’s one major difference to all the problem’s we've witnessed with social media so far. It will stay an open space that we can co-design. Even though Eugen Rochko now seems to be a super nice guy, he has all the freedom to abandon Mastodon, make some bad decisions or to do a hard right turn and follow Elon. It doesn’t matter. <mark>Always remember that Mastodon is just one door.</mark> You no longer like this door? Open another one. Mastodon is not THE&nbsp;platform.</p>
  205. <p><cite><em><a href="https://bastianallgeier.com/notes/network-effect">Network effect</a></em>&nbsp;(<a href="/david/cache/2023/745057669a6d4c8fd3c5ce1c5dd81b8c/">cache</a>)</cite></p>
  206. </blockquote>
  207. <blockquote lang="en">
  208. <p>😅 Self-hosting Mastodon is all the rage, but having to deal with a full-blown installation of Ruby (which is always a pain to install properly, even if you use rbenv), plus the abomination that is Sidekiq and the overall Rube Goldberg-esque architectural approach that is almost mandatory to deal with <mark>the complexities of ActivityPub is just something I don’t want to maintain.</mark> Ever. Even inside&nbsp;Docker.</p>
  209. <p><cite><em><a href="https://taoofmac.com/space/blog/2022/12/21/0900">Getting Takahē to run on Piku</a></em>&nbsp;(<a href="/david/cache/2023/a889fa6d4e07bdc390d44461ed6dce21/">cache</a>)</cite></p>
  210. </blockquote>
  211. <blockquote lang="en">
  212. <p>Having spent time on Mastodon, I now realize how hilariously wrong I was about how moderation would work. <mark>I was seeing Mastodon through the lenses of Twitter, rather than as a different culture with different technology.</mark> I’m now fairly confident in saying Mastodon is friendlier than Twitter and will remain so, regardless of who and how many&nbsp;join.</p>
  213. <p><cite><em><a href="https://escapingtech.com/tech/opinions/i-was-wrong-about-mastodon-moderation.html">I Was Wrong About Mastodon</a></em>&nbsp;(<a href="/david/cache/2023/daa39b64681b0574bbe189e80c8a4653/">cache</a>)</cite></p>
  214. </blockquote>
  215. </main>
  216. <hr>
  217. <footer>
  218. <p>
  219. <nobr>
  220. <a href="/david/" title="Aller à l’accueil"
  221. ><svg class="icon icon-home">
  222. <use
  223. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  224. ></use>
  225. </svg>
  226. Accueil</a
  227. >
  228. </nobr>
  229. <nobr>
  230. <a href="/david/log/" title="Accès au flux RSS"
  231. ><svg class="icon icon-rss2">
  232. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  233. </svg>
  234. Suivre</a
  235. >
  236. </nobr>
  237. <nobr>
  238. <a href="http://larlet.com" title="Go to my English profile" data-instant
  239. ><svg class="icon icon-user-tie">
  240. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  241. </svg>
  242. Pro</a
  243. >
  244. </nobr>
  245. <nobr>
  246. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
  247. ><svg class="icon icon-mail">
  248. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  249. </svg>
  250. Email</a
  251. >
  252. </nobr>
  253. <nobr>
  254. <abbr
  255. class="nowrap"
  256. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
  257. ><svg class="icon icon-hammer2">
  258. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  259. </svg>
  260. Légal</abbr
  261. >
  262. </nobr>
  263. </p>
  264. <template id="theme-selector">
  265. <form>
  266. <fieldset>
  267. <legend><svg class="icon icon-brightness-contrast">
  268. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  269. </svg> Thème</legend>
  270. <label>
  271. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  272. </label>
  273. <label>
  274. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  275. </label>
  276. <label>
  277. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  278. </label>
  279. </fieldset>
  280. </form>
  281. </template>
  282. </footer>
  283. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  284. <script>
  285. function loadThemeForm(templateName) {
  286. const themeSelectorTemplate = document.querySelector(templateName)
  287. const form = themeSelectorTemplate.content.firstElementChild
  288. themeSelectorTemplate.replaceWith(form)
  289. form.addEventListener('change', (e) => {
  290. const chosenColorScheme = e.target.value
  291. localStorage.setItem('theme', chosenColorScheme)
  292. toggleTheme(chosenColorScheme)
  293. })
  294. const selectedTheme = localStorage.getItem('theme')
  295. if (selectedTheme && selectedTheme !== 'undefined') {
  296. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  297. }
  298. }
  299. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  300. window.addEventListener('load', () => {
  301. let hasDarkRules = false
  302. for (const styleSheet of Array.from(document.styleSheets)) {
  303. let mediaRules = []
  304. for (const cssRule of styleSheet.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. // WARNING: do not try to insert a Rule to a styleSheet you are
  321. // currently iterating on, otherwise the browser will be stuck
  322. // in a infinite loop…
  323. for (const mediaRule of mediaRules) {
  324. styleSheet.insertRule(mediaRule.cssText)
  325. hasDarkRules = true
  326. }
  327. }
  328. if (hasDarkRules) {
  329. loadThemeForm('#theme-selector')
  330. }
  331. })
  332. </script>
  333. </body>
  334. </html>