浏览代码

Links

master
David Larlet 9 个月前
父节点
当前提交
e36dffe300
签署人:: David Larlet <david@larlet.fr> GPG 密钥 ID: 3E2953A359E7E7BD

+ 186
- 0
cache/2024/2a1235215c277ebb8a0e9acb7ffd91e0/index.html 查看文件

@@ -0,0 +1,186 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- 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>drab - A Headless Custom Element Library (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)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- 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://drab.robino.dev/">

<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>drab - A Headless Custom Element Library</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://drab.robino.dev/" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-02-03
</p>
</nav>
<hr>
<p><strong>drab</strong> focuses on providing JavaScript functionality where it’s most useful. Many of the elements are helpful wrappers around browser APIs. Here are some of the features of the library.</p>
<ul><li>Each element is a <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements">custom element</a>. So you can use them <a href="http://drab.robino.dev/getting-started/#frameworks">with a framework</a>, without one, or even directly in a markdown file. These components will work <a href="https://jakelazaroff.com/words/web-components-will-outlive-your-javascript-framework/">regardless of your project’s architecture</a>.</li><li><strong>drab</strong> does <em>not</em> use the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM">shadow DOM</a>, so you can style content within these elements as usual with CSS.</li><li>Since you provide the HTML, these elements can take advantage of what JavaScript frameworks excel at—creating reusable markup that can be server side rendered.</li><li>Each element can be imported, extended, named, and used however you see fit.</li></ul>
<ul><li><strong>drab</strong> has zero dependencies.</li></ul>
<ul><li>Elements can be installed as a package (recommended), or utilized without writing any JavaScript by adding a <code>script</code> tag to your document.</li><li>Each element can be configured through HTML attributes, making it possible to use an alternative language for your backend.</li></ul>
<ul><li>Uses the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API">web animations API</a> for transitions.</li><li>Transitions are disabled for users who prefer reduced motion.</li><li>Extend the <code>Animate</code> element to build your own elements.</li></ul>
<p>Find an bug or have an idea? Feel free to create an issue on <a href="https://github.com/rossrobino/drab">GitHub</a>.</p>
<p>Since this is an headless library, simple elements like a badge that can be easily created with HTML and CSS are not included. Elements such as a select, or a date picker are also not included in favor of the native HTML elements.</p>
<p>This library is built with <a href="https://vitejs.dev">Vite</a>, <a href="https://domco.robino.dev">domco</a>, and TypeScript. The package contents are located in <code>src/package</code>.</p>
<ol><li>Clone the <a href="https://github.com/rossrobino/drab">repository</a></li><li><code>bun i</code></li><li><code>bun dev</code></li></ol>
<ol><li>Add or edit the element in <code>src/package</code>—each element should extend <code>Base</code> or <code>Animate</code>. Each element has a <code>index.ts</code> file with the source code, and then a <code>define.ts</code> file where it is imported and called for use with a CDN.</li><li>Add or edit the example in <code>src/docs</code>.</li><li>Export the element from <code>src/package/index.ts</code>.</li><li>Run <code>bun doc</code> to document your element with <a href="https://typedoc.org/">TypeDoc</a>.</li><li>Add the element as an entry point to <code>tsup.config.ts</code>, then run <code>bun package</code> to build with <a href="https://tsup.egoist.dev/">tsup</a>.</li></ol>
</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>

+ 10
- 0
cache/2024/2a1235215c277ebb8a0e9acb7ffd91e0/index.md 查看文件

@@ -0,0 +1,10 @@
title: drab - A Headless Custom Element Library
url: https://drab.robino.dev/
hash_url: 2a1235215c277ebb8a0e9acb7ffd91e0
archive_date: 2024-02-03
og_image:
description: A headless custom element library.
favicon: https://drab.robino.dev/favicon.svg
language: en_US

<p><strong>drab</strong> focuses on providing JavaScript functionality where it’s most useful. Many of the elements are helpful wrappers around browser APIs. Here are some of the features of the library.</p><ul><li>Each element is a <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_custom_elements">custom element</a>. So you can use them <a href="http://drab.robino.dev/getting-started/#frameworks">with a framework</a>, without one, or even directly in a markdown file. These components will work <a href="https://jakelazaroff.com/words/web-components-will-outlive-your-javascript-framework/">regardless of your project’s architecture</a>.</li><li><strong>drab</strong> does <em>not</em> use the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_components/Using_shadow_DOM">shadow DOM</a>, so you can style content within these elements as usual with CSS.</li><li>Since you provide the HTML, these elements can take advantage of what JavaScript frameworks excel at—creating reusable markup that can be server side rendered.</li><li>Each element can be imported, extended, named, and used however you see fit.</li></ul><ul><li><strong>drab</strong> has zero dependencies.</li></ul><ul><li>Elements can be installed as a package (recommended), or utilized without writing any JavaScript by adding a <code>script</code> tag to your document.</li><li>Each element can be configured through HTML attributes, making it possible to use an alternative language for your backend.</li></ul><ul><li>Uses the <a href="https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API">web animations API</a> for transitions.</li><li>Transitions are disabled for users who prefer reduced motion.</li><li>Extend the <code>Animate</code> element to build your own elements.</li></ul><p>Find an bug or have an idea? Feel free to create an issue on <a href="https://github.com/rossrobino/drab">GitHub</a>.</p><p>Since this is an headless library, simple elements like a badge that can be easily created with HTML and CSS are not included. Elements such as a select, or a date picker are also not included in favor of the native HTML elements.</p><p>This library is built with <a href="https://vitejs.dev">Vite</a>, <a href="https://domco.robino.dev">domco</a>, and TypeScript. The package contents are located in <code>src/package</code>.</p><ol><li>Clone the <a href="https://github.com/rossrobino/drab">repository</a></li><li><code>bun i</code></li><li><code>bun dev</code></li></ol><ol><li>Add or edit the element in <code>src/package</code>—each element should extend <code>Base</code> or <code>Animate</code>. Each element has a <code>index.ts</code> file with the source code, and then a <code>define.ts</code> file where it is imported and called for use with a CDN.</li><li>Add or edit the example in <code>src/docs</code>.</li><li>Export the element from <code>src/package/index.ts</code>.</li><li>Run <code>bun doc</code> to document your element with <a href="https://typedoc.org/">TypeDoc</a>.</li><li>Add the element as an entry point to <code>tsup.config.ts</code>, then run <code>bun package</code> to build with <a href="https://tsup.egoist.dev/">tsup</a>.</li></ol>

+ 188
- 0
cache/2024/75c7b6350ba18a5a11ee3bbf8b3b64be/index.html 查看文件

@@ -0,0 +1,188 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- 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>Google will no longer back up the Internet: Cached webpages are dead (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)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- 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://arstechnica.com/gadgets/2024/02/google-search-kills-off-cached-webpages/">

<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>Google will no longer back up the Internet: Cached webpages are dead</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://arstechnica.com/gadgets/2024/02/google-search-kills-off-cached-webpages/" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-02-03
</p>
</nav>
<hr>
<figure class="intro-image intro-left">
<img src="https://cdn.arstechnica.net/wp-content/uploads/2017/05/google-800x523.jpg" alt="A large Google logo is displayed amidst foliage.">
<figcaption class="caption"></figcaption> </figure>

<p>Google will no longer be keeping a backup of the entire Internet. Google Search's "cached" links have long been an alternative way to load a website that was down or had changed, but now the company is killing them off. Google "Search Liaison" Danny Sullivan confirmed the feature removal in an <a href="https://twitter.com/searchliaison/status/1753156161509916873">X post</a>, saying the feature "was meant for helping people access pages when way back, you often couldn't depend on a page loading. These days, things have greatly improved. So, it was decided to retire it."</p>
<p>The feature has been appearing and disappearing for some people since December, and currently, we don't see any cache links in Google Search. For now, you can still build your own cache links even without the button, just by going to "https://webcache.googleusercontent.com/search?q=cache:" plus a website URL, or by typing "cache:" plus a URL into Google Search. For now, the cached version of <a href="https://webcache.googleusercontent.com/search?q=cache:https://arstechnica.com/">Ars Technica</a> seems to still work. All of Google's support pages about cached sites have been taken down.</p>
<p>Cached links used to live under the drop-down menu next to every search result on Google's page. As the Google web crawler scoured the Internet for new and updated webpages, it would also save a copy of whatever it was seeing. That quickly led to Google having a backup of basically the entire Internet, using what was probably an uncountable number of petabytes of data. Google is in <a href="https://arstechnica.com/google/2024/01/google-ceo-sundar-pichai-promises-another-year-of-google-layoffs/">the era of cost savings</a> now, so assuming Google can just start deleting cache data, it can probably free up a lot of resources.</p>

<pre><code>
</code></pre>
<p>Cached links were great if the website was down or quickly changed, but they also gave some insight over the years about how the "<a href="https://developers.google.com/search/docs/crawling-indexing/googlebot">Google Bot</a>" web crawler views the web. The pages aren't necessarily rendered like how you would expect. In the past, pages were text-only, but slowly the Google Bot learned about media and other rich data like javascript (there are <a href="https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers">a ton</a> of specialized Google Bots now). A lot of Google Bot details are shrouded in secrecy to hide from SEO spammers, but you could learn a lot by investigating what cached pages look like. In 2020, Google switched to <a href="https://developers.google.com/search/blog/2020/03/announcing-mobile-first-indexing-for">mobile-by-default</a>, so for instance, if you visit that cached Ars link from earlier, you get the mobile site. If you run a website and want to learn more about what a site looks like to a Google Bot, you can still do that, though only for your own site, from the <a href="https://t.co/KWIuvy51Zi">Search Console</a>.</p>
<p>The death of cached sites will mean the Internet Archive has a larger burden of archiving and tracking changes on the world's webpages.</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>

+ 21
- 0
cache/2024/75c7b6350ba18a5a11ee3bbf8b3b64be/index.md 查看文件

@@ -0,0 +1,21 @@
title: Google will no longer back up the Internet: Cached webpages are dead
url: https://arstechnica.com/gadgets/2024/02/google-search-kills-off-cached-webpages/
hash_url: 75c7b6350ba18a5a11ee3bbf8b3b64be
archive_date: 2024-02-03
og_image: https://cdn.arstechnica.net/wp-content/uploads/2017/05/google-760x380.jpg
description: Google Search will no longer make site backups while crawling the web.
favicon: https://cdn.arstechnica.net/wp-content/themes/ars/assets/img/material-ars-db41652381.png
language: en_US

<figure class="intro-image intro-left">
<img src="https://cdn.arstechnica.net/wp-content/uploads/2017/05/google-800x523.jpg" alt="A large Google logo is displayed amidst foliage.">
<figcaption class="caption"></figcaption> </figure>

<p>Google will no longer be keeping a backup of the entire Internet. Google Search's "cached" links have long been an alternative way to load a website that was down or had changed, but now the company is killing them off. Google "Search Liaison" Danny Sullivan confirmed the feature removal in an <a href="https://twitter.com/searchliaison/status/1753156161509916873">X post</a>, saying the feature "was meant for helping people access pages when way back, you often couldn't depend on a page loading. These days, things have greatly improved. So, it was decided to retire it."</p>
<p>The feature has been appearing and disappearing for some people since December, and currently, we don't see any cache links in Google Search. For now, you can still build your own cache links even without the button, just by going to "https://webcache.googleusercontent.com/search?q=cache:" plus a website URL, or by typing "cache:" plus a URL into Google Search. For now, the cached version of <a href="https://webcache.googleusercontent.com/search?q=cache:https://arstechnica.com/">Ars Technica</a> seems to still work. All of Google's support pages about cached sites have been taken down.</p>
<p>Cached links used to live under the drop-down menu next to every search result on Google's page. As the Google web crawler scoured the Internet for new and updated webpages, it would also save a copy of whatever it was seeing. That quickly led to Google having a backup of basically the entire Internet, using what was probably an uncountable number of petabytes of data. Google is in <a href="https://arstechnica.com/google/2024/01/google-ceo-sundar-pichai-promises-another-year-of-google-layoffs/">the era of cost savings</a> now, so assuming Google can just start deleting cache data, it can probably free up a lot of resources.</p>

<pre><code>
</code></pre>
<p>Cached links were great if the website was down or quickly changed, but they also gave some insight over the years about how the "<a href="https://developers.google.com/search/docs/crawling-indexing/googlebot">Google Bot</a>" web crawler views the web. The pages aren't necessarily rendered like how you would expect. In the past, pages were text-only, but slowly the Google Bot learned about media and other rich data like javascript (there are <a href="https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers">a ton</a> of specialized Google Bots now). A lot of Google Bot details are shrouded in secrecy to hide from SEO spammers, but you could learn a lot by investigating what cached pages look like. In 2020, Google switched to <a href="https://developers.google.com/search/blog/2020/03/announcing-mobile-first-indexing-for">mobile-by-default</a>, so for instance, if you visit that cached Ars link from earlier, you get the mobile site. If you run a website and want to learn more about what a site looks like to a Google Bot, you can still do that, though only for your own site, from the <a href="https://t.co/KWIuvy51Zi">Search Console</a>.</p>
<p>The death of cached sites will mean the Internet Archive has a larger burden of archiving and tracking changes on the world's webpages.</p>

+ 206
- 0
cache/2024/9750840b448f07a2f2594bb25da23836/index.html 查看文件

@@ -0,0 +1,206 @@
<!doctype html><!-- This is a valid HTML5 document. -->
<!-- Screen readers, SEO, extensions and so on. -->
<html lang="en">
<!-- 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>Tech doesn’t make our lives easier. It makes them faster (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)">
<!-- Is that even respected? Retrospectively? What a shAItshow…
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ -->
<meta name="robots" content="noai, noimageai">
<!-- 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://brettscott.substack.com/p/tech-doesnt-make-our-lives-easier">

<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>Tech doesn’t make our lives easier. It makes them faster</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://brettscott.substack.com/p/tech-doesnt-make-our-lives-easier" title="Lien vers le contenu original">Source originale</a>
<br>
Mis en cache le 2024-02-03
</p>
</nav>
<hr>
<p>We have far more technology than any other generation in human history, and it allows us to do things in a fraction of the time that our ancient ancestors did. It must surely follow that we’re the most relaxed generation of all time. Agree?</p>
<p><span>You might find that claim dubious, but if adverts are to be believed, AI, digital payments, self-driving cars and automation in general is only there to make our lives </span><em>easier. </em><span>We carry in our pockets a powerful computer that can take on the role of your personal navigator, translator, matchmaker, meditation teacher, and banker. With so many of our tasks automated, our leisure time must have expanded greatly. Right?</span></p>
<p><span>It matters how we frame this question. If you ask ‘are we working less than before’, research is ambiguous. In rich countries people work less than labourers who toiled during the 19th century industrial revolution, but more than our ancient ancestors. If you ask ‘are our lives more leisurely than ever’, the answer is less ambiguous. Many people feel their lives are frenetic. We’re not only expected to work a lot. We’re expected to</span><em> consume</em><span> a lot. Ask ‘are we more chilled out than ever?’ and the answer is no. People are strung out, stressed out, and burned out.</span></p>
<p><span>There’s more to work than the amount of time spent doing it. Carving a wooden door frame for ten hours in the 1600s is a very different emotional experience to jumping between a hundred emails, meetings and micro-tasks for four hours in 2023. Levels of workplace burnout have skyrocketed. We might think we’ve escaped Charles Dickens’ 19</span><sup>th</sup><span> century sweatshop dystopia, but our global economy now apportions drudge-work to labourers in the Global South while middle-class workers plug into an attention-burning digital matrix that yokes us far beyond ordinary work hours. There’s all sorts of ‘half-work’ going on, such as checking emails while eating breakfast, and promoting yourself via Instagram while on holiday. Even our consumption has become unpaid work: every act of buying something with a card, watching a streaming show, or using Google Maps to get to a concert produces data that will train AIs for big tech.</span></p>
<p>It’s easy to brush these off as unintended by-products of digital life, a necessary downside to the great benefits brought to us by tech. To truly understand our predicament, however, requires us to look at this systemically. We don’t just live in any economy. We live in a mega-scale corporate capitalist economy, and in such a setting technology is never used to save time. It’s used to speed up production and consumption in order to expand the system. The basic rule is this: technology doesn't make our lives easier. It makes them faster and more crammed with stuff.</p>
<div class="captioned-image-container"><figure><a class="image-link is-viewable-img image2" target="_blank" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc9c525fe-0171-48bc-99c1-53bb8e1887e9_1000x1312.jpeg" data-component-name="Image2ToDOM" rel></a><figcaption class="image-caption">Ye olde rough path to the meadow</figcaption></figure></div>
<p>Let’s look at an example. Imagine it’s the mid-1700s and you live three miles from the meadow where you work the soil. It takes you an hour to walk there along a rough path. Now fast-forward two hundred years. The rough path has been replaced with a smooth highway, and now it takes only ten minutes to drive to the same point by car. Surely you’ve saved 50 minutes? Maybe you can relax in that time, read poetry and smell flowers.</p>
<p><span>But that’s not what happens. In our actual system the technology will be enlisted to expand and accelerate everything. Your meadow will be paved over and replaced with a mall, and you’ll now live in the suburbs of a metropolis. You’re still going to travel for an hour to work, but you’ll now drive at 30mph for 30 miles, instead of walking at 3mph for three. You don’t get to liberate time for yourself by holding your geographic scale constant while your speed increases. No, your geographic scale will expand as your speed does, and this is how mega-cities like Los Angeles develop. They’re </span><em>catalyzed</em><span>, or unleashed, by cars.</span></p>
<p><hr></p>
<p><em>Want to listen to this piece? Find it in audio form on ASOMOCO Audio Edition</em></p>
<p><hr></p>
<p>This principle applies far beyond cars. Our modern lives are built from globe-spanning supply chains that require vast logistics systems and incredible communication speed to make sense. Each technology not only unlocks a new state of expanded acceleration (that will be hardcoded into our lives as the new basis for our survival), but will also be used as the basis for new technologies to continue that process. The vast majority of people do not experience this technology as ‘liberating’ them. Rather, they experience it as something that propagates itself around them, and something they must race to keep up with in order to not be ‘left behind’.</p>
<p>Consider the current AI hype. Believing that AI will save time is like being a person in the late 1800s seeing their first car and thinking “oh how easy it’ll be to get to the meadow now!” People back then didn’t imagine that by the 1960s we’d be stuck in traffic jams for hours in mega-cities. Now apply this to AI. If we fast-forward a decade, it will have recalibrated the entire economy to a state of higher acceleration where you’ll be expected to do far more, at much greater scale, in the same amount of time. At that point, if you’re not using it you’ll feel like a 19th century villager who finds themselves trying to walk to work in the middle of modern Los Angeles.</p>
<p class="button-wrapper" data-attrs='{"url":"https://brettscott.substack.com/p/tech-doesnt-make-our-lives-easier?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share","text":"Share","action":null,"class":"button-wrapper"}' data-component-name="ButtonCreateButton"><a class="button primary button-wrapper" href="https://brettscott.substack.com/p/tech-doesnt-make-our-lives-easier?utm_source=substack&amp;utm_medium=email&amp;utm_content=share&amp;action=share" rel><span>Share</span></a></p>
<p><span>This is why the stories we hear about tech are so rife with cognitive dissonance. Marketers and futurists first place themselves in the position of our proverbial villager - hyping the convenience of AI - but if you say you don’t need it they fast-forward their minds into the future and issue dire warnings that if don’t adopt it you’ll be </span><em>left behind</em><span>. What they’re trying to say, in their convoluted and euphemistic way, is this: </span><strong>the global capitalist system doesn’t care whether or not you want to use the technology, or whether you believe it should be used to save your time</strong><span>. </span><strong>You will have to use it, and you’re not in charge of how it will be used systemically</strong><span>. In fact, </span><em>nobody</em><span> is really in charge. Our personal desires will always play second fiddle to the systemic logic of a large-scale economy that is blind to anything except the profit motive. In the absence of us being able to get together and demand something different, our system will always just </span><em>default</em><span> towards increasingly speed and growth. It only has one gear.</span></p>
<p>This is why innovation futurists get stuck in doublethink. They tell you technological change is ‘inevitable’, and that you better sync up, but soften the blow by telling you it’s all happening because you desire it and will benefit. We have to emotionally cope with the state of inertia we’re in, so we accept this circular reasoning. </p>
<p><span>Let’s illustrate this by returning to the Los Angeles example. L.A. only exists in its current form </span><em>because</em><span> of cars, which means life will be difficult there if you don’t have one. In this scenario you’re essentially held hostage by the auto industry, whose products are the very thing that have catalysed our dependence on giant megacities. Rather than acknowledge that, we lapse into a type of </span><a href="https://en.wikipedia.org/wiki/Stockholm_syndrome" rel>Stockholm Syndrome</a><span> where we choose to imagine the car as a saviour that grants us our independence in that context. In reality, the car is just a minimum requirement to scrape by in a car-catalysed environment (to explore this, check out this piece about navigating </span><a href="https://walkingtheworld.substack.com/p/la-without-a-car-part-2" rel>LA by foot</a><span>). Certainly, there are many people in LA who have cars, but who struggle just as much as our ancient ancestors did. There are also many without cars, who struggle far more.</span></p>
<div class="captioned-image-container"><figure><a class="image-link is-viewable-img image2" target="_blank" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6713038e-bfce-46fb-932e-796f419b04ac_2048x1253.jpeg" data-component-name="Image2ToDOM" rel></a><figcaption class="image-caption"><span>Life in the shadows of LA (thanks to </span><a href="https://walkingtheworld.substack.com/p/la-without-a-car-part-2" rel>Chris Arnade</a><span> for allowing use of this image)</span></figcaption></figure></div>
<p><span>This topic is close to my heart, because I </span><a href="https://www.penguin.co.uk/books/439997/cloudmoney-by-scott-brett/9781529111484" rel>campaign to protect physical cash</a><span> in places where ‘cashless’ digital payments are spreading. I characterise cash as the </span><a href="https://brettscott.substack.com/p/the-luddites-guide-to-defending-physical-cash" rel>bicycle of payments</a><span>, but the conventional story is that it’s the horse-cart, and that digital payments are rising because they’re more efficient. In the standard view, all the downsides of digital payment (like surveillance, cyber-hacking and centralization of power into Big Finance and Tech) are just manageable by-products of our desire for convenience. Whole sections of London are now cashless (aka. serfdoms of the banking sector), and when asked why, many Londoners do say it’s because cash is ‘inconvenient’, parroting a story that’s also told by the businesses that refuse cash.</span></p>
<div class="captioned-image-container"><figure><a class="image-link is-viewable-img image2" target="_blank" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbb69f17f-4d30-446a-bf68-24545a00386f_1000x1333.jpeg" data-component-name="Image2ToDOM" rel></a><figcaption class="image-caption">“We only do this because it’s for your own good”</figcaption></figure></div>
<p>What’s fascinating, however, is that these very same people didn’t experience this inconvenience ten years ago, when it felt totally normal to use cash in the UK. If I hop across to Germany, people of exactly the same social class don’t experience this inconvenience even now. In fact, there are hundreds of millions of people across the world who view the cash system as easy to use. So, why do perceptions of inconvenience change depending on where you go and when?</p>
<p><span>Convenience and inconvenience are not absolute properties that can be universally measured or experienced. In my birth country of South Africa, where the pace of life and expectations are different, cash feels totally normal, but in London it doesn’t. That’s because the city is moving into a state of higher automation-acceleration. In the early phases of their London takeover, digital payments companies invested hugely into nudging people towards the belief that cash was inconvenient (through marketing campaigns, and so on), but it’s only when the vortex of automation reorganized the environment that it started to </span><em>feel</em><span> like that. If you’re trying to use cash in Sweden, where many service jobs have been replaced by cash-refusing machines plugged directly into the banking sector (via Visa and Mastercard), it’s going to feel like you’re swimming against the tide. It literally will start to feel arduous to use cash, because the ATMs have been shut down, the branches won’t take it, and you keep getting refused when you try use it. What’s actually happening is that digital payments are being used to accelerate everything, but if you’re a person trying to live a slower life amidst all the others who are trying to keep up, you’ll find yourself out of sync. You’ll not only be culturally shamed for not adopting the new thing, but at some point you’ll simply be blocked, because the foundations of your existence - like the London train system - will force you down the automated path.</span></p>
<div class="captioned-image-container"><figure><a class="image-link is-viewable-img image2" target="_blank" href="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F87f163c4-78e3-45dc-ac73-3ee53687a97c_621x760.jpeg" data-component-name="Image2ToDOM" rel></a><figcaption class="image-caption">“You can use any shade of payment, as long as its digital”</figcaption></figure></div>
<p>Because we’re social animals we tend to go along with the trend, and because we live under capitalist acceleration the trend is always one way, because our system only has one gear. We also have the ability to edit our memories, so can find ways to convince ourselves that this was all our own choice. That very same adaptability, though, prevents us from using the new tech to save time, because – under a system with a growth fetish – we’ll be expected to adapt to a new normal in which we have to do more stuff and get more stuff in the same amount of time.</p>
<p>The dark irony then, is that it is the introduction of the new tech that inspires the subsequent irritation at its absence. Twenty years ago nobody fidgeted in agitation if they had to wait ten minutes for a taxi. Now you’ll check your phone incessantly if the Uber is running three minutes later than you expected. And god forbid the driver cancels, because you’ve probably algorithmically planned everything down to the last minute. We increasingly live a ‘just in time’ life because, at a systemic level, there’s pressure to pack in as much stuff as possible at both a consumption and production level. We’re just as dissatisfied, only busier.</p>
<p><span>We face the same issue with the cashless ‘Uberfication’ of payments, but also with AI. The latter will just increase systemic acceleration, after which any situation in which the tech is not available will be perceived as ‘inconvenient’. This – in true Stockholm Syndrome style – will be transformed into a belief that AI is a saviour that helps us survive in a frenetic world (cue all the adverts that start with ‘In today’s fast-paced business environment, AI is more vital than ever…”). In reality, we’ll just be more burned out, which in turn will be weaponised to sell us more acceleration tech. </span><em>Feeling burned out? Why not automate more?</em></p>
<p><span>When trying to defend this, economists typically claim that we have unlimited desire for new stuff. Apparently, rather than dedicating the time gains from technology to leisure, we pour it into making more stuff for ourselves. This is bogus. People do have a limited desire for new things, because dedicating yourself to endless production (and consumption) comes at the expense of hanging out with your family, friends and pets, or doing stuff like walking in the wilderness or surfing the waves. What people actually desire is a </span><em>balance</em><span> of many things, but the system we’re stuck in has unlimited desire for one direction only. That’s because it’s a vortex unleashed by humans who no longer know how to stop it.</span></p>
<p><span>In the mythology of Silicon Valley, and in corporate capitalism more generally, it’s believed that we expand alongside our system, and that new products are turning us into fuller expressions of ourselves. In reality, we’re biological beings with finite capacities ensnared within an economy with an acceleration drive, and its constant attempt to expand just crowds out other stuff in our lives. It’s like opening the tap in a bath that’s already full, and then watching the new water push other water into the overflow. Beyond the ‘overflow’ point, all the happens is that we become more confused, bloated and strung out. The requirement to pack more into the same time just fragments our attention and erodes our patience, which again will be weaponised: </span><em>feeling impatient? Why not speed things up?</em></p>
<p><span>The problem goes deeper than this. Increasingly our tech also opens us up to new vectors of anxiety. Regardless of whether you’re working more or less, your nervous system is now plugged into a neurotic and hypersensitive globe-spanning information system that’s constantly pushing unnecessary things into your consciousness. Perversely, this information obesity actually makes us feel more </span><em>sluggish</em><span>. We might be moving faster, but everything starts to blend into one. The whole point of digital detoxes isn’t only to slow down, but also to make you feel more in control of your life, rather than just drifting with the inertia.</span></p>
<p><span>Given that most people don’t have the spare time to overthrow corporate capitalism (or its geopolitical foundations), is there any way to break out of this? A good starting point is to go down the Zen path and to realise that all these things we’re told we need are just illusions generated by the numb logic of a system that cannot value anything except accumulation and profit. From that point we can strive to build </span><strong>balances of power</strong><span> to prevent the worst excesses of the situation coming out. That’s why I do stuff like </span><a href="https://brettscott.substack.com/p/the-luddites-guide-to-defending-physical-cash" rel>defending physical cash</a><span>. If cash is the bicycle of payments, we have to fight for bicycle lanes. Remember, the only point at which new technology will be used to make our lives easier is at the point where we have a steady-state economy where leisure is valued, rather than a growth-based one. Until that happens, let’s stop deluding ourselves.</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>

+ 15
- 0
cache/2024/9750840b448f07a2f2594bb25da23836/index.md
文件差异内容过多而无法显示
查看文件


正在加载...
取消
保存