A place to cache linked articles (think custom and personal wayback machine)
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

3 лет назад
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  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>reste des heures (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://www.la-grange.net/2021/02/23/heures">
  55. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>reste des heures</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://www.la-grange.net/2021/02/23/heures" title="Lien vers le contenu original">Source originale</a>
  66. </p>
  67. </nav>
  68. <hr>
  69. <figure>
  70. <img src="https://www.la-grange.net/2021/02/21/0323-arbre-ombre.jpg" alt="Ombre d'un arbre">
  71. <figcaption>Tsujido, Japon, 21 février 2021</figcaption>
  72. </figure>
  73. <blockquote>
  74. <p>Je pars et ne sais<br>
  75. où vont me porter mes pas<br>
  76. mon chemin errant<br>
  77. de la sorte dans le ciel<br>
  78. va s'en aller au hasard<br>
  79. — Le dit de Heichu - anonyme, urn:isbn:978-2-86432-738-7</p>
  80. </blockquote>
  81. <p>Sur le mur, l'ombre d'un arbre. Sur le chemin du retour, le reste des heures pour m'en souvenir.</p>
  82. <h2>sur le bord du chemin</h2>
  83. <ul>
  84. <li><p><a href="https://ricaud.me/blog/">Anthony</a> partage cette <a href="https://world.hey.com/jason/hey-world-b02a6f2e">solution de blog par email</a>. Cela existe déjà bien sûr sur d'<a href="https://wordpress.com/support/post-by-email/">autres plateformes</a>. Je suis un fan du « email to blog. » Mais surtout j'aimerais que mail.app soit mon client de blog posts. Commencer son <a href="https://github.com/ramcandrews/email.blog">mail en draft dans un dossier imap</a> afin de pouvoir le modifier à loisir afin de le publier plus tard selon un certain critère. Pourquoi pas un mot clé dans le titre.</p>
  85. </li>
  86. <li><p>pensée du matin - code review sur les projets personnels comme source de tutorat (mentor). Je pensais les bouts de code, de scripts que l'on fait pour soi, mais qui pourrait bénéficier d'une conversation autour d'un pull request. Anthony enrichit avec « ou d'un petit feu de bois. » Oh oui un petit feu de bois. David avait <a href="https://larlet.fr/david/blog/2016/code-reviews-croisees/">proposé cela dans le passé</a> mais cela n'avait pas pris. Je ne code pas souvent sur mes projets persos en ce moment, mais quand cela viendra en python, je penserai à mettre David pour une review. Peut-être une bourse à review serait nécessaire. Dans une communauté donnée, avoir une page Web qui accumule les PR et le langage de programmation. "PR open for reviews". et les reviewers décident. David <a href="https://github.com/search?q=PROpenForReview&amp;type=issues">propose</a> « mais décentralisé. »</p>
  87. </li>
  88. <li><p><a href="https://taoofmac.com/space/blog/2008/03/03/2211">Patching .emlx files</a>. Cela ne doit plus être vraiment possible probablement avec le nouveau format de Apple pour conserver les mails. À vérifier.</p>
  89. </li>
  90. <li><p><a href="https://larlet.fr/david/2021/02/15/">comptabilité</a>. Je ne sais pas si David parle de la journalisation</p>
  91. <blockquote>
  92. <p>Je me rends compte que j’ai de plus en plus envie/besoin de compter ce que coûtent certaines choses.</p>
  93. </blockquote>
  94. <p>ou de la représentation</p>
  95. <blockquote>
  96. <p>Je suis confronté à des soucis techniques avec ces représentations. Je pourrais mettre ça dans une feuille de calcul mais ça serait me trahir un peu. Les tableaux en HTML c’est quand même pas terrible en terme d’édition/visualisation et en markdown ça demande d’avoir recours à des outils externes également pour que ça reste lisible.</p>
  97. </blockquote>
  98. <p>Peut-être regarder du côté de <a href="https://plaintextaccounting.org/">Plain Text Accounting</a></p>
  99. </li>
  100. <li><p><a href="https://www.youtube.com/watch?v=DuDX6wNfjqc">Daft / Punk</a>. 1993-2021</p>
  101. </li>
  102. </ul>
  103. </article>
  104. <hr>
  105. <footer>
  106. <p>
  107. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  108. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  109. </svg> Accueil</a> •
  110. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  111. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  112. </svg> RSS</a> •
  113. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  114. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  115. </svg> Pro</a> •
  116. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  117. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  118. </svg> Email</a> •
  119. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  120. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  121. </svg> Légal</abbr>
  122. </p>
  123. <template id="theme-selector">
  124. <form>
  125. <fieldset>
  126. <legend><svg class="icon icon-brightness-contrast">
  127. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  128. </svg> Thème</legend>
  129. <label>
  130. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  131. </label>
  132. <label>
  133. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  134. </label>
  135. <label>
  136. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  137. </label>
  138. </fieldset>
  139. </form>
  140. </template>
  141. </footer>
  142. <script>
  143. function loadThemeForm(templateName) {
  144. const themeSelectorTemplate = document.querySelector(templateName)
  145. const form = themeSelectorTemplate.content.firstElementChild
  146. themeSelectorTemplate.replaceWith(form)
  147. form.addEventListener('change', (e) => {
  148. const chosenColorScheme = e.target.value
  149. localStorage.setItem('theme', chosenColorScheme)
  150. toggleTheme(chosenColorScheme)
  151. })
  152. const selectedTheme = localStorage.getItem('theme')
  153. if (selectedTheme && selectedTheme !== 'undefined') {
  154. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  155. }
  156. }
  157. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  158. window.addEventListener('load', () => {
  159. let hasDarkRules = false
  160. for (const styleSheet of Array.from(document.styleSheets)) {
  161. let mediaRules = []
  162. for (const cssRule of styleSheet.cssRules) {
  163. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  164. continue
  165. }
  166. // WARNING: Safari does not have/supports `conditionText`.
  167. if (cssRule.conditionText) {
  168. if (cssRule.conditionText !== prefersColorSchemeDark) {
  169. continue
  170. }
  171. } else {
  172. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  173. continue
  174. }
  175. }
  176. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  177. }
  178. // WARNING: do not try to insert a Rule to a styleSheet you are
  179. // currently iterating on, otherwise the browser will be stuck
  180. // in a infinite loop…
  181. for (const mediaRule of mediaRules) {
  182. styleSheet.insertRule(mediaRule.cssText)
  183. hasDarkRules = true
  184. }
  185. }
  186. if (hasDarkRules) {
  187. loadThemeForm('#theme-selector')
  188. }
  189. })
  190. </script>
  191. </body>
  192. </html>