A place to cache linked articles (think custom and personal wayback machine)
Du kannst nicht mehr als 25 Themen auswählen Themen müssen mit entweder einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.

vor 2 Jahren
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang="fr">
  4. <!-- Has to be within the first 1024 bytes, hence before the `title` element
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset="utf-8">
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name="viewport" content="width=device-width,initial-scale=1">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Hope for the Future (archive) — David Larlet</title>
  13. <meta name="description" content="Publication mise en cache pour en conserver une trace.">
  14. <!-- That good ol' feed, subscribe :). -->
  15. <link rel="alternate" type="application/atom+xml" title="Feed" href="/david/log/">
  16. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  17. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons2/apple-touch-icon.png">
  18. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons2/favicon-32x32.png">
  19. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons2/favicon-16x16.png">
  20. <link rel="manifest" href="/static/david/icons2/site.webmanifest">
  21. <link rel="mask-icon" href="/static/david/icons2/safari-pinned-tab.svg" color="#07486c">
  22. <link rel="shortcut icon" href="/static/david/icons2/favicon.ico">
  23. <meta name="msapplication-TileColor" content="#f7f7f7">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f7f7f7" media="(prefers-color-scheme: light)">
  26. <meta name="theme-color" content="#272727" media="(prefers-color-scheme: dark)">
  27. <!-- Documented, feel free to shoot an email. -->
  28. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  29. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  30. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  31. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t4_poly_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  36. <script>
  37. function toggleTheme(themeName) {
  38. document.documentElement.classList.toggle(
  39. 'forced-dark',
  40. themeName === 'dark'
  41. )
  42. document.documentElement.classList.toggle(
  43. 'forced-light',
  44. themeName === 'light'
  45. )
  46. }
  47. const selectedTheme = localStorage.getItem('theme')
  48. if (selectedTheme !== 'undefined') {
  49. toggleTheme(selectedTheme)
  50. }
  51. </script>
  52. <meta name="robots" content="noindex, nofollow">
  53. <meta content="origin-when-cross-origin" name="referrer">
  54. <!-- Canonical URL for SEO purposes -->
  55. <link rel="canonical" href="https://hackeducation.com/2022/03/08/hope">
  56. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick" data-instant-intensity="viewport-all">
  57. <article>
  58. <header>
  59. <h1>Hope for the Future</h1>
  60. </header>
  61. <nav>
  62. <p class="center">
  63. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  64. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  65. </svg> Accueil</a> •
  66. <a href="https://hackeducation.com/2022/03/08/hope" title="Lien vers le contenu original">Source originale</a>
  67. </p>
  68. </nav>
  69. <hr>
  70. <p><em>This is the transcript of the keynote I gave today at Digifest. (Well, I recorded it a couple of weeks ago, but it was broadcast today, and I popped in for some "live" Q&amp;A afterwards, where I was asked the obligatory "do you hate all ed-tech" question. And here I was, trying to be all sweetness and light...)</em></p>
  71. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest1.jpg"></p>
  72. <p>Thank you very much for inviting me to speak to you today. I'm happy to be here — and when I say "here," I do mean in my apartment, in sunny California. Personally, I'm not ready to travel yet, not remotely interested in getting back on an airplane — because let's be honest, air travel was already terrible. And I am pleased that, if nothing else good comes out of the pandemic, I can now do keynote talks in my bare feet and yoga pants.</p>
  73. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest2.jpg"></p>
  74. <p>Those of you who are familiar with my work are likely a bit taken aback to see that the title of my talk today contains the word "Hope." After all, I have been called "Ed-Tech's Cassandra," and like the Trojan priestess, I am known for my proclamations and predictions of doom. As such, I am not viewed as a messenger with good news. My talks, I'm often told, are "depressing" and make folks want to leave the field. (From time-to-time, when I do hear about some high-profile tech entrepreneur who has decided to turn away from "disrupting education" towards building "flying taxis" or whatever, I do like to think I played some small part in their frustrated disillusionment.)</p>
  75. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest3.jpg"></p>
  76. <p>The thing is, though, like Cassandra, I'm not wrong. I know that my work makes people feel uncomfortable, particularly when so much of the tech and ed-tech industry mantra rests on narratives promising a happy, shiny, better future. No one appreciates it when someone comes along and says "actually, if you wheel this giant horse — impressive as it looks — inside the gates, it'll destroy everything you love, everyone you care about. Don't do it."</p>
  77. <p>And like Cassandra, it's exhausting to keep repeating "don't do it," and to have folks go right on ahead and do it anyway. I've been writing about ed-tech for over a decade now, cautioning people about the repercussions of handing over data, infrastructure, ideology, investment to Silicon Valley types. And for what?</p>
  78. <p>And for what?</p>
  79. <p>Trust me, I've spent a lot of the last few years stewing on that question — particularly as I have watched the awfulness of pandemic education (and its digital components) unfold: what has my work done? What change, what difference have I made?</p>
  80. <p>For so many reasons, it's been hard not to sink into utter despair. I know many of us feel that way right now.</p>
  81. <p>I don't think I'm exaggerating or even doomsaying to state that things don't look good. The pandemic. Still. Global climate change. (I say I'm glad to be in sunny California but it's actually the rainy season, and it hasn't rained in over a month.) Poverty. War and impending war. Inflation. Rising economic inequality and precarity. Drug overdoses. Genocide. Nationalism. White supremacy. Neoliberalism. Violence. Mass incarceration. Fanaticism. Surveillance technologies. Disinvestment from the public sphere. Anti-science rhetoric. A rejection of education. A rejection of knowledge. "Things are," as Malcolm Harris wrote on a sign during the Occupy Wall Street protests in Zucotti Park back in 2011 (and as he titled his recent book) "fucked up and bullshit." We aren't in a good place right now — structurally or socially or individually or psychologically or physically. And it's hard to see how we're headed towards a good place either.</p>
  82. <p>Many of us are grieving; many of us are traumatized. Many of our students are grieving; many of our students are traumatized. Most, dare I say. All of us, even. Deeply and profoundly so. To ignore this, to minimize this, to pretend as though "back to normal" can or even should happen is injurious. To prescribe a piece of technology as some sort of solution or fix to any of this is insulting. To give a keynote full of sanitized sunshine is just gross.</p>
  83. <p>And yet, we cannot not respond to trauma. We cannot not address what we have been through with the pandemic specifically and with — sweeping hand gesture — everything else.</p>
  84. <p>Denial won't work. But the worst response, perhaps, is to forget (arguably a form of denial, but one that happens at a social not just on a psychological level).</p>
  85. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest4.jpg"></p>
  86. <p>And that's what many powerful forces want — it's what they always want. Because forgetting isn't just about sliding into complacency. Forgetting also leads to despair — and this is crucial to my argument today — and broadly speaking, this is why (I tell myself at least) my work matters. Contrary to those who dismiss my work as a critic as negative or destructive, criticism is generative; it can be one of many (small) acts of hope — criticism grounded in historical analysis is the antithesis of a numbing forgetfulness or an invented nostalgia.</p>
  87. <p>One of the things I have written about quite a bit is the idea of an "ed-tech amnesia" — that is, there is a certain inattention to and erasure of the history of the field of education technology. And I don’t just mean forgetting or erasing what happened in the 1950s or 1980s (although I wrote a book on that). I mean forgetting what happened five, ten years ago — it's been ten years, incidentally, since Occupy Wall Street, and I fear we've forgotten that great push to hold the rich and the banks and the venture capitalists accountable. I specifically mean forgetting what happened during the last few years, during the pandemic.</p>
  88. <p>Ed-tech amnesia.</p>
  89. <p>Some of this is a result of an influx of Silicon Valley types in recent years — people with no ties to education or education technology who think that their ignorance and lack of expertise is a strength. (I use that phrase "Silicon Valley" less as a geographic marker than an ideological one.) And it doesn't help, of course, that there is, in general, a repudiation of history within the Silicon Valley framework itself. The tech industry's historical amnesia — the inability to learn about, to recognize, to remember what has come before — is deeply intertwined with the idea of "disruption" and its firm belief that new technologies are necessarily innovative and are always "progress." I like to cite, as an example, a New Yorker article from a few years ago, an interview with an Uber engineer who'd pleaded guilty to stealing Google's self-driving car technology. "The only thing that matters is the future," he told the magazine. "I don't even know why we study history. It's entertaining, I guess — the dinosaurs and the Neanderthals and the Industrial Revolution, and stuff like that. But what already happened doesn't really matter. You don't need to know that history to build on what they made. In technology, all that matters is tomorrow." (I could tie this attitude to the Italian Futurists and to fascism, but that’s a presentation for another day.)</p>
  90. <p>There are other examples of this historical amnesia in ed-tech specifically, no doubt. Narratives about the “factory model of education." Stories that education hasn't changed in hundreds of years. Tall tales about the invention of the MOOC. </p>
  91. <p>I want us to be vigilant about this amnesia because it has political implications. In the coming months and years, many people will want us to forget their mistakes; they will try to rehabilitate not just their bad ideas but their very reputations. By "many people," of course, I mean Ivanka Trump. Maybe Prince Charles. But I also mean any number of people in education and education technology, who've not only screwed up the tools and practices of teaching and learning over the past year or so, but who have a rather long history of bad if not dangerous ideas and decisions. These are people who have done real, substantive damage to students, to teachers, to public education. Again and again. We cannot forget this.</p>
  92. <p>I worry we already have, of course.</p>
  93. <p>If we forget, we cannot hold the perpetrators accountable for this damage. If we forget, we cannot see the ways in which we have been strong, resilient, even defiant in the face of it all.</p>
  94. <p>"Memory produces hope in the same way that amnesia produces despair," the theologian Walter Brueggeman wrote. Rebecca Solnit cites him in her book Hope in the Dark, originally published in April 2004, at the start of the second term of President George W. Bush (speaking of people whose reputations have been rehabilitated), right as many of us despaired that his incompetence had led us to war, as well as to an expansion of governmental power and surveillance. </p>
  95. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest5.jpg"></p>
  96. <p>"Memory produces hope in the same way that amnesia produces despair." "It’s an extraordinary statement," Solnit writes, "one that reminds us that though hope is about the future, grounds for hope lie in the records and recollections of the past. We can tell of a past that was nothing but defeats and cruelties and injustices, or of a past that was some lovely golden age now irretrievably lost, or we can tell a more complicated and accurate story, one that has room for the best and worst, for atrocities and liberations, for grief and jubilation. A memory commensurate to the complexity of the past and the whole cast of participants, a memory that includes our power, produces that forward-directed energy called hope."</p>
  97. <p>"Amnesia leads to despair in many ways," she continues. "The status quo would like you to believe it is immutable, inevitable, and invulnerable, and lack of memory of a dynamically changing world reinforces this view. In other words, when you don’t know how much things have changed, you don’t see that they are changing or that they can change."</p>
  98. <p>The future is not pre-ordained. Yes, these are terrible times. Yes, the path forward seems incredibly challenging for those of us who believe in education, particularly public education, and who believe that education can be re-oriented away from exploitation and domination and towards justice. </p>
  99. <p>Contrary to the popular story, there is no inevitability of a technological future of education. There's no inevitability to "online." There's not, despite how loudly ed-tech evangelists insist that "There's no going back now," so pleased that disaster capitalism has helped unlock the possibility they've longed for: one in which all teaching and learning is mediated through their digital platforms, in which labor unions are busted, in which public funding is eviscerated to make way for privatized profiteering. </p>
  100. <p>Of course, there is no "back." Time doesn't work that way. And no one wants to go "back." That's a red herring, akin to thinking "luddite" is an insult. The luddites didn't want to go back; they wanted the future to be better. From where we are, there is always only forward. But the future is unwritten. Forward is open and incumbent upon us to shape.</p>
  101. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest6.jpg"></p>
  102. <p>"The best way to predict the future is to build it," computer scientist Alan Kay famously said. But computer scientists should not be alone in that building. (God forbid.) </p>
  103. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest7.jpg"></p>
  104. <p>I've long argued that the best way to predict the future is to issue a press release. Or the best way to predict the future is to complain about something in your weekly op-ed in The New York Times. By this, I mean that it's not always so much the building as it is the storytelling that sways the direction the future flows.</p>
  105. <p>Again, that's why stories of the past matter as much as do stories of the future — even when (and especially when) predicting the future.</p>
  106. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest8.jpg"></p>
  107. <p>One of my favorite science fiction authors, Octavia Butler, was once asked about this: </p>
  108. <blockquote>
  109. <p>'So do you really believe that in the future we’re going to have the kind of trouble you write about in your books?' a student asked me as I was signing books after a talk. The young man was referring to the troubles I’d described in Parable of the Sower and Parable of the Talents, novels that take place in a near future of increasing drug addiction and illiteracy, marked by the popularity of prisons and the unpopularity of public schools, the vast and growing gap between the rich and everyone else, and the whole nasty family of problems brought on by global warming.</p></blockquote>
  110. <blockquote><p>'I didn’t make up the problems,' I pointed out. 'All I did was look around at the problems we’re neglecting now and give them about 30 years to grow into full-fledged disasters.'</p></blockquote>
  111. <blockquote><p>'Okay,' the young man challenged. 'So what’s the answer?'</p></blockquote>
  112. <blockquote><p>'There isn’t one,' I told him.</p></blockquote>
  113. <blockquote><p>'No answer? You mean we’re just doomed?' He smiled as though he thought this might be a joke.</p></blockquote>
  114. <blockquote><p>'No,' I said. 'I mean there’s no single answer that will solve all of our future problems. There’s no magic bullet. Instead there are thousands of answers — at least. You can be one of them if you choose to be.'</p>
  115. </blockquote>
  116. <p>You can be one of the answers if you choose to be.</p>
  117. <p>"Writing novels about the future doesn’t give me any special ability to foretell the future," Butler said. "But it does encourage me to use our past and present behaviors as guides to the kind of world we seem to be creating. The past, for example, is filled with repeating cycles of strength and weakness, wisdom and stupidity, empire and ashes. To study history is to study humanity. And to try to foretell the future without studying history is like trying to learn to read without bothering to learn the alphabet."</p>
  118. <p>Too many people who try to predict the future of education and education technology have not bothered to learn the alphabet — the grammar of schooling, to borrow a phrase from education historian Larry Cuban. That grammar includes the beliefs and practices and memory of schooling — our collective memory, not just our own personal experiences of school. That collective memory — that's history.</p>
  119. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest9.jpg"></p>
  120. <p>When I wrote my book Teaching Machines, I wanted to chronicle a longer history of ed-tech than the story that often gets told — a history that, strangely enough when you think about it, often begins and ends with the computer. Through this framework, computers — "the digital" — are teleological. And those who question technology are therefore aberrant because technology is all there ever was, is, or will be. </p>
  121. <p>I wanted to show in my book that many of the ideas that get bandied about today as innovative or (god forbid) revolutionary have a long history. Educational psychologists, for example, have been building technologies to "personalize education" for over a century. To recognize this is to see the legacy of their work in our objects and in our practices today; it is to understand that if these objects were constructed they can be challenged and dismantled. They are not natural. They are not inevitable. And it is to know too that there has always been resistance and refusal — successful resistance and refusal — to the vision of an automated education. </p>
  122. <p>There has always been change — and that change has come from the popular power of students and teachers, not just the financial and political power of businessmen, always so desperate to center themselves in our stories of "transformation." We have always been strong. We have had to be resilient.</p>
  123. <p>"Who controls the past controls the future. Who controls the present controls the past," as Rage Against the Machine sang in their 1999 song "Testify." OK, actually it's a quote from George Orwell's 1984, but hey. To control the past, we have to know our history. "The stories we tell about who we were and what we did shape what we can and will do," Rebecca Solnit argues.</p>
  124. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest10.jpg"></p>
  125. <p>And we can change the future. We have before. Never forget that. As my other favorite science fiction author Ursula Le Guin said, "any human power can be resisted and changed by human beings." And we must resist and we much change. We must believe we can. We must have hope.</p>
  126. <p>A few years ago, I listened to a speaker who was quite critical — in passing, mind you — of hope. And she wasn't alone. There was so much energy channeled into that word when it became the slogan of a young Senator from Illinois and his starry-eyed Presidential campaign. After 8 years of Barack Obama in office and so many unfulfilled promises, so much disappointment (and of course the rise of a violent white nationalism in response) many people have lost hope. They've lost faith in hope. They're utterly disillusioned by it.</p>
  127. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest11.jpg"></p>
  128. <p>That speaker said that "you cannot counter structural inequality with good will." And I immediately thought of Antonio Gramsci, as one does. One of the greatest Marxist thinkers of the 20th century, Gramsci is best known for writing some 3000 pages of history during his imprisonment by the Fascist Italian government from 1927 until his death ten years later at age 46. Gramsci famously said "I am a pessimist because of intelligence but an optimist because of will." Will, according to Gramsci, is part of a revolutionary praxis. It recognizes the social structure, and it helps us to move deliberately from thinking about to acting for radical change. Will is, for Gramsci, political and intellectual. Will is a strategy, or part of a strategy of struggle. Will is bound of in the politics of hope. Hope is bound up in the politics of will.</p>
  129. <p>You all came to this event because, I'd wager, of will. Good will. Willpower. A will to change your own pedagogical practices. A will to change your institutions. Will is necessary, politically. I hope that you will consider how to tie that will to action, to collective action. You are not alone. I believe that you came to education too because you believe in the future. You must to work in this field. Educators engage in the profound process and practice of engaging minds in change — intellectual transformation. Education straddles the past — "the curriculum" — and the future — individually and societally. Education is about what we learn today so we can be better tomorrow. Education is a practice of hope. You cannot be indifferent about the future and be an educator. </p>
  130. <p>Another passage from Gramsci (who I put alongside Paolo Freire, Franz Fanon, bell hooks as one of the most important thinkers in education who's rarely recognized as such), from a 1917 letter "Indifferenti":</p>
  131. <blockquote>
  132. <p>I hate the indifferent. I believe that life means taking sides. One who is really alive, can be nothing if not citizen and partisan. Indifference is lethargy: it is parasitism, not life. Therefore, I hate the indifferent.</p></blockquote>
  133. <blockquote><p>Indifference is the dead weight of history. Indifference plays an important role in history. It plays a passive role, but it does play a role. It is fatality; it is something that cannot be counted on; it is something that disrupts programmes, overturns the best made plans; it is that awful something that chokes intelligence. What happens, the evil that touches everyone, happens because the majority relinquish their will to it, allowing the enactment of laws that only a revolution can revoke, letting men rise to power who, later, only a mutiny can remove. </p></blockquote>
  134. <blockquote><p>... I am "partigiano", alive, and already I hear, in the consciences of those on my same side, the throbbing bustle of the city of the future that we are building. And in it, the social chain does not weigh on the shoulders of only a few .... There is no-one watching from the sidelines while others are sacrificed, bled dry. I am alive, partisan. And, therefore, I hate those who do not take sides; I hate the indifferent.</p>
  135. </blockquote>
  136. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest12.jpg"></p>
  137. <p>Memory counteracts indifference. Memory counteracts despair. Memory creates the space for hope. Memory reminds us: change is possible. It urges us: change is necessary. </p>
  138. <p>It will not be easy. It never is. Even having hope can be hard, let alone making change.</p>
  139. <p>"Hope is a discipline," prison abolitionist Mariame Kaba reminds us. It is not an emotion. It is not even as Gramsci put it simply "optimism" — a belief that things will get better. Hope is work. You have to put energy and time into it. You have to practice, repeatedly. You have to keep at it, keep moving, keep pushing. No one else will free you or fix you — except us, collectively through our power to imagine and build a better future. </p>
  140. <p>Hope is not in technology. Hope is in our humanity.</p>
  141. <p>A better future for all of us, for all living creatures on this planet does not look like an app or a platform or a gadget. It does not look like an institution founded hundreds of years ago, desperate to cling to old hierarchies. It does not look like an institution founded more recently, desperate to re-inscribe new hierarchies. Join me in refusing the old world, and in refusing the future envisioned by the techno-elite. Our refusals can be small. Our actions might seem insignificant. But do not despair. We aren't alone in this — resistance is part of our legacy. We can make it our future. We can hope.</p>
  142. <p><img src="https://s3.amazonaws.com/hackedu/2022-03-08-digifest13.jpg"></p>
  143. </article>
  144. <hr>
  145. <footer>
  146. <p>
  147. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  148. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-home"></use>
  149. </svg> Accueil</a> •
  150. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  151. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-rss2"></use>
  152. </svg> Suivre</a> •
  153. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  154. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-user-tie"></use>
  155. </svg> Pro</a> •
  156. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  157. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-mail"></use>
  158. </svg> Email</a> •
  159. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  160. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-hammer2"></use>
  161. </svg> Légal</abbr>
  162. </p>
  163. <template id="theme-selector">
  164. <form>
  165. <fieldset>
  166. <legend><svg class="icon icon-brightness-contrast">
  167. <use xlink:href="/static/david/icons2/symbol-defs-2021-12.svg#icon-brightness-contrast"></use>
  168. </svg> Thème</legend>
  169. <label>
  170. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  171. </label>
  172. <label>
  173. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  174. </label>
  175. <label>
  176. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  177. </label>
  178. </fieldset>
  179. </form>
  180. </template>
  181. </footer>
  182. <script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script>
  183. <script>
  184. function loadThemeForm(templateName) {
  185. const themeSelectorTemplate = document.querySelector(templateName)
  186. const form = themeSelectorTemplate.content.firstElementChild
  187. themeSelectorTemplate.replaceWith(form)
  188. form.addEventListener('change', (e) => {
  189. const chosenColorScheme = e.target.value
  190. localStorage.setItem('theme', chosenColorScheme)
  191. toggleTheme(chosenColorScheme)
  192. })
  193. const selectedTheme = localStorage.getItem('theme')
  194. if (selectedTheme && selectedTheme !== 'undefined') {
  195. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  196. }
  197. }
  198. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  199. window.addEventListener('load', () => {
  200. let hasDarkRules = false
  201. for (const styleSheet of Array.from(document.styleSheets)) {
  202. let mediaRules = []
  203. for (const cssRule of styleSheet.cssRules) {
  204. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  205. continue
  206. }
  207. // WARNING: Safari does not have/supports `conditionText`.
  208. if (cssRule.conditionText) {
  209. if (cssRule.conditionText !== prefersColorSchemeDark) {
  210. continue
  211. }
  212. } else {
  213. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  214. continue
  215. }
  216. }
  217. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  218. }
  219. // WARNING: do not try to insert a Rule to a styleSheet you are
  220. // currently iterating on, otherwise the browser will be stuck
  221. // in a infinite loop…
  222. for (const mediaRule of mediaRules) {
  223. styleSheet.insertRule(mediaRule.cssText)
  224. hasDarkRules = true
  225. }
  226. }
  227. if (hasDarkRules) {
  228. loadThemeForm('#theme-selector')
  229. }
  230. })
  231. </script>
  232. </body>
  233. </html>