Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
1年前
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284
  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>Snow&nbsp;Fall — David Larlet</title>
  13. <meta name="description" content="Ten years ago this week, in December 2012, “Snow Fall: The Avalanche at Tunnel Creek,” an ambitious multimedia feature about a deadly avalanche in Washington State that year, took the journalism world by storm.">
  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. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  53. <article>
  54. <header>
  55. <h1>Snow&nbsp;Fall</h1>
  56. </header>
  57. <nav>
  58. <p class="center">
  59. <a rel="prev" href="/david/2023/01/14/" title="Publication précédente : Dépendances">← Précédent</a> •
  60. <nobr>
  61. <a href="/david/" title="Aller à l’accueil" rel="up"
  62. ><svg class="icon icon-home">
  63. <use
  64. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  65. ></use>
  66. </svg>
  67. Accueil</a
  68. >
  69. </nobr>
  70. <nobr>
  71. <a href="/david/recherche/" title="Aller à la page de recherche" rel="search"
  72. ><svg class="icon icon-search">
  73. <use
  74. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-search"
  75. ></use>
  76. </svg>
  77. Recherche</a
  78. >
  79. </nobr>
  80. • <a rel="next" href="/david/2023/01/16/" title="Publication suivante : Chasse">Suivant →</a>
  81. </p>
  82. </nav>
  83. <hr>
  84. <blockquote lang="en">
  85. <p>Ten years ago this week, in December 2012, “<a href="https://www.nytimes.com/projects/2012/snow-fall/index.html">Snow Fall: The Avalanche at Tunnel Creek</a>,” an ambitious multimedia feature about a deadly avalanche in Washington State that year, took the journalism world by&nbsp;storm.</p>
  86. <p><cite><em><a href="https://www.nytimes.com/2022/12/23/insider/snow-fall-at-10-how-it-changed-journalism.html">‘Snow Fall’ at 10: How It Changed Journalism</a></em>&nbsp;(<a href="/david/cache/2023/cba96d83d96944c55675cb073fcfc60d/">cache</a>)</cite></p>
  87. </blockquote>
  88. <p>Il est rare que je me souvienne d’évènement historiques autour du Web. À part peut-être les sorties de <a href="/david/biologeek/archives/20041121-mozparty-des-geeks-irl--/">Firefox 1</a> et <a href="/david/biologeek/archives/20061028-soiree-firefox-2-paris/">2</a> car j’étais aux évènements&nbsp;dédiés.</p>
  89. <p>«&nbsp;<span lang=en>Snow Fall</span>&nbsp;» était d’un autre ordre de grandeur pour moi car ça ouvrait au Web une possibilité de raconter des histoires dynamiques. Je me rappelle avec une assez bonne précision de l’excitation que j’avais eu en parcourant la page à l’époque. Ce n’était pas tant le côté immersif que technique qui m’intéressait alors, et c’était une époque où l’on pouvait encore consulter une source de site web et la comprendre. J’ai tellement appris comme&nbsp;ça&#8239;!</p>
  90. <p>Allez consulter cette magnificence, une source commentée, non minifiée, avec du contenu qui est dans la page et des media liés de manière standardisée et compréhensible. Une autre&nbsp;époque.</p>
  91. <p>On en parlait récemment avec <a href="https://thom4.net/">Thomas</a>, comment est-ce qu’une génération qui est principalement autodidacte a-t-elle pu être à l’origine de la complexité actuelle des outils de publication sur le Web&#8239;? Je suis tellement triste de la marche que l’on a créé pour réduire l’accessibilité de sa source. Il y a une tendance humaine à faire —&nbsp;plus ou moins consciemment&nbsp;— tomber l’échelle qui nous a permis de monter pour être sûr de garder une certaine avance sur les&nbsp;suivant·es.</p>
  92. <p><em>Tout parallèle avec notre rapport à l’immigration serait bien évidement&nbsp;fortuit.</em></p>
  93. <blockquote lang="en">
  94. <p>Mr. Duenes also noted that “Snow Fall” helped budding designers and engineers see themselves as potential&nbsp;journalists.</p>
  95. <p>“It generated the idea among people with visual skills that journalism might be a place for them,” Mr. Duenes said. “Not people who were experts at the moment, but people in school who could see an overlap between an area where they had talent and the discipline of visual&nbsp;journalism.”</p>
  96. <p><cite><em>Ibid.</em></cite></p>
  97. </blockquote>
  98. <hr />
  99. <blockquote lang="en">
  100. <p>For a data format, yaml is extremely complicated. It aims to be a human-friendly format, but in striving for that it introduces <mark>so much complexity,</mark> that I would argue it achieves the opposite result. Yaml is full of footguns and its friendliness is deceptive. In this post I want to demonstrate this through an&nbsp;example.</p>
  101. <p><cite><em><a href="https://ruudvanasseldonk.com/2023/01/11/the-yaml-document-from-hell">The yaml document from hell</a></em>&nbsp;(<a href="/david/cache/2023/3b05eb0d7d0409bcfd53b4cdf6c20daa/">cache</a>)</cite></p>
  102. </blockquote>
  103. <blockquote lang="en">
  104. <p> It was among the strongest feelings of grief I have ever encountered. The contrast between the vicious coldness of space and the warm nurturing of Earth below filled me with overwhelming sadness. Every day, we are confronted with the knowledge of further destruction of Earth at our hands: the extinction of animal species, of flora and fauna . . . things that took five billion years to evolve, and suddenly we will never see them again because of the interference of mankind. It filled me with dread. <mark>My trip to space was supposed to be a celebration; instead, it felt like a&nbsp;funeral.</mark></p>
  105. <p><cite><em><a href="https://variety.com/2022/tv/news/william-shatner-space-boldly-go-excerpt-1235395113/">William Shatner: My Trip to Space Filled Me With Sadness - Variety</a></em>&nbsp;(<a href="/david/cache/2023/ca3e313992d7ac7e4aeaece85e7f4b6a/">cache</a>)</cite></p>
  106. </blockquote>
  107. <nav>
  108. <p>
  109. <a href="/david/2023/complexite/"
  110. title="Liste de tous les articles 2023 associés à cette étiquette"
  111. rel="tag"
  112. >#complexité</a>
  113. <a href="/david/2023/qualite/"
  114. title="Liste de tous les articles 2023 associés à cette étiquette"
  115. rel="tag"
  116. >#qualité</a>
  117. <a href="/david/2023/traces/"
  118. title="Liste de tous les articles 2023 associés à cette étiquette"
  119. rel="tag"
  120. >#traces</a>
  121. <a href="/david/#tags-2023"
  122. title="Liste de toutes les étiquettes 2023"
  123. ><svg class="icon icon-tags">
  124. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-tags"></use>
  125. </svg>
  126. tous ?</a
  127. >
  128. </p>
  129. </nav>
  130. <nav>
  131. <p class="center">
  132. <a rel="prev" href="/david/2023/01/14/" title="Publication précédente : Dépendances">← Précédent</a> •
  133. <a href="/david/2023/" title="Liste des publications récentes">↑ En 2023</a>
  134. • <a rel="next" href="/david/2023/01/16/" title="Publication suivante : Chasse">Suivant →</a>
  135. </p>
  136. </nav>
  137. </article>
  138. <hr>
  139. <footer>
  140. <p>
  141. <nobr>
  142. <a href="/david/" title="Aller à l’accueil"
  143. ><svg class="icon icon-home">
  144. <use
  145. xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-home"
  146. ></use>
  147. </svg>
  148. Accueil</a
  149. >
  150. </nobr>
  151. <nobr>
  152. <a href="/david/log/" title="Accès au flux RSS"
  153. ><svg class="icon icon-rss2">
  154. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-rss2"></use>
  155. </svg>
  156. Suivre</a
  157. >
  158. </nobr>
  159. <nobr>
  160. <a href="http://larlet.com" title="Go to my English profile" data-instant
  161. ><svg class="icon icon-user-tie">
  162. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-user-tie"></use>
  163. </svg>
  164. Pro</a
  165. >
  166. </nobr>
  167. <nobr>
  168. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"
  169. ><svg class="icon icon-mail">
  170. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-mail"></use>
  171. </svg>
  172. Email</a
  173. >
  174. </nobr>
  175. <nobr>
  176. <abbr
  177. class="nowrap"
  178. title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"
  179. ><svg class="icon icon-hammer2">
  180. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-hammer2"></use>
  181. </svg>
  182. Légal</abbr
  183. >
  184. </nobr>
  185. </p>
  186. <template id="theme-selector">
  187. <form>
  188. <fieldset>
  189. <legend><svg class="icon icon-brightness-contrast">
  190. <use xlink:href="/static/david/icons2/symbol-defs-2022-03.svg#icon-brightness-contrast"></use>
  191. </svg> Thème</legend>
  192. <label>
  193. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  194. </label>
  195. <label>
  196. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  197. </label>
  198. <label>
  199. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  200. </label>
  201. </fieldset>
  202. </form>
  203. </template>
  204. </footer>
  205. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  206. <script>
  207. function loadThemeForm(templateName) {
  208. const themeSelectorTemplate = document.querySelector(templateName)
  209. const form = themeSelectorTemplate.content.firstElementChild
  210. themeSelectorTemplate.replaceWith(form)
  211. form.addEventListener('change', (e) => {
  212. const chosenColorScheme = e.target.value
  213. localStorage.setItem('theme', chosenColorScheme)
  214. toggleTheme(chosenColorScheme)
  215. })
  216. const selectedTheme = localStorage.getItem('theme')
  217. if (selectedTheme && selectedTheme !== 'undefined') {
  218. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  219. }
  220. }
  221. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  222. window.addEventListener('load', () => {
  223. let hasDarkRules = false
  224. for (const styleSheet of Array.from(document.styleSheets)) {
  225. let mediaRules = []
  226. for (const cssRule of styleSheet.cssRules) {
  227. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  228. continue
  229. }
  230. // WARNING: Safari does not have/supports `conditionText`.
  231. if (cssRule.conditionText) {
  232. if (cssRule.conditionText !== prefersColorSchemeDark) {
  233. continue
  234. }
  235. } else {
  236. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  237. continue
  238. }
  239. }
  240. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  241. }
  242. // WARNING: do not try to insert a Rule to a styleSheet you are
  243. // currently iterating on, otherwise the browser will be stuck
  244. // in a infinite loop…
  245. for (const mediaRule of mediaRules) {
  246. styleSheet.insertRule(mediaRule.cssText)
  247. hasDarkRules = true
  248. }
  249. }
  250. if (hasDarkRules) {
  251. loadThemeForm('#theme-selector')
  252. }
  253. })
  254. </script>
  255. </body>
  256. </html>