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 28KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627
  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>Domo Arigato, Mr. Roboto, Tell us Your Secret (archive) — 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. <meta name="robots" content="noindex, nofollow">
  28. <meta content="origin-when-cross-origin" name="referrer">
  29. <!-- Canonical URL for SEO purposes -->
  30. <link rel="canonical" href="https://ia.net/topics/domo-arigato-mr-roboto-tell-us-your-secret/">
  31. <style>
  32. /* http://meyerweb.com/eric/tools/css/reset/ */
  33. html, body, div, span,
  34. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  35. a, abbr, address, big, cite, code,
  36. del, dfn, em, img, ins,
  37. small, strike, strong, tt, var,
  38. dl, dt, dd, ol, ul, li,
  39. fieldset, form, label, legend,
  40. table, caption, tbody, tfoot, thead, tr, th, td,
  41. article, aside, canvas, details, embed,
  42. figure, figcaption, footer, header, hgroup,
  43. menu, nav, output, ruby, section, summary,
  44. time, mark, audio, video {
  45. margin: 0;
  46. padding: 0;
  47. border: 0;
  48. font-size: 100%;
  49. font: inherit;
  50. vertical-align: baseline;
  51. }
  52. /* HTML5 display-role reset for older browsers */
  53. article, aside, details, figcaption, figure,
  54. footer, header, hgroup, menu, nav, section { display: block; }
  55. body { line-height: 1; }
  56. blockquote, q { quotes: none; }
  57. blockquote:before, blockquote:after,
  58. q:before, q:after {
  59. content: '';
  60. content: none;
  61. }
  62. table {
  63. border-collapse: collapse;
  64. border-spacing: 0;
  65. }
  66. /* http://practicaltypography.com/equity.html */
  67. /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
  68. /* https://www.filamentgroup.com/lab/js-web-fonts.html */
  69. @font-face {
  70. font-family: 'EquityTextB';
  71. src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
  72. url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
  73. font-weight: 300;
  74. font-style: normal;
  75. font-display: swap;
  76. }
  77. @font-face {
  78. font-family: 'EquityTextB';
  79. src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
  80. url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
  81. font-weight: 300;
  82. font-style: italic;
  83. font-display: swap;
  84. }
  85. @font-face {
  86. font-family: 'EquityTextB';
  87. src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
  88. url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
  89. font-weight: 700;
  90. font-style: normal;
  91. font-display: swap;
  92. }
  93. @font-face {
  94. font-family: 'ConcourseT3';
  95. src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
  96. url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
  97. font-weight: 300;
  98. font-style: normal;
  99. font-display: swap;
  100. }
  101. /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
  102. body {
  103. /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
  104. font-family: "EquityTextB", Palatino, serif;
  105. background-color: #f0f0ea;
  106. color: #07486c;
  107. font-kerning: normal;
  108. -moz-osx-font-smoothing: grayscale;
  109. -webkit-font-smoothing: subpixel-antialiased;
  110. text-rendering: optimizeLegibility;
  111. font-variant-ligatures: common-ligatures contextual;
  112. font-feature-settings: "kern", "liga", "clig", "calt";
  113. }
  114. pre, code, kbd, samp, var, tt {
  115. font-family: 'TriplicateT4c', monospace;
  116. }
  117. em {
  118. font-style: italic;
  119. color: #323a45;
  120. }
  121. strong {
  122. font-weight: bold;
  123. color: black;
  124. }
  125. nav {
  126. background-color: #323a45;
  127. color: #f0f0ea;
  128. display: flex;
  129. justify-content: space-around;
  130. padding: 1rem .5rem;
  131. }
  132. nav:last-child {
  133. border-bottom: 1vh solid #2d7474;
  134. }
  135. nav a {
  136. color: #f0f0ea;
  137. }
  138. nav abbr {
  139. border-bottom: 1px dotted white;
  140. }
  141. h1 {
  142. border-top: 1vh solid #2d7474;
  143. border-bottom: .2vh dotted #2d7474;
  144. background-color: #e3e1e1;
  145. color: #323a45;
  146. text-align: center;
  147. padding: 5rem 0 4rem 0;
  148. width: 100%;
  149. font-family: 'ConcourseT3';
  150. display: flex;
  151. flex-direction: column;
  152. }
  153. h1.single {
  154. padding-bottom: 10rem;
  155. }
  156. h1 span {
  157. position: absolute;
  158. top: 1vh;
  159. left: 20%;
  160. line-height: 0;
  161. }
  162. h1 span a {
  163. line-height: 1.7;
  164. padding: 1rem 1.2rem .6rem 1.2rem;
  165. border-radius: 0 0 6% 6%;
  166. background: #2d7474;
  167. font-size: 1.3rem;
  168. color: white;
  169. text-decoration: none;
  170. }
  171. h2 {
  172. margin: 4rem 0 1rem;
  173. border-top: .2vh solid #2d7474;
  174. padding-top: 1vh;
  175. }
  176. h3 {
  177. text-align: center;
  178. margin: 3rem 0 .75em;
  179. }
  180. hr {
  181. height: .4rem;
  182. width: .4rem;
  183. border-radius: .4rem;
  184. background: #07486c;
  185. margin: 2.5rem auto;
  186. }
  187. time {
  188. display: bloc;
  189. margin-left: 0 !important;
  190. }
  191. ul, ol {
  192. margin: 2rem;
  193. }
  194. ul {
  195. list-style-type: square;
  196. }
  197. a {
  198. text-decoration-skip-ink: auto;
  199. text-decoration-thickness: 0.05em;
  200. text-underline-offset: 0.09em;
  201. }
  202. article {
  203. max-width: 50rem;
  204. display: flex;
  205. flex-direction: column;
  206. margin: 2rem auto;
  207. }
  208. article.single {
  209. border-top: .2vh dotted #2d7474;
  210. margin: -6rem auto 1rem auto;
  211. background: #f0f0ea;
  212. padding: 2rem;
  213. }
  214. article p:last-child {
  215. margin-bottom: 1rem;
  216. }
  217. p {
  218. padding: 0 .5rem;
  219. margin-left: 3rem;
  220. }
  221. p + p,
  222. figure + p {
  223. margin-top: 2rem;
  224. }
  225. blockquote {
  226. background-color: #e3e1e1;
  227. border-left: .5vw solid #2d7474;
  228. display: flex;
  229. flex-direction: column;
  230. align-items: center;
  231. padding: 1rem;
  232. margin: 1.5rem;
  233. }
  234. blockquote cite {
  235. font-style: italic;
  236. }
  237. blockquote p {
  238. margin-left: 0;
  239. }
  240. figure {
  241. border-top: .2vh solid #2d7474;
  242. background-color: #e3e1e1;
  243. text-align: center;
  244. padding: 1.5rem 0;
  245. margin: 1rem 0 0;
  246. font-size: 1.5rem;
  247. width: 100%;
  248. }
  249. figure img {
  250. max-width: 250px;
  251. max-height: 250px;
  252. border: .5vw solid #323a45;
  253. padding: 1px;
  254. }
  255. figcaption {
  256. padding: 1rem;
  257. line-height: 1.4;
  258. }
  259. aside {
  260. display: flex;
  261. flex-direction: column;
  262. background-color: #e3e1e1;
  263. padding: 1rem 0;
  264. border-bottom: .2vh solid #07486c;
  265. }
  266. aside p {
  267. max-width: 50rem;
  268. margin: 0 auto;
  269. }
  270. /* https://fvsch.com/code/css-locks/ */
  271. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  272. font-size: 1rem;
  273. line-height: calc( 1.5em + 0.2 * 1rem );
  274. }
  275. h1 {
  276. font-size: 1.9rem;
  277. line-height: calc( 1.2em + 0.2 * 1rem );
  278. }
  279. h2 {
  280. font-size: 1.6rem;
  281. line-height: calc( 1.3em + 0.2 * 1rem );
  282. }
  283. h3 {
  284. font-size: 1.35rem;
  285. line-height: calc( 1.4em + 0.2 * 1rem );
  286. }
  287. @media (min-width: 20em) {
  288. /* The (100vw - 20rem) / (50 - 20) part
  289. resolves to 0-1rem, depending on the
  290. viewport width (between 20em and 50em). */
  291. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  292. font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
  293. line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
  294. margin-left: 0;
  295. }
  296. h1 {
  297. font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  298. line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
  299. }
  300. h2 {
  301. font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  302. line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
  303. }
  304. h3 {
  305. font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  306. line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
  307. }
  308. }
  309. @media (min-width: 50em) {
  310. /* The right part of the addition *must* be a
  311. rem value. In this example we *could* change
  312. the whole declaration to font-size:2.5rem,
  313. but if our baseline value was not expressed
  314. in rem we would have to use calc. */
  315. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  316. font-size: calc( 1rem + .6 * 1rem );
  317. line-height: 1.5em;
  318. }
  319. p, li, pre, details {
  320. margin-left: 3rem;
  321. }
  322. h1 {
  323. font-size: calc( 1.9rem + 1.5 * 1rem );
  324. line-height: 1.2em;
  325. }
  326. h2 {
  327. font-size: calc( 1.5rem + 1.5 * 1rem );
  328. line-height: 1.3em;
  329. }
  330. h3 {
  331. font-size: calc( 1.35rem + 1.5 * 1rem );
  332. line-height: 1.4em;
  333. }
  334. figure img {
  335. max-width: 500px;
  336. max-height: 500px;
  337. }
  338. }
  339. figure.unsquared {
  340. margin-bottom: 1.5rem;
  341. }
  342. figure.unsquared img {
  343. height: inherit;
  344. }
  345. @media print {
  346. body { font-size: 100%; }
  347. a:after { content: " (" attr(href) ")"; }
  348. a, a:link, a:visited, a:after {
  349. text-decoration: underline;
  350. text-shadow: none !important;
  351. background-image: none !important;
  352. background: white;
  353. color: black;
  354. }
  355. abbr[title] { border-bottom: 0; }
  356. abbr[title]:after { content: " (" attr(title) ")"; }
  357. img { page-break-inside: avoid; }
  358. @page { margin: 2cm .5cm; }
  359. h1, h2, h3 { page-break-after: avoid; }
  360. p3 { orphans: 3; widows: 3; }
  361. img {
  362. max-width: 250px !important;
  363. max-height: 250px !important;
  364. }
  365. nav, aside { display: none; }
  366. }
  367. ul.with_columns {
  368. column-count: 1;
  369. }
  370. @media (min-width: 20em) {
  371. ul.with_columns {
  372. column-count: 2;
  373. }
  374. }
  375. @media (min-width: 50em) {
  376. ul.with_columns {
  377. column-count: 3;
  378. }
  379. }
  380. ul.with_two_columns {
  381. column-count: 1;
  382. }
  383. @media (min-width: 20em) {
  384. ul.with_two_columns {
  385. column-count: 1;
  386. }
  387. }
  388. @media (min-width: 50em) {
  389. ul.with_two_columns {
  390. column-count: 2;
  391. }
  392. }
  393. .gallery {
  394. display: flex;
  395. flex-wrap: wrap;
  396. justify-content: space-around;
  397. }
  398. .gallery figure img {
  399. margin-left: 1rem;
  400. margin-right: 1rem;
  401. }
  402. .gallery figure figcaption {
  403. font-family: 'ConcourseT3'
  404. }
  405. footer {
  406. font-family: 'ConcourseT3';
  407. display: flex;
  408. flex-direction: column;
  409. border-top: 3px solid white;
  410. padding: 4rem 0;
  411. background-color: #07486c;
  412. color: white;
  413. }
  414. footer > * {
  415. max-width: 50rem;
  416. margin: 0 auto;
  417. }
  418. footer a {
  419. color: #f1c40f;
  420. }
  421. footer .avatar {
  422. width: 200px;
  423. height: 200px;
  424. border-radius: 50%;
  425. float: left;
  426. -webkit-shape-outside: circle();
  427. shape-outside: circle();
  428. margin-right: 2rem;
  429. padding: 2px 5px 5px 2px;
  430. background: white;
  431. border-left: 1px solid #f1c40f;
  432. border-top: 1px solid #f1c40f;
  433. border-right: 5px solid #f1c40f;
  434. border-bottom: 5px solid #f1c40f;
  435. }
  436. </style>
  437. <h1>
  438. <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
  439. Domo Arigato, Mr. Roboto, Tell us Your Secret (archive)
  440. <time>Pour la pérennité des contenus liés. Non-indexé, retrait sur simple email.</time>
  441. </h1>
  442. <section>
  443. <article>
  444. <h3><a href="https://ia.net/topics/domo-arigato-mr-roboto-tell-us-your-secret/">Source originale du contenu</a></h3>
  445. <figure class="text__image-full-width"><img src="http://ia.net/wp-content/uploads/2018/01/Twitter-Optimized-Bot-Tweet-Mobile.png" alt="Twitter Bot Optimized"/></figure>
  446. <p><strong>Everybody that has an interest in influencing public opinion will happily pay a handful of Dollars to amplify their voices. Governments, political groups, corporations, traders, and just simple plain trolls will continue to shout through bot armies—as long as it is so cheap. Bots are cheaper than buying ad space, less risky than a network of spies, more efficient and less prone to failure than creating 50 fake accounts by hand. If bots could be identified and tagged, the fake news industry would suffer a heavy blow. Here is how we can make this happen.</strong></p>
  447. <p>Did Russia tamper with the US election? Of course. It’s so easy. Why wouldn’t they? And so have the Chinese, 4chan, the Republicans and the Democrats. Of course, Net Neutrality opponents send in bots to make themselves appear like they matter. The weapons industry, the oil industry, finance, tobacco, and the top 1%… Everybody that is unpopular but has the means will jump on the opportunity to make themselves heard.</p>
  448. <p>If you are not part of the powerful minority trying to appear democratically relevant, you probably agree that Information Technology has a bot problem. It’s not just the Russians that engage in the manipulation of public discourse. Everybody that wants to amplify their propaganda uses bots. It’s time to put an end to it. Science fiction author Isaac Asimov has defined <a href="http://addsdonna.com/old-website/ADDS_DONNA/Science_Fiction_files/2_Asimov_Reason.pdf">three rules for Robots</a>:</p>
  449. <blockquote><p>
  450. 1–A robot may not injure a human being or, through inaction, allow a human being to come to harm.<br/>
  451. 2–A robot must obey the orders given it by human beings except where such orders would conflict with the First Law.<br/>
  452. 3–A robot must protect its own existence as long as such protection does not conflict with the First or Second Laws.
  453. </p></blockquote>
  454. <p>Today, information robots are hidden behind a screen, programmed to make us believe they are humans. This calls for a fourth rule. Popular culture has a great answer for that: <a href="https://www.youtube.com/watch?v=uc6f_2nPSX8">“どうもありがとうミスターロボット, 秘密を知りたい.”</a> It’s slightly encoded in Japanese. It says: “Thank you robot, we want to know your secret.” What secret?</p>
  455. <blockquote><p>
  456. The time has come at last (secret, secret I’ve got a secret)<br/>
  457. To throw away this mask (secret, secret I’ve got a secret)<br/>
  458. Now everyone can see (secret, secret I’ve got a secret)<br/>
  459. My true identity…
  460. </p></blockquote>
  461. <p>To make sure that robots follow the first three rules, we need to make sure whom we are interacting with: Robots must be identifiable.</p>
  462. <h2>Facebook vs Twitter</h2>
  463. <p>Bots are not only a problem on social media and they are not the only problem we have with Social Media. But social media has taken a center stage in filtering news and forming public opinion and within social media, bots are a core amplifier that needs to be addressed first.</p>
  464. <p>Facebook recognized that they play a role in forming public opinion. They reacted by announcing they plan on <a href="https://ia.net/topics/news-from-facebook/">throttling down content from news organizations</a>. Their <a href="https://twitter.com/iA/status/954471768906969088">plan</a> is to vet and rate news through the same logic that has gotten them in trouble in the first place: <a href="https://www.buzzfeed.com/alexkantrowitz/this-is-facebooks-news-survey?utm_term=.iokO7QK1B#.ftrezKVLr">“let the people decide”</a>. Do you hear that crackling noise? That’s 4chan logging into Facebook, waiting to vote.</p>
  465. <figure class="text__image-full-width"><img src="http://ia.net/wp-content/uploads/2018/01/bots_grey.png" alt="On the Internet no one knows that you're a bot."/></figure>
  466. <p>While Facebook tries to patch their spam holes and tries to shirk its political responsibility for future catastrophes, Twitter <a href="https://blog.twitter.com/official/en_us/topics/company/2018/2016-election-update.html">addressed the bot problem head-on</a>. They have just banned 58’000 accounts they supposed are Russian bots and informed their user base that some of the accounts they had followed were Russian bots.</p>
  467. <p>Some have ridiculed Twitter for the false positives they got. And, as so often, the old “Who decides?” “What if they punish the wrong ones?” “The hackers will just get smarter” camps have thrown their same fatalist clichés at those who decide to take responsibility. Luckily, Google doesnt’ treat SEO like a lost fight.</p>
  468. <p>Here is a heavy dose of practical philosophy for you: You know who decides? Those who take responsibility. And those who decide and take responsibility shape their destiny. For those who wait and see other people will decide. This is a moment where Twitter can make precious ground over a seemingly invincible Facebook.</p>
  469. <h2>Checkmark for bots?</h2>
  470. <p>So far, Twitter for focussed on <em>Russian</em> bots. All bots should be marked. Political bots, commercial bots, financial bots, troll bots, fun bots, help bots, sexbots, religious bots, good bad, angry, sad and scientific bots. We need to know who is talking to us and whom we are talking to. How?</p>
  471. <p>Twitter has a checkmark for confirmed accounts. How about a checkmark for bots? It’s not hard to do. On today’s Twitter, humans, bots, and feeds look identical. Adding a checkmark for bots and give them a different, robotic typography could do wonders. With this machine-like font and a checkmark, they would stand out, and machines and humans would become discernible:</p>
  472. <figure class="text__image-full-width"><img src="http://ia.net/wp-content/uploads/2018/01/Twitter-Bot-Optimized.png" alt="Twitter Bot Optimized"/></figure>
  473. <p>In addition to a simple identification Bot-or-Not, Twitter should offer detailed information to why it assumes a bot is a bot and a human is human. It should encourage bots, humans and feeds to self-identify:</p>
  474. <figure class="text__image-full-width"><img src="http://ia.net/wp-content/uploads/2018/01/Twitter-Optimized-Detail-View.png"/></figure>
  475. <p>As you can see in these sketches, there are a series of identification factors needed to automatically verify an account as being human. It is understood that any automated security can be <a href="https://www.youtube.com/watch?v=fsF7enQY8uI">cheated</a>.</p>
  476. <h2>Make Spamming Expensive</h2>
  477. <p>The idea here is not to make cheating impossible. The idea is to make cheating expensive. Programming an army of bots in a system without checks and balances is economically interesting. It happens because it is cheap.</p>
  478. <p>If you have to build mechanical devices that enter information, your cost per spam will go up exponentially. If you use very cheap human labor in combination with so-called persona software, sadly, you may still be in an economically viable range. But the likeliness of human error increases. Low-paid humans that are employed to manipulate information make mistakes. Humans increase the risk of a leak. And, compared to machine run bot armies, humans will always be far more expensive.</p>
  479. <p>Stricter guidelines for bots will not only make it more expensive to post. It will also become more expensive when you get caught. Running a bot that pretends to be human should result in termination of the account and in restrictions for and exposure of people running these accounts. Cheating has to hurt. It has to be risky enough so cheaters get nervous and make mistakes.</p>
  480. <h2>How to Spot a Bot</h2>
  481. <p>From this relatively simple logic “make bots recognizable”, you can derive a series of checks and balances that make spamming, not impossible, but expensive. There are many ways machines can imitate us, but at some point machines imitating us become more expensive than humans cheating. Here are some requirements that will increase the cost of spamming:</p>
  482. <ol>
  483. <li><strong>Require that information was entered by hand:</strong> a) Measure if human touch is used on touch devices. b) Check how long it takes to type a message. c) Take into account how many corrections were needed to complete the message. d) Measure organic movement while editing. If done properly, it can get very expensive in terms of time and infrastructure to cheat the system.
  484. </li>
  485. <li>
  486. <p><strong>Require that tweets are posted by hand:</strong> Check if a Tweet was posted automatically or by hand. Offer a possibility to proof the authenticity through fingerprint, face or iris scanning. Posts don’t need to be fingerprinted every time. Once in a while is enough.</p>
  487. </li>
  488. <li>
  489. <p><strong>Check for humane time metrics:</strong> Humans need sleep. Humans have physical limits to how much they can post within a certain time span.</p>
  490. </li>
  491. <li>
  492. <p><strong>Check for human error:</strong> Humans make mistakes and delete tweets. Some bots post-and-delete-post-and-delete so they look more humane. A simple tweeted vs deleted measure can serve as a guide whether an account is in the human or robotic range.</p>
  493. </li>
  494. <li>
  495. <p><strong>Linguistic patterns:</strong> Humans have peculiar quirks when they speak. Your language is as unique as a fingerprint. Language processing is quite advanced these days. It is mostly used to fool us, but it can as well be used to add additional hurdles for those who abuse technology.</p>
  496. </li>
  497. <li>
  498. <p><strong>Social Control:</strong> A feedback button offers the opportunity for human intervention in case a bot slips through the crack of auto-detection or an account gets falsely accused. The feedback process must be cleverly designed so it is even more expensive to game than the regular posting process.</p>
  499. </li>
  500. <li>
  501. <p><strong>Technical Fingerprinting:</strong> Twitter has your IP-number, your device ID and tons of analytics data. The same machinery using your personal data to sell you soap and toasters can be used to assess the likeliness of an account being a bot. Users that buy things are less likely to be bots. And if they buy things to appear more credible, good, then the price for spamming goes up.</p>
  502. </li>
  503. </ol>
  504. <p>This is a draft made in 10 years and an afternoon. Some of these measures can be implemented in a couple of days, others will take time. It’s is a quick draft as a present from us to Twitter. There is lots of room for improvement. The list is incomplete and we have no doubt that the Twitter design team will do a much better job than we do at this.</p>
  505. <h2>Conclusion</h2>
  506. <p>In order to make sure that robots serve us and not the other way around, we need to make sure that we know when we talk to robots and when they talk to us. Asimov’s three laws don’t make sense if we cannot discern human from robot. Identifying robots will kill a core amplifier of spam on social media and elsewhere.</p>
  507. <p>We know that Twitter design reads our blog and we hope that the Twitter leadership will appreciate the intention of this post. Moreover, we hope that they dare to mark bots even though their active user numbers might go down significantly. We believe that the earthquake that a sudden marking of all bots will cause will have a deep impact not just on Twitter but on all social media. The long-term effect will be an increase in trust. If this is done correctly, it will trigger a lot of bot and feed accounts to self-identify.</p>
  508. <p>It is understood that bots are not only a problem on social media and they are not the only problem we have with Social Media, but they are a cheap amplifier of many issues we have today. Getting rid of them will mark a precarious blow for the tricksters and criminals that are trying to mess with our minds and lives and our future.</p>
  509. <p>For those who didn’t know: The illustration is our riff on Peter Steiner’s Internet-famous <a href="https://en.wikipedia.org/wiki/On_the_Internet,_nobody_knows_you're_a_dog">cartoon</a> from <em>The New Yorker</em> on July 5th, 1993.</p>
  510. <p><img src="http://ia.net/wp-content/uploads/2018/01/boy_grey.png" alt="On the Internet no one knows you are not 1000 bots"/></p>
  511. </article>
  512. </section>
  513. <nav id="jumpto">
  514. <p>
  515. <a href="/david/blog/">Accueil du blog</a> |
  516. <a href="https://ia.net/topics/domo-arigato-mr-roboto-tell-us-your-secret/">Source originale</a> |
  517. <a href="/david/stream/2019/">Accueil du flux</a>
  518. </p>
  519. </nav>
  520. <footer>
  521. <div>
  522. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  523. <p>
  524. Bonjour/Hi!
  525. 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>
  526. 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>).
  527. </p>
  528. <p>
  529. 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>.
  530. </p>
  531. <p>
  532. Voici quelques articles choisis :
  533. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  534. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  535. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  536. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  537. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  538. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  539. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  540. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  541. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  542. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  543. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  544. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  545. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  546. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  547. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  548. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  549. </p>
  550. <p>
  551. 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>.
  552. </p>
  553. <p>
  554. Je ne traque pas ta navigation mais mon
  555. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  556. conserve des logs d’accès.
  557. </p>
  558. </div>
  559. </footer>
  560. <script type="text/javascript">
  561. ;(_ => {
  562. const jumper = document.getElementById('jumper')
  563. jumper.addEventListener('click', e => {
  564. e.preventDefault()
  565. const anchor = e.target.getAttribute('href')
  566. const targetEl = document.getElementById(anchor.substring(1))
  567. targetEl.scrollIntoView({behavior: 'smooth'})
  568. })
  569. })()
  570. </script>