Repository with sources and generator of https://larlet.fr/david/ https://larlet.fr/david/
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 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882
  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,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Reconnaissance — David Larlet</title>
  13. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  14. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
  15. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
  16. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
  17. <link rel="manifest" href="/manifest.json">
  18. <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
  19. <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
  20. <meta name="apple-mobile-web-app-title" content="David Larlet">
  21. <meta name="application-name" content="David Larlet">
  22. <meta name="msapplication-TileColor" content="#da532c">
  23. <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
  24. <meta name="theme-color" content="#f0f0ea">
  25. <!-- That good ol' feed, subscribe :p. -->
  26. <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
  27. <!-- Canonical URL for SEO purposes -->
  28. <link rel="canonical" href="https://larlet.fr/david/stream/2019/03/15/">
  29. <style>
  30. /* http://meyerweb.com/eric/tools/css/reset/ */
  31. html, body, div, span,
  32. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  33. a, abbr, address, big, cite, code,
  34. del, dfn, em, img, ins,
  35. small, strike, strong, tt, var,
  36. dl, dt, dd, ol, ul, li,
  37. fieldset, form, label, legend,
  38. table, caption, tbody, tfoot, thead, tr, th, td,
  39. article, aside, canvas, details, embed,
  40. figure, figcaption, footer, header, hgroup,
  41. menu, nav, output, ruby, section, summary,
  42. time, mark, audio, video {
  43. margin: 0;
  44. padding: 0;
  45. border: 0;
  46. font-size: 100%;
  47. font: inherit;
  48. vertical-align: baseline;
  49. }
  50. /* HTML5 display-role reset for older browsers */
  51. article, aside, details, figcaption, figure,
  52. footer, header, hgroup, menu, nav, section { display: block; }
  53. body { line-height: 1; }
  54. blockquote, q { quotes: none; }
  55. blockquote:before, blockquote:after,
  56. q:before, q:after {
  57. content: '';
  58. content: none;
  59. }
  60. table {
  61. border-collapse: collapse;
  62. border-spacing: 0;
  63. }
  64. /* http://practicaltypography.com/equity.html */
  65. /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
  66. /* https://www.filamentgroup.com/lab/js-web-fonts.html */
  67. @font-face {
  68. font-family: 'EquityTextB';
  69. src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
  70. url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
  71. font-weight: 300;
  72. font-style: normal;
  73. font-display: swap;
  74. }
  75. @font-face {
  76. font-family: 'EquityTextB';
  77. src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
  78. url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
  79. font-weight: 300;
  80. font-style: italic;
  81. font-display: swap;
  82. }
  83. @font-face {
  84. font-family: 'EquityTextB';
  85. src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
  86. url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
  87. font-weight: 700;
  88. font-style: normal;
  89. font-display: swap;
  90. }
  91. @font-face {
  92. font-family: 'ConcourseT3';
  93. src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
  94. url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
  95. font-weight: 300;
  96. font-style: normal;
  97. font-display: swap;
  98. }
  99. @font-face {
  100. font-family: 'TriplicateT4c';
  101. src: url('/static/david/css/fonts/Triplicate-T4-Code-Regular-webfont.woff2') format('woff2'),
  102. url('/static/david/css/fonts/Triplicate-T4-Code-Regular-webfont.woff') format('woff');
  103. font-weight: 300;
  104. font-style: normal;
  105. font-display: swap;
  106. }
  107. /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
  108. body {
  109. /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
  110. font-family: "EquityTextB", Palatino, serif;
  111. background-color: #f0f0ea;
  112. color: #07486c;
  113. font-kerning: normal;
  114. -moz-osx-font-smoothing: grayscale;
  115. -webkit-font-smoothing: subpixel-antialiased;
  116. text-rendering: optimizeLegibility;
  117. font-variant-ligatures: common-ligatures contextual;
  118. font-feature-settings: "kern", "liga", "clig", "calt";
  119. }
  120. pre, code, kbd, samp, var, tt {
  121. font-family: 'TriplicateT4c', monospace;
  122. }
  123. em {
  124. font-style: italic;
  125. color: #323a45;
  126. }
  127. strong {
  128. font-weight: bold;
  129. color: black;
  130. }
  131. nav {
  132. background-color: #323a45;
  133. color: #f0f0ea;
  134. display: flex;
  135. justify-content: space-around;
  136. padding: 1rem .5rem;
  137. }
  138. nav:last-child {
  139. border-bottom: 1vh solid #2d7474;
  140. }
  141. nav a {
  142. color: #f0f0ea;
  143. }
  144. nav abbr {
  145. border-bottom: 1px dotted white;
  146. }
  147. h1 {
  148. border-top: 1vh solid #2d7474;
  149. border-bottom: .2vh dotted #2d7474;
  150. background-color: #e3e1e1;
  151. color: #323a45;
  152. text-align: center;
  153. padding: 5rem 0 4rem 0;
  154. width: 100%;
  155. font-family: 'ConcourseT3';
  156. display: flex;
  157. flex-direction: column;
  158. }
  159. h1.single {
  160. padding-bottom: 10rem;
  161. }
  162. h1 span {
  163. position: absolute;
  164. top: 1vh;
  165. left: 20%;
  166. line-height: 0;
  167. }
  168. h1 span a {
  169. line-height: 1.7;
  170. padding: 1rem 1.2rem .6rem 1.2rem;
  171. border-radius: 0 0 6% 6%;
  172. background: #2d7474;
  173. font-size: 1.3rem;
  174. color: white;
  175. text-decoration: none;
  176. }
  177. h2 {
  178. margin: 4rem 0 1rem;
  179. border-top: .2vh solid #2d7474;
  180. padding-top: 1vh;
  181. }
  182. h3 {
  183. text-align: center;
  184. margin: 3rem 0 .75em;
  185. }
  186. hr {
  187. height: .4rem;
  188. width: .4rem;
  189. border-radius: .4rem;
  190. background: #07486c;
  191. margin: 2.5rem auto;
  192. }
  193. time {
  194. display: bloc;
  195. margin-left: 0 !important;
  196. }
  197. ul, ol {
  198. margin: 2rem;
  199. }
  200. ul {
  201. list-style-type: square;
  202. }
  203. a {
  204. text-decoration-skip-ink: auto;
  205. text-decoration-thickness: 0.05em;
  206. text-underline-offset: 0.09em;
  207. }
  208. article {
  209. max-width: 50rem;
  210. display: flex;
  211. flex-direction: column;
  212. margin: 2rem auto;
  213. }
  214. article.single {
  215. border-top: .2vh dotted #2d7474;
  216. margin: -6rem auto 1rem auto;
  217. background: #f0f0ea;
  218. padding: 2rem;
  219. }
  220. article p:last-child {
  221. margin-bottom: 1rem;
  222. }
  223. p {
  224. padding: 0 .5rem;
  225. margin-left: 3rem;
  226. }
  227. p + p,
  228. figure + p {
  229. margin-top: 2rem;
  230. }
  231. blockquote {
  232. background-color: #e3e1e1;
  233. border-left: .5vw solid #2d7474;
  234. display: flex;
  235. flex-direction: column;
  236. align-items: center;
  237. padding: 1rem;
  238. margin: 1.5rem;
  239. }
  240. blockquote cite {
  241. font-style: italic;
  242. }
  243. blockquote p {
  244. margin-left: 0;
  245. }
  246. figure {
  247. border-top: .2vh solid #2d7474;
  248. background-color: #e3e1e1;
  249. text-align: center;
  250. padding: 1.5rem 0;
  251. margin: 1rem 0 0;
  252. font-size: 1.5rem;
  253. width: 100%;
  254. }
  255. figure img {
  256. max-width: 250px;
  257. max-height: 250px;
  258. border: .5vw solid #323a45;
  259. padding: 1px;
  260. }
  261. figcaption {
  262. padding: 1rem;
  263. line-height: 1.4;
  264. }
  265. aside {
  266. display: flex;
  267. flex-direction: column;
  268. background-color: #e3e1e1;
  269. padding: 1rem 0;
  270. border-bottom: .2vh solid #07486c;
  271. }
  272. aside p {
  273. max-width: 50rem;
  274. margin: 0 auto;
  275. }
  276. /* https://fvsch.com/code/css-locks/ */
  277. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  278. font-size: 1rem;
  279. line-height: calc( 1.5em + 0.2 * 1rem );
  280. }
  281. h1 {
  282. font-size: 1.9rem;
  283. line-height: calc( 1.2em + 0.2 * 1rem );
  284. }
  285. h2 {
  286. font-size: 1.6rem;
  287. line-height: calc( 1.3em + 0.2 * 1rem );
  288. }
  289. h3 {
  290. font-size: 1.35rem;
  291. line-height: calc( 1.4em + 0.2 * 1rem );
  292. }
  293. @media (min-width: 20em) {
  294. /* The (100vw - 20rem) / (50 - 20) part
  295. resolves to 0-1rem, depending on the
  296. viewport width (between 20em and 50em). */
  297. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  298. font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
  299. line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
  300. margin-left: 0;
  301. }
  302. h1 {
  303. font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  304. line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
  305. }
  306. h2 {
  307. font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  308. line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
  309. }
  310. h3 {
  311. font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  312. line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
  313. }
  314. }
  315. @media (min-width: 50em) {
  316. /* The right part of the addition *must* be a
  317. rem value. In this example we *could* change
  318. the whole declaration to font-size:2.5rem,
  319. but if our baseline value was not expressed
  320. in rem we would have to use calc. */
  321. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  322. font-size: calc( 1rem + .6 * 1rem );
  323. line-height: 1.5em;
  324. }
  325. p, li, pre, details {
  326. margin-left: 3rem;
  327. }
  328. h1 {
  329. font-size: calc( 1.9rem + 1.5 * 1rem );
  330. line-height: 1.2em;
  331. }
  332. h2 {
  333. font-size: calc( 1.5rem + 1.5 * 1rem );
  334. line-height: 1.3em;
  335. }
  336. h3 {
  337. font-size: calc( 1.35rem + 1.5 * 1rem );
  338. line-height: 1.4em;
  339. }
  340. figure img {
  341. max-width: 500px;
  342. max-height: 500px;
  343. }
  344. }
  345. figure.unsquared {
  346. margin-bottom: 1.5rem;
  347. }
  348. figure.unsquared img {
  349. height: inherit;
  350. }
  351. /* https://github.com/richleland/pygments-css */
  352. .codehilite{
  353. background-color: #fdf6e3;
  354. margin: 1rem auto;
  355. padding: 1rem;
  356. overflow-x:auto;
  357. box-shadow:inset 0 0 2px rgba(0,0,0,0.2)
  358. }
  359. .codehilite .t{color:#586e75}
  360. .codehilite .w{color:#073642}
  361. .codehilite .err{color:#cb4b16}
  362. .codehilite .k{color:#859900}
  363. .codehilite .kc{color:#2aa198}
  364. .codehilite .kd{color:#268bd2}
  365. .codehilite .kn{color:#b58900}
  366. .codehilite .kp{color:#859900}
  367. .codehilite .kr{color:#073642}
  368. .codehilite .kt{color:#b58900}
  369. .codehilite .n{color:#586e75}
  370. .codehilite .na{color:#2aa198}
  371. .codehilite .nb{color:#268bd2}
  372. .codehilite .nc{color:#268bd2}
  373. .codehilite .ne{color:#cb4b16}
  374. .codehilite .no{color:#2aa198}
  375. .codehilite .nd{color:#2aa198}
  376. .codehilite .ni{color:#2aa198;font-weight:bold}
  377. .codehilite .nf{color:#268bd2}
  378. .codehilite .nn{color:#586e75}
  379. .codehilite .nt{color:#2aa198;font-weight:bold}
  380. .codehilite .nv{color:#cb4b16}
  381. .codehilite .b{color:#859900}
  382. .codehilite .bp{color:#586e75}
  383. .codehilite .v{color:#586e75}
  384. .codehilite .vc{color:#586e75}
  385. .codehilite .vg{color:#268bd2}
  386. .codehilite .vi{color:#268bd2}
  387. .codehilite .m{color:#268bd2}
  388. .codehilite .mf{color:#268bd2}
  389. .codehilite .mh{color:#268bd2}
  390. .codehilite .mi{color:#268bd2}
  391. .codehilite .mo{color:#268bd2}
  392. .codehilite .s{color:#2aa198}
  393. .codehilite .sb{color:#2aa198}
  394. .codehilite .sc{color:#2aa198}
  395. .codehilite .sd{color:#2aa198}
  396. .codehilite .s2{color:#2aa198}
  397. .codehilite .se{color:#cb4b16}
  398. .codehilite .sh{color:#2aa198}
  399. .codehilite .si{color:#cb4b16}
  400. .codehilite .sx{color:#2aa198}
  401. .codehilite .sr{color:#cb4b16}
  402. .codehilite .s1{color:#2aa198}
  403. .codehilite .ss{color:#cb4b16}
  404. .codehilite .il{color:#268bd2}
  405. .codehilite .o{color:#586e75}
  406. .codehilite .ow{color:#859900}
  407. .codehilite .p{color:#586e75}
  408. .codehilite .c{color:#93a1a1;font-style:italic}
  409. .codehilite .cm{color:#93a1a1}
  410. .codehilite .cp{color:#93a1a1}
  411. .codehilite .c1{color:#93a1a1}
  412. .codehilite .cs{color:#93a1a1}
  413. .codehilite .hll{background-color:#dc322f}
  414. .codehilite .g{color:#586e75}
  415. .codehilite .gd{color:#586e75}
  416. .codehilite .ge{font-style:italic}
  417. .codehilite .gr{color:#586e75}
  418. .codehilite .gh{color:#586e75;font-weight:bold}
  419. .codehilite .gi{color:#586e75}
  420. .codehilite .go{color:#586e75}
  421. .codehilite .gp{color:#586e75}
  422. .codehilite .gs{font-weight:bold}
  423. .codehilite .gu{color:#586e75;font-weight:bold}
  424. .codehilite .gt{color:#586e75}
  425. @media print {
  426. body { font-size: 100%; }
  427. a:after { content: " (" attr(href) ")"; }
  428. a, a:link, a:visited, a:after {
  429. text-decoration: underline;
  430. text-shadow: none !important;
  431. background-image: none !important;
  432. background: white;
  433. color: black;
  434. }
  435. abbr[title] { border-bottom: 0; }
  436. abbr[title]:after { content: " (" attr(title) ")"; }
  437. img { page-break-inside: avoid; }
  438. @page { margin: 2cm .5cm; }
  439. h1, h2, h3 { page-break-after: avoid; }
  440. p3 { orphans: 3; widows: 3; }
  441. img {
  442. max-width: 250px !important;
  443. max-height: 250px !important;
  444. }
  445. nav, aside { display: none; }
  446. }
  447. ul.with_columns {
  448. column-count: 1;
  449. }
  450. @media (min-width: 20em) {
  451. ul.with_columns {
  452. column-count: 2;
  453. }
  454. }
  455. @media (min-width: 50em) {
  456. ul.with_columns {
  457. column-count: 3;
  458. }
  459. }
  460. ul.with_two_columns {
  461. column-count: 1;
  462. }
  463. @media (min-width: 20em) {
  464. ul.with_two_columns {
  465. column-count: 1;
  466. }
  467. }
  468. @media (min-width: 50em) {
  469. ul.with_two_columns {
  470. column-count: 2;
  471. }
  472. }
  473. .gallery {
  474. display: flex;
  475. flex-wrap: wrap;
  476. justify-content: space-around;
  477. }
  478. .gallery figure img {
  479. margin-left: 1rem;
  480. margin-right: 1rem;
  481. }
  482. .gallery figure figcaption {
  483. font-family: 'ConcourseT3'
  484. }
  485. footer {
  486. font-family: 'ConcourseT3';
  487. display: flex;
  488. flex-direction: column;
  489. border-top: 3px solid white;
  490. padding: 4rem 0;
  491. background-color: #07486c;
  492. color: white;
  493. }
  494. footer > * {
  495. max-width: 50rem;
  496. margin: 0 auto;
  497. }
  498. footer a {
  499. color: #f1c40f;
  500. }
  501. footer .avatar {
  502. width: 200px;
  503. height: 200px;
  504. border-radius: 50%;
  505. float: left;
  506. -webkit-shape-outside: circle();
  507. shape-outside: circle();
  508. margin-right: 2rem;
  509. padding: 2px 5px 5px 2px;
  510. background: white;
  511. border-left: 1px solid #f1c40f;
  512. border-top: 1px solid #f1c40f;
  513. border-right: 5px solid #f1c40f;
  514. border-bottom: 5px solid #f1c40f;
  515. }
  516. </style>
  517. <h1 class="single">
  518. <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
  519. Reconnaissance
  520. <time>Publié le 15 mars</time>
  521. </h1>
  522. <article class="single">
  523. <p><em>Une semaine qui a commencée avec un poignard dans le dos et une impossibilité de m’asseoir pendant quelques jours. L’occasion d’utiliser à bon escient ce bureau assis-debout. La douleur aidant, j’ai pas mal cogité la nuit et me suis fendu d’une refonte ici même.</em></p>
  524. <blockquote>
  525. <p>Despite IBM’s assurances that Flickr users can opt out of the database, NBC News discovered that it’s almost impossible to get photos removed. IBM requires photographers to email links to photos they want removed, but the company has not publicly shared the list of Flickr users and photos included in the dataset, so there is no easy way of finding out whose photos are included. IBM did not respond to questions about this process.</p>
  526. <p>[…]</p>
  527. <p>“People gave their consent to sharing their photos in a different internet ecosystem,” said Meredith Whittaker, co-director of the AI Now Institute, which studies the social implications of artificial intelligence. “Now they are being unwillingly or unknowingly cast in the training of systems that could potentially be used in oppressive ways against their communities.”</p>
  528. <p><cite><em><a href="https://www.nbcnews.com/tech/internet/facial-recognition-s-dirty-little-secret-millions-online-photos-scraped-n981921">Facial recognition's 'dirty little secret': Millions of online photos scraped without consent</a></em> (<a href="/david/cache/a23d0976e021e011a44a16857e0423d8/">cache</a>)</cite></p>
  529. </blockquote>
  530. <p>Rappelez-vous : si c’est gratuit… <a href="/david/blog/2016/si-cest-gratuit/">c’est toi qui enseigne</a>. Pas forcément avec ton consentement. <em>#ForTheScience</em></p>
  531. <blockquote>
  532. <p>Sur fond de reportages sur la mauvaise utilisation du Web, il est compréhensible que de nombreuses personnes aient peur et se demandent si le Web est vraiment une force au service du bien. Mais compte tenu de tout ce que le Web a changé au cours des trente dernières années, il serait défaitiste et dénué d’imagination de supposer que le Web tel que nous le connaissons ne peut pas être amélioré dans les trente prochaines années. Si nous renonçons à construire un Web meilleur aujourd’hui, ce n’est pas le Web qui nous aura fait défaut. C’est nous qui aurons fait défaut au Web.</p>
  533. <p><cite><em><a href="https://webfoundation.org/2019/03/web-birthday-30/">30 years on, what’s next #ForTheWeb?</a></em> (<a href="/david/cache/a4b5360bdc2248e66f9810dc029a2125/">cache</a>)</cite></p>
  534. </blockquote>
  535. <p>J’apprends <a href="https://twitter.com/jensimmons/status/1105464258899382279">sur Twitter</a> que l’anniversaire se passe sur Facebook. Je réalise en voulant récupérer l’article qu’il est bardé de <code>&lt;span style="font-weight: 400;"&gt;</code> et qu’il faut activer un CDN pour récupérer le JavaScript permettant d’afficher la version française. <em>#ForTheWeb</em></p>
  536. <hr />
  537. <p>J’ai réalisé que j’avais besoin de reconnaissance — ou plutôt de considération — dans mon travail. Peut-être que c’est lié à l’insécurité associée à <a href="/david/stream/2018/12/12/">la nouveauté</a> ou alors à l’identification d’un défaut <a href="/david/blog/2019/valeurs-etoiles/">d’empathie</a> réciproque. Toujours est-il que ça me gratte. <em>#ForTheEgo</em></p>
  538. <blockquote>
  539. <p>Tant que nous refuserons de reconnaître ce lien causal, nos appels à l’avènement d’une société meilleure où régneraient la bienveillance et la tolérance mutuelle resteront des vœux pieux. Ce n’est pas à force d’exhortations que les gens vont cesse de se juger les uns les autres en fonction de leur apparence, ou de penser que la richesse d’une personne révèle sa valeur intrinsèque. Nos réponses à la hiérarchie sont trop profondément inscrites en nous pour pouvoir être simplement désactivées, en faisant fi de l’ampleur des inégalités. Lorsque vous avez des gens qui sont littéralement pétrifiés par leur sentiment d’infériorité, les encourager à se prendre en main, à reprendre confiance, à se faire des amis et à participer à la vie commune n’aura guère d’effets. Il est tout aussi vain d’espérer briser la connexion entre les disparités de revenus et certaines tendances que nous avons décrites – par exemple, la conviction d’être supérieur ou inférieur aux autres, ou le dédain affiché pour « ceux d’en bas ». Si nous voulons changer les choses, nous devons nous attaquer aux facteurs qui déclenchent toutes ces réactions en nous.</p>
  540. <p><cite><em><a href="http://www.internetactu.net/2019/03/12/linegalite-est-elle-au-coeur-des-problemes-de-societe/">L’inégalité est-elle au cœur des problèmes de société ?</a></em> (<a href="/david/cache/84cd2922becf4293ad27dca2c17c57e4/">cache</a>)</cite></p>
  541. </blockquote>
  542. <p>Discussion de couple au détour d’un <a href="https://mastodon.social/@dav">pouet</a> sur le féminisme, l’écoute et l’injonction au silence. Cela m’a permis de mettre des mots sur ce qui me motive dans ces luttes et ce ne sont justement pas les luttes. Mais plutôt comment les éviter en premier lieu. Et comment avoir des discussions avec suffisamment de diversité pour que l’on évite les prochaines manifestations d’un déséquilibre de puissance, comment reconnaître des <em>patterns</em> ? Le soin est nécessaire car il y a des blessé·e·s <em>et</em> comment éviter cette violence originelle ? <em>#ForTheTalk</em></p>
  543. <blockquote>
  544. <p>La reconnaissance faciale revêt de nombreuses formes : de l’authentification via Face ID d’Apple, à l’étiquetage automatique des images et des gens sur les réseaux sociaux, en passant par les filtres d’Instagram aux terminaux de paiement biométriques, ou aux caméras de porte d’Amazon… la diversité d’usage des outils de reconnaissance faciale recomposent nos préférences personnelles et collectives et nous conduit à appréhender ces technologies comme une composante « familière, non menaçante, voire même nécessaire à la vie au XXIe siècle ». Comme si chacun de ces services rendait la perspective de la reconnaissance faciale inévitable, voire indiscutable.</p>
  545. <p><cite><em><a href="http://www.internetactu.net/a-lire-ailleurs/la-generalisation-de-la-reconnaissance-faciale-est-elle-inevitable/">La généralisation de la reconnaissance faciale est-elle inévitable ?</a></em> (<a href="/david/cache/15ca065d281050682e0d1ff34852b2c3/">cache</a>)</cite></p>
  546. </blockquote>
  547. <p>À défaut d’être reconnu par nos semblables, cherche-t-on une autre forme de reconnaissance ? De l’importance des mots, accepterait-on ces technologies si elles étaient nommées différemment ? Nouvelle fonctionnalité : « profilage facial » ou « classement ethnique » ou « catalogage physique ». <em>#ForTheWords</em></p>
  548. <blockquote>
  549. <p>C’est extrêmement difficile. A Caracas, les supermarchés sont fermés. Comme la monnaie nationale n’a plus aucune valeur, les gens ne payent que par carte bleue. Or sans électricité, les terminaux de CB ne fonctionnent plus. Seuls 10 % des supermarchés sont ouverts, lorsqu’ils ont la chance d’avoir un générateur. Mais ils n’acceptent, en espèces, que les dollars, ce que personne n’a.</p>
  550. <p><cite><em><a href="https://www.lemonde.fr/international/article/2019/03/12/panne-de-courant-geante-au-venezuela-a-caracas-c-est-le-chaos_5435054_3210.html">Panne d’électricité géante au Venezuela : « A Caracas c’est le chaos »</a></em> (<a href="/david/cache/6e228b00f87b1311f65a16e1e81abb9e/">cache</a>)</cite></p>
  551. </blockquote>
  552. <p>Un aperçu de ce qui pourrait nous attendre (presque) tous. Il y a beaucoup de discussions autour de l’effondrement sur le scenario catastrophique/hollywoodien vs. l’entraide et la solidarité. Il y a bien sûr un angle journalistique ici mais ça donne une idée dans un certain contexte. <em>#ForTheFear</em></p>
  553. </article>
  554. <nav id="jumpto">
  555. <p>
  556. <a rel=prev href="/david/stream/2019/03/08/">← Lecture</a> | <a href="/david/stream/2019/" title="Retour à la liste complète">↑ Liste complète</a> | <a rel=next href="/david/stream/2019/03/22/">Dissonance →</a>
  557. </p>
  558. </nav>
  559. <footer>
  560. <div>
  561. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  562. <p>
  563. Bonjour/Hi!
  564. Je suis <a href="/david/" title="Profil public">David&nbsp;Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
  565. Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
  566. </p>
  567. <p>
  568. Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
  569. </p>
  570. <p>
  571. Les dernières publications hebdomadaires sont :
  572. </p>
  573. <ul class="with_columns">
  574. <li>
  575. <a href="/david/stream/2019/12/31/">Merci</a>
  576. </li>
  577. <li>
  578. <a href="/david/stream/2019/12/27/">Intemporels</a>
  579. </li>
  580. <li>
  581. <a href="/david/stream/2019/12/24/">Outils</a>
  582. </li>
  583. <li>
  584. <a href="/david/stream/2019/12/17/">Origines</a>
  585. </li>
  586. <li>
  587. <a href="/david/stream/2019/12/10/">Publier</a>
  588. </li>
  589. <li>
  590. <a href="/david/stream/2019/12/03/">En forêt</a>
  591. </li>
  592. <li>
  593. <a href="/david/stream/2019/11/26/">Ecocentric</a>
  594. </li>
  595. <li>
  596. <a href="/david/stream/2019/11/19/">Se livrer</a>
  597. </li>
  598. <li>
  599. <a href="/david/stream/2019/11/12/">Dépendances</a>
  600. </li>
  601. <li>
  602. <a href="/david/stream/2019/11/05/">Positif</a>
  603. </li>
  604. <li>
  605. <a href="/david/stream/2019/10/29/">Dettes</a>
  606. </li>
  607. <li>
  608. <a href="/david/stream/2019/10/22/">Privilèges</a>
  609. </li>
  610. <li>
  611. <a href="/david/stream/2019/10/15/">Discrétion</a>
  612. </li>
  613. <li>
  614. <a href="/david/stream/2019/10/08/">Désespérance</a>
  615. </li>
  616. <li>
  617. <a href="/david/stream/2019/10/01/">Présent</a>
  618. </li>
  619. <li>
  620. <a href="/david/stream/2019/09/24/">Manifester</a>
  621. </li>
  622. <li>
  623. <a href="/david/stream/2019/09/17/">Arpenter</a>
  624. </li>
  625. <li>
  626. <a href="/david/stream/2019/09/10/">Nostalgie</a>
  627. </li>
  628. <li>
  629. <a href="/david/stream/2019/09/03/">Déconstruire</a>
  630. </li>
  631. <li>
  632. <a href="/david/stream/2019/08/27/">Documenter</a>
  633. </li>
  634. <li>
  635. <a href="/david/stream/2019/08/20/">Frustration</a>
  636. </li>
  637. <li>
  638. <a href="/david/stream/2019/08/13/">Holisme</a>
  639. </li>
  640. <li>
  641. <a href="/david/stream/2019/08/06/">1%</a>
  642. </li>
  643. <li>
  644. <a href="/david/stream/2019/07/30/">Exemplarité</a>
  645. </li>
  646. <li>
  647. <a href="/david/stream/2019/07/23/">Timelines</a>
  648. </li>
  649. <li>
  650. <a href="/david/stream/2019/07/16/">Écoute</a>
  651. </li>
  652. <li>
  653. <a href="/david/stream/2019/07/02/">Anxiété</a>
  654. </li>
  655. <li>
  656. <a href="/david/stream/2019/06/21/">À lier</a>
  657. </li>
  658. <li>
  659. <a href="/david/stream/2019/06/14/">Pauvreté</a>
  660. </li>
  661. <li>
  662. <a href="/david/stream/2019/06/07/">Amateur</a>
  663. </li>
  664. <li>
  665. <a href="/david/stream/2019/05/31/">Pollution</a>
  666. </li>
  667. <li>
  668. <a href="/david/stream/2019/05/24/">Apaisement</a>
  669. </li>
  670. <li>
  671. <a href="/david/stream/2019/05/10/">Folie</a>
  672. </li>
  673. <li>
  674. <a href="/david/stream/2019/05/03/">Sympathie</a>
  675. </li>
  676. <li>
  677. <a href="/david/stream/2019/04/12/">Péremption</a>
  678. </li>
  679. <li>
  680. <a href="/david/stream/2019/04/05/">Définitions</a>
  681. </li>
  682. <li>
  683. <a href="/david/stream/2019/03/29/">Acceptation</a>
  684. </li>
  685. <li>
  686. <a href="/david/stream/2019/03/22/">Dissonance</a>
  687. </li>
  688. <li>
  689. <a href="/david/stream/2019/03/15/">Reconnaissance</a>
  690. </li>
  691. <li>
  692. <a href="/david/stream/2019/03/08/">Lecture</a>
  693. </li>
  694. <li>
  695. <a href="/david/stream/2019/03/01/">Journaux</a>
  696. </li>
  697. <li>
  698. <a href="/david/stream/2019/02/22/">Écriture</a>
  699. </li>
  700. <li>
  701. <a href="/david/stream/2019/02/15/">Kyriarchie</a>
  702. </li>
  703. <li>
  704. <a href="/david/stream/2019/02/08/">Mots-serrures</a>
  705. </li>
  706. <li>
  707. <a href="/david/stream/2019/02/01/">Sans voie</a>
  708. </li>
  709. <li>
  710. <a href="/david/stream/2019/01/25/">Auto-diagnostic</a>
  711. </li>
  712. <li>
  713. <a href="/david/stream/2019/01/18/">Agilité</a>
  714. </li>
  715. <li>
  716. <a href="/david/stream/2019/01/11/">Métaphores</a>
  717. </li>
  718. <li>
  719. <a href="/david/stream/2019/01/04/">Balbutiements</a>
  720. </li>
  721. </ul>
  722. <p>
  723. Voici quelques articles choisis :
  724. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  725. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  726. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  727. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  728. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  729. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  730. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  731. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  732. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  733. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  734. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  735. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  736. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  737. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  738. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  739. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  740. </p>
  741. <p>
  742. On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
  743. </p>
  744. <p>
  745. Je ne traque pas ta navigation mais mon
  746. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  747. conserve des logs d’accès.
  748. </p>
  749. </div>
  750. </footer>
  751. <script type="text/javascript">
  752. ;(_ => {
  753. const jumper = document.getElementById('jumper')
  754. jumper.addEventListener('click', e => {
  755. e.preventDefault()
  756. const anchor = e.target.getAttribute('href')
  757. const targetEl = document.getElementById(anchor.substring(1))
  758. targetEl.scrollIntoView({behavior: 'smooth'})
  759. })
  760. })()
  761. </script>
  762. <script>
  763. /* Service workers */
  764. if (navigator.serviceWorker) {
  765. window.addEventListener('load', function () {
  766. var selector = 'a[href^="/david/cache/"], a[rel=prev], a[rel=next]'
  767. function sendLinks (selector) {
  768. var links = [].slice.call(document.querySelectorAll(selector)).map(function (link) {
  769. return link.getAttribute('href')
  770. })
  771. links.push(location.pathname) // Put the current page in cache too.
  772. navigator.serviceWorker.controller.postMessage({ links: links })
  773. }
  774. navigator.serviceWorker.getRegistration()
  775. .then(function (registration) {
  776. if (!registration || !navigator.serviceWorker.controller) {
  777. return navigator.serviceWorker.register('/serviceworker.js')
  778. .then(navigator.serviceWorker.ready)
  779. .then(function () {
  780. console.log('[ServiceWorker] Ready to go!')
  781. })
  782. .catch(console.error.bind(console))
  783. } else {
  784. console.log('[ServiceWorker] Send links via registration')
  785. sendLinks(selector)
  786. }
  787. })
  788. navigator.serviceWorker.addEventListener('controllerchange', function () {
  789. console.log('[ServiceWorker] Send links via controller change')
  790. sendLinks(selector)
  791. })
  792. navigator.serviceWorker.addEventListener('message', function (event) {
  793. var link = document.querySelector('a[href="' + event.data.link + '"]')
  794. if (event.data.status && link) {
  795. link.style.backgroundColor = '#2d7474'
  796. link.style.color = '#f0f0ea'
  797. link.setAttribute('title', 'En cache pour consultation sans connexion')
  798. }
  799. })
  800. })
  801. } else {
  802. console.warn('[ServiceWorker] No cache for old browsers.')
  803. }
  804. </script>