A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  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>
  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>Self-Driving Cars are Self-Driving Bullets (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="#f0f0ea">
  24. <meta name="msapplication-config" content="/static/david/icons2/browserconfig.xml">
  25. <meta name="theme-color" content="#f0f0ea">
  26. <!-- Documented, feel free to shoot an email. -->
  27. <link rel="stylesheet" href="/static/david/css/style_2021-01-20.css">
  28. <!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. -->
  29. <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>
  30. <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>
  31. <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>
  32. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_regular.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  33. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_bold.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  34. <link rel="preload" href="/static/david/css/fonts/triplicate_t3_italic.woff2" as="font" type="font/woff2" media="(prefers-color-scheme: dark)" crossorigin>
  35. <script>
  36. function toggleTheme(themeName) {
  37. document.documentElement.classList.toggle(
  38. 'forced-dark',
  39. themeName === 'dark'
  40. )
  41. document.documentElement.classList.toggle(
  42. 'forced-light',
  43. themeName === 'light'
  44. )
  45. }
  46. const selectedTheme = localStorage.getItem('theme')
  47. if (selectedTheme !== 'undefined') {
  48. toggleTheme(selectedTheme)
  49. }
  50. </script>
  51. <meta name="robots" content="noindex, nofollow">
  52. <meta content="origin-when-cross-origin" name="referrer">
  53. <!-- Canonical URL for SEO purposes -->
  54. <link rel="canonical" href="https://themobilist.medium.com/self-driving-cars-self-driving-bullets-955dfd2c5150">
  55. <body class="remarkdown h1-underline h2-underline h3-underline em-underscore hr-center ul-star pre-tick">
  56. <article>
  57. <header>
  58. <h1>Self-Driving Cars are Self-Driving Bullets</h1>
  59. </header>
  60. <nav>
  61. <p class="center">
  62. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  63. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  64. </svg> Accueil</a> •
  65. <a href="https://themobilist.medium.com/self-driving-cars-self-driving-bullets-955dfd2c5150" title="Lien vers le contenu original">Source originale</a>
  66. </p>
  67. </nav>
  68. <hr>
  69. <p>Why even Elon Musk has been forced to admit that navigating streets is hard</p>
  70. <p>A car is a just a slow-moving bullet with a stereo system.</p>
  71. <p>When we drive a car, we typically think our main task is navigating from point A to point B. But mostly what we’re doing is trying to keep from killing someone. That is Job One. Everything else is secondary. If you were to get into a car and fail to get from point A to point B, that would suck. But if you were to kill someone, that would be orders of magnitude worse.</p>
  72. <p>So 99% of what you’re doing when you’re behind the wheel of a car is attempting to not commit homicide.</p>
  73. <p>This is a useful point to keep in mind whenever you read about the imminent arrival of “self-driving cars”. Because when tech folks tell you they’re building a self-driving car, what they’re really promising is to make a self-driving bullet that can weave through city streets without hitting anyone.</p>
  74. <p>Kind of clarifies the stakes, doesn’t it?</p>
  75. <p>Indeed, this is why tech executives have been so chastened by the challenge. They don’t like to admit defeat. But cars and roads are an environment where they cannot bluster and Powerpoint their way out of mistakes — because this time their errors quite directly injure people, with the unforgiving physics of two-ton hurtling chunks of steel.</p>
  76. <p>I thought of this when I read Elon Musk’s tweet last weekend about Telsa’s FSD, their “full self-driving” software …</p>
  77. <p>“Didn’t expect it to be so hard”: There’s an epitaph you could chisel on the tombstone of self-driving car hype.</p>
  78. <p>The buzz started in 2005 when a Stanford team won the DARPA Grand Challenge, creating a vehicle that drove itself over 175 miles of desert. Over the next decade, companies from Google/Waymo to Uber to Tesla and old-school automakers ploughed boatloads of R&amp;D into the cause.</p>
  79. <p>The hype ran hot, because upending global transportation would offer obscene profits. Uber execs dreamed of robot taxis (with no drivers to pay!); automakers imagined commuters chilling with Netflix while their car whisked them to work. “If you’re well versed in robotics and you’re not working on self-driving cars,” as the head of a major university robotics lab told me in 2015, “you’re either an idiot or you have a passion for something else, because self-driving cars are a multi billion dollar industry.” Breathless articles proclaimed self-driving cars Would Change Everything; I wrote some of them.
  80. “Waymo self-driving car”, by zombieite</p>
  81. <p>Musk expertly surfed this wave of hype. Like many automakers, Tesla had begun offering driver-assistance tech — an “autopilot” that helped keep you stay in your highway lane, say — in 2015. But Musk went much further, moistly promising that self-driving cars would arrive any day now. Back in 2016 he claimed that within two years a Tesla would be able to drive itself from NYC to LA, ye gods.</p>
  82. <p>But self-driving dreams soon crashed to earth. Why? Well, the software folks began to discover that the physical world is painfully complex. They were accustomed to working on the Internet, where bits generally do what they’re told. Now they had to worry about atoms: Cameras and sensors getting clogged up by rain and snow and dirt, pedestrians behaving unpredictably. And while self-driving engineers made some genuinely remarkable breakthroughs in AI image-recognition, they still don’t know how to give their AI the “common sense knowledge” that humans use to navigate the world — our generalized know-how about, say, the way ice and dogs and bicycles and skateboarders and floating plastic bags behave. Deep-learning AI can do pattern-recognition at light-speed, but human cognition is more than mere pattern recognition. To navigate the messy reality of city streets, we also reason about things, using our Extensive Knowledge About Stuff. That’s how we deal with the unexpected. Self-driving cars can’t yet do that. No AI can.</p>
  83. <p>So that’s part of why autonomous systems have injured and killed people — from the Uber car that slammed into a pedestrian walking her bicycle across the street to the many times that Tesla’s “autopilot” AI has failed to steer a car away from a brutal accident, as a recent New York Times investigation revealed. In one case, a Tesla driving on autopilot failed to stop before ploughing into a truck ahead of it, causing the truck to roll over, killing a 15-year-old boy riding inside.</p>
  84. <p>These days, self-driving car-makers have become a slightly more cautious crew. The head of Waymo has said that fully autonomous cars might be “decades” away. Uber unloaded its self-driving car division.</p>
  85. <p>It’s taken Musk longer to admit reality. Back in January he was still breathlessly proclaiming that Tesla would release self-driving software “at least 100% better than a human” by the end of this year. His own engineers were trying to tamp down these delusions; in a memo to California authorities, they admitted this wasn’t remotely possible. To get a sense of how far away Tesla is from this goal, behold this March 2021 video of Tesla’s “fully self driving” software attempting to navigate Oakland, in which the car engages in far too many inexplicable and terrifying moves, like swerving the car into the wrong lane during a turn …</p>
  86. <p>Yowsa. So I felt a sliver of almost-hope when I saw Musk’s tweet this July 4th weekend, in which he admitted that wow bruh, fully self-driving cars are super hard, who knew? Maybe he’s finally realizing that he’s not running a company that makes cars, but running a company that makes slow-moving bullets.</p>
  87. <p>Frankly, it’d be good if he dialed back the futuristic hype even further. Tesla should focus instead on improving its actually-existing AI, its autopilot system. After all, the general idea of using computers to help humans avoid collisions is very good; we kill over 36,000 people a year with cars, so anything that drives that number down is worthwhile. One study found simple crash-avoidance tech — like rear-end collision-warning — reduces accident frequency by about 3.5%. Tesla’s autopilot seems to offer a similar improvements, though as this analysis by Brad Templeton notes, it’s hard to know for sure.</p>
  88. <p>Alas, because Musk has been for years bombastically touting Telsa’s fully-self-driving goals, too many users are already treating the autopilot as if it were a self-driving “solution”— and pulling stunts, occasionally ruinous, like riding in the backseat while convincing the software to keep going. Officially Tesla doesn’t approve such idiotic uses of its technology, but it could do much more to thwart and discourage it. This is an area where, from top to bottom, we could use more defensive driving.</p>
  89. </article>
  90. <hr>
  91. <footer>
  92. <p>
  93. <a href="/david/" title="Aller à l’accueil"><svg class="icon icon-home">
  94. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-home"></use>
  95. </svg> Accueil</a> •
  96. <a href="/david/log/" title="Accès au flux RSS"><svg class="icon icon-rss2">
  97. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-rss2"></use>
  98. </svg> RSS</a> •
  99. <a href="http://larlet.com" title="Go to my English profile" data-instant><svg class="icon icon-user-tie">
  100. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-user-tie"></use>
  101. </svg> Pro</a> •
  102. <a href="mailto:david%40larlet.fr" title="Envoyer un courriel"><svg class="icon icon-mail">
  103. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-mail"></use>
  104. </svg> Email</a> •
  105. <abbr class="nowrap" title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340"><svg class="icon icon-hammer2">
  106. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-hammer2"></use>
  107. </svg> Légal</abbr>
  108. </p>
  109. <template id="theme-selector">
  110. <form>
  111. <fieldset>
  112. <legend><svg class="icon icon-brightness-contrast">
  113. <use xlink:href="/static/david/icons2/symbol-defs.svg#icon-brightness-contrast"></use>
  114. </svg> Thème</legend>
  115. <label>
  116. <input type="radio" value="auto" name="chosen-color-scheme" checked> Auto
  117. </label>
  118. <label>
  119. <input type="radio" value="dark" name="chosen-color-scheme"> Foncé
  120. </label>
  121. <label>
  122. <input type="radio" value="light" name="chosen-color-scheme"> Clair
  123. </label>
  124. </fieldset>
  125. </form>
  126. </template>
  127. </footer>
  128. <script>
  129. function loadThemeForm(templateName) {
  130. const themeSelectorTemplate = document.querySelector(templateName)
  131. const form = themeSelectorTemplate.content.firstElementChild
  132. themeSelectorTemplate.replaceWith(form)
  133. form.addEventListener('change', (e) => {
  134. const chosenColorScheme = e.target.value
  135. localStorage.setItem('theme', chosenColorScheme)
  136. toggleTheme(chosenColorScheme)
  137. })
  138. const selectedTheme = localStorage.getItem('theme')
  139. if (selectedTheme && selectedTheme !== 'undefined') {
  140. form.querySelector(`[value="${selectedTheme}"]`).checked = true
  141. }
  142. }
  143. const prefersColorSchemeDark = '(prefers-color-scheme: dark)'
  144. window.addEventListener('load', () => {
  145. let hasDarkRules = false
  146. for (const styleSheet of Array.from(document.styleSheets)) {
  147. let mediaRules = []
  148. for (const cssRule of styleSheet.cssRules) {
  149. if (cssRule.type !== CSSRule.MEDIA_RULE) {
  150. continue
  151. }
  152. // WARNING: Safari does not have/supports `conditionText`.
  153. if (cssRule.conditionText) {
  154. if (cssRule.conditionText !== prefersColorSchemeDark) {
  155. continue
  156. }
  157. } else {
  158. if (cssRule.cssText.startsWith(prefersColorSchemeDark)) {
  159. continue
  160. }
  161. }
  162. mediaRules = mediaRules.concat(Array.from(cssRule.cssRules))
  163. }
  164. // WARNING: do not try to insert a Rule to a styleSheet you are
  165. // currently iterating on, otherwise the browser will be stuck
  166. // in a infinite loop…
  167. for (const mediaRule of mediaRules) {
  168. styleSheet.insertRule(mediaRule.cssText)
  169. hasDarkRules = true
  170. }
  171. }
  172. if (hasDarkRules) {
  173. loadThemeForm('#theme-selector')
  174. }
  175. })
  176. </script>
  177. </body>
  178. </html>