@@ -152,6 +152,10 @@ | |||
title="Aller à la page de recherche" | |||
rel="search" data-no-instant>Recherche</a> | |||
• <a rel="next" | |||
href="/david/2024/05/31/" | |||
title="Publication suivante : Technocritique">Suivant →</a> | |||
</p> | |||
</nav> | |||
@@ -386,6 +390,10 @@ | |||
<a href="/david/2024/" title="Liste des publications récentes">↑ En 2024</a> | |||
• <a rel="next" | |||
href="/david/2024/05/31/" | |||
title="Publication suivante : Technocritique">Suivant →</a> | |||
</p> | |||
</nav> | |||
@@ -0,0 +1,525 @@ | |||
<!DOCTYPE html><!-- This is a valid HTML5 document. --> | |||
<!-- Screen readers, SEO, extensions and so on. --> | |||
<html lang="fr"> | |||
<!-- Has to be within the first 1024 bytes, hence before the `title` element | |||
See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset --> | |||
<meta charset="utf-8"> | |||
<!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 --> | |||
<!-- The viewport meta is quite crowded and we are responsible for that. | |||
See: https://codepen.io/tigt/post/meta-viewport-for-2015 --> | |||
<meta name="viewport" content="width=device-width,initial-scale=1"> | |||
<!-- Required to make a valid HTML5 document. --> | |||
<title> | |||
Technocritique | |||
— David Larlet</title> | |||
<script> | |||
function toggleTheme(themeName) { | |||
document.documentElement.classList.toggle( | |||
'forced-dark', | |||
themeName === 'dark' | |||
) | |||
document.documentElement.classList.toggle( | |||
'forced-light', | |||
themeName === 'light' | |||
) | |||
} | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme !== 'undefined') { | |||
toggleTheme(selectedTheme) | |||
} | |||
</script> | |||
<!-- Documented, feel free to shoot an email. --> | |||
<link rel="stylesheet" href="/static/david/css/style_2024-03-09.css"> | |||
<!-- See https://www.zachleat.com/web/comprehensive-webfonts/ for the trade-off. --> | |||
<link rel="preload" | |||
href="/static/david/css/fonts/century_supra_ot_a_regular.woff2" | |||
as="font" | |||
type="font/woff2" | |||
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" | |||
crossorigin> | |||
<link rel="preload" | |||
href="/static/david/css/fonts/century_supra_ot_a_bold.woff2" | |||
as="font" | |||
type="font/woff2" | |||
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" | |||
crossorigin> | |||
<link rel="preload" | |||
href="/static/david/css/fonts/century_supra_ot_a_italic.woff2" | |||
as="font" | |||
type="font/woff2" | |||
media="(prefers-color-scheme: light), (prefers-color-scheme: no-preference)" | |||
crossorigin> | |||
<link rel="preload" | |||
href="/static/david/css/fonts/century_supra_ot_b_regular.woff2" | |||
as="font" | |||
type="font/woff2" | |||
media="(prefers-color-scheme: dark)" | |||
crossorigin> | |||
<link rel="preload" | |||
href="/static/david/css/fonts/century_supra_ot_b_bold.woff2" | |||
as="font" | |||
type="font/woff2" | |||
media="(prefers-color-scheme: dark)" | |||
crossorigin> | |||
<link rel="preload" | |||
href="/static/david/css/fonts/century_supra_ot_b_italic.woff2" | |||
as="font" | |||
type="font/woff2" | |||
media="(prefers-color-scheme: dark)" | |||
crossorigin> | |||
<meta name="description" content="Given the extreme connectivity constraints at the South Pole, I wrote a Python script for publishing to S3 that worked well in the challenging environment. It uses the S3 API to upload assets in small chunks. It detects and resumes failed uploads without losing progress. It waits until everything is safely uploaded before publishing the new version."> | |||
<!-- That good ol' feed, subscribe :). --> | |||
<link rel="alternate" | |||
type="application/atom+xml" | |||
title="Feed" | |||
href="/david/log/"> | |||
<!-- Generated from https://realfavicongenerator.net/ such a mess. --> | |||
<link rel="apple-touch-icon" | |||
sizes="180x180" | |||
href="/static/david/icons2/apple-touch-icon.png"> | |||
<link rel="icon" | |||
type="image/png" | |||
sizes="32x32" | |||
href="/static/david/icons2/favicon-32x32.png"> | |||
<link rel="icon" | |||
type="image/png" | |||
sizes="16x16" | |||
href="/static/david/icons2/favicon-16x16.png"> | |||
<link rel="manifest" href="/static/david/icons2/site.webmanifest"> | |||
<link rel="mask-icon" | |||
href="/static/david/icons2/safari-pinned-tab.svg" | |||
color="#07486c"> | |||
<link rel="shortcut icon" href="/static/david/icons2/favicon.ico"> | |||
<meta name="msapplication-TileColor" content="#f7f7f7"> | |||
<meta name="msapplication-config" | |||
content="/static/david/icons2/browserconfig.xml"> | |||
<meta name="theme-color" | |||
content="#f7f7f7" | |||
media="(prefers-color-scheme: light)"> | |||
<meta name="theme-color" | |||
content="#272727" | |||
media="(prefers-color-scheme: dark)"> | |||
<!-- Is that even respected? Retrospectively? What a shAItshow… | |||
https://neil-clarke.com/block-the-bots-that-feed-ai-models-by-scraping-your-website/ --> | |||
<meta name="robots" content="noai, noimageai"> | |||
<style type="text/css"> | |||
.tippy-content { | |||
min-width: 280px; | |||
padding: .5rem; | |||
font-size: calc(var(--fluid-0) * 0.8); | |||
font-family: var(--labor-font); | |||
letter-spacing: initial; | |||
text-align: left; | |||
} | |||
.tippy-content h3 { | |||
margin-top: 0; | |||
} | |||
.tippy-content h3 img { | |||
max-width: 2rem; | |||
max-height: 2rem; | |||
display: inline-block; | |||
} | |||
.tippy-content .tippy-links { | |||
display: flex; | |||
justify-content: space-around; | |||
} | |||
.tippy-content a { | |||
padding: .4rem; | |||
color: #F06048; | |||
} | |||
</style> | |||
<body data-instant-intensity="viewport-all"> | |||
<article> | |||
<header> | |||
<hgroup> | |||
<h1>Technocritique</h1> | |||
<p>Le <time datetime="2024-05-31">31 mai 2024</time></p> | |||
</hgroup> | |||
</header> | |||
<nav> | |||
<p> | |||
<a rel="prev" | |||
href="/david/2024/05/24/" | |||
title="Publication précédente : Tout">← Précédent</a> • | |||
<a href="/david/" title="Aller à l’accueil" rel="up">Accueil</a> | |||
• | |||
<a href="/david/recherche/" | |||
title="Aller à la page de recherche" | |||
rel="search" data-no-instant>Recherche</a> | |||
</p> | |||
</nav> | |||
<blockquote lang="en"> | |||
<p>Given the extreme connectivity constraints at the South Pole, I wrote a Python script for publishing to S3 that worked well in the challenging environment. It uses the S3 API to upload assets in small chunks. It detects and resumes failed uploads without losing progress. It waits until everything is safely uploaded before publishing the new version.</p> | |||
<p>If I can do it, unpaid, working alone, for my silly little hobby blog, in 200 lines of Python… <mark>surely your team of engineers can do so</mark> for your flagship webapp.</p> | |||
<p><cite><em><a data-link-domain="brr.fyi" href="https://brr.fyi/posts/engineering-for-slow-internet" hreflang="en" | |||
title="Consultation de l’article (anglais)">Engineering for Slow Internet</a> | |||
<a href="/david/cache/2024/9e9c6f97d732010e14201f1624782ddc/" hreflang="en" | |||
data-tippy data-description="How to minimize user frustration in Antarctica." | |||
data-source="https://brr.fyi/posts/engineering-for-slow-internet" | |||
data-date="2024-05-31" | |||
data-favicon="https://brr.fyi/favicon-32x32.png" | |||
data-domain="brr.fyi" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>En ce moment, suite à une mise à jour de l’application SONOS rendant mes enceintes inutilisables (n’achetez jamais cette marque…), je m’amuse à faire une interface web grâce au <a data-link-domain="github.com" href="https://github.com/avantrec/soco-cli/">serveur open-source</a> qui a été développé ces dernières années.</p> | |||
<p>C’est triste d’en arriver là, je ressens fort le pouvoir que me procurent mes capacités de développeur mais je sais aussi que la majorité subit l’emmerdification logicielle (c’était déjà pas terrible avant !) sans avoir d’autre option.</p> | |||
<p>Ce n’est pas encore prêt à être utilisable par d’autres mais c’est stimulant d’ajouter des fonctionnalités au fil des besoins locaux. Je réalise à quel point le manque de réactivité de l’app de 175Mo n’est pas liée au <em>hardware</em> vu que j’arrive à avoir quelque chose d’immédiat avec quelques lignes de Python + JS/HTML.</p> | |||
<blockquote lang="en"> | |||
<p>The <strong>only way</strong> I was able to get this done was by <strong>turning off the phone entirely</strong>, right before Internet access dropped, and then turning it back on when Internet access resumed at the next satellite pass. This tricked the phone into not giving up on the download, because it was totally off during the period without Internet. It never had a chance to fail. By doing this, I was able to spread out the download across multiple satellite passes, and I could complete the download.</p> | |||
<p>This is an absurd workaround! I should not have had to do this.</p> | |||
<p><cite><em>Ibid.</em></cite></p> | |||
</blockquote> | |||
<a href="#hr-175" title="Lien vers cette section de la page"><hr id="hr-175" /></a> | |||
<blockquote> | |||
<p>À chaque technologie qu’on vous propose, qui émerge dans le champ commercial, il s’agit toujours de se demander : en quoi cette tech va-t-elle nourrir ou appauvrir mon rapport aux autres, au monde et à moi-même ? Il est très facile de mesurer le pouvoir qu’une appli ou qu’un service numérique apporte, beaucoup plus insidieux de réaliser ce qu’elle nous fait perdre ou même dégrade dans nos relations et nos puissances propres : puissance de créer, de réfléchir, d’imaginer, d’être empathique, d’écouter, puissance physique de ressentir par soi-même, de se déplacer, de garder son énergie, etc.</p> | |||
<p><mark>La technocritique doit discriminer pouvoir (le faire faire) et puissance (le faire par soi-même, en autonomie),</mark> ouverture ou fermeture au monde, enrichissement ou effilochement des liens, impact sur l’écologie en amont et en aval, exhaustion des ressources, impacts sociaux sur les pays en développement, pollutions induites, pour notre Terre — mais aussi dans nos cerveaux avec le siphonnage permanent de notre attention, de nos temps libres par le numérique. Et elle doit aussi se demander : quels désirs doit-on encourager ? Quelle liberté ou émancipation la techno doit-elle nous aider à atteindre ? Le peut-elle seulement, et dans quel contexte d’usage ?</p> | |||
<p><cite><em><a data-link-domain="bonpote.com" href="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" hreflang="fr" | |||
title="Consultation de l’article">« On a besoin de pirates pour saboter les datacenters d’Amazon, pour bloquer les plateformes d’Uber ou de Airbnb »</a> | |||
<a href="/david/cache/2024/02acbf716d95797a371706c8983d6164/" hreflang="fr" | |||
data-tippy data-description="La Silicon Valley n’est qu’à la marge soucieuse de l’écologie. Mais c’est aussi qu’elle croit profondément au solutionnisme techno pour" | |||
data-source="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" | |||
data-date="2024-05-31" | |||
data-favicon="https://bonpote.com/wp-content/uploads/2024/01/ezez_1.ico" | |||
data-domain="bonpote.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p><del>Martine</del> Alain aux US.</p> | |||
<a href="#hr-176" title="Lien vers cette section de la page"><hr id="hr-176" /></a> | |||
<blockquote lang="en"> | |||
<p>Google utilizes cookie history, logged-in Chrome data, and pattern detection (referred to in the leak as “unsquashed” clicks versus “squashed” clicks) as effective means for fighting manual & automated click spam. […]</p> | |||
<p>My anonymous source claimed that way back in 2005, <mark>Google wanted the full clickstream of billions of Internet users, and with Chrome, they’ve now got it.</mark> The API documents suggest Google calculates several types of metrics that can be called using Chrome views related to both individual pages and entire domains.</p> | |||
<p>This document, describing the features around how Google creates Sitelinks, is particularly interesting. It showcases a call named topUrl, which is “A list of top urls with highest two_level_score, i.e., chrome_trans_clicks.” My read is that Google likely uses the number of clicks on pages in Chrome browsers and uses that to determine the most popular/important URLs on a site, which go into the calculation of which to include in the sitelinks feature.</p> | |||
<p><cite><em><a data-link-domain="sparktoro.com" href="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" hreflang="en" | |||
title="Consultation de l’article (anglais)">An Anonymous Source Shared Thousands of Leaked Google Search API Documents with Me; Everyone in SEO Should See Them</a> | |||
<a href="/david/cache/2024/2eba81418d244e79cef08638976dbeae/" hreflang="en" | |||
data-tippy data-description="On Sunday, May 5th, I received an email from a person claiming to have access to a massive leak of API documentation from inside Google’s Search division." | |||
data-source="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" | |||
data-date="2024-05-31" | |||
data-favicon="https://sparktoro.com/favicon.ico" | |||
data-domain="sparktoro.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Ce qui est bien avec les produits Google c’est qu’on n’est jamais surpris.</p> | |||
<a href="#hr-177" title="Lien vers cette section de la page"><hr id="hr-177" /></a> | |||
<blockquote> | |||
<p>En prenant un tout petit peu de recul Josh se rend compte que cette troupe ne comprend pas vraiment ce qu’est le Bluetooth, son fonctionnement SANS FIL justement. Josh a de son côté pris part à des développement dans ce format au cours de son activité professionnelle. Il a même remonté des bugs rencontrés sur ce format à Ericsson au début des années 2000. <mark>Comment, avec un diplôme d’informatique en poche, Josh peut-il avoir tord</mark> et comment ces gens qui ne comprennent pas le fonctionnement du Bluetooth peuvent-ils avoir raison ?</p> | |||
<p><cite><em><a data-link-domain="minimachines.net" href="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" hreflang="fr" | |||
title="Consultation de l’article">L’aventurier du casque Bluetooth maudit</a> | |||
<a href="/david/cache/2024/acf33204fda8c91ac054bb26f99e8c59/" hreflang="fr" | |||
data-tippy data-description="Cette histoire est un témoignage étonnant d'un internaute qui ne comprend plus comment le Bluetooth - et notre monde - fonctionnent." | |||
data-source="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.minimachines.net/wp-content/uploads/2012/09/favicon1.png" | |||
data-domain="minimachines.net" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Cette histoire peut être lue avec tellement d’angles — et de biais — possibles. Je me demande quel serait le bilan carbone des deux options sur du long terme en tenant compte de la production, du transport, de la durabilité, de la consommation, etc.</p> | |||
<a href="#hr-178" title="Lien vers cette section de la page"><hr id="hr-178" /></a> | |||
<blockquote lang="en"> | |||
<p>This approach serves as a reminder of the constantly changing tactics of cybercriminals and, unfortunately, illustrates why you can never blindly trust what someone shares online.</p> | |||
<p>Instead, <mark>developers must verify the source of all packages they add to their projects,</mark> and even if it feels trustworthy, check the code (with word wrap enabled) for unusual or obfuscated commands that will be executed.</p> | |||
<p><cite><em><a data-link-domain="bleepingcomputer.com" href="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" hreflang="en" | |||
title="Consultation de l’article (anglais)">Cybercriminals pose as “helpful” Stack Overflow users to push malware</a> | |||
<a href="/david/cache/2024/1bff60d11f3a030aa5b3d1da84dce189/" hreflang="en" | |||
data-tippy data-description="Cybercriminals are abusing Stack Overflow in an interesting approach to spreading malware—answering users' questions by promoting a malicious PyPi package that installs Windows information-stealing malware." | |||
data-source="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.bleepstatic.com/favicon/bleeping.ico" | |||
data-domain="bleepingcomputer.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Bon courage.</p> | |||
<a href="#hr-179" title="Lien vers cette section de la page"><hr id="hr-179" /></a> | |||
<blockquote> | |||
<p>J’ai appris qu’un produit beau avec des erreurs fonctionne mieux qu’un produit moche sans erreurs. <mark>C’est contre-intuitif pour moi et pas dans mes attentes mais c’est la réalité du terrain.</mark> J’ai appris qu’au-delà du <em>beau</em>, l’expérience utilisateur dans la manipulation des interfaces était une vraie expertise qui faisait toute la différence. J’ai appris que l’adéquation aux besoins métier primait encore plus sur tout ça.</p> | |||
<p><cite><em><a data-link-domain="n.survol.fr" href="https://n.survol.fr/n/quick-n-dirty" hreflang="fr" | |||
title="Consultation de l’article">Quick ‘n dirty - Carnet de notes</a> | |||
<a href="/david/cache/2024/23c807abc870219e09f41f92bc869d37/" hreflang="fr" | |||
data-tippy data-description="J'ai appris.En bon ingénieur j'ai beaucoup poussé l'idée qu'il faut un produit très bien foutu, sans erreur, sans zone d'ombre, performant et que, quand tout ça va, les utilisateurs vont ven" | |||
data-source="https://n.survol.fr/n/quick-n-dirty" | |||
data-date="2024-05-31" | |||
data-favicon="" | |||
data-domain="n.survol.fr" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Oui. J’ai appris cela aussi.</p> | |||
<p>J’ai même appris que des gué-guerres politiques internes pouvaient sabrer la meilleure des techniques.</p> | |||
<nav> | |||
<p> | |||
<a href="/david/2024/apprentissage/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#apprentissage</a> | |||
<a href="/david/2024/deception/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#déception</a> | |||
<a href="/david/2024/dystopie/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#dystopie</a> | |||
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a> | |||
</p> | |||
</nav> | |||
<nav> | |||
<p> | |||
<a rel="prev" | |||
href="/david/2024/05/24/" | |||
title="Publication précédente : Tout">← Précédent</a> • | |||
<a href="/david/2024/" title="Liste des publications récentes">↑ En 2024</a> | |||
</p> | |||
</nav> | |||
<form action="/david/recherche/" method="get"> | |||
<fieldset> | |||
<legend>Recherche</legend> | |||
<label for="input-search">Termes de votre recherche :</label> | |||
<input id="input-search" type="search" name="s" aria-describedby="indexation-infos" required> | |||
<input type="submit" value="Chercher"> | |||
<p id="indexation-infos"> | |||
<small> | |||
Seuls les contenus de ces 8 dernières années sont indexés. | |||
</small> | |||
</p> | |||
</fieldset> | |||
</form> | |||
<aside> | |||
<theme-toggle></theme-toggle> | |||
</aside> | |||
</article> | |||
<hr> | |||
<footer> | |||
<p> | |||
<a href="/david/" title="Aller à l’accueil">Accueil</a> | |||
• | |||
<a href="/david/log/" title="Accès au flux RSS">Suivre</a> | |||
• | |||
<a href="http://larlet.com" | |||
title="Go to my English profile" | |||
data-instant>Pro</a> | |||
• | |||
<a href="mailto:david%40larlet.fr" title="Envoyer un courriel">Email</a> | |||
• | |||
<abbr title="Hébergeur : Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33184162340">Légal</abbr> | |||
</p> | |||
<template id="theme-selector"> | |||
<form> | |||
<style type="text/css"> | |||
fieldset div { | |||
text-align: center; | |||
} | |||
</style> | |||
<fieldset> | |||
<legend>Thème</legend> | |||
<div> | |||
<label> | |||
<input type="radio" value="auto" name="chosen-color-scheme" checked> | |||
Auto | |||
</label> | |||
<label> | |||
<input type="radio" value="dark" name="chosen-color-scheme"> | |||
Foncé | |||
</label> | |||
<label> | |||
<input type="radio" value="light" name="chosen-color-scheme"> | |||
Clair | |||
</label> | |||
</div> | |||
</fieldset> | |||
</form> | |||
</template> | |||
</footer> | |||
<script src="/static/david/js/instantpage-5.1.0.min.js" type="module"></script> | |||
<script> | |||
class ThemeToggle extends HTMLElement { | |||
constructor() { | |||
super() | |||
const themeSelectorTemplate = document.querySelector('#theme-selector') | |||
const form = themeSelectorTemplate.content.firstElementChild | |||
this.attachShadow({ mode: 'open' }) | |||
this.shadowRoot.appendChild(form.cloneNode(true)) | |||
} | |||
connectedCallback() { | |||
const form = this.shadowRoot.querySelector('form') | |||
form.addEventListener('change', (e) => { | |||
const chosenColorScheme = e.target.value | |||
localStorage.setItem('theme', chosenColorScheme) | |||
toggleTheme(chosenColorScheme) | |||
}) | |||
const selectedTheme = localStorage.getItem('theme') | |||
if (selectedTheme && selectedTheme !== 'undefined') { | |||
form.querySelector(`[value="${selectedTheme}"]`).checked = true | |||
} | |||
} | |||
} | |||
const prefersColorSchemeDark = '(prefers-color-scheme: dark)' | |||
window.addEventListener('load', () => { | |||
let colorsLayer = undefined | |||
let hasDarkRules = false | |||
for (const styleSheet of Array.from(document.styleSheets)) { | |||
let mediaRules = [] | |||
for (const layerRule of styleSheet.cssRules) { | |||
if (!(layerRule instanceof CSSLayerBlockRule)) { | |||
continue | |||
} | |||
if (layerRule.name === 'colors') { | |||
colorsLayer = layerRule | |||
} | |||
for (const cssRule of layerRule.cssRules) { | |||
if (cssRule.type !== CSSRule.MEDIA_RULE) { | |||
continue | |||
} | |||
// WARNING: Safari does not have/supports `conditionText`. | |||
if (cssRule.conditionText) { | |||
if (cssRule.conditionText !== prefersColorSchemeDark) { | |||
continue | |||
} | |||
} else { | |||
if (cssRule.cssText.startsWith(prefersColorSchemeDark)) { | |||
continue | |||
} | |||
} | |||
mediaRules = mediaRules.concat(Array.from(cssRule.cssRules)) | |||
} | |||
} | |||
// WARNING: do not try to insert a Rule to a styleSheet you are | |||
// currently iterating on, otherwise the browser will be stuck | |||
// in a infinite loop… | |||
for (const mediaRule of mediaRules) { | |||
// Safari requires the `0` second parameter (even if default). | |||
colorsLayer.insertRule(mediaRule.cssText, 0) | |||
hasDarkRules = true | |||
} | |||
} | |||
if (hasDarkRules) { | |||
if ('customElements' in window && !customElements.get('theme-toggle')) { | |||
customElements.define('theme-toggle', ThemeToggle) | |||
} | |||
} | |||
}) | |||
</script> | |||
<script src="/static/david/js/popper-2.11.8.min.js"></script> | |||
<script src="/static/david/js/tippy-bundle-6.3.7.umd.min.js"></script> | |||
<script> | |||
tippy('[data-tippy]', { | |||
content(reference) { | |||
reference.addEventListener('click', (e) => e.preventDefault()) | |||
return ` | |||
<h3 lang="fr"> | |||
<img src="${reference.dataset.favicon}" loading="lazy"> | |||
<a href="${reference.dataset.source}" | |||
>Article sur ${reference.dataset.domain}</a></h3> | |||
<p lang="${reference.hreflang}"><em>${reference.dataset.description}</em></p> | |||
<div class="tippy-links" lang="fr"> | |||
<a href="${reference.href}">Archive au ${reference.dataset.date}</a> | |||
</div> | |||
` | |||
}, | |||
allowHTML: true, | |||
interactive: true, | |||
delay: [150, 700], | |||
hideOnClick: false | |||
}) | |||
</script> | |||
<script type="module"> | |||
import { annotate } from '/static/david/js/rough-notation-0.5.1.esm.min.js' | |||
const markObserver = new IntersectionObserver((entries, observer) => { | |||
const computedStyle = getComputedStyle(document.documentElement) | |||
const markBackground = computedStyle.getPropertyValue('--mark-background') | |||
for (const entry of entries) { | |||
if (entry.intersectionRatio === 0) continue | |||
const markElement = entry.target | |||
markElement.style.backgroundColor = 'inherit' | |||
const annotation = annotate( | |||
markElement, { | |||
type: 'highlight', | |||
multiline: true, | |||
color: markBackground, | |||
// animate: !window.matchMedia('(prefers-reduced-motion: reduce)').matches | |||
animate: false | |||
} | |||
) | |||
annotation.show() | |||
observer.unobserve(markElement) | |||
} | |||
}, {threshold: 1.0}) | |||
for (const markElement of document.querySelectorAll('mark')) { | |||
markObserver.observe(markElement) | |||
} | |||
</script> | |||
</body> | |||
</html> |
@@ -0,0 +1,71 @@ | |||
# Technocritique | |||
> [en] Given the extreme connectivity constraints at the South Pole, I wrote a Python script for publishing to S3 that worked well in the challenging environment. It uses the S3 API to upload assets in small chunks. It detects and resumes failed uploads without losing progress. It waits until everything is safely uploaded before publishing the new version. | |||
> | |||
> If I can do it, unpaid, working alone, for my silly little hobby blog, in 200 lines of Python… ==surely your team of engineers can do so== for your flagship webapp. | |||
> | |||
> <cite>*[Engineering for Slow Internet](https://brr.fyi/posts/engineering-for-slow-internet)*</cite> | |||
En ce moment, suite à une mise à jour de l’application SONOS rendant mes enceintes inutilisables (n’achetez jamais cette marque…), je m’amuse à faire une interface web grâce au [serveur open-source](https://github.com/avantrec/soco-cli/) qui a été développé ces dernières années. | |||
C’est triste d’en arriver là, je ressens fort le pouvoir que me procurent mes capacités de développeur mais je sais aussi que la majorité subit l’emmerdification logicielle (c’était déjà pas terrible avant !) sans avoir d’autre option. | |||
Ce n’est pas encore prêt à être utilisable par d’autres mais c’est stimulant d’ajouter des fonctionnalités au fil des besoins locaux. Je réalise à quel point le manque de réactivité de l’app de 175Mo n’est pas liée au *hardware* vu que j’arrive à avoir quelque chose d’immédiat avec quelques lignes de Python + JS/HTML. | |||
> [en] The **only way** I was able to get this done was by **turning off the phone entirely**, right before Internet access dropped, and then turning it back on when Internet access resumed at the next satellite pass. This tricked the phone into not giving up on the download, because it was totally off during the period without Internet. It never had a chance to fail. By doing this, I was able to spread out the download across multiple satellite passes, and I could complete the download. | |||
> | |||
> This is an absurd workaround! I should not have had to do this. | |||
> | |||
> <cite>*Ibid.*</cite> | |||
--- | |||
> À chaque technologie qu’on vous propose, qui émerge dans le champ commercial, il s’agit toujours de se demander : en quoi cette tech va-t-elle nourrir ou appauvrir mon rapport aux autres, au monde et à moi-même ? Il est très facile de mesurer le pouvoir qu’une appli ou qu’un service numérique apporte, beaucoup plus insidieux de réaliser ce qu’elle nous fait perdre ou même dégrade dans nos relations et nos puissances propres : puissance de créer, de réfléchir, d’imaginer, d’être empathique, d’écouter, puissance physique de ressentir par soi-même, de se déplacer, de garder son énergie, etc. | |||
> | |||
> ==La technocritique doit discriminer pouvoir (le faire faire) et puissance (le faire par soi-même, en autonomie),== ouverture ou fermeture au monde, enrichissement ou effilochement des liens, impact sur l’écologie en amont et en aval, exhaustion des ressources, impacts sociaux sur les pays en développement, pollutions induites, pour notre Terre — mais aussi dans nos cerveaux avec le siphonnage permanent de notre attention, de nos temps libres par le numérique. Et elle doit aussi se demander : quels désirs doit-on encourager ? Quelle liberté ou émancipation la techno doit-elle nous aider à atteindre ? Le peut-elle seulement, et dans quel contexte d’usage ? | |||
> | |||
> <cite>*[« On a besoin de pirates pour saboter les datacenters d’Amazon, pour bloquer les plateformes d’Uber ou de Airbnb »](https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/)*</cite> | |||
~~Martine~~ Alain aux US. | |||
--- | |||
> [en] Google utilizes cookie history, logged-in Chrome data, and pattern detection (referred to in the leak as “unsquashed” clicks versus “squashed” clicks) as effective means for fighting manual & automated click spam. […] | |||
> | |||
> My anonymous source claimed that way back in 2005, ==Google wanted the full clickstream of billions of Internet users, and with Chrome, they’ve now got it.== The API documents suggest Google calculates several types of metrics that can be called using Chrome views related to both individual pages and entire domains. | |||
> | |||
> This document, describing the features around how Google creates Sitelinks, is particularly interesting. It showcases a call named topUrl, which is “A list of top urls with highest two_level_score, i.e., chrome_trans_clicks.” My read is that Google likely uses the number of clicks on pages in Chrome browsers and uses that to determine the most popular/important URLs on a site, which go into the calculation of which to include in the sitelinks feature. | |||
> | |||
> <cite>*[An Anonymous Source Shared Thousands of Leaked Google Search API Documents with Me; Everyone in SEO Should See Them](https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/)*</cite> | |||
Ce qui est bien avec les produits Google c’est qu’on n’est jamais surpris. | |||
--- | |||
> En prenant un tout petit peu de recul Josh se rend compte que cette troupe ne comprend pas vraiment ce qu’est le Bluetooth, son fonctionnement SANS FIL justement. Josh a de son côté pris part à des développement dans ce format au cours de son activité professionnelle. Il a même remonté des bugs rencontrés sur ce format à Ericsson au début des années 2000. ==Comment, avec un diplôme d’informatique en poche, Josh peut-il avoir tord== et comment ces gens qui ne comprennent pas le fonctionnement du Bluetooth peuvent-ils avoir raison ? | |||
> | |||
> <cite>*[L’aventurier du casque Bluetooth maudit](https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339)*</cite> | |||
Cette histoire peut être lue avec tellement d’angles — et de biais — possibles. Je me demande quel serait le bilan carbone des deux options sur du long terme en tenant compte de la production, du transport, de la durabilité, de la consommation, etc. | |||
--- | |||
> [en] This approach serves as a reminder of the constantly changing tactics of cybercriminals and, unfortunately, illustrates why you can never blindly trust what someone shares online. | |||
> | |||
> Instead, ==developers must verify the source of all packages they add to their projects,== and even if it feels trustworthy, check the code (with word wrap enabled) for unusual or obfuscated commands that will be executed. | |||
> | |||
> <cite>*[Cybercriminals pose as “helpful” Stack Overflow users to push malware](https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/)*</cite> | |||
Bon courage. | |||
--- | |||
> J’ai appris qu’un produit beau avec des erreurs fonctionne mieux qu’un produit moche sans erreurs. ==C’est contre-intuitif pour moi et pas dans mes attentes mais c’est la réalité du terrain.== J’ai appris qu’au-delà du *beau*, l’expérience utilisateur dans la manipulation des interfaces était une vraie expertise qui faisait toute la différence. J’ai appris que l’adéquation aux besoins métier primait encore plus sur tout ça. | |||
> | |||
> <cite>*[Quick ‘n dirty - Carnet de notes](https://n.survol.fr/n/quick-n-dirty)*</cite> | |||
Oui. J’ai appris cela aussi. | |||
J’ai même appris que des gué-guerres politiques internes pouvaient sabrer la meilleure des techniques. | |||
#apprentissage #déception #dystopie |
@@ -134,6 +134,177 @@ | |||
</p> | |||
</nav> | |||
<h2> | |||
<a href="/david/2024/05/31/" title="Lien permanent vers cet article">Technocritique</a> <time datetime="2024-05-31">31 mai 2024</time> | |||
</h2> | |||
<blockquote lang="en"> | |||
<p>Given the extreme connectivity constraints at the South Pole, I wrote a Python script for publishing to S3 that worked well in the challenging environment. It uses the S3 API to upload assets in small chunks. It detects and resumes failed uploads without losing progress. It waits until everything is safely uploaded before publishing the new version.</p> | |||
<p>If I can do it, unpaid, working alone, for my silly little hobby blog, in 200 lines of Python… <mark>surely your team of engineers can do so</mark> for your flagship webapp.</p> | |||
<p><cite><em><a data-link-domain="brr.fyi" href="https://brr.fyi/posts/engineering-for-slow-internet" hreflang="en" | |||
title="Consultation de l’article (anglais)">Engineering for Slow Internet</a> | |||
<a href="/david/cache/2024/9e9c6f97d732010e14201f1624782ddc/" hreflang="en" | |||
data-tippy data-description="How to minimize user frustration in Antarctica." | |||
data-source="https://brr.fyi/posts/engineering-for-slow-internet" | |||
data-date="2024-05-31" | |||
data-favicon="https://brr.fyi/favicon-32x32.png" | |||
data-domain="brr.fyi" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>En ce moment, suite à une mise à jour de l’application SONOS rendant mes enceintes inutilisables (n’achetez jamais cette marque…), je m’amuse à faire une interface web grâce au <a data-link-domain="github.com" href="https://github.com/avantrec/soco-cli/">serveur open-source</a> qui a été développé ces dernières années.</p> | |||
<p>C’est triste d’en arriver là, je ressens fort le pouvoir que me procurent mes capacités de développeur mais je sais aussi que la majorité subit l’emmerdification logicielle (c’était déjà pas terrible avant !) sans avoir d’autre option.</p> | |||
<p>Ce n’est pas encore prêt à être utilisable par d’autres mais c’est stimulant d’ajouter des fonctionnalités au fil des besoins locaux. Je réalise à quel point le manque de réactivité de l’app de 175Mo n’est pas liée au <em>hardware</em> vu que j’arrive à avoir quelque chose d’immédiat avec quelques lignes de Python + JS/HTML.</p> | |||
<blockquote lang="en"> | |||
<p>The <strong>only way</strong> I was able to get this done was by <strong>turning off the phone entirely</strong>, right before Internet access dropped, and then turning it back on when Internet access resumed at the next satellite pass. This tricked the phone into not giving up on the download, because it was totally off during the period without Internet. It never had a chance to fail. By doing this, I was able to spread out the download across multiple satellite passes, and I could complete the download.</p> | |||
<p>This is an absurd workaround! I should not have had to do this.</p> | |||
<p><cite><em>Ibid.</em></cite></p> | |||
</blockquote> | |||
<a href="#hr-175" title="Lien vers cette section de la page"><hr id="hr-175" /></a> | |||
<blockquote> | |||
<p>À chaque technologie qu’on vous propose, qui émerge dans le champ commercial, il s’agit toujours de se demander : en quoi cette tech va-t-elle nourrir ou appauvrir mon rapport aux autres, au monde et à moi-même ? Il est très facile de mesurer le pouvoir qu’une appli ou qu’un service numérique apporte, beaucoup plus insidieux de réaliser ce qu’elle nous fait perdre ou même dégrade dans nos relations et nos puissances propres : puissance de créer, de réfléchir, d’imaginer, d’être empathique, d’écouter, puissance physique de ressentir par soi-même, de se déplacer, de garder son énergie, etc.</p> | |||
<p><mark>La technocritique doit discriminer pouvoir (le faire faire) et puissance (le faire par soi-même, en autonomie),</mark> ouverture ou fermeture au monde, enrichissement ou effilochement des liens, impact sur l’écologie en amont et en aval, exhaustion des ressources, impacts sociaux sur les pays en développement, pollutions induites, pour notre Terre — mais aussi dans nos cerveaux avec le siphonnage permanent de notre attention, de nos temps libres par le numérique. Et elle doit aussi se demander : quels désirs doit-on encourager ? Quelle liberté ou émancipation la techno doit-elle nous aider à atteindre ? Le peut-elle seulement, et dans quel contexte d’usage ?</p> | |||
<p><cite><em><a data-link-domain="bonpote.com" href="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" hreflang="fr" | |||
title="Consultation de l’article">« On a besoin de pirates pour saboter les datacenters d’Amazon, pour bloquer les plateformes d’Uber ou de Airbnb »</a> | |||
<a href="/david/cache/2024/02acbf716d95797a371706c8983d6164/" hreflang="fr" | |||
data-tippy data-description="La Silicon Valley n’est qu’à la marge soucieuse de l’écologie. Mais c’est aussi qu’elle croit profondément au solutionnisme techno pour" | |||
data-source="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" | |||
data-date="2024-05-31" | |||
data-favicon="https://bonpote.com/wp-content/uploads/2024/01/ezez_1.ico" | |||
data-domain="bonpote.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p><del>Martine</del> Alain aux US.</p> | |||
<a href="#hr-176" title="Lien vers cette section de la page"><hr id="hr-176" /></a> | |||
<blockquote lang="en"> | |||
<p>Google utilizes cookie history, logged-in Chrome data, and pattern detection (referred to in the leak as “unsquashed” clicks versus “squashed” clicks) as effective means for fighting manual & automated click spam. […]</p> | |||
<p>My anonymous source claimed that way back in 2005, <mark>Google wanted the full clickstream of billions of Internet users, and with Chrome, they’ve now got it.</mark> The API documents suggest Google calculates several types of metrics that can be called using Chrome views related to both individual pages and entire domains.</p> | |||
<p>This document, describing the features around how Google creates Sitelinks, is particularly interesting. It showcases a call named topUrl, which is “A list of top urls with highest two_level_score, i.e., chrome_trans_clicks.” My read is that Google likely uses the number of clicks on pages in Chrome browsers and uses that to determine the most popular/important URLs on a site, which go into the calculation of which to include in the sitelinks feature.</p> | |||
<p><cite><em><a data-link-domain="sparktoro.com" href="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" hreflang="en" | |||
title="Consultation de l’article (anglais)">An Anonymous Source Shared Thousands of Leaked Google Search API Documents with Me; Everyone in SEO Should See Them</a> | |||
<a href="/david/cache/2024/2eba81418d244e79cef08638976dbeae/" hreflang="en" | |||
data-tippy data-description="On Sunday, May 5th, I received an email from a person claiming to have access to a massive leak of API documentation from inside Google’s Search division." | |||
data-source="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" | |||
data-date="2024-05-31" | |||
data-favicon="https://sparktoro.com/favicon.ico" | |||
data-domain="sparktoro.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Ce qui est bien avec les produits Google c’est qu’on n’est jamais surpris.</p> | |||
<a href="#hr-177" title="Lien vers cette section de la page"><hr id="hr-177" /></a> | |||
<blockquote> | |||
<p>En prenant un tout petit peu de recul Josh se rend compte que cette troupe ne comprend pas vraiment ce qu’est le Bluetooth, son fonctionnement SANS FIL justement. Josh a de son côté pris part à des développement dans ce format au cours de son activité professionnelle. Il a même remonté des bugs rencontrés sur ce format à Ericsson au début des années 2000. <mark>Comment, avec un diplôme d’informatique en poche, Josh peut-il avoir tord</mark> et comment ces gens qui ne comprennent pas le fonctionnement du Bluetooth peuvent-ils avoir raison ?</p> | |||
<p><cite><em><a data-link-domain="minimachines.net" href="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" hreflang="fr" | |||
title="Consultation de l’article">L’aventurier du casque Bluetooth maudit</a> | |||
<a href="/david/cache/2024/acf33204fda8c91ac054bb26f99e8c59/" hreflang="fr" | |||
data-tippy data-description="Cette histoire est un témoignage étonnant d'un internaute qui ne comprend plus comment le Bluetooth - et notre monde - fonctionnent." | |||
data-source="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.minimachines.net/wp-content/uploads/2012/09/favicon1.png" | |||
data-domain="minimachines.net" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Cette histoire peut être lue avec tellement d’angles — et de biais — possibles. Je me demande quel serait le bilan carbone des deux options sur du long terme en tenant compte de la production, du transport, de la durabilité, de la consommation, etc.</p> | |||
<a href="#hr-178" title="Lien vers cette section de la page"><hr id="hr-178" /></a> | |||
<blockquote lang="en"> | |||
<p>This approach serves as a reminder of the constantly changing tactics of cybercriminals and, unfortunately, illustrates why you can never blindly trust what someone shares online.</p> | |||
<p>Instead, <mark>developers must verify the source of all packages they add to their projects,</mark> and even if it feels trustworthy, check the code (with word wrap enabled) for unusual or obfuscated commands that will be executed.</p> | |||
<p><cite><em><a data-link-domain="bleepingcomputer.com" href="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" hreflang="en" | |||
title="Consultation de l’article (anglais)">Cybercriminals pose as “helpful” Stack Overflow users to push malware</a> | |||
<a href="/david/cache/2024/1bff60d11f3a030aa5b3d1da84dce189/" hreflang="en" | |||
data-tippy data-description="Cybercriminals are abusing Stack Overflow in an interesting approach to spreading malware—answering users' questions by promoting a malicious PyPi package that installs Windows information-stealing malware." | |||
data-source="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.bleepstatic.com/favicon/bleeping.ico" | |||
data-domain="bleepingcomputer.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Bon courage.</p> | |||
<a href="#hr-179" title="Lien vers cette section de la page"><hr id="hr-179" /></a> | |||
<blockquote> | |||
<p>J’ai appris qu’un produit beau avec des erreurs fonctionne mieux qu’un produit moche sans erreurs. <mark>C’est contre-intuitif pour moi et pas dans mes attentes mais c’est la réalité du terrain.</mark> J’ai appris qu’au-delà du <em>beau</em>, l’expérience utilisateur dans la manipulation des interfaces était une vraie expertise qui faisait toute la différence. J’ai appris que l’adéquation aux besoins métier primait encore plus sur tout ça.</p> | |||
<p><cite><em><a data-link-domain="n.survol.fr" href="https://n.survol.fr/n/quick-n-dirty" hreflang="fr" | |||
title="Consultation de l’article">Quick ‘n dirty - Carnet de notes</a> | |||
<a href="/david/cache/2024/23c807abc870219e09f41f92bc869d37/" hreflang="fr" | |||
data-tippy data-description="J'ai appris.En bon ingénieur j'ai beaucoup poussé l'idée qu'il faut un produit très bien foutu, sans erreur, sans zone d'ombre, performant et que, quand tout ça va, les utilisateurs vont ven" | |||
data-source="https://n.survol.fr/n/quick-n-dirty" | |||
data-date="2024-05-31" | |||
data-favicon="" | |||
data-domain="n.survol.fr" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Oui. J’ai appris cela aussi.</p> | |||
<p>J’ai même appris que des gué-guerres politiques internes pouvaient sabrer la meilleure des techniques.</p> | |||
<nav> | |||
<p> | |||
<a href="/david/2024/apprentissage/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#apprentissage</a> | |||
<a href="/david/2024/deception/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#déception</a> | |||
<a href="/david/2024/dystopie/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#dystopie</a> | |||
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a> | |||
</p> | |||
</nav> | |||
<h2> | |||
<a href="/david/2024/05/20/" title="Lien permanent vers cet article">Stimulations</a> <time datetime="2024-05-20">20 mai 2024</time> | |||
</h2> |
@@ -134,6 +134,177 @@ | |||
</p> | |||
</nav> | |||
<h2> | |||
<a href="/david/2024/05/31/" title="Lien permanent vers cet article">Technocritique</a> <time datetime="2024-05-31">31 mai 2024</time> | |||
</h2> | |||
<blockquote lang="en"> | |||
<p>Given the extreme connectivity constraints at the South Pole, I wrote a Python script for publishing to S3 that worked well in the challenging environment. It uses the S3 API to upload assets in small chunks. It detects and resumes failed uploads without losing progress. It waits until everything is safely uploaded before publishing the new version.</p> | |||
<p>If I can do it, unpaid, working alone, for my silly little hobby blog, in 200 lines of Python… <mark>surely your team of engineers can do so</mark> for your flagship webapp.</p> | |||
<p><cite><em><a data-link-domain="brr.fyi" href="https://brr.fyi/posts/engineering-for-slow-internet" hreflang="en" | |||
title="Consultation de l’article (anglais)">Engineering for Slow Internet</a> | |||
<a href="/david/cache/2024/9e9c6f97d732010e14201f1624782ddc/" hreflang="en" | |||
data-tippy data-description="How to minimize user frustration in Antarctica." | |||
data-source="https://brr.fyi/posts/engineering-for-slow-internet" | |||
data-date="2024-05-31" | |||
data-favicon="https://brr.fyi/favicon-32x32.png" | |||
data-domain="brr.fyi" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>En ce moment, suite à une mise à jour de l’application SONOS rendant mes enceintes inutilisables (n’achetez jamais cette marque…), je m’amuse à faire une interface web grâce au <a data-link-domain="github.com" href="https://github.com/avantrec/soco-cli/">serveur open-source</a> qui a été développé ces dernières années.</p> | |||
<p>C’est triste d’en arriver là, je ressens fort le pouvoir que me procurent mes capacités de développeur mais je sais aussi que la majorité subit l’emmerdification logicielle (c’était déjà pas terrible avant !) sans avoir d’autre option.</p> | |||
<p>Ce n’est pas encore prêt à être utilisable par d’autres mais c’est stimulant d’ajouter des fonctionnalités au fil des besoins locaux. Je réalise à quel point le manque de réactivité de l’app de 175Mo n’est pas liée au <em>hardware</em> vu que j’arrive à avoir quelque chose d’immédiat avec quelques lignes de Python + JS/HTML.</p> | |||
<blockquote lang="en"> | |||
<p>The <strong>only way</strong> I was able to get this done was by <strong>turning off the phone entirely</strong>, right before Internet access dropped, and then turning it back on when Internet access resumed at the next satellite pass. This tricked the phone into not giving up on the download, because it was totally off during the period without Internet. It never had a chance to fail. By doing this, I was able to spread out the download across multiple satellite passes, and I could complete the download.</p> | |||
<p>This is an absurd workaround! I should not have had to do this.</p> | |||
<p><cite><em>Ibid.</em></cite></p> | |||
</blockquote> | |||
<a href="#hr-175" title="Lien vers cette section de la page"><hr id="hr-175" /></a> | |||
<blockquote> | |||
<p>À chaque technologie qu’on vous propose, qui émerge dans le champ commercial, il s’agit toujours de se demander : en quoi cette tech va-t-elle nourrir ou appauvrir mon rapport aux autres, au monde et à moi-même ? Il est très facile de mesurer le pouvoir qu’une appli ou qu’un service numérique apporte, beaucoup plus insidieux de réaliser ce qu’elle nous fait perdre ou même dégrade dans nos relations et nos puissances propres : puissance de créer, de réfléchir, d’imaginer, d’être empathique, d’écouter, puissance physique de ressentir par soi-même, de se déplacer, de garder son énergie, etc.</p> | |||
<p><mark>La technocritique doit discriminer pouvoir (le faire faire) et puissance (le faire par soi-même, en autonomie),</mark> ouverture ou fermeture au monde, enrichissement ou effilochement des liens, impact sur l’écologie en amont et en aval, exhaustion des ressources, impacts sociaux sur les pays en développement, pollutions induites, pour notre Terre — mais aussi dans nos cerveaux avec le siphonnage permanent de notre attention, de nos temps libres par le numérique. Et elle doit aussi se demander : quels désirs doit-on encourager ? Quelle liberté ou émancipation la techno doit-elle nous aider à atteindre ? Le peut-elle seulement, et dans quel contexte d’usage ?</p> | |||
<p><cite><em><a data-link-domain="bonpote.com" href="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" hreflang="fr" | |||
title="Consultation de l’article">« On a besoin de pirates pour saboter les datacenters d’Amazon, pour bloquer les plateformes d’Uber ou de Airbnb »</a> | |||
<a href="/david/cache/2024/02acbf716d95797a371706c8983d6164/" hreflang="fr" | |||
data-tippy data-description="La Silicon Valley n’est qu’à la marge soucieuse de l’écologie. Mais c’est aussi qu’elle croit profondément au solutionnisme techno pour" | |||
data-source="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" | |||
data-date="2024-05-31" | |||
data-favicon="https://bonpote.com/wp-content/uploads/2024/01/ezez_1.ico" | |||
data-domain="bonpote.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p><del>Martine</del> Alain aux US.</p> | |||
<a href="#hr-176" title="Lien vers cette section de la page"><hr id="hr-176" /></a> | |||
<blockquote lang="en"> | |||
<p>Google utilizes cookie history, logged-in Chrome data, and pattern detection (referred to in the leak as “unsquashed” clicks versus “squashed” clicks) as effective means for fighting manual & automated click spam. […]</p> | |||
<p>My anonymous source claimed that way back in 2005, <mark>Google wanted the full clickstream of billions of Internet users, and with Chrome, they’ve now got it.</mark> The API documents suggest Google calculates several types of metrics that can be called using Chrome views related to both individual pages and entire domains.</p> | |||
<p>This document, describing the features around how Google creates Sitelinks, is particularly interesting. It showcases a call named topUrl, which is “A list of top urls with highest two_level_score, i.e., chrome_trans_clicks.” My read is that Google likely uses the number of clicks on pages in Chrome browsers and uses that to determine the most popular/important URLs on a site, which go into the calculation of which to include in the sitelinks feature.</p> | |||
<p><cite><em><a data-link-domain="sparktoro.com" href="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" hreflang="en" | |||
title="Consultation de l’article (anglais)">An Anonymous Source Shared Thousands of Leaked Google Search API Documents with Me; Everyone in SEO Should See Them</a> | |||
<a href="/david/cache/2024/2eba81418d244e79cef08638976dbeae/" hreflang="en" | |||
data-tippy data-description="On Sunday, May 5th, I received an email from a person claiming to have access to a massive leak of API documentation from inside Google’s Search division." | |||
data-source="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" | |||
data-date="2024-05-31" | |||
data-favicon="https://sparktoro.com/favicon.ico" | |||
data-domain="sparktoro.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Ce qui est bien avec les produits Google c’est qu’on n’est jamais surpris.</p> | |||
<a href="#hr-177" title="Lien vers cette section de la page"><hr id="hr-177" /></a> | |||
<blockquote> | |||
<p>En prenant un tout petit peu de recul Josh se rend compte que cette troupe ne comprend pas vraiment ce qu’est le Bluetooth, son fonctionnement SANS FIL justement. Josh a de son côté pris part à des développement dans ce format au cours de son activité professionnelle. Il a même remonté des bugs rencontrés sur ce format à Ericsson au début des années 2000. <mark>Comment, avec un diplôme d’informatique en poche, Josh peut-il avoir tord</mark> et comment ces gens qui ne comprennent pas le fonctionnement du Bluetooth peuvent-ils avoir raison ?</p> | |||
<p><cite><em><a data-link-domain="minimachines.net" href="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" hreflang="fr" | |||
title="Consultation de l’article">L’aventurier du casque Bluetooth maudit</a> | |||
<a href="/david/cache/2024/acf33204fda8c91ac054bb26f99e8c59/" hreflang="fr" | |||
data-tippy data-description="Cette histoire est un témoignage étonnant d'un internaute qui ne comprend plus comment le Bluetooth - et notre monde - fonctionnent." | |||
data-source="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.minimachines.net/wp-content/uploads/2012/09/favicon1.png" | |||
data-domain="minimachines.net" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Cette histoire peut être lue avec tellement d’angles — et de biais — possibles. Je me demande quel serait le bilan carbone des deux options sur du long terme en tenant compte de la production, du transport, de la durabilité, de la consommation, etc.</p> | |||
<a href="#hr-178" title="Lien vers cette section de la page"><hr id="hr-178" /></a> | |||
<blockquote lang="en"> | |||
<p>This approach serves as a reminder of the constantly changing tactics of cybercriminals and, unfortunately, illustrates why you can never blindly trust what someone shares online.</p> | |||
<p>Instead, <mark>developers must verify the source of all packages they add to their projects,</mark> and even if it feels trustworthy, check the code (with word wrap enabled) for unusual or obfuscated commands that will be executed.</p> | |||
<p><cite><em><a data-link-domain="bleepingcomputer.com" href="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" hreflang="en" | |||
title="Consultation de l’article (anglais)">Cybercriminals pose as “helpful” Stack Overflow users to push malware</a> | |||
<a href="/david/cache/2024/1bff60d11f3a030aa5b3d1da84dce189/" hreflang="en" | |||
data-tippy data-description="Cybercriminals are abusing Stack Overflow in an interesting approach to spreading malware—answering users' questions by promoting a malicious PyPi package that installs Windows information-stealing malware." | |||
data-source="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.bleepstatic.com/favicon/bleeping.ico" | |||
data-domain="bleepingcomputer.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Bon courage.</p> | |||
<a href="#hr-179" title="Lien vers cette section de la page"><hr id="hr-179" /></a> | |||
<blockquote> | |||
<p>J’ai appris qu’un produit beau avec des erreurs fonctionne mieux qu’un produit moche sans erreurs. <mark>C’est contre-intuitif pour moi et pas dans mes attentes mais c’est la réalité du terrain.</mark> J’ai appris qu’au-delà du <em>beau</em>, l’expérience utilisateur dans la manipulation des interfaces était une vraie expertise qui faisait toute la différence. J’ai appris que l’adéquation aux besoins métier primait encore plus sur tout ça.</p> | |||
<p><cite><em><a data-link-domain="n.survol.fr" href="https://n.survol.fr/n/quick-n-dirty" hreflang="fr" | |||
title="Consultation de l’article">Quick ‘n dirty - Carnet de notes</a> | |||
<a href="/david/cache/2024/23c807abc870219e09f41f92bc869d37/" hreflang="fr" | |||
data-tippy data-description="J'ai appris.En bon ingénieur j'ai beaucoup poussé l'idée qu'il faut un produit très bien foutu, sans erreur, sans zone d'ombre, performant et que, quand tout ça va, les utilisateurs vont ven" | |||
data-source="https://n.survol.fr/n/quick-n-dirty" | |||
data-date="2024-05-31" | |||
data-favicon="" | |||
data-domain="n.survol.fr" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Oui. J’ai appris cela aussi.</p> | |||
<p>J’ai même appris que des gué-guerres politiques internes pouvaient sabrer la meilleure des techniques.</p> | |||
<nav> | |||
<p> | |||
<a href="/david/2024/apprentissage/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#apprentissage</a> | |||
<a href="/david/2024/deception/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#déception</a> | |||
<a href="/david/2024/dystopie/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#dystopie</a> | |||
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a> | |||
</p> | |||
</nav> | |||
<h2> | |||
<a href="/david/2024/04/20/" title="Lien permanent vers cet article">Jour 1</a> <time datetime="2024-04-20">20 avril 2024</time> | |||
</h2> |
@@ -134,6 +134,177 @@ | |||
</p> | |||
</nav> | |||
<h2> | |||
<a href="/david/2024/05/31/" title="Lien permanent vers cet article">Technocritique</a> <time datetime="2024-05-31">31 mai 2024</time> | |||
</h2> | |||
<blockquote lang="en"> | |||
<p>Given the extreme connectivity constraints at the South Pole, I wrote a Python script for publishing to S3 that worked well in the challenging environment. It uses the S3 API to upload assets in small chunks. It detects and resumes failed uploads without losing progress. It waits until everything is safely uploaded before publishing the new version.</p> | |||
<p>If I can do it, unpaid, working alone, for my silly little hobby blog, in 200 lines of Python… <mark>surely your team of engineers can do so</mark> for your flagship webapp.</p> | |||
<p><cite><em><a data-link-domain="brr.fyi" href="https://brr.fyi/posts/engineering-for-slow-internet" hreflang="en" | |||
title="Consultation de l’article (anglais)">Engineering for Slow Internet</a> | |||
<a href="/david/cache/2024/9e9c6f97d732010e14201f1624782ddc/" hreflang="en" | |||
data-tippy data-description="How to minimize user frustration in Antarctica." | |||
data-source="https://brr.fyi/posts/engineering-for-slow-internet" | |||
data-date="2024-05-31" | |||
data-favicon="https://brr.fyi/favicon-32x32.png" | |||
data-domain="brr.fyi" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>En ce moment, suite à une mise à jour de l’application SONOS rendant mes enceintes inutilisables (n’achetez jamais cette marque…), je m’amuse à faire une interface web grâce au <a data-link-domain="github.com" href="https://github.com/avantrec/soco-cli/">serveur open-source</a> qui a été développé ces dernières années.</p> | |||
<p>C’est triste d’en arriver là, je ressens fort le pouvoir que me procurent mes capacités de développeur mais je sais aussi que la majorité subit l’emmerdification logicielle (c’était déjà pas terrible avant !) sans avoir d’autre option.</p> | |||
<p>Ce n’est pas encore prêt à être utilisable par d’autres mais c’est stimulant d’ajouter des fonctionnalités au fil des besoins locaux. Je réalise à quel point le manque de réactivité de l’app de 175Mo n’est pas liée au <em>hardware</em> vu que j’arrive à avoir quelque chose d’immédiat avec quelques lignes de Python + JS/HTML.</p> | |||
<blockquote lang="en"> | |||
<p>The <strong>only way</strong> I was able to get this done was by <strong>turning off the phone entirely</strong>, right before Internet access dropped, and then turning it back on when Internet access resumed at the next satellite pass. This tricked the phone into not giving up on the download, because it was totally off during the period without Internet. It never had a chance to fail. By doing this, I was able to spread out the download across multiple satellite passes, and I could complete the download.</p> | |||
<p>This is an absurd workaround! I should not have had to do this.</p> | |||
<p><cite><em>Ibid.</em></cite></p> | |||
</blockquote> | |||
<a href="#hr-175" title="Lien vers cette section de la page"><hr id="hr-175" /></a> | |||
<blockquote> | |||
<p>À chaque technologie qu’on vous propose, qui émerge dans le champ commercial, il s’agit toujours de se demander : en quoi cette tech va-t-elle nourrir ou appauvrir mon rapport aux autres, au monde et à moi-même ? Il est très facile de mesurer le pouvoir qu’une appli ou qu’un service numérique apporte, beaucoup plus insidieux de réaliser ce qu’elle nous fait perdre ou même dégrade dans nos relations et nos puissances propres : puissance de créer, de réfléchir, d’imaginer, d’être empathique, d’écouter, puissance physique de ressentir par soi-même, de se déplacer, de garder son énergie, etc.</p> | |||
<p><mark>La technocritique doit discriminer pouvoir (le faire faire) et puissance (le faire par soi-même, en autonomie),</mark> ouverture ou fermeture au monde, enrichissement ou effilochement des liens, impact sur l’écologie en amont et en aval, exhaustion des ressources, impacts sociaux sur les pays en développement, pollutions induites, pour notre Terre — mais aussi dans nos cerveaux avec le siphonnage permanent de notre attention, de nos temps libres par le numérique. Et elle doit aussi se demander : quels désirs doit-on encourager ? Quelle liberté ou émancipation la techno doit-elle nous aider à atteindre ? Le peut-elle seulement, et dans quel contexte d’usage ?</p> | |||
<p><cite><em><a data-link-domain="bonpote.com" href="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" hreflang="fr" | |||
title="Consultation de l’article">« On a besoin de pirates pour saboter les datacenters d’Amazon, pour bloquer les plateformes d’Uber ou de Airbnb »</a> | |||
<a href="/david/cache/2024/02acbf716d95797a371706c8983d6164/" hreflang="fr" | |||
data-tippy data-description="La Silicon Valley n’est qu’à la marge soucieuse de l’écologie. Mais c’est aussi qu’elle croit profondément au solutionnisme techno pour" | |||
data-source="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/" | |||
data-date="2024-05-31" | |||
data-favicon="https://bonpote.com/wp-content/uploads/2024/01/ezez_1.ico" | |||
data-domain="bonpote.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p><del>Martine</del> Alain aux US.</p> | |||
<a href="#hr-176" title="Lien vers cette section de la page"><hr id="hr-176" /></a> | |||
<blockquote lang="en"> | |||
<p>Google utilizes cookie history, logged-in Chrome data, and pattern detection (referred to in the leak as “unsquashed” clicks versus “squashed” clicks) as effective means for fighting manual & automated click spam. […]</p> | |||
<p>My anonymous source claimed that way back in 2005, <mark>Google wanted the full clickstream of billions of Internet users, and with Chrome, they’ve now got it.</mark> The API documents suggest Google calculates several types of metrics that can be called using Chrome views related to both individual pages and entire domains.</p> | |||
<p>This document, describing the features around how Google creates Sitelinks, is particularly interesting. It showcases a call named topUrl, which is “A list of top urls with highest two_level_score, i.e., chrome_trans_clicks.” My read is that Google likely uses the number of clicks on pages in Chrome browsers and uses that to determine the most popular/important URLs on a site, which go into the calculation of which to include in the sitelinks feature.</p> | |||
<p><cite><em><a data-link-domain="sparktoro.com" href="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" hreflang="en" | |||
title="Consultation de l’article (anglais)">An Anonymous Source Shared Thousands of Leaked Google Search API Documents with Me; Everyone in SEO Should See Them</a> | |||
<a href="/david/cache/2024/2eba81418d244e79cef08638976dbeae/" hreflang="en" | |||
data-tippy data-description="On Sunday, May 5th, I received an email from a person claiming to have access to a massive leak of API documentation from inside Google’s Search division." | |||
data-source="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/" | |||
data-date="2024-05-31" | |||
data-favicon="https://sparktoro.com/favicon.ico" | |||
data-domain="sparktoro.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Ce qui est bien avec les produits Google c’est qu’on n’est jamais surpris.</p> | |||
<a href="#hr-177" title="Lien vers cette section de la page"><hr id="hr-177" /></a> | |||
<blockquote> | |||
<p>En prenant un tout petit peu de recul Josh se rend compte que cette troupe ne comprend pas vraiment ce qu’est le Bluetooth, son fonctionnement SANS FIL justement. Josh a de son côté pris part à des développement dans ce format au cours de son activité professionnelle. Il a même remonté des bugs rencontrés sur ce format à Ericsson au début des années 2000. <mark>Comment, avec un diplôme d’informatique en poche, Josh peut-il avoir tord</mark> et comment ces gens qui ne comprennent pas le fonctionnement du Bluetooth peuvent-ils avoir raison ?</p> | |||
<p><cite><em><a data-link-domain="minimachines.net" href="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" hreflang="fr" | |||
title="Consultation de l’article">L’aventurier du casque Bluetooth maudit</a> | |||
<a href="/david/cache/2024/acf33204fda8c91ac054bb26f99e8c59/" hreflang="fr" | |||
data-tippy data-description="Cette histoire est un témoignage étonnant d'un internaute qui ne comprend plus comment le Bluetooth - et notre monde - fonctionnent." | |||
data-source="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.minimachines.net/wp-content/uploads/2012/09/favicon1.png" | |||
data-domain="minimachines.net" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Cette histoire peut être lue avec tellement d’angles — et de biais — possibles. Je me demande quel serait le bilan carbone des deux options sur du long terme en tenant compte de la production, du transport, de la durabilité, de la consommation, etc.</p> | |||
<a href="#hr-178" title="Lien vers cette section de la page"><hr id="hr-178" /></a> | |||
<blockquote lang="en"> | |||
<p>This approach serves as a reminder of the constantly changing tactics of cybercriminals and, unfortunately, illustrates why you can never blindly trust what someone shares online.</p> | |||
<p>Instead, <mark>developers must verify the source of all packages they add to their projects,</mark> and even if it feels trustworthy, check the code (with word wrap enabled) for unusual or obfuscated commands that will be executed.</p> | |||
<p><cite><em><a data-link-domain="bleepingcomputer.com" href="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" hreflang="en" | |||
title="Consultation de l’article (anglais)">Cybercriminals pose as “helpful” Stack Overflow users to push malware</a> | |||
<a href="/david/cache/2024/1bff60d11f3a030aa5b3d1da84dce189/" hreflang="en" | |||
data-tippy data-description="Cybercriminals are abusing Stack Overflow in an interesting approach to spreading malware—answering users' questions by promoting a malicious PyPi package that installs Windows information-stealing malware." | |||
data-source="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/" | |||
data-date="2024-05-31" | |||
data-favicon="https://www.bleepstatic.com/favicon/bleeping.ico" | |||
data-domain="bleepingcomputer.com" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Bon courage.</p> | |||
<a href="#hr-179" title="Lien vers cette section de la page"><hr id="hr-179" /></a> | |||
<blockquote> | |||
<p>J’ai appris qu’un produit beau avec des erreurs fonctionne mieux qu’un produit moche sans erreurs. <mark>C’est contre-intuitif pour moi et pas dans mes attentes mais c’est la réalité du terrain.</mark> J’ai appris qu’au-delà du <em>beau</em>, l’expérience utilisateur dans la manipulation des interfaces était une vraie expertise qui faisait toute la différence. J’ai appris que l’adéquation aux besoins métier primait encore plus sur tout ça.</p> | |||
<p><cite><em><a data-link-domain="n.survol.fr" href="https://n.survol.fr/n/quick-n-dirty" hreflang="fr" | |||
title="Consultation de l’article">Quick ‘n dirty - Carnet de notes</a> | |||
<a href="/david/cache/2024/23c807abc870219e09f41f92bc869d37/" hreflang="fr" | |||
data-tippy data-description="J'ai appris.En bon ingénieur j'ai beaucoup poussé l'idée qu'il faut un produit très bien foutu, sans erreur, sans zone d'ombre, performant et que, quand tout ça va, les utilisateurs vont ven" | |||
data-source="https://n.survol.fr/n/quick-n-dirty" | |||
data-date="2024-05-31" | |||
data-favicon="" | |||
data-domain="n.survol.fr" | |||
><svg xmlns="http://www.w3.org/2000/svg" | |||
width="24" height="24" viewBox="0 0 24 24" fill="none" | |||
stroke="currentColor" stroke-width="2" stroke-linecap="square" | |||
stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle> | |||
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"></path> | |||
<line x1="12" y1="17" x2="12.01" y2="17"></line> | |||
</svg> | |||
<span class="sr-only">[archive]</span></a></em></cite></p> | |||
</blockquote> | |||
<p>Oui. J’ai appris cela aussi.</p> | |||
<p>J’ai même appris que des gué-guerres politiques internes pouvaient sabrer la meilleure des techniques.</p> | |||
<nav> | |||
<p> | |||
<a href="/david/2024/apprentissage/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#apprentissage</a> | |||
<a href="/david/2024/deception/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#déception</a> | |||
<a href="/david/2024/dystopie/" | |||
title="Liste de tous les articles 2024 associés à cette étiquette" | |||
rel="tag">#dystopie</a> | |||
<a href="/david/2024/#tags" title="Liste de toutes les étiquettes 2024">tous ?</a> | |||
</p> | |||
</nav> | |||
<h2> | |||
<a href="/david/2024/04/13/" title="Lien permanent vers cet article">Fondation</a> <time datetime="2024-04-13">13 avril 2024</time> | |||
</h2> |
@@ -254,7 +254,8 @@ | |||
<a href="/david/2024/05/12/">Alien</a>, | |||
<a href="/david/2024/05/13/">Tensions</a>, | |||
<a href="/david/2024/05/20/">Stimulations</a>, | |||
<a href="/david/2024/05/24/">Tout</a>. | |||
<a href="/david/2024/05/24/">Tout</a>, | |||
<a href="/david/2024/05/31/">Technocritique</a>. | |||
</p> | |||
@@ -265,18 +266,18 @@ | |||
<a href="/david/2024/accompagnement/" rel="tag">#accompagnement (2)</a>, | |||
<a href="/david/2024/adaptation/" rel="tag">#adaptation (4)</a>, | |||
<a href="/david/2024/addiction/" rel="tag">#addiction (5)</a>, | |||
<a href="/david/2024/apprentissage/" rel="tag">#apprentissage (20)</a>, | |||
<a href="/david/2024/apprentissage/" rel="tag">#apprentissage (21)</a>, | |||
<a href="/david/2024/aventure/" rel="tag">#aventure (6)</a>, | |||
<a href="/david/2024/cinema/" rel="tag">#cinéma (1)</a>, | |||
<a href="/david/2024/commun/" rel="tag">#commun (12)</a>, | |||
<a href="/david/2024/communaute/" rel="tag">#communauté (7)</a>, | |||
<a href="/david/2024/courage/" rel="tag">#courage (2)</a>, | |||
<a href="/david/2024/decentralisation/" rel="tag">#décentralisation (2)</a>, | |||
<a href="/david/2024/deception/" rel="tag">#déception (4)</a>, | |||
<a href="/david/2024/deception/" rel="tag">#déception (5)</a>, | |||
<a href="/david/2024/decision/" rel="tag">#décision (8)</a>, | |||
<a href="/david/2024/dependance/" rel="tag">#dépendance (8)</a>, | |||
<a href="/david/2024/documentation/" rel="tag">#documentation (4)</a>, | |||
<a href="/david/2024/dystopie/" rel="tag">#dystopie (4)</a>, | |||
<a href="/david/2024/dystopie/" rel="tag">#dystopie (5)</a>, | |||
<a href="/david/2024/echanges/" rel="tag">#échanges (5)</a>, | |||
<a href="/david/2024/ecriture/" rel="tag">#écriture (9)</a>, | |||
<a href="/david/2024/enthousiasme/" rel="tag">#enthousiasme (5)</a>, |
@@ -176,42 +176,52 @@ | |||
<h2>Leurs dernières publications</h2> | |||
<dl> | |||
<dt> | |||
<a href="https://winnielim.org/journal/urgency/">urgency</a>, | |||
24-05-2024 | |||
<a href="https://n.survol.fr/n/quick-n-dirty">Quick ‘n dirty</a>, | |||
31-05-2024 | |||
</dt> | |||
<dd> | |||
A few days ago a Singapore Airlines flight encountered severe turbulence, causing one death and tens of people to be injured. The night the news broke out I commented to my partner... | |||
— <a href="https://winnielim.org/">Winnie Lim (en)</a> | |||
J’ai appris. En bon ingénieur j’ai beaucoup poussé l’idée qu’il faut un produit très bien foutu, sans erreur, sans zone d’ombre, performant et que, quand tout ça va, les utilisateurs vont venir tout seuls. J’ai appris qu’un produit beau avec des erreurs fonctionne mieux qu’un produit moche sans erreurs. C’est contre-intuitif pour moi et pas […] | |||
— <a href="https://n.survol.fr/">Éric D.</a> | |||
</dd> | |||
</dl> | |||
<dl> | |||
<dt> | |||
<a href="https://n.survol.fr/n/faire-une-bonne-recommandation">Faire une bonne recommandation</a>, | |||
22-05-2024 | |||
<a href="https://n.survol.fr/n/rust-premiere-journee">Rust, première journée</a>, | |||
31-05-2024 | |||
</dt> | |||
<dd> | |||
Je ne sais pas vous mais quand je lis une recommandation qui dit que telle personne est géniale, efficace, motivée, exceptionnelle… ça ne m’apprend pas grand chose à part que les deux s’entendaient bien. Il m’en faut plus. Vous voulez faire une bonne recommandation ? Vous pouvez mettre des adjectifs et des superlatifs mais ce n’est […] | |||
Je suis le circuit de Comprehensive Rust. Le jour 1 ce sont les structures de contrôle et les types. Rien d’extraordinaire mais je me tiens à ma résolution d’aller lentement sans griller des étapes. J’avais déjà tenté de me mettre à Rust il y a quelques années mais je me suis retrouvé un peu noyé. […] | |||
— <a href="https://n.survol.fr/">Éric D.</a> | |||
</dd> | |||
</dl> | |||
<dl> | |||
<dt> | |||
<a href="https://winnielim.org/notes/age-time-and-art/">age, time, and art</a>, | |||
22-05-2024 | |||
<a href="https://brr.fyi/posts/engineering-for-slow-internet">Engineering for Slow Internet</a>, | |||
31-05-2024 | |||
</dt> | |||
<dd> | |||
How to minimize user frustration in Antarctica. | |||
— <a href="https://brr.fyi/">brr (en)</a> | |||
</dd> | |||
</dl> | |||
<dl> | |||
<dt> | |||
<a href="https://winnielim.org/notes/resonance-through-comments/">resonance through comments</a>, | |||
30-05-2024 | |||
</dt> | |||
<dd> | |||
Saw this post by kottke.org on Hokusai’s Great Wave, and I was really inspired and amused by this quote: From the age of six I had a penchant for copying the form... | |||
Someone left a comment on my note about age, time, and art – went over to look at his art blog and subscribed to it. It is encouraging and comforting to see... | |||
— <a href="https://winnielim.org/">Winnie Lim (en)</a> | |||
</dd> | |||
</dl> | |||
<dl> | |||
<dt> | |||
<a href="https://n.survol.fr/n/leetcode">Leetcode</a>, | |||
20-05-2024 | |||
<a href="https://winnielim.org/notes/first-time-drawing-with-a-black-posca-marker/">first time drawing with a black posca marker</a>, | |||
28-05-2024 | |||
</dt> | |||
<dd> | |||
Je cherche un bon moyen d’évaluer la compétence technique d’un développeur. Aujourd’hui j’ai un test qui semble bien fonctionner pour notre usage mais que je trouve clairement trop long avec 4 heures. J’ai toujours été réticent aux exercices tableau blanc de type parcours d’arbre, calculs sur tableau et autres jeux d’algorithme. J’ai quand même voulu […] | |||
— <a href="https://n.survol.fr/">Éric D.</a> | |||
forgot to bring my larger sketchbook out today so took the opportunity to try a different style of drawing. these are stuff that were related to my morning today. yes i know some look indecipherable, because i have bad drawing skillz | |||
— <a href="https://winnielim.org/">Winnie Lim (en)</a> | |||
</dd> | |||
</dl> | |||
<dl> | |||
@@ -384,16 +394,6 @@ | |||
— <a href="https://brr.fyi/">brr (en)</a> | |||
</dd> | |||
</dl> | |||
<dl> | |||
<dt> | |||
<a href="https://brr.fyi/posts/redeployment-part-two">Redeployment Part Two</a>, | |||
13-01-2024 | |||
</dt> | |||
<dd> | |||
Station opening, and my flight out of Pole! | |||
— <a href="https://brr.fyi/">brr (en)</a> | |||
</dd> | |||
</dl> | |||
<dl> | |||
<dt> | |||
<a href="https://lalunemauve.fr/interview-mathyld-under-the-pyramids/">Interview de Mathyld (under the pyramids), artisane-créatrice de bijoux en argent</a>, |
@@ -475,6 +475,7 @@ | |||
</style> | |||
<p>Liste des publications récentes en ordre anté-chronologique :</p> | |||
<p> | |||
<a href="/david/2024/05/31/" data-apprentissage data-deception data-dystopie title="Étiquettes : apprentissage, déception, dystopie.">Technocritique</a>, | |||
<a href="/david/2024/05/24/" data-evolution data-liens data-web title="Étiquettes : évolution, liens, web.">Tout</a>, | |||
<a href="/david/2024/05/20/" data-apprentissage data-documentation data-liens title="Étiquettes : apprentissage, documentation, liens.">Stimulations</a>, | |||
<a href="/david/2024/05/13/" data-ecriture data-lecture data-psychologie title="Étiquettes : écriture, lecture, psychologie.">Tensions</a>, | |||
@@ -590,18 +591,18 @@ | |||
<a href="/david/2024/accompagnement/" data-tag="accompagnement" rel="tag">#accompagnement (2)</a>, | |||
<a href="/david/2024/adaptation/" data-tag="adaptation" rel="tag">#adaptation (4)</a>, | |||
<a href="/david/2024/addiction/" data-tag="addiction" rel="tag">#addiction (5)</a>, | |||
<a href="/david/2024/apprentissage/" data-tag="apprentissage" rel="tag">#apprentissage (20)</a>, | |||
<a href="/david/2024/apprentissage/" data-tag="apprentissage" rel="tag">#apprentissage (21)</a>, | |||
<a href="/david/2024/aventure/" data-tag="aventure" rel="tag">#aventure (6)</a>, | |||
<a href="/david/2024/cinema/" data-tag="cinema" rel="tag">#cinéma (1)</a>, | |||
<a href="/david/2024/commun/" data-tag="commun" rel="tag">#commun (12)</a>, | |||
<a href="/david/2024/communaute/" data-tag="communaute" rel="tag">#communauté (7)</a>, | |||
<a href="/david/2024/courage/" data-tag="courage" rel="tag">#courage (2)</a>, | |||
<a href="/david/2024/decentralisation/" data-tag="decentralisation" rel="tag">#décentralisation (2)</a>, | |||
<a href="/david/2024/deception/" data-tag="deception" rel="tag">#déception (4)</a>, | |||
<a href="/david/2024/deception/" data-tag="deception" rel="tag">#déception (5)</a>, | |||
<a href="/david/2024/decision/" data-tag="decision" rel="tag">#décision (8)</a>, | |||
<a href="/david/2024/dependance/" data-tag="dependance" rel="tag">#dépendance (8)</a>, | |||
<a href="/david/2024/documentation/" data-tag="documentation" rel="tag">#documentation (4)</a>, | |||
<a href="/david/2024/dystopie/" data-tag="dystopie" rel="tag">#dystopie (4)</a>, | |||
<a href="/david/2024/dystopie/" data-tag="dystopie" rel="tag">#dystopie (5)</a>, | |||
<a href="/david/2024/echanges/" data-tag="echanges" rel="tag">#échanges (5)</a>, | |||
<a href="/david/2024/ecriture/" data-tag="ecriture" rel="tag">#écriture (9)</a>, | |||
<a href="/david/2024/enthousiasme/" data-tag="enthousiasme" rel="tag">#enthousiasme (5)</a>, |
@@ -6,13 +6,77 @@ | |||
<link href="https://larlet.fr/david/" rel="alternate" type="text/html" /> | |||
<link href="https://larlet.fr/david/log/" rel="self" /> | |||
<id>https://larlet.fr/david/</id> | |||
<updated>2024-05-25T12:00:00+01:00</updated> | |||
<updated>2024-06-01T12:00:00+01:00</updated> | |||
<author> | |||
<name>David Larlet</name> | |||
<uri>https://larlet.fr/david/</uri> | |||
</author> | |||
<rights>Copyright (c) 2004-2024, David Larlet</rights> | |||
<entry xml:lang="fr"> | |||
<title type="html">Technocritique</title> | |||
<link href="https://larlet.fr/david/2024/05/31/" rel="alternate" type="text/html" /> | |||
<updated>2024-05-31T12:00:00+01:00</updated> | |||
<id>https://larlet.fr/david/2024/05/31/</id> | |||
<summary type="html"> | |||
<blockquote lang="en"> | |||
<p>Given the extreme connectivity constraints at the South Pole, I wrote a Python script for publishing to S3 that worked well in the challenging environment. It uses the S3 API to upload assets in small chunks. It detects and resumes failed uploads without losing progress. It waits until everything is safely uploaded before publishing the new&nbsp;version.</p> | |||
<p>If I can do it, unpaid, working alone, for my silly little hobby blog, in 200&nbsp;lines of Python… <mark>surely your team of engineers can do so</mark> for your flagship&nbsp;webapp.</p> | |||
<p><cite><em><a href="https://brr.fyi/posts/engineering-for-slow-internet">Engineering for Slow&nbsp;Internet</a></em></cite></p> | |||
</blockquote> | |||
<p>En ce moment, suite à une mise à jour de l’application SONOS rendant mes enceintes inutilisables (n’achetez jamais cette marque…), je m’amuse à faire une interface web grâce au <a href="https://github.com/avantrec/soco-cli/">serveur open-source</a> qui a été développé ces dernières&nbsp;années.</p> | |||
<p>C’est triste d’en arriver là, je ressens fort le pouvoir que me procurent mes capacités de développeur mais je sais aussi que la majorité subit l’emmerdification logicielle (c’était déjà pas terrible avant&#8239;!) sans avoir d’autre&nbsp;option.</p> | |||
<p>Ce n’est pas encore prêt à être utilisable par d’autres mais c’est stimulant d’ajouter des fonctionnalités au fil des besoins locaux. Je réalise à quel point le manque de réactivité de l’app de 175Mo n’est pas liée au <em>hardware</em> vu que j’arrive à avoir quelque chose d’immédiat avec quelques lignes de Python +&nbsp;JS/HTML.</p> | |||
<blockquote lang="en"> | |||
<p>The <strong>only way</strong> I was able to get this done was by <strong>turning off the phone entirely</strong>, right before Internet access dropped, and then turning it back on when Internet access resumed at the next satellite pass. This tricked the phone into not giving up on the download, because it was totally off during the period without Internet. It never had a chance to fail. By doing this, I was able to spread out the download across multiple satellite passes, and I could complete the&nbsp;download.</p> | |||
<p>This is an absurd workaround! I should not have had to do&nbsp;this.</p> | |||
<p><cite><em>Ibid.</em></cite></p> | |||
</blockquote> | |||
<hr /> | |||
<blockquote> | |||
<p>À chaque technologie qu’on vous propose, qui émerge dans le champ commercial, il s’agit toujours de se demander&nbsp;: en quoi cette tech va-t-elle nourrir ou appauvrir mon rapport aux autres, au monde et à moi-même&#8239;? Il est très facile de mesurer le pouvoir qu’une appli ou qu’un service numérique apporte, beaucoup plus insidieux de réaliser ce qu’elle nous fait perdre ou même dégrade dans nos relations et nos puissances propres&nbsp;: puissance de créer, de réfléchir, d’imaginer, d’être empathique, d’écouter, puissance physique de ressentir par soi-même, de se déplacer, de garder son énergie, etc.</p> | |||
<p><mark>La technocritique doit discriminer pouvoir (le faire faire) et puissance (le faire par soi-même, en autonomie),</mark> ouverture ou fermeture au monde, enrichissement ou effilochement des liens, impact sur l’écologie en amont et en aval, exhaustion des ressources, impacts sociaux sur les pays en développement, pollutions induites, pour notre Terre — mais aussi dans nos cerveaux avec le siphonnage permanent de notre attention, de nos temps libres par le numérique. Et elle doit aussi se demander&nbsp;: quels désirs doit-on encourager&#8239;? Quelle liberté ou émancipation la techno doit-elle nous aider à atteindre&#8239;? Le peut-elle seulement, et dans quel contexte&nbsp;d’usage&#8239;?</p> | |||
<p><cite><em><a href="https://bonpote.com/on-a-besoin-de-pirates-pour-saboter-les-datacenters-damazon-pour-bloquer-les-plateformes-duber-ou-de-airbnb/">«&nbsp;On a besoin de pirates pour saboter les datacenters d’Amazon, pour bloquer les plateformes d’Uber ou de&nbsp;Airbnb&nbsp;»</a></em></cite></p> | |||
</blockquote> | |||
<p><del>Martine</del> Alain aux&nbsp;US.</p> | |||
<hr /> | |||
<blockquote lang="en"> | |||
<p>Google utilizes cookie history, logged-in Chrome data, and pattern detection (referred to in the leak as “unsquashed” clicks versus “squashed” clicks) as effective means for fighting manual &amp; automated click spam. […]</p> | |||
<p>My anonymous source claimed that way back in 2005, <mark>Google wanted the full clickstream of billions of Internet users, and with Chrome, they’ve now got it.</mark> The API documents suggest Google calculates several types of metrics that can be called using Chrome views related to both individual pages and entire&nbsp;domains.</p> | |||
<p>This document, describing the features around how Google creates Sitelinks, is particularly interesting. It showcases a call named topUrl, which is “A list of top urls with highest two_level_score, i.e., chrome_trans_clicks.” My read is that Google likely uses the number of clicks on pages in Chrome browsers and uses that to determine the most popular/important URLs on a site, which go into the calculation of which to include in the sitelinks&nbsp;feature.</p> | |||
<p><cite><em><a href="https://sparktoro.com/blog/an-anonymous-source-shared-thousands-of-leaked-google-search-api-documents-with-me-everyone-in-seo-should-see-them/">An Anonymous Source Shared Thousands of Leaked Google Search API Documents with Me; Everyone in SEO Should See&nbsp;Them</a></em></cite></p> | |||
</blockquote> | |||
<p>Ce qui est bien avec les produits Google c’est qu’on n’est jamais&nbsp;surpris.</p> | |||
<hr /> | |||
<blockquote> | |||
<p>En prenant un tout petit peu de recul Josh se rend compte que cette troupe ne comprend pas vraiment ce qu’est le Bluetooth, son fonctionnement SANS FIL justement. Josh a de son côté pris part à des développement dans ce format au cours de son activité professionnelle. Il a même remonté des bugs rencontrés sur ce format à Ericsson au début des années 2000. <mark>Comment, avec un diplôme d’informatique en poche, Josh peut-il avoir tord</mark> et comment ces gens qui ne comprennent pas le fonctionnement du Bluetooth peuvent-ils avoir&nbsp;raison&#8239;?</p> | |||
<p><cite><em><a href="https://www.minimachines.net/actu/casque-apple-lightning-bluetooth-127339">L’aventurier du casque Bluetooth&nbsp;maudit</a></em></cite></p> | |||
</blockquote> | |||
<p>Cette histoire peut être lue avec tellement d’angles —&nbsp;et de biais&nbsp;— possibles. Je me demande quel serait le bilan carbone des deux options sur du long terme en tenant compte de la production, du transport, de la durabilité, de la consommation, etc.</p> | |||
<hr /> | |||
<blockquote lang="en"> | |||
<p>This approach serves as a reminder of the constantly changing tactics of cybercriminals and, unfortunately, illustrates why you can never blindly trust what someone shares&nbsp;online.</p> | |||
<p>Instead, <mark>developers must verify the source of all packages they add to their projects,</mark> and even if it feels trustworthy, check the code (with word wrap enabled) for unusual or obfuscated commands that will be&nbsp;executed.</p> | |||
<p><cite><em><a href="https://www.bleepingcomputer.com/news/security/cybercriminals-pose-as-helpful-stack-overflow-users-to-push-malware/">Cybercriminals pose as “helpful” Stack Overflow users to push&nbsp;malware</a></em></cite></p> | |||
</blockquote> | |||
<p>Bon&nbsp;courage.</p> | |||
<hr /> | |||
<blockquote> | |||
<p>J’ai appris qu’un produit beau avec des erreurs fonctionne mieux qu’un produit moche sans erreurs. <mark>C’est contre-intuitif pour moi et pas dans mes attentes mais c’est la réalité du terrain.</mark> J’ai appris qu’au-delà du <em>beau</em>, l’expérience utilisateur dans la manipulation des interfaces était une vraie expertise qui faisait toute la différence. J’ai appris que l’adéquation aux besoins métier primait encore plus sur tout&nbsp;ça.</p> | |||
<p><cite><em><a href="https://n.survol.fr/n/quick-n-dirty">Quick ‘n dirty - Carnet de&nbsp;notes</a></em></cite></p> | |||
</blockquote> | |||
<p>Oui. J’ai appris cela&nbsp;aussi.</p> | |||
<p>J’ai même appris que des gué-guerres politiques internes pouvaient sabrer la meilleure des&nbsp;techniques.</p> | |||
<nav><p><a href="https://larlet.fr/david/2024/apprentissage/">#apprentissage</a> <a href="https://larlet.fr/david/2024/deception/">#déception</a> <a href="https://larlet.fr/david/2024/dystopie/">#dystopie</a></p></nav><hr/><p><a href="mailto:david@larlet.fr">Réagir ?</a></p></summary> | |||
</entry> | |||
<entry xml:lang="fr"> | |||
<title type="html">Tout</title> | |||
<link href="https://larlet.fr/david/2024/05/24/" rel="alternate" type="text/html" /> | |||
@@ -1282,29 +1346,4 @@ L’aube viendra dans sa mârde&nbsp;blanche.</p> | |||
<nav><p><a href="https://larlet.fr/david/2024/laboratoire/">#laboratoire</a> <a href="https://larlet.fr/david/2024/opensource/">#opensource</a> <a href="https://larlet.fr/david/2024/technique/">#technique</a></p></nav><hr/><p><a href="mailto:david@larlet.fr">Réagir ?</a></p></summary> | |||
</entry> | |||
<entry xml:lang="fr"> | |||
<title type="html">Excitation</title> | |||
<link href="https://larlet.fr/david/2024/03/19/" rel="alternate" type="text/html" /> | |||
<updated>2024-03-19T12:00:00+01:00</updated> | |||
<id>https://larlet.fr/david/2024/03/19/</id> | |||
<summary type="html"> | |||
<p>Il y a cette petite étincelle qui s’allume lorsque j’entrevois la possibilité de démarrer un petit bout de code qui pourrait changer mon/le monde (en toute&nbsp;modestie).</p> | |||
<p>Idée du jour&nbsp;: faire un <em>web component</em> qui s’intitulerait <code>&lt;page-crypt&gt;</code> en s’inspirant grandement de <a href="https://github.com/MaxLaumeister/PageCrypt/">PageCrypt</a> (et de sa <a href="https://github.com/Greenheart/pagecrypt">version à jour</a>). La génération de la page chiffrée pourrait <a href="https://github.com/MaxLaumeister/PageCrypt/blob/master/python/encrypt.py">se faire en Python</a>.</p> | |||
<p>Cela essayerait de résoudre une problématique d’accès à du contenu privé sur des pages pré-générées de manière statique. Il est probable que j’en ai besoin sous peu afin d’afficher une progression personnalisée d’informations sensibles dans un contexte pro, ce qui me motive d’autant&nbsp;plus.</p> | |||
<p>Je découvre au passage qu’il n’est pas trivial de <a href="https://developer.mozilla.org/en-US/docs/Glossary/Base64#the_unicode_problem">convertir de l’unicode en base64 via JS</a>.</p> | |||
<p>Note&nbsp;: il existe aussi <a href="https://github.com/robinmoisson/staticrypt">StatiCrypt</a>.</p> | |||
<hr /> | |||
<blockquote lang="en"> | |||
<p>If majority is always right – let’s eat shit… millions of flies can’t be&nbsp;wrong.</p> | |||
<p><cite><em>Statek</em>, Waldemar Łysiak, 1994</cite></p> | |||
</blockquote> | |||
<p>Cette citation aura fait ma&nbsp;journée.</p> | |||
<hr /> | |||
<p>Je suis frustré par les capacités d’export des données de <a href="https://larlet.fr/david/2024/03/14/">la montre</a>. En inspectant, je pourrais récupérer les JSON qui passent avec Playwright mais c’est un peu la face nord. <em>Ça me fait glousser qu’un tel site utilise&nbsp;Vite.</em></p> | |||
<p>Il faut que je teste <a href="https://github.com/xballoy/coros-api">coros-api</a> (TypeScript) et/ou <a href="https://github.com/futoshita/Coros-Training-Hub-Exporter">Coros-Training-Hub-Exporter</a> (Java), je ne suis pas le seul à vouloir récupérer ces&nbsp;données.</p> | |||
<p>Aussi, il y a des données qui ne sont pas exposées par le TrainingHub mais auxquelles on semble avoir accès <a href="https://tryterra.co/integrations/coros">via une API tierce</a> (et très dispendieuse&#8239;!). Étrange et&nbsp;décevant…</p> | |||
<nav><p><a href="https://larlet.fr/david/2024/apprentissage/">#apprentissage</a> <a href="https://larlet.fr/david/2024/enthousiasme/">#enthousiasme</a> <a href="https://larlet.fr/david/2024/technique/">#technique</a></p></nav><hr/><p><a href="mailto:david@larlet.fr">Réagir ?</a></p></summary> | |||
</entry> | |||
</feed> |