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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  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>this website as a learning and reflection tool (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="#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. <meta name="robots" content="noindex, nofollow">
  53. <meta content="origin-when-cross-origin" name="referrer">
  54. <!-- Canonical URL for SEO purposes -->
  55. <link rel="canonical" href="https://winnielim.org/experiments/website/this-website-as-a-learning-and-reflection-tool/">
  56. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  57. <article>
  58. <header>
  59. <h1>this website as a learning and reflection tool</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.svg#icon-home"></use>
  65. </svg> Accueil</a> •
  66. <a href="https://winnielim.org/experiments/website/this-website-as-a-learning-and-reflection-tool/" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <h2><span class="ez-toc-section" id="What_led_to_this"></span>What led to this<span class="ez-toc-section-end"></span></h2>
  71. <p>Once in a while I’ll stumble upon <a href="https://medium.com/the-experimental-year/the-year-i-broke-up-with-myself-a-review-of-2015-with-year-long-data-cf284e22f1f9">my 20,000+ word</a> review of 2015 and I would learn different lessons from it each time. 2015 is probably the most transformational year I’ve had so far in my life, and even 6 years later it was intriguing to see how it all happened, how it was all happening before I knew what was happening, and how I wrote my meta-thoughts on those events after the year was over. </p>
  72. <p>I spent a really long time assembling that document manually, and I never found the will or the energy to do it again. But in recent times I’ve been having a lot of insights simply by reviewing the “on this day” function on <a href="https://dayoneapp.com/">dayone</a>. That only covers my private journal entries, and I want to go beyond surfacing entries “on this day”, so I started thinking how I want to build the functionality to somewhat automate this on this website.</p>
  73. <p>Basically, I want to programatically surface different views of my data and writing on top of the standard reverse-chronological. I am starting by sorting them annually first, but I could also surface views by tags, related content, location, etc. </p>
  74. <p>In parallel, I also wanted a space where I can <a href="https://winnielim.org/notes/first-note/" data-type="note" data-id="3888">write short-form thoughts</a> and store meaningful social media data like <a href="https://winnielim.org/notes/54-months/" data-type="note" data-id="3896">important instagram posts</a>. </p>
  75. <p>(Feel free to skip the next section if you want to know more details about the why instead </p>
  76. <h2><span class="ez-toc-section" id="Deciding_on_the_structure"></span>Deciding on the structure<span class="ez-toc-section-end"></span></h2>
  77. <p>I thought they could all exist as the same thing, so at first I started building <a href="https://winnielim.org/archive/log/?y=2015">a page</a> where I could view everything I have done on this website – the default archive view surfaces my writing only, whereas I post other stuff like <a href="/library/collections">collections</a>, <a href="/library/resources">resources</a>, <a href="/notebooks">notebooks</a>, etc. </p>
  78. <p>But I quickly realised I wanted a section purely reserved for short-form content. Along the way I was also wondering if I was over-complicating everything – perhaps I should just post short-form content under a different category under /journal. But the additional custom fields I wanted for short-form content would add unnecessary clutter to the default journal entry form, and if one day I decide to kill the new section I could do so cleanly if it was simply another post type in wordpress.</p>
  79. <p>So now I have two new sections: <a href="/notes">/notes</a> for short-form content and <a href="/archive/log">/archive/log</a> for logging everything. At first I wasn’t sure about /notes because I already have <a href="/notebooks">/notebooks</a>, and a more technically correct term would be /microblog, but no one outside of tech knows what is a /microblog and to me /notebooks are the structured containers to all my content. I considered “meta” for a while, that was before the whole facebook debacle, but I guess “meta” is also not a very relatable word in the mainstream consciousness. My twitter friend also helped!</p>
  80. <p>To be honest, at the end I don’t think anyone really cares but myself. In general from analysing my stats most people only either view the homepage if they happen to stumble upon my site from elsewhere, or the single journal entries when I publish them on social media. Only a small percentage of people explore the other sections. It is this small percentage of people who visit tens or hundreds of my pages in one visit (whoever you are, thank you for making me feel less alone in this world). I am mostly building this site for myself, but also this very small group of people.</p>
  81. <h2><span class="ez-toc-section" id="A_tool_for_self-reflection"></span>A tool for self-reflection<span class="ez-toc-section-end"></span></h2>
  82. <p>Our brains are limited in the way we can recall information. No one remembers what happened last week, much less specifically on a day three years ago. Our psyches also actively edit the past. Sometimes they may get romanticised, sometimes they get exaggerated. My memories of something actively influences how I interact in the present. </p>
  83. <p>For example, when I decided to quit a job I thought I had loved I wrote down all the reasons why I had quit, precisely knowing that my future self would forget and romanticise the job. It turned out I was right, every now and then periodically I would be overcome by nostalgia which in turn invited regret. That particular journal entry was very helpful in nudging me back into reality and dispersing the romanticised regret.</p>
  84. <p>Sometimes I feel lost and I start wondering why I am where I am. My old entries serve as a powerful reminder of why I chose to do things a certain way. It is not easy to walk on an uncommon path. There are no signposts along the way, I have to leave breadcrumbs for myself. You would think we would remember everything about our selves, but I often forget who I am and who I want to be. Societal conditioning is immense.</p>
  85. <p>This website is essentially a repository of my memories, lessons I’ve learnt, insights I’ve discovered, a changelog of my previous selves. Most people build a map of things they have learnt, I am building a map of how I have come to be, in case I may get lost again. Maybe someone else interested in a similar lonely path will feel less alone with my documented footprints. Maybe that someone else would be me in the future. Maybe all of this would be interesting when I am dead, <a href="https://winnielim.org/journal/on-writing-to-exist-and-website-graveyards/" data-type="post" data-id="3347">assuming I find a way</a> to keep this site alive. </p>
  86. <p>Reading my past entries also allow me to understand the distance I’ve travelled between my past selves and my current self. Sometimes it feels like I’m still stuck in my old unhealthy patterns and reading my past entries enable me to see otherwise. Some things used to haunt me greatly and I feel ambivalent or amused about them now. I like that I can relive certain experiences because I took the effort to write them down, and understand how I relate to them now.</p>
  87. <p>Some of my best writing (to me) appears unintentionally <a href="https://www.instagram.com/p/BoYVRTanQDP/?utm_medium=copy_link">on a spontaneous photo</a> on instagram, and I want them to exist outside of a reverse chronological timeline that no one ever revisits again. I would not be re-reading these posts if not for dayone or timehop, and re-reading them lights up something in me, especially if I am in a period of existential slump, which occurs more often than I would like. Sometimes I forget I can be capable of writing in more dimensions than my usual stream of consciousness. I could reduce the time I spend in existential slumps if I could access these little sparks of my old selves in a more timely and accessible manner.</p>
  88. <p>I store links, books and highlights on this site, so I can see how they all come together with my writing and how they influence my selves. Some books are worth revisiting over and over again, and I would like to store key highlights from all my life-changing books in one place.</p>
  89. <p>I find repetition extremely useful when it comes to wanting to reinforce new patterns or behaviours, so this website serves as my repetition tool. </p>
  90. <h2><span class="ez-toc-section" id="An_interactive_interface_for_programmatically_querying_my_selves"></span>An interactive interface for programmatically querying my selves<span class="ez-toc-section-end"></span></h2>
  91. <p>It is also useful for me to have an interactive interface of everything I have learnt and written about. The queries available now are rudimentary but still more useful than purely chronological. I can see everything tagged with “<a href="https://winnielim.org/tag/zen/">zen</a>“, or search everything that mentioned the word “<a href="https://winnielim.org/?s=meditation">meditation</a>“. I built an “<a href="https://winnielim.org/archive/on-this-day/">on this day</a>” function for everything published on this website. I try to link posts up if they are related to a chain of thoughts, so if I happen to read one I’ll see the others. As long as it is queryable though SQL, I can build an interface for it (this is why I am using wordpress instead of static-site generators). Maybe one day I can build a dashboard or visualisation of my entries. I guess it is like externalising my mind on a website. </p>
  92. <figure class="wp-block-image size-medium"><img loading="lazy" src="https://winnielim.org/wp-content/uploads/2021/11/winnielim-query-my-selves-700x350.png" alt="illustration: a search box querying my selves" class="wp-image-3922" srcset="https://winnielim.org/wp-content/uploads/2021/11/winnielim-query-my-selves-700x350.png 700w, https://winnielim.org/wp-content/uploads/2021/11/winnielim-query-my-selves-1600x800.png 1600w, https://winnielim.org/wp-content/uploads/2021/11/winnielim-query-my-selves-300x150.png 300w, https://winnielim.org/wp-content/uploads/2021/11/winnielim-query-my-selves-768x384.png 768w, https://winnielim.org/wp-content/uploads/2021/11/winnielim-query-my-selves-1536x768.png 1536w, https://winnielim.org/wp-content/uploads/2021/11/winnielim-query-my-selves-2048x1024.png 2048w" sizes="(max-width: 700px) 100vw, 700px"></figure>
  93. <h2><span class="ez-toc-section" id="Increasing_opportunities_for_relearning"></span>Increasing opportunities for relearning<span class="ez-toc-section-end"></span></h2>
  94. <p>Something like “on this day” or <a href="https://readwise.io/">Readwise</a>‘s emails of random highlights from our kindle library are just opportunities to re-expose ourselves to information we have stored. The question is how do I increase these opportunities beyond the context of time or randomness? I think it would have to involve some manual curation and also tools like taxonomies. I will probably discover more meaningful queries I can use regularly as I go along.</p>
  95. <p>Many people treat their journals as something they write and they may never read them again. Same with books. We keep reading, we have all these insights from reading, then over time we forget about them. My 2015 review contained many insights and lessons that are still very relevant to me today, but I have forgotten most of them. Each time I read it I’m like <em>wow this makes so much sense</em>, then I forget, then I read it again – <a href="https://winnielim.org/journal/remembering-forgotten-lessons-and-selves/" data-type="post" data-id="2463">this loop has happened multiple times</a>. How do I store these insights in a meaningful, accessible manner that doesn’t rely on a random impulse to access it? I could set a calendar reminder, or is it possible to preempt the possible scenarios when I would need the relevant insights the most? </p>
  96. <h2><span class="ez-toc-section" id="This_website_is_my_living_book"></span>This website is my living book<span class="ez-toc-section-end"></span></h2>
  97. <p>Some people have asked me whether I’m ever going to write a book, since I’ve written so much and they have found some of my writing meaningful to them. This website is the book. I don’t particularly believe in books actually (I know the irony, considering the amount of books I read), especially for learning. They are linear and it is difficult to sift out the meaningful bits among the huge chunks of content. </p>
  98. <p>But a website is interactive. Perhaps it is still chaotic now, but hopefully one day in the future people can jump directly into the parts meaningful to them and go on their own navigation path supported by relevance instead of chronology or a pre-determined linear scaffolding. They can perhaps perform their own interactive queries. You can’t do that with a book. The information in a book is also pretty much dead, whereas a website can be continually updated.</p>
  99. <p>The thing about a website is that it is not as portable as a book in terms of the reading experience. You still have to do the work to navigate or search for what you want, whereas a book is just a page after page reading experience. I hope I can circumvent some of that with my notebooks, where I am planning to offer a more structured thematic reading experience.</p>
  100. <h2><span class="ez-toc-section" id="Catering_to_an_audience_versus_myself"></span>Catering to an audience versus myself<span class="ez-toc-section-end"></span></h2>
  101. <p>I do feel self-conscious in general whenever I write or make something. I think this self-consciousness is holding me back. Writing a post like this, I can’t help but wonder if people are going to think I’m super weird for putting so much effort into a personal website (well the other day I found a <a href="https://www.fieggen.com/shoelace/">site on shoelaces</a> so maybe I am not that weird after all). </p>
  102. <p>But I realised I have to put aside this self-consciousness and work on this website as though I am only catering to myself if I want to create something that is really a true representation of how I think and create versus a false image. This website may be chaotic in its current form but it is how I work in progress. </p>
  103. <p>I think it is a meaningful thing, to be able to put something true out there, something that people and myself can interact with, in a world where we’re actively encouraged not to be our selves.</p>
  104. <p>This website, is my rebellion against that.</p>
  105. <hr class="wp-block-separator">
  106. <p><em>Note: it turns out I’ve already written <a href="https://winnielim.org/journal/remembering-forgotten-lessons-and-selves/">something similar but different</a> 2 years ago, which reinforces my point I guess: which is that I don’t remember what I’ve written, how do I make remembering easier, and it was also very interesting to see the differences in tone between that piece and this.</em></p>
  107. </article>
  108. <hr>
  109. <footer>
  110. <p>
  111. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  112. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  113. </svg> Accueil</a> •
  114. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  115. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  116. </svg> Suivre</a> •
  117. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  118. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  119. </svg> Pro</a> •
  120. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  121. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  122. </svg> Email</a> •
  123. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  124. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  125. </svg> Légal</abbr>
  126. </p>
  127. <template id="theme-selector">
  128. <form>
  129. <fieldset>
  130. <legend><svg class="icon icon-brightness-contrast">
  131. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  132. </svg> Thème</legend>
  133. <label>
  134. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  135. </label>
  136. <label>
  137. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  138. </label>
  139. <label>
  140. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  141. </label>
  142. </fieldset>
  143. </form>
  144. </template>
  145. </footer>
  146. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  147. <script>
  148. function loadThemeForm(templateName) {
  149. const themeSelectorTemplate = document.querySelector(templateName)
  150. const form = themeSelectorTemplate.content.firstElementChild
  151. themeSelectorTemplate.replaceWith(form)
  152. form.addEventListener('change', (e) => {
  153. const chosenColorScheme = e.target.value
  154. localStorage.setItem('theme', chosenColorScheme)
  155. toggleTheme(chosenColorScheme)
  156. })
  157. const selectedTheme = localStorage.getItem('theme')
  158. if (selectedTheme && selectedTheme !== 'undefined') {
  159. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  160. }
  161. }
  162. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  163. window.addEventListener('load', () => {
  164. let hasDarkRules = false
  165. for (const styleSheet of Array.from(document.styleSheets)) {
  166. let mediaRules = []
  167. for (const cssRule of styleSheet.cssRules) {
  168. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  169. continue
  170. }
  171. // WARNING: Safari does not have/supports `conditionText`.
  172. if (cssRule.conditionText) {
  173. if (cssRule.conditionText !== prefersColorSchemeDark) {
  174. continue
  175. }
  176. } else {
  177. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  178. continue
  179. }
  180. }
  181. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  182. }
  183. // WARNING: do not try to insert a Rule to a styleSheet you are
  184. // currently iterating on, otherwise the browser will be stuck
  185. // in a infinite loop…
  186. for (const mediaRule of mediaRules) {
  187. styleSheet.insertRule(mediaRule.cssText)
  188. hasDarkRules = true
  189. }
  190. }
  191. if (hasDarkRules) {
  192. loadThemeForm('#theme-selector')
  193. }
  194. })
  195. </script>
  196. </body>
  197. </html>