Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  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>Biologeek — David Larlet</title>
  13. <meta name="description" content="I’ve never come across a subject so fractal in its complexity. It reminds me of computing that way. A day of programming might involve constructing an elaborate regular expression, investigating a file descriptor leak, debugging a race condition in the application you just wrote, and thinking through the interface of a module. Everywhere you look—the compiler, the shell, the CPU, the DOM—is an abstraction hiding lifetimes of work. Biology is like this, just much, much worse, because living systems aren’t intentionally designed. It’s all a big slop of global mutable state. Control is achieved by upregulating this thing while turning down the promoter of that thing’s repressor. You think you know how something works—like when I thought I had a handle on the neutrophil, an important front-line player in the innate immune system—only to learn that it comes in several flavors, and more are still being discovered, and some of them seem to do the opposite of the ones you thought you knew. Everything in biology is like this. It’s all exceptions to the rule.">
  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>Biologeek</h1>
  56. </header>
  57. <nav>
  58. <p class="center">
  59. <a rel="prev" href="/david/2021/01/09/" title="Publication précédente : Science-F(r)iction">← Précédent</a> •
  60. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  61. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  62. </svg> Accueil</a>
  63. • <a rel="next" href="/david/2021/01/11/" title="Publication suivante : Marche ou trêve">Suivant →</a>
  64. </p>
  65. </nav>
  66. <hr>
  67. <blockquote>
  68. <p>I’ve never come across a subject so fractal in its complexity. It reminds me of computing that way. A day of programming might involve constructing an elaborate regular expression, investigating a file descriptor leak, debugging a race condition in the application you just wrote, and thinking through the interface of a module. Everywhere you look—the compiler, the shell, the CPU, the DOM—is an abstraction hiding lifetimes of work. <mark>Biology is like this, just much, much worse, because living systems aren’t intentionally designed.</mark> It’s all a big slop of global mutable state. Control is achieved by upregulating this thing while turning down the promoter of that thing’s repressor. You think you know how something works—like when I thought I had a handle on the neutrophil, an important front-line player in the innate immune system—only to learn that it comes in several flavors, and more are still being discovered, and some of them seem to do the opposite of the ones you thought you knew. Everything in biology is like this. It’s all exceptions to the rule.</p>
  69. <p><cite><em><a href="https://jsomers.net/i-should-have-loved-biology/">I should have loved biology</a></em> (<a href="/david/cache/2021/9c9968045ffe697a08dc13df854247f1/">cache</a>)</cite></p>
  70. </blockquote>
  71. <p>Il y a un engouement certain pour la biologie en ce moment et ça me fait plaisir de retomber dans ce domaine en mettant à jour de vieilles connaissances. <strong>Constater les avancées scientifiques en fonction de ses anciennes croyances.</strong> Se dire que tout cela est encore bien vivant… et inconnu&#8239;!</p>
  72. <p>Quelques articles particulièrement didactiques&nbsp;:</p>
  73. <ul>
  74. <li><a href="https://berthub.eu/articles/posts/amazing-dna/">comprendre l’ADN</a> (<a href="/david/cache/2021/1cb1c46e0a1adcd0917179a214a16e0a/">cache</a>) lorsqu’on est un·e développeu·r·se&#8239;;</li>
  75. <li>les <a href="https://www.nature.com/articles/d41586-020-01221-y">différentes méthodes employées pour créer à un vaccin</a> (<a href="/david/cache/2021/fe75ef80663602733dbe24cc717f257b/">cache</a>) avec de jolies illustrations&#8239;;</li>
  76. <li>où j’ai appris que <a href="https://nymag.com/intelligencer/2020/12/moderna-covid-19-vaccine-design.html">le vaccin Moderna a été créé le 13&nbsp;janvier… 2020 (!)</a> (<a href="/david/cache/2021/30069f97e4aa989a1d89fe8d88538da8/">cache</a>) et depuis on teste son usage et ses effets secondaires&#8239;;</li>
  77. <li>une <a href="https://www.nytimes.com/interactive/2020/04/03/science/coronavirus-genome-bad-news-wrapped-in-protein.html">analyse du génome du coronavirus</a> (<a href="/david/cache/2021/cfcd10768187ce1c3e598136cd8838b2/">cache</a>) séquencée et imagée qui permet de visualiser la forme — et donc la fonction — des protéines&#8239;;</li>
  78. <li>les <a href="https://graphics.reuters.com/HEALTH-CORONAVIRUS/EVOLUTION/yxmpjqkdzvr/index.html">différentes mutations du virus</a> (<a href="/david/cache/2021/3d3e8962a6319ee4d41a75b1cd5abd38/">cache</a>) au cours du temps et de l’espace&#8239;;</li>
  79. <li>pourquoi <a href="https://www.deplatformdisease.com/blog/no-really-mrna-vaccines-are-not-going-to-affect-your-dna">le virus à ARN ne va pas modifier votre ADN</a> (<a href="/david/cache/2021/388cf40eae756175ee87c9bf7a1548c4/">cache</a>) en l’état actuel des connaissances en biologie&#8239;;</li>
  80. <li>un <a href="https://edinburgh-genome-foundry.github.io/DnaChisel/">outil d’optimisation de séquences</a> (<a href="/david/cache/2021/e8ebcfcc0dbd4336a82f618a1bd1a818/">cache</a>) en Python ce qui permet par exemple <a href="https://berthub.eu/articles/posts/part-2-reverse-engineering-source-code-of-the-biontech-pfizer-vaccine/">d’optimiser un vaccin</a> (<a href="/david/cache/2021/5f1c22e9a41d209ff84218b3d6faf676/">cache</a>)&#8239;;</li>
  81. <li>quelqu’un qui analyse sa <a href="https://karpathy.github.io/2020/06/11/biohacking-lite/">perte de poids sous l’angle de la biologie</a> (<a href="/david/cache/2021/1039b631578007d23759a99c2238cda9/">cache</a>)&#8239;;</li>
  82. <li>on s’éloigne un peu de la biologie mais cette façon de <a href="http://interconnected.org/home/2020/09/01/microcovids">calculer son exposition en microCOVIDs</a> (<a href="/david/cache/2021/dcba97f9e4bd70b1a152b9498dc5711c/">cache</a>) est fascinante.</li>
  83. </ul>
  84. <p>Bonnes lectures&#8239;!</p>
  85. <blockquote>
  86. <p>Avant tout chose, le mentat doit être un généraliste, et non un spécialiste. Il est sage que, dans les moments importants, les décisions soient supervisées par des généralistes. Les experts et les spécialistes vous conduisent rapidement au chaos. Chasseurs de poux vétilleux, ils sont une source intarissable de chicaneries inutiles. Le mentat-généraliste, d’un autre côté, doit apporter un solide bon sens à ses décisions. Il ne doit pas se couper du courant principal des évènements de l’univers. Il doit être capable de déclarer&nbsp;: «&nbsp;Pour le moment, il n’y a pas de vrai mystère. Ceci est ce que nous voulons maintenant. <mark>Cela peut paraitre faux plus tard, mais nous ferons les corrections nécessaires quand le moment sera venu.</mark>&nbsp;»</p>
  87. <p>Le mentat-généraliste doit comprendre que tout ce que nous pouvons identifier comme étant notre univers fait simplement partie de phénomènes plus vastes. L’expert, au contraire, regarde en arrière, dans les catégories étroites de sa propre spécialité. Le généraliste, lui, regarde au loin&#8239;; <mark>il cherche des principes vivants</mark>, sachant pertinemment que de tels principes changent, qu’ils se développent.</p>
  88. <p>Le mentat-généraliste regarde les caractéristiques du changement lui-même. Il ne peut exister de catalogue permanent pour de tels changements, aucun traité ou manuel. C’est sans préconception qu’il faut les regarder, tout en se demandant&nbsp;: «&nbsp;Que fait cette chose&#8239;?&nbsp;»</p>
  89. <p><cite><em>Le Guide du Mentat</em>, <a href="/david/2020/12/21/#dune">Dune</a> III. Les enfants de Dune</cite></p>
  90. </blockquote>
  91. <nav>
  92. <p>
  93. <a href="/david/2021/pandemie/"
  94. title="Liste de tous les articles associés à cette étiquette"
  95. >#pandémie</a>
  96. <a href="/david/2021/recherche/"
  97. title="Liste de tous les articles associés à cette étiquette"
  98. >#recherche</a>
  99. <a href="/david/#tags"
  100. title="Liste de toutes les étiquettes existantes"
  101. ><svg class="icon icon-tags">
  102. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-tags"></use>
  103. </svg> tous ?</a>
  104. </p>
  105. </nav>
  106. <nav>
  107. <p class="center">
  108. <a rel="prev" href="/david/2021/01/09/" title="Publication précédente : Science-F(r)iction">← Précédent</a> •
  109. <a href="/david/2021/" title="Liste des publications récentes">↑ En 2021</a>
  110. • <a rel="next" href="/david/2021/01/11/" title="Publication suivante : Marche ou trêve">Suivant →</a>
  111. </p>
  112. </nav>
  113. </article>
  114. <hr>
  115. <footer>
  116. <p>
  117. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  118. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  119. </svg> Accueil</a> •
  120. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  121. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  122. </svg> Suivre</a> •
  123. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  124. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  125. </svg> Pro</a> •
  126. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  127. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  128. </svg> Email</a> •
  129. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  130. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  131. </svg> Légal</abbr>
  132. </p>
  133. <template id="theme-selector">
  134. <form>
  135. <fieldset>
  136. <legend><svg class="icon icon-brightness-contrast">
  137. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  138. </svg> Thème</legend>
  139. <label>
  140. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  141. </label>
  142. <label>
  143. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  144. </label>
  145. <label>
  146. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  147. </label>
  148. </fieldset>
  149. </form>
  150. </template>
  151. </footer>
  152. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  153. <script>
  154. function loadThemeForm(templateName) {
  155. const themeSelectorTemplate = document.querySelector(templateName)
  156. const form = themeSelectorTemplate.content.firstElementChild
  157. themeSelectorTemplate.replaceWith(form)
  158. form.addEventListener('change', (e) => {
  159. const chosenColorScheme = e.target.value
  160. localStorage.setItem('theme', chosenColorScheme)
  161. toggleTheme(chosenColorScheme)
  162. })
  163. const selectedTheme = localStorage.getItem('theme')
  164. if (selectedTheme && selectedTheme !== 'undefined') {
  165. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  166. }
  167. }
  168. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  169. window.addEventListener('load', () => {
  170. let hasDarkRules = false
  171. for (const styleSheet of Array.from(document.styleSheets)) {
  172. let mediaRules = []
  173. for (const cssRule of styleSheet.cssRules) {
  174. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  175. continue
  176. }
  177. // WARNING: Safari does not have/supports `conditionText`.
  178. if (cssRule.conditionText) {
  179. if (cssRule.conditionText !== prefersColorSchemeDark) {
  180. continue
  181. }
  182. } else {
  183. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  184. continue
  185. }
  186. }
  187. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  188. }
  189. // WARNING: do not try to insert a Rule to a styleSheet you are
  190. // currently iterating on, otherwise the browser will be stuck
  191. // in a infinite loop…
  192. for (const mediaRule of mediaRules) {
  193. styleSheet.insertRule(mediaRule.cssText)
  194. hasDarkRules = true
  195. }
  196. }
  197. if (hasDarkRules) {
  198. loadThemeForm('#theme-selector')
  199. }
  200. })
  201. </script>
  202. </body>
  203. </html>