@@ -0,0 +1,178 @@ | |||
<!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> | |||
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 Privileged Have Entered Their Escape Pods (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="#f0f0ea"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f0f0ea"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2020-06-19.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 type="text/javascript"> | |||
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://onezero.medium.com/the-privileged-have-entered-their-escape-pods-4706b4893af7"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick"> | |||
<article> | |||
<header> | |||
<h1>The Privileged Have Entered Their Escape Pods</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="https://onezero.medium.com/the-privileged-have-entered-their-escape-pods-4706b4893af7" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<main> | |||
<p>Technology gave us the dream of a cocooned future. Now we’re living it.</p> | |||
<section class="eo ep eq er es"><div class="n p"><div class="u v w x y fu ab ac"><p id="a89b" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df jr"><span class="an js jt ju jv jw jx jy jz ka dg">M</span>any of us don’t like who we have become in this pandemic but feel littl<span id="rmm">e</span> freedom to choose otherwise. Officially, we may be wearing our masks to protect others, but it sure does feel appropriate to hide our faces when we’re engaging in so many self-interested, survivalist activities in the light of day — leveraging whatever privilege we may enjoy to stock and equip our homes so they can serve as makeshift bunkers, workplaces, private schools, and hermetically sealed entertainment centers.</p> | |||
<p id="640d" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Sure, because I’m still being paid as a professor at CUNY (the City University of New York), I donated my government relief check to the local food pantry and am sending a significant portion of my income to friends who can no longer meet their basic expenses. But I also went and spent $500 on a big rubber pool for my daughter and our neighbors’ kids to use as the basis for a makeshift private summer camp. And I’ve seen similar inflatable blue bubbles all over town.</p> | |||
<p id="08f6" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">“Don’t tell anyone,” one of my neighbors told me when he came over to borrow some chlorine tablets, “but we’re thinking to ride this whole thing out in Zurich, where the numbers are better.” His wife still has her European passport, and they both have jobs that can be done entirely remotely. They’d be joining scores of people I know — not millionaires, but writers and marketers and consultants and web developers — who are resettling in Canada or Europe on the logic that their kids shouldn’t be sacrificed to their progressive parents’ sense of shame about escaping.</p> | |||
<p id="92e5" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">When I challenge him on the ethics of bailing, he snaps back, “At least the elementary school will have two less bodies to space at six-foot intervals. I’m doing you a favor.” He can’t resist showing me the photo on his phone from the rental site. It was a gorgeous, solar-powered cabin on a remote hillside with the headline “Luxury Eco-Lodge.” He smiled. “I always wanted the kids to get a Waldorf education, and now they even have an online option.”</p><blockquote class="kb"><p id="ef6a" class="kc kd fx fy b ke kf kg kh ki kj ja fo">“Don’t tell anyone, but we’re thinking to ride this whole thing out in Zurich, where the numbers are better.”</p></blockquote><p id="6395" class="im in fx io b gq kk ip iq gt kl ir is it km gy iu iv kn hb iw ix ko he iy ja eo df">It sounds idyllic. So much so that I can’t help but wonder if the threat of infection is less the reason for his newfound embrace of virtual insulation than it is the excuse.</p> | |||
<p id="0682" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">It’s certainly the message I got a couple of years ago when a few tech billionaires asked me to <a class="av fp fq fr fs ft" rel="noopener" href="/survival-of-the-richest-9ef6cddd0cc1">water test their doomsday bunker strategies</a>. Ostensibly, they were worried about “the Event” — the war, climate catastrophe, or, yes, global pandemic that ends life as we know it and forces them to retreat to their high-tech fortresses in Alaska or New Zealand. We spent most of the session discussing potential flaws in their scenario planning, such as whether the human security forces they were intending to hire could be adequately controlled once cash no longer had value. If only they could work out these last few kinks, they could safely escape from the rest of us.</p> | |||
<p id="063e" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">At the time, I saw all this paranoid prepping as misplaced guilt over what these fellows knew they were doing to the world. It seemed to me that they were in a trap, building heinously extractive companies in order to earn enough money to insulate themselves from the reality they were creating by earning money in that way. Instead of figuring out how to get away from the rest of us, I told them, they might want to focus on making the world a place from which they wouldn’t have to retreat.</p> | |||
<p id="a7f5" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">But I’m just an author and media theorist, after all, not a scholar of catastrophe logistics. I like to think I’ve had some success identifying signals from the future, but looking back on the whole episode, I find it hard to believe this group of successful technology investors and entrepreneurs were really paying me for legitimate survival strategies so much as to serve as a kind of dungeon master for their fantasy role-playing session. The conversation was almost a form of theater dedicated to developing their collective, mutually reinforcing fantasy. These solar-powered hilltop resorts, chains of defensible floating islands, and robotically tilled eco-farms were less last resorts than escape fantasies for billionaires who aren’t quite rich enough to build space programs like Jeff Bezos and Elon Musk. No, they weren’t scared for the Event; on some level, they were hoping for it.</p> | |||
<p id="9a88" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">I don’t think these prepper billionaires are aspiring to live in the world depicted in the <em class="jb">Walking Dead</em> because they’re horrible people. Or at least not just because they’re horrible people. They’re simply succumbing to one of the dominant ethos of the digital age, which is to design one’s personal reality so meticulously that existential threats are simply removed from the equation. The leap from a Fitbit tracking your heart rate to an annual full-body cancer scan or from a doorbell surveillance camera to a network of autonomous robot sentries is really just a matter of money. No matter the level of existential security, the Netflix shows we stream are the same.</p></div></div><div class="et"><div class="n p"><div class="kp kq kr ks kt ku x kv y kw ab ac"><figure class="ky kz la lb lc et ld le paragraph-image"><div class="lf lg dg lh ac"><div class="eg eh kx"><div class="fa an dg du"><div class="li fc an"><div class="cc ev ej ew ek bx ac ex ey ez"><img alt="Image for post" class="ej ew ek bx ac fd fe ff" src="https://miro.medium.com/max/60/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg?q=20" width="2400" height="1520"/></div><img alt="Image for post" class="cc ev ej ew ek bx ac c" width="2400" height="1520"/><noscript><img alt="Image for post" class="ej ew ek bx ac" src="https://miro.medium.com/max/4800/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg" width="2400" height="1520" srcSet="https://miro.medium.com/max/552/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 276w, https://miro.medium.com/max/1104/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 552w, https://miro.medium.com/max/1280/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 640w, https://miro.medium.com/max/1456/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 728w, https://miro.medium.com/max/1632/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 816w, https://miro.medium.com/max/1808/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 904w, https://miro.medium.com/max/1984/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 992w, https://miro.medium.com/max/2000/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 1000w" sizes="1000px"/></noscript></div></div></div></div></figure></div></div></div><div class="n p"><div class="u v w x y fu ab ac"><p id="cffc" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Now, pandemics don’t necessarily bring out our best instincts either. No matter how many mutual aid networks, school committees, food pantries, race protests, or fundraising efforts in which we participate, I feel as if many of those privileged enough to do so are still making a less public, internal calculation: How much are we allowed to use our wealth and our technologies to insulate ourselves and our families from the rest of the world? And, like a devil on our shoulder, our technology is telling us to go it alone. After all, it’s an iPad, not an usPad.</p> | |||
<p id="9543" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">The more advanced the tech, the more cocooned insularity it affords. “I finally caved and got the Oculus,” one of my best friends messaged me on Signal the other night. “Considering how little is available to do out in the real world, this is gonna be a game-changer.” Indeed, his hermetically sealed, Covid-19-inspired techno-paradise was now complete. Between VR, Amazon, FreshDirect, Netflix, and a sustainable income doing crypto trading, he was going to ride out the pandemic in style. Yet while VRporn.com is certainly a safer sexual strategy in the age of Covid-19 than meeting up with partners through Tinder, every choice to isolate and insulate has its correspondingly negative impact on others.</p> | |||
<p id="df96" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">The pool for my daughter wouldn’t have gotten here were it not for legions of Amazon workers behind the scenes, <a href="https://www.theverge.com/2020/6/3/21279740/amazon-sued-nyc-warehouse-workers-covid-19-coronavirus-safety-measures" class="av fp fq fr fs ft" rel="noopener nofollow">getting infected in warehouses</a> or <a href="https://www.businessinsider.com/why-amazon-delivery-workers-feel-exposed-and-vulnerable-to-coronavirus-2020-3" class="av fp fq fr fs ft" rel="noopener nofollow">risking their health driving delivery trucks</a> all summer. As with FreshDirect or Instacart, the externalized harm to people and places is kept out of sight. These apps are designed to be addictively fast and self-contained — push-button access to stuff that can be left at the front door without any human contact. The delivery people don’t even ring the bell; a photo of the package on the stoop automagically arrives in the inbox. Like with Thomas Jefferson’s ingenious dumbwaiter, there are no signs of the human labor that brought it.</p> | |||
<p id="09cf" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Many of us once swore off Amazon after learning of the way it <a href="https://www.theguardian.com/business/2019/dec/02/new-study-deems-amazon-worst-for-aggressive-tax-avoidance" class="av fp fq fr fs ft" rel="noopener nofollow">evades taxes</a>, engages in <a href="https://www.theverge.com/2020/2/27/21156844/amazon-unions-petition-ftc-letter-anticompetitive-antitrust-investigation" class="av fp fq fr fs ft" rel="noopener nofollow">anti-competitive practices</a>, or <a href="https://www.theatlantic.com/business/archive/2018/01/amazon-mechanical-turk/551192/" class="av fp fq fr fs ft" rel="noopener nofollow">abuses labor</a>. But here we are, reluctantly re-upping our Prime delivery memberships to get the cables, webcams, and Bluetooth headsets we need to attend the Zoom meetings that now constitute our own work. Others are reactivating their long-forgotten Facebook accounts to connect with friends, all sharing highly curated depictions of their newfound appreciation for nature, sunsets, and family. And as we do, many of us are lulled further into digital isolation — being rewarded the more we accept the logic of the fully wired home, cut off from the rest of the world.</p> | |||
<p id="96d5" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">And so the <em class="jb">New York Times</em> is busy running photo spreads of <a href="https://www.nytimes.com/2020/07/24/realestate/coronavirus-second-homes-.html" class="av fp fq fr fs ft" rel="noopener nofollow">wealthy families</a> “retreating” to their summer homes — second residences worth well more than most of our primary ones — and stories about their successes working remotely from the beach or retrofitting extra bedrooms as offices. “It’s been great here,” one venture fund founder explained. “If I didn’t know there was absolute chaos in the world … I could do this forever.”</p> | |||
<p id="57d7" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">But what if we don’t have to know about the chaos in the world? That’s the real promise of digital technology. We can choose which cable news, Twitter feeds, and YouTube channels to stream — the ones that acknowledge the virus and its impacts or the ones that don’t. We can choose to continue wrestling with the civic challenges of the moment, such as whether to send kids back to school full-time, hybrid, or remotely. Or — like some of the wealthiest people in my own town — we <a href="https://www.nytimes.com/2020/07/30/nyregion/pod-schools-hastings-on-hudson.html" class="av fp fq fr fs ft" rel="noopener nofollow">can form private “pods,”</a> hire tutors, and offer our kids the kind of customized, elite education we could never justify otherwise. “Yes, we are in a pandemic,” one pod education provider explained to the <em class="jb">Times</em>. “But when it comes to education, we also feel some good may even come out of this.”</p> | |||
<p id="22f1" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">I get it. And if I had younger children and could afford these things, I might even be tempted to avail myself of them. But all of these “solutions” favor those who have already accepted the promise of digital technology to provide what the real world has failed to do. Day traders, for instance, had already discovered the power of the internet to let them earn incomes safely from home using nothing but a laptop and some capital. Under the pandemic, <a href="https://www.wsj.com/articles/everyones-a-day-trader-now-11595649609" class="av fp fq fr fs ft" rel="noopener nofollow">more people are opening up online trading accounts than ever</a>, hoping to participate in the video game version of the marketplace. Meanwhile, some of the world’s most successful social media posses are <a href="https://www.rollingstone.com/culture/culture-features/tiktok-quarantine-coronavirus-hype-house-sway-house-969092/" class="av fp fq fr fs ft" rel="noopener nofollow">moving into luxurious “hype houses”</a> in Los Angeles and Hawaii, where they can livestream their lifestyles, exercise routines, and sex advice — as well the products of their sponsors — to their millions of followers. And maybe it’s these young social media enthusiasts, thriving more than ever under pandemic conditions, who most explicitly embody the original promise of digital technology to provide for our every need.</p> | |||
<p id="32d9" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">I remember back around 1990, when psychedelics philosopher Timothy Leary first read Stewart Brand’s book <em class="jb">The Media Lab</em>, about the new digital technology center MIT had created in its architecture department. Leary devoured the book cover to cover over the course of one long day. Around sunset, just as he was finishing, he threw it across the living room in disgust. “Look at the index,” he said, “of all the names, less than 3% are women. That’ll tell you something.”</p> | |||
<p id="3f27" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">He went on to explain his core problem with the Media Lab and the digital universe these technology pioneers were envisioning: “They want to recreate the womb.” As Leary the psychologist saw it, the boys building our digital future were developing technology to simulate the ideal woman — the one their mothers could never be. Unlike their human mothers, a predictive algorithm could anticipate their every need in advance and deliver it directly, removing every trace of friction and longing. These guys would be able to float in their virtual bubbles — what the Media Lab called “artificial ecology” — and never have to face the messy, harsh reality demanded of people living in a real world with women and people of color and even those with differing views.</p> | |||
<p id="e777" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">For there’s the real rub with digital isolation — the problem those billionaires identified when we were gaming out their bunker strategies. The people and things we’d be leaving behind are still out there. And the more we ask them to service our bubbles, the more oppressed and angry they’re going to get. No, no matter how far <a href="https://www.sciencealert.com/google-s-director-of-engineering-claims-that-the-singularity-will-happen-by-2029" class="av fp fq fr fs ft" rel="noopener nofollow">Ray Kurzweil gets</a> with his artificial intelligence project at Google, we cannot simply rise from the chrysalis of matter as pure consciousness. There’s no Dropbox plan that will let us upload body and soul to the cloud. We are still here on the ground, with the same people and on the same planet we are being encouraged to leave behind. There’s no escape from the others.</p> | |||
<p id="a133" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Not that people aren’t trying. The ultimate digital escape fantasy would require some seriously perverse enforcement of privilege. Anything to prevent the unwashed masses — the folks working in the meat processing plants, Amazon warehouses, UPS trucks, or not at all — from violating the sacred bounds of our virtual amnionic sacs. Sure, we can replace the factory workers with robots and the delivery people with drones, but then they’ll even have less at stake in maintaining our digital retreats.</p><blockquote class="kb"><p id="8bd7" class="kc kd fx fy b ke kf kg kh ki kj ja fo">Unlike their human mothers, a predictive algorithm could anticipate their every need in advance and deliver it directly, removing every trace of friction and longing.</p></blockquote><p id="46e7" class="im in fx io b gq kk ip iq gt kl ir is it km gy iu iv kn hb iw ix ko he iy ja eo df">I can’t help but see <a href="https://apnews.com/32700a8b49ddf5f7594d2271eb033c2e" class="av fp fq fr fs ft" rel="noopener nofollow">the dismantling of the Post Office</a> as a last-ditch attempt to keep the majority from piercing the bubbles of digital privilege through something as simple as voting. Climb to safety and then pull the ladder up after ourselves. No more voting, no more subsidized delivery of alternative journalism (that was the original constitutional purpose for a fully funded post office). So much the better for the algorithms streaming us the picture of the world we want to see, uncorrupted by imagery of what’s really happening out there. (And if it does come through, just swipe left, and the algorithms will know never to interrupt your dream state with such real news again.)</p> | |||
<p id="47c8" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">No, of course we’ll never get there. Climate, poverty, disease, and famine don’t respect the “guardian boundary” play space defined by the Oculus VR’s user preferences. Just as the billionaires can never, ever truly leave humanity behind, none of us can climb back into the womb. When times are hard, sure, take what peace and comfort you can afford. Use whatever tech you can get your hands on to make your kid’s online education work a bit better. Enjoy the glut of streaming media left over from the heyday of the Netflix-Amazon-HBO wars.</p> | |||
<p id="2cd9" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">But don’t let this passing — yes, passing — crisis fool you into buying technology’s false promise of escaping from humanity to play video games alone in perpetuity. Our Covid-19 isolation is giving us a rare opportunity to see where this road takes us and to choose to use our technologies to take a very different one.</p></div></div></section> | |||
</main> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="/david/log/" title="Accès au flux RSS">🤖</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> • | |||
<abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend>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 type="text/javascript"> | |||
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,26 @@ | |||
title: The Privileged Have Entered Their Escape Pods | |||
url: https://onezero.medium.com/the-privileged-have-entered-their-escape-pods-4706b4893af7 | |||
hash_url: 7fbde2965b6247def36184b7c0078de5 | |||
<p>Technology gave us the dream of a cocooned future. Now we’re living it.</p> | |||
<section class="eo ep eq er es"><div class="n p"><div class="u v w x y fu ab ac"><p id="a89b" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df jr"><span class="an js jt ju jv jw jx jy jz ka dg">M</span>any of us don’t like who we have become in this pandemic but feel littl<span id="rmm">e</span> freedom to choose otherwise. Officially, we may be wearing our masks to protect others, but it sure does feel appropriate to hide our faces when we’re engaging in so many self-interested, survivalist activities in the light of day — leveraging whatever privilege we may enjoy to stock and equip our homes so they can serve as makeshift bunkers, workplaces, private schools, and hermetically sealed entertainment centers.</p> | |||
<p id="640d" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Sure, because I’m still being paid as a professor at CUNY (the City University of New York), I donated my government relief check to the local food pantry and am sending a significant portion of my income to friends who can no longer meet their basic expenses. But I also went and spent $500 on a big rubber pool for my daughter and our neighbors’ kids to use as the basis for a makeshift private summer camp. And I’ve seen similar inflatable blue bubbles all over town.</p> | |||
<p id="08f6" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">“Don’t tell anyone,” one of my neighbors told me when he came over to borrow some chlorine tablets, “but we’re thinking to ride this whole thing out in Zurich, where the numbers are better.” His wife still has her European passport, and they both have jobs that can be done entirely remotely. They’d be joining scores of people I know — not millionaires, but writers and marketers and consultants and web developers — who are resettling in Canada or Europe on the logic that their kids shouldn’t be sacrificed to their progressive parents’ sense of shame about escaping.</p> | |||
<p id="92e5" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">When I challenge him on the ethics of bailing, he snaps back, “At least the elementary school will have two less bodies to space at six-foot intervals. I’m doing you a favor.” He can’t resist showing me the photo on his phone from the rental site. It was a gorgeous, solar-powered cabin on a remote hillside with the headline “Luxury Eco-Lodge.” He smiled. “I always wanted the kids to get a Waldorf education, and now they even have an online option.”</p><blockquote class="kb"><p id="ef6a" class="kc kd fx fy b ke kf kg kh ki kj ja fo">“Don’t tell anyone, but we’re thinking to ride this whole thing out in Zurich, where the numbers are better.”</p></blockquote><p id="6395" class="im in fx io b gq kk ip iq gt kl ir is it km gy iu iv kn hb iw ix ko he iy ja eo df">It sounds idyllic. So much so that I can’t help but wonder if the threat of infection is less the reason for his newfound embrace of virtual insulation than it is the excuse.</p> | |||
<p id="0682" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">It’s certainly the message I got a couple of years ago when a few tech billionaires asked me to <a class="av fp fq fr fs ft" rel="noopener" href="/survival-of-the-richest-9ef6cddd0cc1">water test their doomsday bunker strategies</a>. Ostensibly, they were worried about “the Event” — the war, climate catastrophe, or, yes, global pandemic that ends life as we know it and forces them to retreat to their high-tech fortresses in Alaska or New Zealand. We spent most of the session discussing potential flaws in their scenario planning, such as whether the human security forces they were intending to hire could be adequately controlled once cash no longer had value. If only they could work out these last few kinks, they could safely escape from the rest of us.</p> | |||
<p id="063e" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">At the time, I saw all this paranoid prepping as misplaced guilt over what these fellows knew they were doing to the world. It seemed to me that they were in a trap, building heinously extractive companies in order to earn enough money to insulate themselves from the reality they were creating by earning money in that way. Instead of figuring out how to get away from the rest of us, I told them, they might want to focus on making the world a place from which they wouldn’t have to retreat.</p> | |||
<p id="a7f5" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">But I’m just an author and media theorist, after all, not a scholar of catastrophe logistics. I like to think I’ve had some success identifying signals from the future, but looking back on the whole episode, I find it hard to believe this group of successful technology investors and entrepreneurs were really paying me for legitimate survival strategies so much as to serve as a kind of dungeon master for their fantasy role-playing session. The conversation was almost a form of theater dedicated to developing their collective, mutually reinforcing fantasy. These solar-powered hilltop resorts, chains of defensible floating islands, and robotically tilled eco-farms were less last resorts than escape fantasies for billionaires who aren’t quite rich enough to build space programs like Jeff Bezos and Elon Musk. No, they weren’t scared for the Event; on some level, they were hoping for it.</p> | |||
<p id="9a88" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">I don’t think these prepper billionaires are aspiring to live in the world depicted in the <em class="jb">Walking Dead</em> because they’re horrible people. Or at least not just because they’re horrible people. They’re simply succumbing to one of the dominant ethos of the digital age, which is to design one’s personal reality so meticulously that existential threats are simply removed from the equation. The leap from a Fitbit tracking your heart rate to an annual full-body cancer scan or from a doorbell surveillance camera to a network of autonomous robot sentries is really just a matter of money. No matter the level of existential security, the Netflix shows we stream are the same.</p></div></div><div class="et"><div class="n p"><div class="kp kq kr ks kt ku x kv y kw ab ac"><figure class="ky kz la lb lc et ld le paragraph-image"><div class="lf lg dg lh ac"><div class="eg eh kx"><div class="fa an dg du"><div class="li fc an"><div class="cc ev ej ew ek bx ac ex ey ez"><img alt="Image for post" class="ej ew ek bx ac fd fe ff" src="https://miro.medium.com/max/60/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg?q=20" width="2400" height="1520"/></div><img alt="Image for post" class="cc ev ej ew ek bx ac c" width="2400" height="1520"/><noscript><img alt="Image for post" class="ej ew ek bx ac" src="https://miro.medium.com/max/4800/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg" width="2400" height="1520" srcSet="https://miro.medium.com/max/552/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 276w, https://miro.medium.com/max/1104/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 552w, https://miro.medium.com/max/1280/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 640w, https://miro.medium.com/max/1456/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 728w, https://miro.medium.com/max/1632/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 816w, https://miro.medium.com/max/1808/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 904w, https://miro.medium.com/max/1984/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 992w, https://miro.medium.com/max/2000/1*YDP_F4gJ5lxxKt7TPO8ftA.jpeg 1000w" sizes="1000px"/></noscript></div></div></div></div></figure></div></div></div><div class="n p"><div class="u v w x y fu ab ac"><p id="cffc" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Now, pandemics don’t necessarily bring out our best instincts either. No matter how many mutual aid networks, school committees, food pantries, race protests, or fundraising efforts in which we participate, I feel as if many of those privileged enough to do so are still making a less public, internal calculation: How much are we allowed to use our wealth and our technologies to insulate ourselves and our families from the rest of the world? And, like a devil on our shoulder, our technology is telling us to go it alone. After all, it’s an iPad, not an usPad.</p> | |||
<p id="9543" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">The more advanced the tech, the more cocooned insularity it affords. “I finally caved and got the Oculus,” one of my best friends messaged me on Signal the other night. “Considering how little is available to do out in the real world, this is gonna be a game-changer.” Indeed, his hermetically sealed, Covid-19-inspired techno-paradise was now complete. Between VR, Amazon, FreshDirect, Netflix, and a sustainable income doing crypto trading, he was going to ride out the pandemic in style. Yet while VRporn.com is certainly a safer sexual strategy in the age of Covid-19 than meeting up with partners through Tinder, every choice to isolate and insulate has its correspondingly negative impact on others.</p> | |||
<p id="df96" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">The pool for my daughter wouldn’t have gotten here were it not for legions of Amazon workers behind the scenes, <a href="https://www.theverge.com/2020/6/3/21279740/amazon-sued-nyc-warehouse-workers-covid-19-coronavirus-safety-measures" class="av fp fq fr fs ft" rel="noopener nofollow">getting infected in warehouses</a> or <a href="https://www.businessinsider.com/why-amazon-delivery-workers-feel-exposed-and-vulnerable-to-coronavirus-2020-3" class="av fp fq fr fs ft" rel="noopener nofollow">risking their health driving delivery trucks</a> all summer. As with FreshDirect or Instacart, the externalized harm to people and places is kept out of sight. These apps are designed to be addictively fast and self-contained — push-button access to stuff that can be left at the front door without any human contact. The delivery people don’t even ring the bell; a photo of the package on the stoop automagically arrives in the inbox. Like with Thomas Jefferson’s ingenious dumbwaiter, there are no signs of the human labor that brought it.</p> | |||
<p id="09cf" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Many of us once swore off Amazon after learning of the way it <a href="https://www.theguardian.com/business/2019/dec/02/new-study-deems-amazon-worst-for-aggressive-tax-avoidance" class="av fp fq fr fs ft" rel="noopener nofollow">evades taxes</a>, engages in <a href="https://www.theverge.com/2020/2/27/21156844/amazon-unions-petition-ftc-letter-anticompetitive-antitrust-investigation" class="av fp fq fr fs ft" rel="noopener nofollow">anti-competitive practices</a>, or <a href="https://www.theatlantic.com/business/archive/2018/01/amazon-mechanical-turk/551192/" class="av fp fq fr fs ft" rel="noopener nofollow">abuses labor</a>. But here we are, reluctantly re-upping our Prime delivery memberships to get the cables, webcams, and Bluetooth headsets we need to attend the Zoom meetings that now constitute our own work. Others are reactivating their long-forgotten Facebook accounts to connect with friends, all sharing highly curated depictions of their newfound appreciation for nature, sunsets, and family. And as we do, many of us are lulled further into digital isolation — being rewarded the more we accept the logic of the fully wired home, cut off from the rest of the world.</p> | |||
<p id="96d5" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">And so the <em class="jb">New York Times</em> is busy running photo spreads of <a href="https://www.nytimes.com/2020/07/24/realestate/coronavirus-second-homes-.html" class="av fp fq fr fs ft" rel="noopener nofollow">wealthy families</a> “retreating” to their summer homes — second residences worth well more than most of our primary ones — and stories about their successes working remotely from the beach or retrofitting extra bedrooms as offices. “It’s been great here,” one venture fund founder explained. “If I didn’t know there was absolute chaos in the world … I could do this forever.”</p> | |||
<p id="57d7" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">But what if we don’t have to know about the chaos in the world? That’s the real promise of digital technology. We can choose which cable news, Twitter feeds, and YouTube channels to stream — the ones that acknowledge the virus and its impacts or the ones that don’t. We can choose to continue wrestling with the civic challenges of the moment, such as whether to send kids back to school full-time, hybrid, or remotely. Or — like some of the wealthiest people in my own town — we <a href="https://www.nytimes.com/2020/07/30/nyregion/pod-schools-hastings-on-hudson.html" class="av fp fq fr fs ft" rel="noopener nofollow">can form private “pods,”</a> hire tutors, and offer our kids the kind of customized, elite education we could never justify otherwise. “Yes, we are in a pandemic,” one pod education provider explained to the <em class="jb">Times</em>. “But when it comes to education, we also feel some good may even come out of this.”</p> | |||
<p id="22f1" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">I get it. And if I had younger children and could afford these things, I might even be tempted to avail myself of them. But all of these “solutions” favor those who have already accepted the promise of digital technology to provide what the real world has failed to do. Day traders, for instance, had already discovered the power of the internet to let them earn incomes safely from home using nothing but a laptop and some capital. Under the pandemic, <a href="https://www.wsj.com/articles/everyones-a-day-trader-now-11595649609" class="av fp fq fr fs ft" rel="noopener nofollow">more people are opening up online trading accounts than ever</a>, hoping to participate in the video game version of the marketplace. Meanwhile, some of the world’s most successful social media posses are <a href="https://www.rollingstone.com/culture/culture-features/tiktok-quarantine-coronavirus-hype-house-sway-house-969092/" class="av fp fq fr fs ft" rel="noopener nofollow">moving into luxurious “hype houses”</a> in Los Angeles and Hawaii, where they can livestream their lifestyles, exercise routines, and sex advice — as well the products of their sponsors — to their millions of followers. And maybe it’s these young social media enthusiasts, thriving more than ever under pandemic conditions, who most explicitly embody the original promise of digital technology to provide for our every need.</p> | |||
<p id="32d9" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">I remember back around 1990, when psychedelics philosopher Timothy Leary first read Stewart Brand’s book <em class="jb">The Media Lab</em>, about the new digital technology center MIT had created in its architecture department. Leary devoured the book cover to cover over the course of one long day. Around sunset, just as he was finishing, he threw it across the living room in disgust. “Look at the index,” he said, “of all the names, less than 3% are women. That’ll tell you something.”</p> | |||
<p id="3f27" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">He went on to explain his core problem with the Media Lab and the digital universe these technology pioneers were envisioning: “They want to recreate the womb.” As Leary the psychologist saw it, the boys building our digital future were developing technology to simulate the ideal woman — the one their mothers could never be. Unlike their human mothers, a predictive algorithm could anticipate their every need in advance and deliver it directly, removing every trace of friction and longing. These guys would be able to float in their virtual bubbles — what the Media Lab called “artificial ecology” — and never have to face the messy, harsh reality demanded of people living in a real world with women and people of color and even those with differing views.</p> | |||
<p id="e777" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">For there’s the real rub with digital isolation — the problem those billionaires identified when we were gaming out their bunker strategies. The people and things we’d be leaving behind are still out there. And the more we ask them to service our bubbles, the more oppressed and angry they’re going to get. No, no matter how far <a href="https://www.sciencealert.com/google-s-director-of-engineering-claims-that-the-singularity-will-happen-by-2029" class="av fp fq fr fs ft" rel="noopener nofollow">Ray Kurzweil gets</a> with his artificial intelligence project at Google, we cannot simply rise from the chrysalis of matter as pure consciousness. There’s no Dropbox plan that will let us upload body and soul to the cloud. We are still here on the ground, with the same people and on the same planet we are being encouraged to leave behind. There’s no escape from the others.</p> | |||
<p id="a133" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">Not that people aren’t trying. The ultimate digital escape fantasy would require some seriously perverse enforcement of privilege. Anything to prevent the unwashed masses — the folks working in the meat processing plants, Amazon warehouses, UPS trucks, or not at all — from violating the sacred bounds of our virtual amnionic sacs. Sure, we can replace the factory workers with robots and the delivery people with drones, but then they’ll even have less at stake in maintaining our digital retreats.</p><blockquote class="kb"><p id="8bd7" class="kc kd fx fy b ke kf kg kh ki kj ja fo">Unlike their human mothers, a predictive algorithm could anticipate their every need in advance and deliver it directly, removing every trace of friction and longing.</p></blockquote><p id="46e7" class="im in fx io b gq kk ip iq gt kl ir is it km gy iu iv kn hb iw ix ko he iy ja eo df">I can’t help but see <a href="https://apnews.com/32700a8b49ddf5f7594d2271eb033c2e" class="av fp fq fr fs ft" rel="noopener nofollow">the dismantling of the Post Office</a> as a last-ditch attempt to keep the majority from piercing the bubbles of digital privilege through something as simple as voting. Climb to safety and then pull the ladder up after ourselves. No more voting, no more subsidized delivery of alternative journalism (that was the original constitutional purpose for a fully funded post office). So much the better for the algorithms streaming us the picture of the world we want to see, uncorrupted by imagery of what’s really happening out there. (And if it does come through, just swipe left, and the algorithms will know never to interrupt your dream state with such real news again.)</p> | |||
<p id="47c8" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">No, of course we’ll never get there. Climate, poverty, disease, and famine don’t respect the “guardian boundary” play space defined by the Oculus VR’s user preferences. Just as the billionaires can never, ever truly leave humanity behind, none of us can climb back into the womb. When times are hard, sure, take what peace and comfort you can afford. Use whatever tech you can get your hands on to make your kid’s online education work a bit better. Enjoy the glut of streaming media left over from the heyday of the Netflix-Amazon-HBO wars.</p> | |||
<p id="2cd9" class="im in fx io b gq jm ip iq gt jn ir is it jo gy iu iv jp hb iw ix jq he iy ja eo df">But don’t let this passing — yes, passing — crisis fool you into buying technology’s false promise of escaping from humanity to play video games alone in perpetuity. Our Covid-19 isolation is giving us a rare opportunity to see where this road takes us and to choose to use our technologies to take a very different one.</p></div></div></section> |
@@ -0,0 +1,295 @@ | |||
<!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> | |||
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>Whistleblower Says Facebook Ignored Global Political Manipulation (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="#f0f0ea"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f0f0ea"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2020-06-19.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 type="text/javascript"> | |||
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.buzzfeednews.com/article/craigsilverman/facebook-ignore-political-manipulation-whistleblower-memo"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick"> | |||
<article> | |||
<header> | |||
<h1>Whistleblower Says Facebook Ignored Global Political Manipulation</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="https://www.buzzfeednews.com/article/craigsilverman/facebook-ignore-political-manipulation-whistleblower-memo" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<main> | |||
<p>Facebook ignored or was slow to act on evidence that fake accounts on its platform have been undermining elections and political affairs around the world, according to an explosive memo sent by a recently fired Facebook employee and obtained by BuzzFeed News.</p> | |||
<p>The 6,600-word memo, written by former Facebook data scientist Sophie Zhang, is filled with concrete examples of heads of government and political parties in Azerbaijan and Honduras using fake accounts or misrepresenting themselves to sway public opinion. In countries including India, Ukraine, Spain, Brazil, Bolivia, and Ecuador, she found evidence of coordinated campaigns of varying sizes to boost or hinder political candidates or outcomes, though she did not always conclude who was behind them.</p> | |||
<p>“In the three years I’ve spent at Facebook, I’ve found multiple blatant attempts by foreign national governments to abuse our platform on vast scales to mislead their own citizenry, and caused international news on multiple occasions,” wrote Zhang, who declined to talk to BuzzFeed News. Her LinkedIn profile said she “worked as the data scientist for the Facebook Site Integrity fake engagement team” and dealt with “bots influencing elections and the like.”</p> | |||
<p>“I have personally made decisions that affected national presidents without oversight, and taken action to enforce against so many prominent politicians globally that I’ve lost count,” she wrote.</p> | |||
<p>The memo is a damning account of Facebook’s failures. It’s the story of Facebook abdicating responsibility for malign activities on its platform that could affect the political fate of nations outside the United States or Western Europe. It's also the story of a junior employee wielding extraordinary moderation powers that affected millions of people without any real institutional support, and the personal torment that followed.</p> | |||
<p>“I know that I have blood on my hands by now,” Zhang wrote.</p> | |||
<p><b>These are some of the biggest revelations in Zhang’s memo:</b></p> | |||
<ul><li><i>It took Facebook’s leaders nine months to act on a coordinated campaign “that used thousands of inauthentic assets to boost President Juan Orlando Hernandez of Honduras on a massive scale to mislead the Honduran people.” Two weeks after Facebook took action against the perpetrators in July, they returned, leading to a game of “whack-a-mole” between Zhang and the operatives behind the fake accounts, which are still active.</i></li><li><i>In Azerbaijan, Zhang discovered the ruling political party “utilized thousands of inauthentic assets... to harass the opposition en masse.” Facebook began looking into the issue a year after Zhang reported it. The investigation is ongoing.</i></li><li><i>Zhang and her colleagues removed “10.5 million fake reactions and fans from high-profile politicians in Brazil and the US in the 2018 elections.”</i></li><li><i>In February 2019, a NATO researcher informed Facebook that "he’d obtained Russian inauthentic activity on a high-profile U.S. political figure that we didn’t catch." Zhang removed the activity, “dousing the immediate fire,” she wrote.</i></li><li><i>In Ukraine, Zhang “found inauthentic scripted activity” supporting both former prime minister Yulia Tymoshenko, a pro–European Union politician and former presidential candidate, as well as Volodymyr Groysman, a former prime minister and ally of former president Petro Poroshenko. “Volodymyr Zelensky and his faction was the only major group not affected,” Zhang said of the current Ukrainian president.</i></li><li><i>Zhang discovered inauthentic activity — a Facebook term for engagement from bot accounts and coordinated manual accounts— in Bolivia and Ecuador but chose “not to prioritize it,” due to her workload. The amount of power she had as a mid-level employee to make decisions about a country’s political outcomes took a toll on her health.</i></li><li><i>After becoming aware of coordinated manipulation on the Spanish Health Ministry’s Facebook page during the COVID-19 pandemic, Zhang helped find and remove 672,000 fake accounts “acting on similar targets globally” including in the US.</i></li><li><i>In India, she worked to remove “a politically-sophisticated network of more than a thousand actors working to influence" the local elections taking place in Delhi in February. Facebook never publicly disclosed this network or that it had taken it down.</i></li></ul> | |||
<p>“We’ve built specialized teams, working with leading experts, to stop bad actors from abusing our systems, resulting in the removal of more than 100 networks for coordinated inauthentic behavior," Facebook spokesperson Liz Bourgeois said in a statement. "It’s highly involved work that these teams do as their full-time remit. Working against coordinated inauthentic behavior is our priority, but we’re also addressing the problems of spam and fake engagement. We investigate each issue carefully, including those that Ms. Zhang raises, before we take action or go out and make claims publicly as a company."</p> | |||
<p>BuzzFeed News is not publishing Zhang’s full memo because it contains personal information. This story includes full excerpts when possible to provide appropriate context.</p> | |||
<p>In her post, Zhang said she did not want it to go public for fear of disrupting Facebook’s efforts to prevent problems around the upcoming 2020 US presidential election, and due to concerns about her own safety. BuzzFeed News is publishing parts of her memo that are clearly in the public interest.</p> | |||
<p>“I consider myself to have been put in an impossible spot – caught between my loyalties to the company and my loyalties to the world as a whole,” she said. “The last thing I want to do is distract from our efforts for the upcoming U.S. elections, yet I know this post will likely do so internally.”</p> | |||
<p>Zhang said she turned down a $64,000 severance package from the company to avoid signing a nondisparagement agreement. Doing so allowed her to speak out internally, and she used that freedom to reckon with the power that she had to police political speech.</p> | |||
<p>“There was so much violating behavior worldwide that it was left to my personal assessment of which cases to further investigate, to file tasks, and escalate for prioritization afterwards,” she wrote.</p> | |||
<p>That power contrasted with what she said seemed to be a lack of desire from senior leadership to protect democratic processes in smaller countries. Facebook, Zhang said, prioritized regions including the US and Western Europe, and often only acted when she repeatedly pressed the issue publicly in comments on Workplace, the company’s internal, employee-only message board.</p> | |||
<p>“With no oversight whatsoever, I was left in a situation where I was trusted with immense influence in my spare time,” she wrote. “A manager on Strategic Response mused to myself that most of the world outside the West was effectively the Wild West with myself as the part-time dictator – he meant the statement as a compliment, but it illustrated the immense pressures upon me.”</p> | |||
<p>A former Facebook engineer who knew her told BuzzFeed News that Zhang was skilled at discovering fake account networks on the platform.</p> | |||
<p>“She's the only person in this entire field at Facebook that I ever trusted to be earnest about this work," said the engineer, who had seen a copy of Zhang’s post and asked not to be named because they no longer work at the company.</p> | |||
<p>“A lot of what I learned from that post was shocking even to me as someone who's often been disappointed at how the company treats its best people," they said.</p> | |||
<p>Zhang’s memo said the lack of institutional support and heavy stakes left her unable to sleep. She often felt responsible when civil unrest took hold in places she didn’t prioritize for investigation and action.</p> | |||
<p>“I have made countless decisions in this vein – from Iraq to Indonesia, from Italy to El Salvador,” she wrote. “Individually, the impact was likely small in each case, but the world is a vast place.”</p> | |||
<p>Still, she did not believe that the failures she observed during her two and a half years at the company were the result of bad intent by Facebook’s employees or leadership. It was a lack of resources, Zhang wrote, and the company’s tendency to focus on global activity that posed public relations risks, as opposed to electoral or civic harm.</p> | |||
<p>“Facebook projects an image of strength and competence to the outside world that can lend itself to such theories, but the reality is that many of our actions are slapdash and haphazard accidents,” she wrote.</p> | |||
<h2>“We simply didn’t care enough to stop them”</h2> | |||
<p>Zhang wrote that she was just six months into the job when she found coordinated inauthentic behavior — Facebook’s internal term for the use of multiple fake accounts to boost engagement or spread content — benefiting Honduran President Juan Orlando Hernández.</p> | |||
<p>The connection to the Honduran leader was made, Zhang said, because an administrator for the president’s Facebook page had been “happily running hundreds of these fake assets without any obfuscation whatsoever in a show of extreme chutzpah.” The data scientist said she reported the operation, which involved thousands of fake accounts, to Facebook’s threat intelligence and policy review teams, both of which took months to act.</p> | |||
<p>“Local policy teams confirmed that President JOH’s marketing team had openly admitted to organizing the activity on his behalf,” she wrote. “Yet despite the blatantly violating nature of this activity, it took me almost a year to take down his operation.”</p> | |||
<p>That takedown was <a href="https://about.fb.com/news/2019/07/removing-cib-thailand-russia-ukraine-honduras/" target="_blank">announced by Facebook in July 2019</a>, but proved futile. Soon, the operation was soon back up and running, a fact Facebook has never disclosed.</p> | |||
<p>“They had returned within two weeks of our takedown and were back in a similar volume of users,” Zhang wrote, adding that she did a final sweep for the fake accounts on her last day at Facebook. “A year after our takedown, the activity is still live and well.”</p> | |||
<p>In Azerbaijan, she found a large network of inauthentic accounts used to attack opponents of President Ilham Aliyev of Azerbaijan and his ruling New Azerbaijan Party, which uses the acronym YAP. Facebook still has not disclosed the influence campaign, according to Zhang.</p> | |||
<p>The operation detailed in the memo is reminiscent of those of Russia’s Internet Research Agency, a private troll farm that tried to influence the 2016 US elections, because it involved “dedicated employees who worked 9-6 Monday-Friday work weeks to create millions of comments” targeting members of the opposition and media reports seen as negative to Aliyev.</p> | |||
<p>“Multiple official accounts for district-level divisions of the ruling YAP political party directly controlled numerous of these fake assets without any obfuscation whatsoever in another display of arrogance,” she wrote. “Perhaps they thought they were clever; the truth was, we simply didn’t care enough to stop them.”</p> | |||
<p>Katy Pearce, an associate professor at the University of Washington who studies social media and communication technology in Azerbaijan, told BuzzFeed News that fake Facebook accounts have been used to undermine the opposition and independent media in the country for years.</p> | |||
<p>“One of the big tools of authoritarian regimes is to humiliate the opposition in the mind of the public so that they're not viewed as a credible or legitimate alternative,” she told BuzzFeed News. “There's a chilling effect. Why would I post something if I know that I'm going to deal with thousands or hundreds of these comments, that I'm going to be targeted?”</p> | |||
<p>Pearce said Zhang’s comment in the memo that Facebook “didn’t care enough to stop” the fake accounts and trolling aligns with her experience. “They have bigger fish to fry,” she said.</p> | |||
<p>A person who managed social media accounts for news organizations in Azerbaijan told BuzzFeed News that their pages were inundated with inauthentic Facebook comments.</p> | |||
<p>“We used to delete and ban them because we didn’t want people who came to our page to be discouraged and not react or comment,” said the person, who asked not to be named because they were not authorized to speak for their employer. “But since [the trolls] are employees, it’s easy for them to open new accounts.”</p> | |||
<p>They said Facebook has at times made things worse by removing the accounts or pages of human rights activists and other people after trolls report them. “We tried to tell Facebook that this is a real person who does important work,” but it took weeks for the page to be restored.</p> | |||
<p>Zhang wrote that a Facebook investigation into fake accounts and trolling in Azerbaijan is now underway, more than a year after she first reported the issue. On the day of her departure, she called it her “greatest unfinished business” to stop the fake behavior in the country.</p> | |||
<p>“Many others would think nothing of myself devoting this attention to the United States, but are shocked to see myself fighting for these small countries,” she wrote. “To put it simply, my methodologies were systematic globally, and I fought for Honduras and Azerbaijan because that was where I saw the most ongoing harm.”</p> | |||
<h2>“I have blood on my hands”</h2> | |||
<p>In other examples, Zhang revealed new information about a large-scale fake account network used to amplify and manipulate information about COVID-19, as well as a political influence operation that used fake accounts to influence 2018 elections in the US and Brazil. Some of these details were not previously disclosed by Facebook, suggesting the company’s regular takedown announcements remain selective and incomplete.</p> | |||
<p>Zhang said Facebook removed 672,000 “low-quality fake accounts” after <a href="https://www.euronews.com/2020/04/24/facebook-investigates-fake-accounts-sharing-spanish-government-content-thecube" target="_blank">press reports in April</a> that some of the accounts had been engaging with COVID-19 content on the Spanish Health Ministry’s page. She said accounts in that network also engaged with content on US pages. Facebook did not disclose how many accounts it removed, or that those accounts engaged with content in other countries, including the US.</p> | |||
<p>Zhang also shared new details about the scale of inauthentic activity during the 2018 midterm elections in the US, and from Brazilian politicians that same year. “We ended up removing 10.5 million fake reactions and fans from high-profile politicians in Brazil and the U.S. in the 2018 elections – major politicians of all persuasions in Brazil, and a number of lower-level politicians in the United States,” she wrote.</p> | |||
<p>A <a href="https://about.fb.com/news/2018/09/us-brazil-elections/" target="_blank">September 2018 briefing</a> about Facebook’s election work in the US and Brazil disclosed that it had acted against a network in Brazil that used “fake accounts to sow division and share disinformation,” as well as a set of groups, pages, and accounts that were “falsely amplifying engagement for financial gain.” It did not fully mention Zhang's findings.</p> | |||
<p>The scale of this activity — 672,000 fake accounts in one network, 10.5 million fake engagement and fans in others — indicates <a href="https://www.buzzfeednews.com/article/craigsilverman/facebook-fake-accounts-afd" target="_blank">active fake accounts are a global problem</a>, and are used to manipulate elections and public debate around the world.</p> | |||
<p>As one of the few people looking for and identifying fake accounts impacting civic activity outside of “priority” regions, Zhang struggled with the power she had been handed.</p> | |||
<p>“We focus upon harm and priority regions like the United States and Western Europe,” Zhang wrote, adding that “it became impossible to read the news and monitor world events without feeling the weight of my own responsibility.”</p> | |||
<p>In Bolivia, Zhang said she found “inauthentic activity supporting the opposition presidential candidate in 2019” and chose not to prioritize it. Months later, Bolivian politics fell into turmoil, leading to the resignation of President Evo Morales and “mass protests leading to dozens of deaths.”</p> | |||
<p>The same happened in Ecuador, according to Zhang, who “found inauthentic activity supporting the ruling government… and made the decision not to prioritize it.” The former Facebook employee then wondered how her decision led to downstream effects on how Ecuador’s government handled the COVID-19 pandemic — which has <a href="https://www.buzzfeednews.com/article/karlazabludovsky/guayaquil-ecuador-coronavirus-missing-bodies" target="_blank">devastated the country</a> — and if that would have been different if she'd acted.</p> | |||
<p>“I have made countless decisions in this vein – from Iraq to Indonesia, from Italy to El Salvador. Individually, the impact was likely small in each case, but the world is a vast place. Although I made the best decision I could based on the knowledge available at the time, ultimately I was the one who made the decision not to push more or prioritize further in each case, and I know that I have blood on my hands by now.”</p> | |||
<p>Zhang also uncovered issues in India, Facebook’s largest market, in the lead up to the local Delhi elections in February 2020. “I worked through sickness to take down a politically-sophisticated network of more than a thousand actors working to influence the election,” she wrote.</p> | |||
<p>Last month, Facebook’s Indian operation came under scrutiny after <a href="https://www.wsj.com/articles/facebook-hate-speech-india-politics-muslim-hindu-modi-zuckerberg-11597423346" target="_blank">reports</a> in the Wall Street Journal revealed a top policy executive in the country had stopped local staffers from applying the company’s hate speech policies to ruling party politicians who posted anti-Muslim hate speech.</p> | |||
<h2>“Haphazard Accidents”</h2> | |||
<p>In her “spare time” in 2019, Zhang took on tasks usually reserved for product managers and investigators, searching out countries including Ukraine, Turkey, India, Indonesia, the Philippines, Australia, the United Kingdom, Taiwan, “and many many more.”</p> | |||
<p>Zhang said she found and took down “inauthentic scripted activity” in Ukraine that supported Yulia Tymoshenko, a complicated political figure who has been involved in controversial gas deals with Russia but taken a more pro-Western tack in her later career, as well as for former prime minister Volodymyr Groysman, an ally of former president Petro Poroshenko. “Volodymyr Zelensky and his faction was the only major group not affected,” she wrote.</p> | |||
<p>In another part of her memo, Zhang said she wanted to push back on the idea that Facebook was run by malicious people hoping to achieve a particular outcome. That was not the case, she wrote, attributing actions to “slapdash and haphazard accidents.”</p> | |||
<p>“Last year when we blocked users from naming the Ukraine whistleblower, we forgot to cover hashtags until I stepped in,” she wrote.</p> | |||
<p>But she also remarked on Facebook’s habit of <a href="https://www.buzzfeednews.com/article/ryanmac/facebook-privacy-optics-clear-history-zuckerberg" target="_blank">prioritizing public relations over real-world problems</a>. “It’s an open secret within the civic integrity space that Facebook’s short-term decisions are largely motivated by PR and the potential for negative attention,” she wrote, noting that she was told directly at a 2020 summit that anything published in the New York Times or Washington Post would obtain elevated priority.</p> | |||
<p>“It’s why I’ve seen priorities of escalations shoot up when others start threatening to go to the press, and why I was informed by a leader in my organization that my civic work was not impactful under the rationale that if the problems were meaningful they would have attracted attention, became a press fire, and convinced the company to devote more attention to the space.”</p> | |||
<p>Zhang mentioned one example in February 2019, when a NATO strategic communications researcher reached out to Facebook, alerting the company that <a href="https://www.buzzfeednews.com/article/albertonardelli/facebook-twitter-google-manipulation-nato-stratcom" target="_blank">he'd "obtained" Russian inauthentic activity</a> “on a high-profile U.S. political figure that we didn’t catch.” That researcher said they were planning on briefing Congress the next day.<br/></p> | |||
<p>“I quickly investigated the case, determined what was going on, and removed the activity, dousing the immediate fire,” Zhang wrote. “Perhaps motivated by the experience, the same researcher tried the same experiment within a month or two, waiting half a year afterwards before sending the report to the press and finally causing the PR fire.”</p> | |||
<h2>“Human Resources Are Limited”</h2> | |||
<p>Beyond specific examples from around the world, Zhang provided insight into the inner workings at Facebook. She criticized her team’s focus on issues related to “99% of activity that’s essentially spam.”</p> | |||
<p>“Overall, the focus of my organization – and most of Facebook – was on large-scale problems, an approach which fixated us on spam,” she said. “The civic aspect was discounted because of its small volume, its disproportionate impact ignored.”</p> | |||
<p>Zhang outlined the political processes within Facebook itself. She said the best way for her to gain attention for her work was not to go through the proper reporting channels, but to post about the issues on Facebook’s internal employee message board to build pressure.</p> | |||
<p>“In the office, I realized that my viewpoints weren’t respected unless I acted like an arrogant asshole,” Zhang said.</p> | |||
<p>When she asked the company to do more in terms of finding and stopping malicious activity related to elections and political activity, she said she was told that “human resources are limited.” And when she was ordered to stop focusing on civic work, “I was told that Facebook would no longer have further need for my services if I refused.”</p> | |||
<p>Zhang was fired this month and posted her memo on her last day, even after offering to stay on through the election as an unpaid volunteer. In her goodbye, she encouraged her colleagues to remain at Facebook and to fix the company from within.</p> | |||
<p>“But you don’t – and shouldn’t – need to do it alone,” she wrote. “Find others who share your convictions and values to work on it together. Facebook is too big of a project for any one person to fix.” ●</p> | |||
</main> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="/david/log/" title="Accès au flux RSS">🤖</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> • | |||
<abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend>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 type="text/javascript"> | |||
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,186 @@ | |||
<!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> | |||
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>voyager (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="#f0f0ea"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f0f0ea"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2020-06-19.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 type="text/javascript"> | |||
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.la-grange.net/2020/09/14/voyager"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick"> | |||
<article> | |||
<header> | |||
<h1>voyager</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="https://www.la-grange.net/2020/09/14/voyager" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<main> | |||
<figure> | |||
<img src="https://www.la-grange.net/2009/06/24/6122-new-york.jpg" alt="New York vue d'avion"/> | |||
<figcaption>New-York, États-Unis, 24 juin 2009</figcaption> | |||
</figure> | |||
<blockquote> | |||
<p>Sans doute un certain « désir d'infini » se manifeste-t-il toujours— il pourrait d'ailleurs facilement tourner à l'épidémie —, mais ce n'est pas une survivance de l'ancien, c'est un nouveau désir d'infini qui commence seulement à naître …<br/> | |||
— L'Obsolescence de l'homme - Günther Anders, urn:isbn:978-2-910386-14-6</p> | |||
</blockquote> | |||
<p>Je lui demande par quel livre veux tu commencer ce soir ? Il choisit <a href="https://francescasanna.com/portfolio/the-journey/">The Journey</a> par Francesca Sanna. L'histoire parle de la guerre, de la perte d'un père, d'une famille qui fuit son pays pour trouver un meilleur endroit pour vivre. Le voyage est long, périlleux. Le voyage des migrants qui perdent de nombreuses choses sur le chemin.</p> | |||
<p>Ce soir, je lui demande pourquoi il aime beaucoup ce livre. Il en demande souvent la lecture.</p> | |||
<p>Il dit qu'il veut voyager loin, qu'il veut prendre l'avion, qu'il veut aller voir la maison de L. « La Grange. » Je lui dis qu'<strong>on voyagera de nouveau un jour</strong>. Le voyage, les aéroports, les avions faisaient déjà partie de ses habitudes. Ils nous parle souvent de Singapour, de la Malaisie, de la Thaïlande, de Taïwan, de la France. Il veut aller au Vietnam parce qu'il aime les nems. Il veut aller à New-York pour <a href="https://en.wikipedia.org/wiki/Sector_7_(book)">voir les nuages de l'empire state building</a>.</p> | |||
<p>« voyager de nouveau un jour » est une incertitude. <a href="https://www.youtube.com/watch?v=8o2QWGYCUx8">On and on</a>. Ni défaitisme, juste de la prudence. Les conditions sanitaires, politiques et écologiques ne sont pas les plus favorables pour la catégorie de pays riches dont nous faisons partie. C'est bien pour cela que je ne veux pas arrêter en attendant l'après. Un après de quoi. Vivre chaque instant avec intensité et plénitude. On and on. Constant.</p> | |||
<h2>sur le bord du chemin</h2> | |||
<ul> | |||
<li><a href="https://en.wikipedia.org/wiki/Yoshihide_Suga">Yoshihide Suga</a> devrait devenir le prochain <del>shogun</del> premier ministre du Japon. bonnet blanc, blanc bonnet. À part ses origines modestes, il est LDP, le parti très ancré à droite du Japon.</li> | |||
<li>Pourquoi parfois <a href="https://lists.w3.org/Archives/Public/www-style/2015Feb/0195.html"><code>long</code>, parfois <code>double</code></a> pour les valeurs en pixel sur les attributs de CSSOM ? Webcompat.</li> | |||
<li><a href="https://www.archdaily.com/638390/seashore-library-vector-architects">Cultural Architecture, Library • Qinhuangdao Shi, China</a></li> | |||
<li><a href="https://raphael.codes/blog/running-a-book-club-with-your-team/">Running a book club with your team</a><blockquote> | |||
You don’t need much to start your own team book club!</blockquote> | |||
</li> | |||
<li><a href="https://larlet.fr/david/2020/09/07/">Justice</a><blockquote> | |||
Au détour d’une discussion, je me suis avoué que j’avais besoin d’accepter l’injustice pour continuer à vivre</blockquote> | |||
</li> | |||
</main> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="/david/log/" title="Accès au flux RSS">🤖</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> • | |||
<abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend>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 type="text/javascript"> | |||
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,27 @@ | |||
title: voyager | |||
url: https://www.la-grange.net/2020/09/14/voyager | |||
hash_url: c69ff36d83073945d118afba126d5d7e | |||
<figure> | |||
<img src="https://www.la-grange.net/2009/06/24/6122-new-york.jpg" alt="New York vue d'avion"/> | |||
<figcaption>New-York, États-Unis, 24 juin 2009</figcaption> | |||
</figure> | |||
<blockquote> | |||
<p>Sans doute un certain « désir d'infini » se manifeste-t-il toujours— il pourrait d'ailleurs facilement tourner à l'épidémie —, mais ce n'est pas une survivance de l'ancien, c'est un nouveau désir d'infini qui commence seulement à naître …<br/> | |||
— L'Obsolescence de l'homme - Günther Anders, urn:isbn:978-2-910386-14-6</p> | |||
</blockquote> | |||
<p>Je lui demande par quel livre veux tu commencer ce soir ? Il choisit <a href="https://francescasanna.com/portfolio/the-journey/">The Journey</a> par Francesca Sanna. L'histoire parle de la guerre, de la perte d'un père, d'une famille qui fuit son pays pour trouver un meilleur endroit pour vivre. Le voyage est long, périlleux. Le voyage des migrants qui perdent de nombreuses choses sur le chemin.</p> | |||
<p>Ce soir, je lui demande pourquoi il aime beaucoup ce livre. Il en demande souvent la lecture.</p> | |||
<p>Il dit qu'il veut voyager loin, qu'il veut prendre l'avion, qu'il veut aller voir la maison de L. « La Grange. » Je lui dis qu'<strong>on voyagera de nouveau un jour</strong>. Le voyage, les aéroports, les avions faisaient déjà partie de ses habitudes. Ils nous parle souvent de Singapour, de la Malaisie, de la Thaïlande, de Taïwan, de la France. Il veut aller au Vietnam parce qu'il aime les nems. Il veut aller à New-York pour <a href="https://en.wikipedia.org/wiki/Sector_7_(book)">voir les nuages de l'empire state building</a>.</p> | |||
<p>« voyager de nouveau un jour » est une incertitude. <a href="https://www.youtube.com/watch?v=8o2QWGYCUx8">On and on</a>. Ni défaitisme, juste de la prudence. Les conditions sanitaires, politiques et écologiques ne sont pas les plus favorables pour la catégorie de pays riches dont nous faisons partie. C'est bien pour cela que je ne veux pas arrêter en attendant l'après. Un après de quoi. Vivre chaque instant avec intensité et plénitude. On and on. Constant.</p> | |||
<h2>sur le bord du chemin</h2> | |||
<ul> | |||
<li><a href="https://en.wikipedia.org/wiki/Yoshihide_Suga">Yoshihide Suga</a> devrait devenir le prochain <del>shogun</del> premier ministre du Japon. bonnet blanc, blanc bonnet. À part ses origines modestes, il est LDP, le parti très ancré à droite du Japon.</li> | |||
<li>Pourquoi parfois <a href="https://lists.w3.org/Archives/Public/www-style/2015Feb/0195.html"><code>long</code>, parfois <code>double</code></a> pour les valeurs en pixel sur les attributs de CSSOM ? Webcompat.</li> | |||
<li><a href="https://www.archdaily.com/638390/seashore-library-vector-architects">Cultural Architecture, Library • Qinhuangdao Shi, China</a></li> | |||
<li><a href="https://raphael.codes/blog/running-a-book-club-with-your-team/">Running a book club with your team</a><blockquote> | |||
You don’t need much to start your own team book club!</blockquote> | |||
</li> | |||
<li><a href="https://larlet.fr/david/2020/09/07/">Justice</a><blockquote> | |||
Au détour d’une discussion, je me suis avoué que j’avais besoin d’accepter l’injustice pour continuer à vivre</blockquote> | |||
</li> |
@@ -0,0 +1,194 @@ | |||
<!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> | |||
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>Italy’s Bergamo finds covid-19 leaves long-term effects for some (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="#f0f0ea"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f0f0ea"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2020-06-19.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 type="text/javascript"> | |||
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.washingtonpost.com/world/2020/09/08/bergamo-italy-covid-longterm/"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick"> | |||
<article> | |||
<header> | |||
<h1>Italy’s Bergamo finds covid-19 leaves long-term effects for some</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="https://www.washingtonpost.com/world/2020/09/08/bergamo-italy-covid-longterm/" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<main> | |||
<p>BERGAMO, Italy — The first wave is over, thousands have been buried, and in a city that was once the world’s <a href="https://www.washingtonpost.com/health/2020/02/28/what-you-need-know-about-coronavirus/" target="_blank" class="contextual_link">coronavirus</a> epicenter, the hospital is calling back the survivors. It is drawing their blood, examining their hearts, scanning their lungs, asking them about their lives.</p> | |||
<p>Twenty people per day, it is measuring what the coronavirus has left in its wake.</p> | |||
<p>“How are you feeling?” a doctor recently asked the next patient to walk in, a 54-year-old who still can’t ascend a flight of steps without losing her breath.</p> | |||
<p>“I feel like I’m 80 years old,” the woman said.</p> | |||
<p>Six months ago, Bergamo was a <a href="https://www.washingtonpost.com/world/europe/coronavirus-obituaries-bergamo-italy/2020/03/16/6c342f02-66c7-11ea-b199-3a9799c54512_story.html" target="_blank">startling warning sign</a> of the virus’s fury, a city where sirens rang through the night and military trucks lined up outside the public hospital to ferry away the dead. Bergamo has dramatically curtailed the virus’s spread, but it is now offering another kind of warning, this one about the long aftermath, where recoveries are proving incomplete and sometimes excruciating.</p> | |||
<p><div data-elm-loc="" class="ent-photo ent-photo-fullwidth "> <a name="2O2THSHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/vq_0jWSLEFR9RpdGzsJtmwWOHbQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/uDnGtq4snujmzcgdluAys4B1NQ0=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/vq_0jWSLEFR9RpdGzsJtmwWOHbQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">A patient gets a CT scan in Bergamo, Italy. (Alberto Bernasconi for The Washington Post) </span> </div> <p>Those who survived the peak of the outbreak in March and April are now negative. The virus is officially gone from their systems.</p> | |||
<p>“But we are asking: Are you feeling cured? Almost half the patients say no,” said Serena Venturelli, an infectious-disease specialist at the hospital.</p> <p class="ent-ad-leaderboard ent-ad-container" etadtype="enterprise"/> <p>The follow-ups with the once-hospitalized patients are the basis for medical research: Their health records now fill 17 bankers’ boxes, and scientific reports are on the way. Bergamo doctors say the disease clearly has full-body ramifications but leaves wildly differing marks from one patient to the next, and in some cases few marks at all. Among the first 750 patients screened, some 30 percent still have lung scarring and breathing trouble. The virus has left another 30 percent with problems linked to inflammation and clotting, such as heart abnormalities and artery blockages. A few are at risk of organ failure.</p> | |||
<p>Beyond that, according to interviews with eight Pope John XXIII Hospital doctors involved in the work, many patients months later are dealing with a galaxy of daily conditions and have no clear answer on when it will all subside: leg pain, tingling in the extremities, hair loss, depression, severe fatigue.</p> | |||
<p>Some patients had preexisting conditions, but doctors say survivors are not simply experiencing a version of old problems.</p> | |||
<p>“We are talking about something new,” said Marco Rizzi, the head of the hospital’s infectious-disease unit.</p> <div data-elm-loc="" class="ent-photo "> <a name="IQDSQMHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/HG2UVuwk_uu4RdgcFNEfhCjspoQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/SH3fP6LTfjp_dewJQuxprN_Qzqc=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/HG2UVuwk_uu4RdgcFNEfhCjspoQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">Funeral home owner Giuseppe Vavassori, 65, developed short-term memory loss in the aftermath of the coronavirus. (Alberto Bernasconi for The Washington Post) </span> </div> <p>One patient, Giuseppe Vavassori, 65, has developed short-term memory loss and now lives under a mountain of Post-it notes and handwritten reminders, with names and phone numbers, so he can still run his funeral home business. A post-covid MRI showed dot-like lesions on his brain.</p> | |||
<p>Another, Guido Padoa, 61, recovered well enough that he was able to go on vacation this summer. But he sleeps four extra hours per night and sometimes falls asleep suddenly midday, head on the computer keyboard.</p> | |||
<p>Some patients who were self-reliant before contracting the virus remain so weakened that, when they arrive for their follow-up appointments, they’re helped to the waiting room by relatives, or in wheelchairs. Four people so far were too frail to make it through the several hours of testing and were rushed instead to the emergency room. Other times, people show up months later, having been through the worst — oxygen support, intubations — and are, improbably, almost fine. Doctors say one of the virus’s mysteries is how recoveries can be swift for some and brutal for others.</p> | |||
<p>Venturelli mentioned a man in his 80s who’d come in for his follow-up visit, mostly recovered. His son, who’d also been infected, hadn’t fared as well. When Venturelli tried to refer the father to a specialist, he said he was too busy these days.</p> | |||
<p>Covid had turned the father into his son’s caretaker.</p> <div data-elm-loc="" class="ent-photo ent-photo-fullwidth "> <a name="V7Y2BLHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/86hmBrWPFQ16VdcUFOCG29h1I8E=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/-c4tmjj5-1R1j17yN8HA8Q2qREs=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/86hmBrWPFQ16VdcUFOCG29h1I8E=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">Patients in a waiting room at the Pope John XXIII Hospital annex in Bergamo. (Alberto Bernasconi for The Washington Post) </span> </div> <p><b>THE BERGAMO RESEARCH</b> is being led by the same doctors who worked frantic 14-hour days in March, sometimes falling sick themselves, while watching patients rapidly outnumber the beds. Now, wearing just masks, those same doctors and patients are sitting down together in a way that was impossible months ago.</p> | |||
<p>“We did feel a moral obligation to call them back,” said Venturelli, who helped start the study in early May. “It was such a tsunami for us. What we saw in March was a tragedy, not a normal hospitalization.”</p> | |||
<p>Bergamo, in March, was a place with six-hour waits for ambulances and 16-hour waits in the ER. At one point, the hospital had 92 people on ventilators — compared with 143 now in all of Italy — and so many who required breathing assistance that it needed to pipe in oxygen from a rush-delivered emergency tank. Subsequent antibody sampling, according to the government, indicated that one-quarter of Bergamo’s 1.1 million people were infected with the virus.</p> <div class="ent-photo-grid ent-photo-grid-2"> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/2RcbzO4s93pBnzjML2RgBzGwdsI=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/STSIJFXO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/WzlHeTFczUwKYz4dm4yj33pGojU=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/STSIJFXO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/STSIJFXO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Eugenio Poletti de Chaurand, a surgeon at Pope John XXIII Hospital, contracted the coronavirus in March and spent eight days using an oxygen helmet. He knew he needed the support — “I could feel myself suffocating,” he said — but he grew so agitated that he tried again and again to remove it. Doctors sedated him. He's made almost a full recovery and returned to work in mid-May. </p> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/ltqyH7oWPAYDyLx3He5ckPeCtFQ=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/S7QYMEXO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/zX7aIOSNq7xPfUGNWAXFl1zS7LM=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/S7QYMEXO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/S7QYMEXO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Poletti de Chaurand said he has “only one lingering consequence” from his fight with the disease — a sensation, both strange and marvelous, that can suddenly overwhelm him, even during surgeries. In those moments, he becomes acutely aware of his lungs at work. “I draw deep breaths,” he said, “and feel great relief.” (Alberto Bernasconi for The Washington Post)</p> </div> <p class="ent-photo-grid-big-caption">LEFT: Eugenio Poletti de Chaurand, a surgeon at Pope John XXIII Hospital, contracted the coronavirus in March and spent eight days using an oxygen helmet. He knew he needed the support — “I could feel myself suffocating,” he said — but he grew so agitated that he tried again and again to remove it. Doctors sedated him. He's made almost a full recovery and returned to work in mid-May. RIGHT: Poletti de Chaurand said he has “only one lingering consequence” from his fight with the disease — a sensation, both strange and marvelous, that can suddenly overwhelm him, even during surgeries. In those moments, he becomes acutely aware of his lungs at work. “I draw deep breaths,” he said, “and feel great relief.” (Alberto Bernasconi for The Washington Post)</p> | |||
<p>“I have a picture in my mind from that time of the ER with eight ambulances queuing outside,” said head nurse Monica Casati. Inside the hospital, she said, people were crying, moaning and gasping for air. “It was a noise that would remind you of Dante’s inferno,” she said.</p> | |||
<p>The hospital was admitting only the worst cases, and to keep pace with the influx, it sometimes had to discharge patients before they were fully ready — something confirmed when the hospital started calling people for the follow-ups. In addition to the 440 people who died while hospitalized, 220 died after being told to go home.</p> <div data-elm-loc="" class="ent-photo ent-photo-fullwidth "> <a name="WCB5QUHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/kSbx68tHyO7aKd8E7B-URErkwRs=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/4ht04NOszMY4_G0Iaxs4ozzMME4=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/kSbx68tHyO7aKd8E7B-URErkwRs=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">A patient gets his respiration rate checked. Among the first 750 patients screened, about 30 percent exhibited breathing trouble and permanent lung scarring. (Alberto Bernasconi for The Washington Post) </span> </div> <p>The study in Bergamo is one of multiple efforts around the world to examine aspects of covid’s lingering damage. One <a href="https://jamanetwork.com/journals/jamacardiology/fullarticle/2768916" target="_blank">German study</a> of 100 people found that nearly 80 percent had heart abnormalities several months after infection. Other studies are underway to look specifically at “long-haulers” — a subset of people, some never hospitalized, who nonetheless have fatigue and other symptoms months after the illness.</p> | |||
<p>Some of the doctors in Bergamo see reasons for encouragement in their findings, especially given the severity of what patients faced in March and April and the trial-and-error treatments they were given. They say that patients’ breathing seems to gradually improve, even though the lung scarring is permanent. Doctors have found nobody with a fever.</p> <p class="ent-ad-leaderboard ent-ad-container" etadtype="enterprise"/> <p>“Many of them coming in for repeat visits, they are doing better now than they were in May,” said Caterina Conti, a lung specialist.</p> | |||
<p>For the patients who have been able to regain a semblance of their lives, the last barrier is the trauma itself — the raw memory of being in a hospital where so many were dying, and wondering if they might be next. Padoa, a photographer, said he remembers hearing others in his ward struggling to breathe, and seeing hospital workers remove the bodies, change the bedsheets. With his own lungs on the brink of failure, he worried what might happen if he let his eyes close, so he drew on his training four decades earlier as a paratrooper. Under an oxygen helmet, as it beeped and hissed, he willed himself to stay awake for five days, he said.</p> | |||
<p>“It’s like when you are on a high mountain in the cold,” Padoa said. “If you fall asleep, you die.”</p> <div class="ent-photo-grid ent-photo-grid-2"> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/Q_WmLEisSEX7xYYTwxz_80OfP5U=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FA4E6JXO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/ypQcIz4ckb4_9qYCEAatLDqnqlI=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FA4E6JXO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FA4E6JXO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Mirco Carrara, 55, experienced a severe bout of covid-19 and now lives with the risk of fungus-filled bubbles exploding in his lungs. </p> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/N6LZ27UpjVBVPvFycY0YKWjZ6qs=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FNEWTGHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/-imvjZqlFFOknwrz-H_kS5PhzzI=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FNEWTGHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FNEWTGHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Carrara's daily medication regimen. (Photos by Alberto Bernasconi for The Washington Post)</p> </div> <p class="ent-photo-grid-big-caption">LEFT: Mirco Carrara, 55, experienced a severe bout of covid-19 and now lives with the risk of fungus-filled bubbles exploding in his lungs. RIGHT: Carrara's daily medication regimen. (Photos by Alberto Bernasconi for The Washington Post)</p> | |||
<p><b>BUT THE GRAVEST</b> patients of all, like Mirco Carrara, 55, have no recovery in sight.</p> | |||
<p>By the time he arrived for his follow-up, it was late August, and he’d moved back into his home on the outskirts of Bergamo. He’d started going to work again, as a manager at a military parts company. But he was also coming to terms with how drastically his life had changed.</p> <p class="ent-raw-container custom-html"> </p> | |||
<p>He had spent more than a month in a medically induced coma. In the middle of that, he was transferred on a German medevac plane to a hospital in Cologne. Doctors there saw that his lungs had developed not only scars but also a fungal infection. He was removed from the ventilator, re-intubated after his lung collapsed, then removed again. By the time he returned, conscious, to a rehabilitation center in Italy, Carrara had lost 45 pounds. He needed to relearn to swallow and stand.</p> | |||
<p>And even that he had felt capable of doing, until doctors told him one more thing. The full trauma of covid-19 — the ventilation, the treatment, the compounding infections — meant there were now fungus-filled bubbles inside his lungs, each a bomb-like threat that could critically impair his breathing if it burst.</p> <p class="ent-raw-container custom-html"> </p> | |||
<p>“I started crying,” Carrara said. “Up until that point, I had thought I’d be able to recover.”</p> | |||
<p>In an interview, Simone Benatti, the doctor at Pope John XXIII who consulted with Carrara, described the air and fungus bubbles as a “bad complication” and mentioned a separate <a href="https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30434-5/fulltext" target="_blank">Italian study</a> showing that some deceased covid-19 victims were found to have bacterial or fungal abscesses in their lungs.</p> | |||
<p>“There is an interplay between covid and other infections,” Benatti said.</p> <p class="ent-ad-leaderboard ent-ad-container" etadtype="enterprise"/> <p>Carrara said the bubbles were like a “Damocles sword,” and soon enough, in early June, a cough sent his oxygen levels dipping. His girlfriend rushed him to the hospital. He had a tube inserted into his lungs for a week. A month later, it happened again — dipping oxygen; another hospital trip; another surgery to drain his lung — except this time, he wasn’t even sure what set it off. He felt a rage about his body. He said he wished the surgeon would “just cut my lung out.”</p> | |||
<p>He arrived for his follow-up in Bergamo carrying a thick stack of medical paperwork and figured there was only so much more about his body he cared to know. Like the others, he submitted to a CT scan, an echocardiogram and blood tests. But when filling out a survey about how he was feeling and coping, he checked all the boxes in the “middle,” he said — moderate, good, okay.</p> <p>“I lied,” Carrara said.</p> | |||
<p>He didn’t mention how deep his despair has been, as he comes to grips with his lungs. He didn’t mention the guilt he felt, wondering if he passed the virus to his father, who had not survived. He didn’t mention his first nights back home, when he lay fully awake, one night and then two nights and then three. He didn’t say how his partner then said enough was enough, and went to the pharmacy to get sleeping pills, and how he’d agreed to take them, because that was the one way to briefly quiet his mind six months after being infected with covid-19.</p> | |||
<p>“The bubbles will remain. They’re not going anywhere,” Carrara said, and he figured it was just a matter of time before he was back in the hospital again.</p> | |||
<p>“I live with this terror,” he said.</p> | |||
<p><i>Photo editing by Chloe Coleman. Designed by J.C. Reed.</i></p></p> | |||
</main> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="/david/log/" title="Accès au flux RSS">🤖</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> • | |||
<abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend>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 type="text/javascript"> | |||
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,36 @@ | |||
title: Italy’s Bergamo finds covid-19 leaves long-term effects for some | |||
url: https://www.washingtonpost.com/world/2020/09/08/bergamo-italy-covid-longterm/ | |||
hash_url: dd5f3b7bc94e0bbe28dedec164ff6a37 | |||
<p>BERGAMO, Italy — The first wave is over, thousands have been buried, and in a city that was once the world’s <a href="https://www.washingtonpost.com/health/2020/02/28/what-you-need-know-about-coronavirus/" target="_blank" class="contextual_link">coronavirus</a> epicenter, the hospital is calling back the survivors. It is drawing their blood, examining their hearts, scanning their lungs, asking them about their lives.</p> | |||
<p>Twenty people per day, it is measuring what the coronavirus has left in its wake.</p> | |||
<p>“How are you feeling?” a doctor recently asked the next patient to walk in, a 54-year-old who still can’t ascend a flight of steps without losing her breath.</p> | |||
<p>“I feel like I’m 80 years old,” the woman said.</p> | |||
<p>Six months ago, Bergamo was a <a href="https://www.washingtonpost.com/world/europe/coronavirus-obituaries-bergamo-italy/2020/03/16/6c342f02-66c7-11ea-b199-3a9799c54512_story.html" target="_blank">startling warning sign</a> of the virus’s fury, a city where sirens rang through the night and military trucks lined up outside the public hospital to ferry away the dead. Bergamo has dramatically curtailed the virus’s spread, but it is now offering another kind of warning, this one about the long aftermath, where recoveries are proving incomplete and sometimes excruciating.</p> <div data-elm-loc="" class="ent-photo ent-photo-fullwidth "> <a name="2O2THSHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/vq_0jWSLEFR9RpdGzsJtmwWOHbQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/uDnGtq4snujmzcgdluAys4B1NQ0=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/vq_0jWSLEFR9RpdGzsJtmwWOHbQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/2O2THSHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">A patient gets a CT scan in Bergamo, Italy. (Alberto Bernasconi for The Washington Post) </span> </div> <p>Those who survived the peak of the outbreak in March and April are now negative. The virus is officially gone from their systems.</p> | |||
<p>“But we are asking: Are you feeling cured? Almost half the patients say no,” said Serena Venturelli, an infectious-disease specialist at the hospital.</p> <p class="ent-ad-leaderboard ent-ad-container" etadtype="enterprise"/> <p>The follow-ups with the once-hospitalized patients are the basis for medical research: Their health records now fill 17 bankers’ boxes, and scientific reports are on the way. Bergamo doctors say the disease clearly has full-body ramifications but leaves wildly differing marks from one patient to the next, and in some cases few marks at all. Among the first 750 patients screened, some 30 percent still have lung scarring and breathing trouble. The virus has left another 30 percent with problems linked to inflammation and clotting, such as heart abnormalities and artery blockages. A few are at risk of organ failure.</p> | |||
<p>Beyond that, according to interviews with eight Pope John XXIII Hospital doctors involved in the work, many patients months later are dealing with a galaxy of daily conditions and have no clear answer on when it will all subside: leg pain, tingling in the extremities, hair loss, depression, severe fatigue.</p> | |||
<p>Some patients had preexisting conditions, but doctors say survivors are not simply experiencing a version of old problems.</p> | |||
<p>“We are talking about something new,” said Marco Rizzi, the head of the hospital’s infectious-disease unit.</p> <div data-elm-loc="" class="ent-photo "> <a name="IQDSQMHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/HG2UVuwk_uu4RdgcFNEfhCjspoQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/SH3fP6LTfjp_dewJQuxprN_Qzqc=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/HG2UVuwk_uu4RdgcFNEfhCjspoQ=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/IQDSQMHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">Funeral home owner Giuseppe Vavassori, 65, developed short-term memory loss in the aftermath of the coronavirus. (Alberto Bernasconi for The Washington Post) </span> </div> <p>One patient, Giuseppe Vavassori, 65, has developed short-term memory loss and now lives under a mountain of Post-it notes and handwritten reminders, with names and phone numbers, so he can still run his funeral home business. A post-covid MRI showed dot-like lesions on his brain.</p> | |||
<p>Another, Guido Padoa, 61, recovered well enough that he was able to go on vacation this summer. But he sleeps four extra hours per night and sometimes falls asleep suddenly midday, head on the computer keyboard.</p> | |||
<p>Some patients who were self-reliant before contracting the virus remain so weakened that, when they arrive for their follow-up appointments, they’re helped to the waiting room by relatives, or in wheelchairs. Four people so far were too frail to make it through the several hours of testing and were rushed instead to the emergency room. Other times, people show up months later, having been through the worst — oxygen support, intubations — and are, improbably, almost fine. Doctors say one of the virus’s mysteries is how recoveries can be swift for some and brutal for others.</p> | |||
<p>Venturelli mentioned a man in his 80s who’d come in for his follow-up visit, mostly recovered. His son, who’d also been infected, hadn’t fared as well. When Venturelli tried to refer the father to a specialist, he said he was too busy these days.</p> | |||
<p>Covid had turned the father into his son’s caretaker.</p> <div data-elm-loc="" class="ent-photo ent-photo-fullwidth "> <a name="V7Y2BLHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/86hmBrWPFQ16VdcUFOCG29h1I8E=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/-c4tmjj5-1R1j17yN8HA8Q2qREs=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/86hmBrWPFQ16VdcUFOCG29h1I8E=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/V7Y2BLHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">Patients in a waiting room at the Pope John XXIII Hospital annex in Bergamo. (Alberto Bernasconi for The Washington Post) </span> </div> <p><b>THE BERGAMO RESEARCH</b> is being led by the same doctors who worked frantic 14-hour days in March, sometimes falling sick themselves, while watching patients rapidly outnumber the beds. Now, wearing just masks, those same doctors and patients are sitting down together in a way that was impossible months ago.</p> | |||
<p>“We did feel a moral obligation to call them back,” said Venturelli, who helped start the study in early May. “It was such a tsunami for us. What we saw in March was a tragedy, not a normal hospitalization.”</p> | |||
<p>Bergamo, in March, was a place with six-hour waits for ambulances and 16-hour waits in the ER. At one point, the hospital had 92 people on ventilators — compared with 143 now in all of Italy — and so many who required breathing assistance that it needed to pipe in oxygen from a rush-delivered emergency tank. Subsequent antibody sampling, according to the government, indicated that one-quarter of Bergamo’s 1.1 million people were infected with the virus.</p> <div class="ent-photo-grid ent-photo-grid-2"> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/2RcbzO4s93pBnzjML2RgBzGwdsI=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/STSIJFXO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/WzlHeTFczUwKYz4dm4yj33pGojU=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/STSIJFXO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/STSIJFXO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Eugenio Poletti de Chaurand, a surgeon at Pope John XXIII Hospital, contracted the coronavirus in March and spent eight days using an oxygen helmet. He knew he needed the support — “I could feel myself suffocating,” he said — but he grew so agitated that he tried again and again to remove it. Doctors sedated him. He's made almost a full recovery and returned to work in mid-May. </p> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/ltqyH7oWPAYDyLx3He5ckPeCtFQ=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/S7QYMEXO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/zX7aIOSNq7xPfUGNWAXFl1zS7LM=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/S7QYMEXO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/S7QYMEXO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Poletti de Chaurand said he has “only one lingering consequence” from his fight with the disease — a sensation, both strange and marvelous, that can suddenly overwhelm him, even during surgeries. In those moments, he becomes acutely aware of his lungs at work. “I draw deep breaths,” he said, “and feel great relief.” (Alberto Bernasconi for The Washington Post)</p> </div> <p class="ent-photo-grid-big-caption">LEFT: Eugenio Poletti de Chaurand, a surgeon at Pope John XXIII Hospital, contracted the coronavirus in March and spent eight days using an oxygen helmet. He knew he needed the support — “I could feel myself suffocating,” he said — but he grew so agitated that he tried again and again to remove it. Doctors sedated him. He's made almost a full recovery and returned to work in mid-May. RIGHT: Poletti de Chaurand said he has “only one lingering consequence” from his fight with the disease — a sensation, both strange and marvelous, that can suddenly overwhelm him, even during surgeries. In those moments, he becomes acutely aware of his lungs at work. “I draw deep breaths,” he said, “and feel great relief.” (Alberto Bernasconi for The Washington Post)</p> | |||
<p>“I have a picture in my mind from that time of the ER with eight ambulances queuing outside,” said head nurse Monica Casati. Inside the hospital, she said, people were crying, moaning and gasping for air. “It was a noise that would remind you of Dante’s inferno,” she said.</p> | |||
<p>The hospital was admitting only the worst cases, and to keep pace with the influx, it sometimes had to discharge patients before they were fully ready — something confirmed when the hospital started calling people for the follow-ups. In addition to the 440 people who died while hospitalized, 220 died after being told to go home.</p> <div data-elm-loc="" class="ent-photo ent-photo-fullwidth "> <a name="WCB5QUHO4AI6VPIIDMIBGK2FR4"/> <img class="unprocessed photo" src="https://www.washingtonpost.com/resizer/kSbx68tHyO7aKd8E7B-URErkwRs=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-hi-res-src="https://www.washingtonpost.com/resizer/4ht04NOszMY4_G0Iaxs4ozzMME4=/1484x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/kSbx68tHyO7aKd8E7B-URErkwRs=/480x0/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/WCB5QUHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="480"/> <span class="pb-caption">A patient gets his respiration rate checked. Among the first 750 patients screened, about 30 percent exhibited breathing trouble and permanent lung scarring. (Alberto Bernasconi for The Washington Post) </span> </div> <p>The study in Bergamo is one of multiple efforts around the world to examine aspects of covid’s lingering damage. One <a href="https://jamanetwork.com/journals/jamacardiology/fullarticle/2768916" target="_blank">German study</a> of 100 people found that nearly 80 percent had heart abnormalities several months after infection. Other studies are underway to look specifically at “long-haulers” — a subset of people, some never hospitalized, who nonetheless have fatigue and other symptoms months after the illness.</p> | |||
<p>Some of the doctors in Bergamo see reasons for encouragement in their findings, especially given the severity of what patients faced in March and April and the trial-and-error treatments they were given. They say that patients’ breathing seems to gradually improve, even though the lung scarring is permanent. Doctors have found nobody with a fever.</p> <p class="ent-ad-leaderboard ent-ad-container" etadtype="enterprise"/> <p>“Many of them coming in for repeat visits, they are doing better now than they were in May,” said Caterina Conti, a lung specialist.</p> | |||
<p>For the patients who have been able to regain a semblance of their lives, the last barrier is the trauma itself — the raw memory of being in a hospital where so many were dying, and wondering if they might be next. Padoa, a photographer, said he remembers hearing others in his ward struggling to breathe, and seeing hospital workers remove the bodies, change the bedsheets. With his own lungs on the brink of failure, he worried what might happen if he let his eyes close, so he drew on his training four decades earlier as a paratrooper. Under an oxygen helmet, as it beeped and hissed, he willed himself to stay awake for five days, he said.</p> | |||
<p>“It’s like when you are on a high mountain in the cold,” Padoa said. “If you fall asleep, you die.”</p> <div class="ent-photo-grid ent-photo-grid-2"> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/Q_WmLEisSEX7xYYTwxz_80OfP5U=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FA4E6JXO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/ypQcIz4ckb4_9qYCEAatLDqnqlI=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FA4E6JXO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FA4E6JXO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Mirco Carrara, 55, experienced a severe bout of covid-19 and now lives with the risk of fungus-filled bubbles exploding in his lungs. </p> <img class="unprocessed _3-to-2 placeholder " src="https://www.washingtonpost.com/resizer/TXJKur-cQ3m4AF9lqk_kkjfemkk=/3x2/www.washingtonpost.com/pb/resources/img/spacer.gif" data-hi-res-src="https://www.washingtonpost.com/resizer/N6LZ27UpjVBVPvFycY0YKWjZ6qs=/750x500/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FNEWTGHO4AI6VPIIDMIBGK2FR4.jpg" data-low-res-src="https://www.washingtonpost.com/resizer/-imvjZqlFFOknwrz-H_kS5PhzzI=/243x162/arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FNEWTGHO4AI6VPIIDMIBGK2FR4.jpg" data-raw-src="https://arc-anglerfish-washpost-prod-washpost.s3.amazonaws.com/public/FNEWTGHO4AI6VPIIDMIBGK2FR4.jpg" data-threshold="243"/> <p class="ent-photo-grid-small-caption">Carrara's daily medication regimen. (Photos by Alberto Bernasconi for The Washington Post)</p> </div> <p class="ent-photo-grid-big-caption">LEFT: Mirco Carrara, 55, experienced a severe bout of covid-19 and now lives with the risk of fungus-filled bubbles exploding in his lungs. RIGHT: Carrara's daily medication regimen. (Photos by Alberto Bernasconi for The Washington Post)</p> | |||
<p><b>BUT THE GRAVEST</b> patients of all, like Mirco Carrara, 55, have no recovery in sight.</p> | |||
<p>By the time he arrived for his follow-up, it was late August, and he’d moved back into his home on the outskirts of Bergamo. He’d started going to work again, as a manager at a military parts company. But he was also coming to terms with how drastically his life had changed.</p> <p class="ent-raw-container custom-html"> </p> | |||
<p>He had spent more than a month in a medically induced coma. In the middle of that, he was transferred on a German medevac plane to a hospital in Cologne. Doctors there saw that his lungs had developed not only scars but also a fungal infection. He was removed from the ventilator, re-intubated after his lung collapsed, then removed again. By the time he returned, conscious, to a rehabilitation center in Italy, Carrara had lost 45 pounds. He needed to relearn to swallow and stand.</p> | |||
<p>And even that he had felt capable of doing, until doctors told him one more thing. The full trauma of covid-19 — the ventilation, the treatment, the compounding infections — meant there were now fungus-filled bubbles inside his lungs, each a bomb-like threat that could critically impair his breathing if it burst.</p> <p class="ent-raw-container custom-html"> </p> | |||
<p>“I started crying,” Carrara said. “Up until that point, I had thought I’d be able to recover.”</p> | |||
<p>In an interview, Simone Benatti, the doctor at Pope John XXIII who consulted with Carrara, described the air and fungus bubbles as a “bad complication” and mentioned a separate <a href="https://www.thelancet.com/journals/laninf/article/PIIS1473-3099(20)30434-5/fulltext" target="_blank">Italian study</a> showing that some deceased covid-19 victims were found to have bacterial or fungal abscesses in their lungs.</p> | |||
<p>“There is an interplay between covid and other infections,” Benatti said.</p> <p class="ent-ad-leaderboard ent-ad-container" etadtype="enterprise"/> <p>Carrara said the bubbles were like a “Damocles sword,” and soon enough, in early June, a cough sent his oxygen levels dipping. His girlfriend rushed him to the hospital. He had a tube inserted into his lungs for a week. A month later, it happened again — dipping oxygen; another hospital trip; another surgery to drain his lung — except this time, he wasn’t even sure what set it off. He felt a rage about his body. He said he wished the surgeon would “just cut my lung out.”</p> | |||
<p>He arrived for his follow-up in Bergamo carrying a thick stack of medical paperwork and figured there was only so much more about his body he cared to know. Like the others, he submitted to a CT scan, an echocardiogram and blood tests. But when filling out a survey about how he was feeling and coping, he checked all the boxes in the “middle,” he said — moderate, good, okay.</p> <p>“I lied,” Carrara said.</p> | |||
<p>He didn’t mention how deep his despair has been, as he comes to grips with his lungs. He didn’t mention the guilt he felt, wondering if he passed the virus to his father, who had not survived. He didn’t mention his first nights back home, when he lay fully awake, one night and then two nights and then three. He didn’t say how his partner then said enough was enough, and went to the pharmacy to get sleeping pills, and how he’d agreed to take them, because that was the one way to briefly quiet his mind six months after being infected with covid-19.</p> | |||
<p>“The bubbles will remain. They’re not going anywhere,” Carrara said, and he figured it was just a matter of time before he was back in the hospital again.</p> | |||
<p>“I live with this terror,” he said.</p> | |||
<p><i>Photo editing by Chloe Coleman. Designed by J.C. Reed.</i></p> |
@@ -0,0 +1,195 @@ | |||
<!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> | |||
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 tangled webs we weave (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="#f0f0ea"> | |||
<meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" content="#f0f0ea"> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2020-06-19.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 type="text/javascript"> | |||
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://daverupert.com/2020/09/tangled-webs/"> | |||
<body class="remarkdown h1-underline h2-underline h3-underline hr-center ul-star pre-tick"> | |||
<article> | |||
<header> | |||
<h1>The tangled webs we weave</h1> | |||
</header> | |||
<nav> | |||
<p class="center"> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="https://daverupert.com/2020/09/tangled-webs/" title="Lien vers le contenu original">Source originale</a> | |||
</p> | |||
</nav> | |||
<hr> | |||
<main> | |||
<p class="tldr">Another reflection on modern web development</p> | |||
<p><p class="meta">September 11, 2020</p> | |||
<p>Last month I worked on a prototype of three simple pieces of technology: <code>Eleventy</code> + <code>Tailwind</code> + <code>Netlify CMS</code>. I love a good mashup. Those are fairly distinct technologies with well defined roles, so I didn’t anticipate too many hiccups. I was more on the lookout for limitations or deal breakers. The first week was filled with excellent velocity and momentum, but I hit a wall during the second week. The preview portion of <code>Netlify CMS</code> started falling apart. So I started investigating…</p> | |||
<p>Here’s a breakdown of the technologies I used to build the prototype:</p> | |||
<ul> | |||
<li>Use <code>Eleventy</code> CLI to compile <code>Markdown</code> and <code>Nunjucks</code></li> | |||
<li>Use <code>Tailwind</code> to make those look nice</li> | |||
<li>Use <code>TailwindUI</code> for some nice prefab styled components</li> | |||
<li>Use <code>PurgeCSS</code> to make <code>Tailwind</code> smaller</li> | |||
<li>Use <code>PostCSS</code> to run the <code>Tailwind</code>, <code>Purge</code>, and <code>Autoprefixer</code></li> | |||
<li>Use <code>AlpineJS</code> to make <code>Tailwind</code> interactive</li> | |||
</ul> | |||
<p>This was functioning as intended with a few <code>npm scripts</code> working in tandem. But the next step got a little slippery.</p> | |||
<ul> | |||
<li>Use <code>NetlifyCMS</code> to make updating markdown easier for content authors</li> | |||
<li>Use <code>netlify-cms-proxy-server</code> CLI so that I can test the CMS locally</li> | |||
<li>Use <code>nunjucks-precompile</code> CLI so that <code>Netlify CMS</code>’s Preview can use my <code>Nunjucks</code> templates</li> | |||
<li>Use <code>rollup</code> to bundle content filters so <code>Netlify CMS</code> can fully render the <code>Markdown</code> content (stolen from Hylia)</li> | |||
<li>Use <code>React</code> to create <code><Preview/></code> render components in <code>NetlifyCMS</code></li> | |||
<li>Use <code>Babel</code> standalone to transpile the <code>JSX</code> components.</li> | |||
</ul> | |||
<p>This is where things started to break down. <code>Alpine</code> wasn’t working within the <code>React</code> preview component of <code>Netlify CMS</code>. So all my menus were exploded and none of the interactive bits worked. I tried a few avenues for a quick fix like rewriting my <code><Preview/></code> component <code>class</code> with <code>componentDidMount</code> as a <code>function</code> with <code>useEffect</code>. This produced more errors as <code>JSX</code> got very mad because it doesn’t like the custom directives that <code>Alpine</code> uses, but those were all red herrings, however. It smelled like the problem was between <code>Alpine</code> and the <code>React</code> portion of <code>Netlify CMS</code> because the <code><Preview/></code> frame had no knowledge of <code>Alpine</code>.</p> | |||
<p>I decided the next best thing I could do is isolate the problem. I took <code>Markdown,</code> <code>Nunjucks</code>, <code>rollup</code>, and <code>Netlify CMS</code> out of the equation entirely by writing <a href="https://codepen.io/davatron5000/pen/YzqyOKz">a reduced test case in <code>CodePen</code></a> to prove that I could get <code>React</code> and <code>Alpine</code> working together. Seeing it worked in <code>CodePen</code> validated the hypothesis that the problem was on the <code>Netlify CMS</code> side of things (or however it was rendering previews). I ported my simple <code>CodePen</code> over to <code>Netlify CMS</code> with a bit of modification to inject <code>Alpine</code> and then I finally saw my problem.</p> | |||
<p>I didn’t see it before because I had too much template code in the <code>iframe</code>, but reducing the amount of code helped me finally pinpoint the issue. <code>Alpine</code> was being injected, but it was on the parent <code>window</code> context, not the <code>document</code> context of the <code>iframe</code>. Now I had to figure out how to get <code>Alpine</code> inside the preview <code>iframe</code>. Curiously, the <code>iframe</code> didn’t have a <code>src</code> or <code>srcdoc</code> attribute, so it must be some quirky <code>DocumentFragment</code> thing I’ve never really used before. Pinpointing this might be tough. So I started digging into the <code>Netlify CMS</code> source code (this pretty far down the rabbit hole for a prototype, btw). In <a href="https://github.com/netlify/netlify-cms/blob/master/packages/netlify-cms-core/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js#L188-L233">EditorPreviewPane.js#L188-L233</a> you can see where the <code>iframe</code> is generated with <code><FrameContextConsumer></code> from <code>react-frame-component</code>. I know nothing about that, but you can see a way to pass preview styles into the <code><FrameContextConsumer></code>, I wondered if you could pass scripts that way as well.</p> | |||
<p>Before I embarked on a patch to <code>Netlify CMS</code>, <a href="https://github.com/netlify/netlify-cms/issues/4142">I filed a feature request</a> with a mock solution. Thankfully, Erez Rokah (maintainer) figured out a way to get access to the <code>document</code> from <code>react-frame-component</code>, with a much smaller fix than I was proposing. A patch landed in a few days. That’s an amazing turnaround and an open source success. 🎉 Thanks, Netlify!</p> | |||
<h2>LEGO, plumbing, and cattle herding</h2> | |||
<p>So my little mashup, which was supposed to be just 3 technologies ended up exposing me to ~20 different technologies and had me digging into nth-level dependency source code after midnight. If there’s an allegory for what I don’t like about modern day web development, this is it. You want to use three tools, but you have to know how to use twenty tools instead. If modules and components are like LEGO, then this is dumping out the entire bin on the floor just to find one tiny piece you need.</p> | |||
<p>This experience was flavored with a recent post by Jessica Joy Kerr “<a href="https://jessitron.com/2020/08/04/back-when-software-was-a-craft/">Back when software was craft</a>” (and <a href="https://twitter.com/searls/status/1293933781171286016">a thread by Justin Searls</a>) talking about the industrialization of our industry. Over the years we’ve made the software industry <em>even more</em> of a knowledge-based industry. We’ve moved away from a bespoke “craft”-like industry with custom hewn boards and we now have a process that resembles a system of standardized parts.</p> | |||
<blockquote> | |||
<p>Software feels more like assembly than craft.<br/> | |||
— Jessica Joy Kerr, <a href="https://jessitron.com/2020/08/04/back-when-software-was-a-craft/">Back when software was craft</a></p> | |||
</blockquote> | |||
<p>I definitely have felt this shift in my own life but have been unable to express it so simply. It feels like the job of programming has shifted from “Can you make this?” to “Do you have the knowledge to staple these two technologies together?” Kerr is more accepting of this reality than I am. The plumbing and glue code are not my favorite parts of the job. And often, you don’t truly know the limitations of any given dependency until you’re five thousand lines of code into a project. Massive sunk costs and the promise of rapid application development can come screeching to a halt when you run out of short cuts.</p> | |||
<p>It reminds me of a parable I once heard:</p> | |||
<blockquote> | |||
<p>One day a farmer, tired of plowing his field by hand, decided to build a barn and buy a bunch of cows to help tend the field. The field plowing did get easier, but eventually cows gave birth to more cows, and that farmer spent the rest of their life cutting hay to feed the cattle and shoveling their shit.</p> | |||
</blockquote> | |||
<p>Tradeoffs, man.</p></p> | |||
</main> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil">🏠</a> • | |||
<a href="/david/log/" title="Accès au flux RSS">🤖</a> • | |||
<a href="http://larlet.com" title="Go to my English profile" data-instant>🇨🇦</a> • | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel">📮</a> • | |||
<abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">🧚</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<fieldset> | |||
<legend>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 type="text/javascript"> | |||
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,42 @@ | |||
title: The tangled webs we weave | |||
url: https://daverupert.com/2020/09/tangled-webs/ | |||
hash_url: fc3558fb276cdc30844d1abfe095631d | |||
<p class="tldr">Another reflection on modern web development</p> | |||
<p class="meta">September 11, 2020</p> | |||
<p>Last month I worked on a prototype of three simple pieces of technology: <code>Eleventy</code> + <code>Tailwind</code> + <code>Netlify CMS</code>. I love a good mashup. Those are fairly distinct technologies with well defined roles, so I didn’t anticipate too many hiccups. I was more on the lookout for limitations or deal breakers. The first week was filled with excellent velocity and momentum, but I hit a wall during the second week. The preview portion of <code>Netlify CMS</code> started falling apart. So I started investigating…</p> | |||
<p>Here’s a breakdown of the technologies I used to build the prototype:</p> | |||
<ul> | |||
<li>Use <code>Eleventy</code> CLI to compile <code>Markdown</code> and <code>Nunjucks</code></li> | |||
<li>Use <code>Tailwind</code> to make those look nice</li> | |||
<li>Use <code>TailwindUI</code> for some nice prefab styled components</li> | |||
<li>Use <code>PurgeCSS</code> to make <code>Tailwind</code> smaller</li> | |||
<li>Use <code>PostCSS</code> to run the <code>Tailwind</code>, <code>Purge</code>, and <code>Autoprefixer</code></li> | |||
<li>Use <code>AlpineJS</code> to make <code>Tailwind</code> interactive</li> | |||
</ul> | |||
<p>This was functioning as intended with a few <code>npm scripts</code> working in tandem. But the next step got a little slippery.</p> | |||
<ul> | |||
<li>Use <code>NetlifyCMS</code> to make updating markdown easier for content authors</li> | |||
<li>Use <code>netlify-cms-proxy-server</code> CLI so that I can test the CMS locally</li> | |||
<li>Use <code>nunjucks-precompile</code> CLI so that <code>Netlify CMS</code>’s Preview can use my <code>Nunjucks</code> templates</li> | |||
<li>Use <code>rollup</code> to bundle content filters so <code>Netlify CMS</code> can fully render the <code>Markdown</code> content (stolen from Hylia)</li> | |||
<li>Use <code>React</code> to create <code><Preview/></code> render components in <code>NetlifyCMS</code></li> | |||
<li>Use <code>Babel</code> standalone to transpile the <code>JSX</code> components.</li> | |||
</ul> | |||
<p>This is where things started to break down. <code>Alpine</code> wasn’t working within the <code>React</code> preview component of <code>Netlify CMS</code>. So all my menus were exploded and none of the interactive bits worked. I tried a few avenues for a quick fix like rewriting my <code><Preview/></code> component <code>class</code> with <code>componentDidMount</code> as a <code>function</code> with <code>useEffect</code>. This produced more errors as <code>JSX</code> got very mad because it doesn’t like the custom directives that <code>Alpine</code> uses, but those were all red herrings, however. It smelled like the problem was between <code>Alpine</code> and the <code>React</code> portion of <code>Netlify CMS</code> because the <code><Preview/></code> frame had no knowledge of <code>Alpine</code>.</p> | |||
<p>I decided the next best thing I could do is isolate the problem. I took <code>Markdown,</code> <code>Nunjucks</code>, <code>rollup</code>, and <code>Netlify CMS</code> out of the equation entirely by writing <a href="https://codepen.io/davatron5000/pen/YzqyOKz">a reduced test case in <code>CodePen</code></a> to prove that I could get <code>React</code> and <code>Alpine</code> working together. Seeing it worked in <code>CodePen</code> validated the hypothesis that the problem was on the <code>Netlify CMS</code> side of things (or however it was rendering previews). I ported my simple <code>CodePen</code> over to <code>Netlify CMS</code> with a bit of modification to inject <code>Alpine</code> and then I finally saw my problem.</p> | |||
<p>I didn’t see it before because I had too much template code in the <code>iframe</code>, but reducing the amount of code helped me finally pinpoint the issue. <code>Alpine</code> was being injected, but it was on the parent <code>window</code> context, not the <code>document</code> context of the <code>iframe</code>. Now I had to figure out how to get <code>Alpine</code> inside the preview <code>iframe</code>. Curiously, the <code>iframe</code> didn’t have a <code>src</code> or <code>srcdoc</code> attribute, so it must be some quirky <code>DocumentFragment</code> thing I’ve never really used before. Pinpointing this might be tough. So I started digging into the <code>Netlify CMS</code> source code (this pretty far down the rabbit hole for a prototype, btw). In <a href="https://github.com/netlify/netlify-cms/blob/master/packages/netlify-cms-core/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js#L188-L233">EditorPreviewPane.js#L188-L233</a> you can see where the <code>iframe</code> is generated with <code><FrameContextConsumer></code> from <code>react-frame-component</code>. I know nothing about that, but you can see a way to pass preview styles into the <code><FrameContextConsumer></code>, I wondered if you could pass scripts that way as well.</p> | |||
<p>Before I embarked on a patch to <code>Netlify CMS</code>, <a href="https://github.com/netlify/netlify-cms/issues/4142">I filed a feature request</a> with a mock solution. Thankfully, Erez Rokah (maintainer) figured out a way to get access to the <code>document</code> from <code>react-frame-component</code>, with a much smaller fix than I was proposing. A patch landed in a few days. That’s an amazing turnaround and an open source success. 🎉 Thanks, Netlify!</p> | |||
<h2>LEGO, plumbing, and cattle herding</h2> | |||
<p>So my little mashup, which was supposed to be just 3 technologies ended up exposing me to ~20 different technologies and had me digging into nth-level dependency source code after midnight. If there’s an allegory for what I don’t like about modern day web development, this is it. You want to use three tools, but you have to know how to use twenty tools instead. If modules and components are like LEGO, then this is dumping out the entire bin on the floor just to find one tiny piece you need.</p> | |||
<p>This experience was flavored with a recent post by Jessica Joy Kerr “<a href="https://jessitron.com/2020/08/04/back-when-software-was-a-craft/">Back when software was craft</a>” (and <a href="https://twitter.com/searls/status/1293933781171286016">a thread by Justin Searls</a>) talking about the industrialization of our industry. Over the years we’ve made the software industry <em>even more</em> of a knowledge-based industry. We’ve moved away from a bespoke “craft”-like industry with custom hewn boards and we now have a process that resembles a system of standardized parts.</p> | |||
<blockquote> | |||
<p>Software feels more like assembly than craft.<br/> | |||
— Jessica Joy Kerr, <a href="https://jessitron.com/2020/08/04/back-when-software-was-a-craft/">Back when software was craft</a></p> | |||
</blockquote> | |||
<p>I definitely have felt this shift in my own life but have been unable to express it so simply. It feels like the job of programming has shifted from “Can you make this?” to “Do you have the knowledge to staple these two technologies together?” Kerr is more accepting of this reality than I am. The plumbing and glue code are not my favorite parts of the job. And often, you don’t truly know the limitations of any given dependency until you’re five thousand lines of code into a project. Massive sunk costs and the promise of rapid application development can come screeching to a halt when you run out of short cuts.</p> | |||
<p>It reminds me of a parable I once heard:</p> | |||
<blockquote> | |||
<p>One day a farmer, tired of plowing his field by hand, decided to build a barn and buy a bunch of cows to help tend the field. The field plowing did get easier, but eventually cows gave birth to more cows, and that farmer spent the rest of their life cutting hay to feed the cattle and shoveling their shit.</p> | |||
</blockquote> | |||
<p>Tradeoffs, man.</p> |
@@ -81,6 +81,8 @@ | |||
<li><a href="/david/cache/2020/8ecfc6fbf4a4d3293144458db9c8a57d/" title="Accès à l’article dans le cache local : Towards carbon negativity">Towards carbon negativity</a> (<a href="https://m.signalvnoise.com/towards-carbon-negativity/" title="Accès à l’article original distant : Towards carbon negativity">original</a>)</li> | |||
<li><a href="/david/cache/2020/ab9f293c34ce421ab41465fcda8893fe/" title="Accès à l’article dans le cache local : Whistleblower Says Facebook Ignored Global Political Manipulation">Whistleblower Says Facebook Ignored Global Political Manipulation</a> (<a href="https://www.buzzfeednews.com/article/craigsilverman/facebook-ignore-political-manipulation-whistleblower-memo" title="Accès à l’article original distant : Whistleblower Says Facebook Ignored Global Political Manipulation">original</a>)</li> | |||
<li><a href="/david/cache/2020/ef0bea4e3633945e71c7bda351661797/" title="Accès à l’article dans le cache local : Dark Ecology">Dark Ecology</a> (<a href="https://orionmagazine.org/article/dark-ecology/" title="Accès à l’article original distant : Dark Ecology">original</a>)</li> | |||
<li><a href="/david/cache/2020/18130d5ec6efacd08e564d53df9d1ced/" title="Accès à l’article dans le cache local : (Dé)possession virtuelle">(Dé)possession virtuelle</a> (<a href="https://www.hypothermia.fr/2020/08/depossession-virtuelle/" title="Accès à l’article original distant : (Dé)possession virtuelle">original</a>)</li> | |||
@@ -93,6 +95,8 @@ | |||
<li><a href="/david/cache/2020/5ddeb776b27bade5f581d66e40de4c6c/" title="Accès à l’article dans le cache local : Big Mood Machine">Big Mood Machine</a> (<a href="https://thebaffler.com/downstream/big-mood-machine-pelly" title="Accès à l’article original distant : Big Mood Machine">original</a>)</li> | |||
<li><a href="/david/cache/2020/fc3558fb276cdc30844d1abfe095631d/" title="Accès à l’article dans le cache local : The tangled webs we weave">The tangled webs we weave</a> (<a href="https://daverupert.com/2020/09/tangled-webs/" title="Accès à l’article original distant : The tangled webs we weave">original</a>)</li> | |||
<li><a href="/david/cache/2020/abc0dac647cbe1e8b4432fdba9cb3152/" title="Accès à l’article dans le cache local : On meet-ups moving online">On meet-ups moving online</a> (<a href="https://www.ripplet.org/weeknotes/2020/4/26/week-17-2020-on-meet-ups-moving-online" title="Accès à l’article original distant : On meet-ups moving online">original</a>)</li> | |||
<li><a href="/david/cache/2020/46bb95c9d128d4ca05d8b5746cf3f4e7/" title="Accès à l’article dans le cache local : Le coronavirus et le sort de la civilisation industrielle, par Paul Arbair">Le coronavirus et le sort de la civilisation industrielle, par Paul Arbair</a> (<a href="https://www.pauljorion.com/blog/2020/05/17/le-coronavirus-et-le-sort-de-la-civilisation-industrielle-par-paul-arbair/" title="Accès à l’article original distant : Le coronavirus et le sort de la civilisation industrielle, par Paul Arbair">original</a>)</li> | |||
@@ -223,6 +227,10 @@ | |||
<li><a href="/david/cache/2020/25289703cb4dd3023c087715cddf6d55/" title="Accès à l’article dans le cache local : What’s up with me?">What’s up with me?</a> (<a href="https://helloanselm.com/writings/whats-up-with-me" title="Accès à l’article original distant : What’s up with me?">original</a>)</li> | |||
<li><a href="/david/cache/2020/dd5f3b7bc94e0bbe28dedec164ff6a37/" title="Accès à l’article dans le cache local : Italy’s Bergamo finds covid-19 leaves long-term effects for some">Italy’s Bergamo finds covid-19 leaves long-term effects for some</a> (<a href="https://www.washingtonpost.com/world/2020/09/08/bergamo-italy-covid-longterm/" title="Accès à l’article original distant : Italy’s Bergamo finds covid-19 leaves long-term effects for some">original</a>)</li> | |||
<li><a href="/david/cache/2020/c69ff36d83073945d118afba126d5d7e/" title="Accès à l’article dans le cache local : voyager">voyager</a> (<a href="https://www.la-grange.net/2020/09/14/voyager" title="Accès à l’article original distant : voyager">original</a>)</li> | |||
<li><a href="/david/cache/2020/c1c53ee2ef8544ad798629bf8a3b7249/" title="Accès à l’article dans le cache local : Thinking about Climate on a Dark, Dismal Morning">Thinking about Climate on a Dark, Dismal Morning</a> (<a href="https://blogs.scientificamerican.com/hot-planet/thinking-about-climate-on-a-dark-dismal-morning/" title="Accès à l’article original distant : Thinking about Climate on a Dark, Dismal Morning">original</a>)</li> | |||
<li><a href="/david/cache/2020/f57f8dd77b7db122d0a911e9a22d116e/" title="Accès à l’article dans le cache local : Liberté, mode d’emploi">Liberté, mode d’emploi</a> (<a href="https://le1hebdo.fr/journal/libert/305/article/libert-mode-d-emploi-3959.html" title="Accès à l’article original distant : Liberté, mode d’emploi">original</a>)</li> | |||
@@ -321,6 +329,8 @@ | |||
<li><a href="/david/cache/2020/59dac1925636ebf6358c3a598bf834f9/" title="Accès à l’article dans le cache local : Un pédophile est un client Apple comme les autres.">Un pédophile est un client Apple comme les autres.</a> (<a href="https://www.affordance.info/mon_weblog/2020/01/pedophile-client-apple.html" title="Accès à l’article original distant : Un pédophile est un client Apple comme les autres.">original</a>)</li> | |||
<li><a href="/david/cache/2020/7fbde2965b6247def36184b7c0078de5/" title="Accès à l’article dans le cache local : The Privileged Have Entered Their Escape Pods">The Privileged Have Entered Their Escape Pods</a> (<a href="https://onezero.medium.com/the-privileged-have-entered-their-escape-pods-4706b4893af7" title="Accès à l’article original distant : The Privileged Have Entered Their Escape Pods">original</a>)</li> | |||
<li><a href="/david/cache/2020/618f913d970fee8feadadd15cf282e5a/" title="Accès à l’article dans le cache local : How “Good Intent” Undermines Diversity and Inclusion">How “Good Intent” Undermines Diversity and Inclusion</a> (<a href="https://thebias.com/2017/09/26/how-good-intent-undermines-diversity-and-inclusion/" title="Accès à l’article original distant : How “Good Intent” Undermines Diversity and Inclusion">original</a>)</li> | |||
<li><a href="/david/cache/2020/42616669988094757bf9d4864ee4ab4f/" title="Accès à l’article dans le cache local : App Assisted Contact Tracing">App Assisted Contact Tracing</a> (<a href="https://lucumr.pocoo.org/2020/4/3/contact-tracing/" title="Accès à l’article original distant : App Assisted Contact Tracing">original</a>)</li> |