@@ -0,0 +1,250 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>walking longer distance: scenes & snippets (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<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> | |||
<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> | |||
<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> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://winnielim.org/journal/walking-longer-distance-scenes-snippets/"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>walking longer distance: scenes & snippets</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://winnielim.org/journal/walking-longer-distance-scenes-snippets/" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>Last week I decided to try walking longer distances because I was unable to run due to the government advisory that we should not exercise post-vaccination for 2 weeks. For one of my first attempts I tried walking this loop I’ve always been curious about the actual distance it would take to complete it. I now know it takes 9km and roughly 2 hours at moderate walking pace:</p> | |||
<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop.jpg" alt="image of strava showing the map of the 9km loop I walked" class="wp-image-4913" srcset="https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop.jpg 1002w, https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop-700x700.jpg 700w, https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop-300x300.jpg 300w, https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop-768x768.jpg 768w" sizes="(max-width: 501px) 100vw, 501px"></figure> | |||
<p>I was really tired by the time I hit roughly the 7km mark, but there was this gladness I have finally completed it at least once. I used to walk more than 20km before for <a href="https://winnielim.org/journal/first-impressions-of-being-a-food-delivery-person/" data-type="post" data-id="2031">food delivery</a>, and would regularly hit an average of 15km per shift, but I have lost that walking fitness since. There is also a difference walking this distance at one go versus the constant breaks I would get while delivering food because of all the waiting involved.</p> | |||
<p>I have learnt that my ideal distance for now is somewhere between 5 to 7km. I would like to be able to walk for longer distances without feeling this deep ache in my hips. Somehow my bones ache more than I was running?</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>Along the way I would frequently take photos of moments that would stop me in my tracks. There is beauty in noticing that the same scenes can look completely different even if I walk the same route everyday. Here are some scenes I took using my iphone without any processing done:</p> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0224.jpeg" alt="a very yellow moon during my walk" class="wp-image-4917" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0224.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<p>Same spot, different day:</p> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0255.jpeg" alt="same spot, different day – image of the moon" class="wp-image-4919" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0255.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<p>One of the reasons why I love walking so early in the morning is that I get to see some magnificent sunrises:</p> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0229.jpeg" alt="sunrise during my walk | |||
" class="wp-image-4922" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0229.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0404.jpeg" alt="" class="wp-image-4923" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0404.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<p>They last only for a few seconds, inspiring me to write this haiku:</p> | |||
<div class="is-layout-flex wp-container-3 wp-block-columns"> | |||
<p class="is-layout-flow wp-block-column"></p> | |||
<div class="is-layout-flow wp-block-column"> | |||
<p><em>sometimes i chase a sunrise<br>in moments it’s gone<br>like an invalid imprint</em></p> | |||
</div> | |||
</div> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I also enjoy watching people exercise for some reason:</p> | |||
<figure class="wp-block-image size-full is-resized"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0410.jpeg" alt="people exercising | |||
" class="wp-image-4925" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0410.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-2048x1536.jpeg 2048w" sizes="(max-width: 800px) 100vw, 800px"></figure> | |||
<p>There are always thoughts running through my head: <em>who are they? why do they wake up so early to exercise? why do they care about exercising? why do they choose to exercise in a group?</em> Sometimes I start my walk/run at 5.30am in the morning expecting to see no one at the park, but there are already people walking home <em>post</em> exercise.</p> | |||
<p>It makes me glad to see people with their pets too – mostly dogs of course because cats will not walk with you lol. Once in a while someone cycles with a parrot perched on their bike.</p> | |||
<figure class="wp-block-image size-large is-resized"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-1600x1200.jpeg" alt="" class="wp-image-4928" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-2048x1536.jpeg 2048w" sizes="(max-width: 800px) 100vw, 800px"></figure> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I usually walk with emo music plugged in. For a while I was very purist about having no music, but I came to realise that music helps to put my brain in some form of harmony. Listening to songs I love, used to love, or songs that were so much part of my journeys in my younger days – can be a very bodily experience. My morning exercise is also probably the only part of the day that is screenless.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>After wearing different types of footwear my current favourite is a pair of Teva sandals. They let me focus on walking the most without drawing attention to the sensations in my feet. I would love to try a true zero-drop pair of footwear some day. </p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>This morning I walked past a particular bridge, and I thought how even <em>cycling</em> to this part of the park felt like this <em>huge</em> distance before. And now it is just simply part of my daily walking routine. </p> | |||
<p>There is this parallel between my exercise journey and how far I’ve come as a person. Walking used to be such a chore: I was the person who would always choose the escalator over the stairs, and any walk longer than 5 minutes felt too far. Now I’m plotting further and further distances away.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I was inspired by <a href="https://craigmod.com/ridgeline/146/">Craig Mod’s 15-20km photo walk</a> each day, and these days I have started to wonder how feasible would it be if I were to do something similar in Singapore. There are too many traffic junctions here beyond the parks, and the weather usually is not very friendly. I could start out small though, like 5km in the CBD area early morning so I can avoid the heat and humidity.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>Initially I thought I’ll only be walking because I cannot run, but since starting these long morning walks I realised this is something that I want to do continuously in my life. Walking is just so simple, so <em>anywhere</em>. I don’t have to be in special clothing or footwear. The slowness of it makes me notice my environment more, and I am more in tune and connected with the universe, whereas cycling and running envelopes me in my own world. It feels like a superpower to be able to walk non-stop, to be unafraid of what’s ahead and how much is left. It builds a different kind of endurance from running: it is less of a physical or aerobic endurance, more of one that builds a relationship with slowness, time and patience. </p> | |||
<p>There was a<em> magical threshold</em> where I stopped incessantly wondering how much distance is left and started thinking: I could go on for much longer than I expected.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I started <a href="https://winnielim.org/essays/pushing-the-limits-of-my-body-again-with-zone-2/">running again for my metabolic health</a> which is closely tied to my chronic migraines. So far walking seems like a decent substitute when it comes to blood glucose management and stability. Running depletes more glucose and its effect lasts longer – as I see from my post-meal glucose numbers from breakfast and dinner, whereas my morning walks tend to impact my breakfast only just based on absolute numbers alone. But running is still stressful for my body and I always have to be worried about triggering a migraine. I could bring out my actual camera for a walk, or walk to discover new eating experiences.</p> | |||
<p>I wonder how I’ll mix them all up when I am able to start doing intense exercise again? It has been a treat (yes this is my idea of a treat) seeing my metabolic health improve quite dramatically over the past few months and the gradual lessening of severity for my migraines, with the help of tcm of course. Will I be able to lead a migraine-free life one day? I dare not hope. But I’ll continue to work towards it, as though it can be a possibility. </p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> Clair | |||
</label> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(form) | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,151 @@ | |||
title: walking longer distance: scenes & snippets | |||
url: https://winnielim.org/journal/walking-longer-distance-scenes-snippets/ | |||
hash_url: 0a4a9498ff6edf9552ec59a4511124dc | |||
<p>Last week I decided to try walking longer distances because I was unable to run due to the government advisory that we should not exercise post-vaccination for 2 weeks. For one of my first attempts I tried walking this loop I’ve always been curious about the actual distance it would take to complete it. I now know it takes 9km and roughly 2 hours at moderate walking pace:</p> | |||
<figure class="wp-block-image size-full is-resized"><img decoding="async" src="https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop.jpg" alt="image of strava showing the map of the 9km loop I walked" class="wp-image-4913" srcset="https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop.jpg 1002w, https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop-700x700.jpg 700w, https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop-300x300.jpg 300w, https://winnielim.org/wp-content/uploads/2022/11/strava-9km-loop-768x768.jpg 768w" sizes="(max-width: 501px) 100vw, 501px"></figure> | |||
<p>I was really tired by the time I hit roughly the 7km mark, but there was this gladness I have finally completed it at least once. I used to walk more than 20km before for <a href="https://winnielim.org/journal/first-impressions-of-being-a-food-delivery-person/" data-type="post" data-id="2031">food delivery</a>, and would regularly hit an average of 15km per shift, but I have lost that walking fitness since. There is also a difference walking this distance at one go versus the constant breaks I would get while delivering food because of all the waiting involved.</p> | |||
<p>I have learnt that my ideal distance for now is somewhere between 5 to 7km. I would like to be able to walk for longer distances without feeling this deep ache in my hips. Somehow my bones ache more than I was running?</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>Along the way I would frequently take photos of moments that would stop me in my tracks. There is beauty in noticing that the same scenes can look completely different even if I walk the same route everyday. Here are some scenes I took using my iphone without any processing done:</p> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0224.jpeg" alt="a very yellow moon during my walk" class="wp-image-4917" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0224.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0224-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<p>Same spot, different day:</p> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0255.jpeg" alt="same spot, different day – image of the moon" class="wp-image-4919" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0255.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0255-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<p>One of the reasons why I love walking so early in the morning is that I get to see some magnificent sunrises:</p> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0229.jpeg" alt="sunrise during my walk | |||
" class="wp-image-4922" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0229.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0229-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<figure class="wp-block-image size-full"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0404.jpeg" alt="" class="wp-image-4923" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0404.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0404-2048x1536.jpeg 2048w" sizes="(max-width: 4032px) 100vw, 4032px"></figure> | |||
<p>They last only for a few seconds, inspiring me to write this haiku:</p> | |||
<div class="is-layout-flex wp-container-3 wp-block-columns"> | |||
<p class="is-layout-flow wp-block-column"></p> | |||
<div class="is-layout-flow wp-block-column"> | |||
<p><em>sometimes i chase a sunrise<br>in moments it’s gone<br>like an invalid imprint</em></p> | |||
</div> | |||
</div> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I also enjoy watching people exercise for some reason:</p> | |||
<figure class="wp-block-image size-full is-resized"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0410.jpeg" alt="people exercising | |||
" class="wp-image-4925" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0410.jpeg 4032w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0410-2048x1536.jpeg 2048w" sizes="(max-width: 800px) 100vw, 800px"></figure> | |||
<p>There are always thoughts running through my head: <em>who are they? why do they wake up so early to exercise? why do they care about exercising? why do they choose to exercise in a group?</em> Sometimes I start my walk/run at 5.30am in the morning expecting to see no one at the park, but there are already people walking home <em>post</em> exercise.</p> | |||
<p>It makes me glad to see people with their pets too – mostly dogs of course because cats will not walk with you lol. Once in a while someone cycles with a parrot perched on their bike.</p> | |||
<figure class="wp-block-image size-large is-resized"><img decoding="async" loading="lazy" src="https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-1600x1200.jpeg" alt="" class="wp-image-4928" srcset="https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-1600x1200.jpeg 1600w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-700x525.jpeg 700w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-300x225.jpeg 300w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-768x576.jpeg 768w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-1536x1152.jpeg 1536w, https://winnielim.org/wp-content/uploads/2022/11/IMG_0295-2048x1536.jpeg 2048w" sizes="(max-width: 800px) 100vw, 800px"></figure> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I usually walk with emo music plugged in. For a while I was very purist about having no music, but I came to realise that music helps to put my brain in some form of harmony. Listening to songs I love, used to love, or songs that were so much part of my journeys in my younger days – can be a very bodily experience. My morning exercise is also probably the only part of the day that is screenless.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>After wearing different types of footwear my current favourite is a pair of Teva sandals. They let me focus on walking the most without drawing attention to the sensations in my feet. I would love to try a true zero-drop pair of footwear some day. </p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>This morning I walked past a particular bridge, and I thought how even <em>cycling</em> to this part of the park felt like this <em>huge</em> distance before. And now it is just simply part of my daily walking routine. </p> | |||
<p>There is this parallel between my exercise journey and how far I’ve come as a person. Walking used to be such a chore: I was the person who would always choose the escalator over the stairs, and any walk longer than 5 minutes felt too far. Now I’m plotting further and further distances away.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I was inspired by <a href="https://craigmod.com/ridgeline/146/">Craig Mod’s 15-20km photo walk</a> each day, and these days I have started to wonder how feasible would it be if I were to do something similar in Singapore. There are too many traffic junctions here beyond the parks, and the weather usually is not very friendly. I could start out small though, like 5km in the CBD area early morning so I can avoid the heat and humidity.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>Initially I thought I’ll only be walking because I cannot run, but since starting these long morning walks I realised this is something that I want to do continuously in my life. Walking is just so simple, so <em>anywhere</em>. I don’t have to be in special clothing or footwear. The slowness of it makes me notice my environment more, and I am more in tune and connected with the universe, whereas cycling and running envelopes me in my own world. It feels like a superpower to be able to walk non-stop, to be unafraid of what’s ahead and how much is left. It builds a different kind of endurance from running: it is less of a physical or aerobic endurance, more of one that builds a relationship with slowness, time and patience. </p> | |||
<p>There was a<em> magical threshold</em> where I stopped incessantly wondering how much distance is left and started thinking: I could go on for much longer than I expected.</p> | |||
<hr class="wp-block-separator has-alpha-channel-opacity"> | |||
<p>I started <a href="https://winnielim.org/essays/pushing-the-limits-of-my-body-again-with-zone-2/">running again for my metabolic health</a> which is closely tied to my chronic migraines. So far walking seems like a decent substitute when it comes to blood glucose management and stability. Running depletes more glucose and its effect lasts longer – as I see from my post-meal glucose numbers from breakfast and dinner, whereas my morning walks tend to impact my breakfast only just based on absolute numbers alone. But running is still stressful for my body and I always have to be worried about triggering a migraine. I could bring out my actual camera for a walk, or walk to discover new eating experiences.</p> | |||
<p>I wonder how I’ll mix them all up when I am able to start doing intense exercise again? It has been a treat (yes this is my idea of a treat) seeing my metabolic health improve quite dramatically over the past few months and the gradual lessening of severity for my migraines, with the help of tcm of course. Will I be able to lead a migraine-free life one day? I dare not hope. But I’ll continue to work towards it, as though it can be a possibility. </p> |
@@ -0,0 +1,179 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>The Paper Billionaire Argument (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<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> | |||
<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> | |||
<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> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://github.com/MKorostoff/1-pixel-wealth/blob/master/THE_PAPER_BILLIONAIRE.md"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>The Paper Billionaire Argument</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://github.com/MKorostoff/1-pixel-wealth/blob/master/THE_PAPER_BILLIONAIRE.md" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>The most common argument against closing the wealth gap is what I've come to call "the paper billionaire" argument. The argument basically goes "these people aren't <em>really</em> that wealthy, because there's no way to liquidate this much wealth." It's an interesting and provocative argument, worthy of serious discussion. But it is, ultimately, incorrect.</p> | |||
<p>Essentially all of this wealth is <a href="https://www.cnbc.com/2018/02/07/where-the-super-rich-keep-their-money.html">held in stocks, bonds, and other comparable forms of corporate equity</a>. The most common version of the paper billionaire argument I'm familiar with is that, if all these rich people tried to sell all of this stock at once, the market would be flooded and the price would drop significantly. That statement might be technically true in absolute, but that's not how you liquidate securities. You would liquidate over several years in a <a href="https://corpgov.law.harvard.edu/2016/03/24/a-guide-to-rule-10b5-1-plans/">carefully managed liquidation plan</a> that avoids flooding the market, not in a giant lump sum.</p> | |||
<p>Billionaires <a href="https://www.cnbc.com/2020/02/11/jeff-bezos-sold-4point1-billion-worth-of-amazon-shares-in-past-week.html">regularly liquidate in this manner</a> as a matter of routine, and it has never caused the market collapse consistently forecast by billionaire defenders. I have never once heard anyone advocate instant liquidation in an immediate one-time firesale, except when used as a straw man to prove the supposed impossibility of liquidation.</p> | |||
<p>Now you may be wondering, just how slowly would you have to do this liquidation in order to avoid flooding the market? And the answer is, surprisingly, not that slowly. The market cap of the <a href="https://siblisresearch.com/data/us-stock-market-value">US stock market is around $35 trillion</a>. Around <a href="https://www.nasdaqtrader.com/trader.aspx?id=FullVolumeSummary#">$122 trillion worth</a> of stock changes hands in the US every year. If you wanted to liquidate a trillion dollars over, say, five years that would constitute about 0.16% of all the trading that happens in that time.</p> | |||
<p>There are a wide variety of serious policy proposals floating around aimed at reducing inequality, and none of them include a massive immediate seizing of all assets from wealthy people. Some play out over generations (such as a more progressive <a href="https://americansfortaxfairness.org/tax-fairness-briefing-booklet/fact-sheet-the-estate-inheritance-tax/">inheritance and gift tax</a>) some play out over decades (such as a more progressive <a href="http://www.urban.org/sites/default/files/publication/81551/2000817-a-proposal-to-reform-the-taxation-of-corporate-income.pdf">capital gains and corporate tax structure</a>) and others play out over a few years (such as immediate term deficit spending repaid over time through a <a href="https://www.npr.org/2019/12/05/782135614/how-would-a-wealth-tax-work">single-digit wealth tax</a>).</p> | |||
<p>Another version of the paper billionaire argument holds that you couldn't sell all these stocks over any period of time, because only other billionaires would be able to buy them. This is simply nonsense. Market participation may not be 100%, but it's a hell of a lot more than 400 people. <a href="https://www.pewresearch.org/fact-tank/2020/03/25/more-than-half-of-u-s-households-have-some-investment-in-the-stock-market/">Half of all households in the US own stock</a>, either directly or through their 401k/IRA. On any given day, millions of individuals buy stock, mostly through their retirement accounts, a few hundred dollars at a time.</p> | |||
<p>But let's set all of this aside and suppose that the paper billionaire argument is actually true (it's not, but for the sake of argument). Let's suppose liquidating this wealth caused 80% of it to vanish into thin air. That would leave behind $700 billion—still enough to <a href="https://pubmed.ncbi.nlm.nih.gov/25551454/">eradicate malaria</a>, provide everyone on earth with <a href="https://www.who.int/water_sanitation_health/watandmacr3.pdf">water and waste disposal</a>, <a href="https://prospect.org/power/much-money-take-eliminate-poverty-america/">lift every American out of poverty</a>, and <a href="https://www.cnbc.com/2020/04/21/coronavirus-tests-rockefeller-plan-would-screen-millions-for-covid-19.html">test every single American for coronavirus</a>. I think this is one of the points that should come through most clearly in this website—the amounts we're dealing with are so mind-flayingly large that it scarcely matters if our calculations are off by 500%.</p> | |||
<p>I find it telling that no one EVER tries to quantify the paper billionaire argument. They never ask "how big is the total market?" or "what portion <em>could</em> we safely liquidate without some major negative consequence?" No. They simply look at the massive scale of global wealth, and the massive scale of global poverty, and then retreat into cynicism. The millions dead from preventable diseases? Unsolvable, they declare. Those who would address global poverty just "don't understand how stocks work." Perhaps it's easier to just declare the problem unsolvable than to confront the massive human cost of your ideology. But confront it we must. The money is there, we just need to take it.</p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> Clair | |||
</label> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(form) | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,19 @@ | |||
title: The Paper Billionaire Argument | |||
url: https://github.com/MKorostoff/1-pixel-wealth/blob/master/THE_PAPER_BILLIONAIRE.md | |||
hash_url: 0d004d900e6fd42c0390be1ca2e339a5 | |||
The most common argument against closing the wealth gap is what I've come to call "the paper billionaire" argument. The argument basically goes "these people aren't _really_ that wealthy, because there's no way to liquidate this much wealth." It's an interesting and provocative argument, worthy of serious discussion. But it is, ultimately, incorrect. | |||
Essentially all of this wealth is [held in stocks, bonds, and other comparable forms of corporate equity](https://www.cnbc.com/2018/02/07/where-the-super-rich-keep-their-money.html). The most common version of the paper billionaire argument I'm familiar with is that, if all these rich people tried to sell all of this stock at once, the market would be flooded and the price would drop significantly. That statement might be technically true in absolute, but that's not how you liquidate securities. You would liquidate over several years in a [carefully managed liquidation plan](https://corpgov.law.harvard.edu/2016/03/24/a-guide-to-rule-10b5-1-plans/) that avoids flooding the market, not in a giant lump sum. | |||
Billionaires [regularly liquidate in this manner](https://www.cnbc.com/2020/02/11/jeff-bezos-sold-4point1-billion-worth-of-amazon-shares-in-past-week.html) as a matter of routine, and it has never caused the market collapse consistently forecast by billionaire defenders. I have never once heard anyone advocate instant liquidation in an immediate one-time firesale, except when used as a straw man to prove the supposed impossibility of liquidation. | |||
Now you may be wondering, just how slowly would you have to do this liquidation in order to avoid flooding the market? And the answer is, surprisingly, not that slowly. The market cap of the [US stock market is around $35 trillion](https://siblisresearch.com/data/us-stock-market-value). Around [$122 trillion worth](https://www.nasdaqtrader.com/trader.aspx?id=FullVolumeSummary#) of stock changes hands in the US every year. If you wanted to liquidate a trillion dollars over, say, five years that would constitute about 0.16% of all the trading that happens in that time. | |||
There are a wide variety of serious policy proposals floating around aimed at reducing inequality, and none of them include a massive immediate seizing of all assets from wealthy people. Some play out over generations (such as a more progressive [inheritance and gift tax](https://americansfortaxfairness.org/tax-fairness-briefing-booklet/fact-sheet-the-estate-inheritance-tax/)) some play out over decades (such as a more progressive [capital gains and corporate tax structure](http://www.urban.org/sites/default/files/publication/81551/2000817-a-proposal-to-reform-the-taxation-of-corporate-income.pdf)) and others play out over a few years (such as immediate term deficit spending repaid over time through a [single-digit wealth tax](https://www.npr.org/2019/12/05/782135614/how-would-a-wealth-tax-work)). | |||
Another version of the paper billionaire argument holds that you couldn't sell all these stocks over any period of time, because only other billionaires would be able to buy them. This is simply nonsense. Market participation may not be 100%, but it's a hell of a lot more than 400 people. [Half of all households in the US own stock](https://www.pewresearch.org/fact-tank/2020/03/25/more-than-half-of-u-s-households-have-some-investment-in-the-stock-market/), either directly or through their 401k/IRA. On any given day, millions of individuals buy stock, mostly through their retirement accounts, a few hundred dollars at a time. | |||
But let's set all of this aside and suppose that the paper billionaire argument is actually true (it's not, but for the sake of argument). Let's suppose liquidating this wealth caused 80% of it to vanish into thin air. That would leave behind $700 billion—still enough to [eradicate malaria](https://pubmed.ncbi.nlm.nih.gov/25551454/), provide everyone on earth with [water and waste disposal](https://www.who.int/water_sanitation_health/watandmacr3.pdf), [lift every American out of poverty](https://prospect.org/power/much-money-take-eliminate-poverty-america/), and [test every single American for coronavirus](https://www.cnbc.com/2020/04/21/coronavirus-tests-rockefeller-plan-would-screen-millions-for-covid-19.html). I think this is one of the points that should come through most clearly in this website—the amounts we're dealing with are so mind-flayingly large that it scarcely matters if our calculations are off by 500%. | |||
I find it telling that no one EVER tries to quantify the paper billionaire argument. They never ask "how big is the total market?" or "what portion _could_ we safely liquidate without some major negative consequence?" No. They simply look at the massive scale of global wealth, and the massive scale of global poverty, and then retreat into cynicism. The millions dead from preventable diseases? Unsolvable, they declare. Those who would address global poverty just "don't understand how stocks work." Perhaps it's easier to just declare the problem unsolvable than to confront the massive human cost of your ideology. But confront it we must. The money is there, we just need to take it. |
@@ -0,0 +1,575 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>When Our Tools Hold Us Back (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<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> | |||
<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> | |||
<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> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://www.oddbird.net/2022/11/11/platform-tools/"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>When Our Tools Hold Us Back</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://www.oddbird.net/2022/11/11/platform-tools/" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>The | |||
<a href="https://almanac.httparchive.org/en/2022/">2022 Web Almanac</a> | |||
has been out for a while, | |||
and (as always) | |||
it’s an interesting<span class="widont"> </span>read.</p> | |||
<p>There are more than 20 chapters this year, | |||
and I haven’t read them all. | |||
But I did enjoy the chapters on | |||
<a href="https://almanac.httparchive.org/en/2022/css"><span class="caps">CSS</span></a> | |||
(by Rachel Andrew) | |||
and <a href="https://almanac.httparchive.org/en/2022/fonts">webfonts</a> | |||
(by Bram Stein). | |||
Both authors note a similar trend – | |||
<strong>many usage patterns | |||
that refuse to change from year to year | |||
can be explained by popular<span class="widont"> </span>tools</strong>.</p> | |||
<p>I’ve noticed that same effect elsewhere, | |||
and I want to dig into it a bit – | |||
the various ways our tooling | |||
can change (and limit) | |||
the web platform features we<span class="widont"> </span>use.</p> | |||
<p class="anchor-link-wrapper"> | |||
<h2 id="the-worst-color-formats" tabindex="-1">The worst color<span class="widont"> </span>formats</h2> | |||
</p> | |||
<p>According to the Almanac data, | |||
the most common color formats on the web | |||
are <span class="caps">HEX</span> (<code>#C71585</code>), | |||
short-form <span class="caps">HEX</span> (<code>#c18</code>), | |||
and then old-school | |||
<code>rgba(199, 21, 133, 0.8)</code>.</p> | |||
<p>But why are we still using | |||
the oldest and least legible | |||
color formats, | |||
when better formats are well-supported? | |||
<span class="caps">HSL</span> is more human-readable than <span class="caps">HEX</span>, | |||
and the <code>rgb()</code> function | |||
now supports alpha transparency | |||
without switching to <code>rgba()</code>.</p> | |||
<p>Alternately, if we like <span class="caps">HEX</span> so much, | |||
why don’t we use the alpha-<span class="caps">HEX</span> syntax | |||
(<code>#C7158599</code>) | |||
that’s been supported for several years. | |||
Why aren’t these options gaining<span class="widont"> </span>popularity?</p> | |||
<p>It’s hard to say for sure, | |||
but I have a multi-part<span class="widont"> </span>guess.</p> | |||
<p class="anchor-link-wrapper"> | |||
<h2 id="how-design-tokens-intervene" tabindex="-1">How design tokens<span class="widont"> </span>intervene</h2> | |||
</p> | |||
<p>First, colors are <em>design tokens</em>, | |||
and often get set as custom properties | |||
or build-tool variables | |||
at the start of a project. | |||
Once the tokens are established, | |||
we don’t spend much time looking at | |||
the actual color syntax underneath. | |||
I don’t ever interact directly | |||
with the <span class="caps">HEX</span> code <code>#E60073</code> – | |||
I can just reference | |||
<code>var(--brand-pink)</code>. | |||
So we focus our attention on the naming conventions | |||
rather than the underlying color syntax, | |||
which is hidden from<span class="widont"> </span>view.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>I think there’s also a tooling component here. | |||
Many graphic design tools are a step removed | |||
from the web platform. | |||
While some do try to export <span class="caps">HTML</span>/<span class="caps">CSS</span>, | |||
only a few consider that | |||
the core goal of the tool. | |||
Even then, there’s been a long-term disconnect | |||
between a web that’s responsive, | |||
and our almost completely static design<span class="widont"> </span>tools.</p> | |||
<p>A few tools have started to provide | |||
<em>flexbox-like</em> ‘responsive’ layouts, | |||
but I haven’t seen anything <em><span class="caps">CSS</span>-grid-like</em>. | |||
Most don’t even have | |||
basic support for relative or fluid units. | |||
Rachel notes in the Almanac | |||
that most lengths on the web | |||
are defined in <code>px</code>. | |||
Is that because authors intentionally avoid <code>em</code>/<code>rem</code>, | |||
or because the mockups that we receive from designers | |||
are all limited to <code>px</code> by our design<span class="widont"> </span>tools?</p> | |||
<p>I’ve <a href="https://twitter.com/TerribleMia/status/1446262147772682260">commented on this before</a>:</p> | |||
<blockquote> | |||
<p>The least responsive part | |||
of Responsive Web Design | |||
is the design tools. | |||
This needs to<span class="widont"> </span>change.</p> | |||
</blockquote> | |||
<p>When it comes to color spaces/gamuts, | |||
design tools vary in support. | |||
Looking at some of the big<span class="widont"> </span>players:</p> | |||
<ul> | |||
<li><strong>Adobe <span class="caps">XD</span></strong> | |||
supports <span class="caps">HEX</span>, <span class="caps">RGB</span>, and <span class="caps">HSB</span>. | |||
<strong>Illustrator</strong> adds <span class="caps">CMYK</span> and a grayscale option, | |||
while <strong>Photoshop</strong> also supports extended gamuts | |||
such as Display P3, | |||
and perceptually-uniform<span class="widont"> </span><span class="caps">LAB</span>.</li> | |||
<li><strong>Figma</strong> | |||
(now also owned by Adobe) | |||
provides <span class="caps">HEX</span>, <span class="caps">RGB</span>, | |||
‘<span class="caps">CSS</span>’ (which is <code>rgba()</code>), | |||
<span class="caps">HSL</span>, and<span class="widont"> </span><span class="caps">HSB</span>.</li> | |||
<li><strong>Sketch</strong> | |||
shows <span class="caps">HSB</span>, <span class="caps">HEX</span>, and<span class="widont"> </span><span class="caps">RGB</span>(a).</li> | |||
</ul> | |||
<p>I don’t know of any popular design tools | |||
that provide <span class="caps">LCH</span>, | |||
or the newer okLAB/okLCH variants, | |||
let alone <em>relative</em> colors | |||
defined as a function of mixing or adjusting | |||
other underlying<span class="widont"> </span>colors.</p> | |||
<p>And when it comes to copying our colors | |||
out of a design tool, | |||
the options are generally 6-digit <span class="caps">HEX</span>, | |||
or copying individual channel values, | |||
one at a time. | |||
Either way, | |||
converting our colors | |||
into a more human-friendly syntax | |||
would often be an extra step, | |||
and may not be worth the<span class="widont"> </span>effort.</p> | |||
<p>Since all legacy colors on the web | |||
rely on a single color model (<span class="caps">RGB</span>) | |||
and gamut (sRGB), | |||
there has been little <em>meaningful</em> difference | |||
between formats (until now). | |||
Once we used a graphic interface | |||
to pick the color we want, | |||
it maybe didn’t matter | |||
what format we copy-pasted into | |||
a variable<span class="widont"> </span>somewhere.</p> | |||
<p>But what’s the designer path | |||
towards using new, extended color spaces in <span class="caps">CSS</span>? | |||
Can they ever gain traction on the web | |||
without first finding support in our design tools? | |||
I’m not<span class="widont"> </span>sure.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>Code tools also play a role in<span class="widont"> </span>this.</p> | |||
<p>Sass, for example, | |||
relies on the same | |||
<em>interchangeability</em> of legacy web formats. | |||
No matter what syntax an author chooses, | |||
Sass will store the value as <span class="caps">RGB</span>, | |||
and then allow manipulation | |||
in any other <span class="caps">CSS</span> format. | |||
But at the end of the day, | |||
<em><span class="caps">CSS</span> output is always generated | |||
in whatever format has the widest browser<span class="widont"> </span>support</em>.</p> | |||
<p>It doesn’t matter to Sass | |||
what syntax authors use | |||
for their <em>input value</em>, | |||
the <em>output value</em> is always | |||
either <span class="caps">HEX</span> or a color name when opaque, | |||
with <code>rgba()</code> for handling transparency. | |||
Very few people need that level | |||
of legacy browser support, | |||
but it’s not hurting anything<span class="widont"> </span>either.</p> | |||
<p>Not yet, at least. | |||
This will all change going forward, | |||
as we add | |||
<a href="https://sass-lang.com/blog/request-for-comments-color-spaces">Sass support for more color spaces and<span class="widont"> </span>gamuts</a>.</p> | |||
<p>In this case, | |||
the Almanac may give us misleading info | |||
about what syntax authors <em>prefer</em>. | |||
For all we know, | |||
authors might be <em>working primarily in <span class="caps">HSL</span></em>, | |||
and we wouldn’t see that | |||
in the production code at all. | |||
In fact, | |||
one of the most popular complaints | |||
on the Sass issue tracker is | |||
a request for <span class="caps">HSL</span><span class="widont"> </span>output.</p> | |||
<p>But this is a distinction | |||
with very little at stake. | |||
So long as authors can use their favorite format – | |||
and the output really does | |||
provide the same <em>meaning</em> as the input – | |||
it’s not a barrier for authors | |||
using the latest color formats. | |||
We’re just making that harder to<span class="widont"> </span>see.</p> | |||
<p class="anchor-link-wrapper"> | |||
<h2 id="extending-vs-replacing-a-language" tabindex="-1">Extending vs replacing a<span class="widont"> </span>language</h2> | |||
</p> | |||
<p>In Sass, | |||
we have a strict policy | |||
that <em>valid <span class="caps">CSS</span> is always valid Sass</em>. | |||
If authors use syntax that we don’t recognize, | |||
we pass that along to <span class="caps">CSS</span>. | |||
We can check for obvious parsing errors, | |||
but only the browser can determine | |||
if it’s a supported feature. | |||
While we provide <em>extra</em> Sass support | |||
for colors that we understand, | |||
authors can use new <span class="caps">CSS</span> color formats in Sass | |||
without us releasing any new features. | |||
Sass may not understand those colors for a time, | |||
but it will leave them untouched in the <span class="caps">CSS</span><span class="widont"> </span>output.</p> | |||
<p>Similarly, | |||
Sass hasn’t added support | |||
for either <code>@layer</code> or <code>@container</code> – | |||
and there may not be any reason to. | |||
I’m already using both in my Sass, | |||
without any<span class="widont"> </span>issue.</p> | |||
<p>There have been unfortunate exceptions on occasion | |||
(see <code>min()</code> and <code>max()</code> for example), | |||
but we’ve worked very hard to remove those limitations | |||
when they crop up. | |||
The tool should never stand between | |||
authors and the underlying<span class="widont"> </span>language.</p> | |||
<p>Last month, | |||
I spoke about <code>@layer</code> for | |||
<a href="https://aneventapart.com/event/denver-2022">An Event Apart Denver</a>. | |||
During the Q&A session after my talk, | |||
someone asked, | |||
“How can I use this with <span class="caps">CSS</span>-in-<span class="caps">JS</span> tools?” | |||
And the truth is… | |||
<em>I don’t know</em>. | |||
It depends entirely on the<span class="widont"> </span>tool.</p> | |||
<p>Single-file components in tools like Svelte <span class="amp">&</span> Vue | |||
are <em>technically</em> <span class="caps">CSS</span>-in-<span class="caps">JS</span>, | |||
but allow writing arbitrary/plain <span class="caps">CSS</span>. | |||
I would expect (hope?) that | |||
<code>@layer</code> should <em>just work</em> in that context | |||
(similar to using<span class="widont"> </span>Sass).</p> | |||
<p>But many <span class="caps">CSS</span>-in-<span class="caps">JS</span> tools | |||
and utility frameworks | |||
are more invasive – | |||
replacing some or most <span class="caps">CSS</span> with a proprietary syntax. | |||
They don’t provide <em>additions</em> to the language, | |||
but a whole new language | |||
that stands directly between us | |||
and the basic <span class="caps">CSS</span> functionality we need. | |||
There’s no option to write <span class="caps">CSS</span> directly, | |||
we have to rely on the tool to do it for us. | |||
<em>If the tool can’t do something, | |||
neither can the authors using it. | |||
All we can do is<span class="widont"> </span>wait</em>.</p> | |||
<p>I even ran into this issue | |||
by simply hosting my personal site | |||
on Netlify, | |||
which provides minification | |||
for deployed assets like <span class="caps">CSS</span>. | |||
That seems like a great feature! | |||
But the specific <span class="caps">CSS</span> minifier that they use | |||
is somewhat overeager, | |||
and began stripping out all my new | |||
<a href="https://css-tricks.com/css-cascade-layers/"><code>@layer</code></a> rules. | |||
I had to turn off the minification step | |||
in order to publish my entirely-valid<span class="widont"> </span><span class="caps">CSS</span>.</p> | |||
<p>That shouldn’t be the case. | |||
Minifiers shouldn’t need to understand | |||
all the new features that land in <span class="caps">CSS</span>. | |||
This is similar to the issue with | |||
<a href="/2022/08/04/zero-units/">removing units from zero</a>, | |||
or Harry Roberts’ recent warnings around | |||
<a href="https://csswizardry.com/2022/09/critical-css-not-so-fast/">Critical <span class="caps">CSS</span></a>. | |||
In a language like <span class="caps">CSS</span> – | |||
where order is meaningful, | |||
and duplicate properties are a useful feature – | |||
it’s risky for automated build tools | |||
to try and be <em>clever</em> about minification. | |||
I don’t know that a <span class="caps">CSS</span> minifier | |||
should do much more than white-space<span class="widont"> </span>management.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>In regard to web fonts, | |||
Bram points out | |||
that authors are not taking full advantage | |||
of variable fonts – | |||
we’re mostly changing the font weights, | |||
and selecting from standard<span class="widont"> </span>values.</p> | |||
<p>As someone who has spent hours | |||
searching through lists of variable fonts, | |||
that doesn’t surprise me much. | |||
Most variable fonts are either experimental display fonts | |||
without a lot of practical use, | |||
or they only provide a single weight axis. | |||
While I love having all my weights in a single file | |||
and smoothly transitioning from one weight to another, | |||
<em>specialty weights</em> are not a high priority for me. | |||
I’ll start using more powerful font variables | |||
once there are more fonts available | |||
with more interesting variables to<span class="widont"> </span>manipulate.</p> | |||
<p>Most of us are also using | |||
the over-complicated <code>font-feature-settings</code> property, | |||
instead of the simpler <code>font-variant</code>. | |||
I’ve been doing that on my site as<span class="widont"> </span>well!</p> | |||
<p>Why did I think that was the best approach? | |||
Likely because that’s the generated output | |||
recommended by | |||
<a href="https://wakamaifondue.com/">Wakamai Fondue</a> – | |||
a popular tool for inspecting font capabilities. | |||
It’s a great tool, | |||
filling a much-needed gap, | |||
but I wonder how the usage stats would change | |||
if they updated their output<span class="widont"> </span><span class="caps">CSS</span>?</p> | |||
<p>Maybe even more common, | |||
much of the web is built using <span class="caps">CSS</span> libraries | |||
like Bootstrap, | |||
or third-party themes | |||
provided by a site-builder or <span class="caps">CMS</span>. | |||
The influence of both | |||
WordPress and Bootstrap is clear | |||
throughout the Almanac data. | |||
When Rachel notes the popularity of | |||
flexbox (very popular) vs grid (not so much), | |||
I wonder how much of that | |||
can be traced back to | |||
Bootstrap ‘grids’ | |||
<a href="https://getbootstrap.com/docs/5.2/layout/grid/">being built in<span class="widont"> </span>flexbox</a>.</p> | |||
<p>I don’t think that’s the only factor. | |||
It’s possible authors have settled on flexbox as <em>good-enough</em>, | |||
and they don’t think it’s worth their time | |||
learning another technique. | |||
I can understand that, | |||
but it’s unfortunate. | |||
I think people are missing out | |||
on one of the coolest features | |||
added to <span class="caps">CSS</span> <em>ever</em>.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>When we talk about web trends, | |||
I often hear people refer back to | |||
the idea of ‘pace layers’ on the<span class="widont"> </span>web:</p> | |||
<p><figure class="embed"> | |||
<figcaption class="caption">Described by <a href="https://adactio.com/">Jeremy Keith</a> | |||
in his <a href="https://speaking.adactio.com/87IIn1">Building talk</a> | |||
a few years<span class="widont"> </span>back.</figcaption></figure></p> | |||
<p>In context, | |||
Jeremy is not just referring to | |||
the web languages themselves – | |||
<span class="caps">JS</span> isn’t necessarily changing faster than <span class="caps">CSS</span> – | |||
but also the <em>ecosystems</em> of these languages. | |||
The closer we get to the core functionality of the web, | |||
the slower each language/ecosystem is likely to change. | |||
Even within a given language, | |||
we expect our tools and conventions (<em>fashion</em>) | |||
to move faster than the languages<span class="widont"> </span>themselves.</p> | |||
<p>But that can only happen | |||
if the tools are designed to | |||
sit on top of their underlying languages. | |||
Once the tools stand <em>between</em> us and the language, | |||
we become entirely reliant on tool-builders | |||
to determine what features are<span class="widont"> </span>available.</p> | |||
<p>When our primary tools | |||
intervene so strongly | |||
between us and our ‘materials’ – | |||
the core web languages – | |||
we can accidentally flip the pace layers of the web | |||
on their head. | |||
Suddenly <span class="caps">CSS</span> is able to move faster than the ecosystem, | |||
and we’re stuck waiting on our tools to catch up | |||
with well-supported platform<span class="widont"> </span>features.</p> | |||
<p>That’s not how a healthy ecosystem should<span class="widont"> </span>behave.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>I am asked quite often | |||
what I think about <span class="caps">CSS</span>-in-<span class="caps">JS</span> | |||
or utility-first frameworks, | |||
or even <span class="caps">CSS</span> libraries <span class="amp">&</span> conventions | |||
more generally. | |||
And I try to stay out of any spicy flame wars, | |||
or gate-keeping<span class="widont"> </span>nonsense.</p> | |||
<p>For myself? | |||
I don’t find many of these tools useful. | |||
They don’t solve a problem that I have. | |||
But different projects and different teams | |||
have different needs, | |||
and might find different tools useful. | |||
There’s no single ‘correct’ approach | |||
for writing all <span class="caps">CSS</span><span class="widont"> </span>everywhere.</p> | |||
<p>As long as it results in an | |||
accessible, resilient, | |||
and performant experience for users: | |||
<em>use whatever tools work best for<span class="widont"> </span>you</em>.</p> | |||
<p>(Anyone marketing their product | |||
as <em>The Only Solution™️</em> to some | |||
<em>Essential Problem with <span class="caps">CSS</span>™️</em> | |||
is selling you a religion, | |||
not a<span class="widont"> </span>tool.)</p> | |||
<p>It’s not my job to judge | |||
what tools are useful for other web developers. | |||
But it is my job to | |||
help people think about the <span class="caps">CSS</span> choices they make. | |||
So in that spirit, please<span class="widont"> </span>consider:</p> | |||
<p>⚠️🚨⚠️ | |||
When tools intervene | |||
between you and your access to the web platform, | |||
<strong>proceed with caution</strong>. | |||
Ask not only: <em>How well does it work?</em> | |||
But also: <em>How well does it fail?</em> | |||
Not only: <em>What features do they provide?</em> | |||
But also: <em>What features do they prevent?</em><span class="widont"> </span>⚠️🚨⚠️</p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> Clair | |||
</label> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(form) | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,408 @@ | |||
title: When Our Tools Hold Us Back | |||
url: https://www.oddbird.net/2022/11/11/platform-tools/ | |||
hash_url: 28c9baf3ff21fbc616ccf13776104ccd | |||
<p>The | |||
<a href="https://almanac.httparchive.org/en/2022/">2022 Web Almanac</a> | |||
has been out for a while, | |||
and (as always) | |||
it’s an interesting<span class="widont"> </span>read.</p> | |||
<p>There are more than 20 chapters this year, | |||
and I haven’t read them all. | |||
But I did enjoy the chapters on | |||
<a href="https://almanac.httparchive.org/en/2022/css"><span class="caps">CSS</span></a> | |||
(by Rachel Andrew) | |||
and <a href="https://almanac.httparchive.org/en/2022/fonts">webfonts</a> | |||
(by Bram Stein). | |||
Both authors note a similar trend – | |||
<strong>many usage patterns | |||
that refuse to change from year to year | |||
can be explained by popular<span class="widont"> </span>tools</strong>.</p> | |||
<p>I’ve noticed that same effect elsewhere, | |||
and I want to dig into it a bit – | |||
the various ways our tooling | |||
can change (and limit) | |||
the web platform features we<span class="widont"> </span>use.</p> | |||
<p class="anchor-link-wrapper"> | |||
<h2 id="the-worst-color-formats" tabindex="-1">The worst color<span class="widont"> </span>formats</h2> | |||
</p> | |||
<p>According to the Almanac data, | |||
the most common color formats on the web | |||
are <span class="caps">HEX</span> (<code>#C71585</code>), | |||
short-form <span class="caps">HEX</span> (<code>#c18</code>), | |||
and then old-school | |||
<code>rgba(199, 21, 133, 0.8)</code>.</p> | |||
<p>But why are we still using | |||
the oldest and least legible | |||
color formats, | |||
when better formats are well-supported? | |||
<span class="caps">HSL</span> is more human-readable than <span class="caps">HEX</span>, | |||
and the <code>rgb()</code> function | |||
now supports alpha transparency | |||
without switching to <code>rgba()</code>.</p> | |||
<p>Alternately, if we like <span class="caps">HEX</span> so much, | |||
why don’t we use the alpha-<span class="caps">HEX</span> syntax | |||
(<code>#C7158599</code>) | |||
that’s been supported for several years. | |||
Why aren’t these options gaining<span class="widont"> </span>popularity?</p> | |||
<p>It’s hard to say for sure, | |||
but I have a multi-part<span class="widont"> </span>guess.</p> | |||
<p class="anchor-link-wrapper"> | |||
<h2 id="how-design-tokens-intervene" tabindex="-1">How design tokens<span class="widont"> </span>intervene</h2> | |||
</p> | |||
<p>First, colors are <em>design tokens</em>, | |||
and often get set as custom properties | |||
or build-tool variables | |||
at the start of a project. | |||
Once the tokens are established, | |||
we don’t spend much time looking at | |||
the actual color syntax underneath. | |||
I don’t ever interact directly | |||
with the <span class="caps">HEX</span> code <code>#E60073</code> – | |||
I can just reference | |||
<code>var(--brand-pink)</code>. | |||
So we focus our attention on the naming conventions | |||
rather than the underlying color syntax, | |||
which is hidden from<span class="widont"> </span>view.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>I think there’s also a tooling component here. | |||
Many graphic design tools are a step removed | |||
from the web platform. | |||
While some do try to export <span class="caps">HTML</span>/<span class="caps">CSS</span>, | |||
only a few consider that | |||
the core goal of the tool. | |||
Even then, there’s been a long-term disconnect | |||
between a web that’s responsive, | |||
and our almost completely static design<span class="widont"> </span>tools.</p> | |||
<p>A few tools have started to provide | |||
<em>flexbox-like</em> ‘responsive’ layouts, | |||
but I haven’t seen anything <em><span class="caps">CSS</span>-grid-like</em>. | |||
Most don’t even have | |||
basic support for relative or fluid units. | |||
Rachel notes in the Almanac | |||
that most lengths on the web | |||
are defined in <code>px</code>. | |||
Is that because authors intentionally avoid <code>em</code>/<code>rem</code>, | |||
or because the mockups that we receive from designers | |||
are all limited to <code>px</code> by our design<span class="widont"> </span>tools?</p> | |||
<p>I’ve <a href="https://twitter.com/TerribleMia/status/1446262147772682260">commented on this before</a>:</p> | |||
<blockquote> | |||
<p>The least responsive part | |||
of Responsive Web Design | |||
is the design tools. | |||
This needs to<span class="widont"> </span>change.</p> | |||
</blockquote> | |||
<p>When it comes to color spaces/gamuts, | |||
design tools vary in support. | |||
Looking at some of the big<span class="widont"> </span>players:</p> | |||
<ul> | |||
<li><strong>Adobe <span class="caps">XD</span></strong> | |||
supports <span class="caps">HEX</span>, <span class="caps">RGB</span>, and <span class="caps">HSB</span>. | |||
<strong>Illustrator</strong> adds <span class="caps">CMYK</span> and a grayscale option, | |||
while <strong>Photoshop</strong> also supports extended gamuts | |||
such as Display P3, | |||
and perceptually-uniform<span class="widont"> </span><span class="caps">LAB</span>.</li> | |||
<li><strong>Figma</strong> | |||
(now also owned by Adobe) | |||
provides <span class="caps">HEX</span>, <span class="caps">RGB</span>, | |||
‘<span class="caps">CSS</span>’ (which is <code>rgba()</code>), | |||
<span class="caps">HSL</span>, and<span class="widont"> </span><span class="caps">HSB</span>.</li> | |||
<li><strong>Sketch</strong> | |||
shows <span class="caps">HSB</span>, <span class="caps">HEX</span>, and<span class="widont"> </span><span class="caps">RGB</span>(a).</li> | |||
</ul> | |||
<p>I don’t know of any popular design tools | |||
that provide <span class="caps">LCH</span>, | |||
or the newer okLAB/okLCH variants, | |||
let alone <em>relative</em> colors | |||
defined as a function of mixing or adjusting | |||
other underlying<span class="widont"> </span>colors.</p> | |||
<p>And when it comes to copying our colors | |||
out of a design tool, | |||
the options are generally 6-digit <span class="caps">HEX</span>, | |||
or copying individual channel values, | |||
one at a time. | |||
Either way, | |||
converting our colors | |||
into a more human-friendly syntax | |||
would often be an extra step, | |||
and may not be worth the<span class="widont"> </span>effort.</p> | |||
<p>Since all legacy colors on the web | |||
rely on a single color model (<span class="caps">RGB</span>) | |||
and gamut (sRGB), | |||
there has been little <em>meaningful</em> difference | |||
between formats (until now). | |||
Once we used a graphic interface | |||
to pick the color we want, | |||
it maybe didn’t matter | |||
what format we copy-pasted into | |||
a variable<span class="widont"> </span>somewhere.</p> | |||
<p>But what’s the designer path | |||
towards using new, extended color spaces in <span class="caps">CSS</span>? | |||
Can they ever gain traction on the web | |||
without first finding support in our design tools? | |||
I’m not<span class="widont"> </span>sure.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>Code tools also play a role in<span class="widont"> </span>this.</p> | |||
<p>Sass, for example, | |||
relies on the same | |||
<em>interchangeability</em> of legacy web formats. | |||
No matter what syntax an author chooses, | |||
Sass will store the value as <span class="caps">RGB</span>, | |||
and then allow manipulation | |||
in any other <span class="caps">CSS</span> format. | |||
But at the end of the day, | |||
<em><span class="caps">CSS</span> output is always generated | |||
in whatever format has the widest browser<span class="widont"> </span>support</em>.</p> | |||
<p>It doesn’t matter to Sass | |||
what syntax authors use | |||
for their <em>input value</em>, | |||
the <em>output value</em> is always | |||
either <span class="caps">HEX</span> or a color name when opaque, | |||
with <code>rgba()</code> for handling transparency. | |||
Very few people need that level | |||
of legacy browser support, | |||
but it’s not hurting anything<span class="widont"> </span>either.</p> | |||
<p>Not yet, at least. | |||
This will all change going forward, | |||
as we add | |||
<a href="https://sass-lang.com/blog/request-for-comments-color-spaces">Sass support for more color spaces and<span class="widont"> </span>gamuts</a>.</p> | |||
<p>In this case, | |||
the Almanac may give us misleading info | |||
about what syntax authors <em>prefer</em>. | |||
For all we know, | |||
authors might be <em>working primarily in <span class="caps">HSL</span></em>, | |||
and we wouldn’t see that | |||
in the production code at all. | |||
In fact, | |||
one of the most popular complaints | |||
on the Sass issue tracker is | |||
a request for <span class="caps">HSL</span><span class="widont"> </span>output.</p> | |||
<p>But this is a distinction | |||
with very little at stake. | |||
So long as authors can use their favorite format – | |||
and the output really does | |||
provide the same <em>meaning</em> as the input – | |||
it’s not a barrier for authors | |||
using the latest color formats. | |||
We’re just making that harder to<span class="widont"> </span>see.</p> | |||
<p class="anchor-link-wrapper"> | |||
<h2 id="extending-vs-replacing-a-language" tabindex="-1">Extending vs replacing a<span class="widont"> </span>language</h2> | |||
</p> | |||
<p>In Sass, | |||
we have a strict policy | |||
that <em>valid <span class="caps">CSS</span> is always valid Sass</em>. | |||
If authors use syntax that we don’t recognize, | |||
we pass that along to <span class="caps">CSS</span>. | |||
We can check for obvious parsing errors, | |||
but only the browser can determine | |||
if it’s a supported feature. | |||
While we provide <em>extra</em> Sass support | |||
for colors that we understand, | |||
authors can use new <span class="caps">CSS</span> color formats in Sass | |||
without us releasing any new features. | |||
Sass may not understand those colors for a time, | |||
but it will leave them untouched in the <span class="caps">CSS</span><span class="widont"> </span>output.</p> | |||
<p>Similarly, | |||
Sass hasn’t added support | |||
for either <code>@layer</code> or <code>@container</code> – | |||
and there may not be any reason to. | |||
I’m already using both in my Sass, | |||
without any<span class="widont"> </span>issue.</p> | |||
<p>There have been unfortunate exceptions on occasion | |||
(see <code>min()</code> and <code>max()</code> for example), | |||
but we’ve worked very hard to remove those limitations | |||
when they crop up. | |||
The tool should never stand between | |||
authors and the underlying<span class="widont"> </span>language.</p> | |||
<p>Last month, | |||
I spoke about <code>@layer</code> for | |||
<a href="https://aneventapart.com/event/denver-2022">An Event Apart Denver</a>. | |||
During the Q&A session after my talk, | |||
someone asked, | |||
“How can I use this with <span class="caps">CSS</span>-in-<span class="caps">JS</span> tools?” | |||
And the truth is… | |||
<em>I don’t know</em>. | |||
It depends entirely on the<span class="widont"> </span>tool.</p> | |||
<p>Single-file components in tools like Svelte <span class="amp">&</span> Vue | |||
are <em>technically</em> <span class="caps">CSS</span>-in-<span class="caps">JS</span>, | |||
but allow writing arbitrary/plain <span class="caps">CSS</span>. | |||
I would expect (hope?) that | |||
<code>@layer</code> should <em>just work</em> in that context | |||
(similar to using<span class="widont"> </span>Sass).</p> | |||
<p>But many <span class="caps">CSS</span>-in-<span class="caps">JS</span> tools | |||
and utility frameworks | |||
are more invasive – | |||
replacing some or most <span class="caps">CSS</span> with a proprietary syntax. | |||
They don’t provide <em>additions</em> to the language, | |||
but a whole new language | |||
that stands directly between us | |||
and the basic <span class="caps">CSS</span> functionality we need. | |||
There’s no option to write <span class="caps">CSS</span> directly, | |||
we have to rely on the tool to do it for us. | |||
<em>If the tool can’t do something, | |||
neither can the authors using it. | |||
All we can do is<span class="widont"> </span>wait</em>.</p> | |||
<p>I even ran into this issue | |||
by simply hosting my personal site | |||
on Netlify, | |||
which provides minification | |||
for deployed assets like <span class="caps">CSS</span>. | |||
That seems like a great feature! | |||
But the specific <span class="caps">CSS</span> minifier that they use | |||
is somewhat overeager, | |||
and began stripping out all my new | |||
<a href="https://css-tricks.com/css-cascade-layers/"><code>@layer</code></a> rules. | |||
I had to turn off the minification step | |||
in order to publish my entirely-valid<span class="widont"> </span><span class="caps">CSS</span>.</p> | |||
<p>That shouldn’t be the case. | |||
Minifiers shouldn’t need to understand | |||
all the new features that land in <span class="caps">CSS</span>. | |||
This is similar to the issue with | |||
<a href="/2022/08/04/zero-units/">removing units from zero</a>, | |||
or Harry Roberts’ recent warnings around | |||
<a href="https://csswizardry.com/2022/09/critical-css-not-so-fast/">Critical <span class="caps">CSS</span></a>. | |||
In a language like <span class="caps">CSS</span> – | |||
where order is meaningful, | |||
and duplicate properties are a useful feature – | |||
it’s risky for automated build tools | |||
to try and be <em>clever</em> about minification. | |||
I don’t know that a <span class="caps">CSS</span> minifier | |||
should do much more than white-space<span class="widont"> </span>management.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>In regard to web fonts, | |||
Bram points out | |||
that authors are not taking full advantage | |||
of variable fonts – | |||
we’re mostly changing the font weights, | |||
and selecting from standard<span class="widont"> </span>values.</p> | |||
<p>As someone who has spent hours | |||
searching through lists of variable fonts, | |||
that doesn’t surprise me much. | |||
Most variable fonts are either experimental display fonts | |||
without a lot of practical use, | |||
or they only provide a single weight axis. | |||
While I love having all my weights in a single file | |||
and smoothly transitioning from one weight to another, | |||
<em>specialty weights</em> are not a high priority for me. | |||
I’ll start using more powerful font variables | |||
once there are more fonts available | |||
with more interesting variables to<span class="widont"> </span>manipulate.</p> | |||
<p>Most of us are also using | |||
the over-complicated <code>font-feature-settings</code> property, | |||
instead of the simpler <code>font-variant</code>. | |||
I’ve been doing that on my site as<span class="widont"> </span>well!</p> | |||
<p>Why did I think that was the best approach? | |||
Likely because that’s the generated output | |||
recommended by | |||
<a href="https://wakamaifondue.com/">Wakamai Fondue</a> – | |||
a popular tool for inspecting font capabilities. | |||
It’s a great tool, | |||
filling a much-needed gap, | |||
but I wonder how the usage stats would change | |||
if they updated their output<span class="widont"> </span><span class="caps">CSS</span>?</p> | |||
<p>Maybe even more common, | |||
much of the web is built using <span class="caps">CSS</span> libraries | |||
like Bootstrap, | |||
or third-party themes | |||
provided by a site-builder or <span class="caps">CMS</span>. | |||
The influence of both | |||
WordPress and Bootstrap is clear | |||
throughout the Almanac data. | |||
When Rachel notes the popularity of | |||
flexbox (very popular) vs grid (not so much), | |||
I wonder how much of that | |||
can be traced back to | |||
Bootstrap ‘grids’ | |||
<a href="https://getbootstrap.com/docs/5.2/layout/grid/">being built in<span class="widont"> </span>flexbox</a>.</p> | |||
<p>I don’t think that’s the only factor. | |||
It’s possible authors have settled on flexbox as <em>good-enough</em>, | |||
and they don’t think it’s worth their time | |||
learning another technique. | |||
I can understand that, | |||
but it’s unfortunate. | |||
I think people are missing out | |||
on one of the coolest features | |||
added to <span class="caps">CSS</span> <em>ever</em>.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>When we talk about web trends, | |||
I often hear people refer back to | |||
the idea of ‘pace layers’ on the<span class="widont"> </span>web:</p> | |||
<p><figure class="embed"> | |||
<figcaption class="caption">Described by <a href="https://adactio.com/">Jeremy Keith</a> | |||
in his <a href="https://speaking.adactio.com/87IIn1">Building talk</a> | |||
a few years<span class="widont"> </span>back.</figcaption></figure></p> | |||
<p>In context, | |||
Jeremy is not just referring to | |||
the web languages themselves – | |||
<span class="caps">JS</span> isn’t necessarily changing faster than <span class="caps">CSS</span> – | |||
but also the <em>ecosystems</em> of these languages. | |||
The closer we get to the core functionality of the web, | |||
the slower each language/ecosystem is likely to change. | |||
Even within a given language, | |||
we expect our tools and conventions (<em>fashion</em>) | |||
to move faster than the languages<span class="widont"> </span>themselves.</p> | |||
<p>But that can only happen | |||
if the tools are designed to | |||
sit on top of their underlying languages. | |||
Once the tools stand <em>between</em> us and the language, | |||
we become entirely reliant on tool-builders | |||
to determine what features are<span class="widont"> </span>available.</p> | |||
<p>When our primary tools | |||
intervene so strongly | |||
between us and our ‘materials’ – | |||
the core web languages – | |||
we can accidentally flip the pace layers of the web | |||
on their head. | |||
Suddenly <span class="caps">CSS</span> is able to move faster than the ecosystem, | |||
and we’re stuck waiting on our tools to catch up | |||
with well-supported platform<span class="widont"> </span>features.</p> | |||
<p>That’s not how a healthy ecosystem should<span class="widont"> </span>behave.</p> | |||
<p class="anchor-link-wrapper"> | |||
</p> | |||
<p>I am asked quite often | |||
what I think about <span class="caps">CSS</span>-in-<span class="caps">JS</span> | |||
or utility-first frameworks, | |||
or even <span class="caps">CSS</span> libraries <span class="amp">&</span> conventions | |||
more generally. | |||
And I try to stay out of any spicy flame wars, | |||
or gate-keeping<span class="widont"> </span>nonsense.</p> | |||
<p>For myself? | |||
I don’t find many of these tools useful. | |||
They don’t solve a problem that I have. | |||
But different projects and different teams | |||
have different needs, | |||
and might find different tools useful. | |||
There’s no single ‘correct’ approach | |||
for writing all <span class="caps">CSS</span><span class="widont"> </span>everywhere.</p> | |||
<p>As long as it results in an | |||
accessible, resilient, | |||
and performant experience for users: | |||
<em>use whatever tools work best for<span class="widont"> </span>you</em>.</p> | |||
<p>(Anyone marketing their product | |||
as <em>The Only Solution™️</em> to some | |||
<em>Essential Problem with <span class="caps">CSS</span>™️</em> | |||
is selling you a religion, | |||
not a<span class="widont"> </span>tool.)</p> | |||
<p>It’s not my job to judge | |||
what tools are useful for other web developers. | |||
But it is my job to | |||
help people think about the <span class="caps">CSS</span> choices they make. | |||
So in that spirit, please<span class="widont"> </span>consider:</p> | |||
<p>⚠️🚨⚠️ | |||
When tools intervene | |||
between you and your access to the web platform, | |||
<strong>proceed with caution</strong>. | |||
Ask not only: <em>How well does it work?</em> | |||
But also: <em>How well does it fail?</em> | |||
Not only: <em>What features do they provide?</em> | |||
But also: <em>What features do they prevent?</em><span class="widont"> </span>⚠️🚨⚠️</p> |
@@ -0,0 +1,232 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>Let Go of the Learning Baggage (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<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> | |||
<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> | |||
<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> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<meta name="robots" content="noindex, nofollow"> | |||
<meta content="origin-when-cross-origin" name="referrer"> | |||
<!-- Canonical URL for SEO purposes --> | |||
<link rel="canonical" href="https://fs.blog/learning-baggage/"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<h1>Let Go of the Learning Baggage</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="https://fs.blog/learning-baggage/" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<p>We all want to learn better. That means retaining information, processing it, being able to use it when needed. More knowledge means better instincts; better insights into opportunities for both you and your organization. You will ultimately produce better work if you give yourself the space to learn. Yet often organizations get in the way of learning.</p> | |||
<p><strong>How do we learn how to learn?</strong> Usually in school, combined with instructions from our parents, we cobble together an understanding that allows us to move forward through the school years until we matriculate into a job. Then because most initial learning comes from doing, less from books, we switch to an on-the-fly approach.</p> | |||
<p>Which is usually an absolute failure. Why? In part, we layer our social values on top and end up with a hot mess of guilt and fear that stymies the learning process.</p> | |||
<p>Learning is necessary for our success and personal growth. But we can’t maximize the time we spend learning because our feelings about what we ‘should’ be doing get in the way.</p> | |||
<p>We are trained by our modern world to organize our day into mutually exclusive chunks called ‘work’, ‘play’, and ‘sleep’. One is done at the office, the other two are not. We are not allowed to move fluidly between these chunks, or combine them in our 24 hour day. Lyndon Johnson got to nap at the office in the afternoon, likely because he was President and didn’t have to worry about what his boss was going to think. Most of us don’t have this option. And now in the open office debacle we can’t even have a quiet 10 minutes of rest in our cubicles.</p> | |||
<p>We have become trained to equate working with doing. Thus the ‘doing’ has value. We deserve to get paid for this. And, it seems, only this.</p> | |||
<p><strong>What does this have to do with learning?</strong></p> | |||
<p>It’s this same attitude that we apply to the learning process when we are older, with similarly unsatisfying results.</p> | |||
<p>If we are learning for work, then in our brains learning = work. So we have to do it during the day. At the office. And if we are not learning, then we are not working. We think that walking is not learning. It’s ‘taking a break’. We instinctively believe that reading is learning. Having discussions about what you’ve read, however, is often not considered work, again it’s ‘taking a break’.</p> | |||
<p>To many, working means sitting at your desk for eight hours a day. Being physically present, mental engagement is optional. It means pushing out emails and rushing to meetings and generally getting nothing done. We’ve looked at the focus aspect of this before. But what about the learning aspect?</p> | |||
<p><strong>Can we change how we approach learning, letting go of the guilt associated with not being visibly active, and embrace what seems counter-intuitive?</strong></p> | |||
<p>Thinking and talking are useful elements of learning. And what we learn in our ‘play’ time can be valuable to our ‘work’ time, and there’s nothing wrong with moving between the two (or combining them) during our day.</p> | |||
<p>When mastering a subject, our brains actually use different types of processing. <a href="https://fs.blog/knowledge-project-podcast/barbara-oakley/">Barbara Oakley</a> explains in <em><a href="https://amzn.to/3e7PgzV">A Mind for Numbers: How to Excel at Math and Science (even if you flunked algebra)</a></em> that <strong>our brain has two general modes of thinking – ‘focused’ and ‘diffuse’ – and both of these are valuable and required in the learning process</strong>.</p> | |||
<p>The focused mode is what we traditionally associate with learning. Read, dive deep, absorb. Eliminate distractions and get into the material. Oakley says “the focused mode involves a direct approach to solving problems using rational, sequential, analytical approaches. … Turn your attention to something and bam – the focused mode is on, like the tight, penetrating beam of a flashlight.”</p> | |||
<p>But the focused mode is not the only one required for learning because we need time to process what we pick up, to get this new information integrated into our existing knowledge. We need time to make new connections. This is where the diffuse mode comes in.</p> | |||
<blockquote class="wp-block-quote"><p>Diffuse-mode thinking is what happens when you relax your attention and just let your mind wander. This relaxation can allow different areas of the brain to hook up and return valuable insights. … Diffuse-mode insights often flow from preliminary thinking that’s been done in the focused mode.</p></blockquote> | |||
<p>Relying solely on the focused mode to learn is a path to burnout. We need the diffuse mode to cement our ideas, put knowledge into memory and free up space for the next round of focused thinking. We need the diffuse mode to <a href="https://fs.blog/krista-tippett-becoming-wise/">build wisdom</a>. <strong>So why does diffuse mode thinking at work generally involve feelings of guilt?</strong></p> | |||
<p>Oakley’s recommendations for ‘diffuse-mode activators’ are: go to the gym, walk, play a sport, go for a drive, draw, take a bath, listen to music (especially without words), meditate, sleep. Um, aren’t these all things to do in my ‘play’ time? And sleep? It’s a whole time chunk on its own.</p> | |||
<p>Most organizations do not promote a culture that allow these activities to be integrated into the work day. Go to the gym on your lunch. Sleep at home. Meditate on a break. Essentially do these things while we are not paying you.</p> | |||
<p><strong>We ingest this way of thinking, associating the value of getting paid with the value of executing our task list</strong>. If something doesn’t directly contribute, it’s not valuable. If it’s not valuable, I need to do it in my non-work time or not at all. This is learned behavior from our organizational culture, and it essentially communicates that our leaders would rather see us do less than trust in the potential payoff of pursuits that aren’t as visible or ones that don’t pay off as quickly. The ability to see something is often a large component of trust. So if we are doing any of these ‘play’ activities at work, which are invisible in terms of their contribution to the learning process, we feel guilty because we don’t believe we are doing what we get paid to do.</p> | |||
<p>If you aren’t the CEO or the VP of HR, you can’t magic a policy that says ‘all employees shall do something meaningful away from their desks each day and won’t be judged for it’, so what can you do to learn better at work? Find a way to let go of the guilt baggage when you invest in proven, effective learning techniques that are out of sync with your corporate culture.</p> | |||
<p><strong>How do you let go of the guilt?</strong> How do you not feel it every time you stand up to go for a walk, close your email and put on some headphones, or have a coffee with a colleague to discuss an idea you have? Because sometimes knowing you are doing the right thing doesn’t translate into feeling it, and that’s where guilt comes in.</p> | |||
<p>Guilt is insidious. Not only do we usually feel guilt, but then we feel guilty about feeling guilty. Like, I go to visit my grandmother in her old age home mostly because I feel guilty about not going, and then I feel guilty because I’m primarily motivated by guilt! Like if I were a better person I would be doing it out of love, but I’m not, so that makes me terrible.</p> | |||
<p>Breaking this cycle is hard. Like anything new, it’s going to feel unnatural for a while but it can be done.</p> | |||
<p>How? Be kind to yourself.</p> | |||
<p>This may sound a bit touchy-feely, but it is really a just a cognitive-behavioral approach with a bit of mindfulness thrown in. Dennis Tirch has done a lot of research into the positive benefits of compassion for yourself on worry, panic and fear. And what is guilt but worry that you aren’t doing the right thing, fear that you’re not a good person, and panic about what to do about it?</p> | |||
<p>In his book, <em><a href="https://amzn.to/3CBN3Wz">The Compassionate-Mind Guide to Overcoming Anxiety</a></em>, Tirch writes:</p> | |||
<blockquote class="wp-block-quote"><p><em>the compassion focused model is based on research showing that some of the ways in which we instinctively regulate our response to threats have evolved from the attachment system that operates between infant and mother and from other basic relationships between mutually supportive people. We have specific systems in our brains that are sensitive to the kindness of others, and the experience of this kindness has a major impact on the way we process these threats and the way we process anxiety in particular.</em></p></blockquote> | |||
<p>The Dalai Lama defines compassion as “a sensitivity to the suffering of others, with a commitment to do something about it,” and Tirch also explains that we are greatly impacted by our compassion to ourselves.</p> | |||
<p>In order to manage and overcome emotions like guilt that can prevent us from learning and achieving, we need to treat ourselves the same way we would <a href="https://fs.blog/journey-of-self-discovery/">the person we love most in the world</a>. “We can direct our attention to inner images that evoke feelings of kindness, understanding, and support,” writes Tirch.</p> | |||
<p>So the next time you look up from that proposal on the new infrastructure schematics and see that the sun is shining, go for a walk, notice where you are, and give your mind a chance to go into diffuse-mode and process what you’ve been focusing on all morning. And give yourself a hug for doing it.</p> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use> | |||
</svg> Accueil</a> • | |||
<a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use> | |||
</svg> Suivre</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use> | |||
</svg> Pro</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use> | |||
</svg> Email</a> • | |||
<abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use> | |||
</svg> Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend><svg class="icon icon-brightness-contrast"> | |||
<use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use> | |||
</svg> Thème</legend> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> Clair | |||
</label> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
function loadThemeForm(templateName) { | |||
const themeSelectorTemplate = document.querySelector(templateName) | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
themeSelectorTemplate.replaceWith(form) | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const cssRule of styleSheet.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
styleSheet.insertRule(mediaRule.cssText) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
loadThemeForm('#theme-selector') | |||
} | |||
}) | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,125 @@ | |||
title: Let Go of the Learning Baggage | |||
url: https://fs.blog/learning-baggage/ | |||
hash_url: 33c9132d6cb60f0f40f9b926b596a3c7 | |||
<p>We all want to learn better. That means retaining information, processing it, being able to use it when needed. More knowledge means better instincts; better insights into opportunities for both you and your organization. You will ultimately produce better work if you give yourself the space to learn. Yet often organizations get in the way of learning.</p> | |||
<p><strong>How do we learn how to learn?</strong> Usually in school, combined with instructions from our parents, we cobble together an understanding that allows us to move forward through the school years until we matriculate into a job. Then because most initial learning comes from doing, less from books, we switch to an on-the-fly approach.</p> | |||
<p>Which is usually an absolute failure. Why? In part, we layer our social values on top and end up with a hot mess of guilt and fear that stymies the learning process.</p> | |||
<p>Learning is necessary for our success and personal growth. But we can’t maximize the time we spend learning because our feelings about what we ‘should’ be doing get in the way.</p> | |||
<p>We are trained by our modern world to organize our day into mutually exclusive chunks called ‘work’, ‘play’, and ‘sleep’. One is done at the office, the other two are not. We are not allowed to move fluidly between these chunks, or combine them in our 24 hour day. Lyndon Johnson got to nap at the office in the afternoon, likely because he was President and didn’t have to worry about what his boss was going to think. Most of us don’t have this option. And now in the open office debacle we can’t even have a quiet 10 minutes of rest in our cubicles.</p> | |||
<p>We have become trained to equate working with doing. Thus the ‘doing’ has value. We deserve to get paid for this. And, it seems, only this.</p> | |||
<p><strong>What does this have to do with learning?</strong></p> | |||
<p>It’s this same attitude that we apply to the learning process when we are older, with similarly unsatisfying results.</p> | |||
<p>If we are learning for work, then in our brains learning = work. So we have to do it during the day. At the office. And if we are not learning, then we are not working. We think that walking is not learning. It’s ‘taking a break’. We instinctively believe that reading is learning. Having discussions about what you’ve read, however, is often not considered work, again it’s ‘taking a break’.</p> | |||
<p>To many, working means sitting at your desk for eight hours a day. Being physically present, mental engagement is optional. It means pushing out emails and rushing to meetings and generally getting nothing done. We’ve looked at the focus aspect of this before. But what about the learning aspect?</p> | |||
<p><strong>Can we change how we approach learning, letting go of the guilt associated with not being visibly active, and embrace what seems counter-intuitive?</strong></p> | |||
<p>Thinking and talking are useful elements of learning. And what we learn in our ‘play’ time can be valuable to our ‘work’ time, and there’s nothing wrong with moving between the two (or combining them) during our day.</p> | |||
<p>When mastering a subject, our brains actually use different types of processing. <a href="https://fs.blog/knowledge-project-podcast/barbara-oakley/">Barbara Oakley</a> explains in <em><a href="https://amzn.to/3e7PgzV">A Mind for Numbers: How to Excel at Math and Science (even if you flunked algebra)</a></em> that <strong>our brain has two general modes of thinking – ‘focused’ and ‘diffuse’ – and both of these are valuable and required in the learning process</strong>.</p> | |||
<p>The focused mode is what we traditionally associate with learning. Read, dive deep, absorb. Eliminate distractions and get into the material. Oakley says “the focused mode involves a direct approach to solving problems using rational, sequential, analytical approaches. … Turn your attention to something and bam – the focused mode is on, like the tight, penetrating beam of a flashlight.”</p> | |||
<p>But the focused mode is not the only one required for learning because we need time to process what we pick up, to get this new information integrated into our existing knowledge. We need time to make new connections. This is where the diffuse mode comes in.</p> | |||
<blockquote class="wp-block-quote"><p>Diffuse-mode thinking is what happens when you relax your attention and just let your mind wander. This relaxation can allow different areas of the brain to hook up and return valuable insights. … Diffuse-mode insights often flow from preliminary thinking that’s been done in the focused mode.</p></blockquote> | |||
<p>Relying solely on the focused mode to learn is a path to burnout. We need the diffuse mode to cement our ideas, put knowledge into memory and free up space for the next round of focused thinking. We need the diffuse mode to <a href="https://fs.blog/krista-tippett-becoming-wise/">build wisdom</a>. <strong>So why does diffuse mode thinking at work generally involve feelings of guilt?</strong></p> | |||
<p>Oakley’s recommendations for ‘diffuse-mode activators’ are: go to the gym, walk, play a sport, go for a drive, draw, take a bath, listen to music (especially without words), meditate, sleep. Um, aren’t these all things to do in my ‘play’ time? And sleep? It’s a whole time chunk on its own.</p> | |||
<p>Most organizations do not promote a culture that allow these activities to be integrated into the work day. Go to the gym on your lunch. Sleep at home. Meditate on a break. Essentially do these things while we are not paying you.</p> | |||
<p><strong>We ingest this way of thinking, associating the value of getting paid with the value of executing our task list</strong>. If something doesn’t directly contribute, it’s not valuable. If it’s not valuable, I need to do it in my non-work time or not at all. This is learned behavior from our organizational culture, and it essentially communicates that our leaders would rather see us do less than trust in the potential payoff of pursuits that aren’t as visible or ones that don’t pay off as quickly. The ability to see something is often a large component of trust. So if we are doing any of these ‘play’ activities at work, which are invisible in terms of their contribution to the learning process, we feel guilty because we don’t believe we are doing what we get paid to do.</p> | |||
<p>If you aren’t the CEO or the VP of HR, you can’t magic a policy that says ‘all employees shall do something meaningful away from their desks each day and won’t be judged for it’, so what can you do to learn better at work? Find a way to let go of the guilt baggage when you invest in proven, effective learning techniques that are out of sync with your corporate culture.</p> | |||
<p><strong>How do you let go of the guilt?</strong> How do you not feel it every time you stand up to go for a walk, close your email and put on some headphones, or have a coffee with a colleague to discuss an idea you have? Because sometimes knowing you are doing the right thing doesn’t translate into feeling it, and that’s where guilt comes in.</p> | |||
<p>Guilt is insidious. Not only do we usually feel guilt, but then we feel guilty about feeling guilty. Like, I go to visit my grandmother in her old age home mostly because I feel guilty about not going, and then I feel guilty because I’m primarily motivated by guilt! Like if I were a better person I would be doing it out of love, but I’m not, so that makes me terrible.</p> | |||
<p>Breaking this cycle is hard. Like anything new, it’s going to feel unnatural for a while but it can be done.</p> | |||
<p>How? Be kind to yourself.</p> | |||
<p>This may sound a bit touchy-feely, but it is really a just a cognitive-behavioral approach with a bit of mindfulness thrown in. Dennis Tirch has done a lot of research into the positive benefits of compassion for yourself on worry, panic and fear. And what is guilt but worry that you aren’t doing the right thing, fear that you’re not a good person, and panic about what to do about it?</p> | |||
<p>In his book, <em><a href="https://amzn.to/3CBN3Wz">The Compassionate-Mind Guide to Overcoming Anxiety</a></em>, Tirch writes:</p> | |||
<blockquote class="wp-block-quote"><p><em>the compassion focused model is based on research showing that some of the ways in which we instinctively regulate our response to threats have evolved from the attachment system that operates between infant and mother and from other basic relationships between mutually supportive people. We have specific systems in our brains that are sensitive to the kindness of others, and the experience of this kindness has a major impact on the way we process these threats and the way we process anxiety in particular.</em></p></blockquote> | |||
<p>The Dalai Lama defines compassion as “a sensitivity to the suffering of others, with a commitment to do something about it,” and Tirch also explains that we are greatly impacted by our compassion to ourselves.</p> | |||
<p>In order to manage and overcome emotions like guilt that can prevent us from learning and achieving, we need to treat ourselves the same way we would <a href="https://fs.blog/journey-of-self-discovery/">the person we love most in the world</a>. “We can direct our attention to inner images that evoke feelings of kindness, understanding, and support,” writes Tirch.</p> | |||
<p>So the next time you look up from that proposal on the new infrastructure schematics and see that the sun is shining, go for a walk, notice where you are, and give your mind a chance to go into diffuse-mode and process what you’ve been focusing on all morning. And give yourself a hug for doing it.</p> |
@@ -0,0 +1,255 @@ | |||
<!doctype html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title>Avantages et limites (archive) — David Larlet</title> | |||
<meta name="description" content="Publication mise en cache pour en conserver une trace."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2021-01-20.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<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> | |||
<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> | |||