Planète Web Sémantique

February 19, 2018

David Larlet

☕︎ Death Stars

This sounds gloomy—and it is—but we made this mess so we can fix it. It’s time for an industrial rejection of casino techniques and newsfeeds and variable rewards and notifications and manufactured depression.

The Death Star had a thermal exhaust port, leading straight to the reactor system. We better start hunting for the plans to our own Death Stars, to be those good ancestors.

Finding the Exhaust Ports (cache)

That exhaust port is taking care of kids. No kidding. I cannot remember who wrote that all that Time Well Spent movement is just developers realizing their kids are manipulated too but it’s true to some extent. You can convince yourself you are acting for good but it is harder to explain that to your child.

February 19, 2018 11:00 AM

February 18, 2018

Karl Dubost

Les exceptions, cette liberté

Les exceptions sont notre part de liberté. Il s'agit là d'informatique et de livrer un produit qui fonctionne pour des cas rares, bizarres, exceptionnels. It was amazing the spectacular variety and extremes we'd see in how people wrote their code. Every time we'd ship something, a user would show up and tell us about some edge case we'd never seen before. We'd fix it, add tests, and repeat the cycle.


L'exception est une idée intéressante, pas seulement en informatique, mais dans tous les systèmes et processus : mécaniques, sociaux, légaux, etc. Les systèmes imposent des contraintes qui réduisent l'espace de liberté. Nous pouvons appeler cela les règles du jeu. Ce qui est intéressant probablement est quand le système en place est un vecteur de création qui dépasse le système et parfois remet en question le système. Trop réducteur, trop contraint et le système devient une forme authoritaire.


Quand nous développons ces systèmes que permettons-nous ? Comment définissons-nous le système afin que les participants individuellement ou en groupe puisse grandir en, hors et par le système ? Whenever we are about to substitute a laborious activity such as learning a language, cooking a meal, or tending to plants with a — deceptively — simple solution, we might always ask ourselves: Should the technology grow — or the person using it?


Cette subtile possibilité, où les cas exceptionnels permettent d'étendre l'imagination, est une liberté qui appelle la « merveille. »


February 18, 2018 10:53 PM

David Larlet

☕︎ Prétendue violation

TekSavvy a reçu ce que la Loi sur le droit d’auteur appelle un « avis de prétendue violation ». Cet avis indique une adresse IP et un temps précis. Nos systèmes indiquent que l’adresse IP évoqué dans l’avis était vraisemblablement affectée à votre compte à l’heure indiquée.

Nous sommes donc légalement tenus de vous transmettre cet avis. Cet avis est reproduit, inaltéré, ci-dessous. Mais d’abord, voici quelques renseignements que vous devriez savoir:

(a) Nous sommes un intermédiaire tenu de vous transmettre cet avis. Nous ne vérifions, et ne pouvons pas vérifier, son contenu, ni son expéditeur. Cependant, l’avis d’une partie privée ne correspond pas à une décision juridique. Seule une instance publique peut rendre celle-ci. Il n’y a cependant aucune obligation de payer le demandeur qui soumet une proposition de règlement.

De nombreux avis sont générés automatiquement et contiennent du texte écrit qui prend compte d’une loi étrangère, donc non canadienne. Soyez alors particulièrement prudent lors de la lecture des revendications provenant d’un pays étranger, comme les États-Unis. Par exemple, les dommages-intérêts légaux maximaux sont beaucoup plus bas au Canada qu’aux États-Unis. Le régime d’avis et avis ne déclenche pas la suspension de vos services Internet, comme son équivalent américain (avis et retrait) peut le permettre.

(b) Nous n’avons pas révélé à l’expéditeur qui vous êtes. Votre vie privée est primordiale pour nous. Nous ne surveillons pas ni ne savons ce que vous faites en ligne. Nous savons quelle adresse IP nous vous avons attribuée dans les 30 derniers jours, mais ne fournissons pas de renseignements personnels de ce type à quiconque, sauf si un tribunal nous l’ordonne, ce qui n’est pas le cas ici. Nous avons simplement reçu cet avis et vous l’avons transmis électroniquement.

À moins que vous contactiez l’expéditeur, ou cliquiez sur un lien dans leur avis, ils ne savent probablement pas qui vous êtes. Pour avoir droit à cette information, ils doivent demander à un tribunal. Si nous apprenons que tel est le cas, nous ferons tout ce qui est en notre possible afin de vous communiquer cette information.

(c) Il est judicieux de vous assurer de sécuriser votre compte. Votre routeur sans fil devrait être protégé par un mot de passe; celui-ci devrait être changé régulièrement et les utilisateurs devraient avoir une bonne protection antivirus. Votre compte TekSavvy (My Account) vous permet de vérifier l’utilisation de votre bande passante; assurez-vous que ce que vous pensez de votre utilisation correspond à votre utilisation réelle.

(d) Nous conservons les informations d’une adresse IP pendant 30 jours. Si votre modem n’a pas été éteint pendant cette période, nous pourrions avoir des informations qui remontent à la dernière fois que vous l’avez fait. Or, en plus de nous obliger à transmettre cet avis, la Loi sur le droit d’auteur nous oblige également à conserver les renseignements reliant l’adresse IP et l’heure à votre compte pour une durée de six mois. Si le requérant de l’avis fait appel à un tribunal, celui-ci peut nous obliger à conserver l’information pour une durée prolongée.

[…]

Courriel reçu de la part de mon fournisseur d’accès à internet.

C’est la seconde fois que je reçois un tel courriel et je le trouve plutôt bon, d’où sa reproduction ici. Le ton et le côté informationnel sont assez éloignés du message original transmis…

Note : il faudrait que j’arrête de regarder des super-productions insipides.

February 18, 2018 11:00 AM

February 17, 2018

David Larlet

☕︎ Code et bafouille

Au fond, on se méprend sur le bafouillement. Il n’est pas le symptôme d’un manque de confiance en soi, d’une incapacité à choisir entre des options, mais le signe d’une pensée qui ne veut pas trahir le réel. Bafouiller, c’est chercher dans les interstices silencieux des mots le jaillissement d’une phrase qui ne fasse pas violence à la réalité. Voilà qui demande du temps, de la patience, tant pour bafouiller que pour écouter. Voilà pourquoi la plupart de nos bavardages ne débouchent que rarement sur des conversations. L’intérêt d’une conversation se conjugue avec le temps qu’on a pu prendre de bafouiller et de se reprendre soi-même, grâce à la confiance d’autrui.

Cette pensée qui bafouille (cache)

Je n’arrive pas à déterminer si les versions d’un code peuvent être perçues comme autant de bafouillements plus ou moins collectifs à travers leurs revues et les évolutions qu’elles occasionnent. Ce qui change est peut-être la nature très asynchrone de ces bafouilles. Encore que, certaines hésitations invisibles d’autrui s’inscrivent dans la durée et provoquent des changements sans forcément en avoir soi-même conscience.

Et si cet espace me servait avant tout à bafouiller de manière écrite ?

February 17, 2018 11:00 AM

February 16, 2018

David Larlet

☕︎ Technologists are not apart

Barlow’s opinion needs to be seen in context and helpfully leads me to my final points. Not because we’re technologists, but because we’re people, we’re responsible to society for the tools we make.

I suggest that for a number of reasons — one of them being that technology wasn’t yet pervasive amongst society — technologists in general (and recently and in particular, the strain of technology centered around the West Coast of the United States), have operated on general idea that as technologists we’re apart from society.

[…]

Society is all of us, and we all have a responsibility to it.

No one’s coming. It’s up to us. (cache)

What am I building for the society? Not for me, not for a boss, not for users.

But for us, together. As a World Wide Web.

February 16, 2018 11:00 AM

★ Into the Snow

Résumé en français

Je suis parti pendant trois jours faire du camping dans la neige. Et c’était chouette :-). Les conditions étaient clémentes et j’ai appris plein de trucs.

After my reasonably bad experiment trying to light a fire under hard conditions, I decided to buy a cooker/snow melter, grab some skis-snowshoes and iterate.

Earn or learn

You know the drill:

  • earn: finding the appropriate wood during winter time is hard, it has to be dead but standing with no ice and not since too long but still has no moisture in it. My current ratio is one tree down out of two is good to burn, still improving…
  • learn: letting your snow melt on your nascent fire while assembling your camp is a double-edge sword, you can get back with your water spilled on your half-dead fire #TrueStory.
  • earn: filling up a bottle with hot water in your sleeping bag gives you free warmth for a few hours AND water when you wake up.
  • learn: evergreen trees are great to protect your tent from snow BUT with the sun and mild temperatures it can be dangerous to stay under for a nap. Moreover, your tent will be totally soaked and turned into ice during the night.
  • earn: mourning a loss alone in the forest is adapted to me.
  • learn: going onto a big frozen lake can be stressful, especially if there is no steps/traces, I stayed on the shoreline to be safe.
  • earn: I’m starting to be used to distant wolves yapping at night, there is still a prey in me though.
  • learn: winter camping is basically melting snow again an again or being in the process of doing it.
  • earn: using a hand warmer when you wake up with cold feet in your sleeping bag provides an extra comfort really appreciated!

What I missed is my hammock to rest a bit during the day and my thin whistle (I thought I could not remove my gloves but one of the days was very warm).

I think it closes my winter session, see you next spring for five days with rain, flies and hopefully fishes!

February 16, 2018 11:00 AM

Karl Dubost

Le petit monde

February 16, 2018 06:12 AM

Rococo

Redesign. Action de rafraîchir le design d'un site Web afin de le rendre plus efficace pour les utilisateurs. Tous les renouvellements d'envergure dont j'ai été témoin ont toujours été catastrophiques. Ils sont toujours définis comme une amélioration, une volonté de le rendre plus simple et plus facile à maintenir. Le nouveau designer ou la nouvelle agence Web ne jure que par les bénéfices que cela apportera. C'est très rarement vrai.


La plupart des professionnels contraignent le contenu à leur design plutôt que de contraindre le design au contenu. « The shape of content. » Ils créent un système de grille, fluide ou dynamique—peu importe le système—qui leur est simple, car c'est le leur. Mais il n'est pas plus simple à maintenir pour les autres.


La modularité du design et du contenu est une question intéressante. La linéarité l'est également.


mon acronyme pour React : Rococo Enabler And Catastrophic Takeover.


February 16, 2018 05:41 AM

February 15, 2018

David Larlet

☕︎ Winter camping gear

I will list only three of them.

  • Baffin Apex Boots: rated -100°C (!!) I have cold extremities and at least until -35°C I was able to verify they deliver perfectly. I start to sweat when temperatures rise up to zero degrees which is a good compromise.
  • Black Diamond Absolute Mittens: there is always a moment when you have to get your gloves off because you need full dexterity, when it takes too long and your fingers are getting very cold it’s good to know that there is a safe place to warm them up.
  • Jetboil Joule Cooking System: bulky and heavy but you can turn 3 liters of snow into boiling water in less than 4 minutes. I made the experiment and even with already collected and split wood + a warm pit, it took me about 40 minutes to get my first cup of water in perfect weather conditions.

Nothing minimalist (yet!) given that I still lack some skills to go lighter. When I will be more confident in my ability to maintain a fire I will probably drop these for lighter ones but until then I prefer to go safer, especially being alone.

Gear is always a trade-off.

February 15, 2018 11:00 AM

February 14, 2018

David Larlet

☕︎ Skis-raquettes

J’ai loué des skis-raquettes pour ma dernière escapade et ma conclusion c’est qu’il s’agit d’un outil extrêmement polyvalent qui du coup ne fait rien de suffisamment bien :

  • lorsqu’il y a trop de poudreuse ça n’avance pas ;
  • lorsqu’il y a déjà des traces de raquette ça n’accroche pas ;
  • lorsqu’il y a trop d’arbres ça ne tourne pas ;
  • lorsqu’il y a une trop lourde charge c’est mal équilibré (ici traditionnellement c’est une longue perche qui est utilisé par les chinois ce qui doit mieux stabiliser que des bâtons avec un gros sac, je n’ai malheureusement pas pris le temps de tester) ;
  • lorsqu’il y a une pente trop importante il est difficile de faire des conversions car le bout de la chaussure empêche la fixation de se plier suffisamment ;
  • lorsqu’on en fait sur piste les carres n’accrochent pas suffisamment ou il faut passer à des chaussures rigides.

Finalement le seul moment que j’ai trouvé sympa c’était de pouvoir me faire une bordure de lac gelé mais pour ça des skis de haute route plus classiques auraient probablement été tout aussi fun.

February 14, 2018 11:00 AM

February 13, 2018

Karl Dubost

Comprendre

Comprendre sa dimension physique. Matérialiser, massifier, solidifier, fossiliser un processus pour comprendre sa dimension temporelle, son existence propre. En quelque sorte, se placer hors champ afin de mieux réaliser, embrasser l'étendue de son objet. I've always felt it important to document the work. Sketches, scraps, iterations, failures and surprises are all part of the process and so I try and capture those things in the work that I create every day.


Comprendre sa structure. Lorsque nous créons un site Web en HTML. Il faut d'abord tenter de comprendre la structure de son texte. Il n'y a pas que Lynx pour réaliser cela. Il suffit de retirer toutes les feuilles de style. Dans Firefox, par exemple, View → Page Style → No Style. Always mark-up first. Regardless of what the kids are doing these days, I stick by my guns and start with mark-up first. A fun experiment (maybe not for you, but definitely for me) is to see how your site reads on Lynx. It does serve as a good gauge of whether the content on the site is structured properly or not.


Comprendre comment nous sommes écoutés. Une expérience, un hack, un bon dialogue. Voici un bon article sur le fond du problème des objets connectés dans votre maison. Overall, my takeaway is that the smart home is going to create a new stream of information about our daily lives that will be used to further profile and target us. The number of devices alone that are detected chattering away will be used to determine our socioeconomic status. Our homes could become like internet browsers, with unique digital fingerprints, that will be mined for profit just like our daily Web surfing is. If you have a smart home, it’s open house on your data.


February 13, 2018 02:01 PM

David Larlet

☕︎ Pharmacie opérationnelle

Matti me demande ce que j’entends par pharmacie opérationnelle et c’est cool car je voulais en parler. Un peu de contexte préalable :

  • je ne prends aucun médicament au quotidien (je m’autorise un peu de paracétamol quand je suis au fond de mon lit en train de greloter) ;
  • je pars seul et je ne croise quasiment personne ou alors de loin, ce qui signifie que j’ai peu de chance de croiser des microbes une fois en forêt ;
  • je mange des aliments peu susceptibles d’occasionner des problèmes gastriques ;
  • j’ai le sang plus fluide que la moyenne.

Les risques identifiés :

  • une hémorragie plus ou moins grave (une coupure importante, une chute dans un contexte saillant, un ours téméraire, etc) ;
  • une fracture suite à une chute ou la chute d’un truc lourd sur moi, ce qui arrive quand on abat des arbres ou tout simplement quand on se balade dans une forêt non entretenue (concept difficile à appréhender lorsqu’on n’est pas sorti de France) ;
  • une ampoule, ça peut rapidement devenir un enfer ;
  • une écharde, ça s’infecte plus ou moins rapidement ;
  • une tique, ça peut mal tourner.

En conséquence, ma pharmacie actuelle :

  • une éponge de coagulation supérieure ;
  • un bandage de compression pour pouvoir faire un garrot ;
  • des pansements double peau ;
  • des tire-tiques (deux tailles) ;
  • des steri-strips ;
  • un scalpel ;
  • quelques pansements ;
  • du scotch solide (multi-usages) ;
  • des ciseaux pour libérer la plaie, couper les ongles, etc… on se rapproche de la trousse de toilette qu’il faudrait que je détaille aussi.

Et rien d’autre car je m’impose de toujours l’avoir sur moi contrairement à ce qui a trait à la toilette qui se retrouve dans le sac suspendu à un arbre loin du campement dans lequel il peut y avoir de quoi désinfecter ou se prémunir/guérir d’un coup de soleil, se nettoyer les yeux, etc

Le tout dans un petit sac rouge sur lequel il faudrait que je trace une croix blanche recto-verso bien visible des fois que l’on me retrouve en galère…

Attention, ce matériel n’a pas encore été éprouvé donc tout cela est très théorique (et d’un certain côté je m’en réjouis !).

February 13, 2018 11:00 AM

February 12, 2018

David Larlet

☕︎ Différent·e·s et ensemble

Je crois que nous n’avons vu qu’une petite partie de l’immense potentiel de partage, d’inventivité et de soutien mutuel qu’a la communauté agile francophone. Je crois aussi qu’il est temps, en s’appuyant sur le travail accompli depuis des années par les membres et les bénévoles, de libérer ce potentiel. C’est pourquoi je me présente à l’élection du bureau d’AgileFrance, et pourquoi j’ai besoin de votre soutien pour réaliser la vision promise par les statuts et l’ancrer dans son volet communautaire.

AgileFrance 2020 (cache)

J’ai rejoint une liste et une profession de foi (cache) afin d’encourager des initiatives locales, pertinentes et inclusives autour de l’agilité. Si vous pensez qu’il y a un besoin à ce niveau, vous pouvez vous joindre à l’aventure en votant pour la liste (il faut être adhérent de l’association avant lundi prochain, ce qui se fait par courriel) et/ou en filant un coup de main autant dans la réflexion que dans l’action qui suivra (voir les détails dans le billet de Matti).

Je suis très curieux de voir ce que l’on arrivera à concrétiser autour d’un tel projet en facilitant les échanges d’énergies au sein de la communauté.

February 12, 2018 11:00 AM

February 11, 2018

David Larlet

☕︎ Experience and complexity

In one way, it is easier to be inexperienced: you don’t have to learn what is no longer relevant. Experience, on the other hand, creates two distinct struggles: the first is to identify and unlearn what is no longer necessary (that’s work, too). The second is to remain open-minded, patient, and willing to engage with what’s new, even if it resembles a new take on something you decided against a long time ago.

Everything Easy is Hard Again (cache)

Franck Chimero nailed it. Everything in that talk is what I fought against/for within the last two years and my attempt to go back to basics, struggling with that infinite loop of technologies bringing more complexity at each and every new turn.

That breaks my heart, because so much of my start on the web came from being able to see and easily make sense of any site I’d visit. I had view source, but each year that goes by, it becomes less and less helpful as a way to investigate other people’s work.

Ibid.

That is why I tried to document as much as I can my HTML here: no compression, no tooling, just raw HTML, CSS and JS (alright some is minified with a link to the source). I wonder if somebody even tried to look at it, I consider this as passive transmission for active readers.

That is the beauty of the plain old web, each page you download is yours to hack, mess up with, understand.

February 11, 2018 11:00 AM

February 10, 2018

Karl Dubost

Le pouvoir

Le pouvoir et ses abus. Nous pensions que le sexisme se terminerait par la conquête du pouvoir par les femmes. Et en effet, dans les circonstances actuelles de notre société, c'est peut-être le chemin le moins difficile pour redonner de l'équilibre. Et pourtant… Investing in the health of the many rather than knuckling under to the most powerful among us is not only the key to ending sexual harassment, it charts a clear path to a workplace that says no to bullying.


Je crois profondément qu'un groupe soumis qui prend du ou le pouvoir accentue le problème général plutôt que de le résoudre. La source du problème est avant tout la légitimité du pouvoir dans notre société, quelqu'il soit. Je suis toujours partisan de retirer du pouvoir, de détruire les schémas qui conduisent à penser que d'atteindre une certaine position sociale est une démonstration d'un pouvoir. Je crois beaucoup plus à tous les mécanismes où les responsabilités sont partagées et où les rôles en responsabilité sont un fardeau, une tâche ingrâte que l'on tente de refuser.


J'ai 13 ans, je suis au collège. Un adolescent un peu plus agé veut me casser la gueule parce-que j'ai les cheveux longs et je porte parfois des pantalons roses. Une intervention adulte a été nécessaire pour déminer la situation.


J'ai 14 ans, je marche dans la forêt. Un homme la cinquantaine me croise. Il me pose une question, je ne me souviens plus quoi et en profite pour mettre sa main sur mon sexe. Heureusement, je suis déjà grand (pouvoir physique) et informé (pouvoir émotionnel). Je ne demande pas mon reste et continue mon chemin. Que ce serait-il passé dans d'autres circonstances sans ces pouvoirs pour contrebalancer ? Et si j'avais réagi de façon beaucoup plus violente ? Le problème d'origine est que l'un avait du pouvoir et qu'il pensait qu'il pouvait en user.


J'ai 29 ans. Je travaille à l'IUFM de Paris. Je suis sous contrat annuel. Une collègue de travail avec un statut de professeur me met une main aux fesses dans les escaliers. Je m'arrête. Je la regarde et je lui dis que ce n'est ni approprié, ni désiré de ma part. Elle répond en me disant que « ce n'était pas méchant. Une appréciation de mon caractère physique. » Je lui ai dit « non. » Elle n'a jamais recommencé mais ne s'est jamais excusée. Elle a estimé avoir le pouvoir de le faire.


Je cite certains épisodes. Il y en a d'autres. Nous sommes tous un jour victime d'un pouvoir, mais, et c'est très important de s'en souvenir, nous avons tous un jour abusé de notre pouvoir, parfois même sans comprendre la portée et la conséquence de nos gestes. Le pouvoir est une tumeur.


February 10, 2018 02:44 PM

David Larlet

☕︎ Github’s monorepo

Well, one thing we could do is make better use of the fact that we all now work in a monorepo called github.com. Everyone’s favourite distributed version control system has evolved to (hilariously) become the most centralized system we’ve ever had. As such, GitHub knows about you, your team, and your code and could help us navigate through everything it contains.

GitHub Knows (cache)

Very good suggestions here. Given that we opted for a centralized system, at least provide some useful information back about all that accumulated data! It would probably sounds creepy at first but if it serves well the community that might be valuable enough to trade our freedom, right? RIGHT?!

February 10, 2018 11:00 AM

February 09, 2018

Karl Dubost

Chimère HTTPS

HTTPS et la chimère sécurité. Tous les navigateurs Web se dirigent vers le même motto : « HTTP ça pue, vive HTTPS. » Chrome affichera tous les sites HTTP ainsi que celui-ci même comme « Not secure. » C'est une idiotie. For the past several years, we’ve moved toward a more secure web by strongly advocating that sites adopt HTTPS encryption. And within the last year, we’ve also helped users understand that HTTP sites are not secure by gradually marking a larger subset of HTTP pages as “not secure”. Beginning in July 2018 with the release of Chrome 68, Chrome will mark all HTTP sites as “not secure”. Developers have been transitioning their sites to HTTPS and making the web safer for everyone.


Vous me direz que mon argument est un peu court. Qu'il est maintenant « facile » de deployer des certificats pour son site depuis l'avénement de Let's Encrypt. Que cela protège les utilisateurs. Que cela permettra d'utiliser toutes ces nouvelles APIs uniquement accessibles sous HTTPS.


Ce que je vois surtout, c'est que nous plongeons tous vers un système complexe. Les certificats doivent être renouvelés tous les 90 jours (maintenance supplémentaire). Nous hyper-centralisons un système déjà très centralisé. Nous allons bien rire (jaune) le jour où il y aura une faille créée dans l'univers Let's Encrypt. Nous limitons l'utilisation du Web un peu plus à une frange encore plus professionnelle et industrielle.


Ce qui ferait du sens pour moi… est un chiffrement opportuniste à la volée et non pas un système de certificats tiers. Alors là oui, nous pouvons parler de systèmes qui placent le pouvoir du côté de tout un chacun.


February 09, 2018 01:40 PM

David Larlet

☕︎ Show, don’t teach

But instead of protecting them from the evil Internet, teach them to read, write, draw, paint, ask and think. Teach them researching, blogging, FTP. The challenge when you are in is to not become passive. To change from consumer to maker, following to self-thinking, quoter to commentator, liker to publisher, but mostly, from getting angry about headlines of articles you haven’t read to reading precisely, asking questions, researching, fact-checking, thinking clearly and writing carefully.

Take the Power Back (cache)

I really like that Olivier Reichenstein is back at blogging regularly and especially that article about blogs. However, I think teaching is not appropriated — more specifically for an acentered network — because it introduces some kind of asymmetric power relationship where there is a student and a master. “Show them how you read, you write, you draw, you paint, you ask and you think. Show them yourself researching, blogging, FTP.” Curiosity will do the rest and you are less prone to be the only example/source of truth in an equal relationship. Even better, they will show you how they read, write, draw and you will learn something too.

This is not a matter of being active or passive, rather a try to be aside instead of atop. To show a path to walk together.

Beware: showing is way harder than teaching.

February 09, 2018 11:00 AM

Karl Dubost

Changer…

Changer l'uniforme. Une école de Ginza décide que l'uniforme obligatoire des étudiants cette année sera fait par Armani à 80000 yens. Certains parents protestent. Le directeur de l'école fournit une excuse très japonaise. Traduit en non langue de bois : « Ce n'est pas que nous avons tort et que vous avez raison, mais bien que vous avez mal compris le but. Nous allons maintenir notre décision. » Ce n'est pas la première fois que je vois cette tactique. Le premier ministre du Japon à employer la même rhétorique à propos de l'article 9 sur le thème de si vous êtes contre, c'est que j'ai mal expliqué. “With humility, I take the criticism that explanation has been insufficient and not well-timed. I will go on explaining carefully to those concerned.”


Changer le monde seul. Un homme seul proteste dans la rue, car c'est le seul moyen de protester sans être arrêté. Une manifestation massive ou une manifestation unique. Rather, this anonymous, courageous wayfarer was asserting his right to the city: the “access to the resources that the city embodies”, as David Harvey says, “a right to change and reinvent the city more after our hearts’ desire”.


Changer ce que l'on sait. Quincy Jones sur la sortie du placard des racistes. Racism. I’ve been watching it a long time — the ’30s to now. We’ve come a long way but we’ve got a long way to go. The South has always been fucked up, but you know where you stand. The racism in the North is disguised. You never know where you stand. That’s why what’s happening now is good, because people are saying they are racists who didn’t used to say it. Now we know.


February 09, 2018 07:13 AM

February 08, 2018

David Larlet

☕︎ Adult behavior

  1. Be patient. No matter what.
  2. Don’t badmouth: Assign responsibility, not blame. Say nothing of another you wouldn’t say to him.
  3. Never assume the motives of others are, to them, less noble than yours are to you.
  4. Expand your sense of the possible.
  5. Don’t trouble yourself with matters you truly cannot change.
  6. Expect no more of anyone than you can deliver yourself.
  7. Tolerate ambiguity.
  8. Laugh at yourself frequently.
  9. Concern yourself with what is right rather than who is right.
  10. Never forget that, no matter how certain, you might be wrong.
  11. Give up blood sports.
  12. Remember that your life belongs to others as well. Don’t risk it frivolously.
  13. Never lie to anyone for any reason. (Lies of omission are sometimes exempt.)
  14. Learn the needs of those around you and respect them.
  15. Avoid the pursuit of happiness. Seek to define your mission and pursue that.
  16. Reduce your use of the first personal pronoun.
  17. Praise at least as often as you disparage.
  18. Admit your errors freely and soon.
  19. Become less suspicious of joy.
  20. Understand humility.
  21. Remember that love forgives everything.
  22. Foster dignity.
  23. Live memorably.
  24. Love yourself.
  25. Endure.

Principles of Adult Behavior, John Perry Barlow, 2013

Adult? What about Human? Or maybe these concerns can only happen because you are not anymore a kid? Mmmh.

February 08, 2018 11:00 AM

February 07, 2018

David Larlet

☕︎ Social systems

Designers are often good at understanding people’s goals and feelings. And these are important.

But, to build on these concepts — experimentation, reflection, wisdom, and practice spaces — designers must turn their focus away from goals and feelings.

Instead they need to see the experimental parts of people, the reflective parts, the things people are practicing, and their capacity for (and desire for) wisdom.

How to Design Social Systems (Without Causing Depression and War) (cache)

It all comes back to values. And Mark — besides his humanistic posts — does not look to have the same as yours:

McGinn declined to discuss the results of his polling at Facebook, saying nondisclosure agreements prevented him from doing so. But he said he decided to leave the company after only six months after coming to believe that Facebook had a negative effect on the world.

“I joined Facebook hoping to have an impact from the inside,” he says. “I thought, here’s this huge machine that has a tremendous influence on society, and there’s nothing I can do as an outsider. But if I join the company, and I’m regularly taking the pulse of Americans to Mark, maybe, just maybe that could change the way the company does business. I worked there for six months and I realized that even on the inside, I was not going to be able to change the way that the company does business. I couldn’t change the values. I couldn’t change the culture. I was probably far too optimistic.”

Facebook hired a full-time pollster to monitor Zuckerberg’s approval ratings (cache)

Six months and a “very, very expensive” budget to realize that. Slow clap.

February 07, 2018 11:00 AM

Karl Dubost

Opération Mer Rouge en Chine

Operation Red Sea. Un film d'action de guerre chinois dans la péninsule arabique avec effets spéciaux, explosions massives, dignes de toutes les stupidités d'Hollywood. Ce qui est intéressant n'est pas tant le contenu du film que son existence même et lieu de son action. Il dévoile l'agrandissement géopolitique de la Chine dans la narration de son territoire au delà de l'Asie. Famed action director Dante Lam returns with this explosive follow-up to his 2016 box office smash OPERATION MEKONG. When a terrorist plot to obtain nuclear materials is hidden under the cover of a violent coup, only the Chinese Navy’s elite Jiaolong Assault Team have the deadly skill and precision needed to take on the situation.


Yemen Evacuation Shows Chinese Navy’s Growing Role. Le film Operation Red Sea est inspiré par cette opération d'évacuation du Yemen en 2015. China evacuated nearly 600 of its citizens from conflict-torn Yemen this week in Chinese warships, in a demonstration of Beijing’s increasing ability to extract its people from dangerous places. […] Only a few Chinese remain in the country, the Chinese ambassador to Yemen, Tian Qi, told Xinhua, the state news agency, on Monday night. He described the operation, which included harrowing road trips from the capital, Sana, to the port of Al Hudaydah, as “a significant practice of major power diplomacy with Chinese characteristics.”


Photos show Beijing’s militarisation of South China Sea in new detail. The Inquirer said the images showed an “unrestrained” building campaign designed to project Chinese power across the resource-rich shipping route through which trillions of dollars of global trade flows each year.


Africa in China's Foreign Policy. On security issues such as U.N. peacekeeping operations, naval escort missions and evacuation missions, the Chinese military plays a significant role in coordination with MFA and MOFCOM. On issues under the mandate of specific government agencies, such as Chinese medical, agricultural or technical assistance to Africa, the policy is coordinated among MFA, MOFCOM and the agency directly involved.


February 07, 2018 01:35 AM

February 06, 2018

Karl Dubost

Dépenser son temps

Un Facebook plus éthique. Mark Zuckerberg nous invite à mieux dépenser notre temps sur son réseau en 2018. One of our big focus areas for 2018 is making sure the time we all spend on Facebook is time well spent. […] We feel a responsibility to make sure our services aren’t just fun to use, but also good for people's well-being.


Quand une entreprise commence à vouloir mon bien, je m'inquiète. Le but d'une entreprise est de vouloir son propre bien de façon à pouvoir survivre et engranger des bénéfices. Cela fonctionne correctement quand le futur de l'entreprise s'aligne à peu près sur les besoins du client. Ne jamais oublier que vous n'êtes qu'un prolétaire, pas un citoyen de Facebook. Le client de Facebook est l'annonceur. Vous êtes la sueur qui fait travailler les algorithmes de façon à rendre l'entreprise attractive pour le client. Les employés de Facebook sont les contremaîtres. Ce qui ne ressort pas de ce message initial est que Facebook est le problème et que quelque soit la solution proposée, il restera le problème. Pourquoi ? La taille et l'échelle. On ne peut pas vouloir le bien de milliard de personnes dans une entreprise commerciale.


Des interactions sensées. Et d'ailleurs… Voici comment le message est réinterpré de suite… par les parties tierces. While nobody knows exactly what the impact of the news feed changes will be, there are certainly ways for businesses on Facebook to work with the new algorithm and continue reaching their customers through “meaningful interactions.” […] This means brands should create quality content focused on sparking conversations between users. Try including questions in your posts, or write about timely, relevant topics that users are sure to have an opinion on.


Tout algorithme sera exploité pour optimiser son efficacité. Ainsi quelque soit les systèmes mis en place, ils seront limités par rapport au nombre de personnes qui les utilisent et donc appauvrissent la variabilité des échanges.


February 06, 2018 11:50 PM

David Larlet

☕︎ Bibliothèques de Montréal

En habitant à Montréal chaque membre de la famille a droit à 40 emprunts simultanés pendant 3 semaines renouvelables 3 fois depuis mon navigateur. C’est un réseau sur l’ensemble de la ville ce qui donne un catalogue assez fourni. Je peux commander en ligne et je reçois un courriel lorsqu’il est disponible au plus près de chez moi.

Elle est ouverte tous les jours.

February 06, 2018 11:00 AM

February 05, 2018

Karl Dubost

Informer et fake news

Reçu deux mails chiffrés avec pgp. Je n'ai pas pu les déchiffrer car j'ai oublié la phrase pour les déchiffrer. Je n'utilise pas assez souvent la phrase de cette clé pour me souvenir de son contenu.


Il n'y a de « fake news » ou plutôt ce n'est pas un phénomène nouveau que les faits soient interprétés, mis en perspective, romancés, manipulés, détournés, poétisés, commentés, modifiés, expurgés, édités, dilués, exagérés, censurés. Ces centaines de livres en face de mes yeux ne font que cela, juste cela, de la nouvelle au roman, de l'article scientifique au livre de poésie. Ce qui a changé est la capture d'un réseau fortement lié où l'information est immédiatement (ou presque) transmise à un large nombre. Du Web, lieu des conversations, nous sommes passés au Web, lieu de la conversation.


February 05, 2018 01:16 PM

David Larlet

☕︎ Livres et survie

Gardez les principes à l’esprit, et libérez-vous ! Apprendre plein de techniques toutes faites, c’est bien mais ça enferme. Les principes vous permettent de fabriquer vous-mêmes des techniques intelligentes, en fonction du contexte. Comprenez ce que vous faites et comment ça fonctionne ! Dans le détail !

Manuel de (Sur)vie en milieu naturel (cache)

J’ai beaucoup lu de bouquins relatifs à mes escapades et celui de David Manise sort du lot. Beaucoup de conseils de bon sens et d’exemples pragmatiques, je connaissais déjà son style via les Carnets d’Aventures :-). On est bien loin des tutoriels pour faire un feu avec un bout de ficelle (pro-tip : achetez un briquet ou au pire un allume-feu !) ou de ces délires survivalistes qui vous conseillent de partir avec trente kilos de nourriture…

Ça m’a notamment fait revoir certaines stratégies de stockage/répartition des basiques et m’a conforté dans l’idée qu’une pharmacie opérationnelle n’a rien à voir avec ces kits super légers mais super inutiles en cas de vrai pépin.

Il faudra que je parle du matériel un jour.

February 05, 2018 11:00 AM

February 04, 2018

David Larlet

☕︎ Toilette du code

La valeur ajoutée des nouvelles technologies me semble assez claire dans un univers nouveau, qu’on appelle l’empathie artificielle, à savoir l’utilisation de robots, dits sociaux, dans tel ou tel service. L’on pourrait se dire : quoi qu’il en soit, mettre des robots à la place d’êtres humains, c’est déshumanisant. Eh bien, l’on aurait tort. Car un grand nombre de patients, en perte d’autonomie, ne peuvent faire leur toilette tout seul, mais ont du mal à accepter qu’un homme ou une femme, même très prévenants, les accompagnent dans les gestes les plus intimes du quotidien. En revanche, qu’une machine plus ou moins humanoïde soit leur aide, plutôt qu’un être humain, pour tout ce qui est de l’ordre de la toilette leur va bien mieux.

« La technologie ne rend pas le soin plus facile » (cache)

Il serait intéressant de faire le parallèle avec l’intégration continue, un linter ou même un simple compilateur. Dans quelle mesure la confection de ce soin à une machine nous permet de nous détacher d’une part de crasse inavouable que l’on a produite ? Il semblerait que l’on ait encore besoin d’une touche d’humanité en fin de chaîne lors des revues de code, mais jusqu’à quand ? Et — encore plus intéressant — ajoutera-t-on alors une nouvelle étape nécessitant une présence humaine ou pourra-t-on se satisfaire de cette nouvelle forme d’empathie ?

Il y aurait un rapprochement/détachement éthique à faire sur cette lente prise de recul vis-à-vis du code que je ne fais qu’effleurer…

Il serait redondant de parler de programmation assistée par ordinateur mais c’est ce qui va forcément se démocratiser à l’instar des combinaisons homme-machine qu’il peut aujourd’hui y avoir dans le domaine des échecs (et prochainement du go). Quelle sera alors la part de responsabilité dorénavant partagée qui sera attribuée à l’humain ? Est-ce que cette « assistance » sera en mesure de soulever des problématiques éthiques face à certaines instructions ? Les algorithmes de machine learning ne sont qu’un embryon de ce qui arrive, si tant est que l’on soit encore en capacité physique de l’appréhender.

February 04, 2018 11:00 AM

February 03, 2018

Karl Dubost

Cacher pour inexister

Exclusive: Laser Scans Reveal Maya "Megalopolis" Below Guatemalan Jungle . The survey also revealed thousands of pits dug by modern-day looters. “Many of these new sites are only new to us; they are not new to looters,” said Marianne Hernandez, president of the PACUNAM Foundation.

Ne pas savoir et être conservé pendant des centaines d'années. Savoir et disparaître par la découverte. Ce que nous observons est fragile. Ce que nous touchons se détruit. La ville est une aile de papillon.

February 03, 2018 02:15 PM

David Larlet

☕︎ Dark theme

That is something I would like to try out for quite some time now and the current theme encourages this so I gave it a couple of minutes and 15 minutes of CSS later I came up with something readable. I activated it for my English readers to visually differentiate the language as part of my reflexions to tackle that issue on the same website. Obviously it is only a part of the answer to address it.

Let me know if it is a bad idea because it lacks some context or the contrast is kind of hard to read for you or whatever before I’m going too far down that path. Another option would be to more clearly separate English and French contents to avoid going back and forth on dark/light themes if you read both.

Who knows, maybe one day I will switch the entire site to a dark theme :-).

February 03, 2018 11:00 AM

February 02, 2018

David Larlet

☕︎ Machine failearning

A challenging feature of machine learning is that exactly how a given system works is opaque. Nobody — not even those who have access to the code and data — can tell what piece of data came together with what other piece of data to result in the finding the program made. This further undermines the notion of informed consent, as we do not know which data results in what privacy consequences. What we do know is that these algorithms work better the more data they have. This creates an incentive for companies to collect and store as much data as possible, and to bury the privacy ramifications, either in legalese or by playing dumb and being vague.

The Latest Data Privacy Debacle (cache)

Even worse that that, you can easily play a learning algorithm (cache). This is not anymore about mutual consent (cache) because even the company you consent with has no idea what they are doing. They hardly see the power in all this data and are almost blind on risks.

If privacy is the next big thing (cache), it must start with an expiry date on pushed data and it must be encrypted on the client-side. For sure, it’s becoming harder to share with somebody else but that’s where peer-to-peer comes to the rescue! Keys to your data should not pass through a third-party actor which has all rights on deciding to whom they are granted.

From social networks to local networks.

February 02, 2018 11:00 AM

Karl Dubost

Libération sexuelle et pouvoir

Libération sexuelle… des hommes. And ubiquitous female sexualisation has manifested a reality in which young women find themselves in unwittingly sexualised situations all the time. Young women are right to feel that destigmatised sex has enhanced their traditional patriarchal status as sex objects, not liberated them from it. Rien ne changera tant que les structures de pouvoir ne seront pas modifiées. Le harcèlement sexuel ou moral n'est que malheureusement la triste suite du déséquilibre social, de l'ordre de la puissance et de la manufacture de cette puissance dans notre culture quotidienne. Homme blanc, je suis né. La société m'a donné un rôle tout tracé dont les stéréotypes sont renforcés au quotidien. Ma seule bouée de sauvetage quand je m'égare dans les chemins de la dominance, volontairement ou involontairement, est l'éducation féministe reçue dans mon enfance. Est-ce que cela suffit ? Non… Et c'est bien là tout le drame de la consolidation de nos schémas de société.

Et si nous nous confrontons à une situation où nous pensons ne pas être en tort, nous devons d'abord accepté et changé notre position afin d'abandonner tout ce qui est le privilège de notre situation. Et peut-être là, à ce moment, où nos sens, nos émotions, nos actions sont « a-privilégiées, » alors là, oui peut-être, pouvons nous avoir une discussion raisonnable.

February 02, 2018 04:59 AM

February 01, 2018

Karl Dubost

Les petites satisfactions

Échelle de satisfaction. First, I'm not really sure it had a big impact. Love is blind, and I'd go so far as to say that it's the same kind of near-sightedness that happens in our professional life, often. Some may think of themselves as representative of the sphere, but the community as a whole is a very large thing, and we impacted, at best, a few hundred people. And by “impacted”, I mean it had the same sort of effect as going to a concert: you feel good when you come out of it, and then you go down to work the next Monday and nothing's really changed. Le « it » dans ce texte est Paris Web. Stéphane revient sur les périodes exceptionnelles d'une vie où nous avons l'impression de créer du changement ou de contribuer à une grande révolution. Et pourtant… nos plus grandes satisfactions, nos plus grands sentiments d'avoir agi dans le bon sens sont bien souvent beaucoup plus simples et sans témoins. Cette femme en détresse dans la nuit, ce sans-abri écroulé au milieu de la route, ce merci que nous avons reçu d'une personne chère parce-que nous l'avons aidée au bon moment, de la bonne manière. Oui, tous ces petits instants sont juste… immenses. Partager sa connaissance à une conférence n'a pas l'ambition de changer le monde. Mais en revanche, si dans l'audience, nous arrivons à semer des graines d'idées qui auront leur propre germination, leur propre chemin et dont nous ne saurons jamais rien la plupart du temps, nous avons alors participé à une belle histoire en cours de rédaction. C'est une des raisons pour laquelle j'aime beaucoup la conférence la rouille du Web. Séparément, Olivier et moi avons donné des versions de cette conférence par la suite. Une de mes meilleurs expériences fût celle de Jakarta avec 18 personnes, où nous avons discuté du sujet pendant près de deux heures.

February 01, 2018 02:59 PM

David Larlet

☕︎ Transmettre localement

Montréal prévoit ainsi adopter prochainement une politique d’utilisation des logiciels libres. On veut notamment contribuer au développement des logiciels libres en concevant des applications. À cet effet, la métropole compte développer des partenariats avec d’autres villes, principalement du Québec, mais aussi à l’étranger, comme Paris. L’idée est notamment de partager le coût de développement.

Dix ans pour rattraper le retard informatique de la Ville (cache)

Manifestement, il y a des choses à faire dans le coin. Que ce soit pour participer directement au code ou pour échanger avec des étudiants (cache) sur les bonnes pratiques autour de l’Open-Source je suis preneur de tout contact.

February 01, 2018 11:00 AM

January 31, 2018

Karl Dubost

Politique

Quelques photographies du Bhutan. D'ailleurs il n'y avait pas eu de suivi à propos de cette histoire de diffamation entre une journaliste et un homme d'affaires(https://www.theguardian.com/world/2016/nov/18/bhutan-journalist-hit-by-defamation-suit-for-sharing-facebook-post) dans le Guardian. Apparemment, elle a décidé de quitter le Bhutan. Ou peut-être pas. Un article à propos des 180 femmes participant aux activités politiques du pays. The media can only make visible what exists. For women leaders to exist, laws must bring them into being first.

Les messages importants des politiques ne devraient pas être postés uniquement sur facebook.

Je vis au Japon. Je suis une minorité visible. Dans les discussions diverses et variées, il y a souvent cette demande, même lorsque je suis passif. « Comment cela se passe en France ? » Mon passeport et mon origine me transforment de suite en expert du sujet dans un contexte français. Je me dérobe de plus en plus à cette question pour deux raisons essentielles. Je ne suis pas forcément expert sur le sujet en question. Je n'ai pas vécu en France depuis décembre 2001.

Communiquer humainement. The purpose of that line was simply to emphasize the content of the proposed bounce message, to help people understand, the receiver of an email may never have agreed to Google's non-privacy policy but if you do use Gmail, you impose that surveillance regime on them, and not just yourself, if you send them a message from a Gmail account. Communication requires mutual agreement about the medium.

January 31, 2018 02:59 PM

David Larlet

☕︎ Canaris climatiques

Robert McLeman, qui enseigne la géographie à l’Université Wilfrid Laurier en Ontario, estime qu’au cours des prochaines décennies, la saison de patinage à l’extérieur sera raccourcie de 30 à 40 % au Canada. « Si on dispose actuellement de huit ou dix semaines pour créer une patinoire, dans les prochaines années, on en aura plutôt entre quatre et six », dit-il.

C’est loin d’être anodin. On aurait tout avantage à considérer les patinoires comme les canaris dans la mine du dérèglement climatique. Ces oiseaux dont la mort, jadis, prévenait les mineurs qu’ils étaient en danger.

Le canari dans la mine (sur le mont Royal) (cache)

Il est terrible de réaliser que nos canaris sont de l’ordre du divertissement pendant que les pauvres en meurent. Au loin, profondément enfouis dans les mines de notre indifférence.

January 31, 2018 11:00 AM

January 30, 2018

Karl Dubost

Pérennité

Ne pas avoir peur de la mort est un des éléments du bushido, le code des samourais. Très souvent mal compris comme un engagement au suicide et à l'inconscience de la vie. Je l'ai toujours interprété comme une alarme positive sur la façon de vivre. Dans le cas de MapZen, qui vient de fermer, il y a très tôt dans le développement de l'entreprise, la question intéressante : « Est-ce que ce que nous faisons peut survivre la mort de l'entreprise ? » C'est une bonne question sur la pérennité de ce que l'on construit. hors de notre capacité à le maintenir nous même. Cela enlève aussi probablement de l'affect sur ce que nous construisons. Il s'agit moins de nous (vers l'intérieur), mais bien plus de la mission (vers l'extérieur). Early on at Mapzen, we were planning some new project. I asked a question that kind of scared me: “How would this survive the death of the company?” We weren’t close to death, and it scared me because who wants to hear that from the CEO? But it captured what we were doing in this special point in time and inspired our work. We had the chance to build everything to survive, and we did it. And we planned it all along the way to survive past our own existence.

January 30, 2018 02:59 PM

David Larlet

☕︎ Nomades et sédentaires

Merci Thomas de m’avoir fait découvrir « Les Roms, derniers porteurs de notre culture d’origine » où il est question de liberté pour les uns et de propriété pour les autres, depuis quelques milliers d’années…

Est-ce qu’il y aurait une place pour un entre-deux ? Un nomadisme lent qui ne cherche pas à clôturer mais à cheminer localement, cueillir des idées pour aller les semer ailleurs.

Et recommencer.

January 30, 2018 11:00 AM

January 29, 2018

Karl Dubost

Puisqu'il faut écrire

Parcs en forme

Il y a de nombreux parcs de quartiers au Japon avec des installations pour les enfants. Les toboggans en forme de pieuvre viennent rivaliser avec d'autres animaux. Apparemment Maeda Environnement Art Co., Ltd est la société responsable pour nombre d'entre eux.

La pieuvre n'est pas la seule forme. Kito Fujio en a pris en photo un peu partout.

Des notes

  • Simple note taking from the command line avec de jolies variations dans les commentaires. Le plus difficile pour moi étant de lâcher de la contrainte pour l'instant sur le HTML qui résulte des outils.
  • Il aura fallu 3000 ans à ce volcan, Kusatsu-Shirane, pour se réveiller… sans alertes. Ne jamais penser que l'activité géologique d'un lieu est définitevement morte.

Lâcher du lest

Growing apart and losing touch is human and healthy. « What allowed me to change and prosper was the freedom to grow apart and lose touch with people. It’s hard to change yourself if you’re stuck in the same social orbit. There’s a gravitational force that pulls you into repeating the same circular pattern over and over again. Breaking out of that takes tremendous force. »

Pour pouvoir évoluer, grandir, il faut savoir aussi abandonner. Le danger de la vieillesse est tout ce que l'on peine à laisser partir afin de pouvoir permettre aux nouveaux chemins de nous illuminer.

January 29, 2018 02:59 PM

David Larlet

☕︎ Social software

Writing social software is hard. And, as I said, the act of writing social software is more like the work of an economist or a political scientist. And the act of hosting social software, the relationship of someone who hosts it is more like a relationship of landlords to tenants than owners to boxes in a warehouse.

[…]

The patterns here, I am suggesting, both the things to accept and the things to design for, are givens. Assume these as a kind of social platform, and then you can start going out and building on top of that the interesting stuff that I think is going to be the real result of this period of experimentation with social software.

A Group Is Its Own Worst Enemy (cache)

Everything is here, since 2003. To sum up even if I encourage you to read the whole piece:

  • How is a group its own worst enemy? Sex talk, identification and vilification of external enemies and religious veneration.
  • Three things to accept: you cannot completely separate technical and social issues, members are different than users and the core group has rights that trump individual rights in some situations.
  • Four things to design for: The first thing you would design for is handles the user can invest in. Second, you have to design a way for there to be members in good standing. Three, you need barriers to participation. And, finally, you have to find a way to spare the group from scale.

I kind of find these patterns in every group I joined. It should be taken into account within a local constitution. Somehow reminds me patterns I tried to identify myself. Oh my god, re-reading that piece five years later I realize I already linked to that same page from there…

Am I really looping over my own thoughts indefinitely?

January 29, 2018 11:00 AM

January 28, 2018

David Larlet

☕︎ Custodian of culture

If no one has told you yet, as your career in tech progresses you will eventually become a “custodian of culture.” If you run a meetup or a team, if you lead an open source project, or if you organize an event people will be looking to you to know what is and isn’t okay in that space. You get this responsibility whether you want it or not. You don’t have to be internet famous to have this responsibility. If there are people you work with who have been around for less time than you, then you are going to help set the culture for them.

We Don’t Do That Here (cache)

That is exactly why cultures are so slow to change, they are tied to people already in there. I am not sure reproducing that pattern — even for something that seems good today — would improve the situation and allow to iterate quickly with newcomers: fresh blood, hopefully open-minded people. The responsibility should not be on elders’ shoulders but on all members of the community. A leader is somebody who is more careful about letting everybody speaks up than to end conversations.

Edit: Sébastien Vigneau answered me ”Good things are easier to break than to build, so progress involves some degree of transmission and preservation“.

January 28, 2018 11:00 AM

January 27, 2018

David Larlet

☕︎ Faire mémoire

Cette triple conjonction de faits doit, à tout le moins, nous amener à nous interroger sur notre capacité à faire mémoire en dehors du champ desdites plateformes. C’est à dire, puisqu’il ne peut y avoir de société sans mémoire, à nous interroger sur notre capacité à faire société en dehors de ces plateformes.

L’archive épidémique (cache)

Le fait de ne plus être en capacité de reproduire notre passé (cache) nous condamne à le revivre chaque jour un peu différemment avec un flux légèrement réadapté pour nous donner l’illusion d’une nouveauté à laquelle on aspire sans savoir vraiment pourquoi. Est-ce que votre timeline d’il y a trois mois pourrait vous être présentée demain sans que vous ne puissiez le déceler ? Dans mon cas, très certainement, et ce n’est pas seulement en raison de l’externalisation de ma mémoire mais de son inscription dans une routine à tendance apathique. Secondé par une perte de sens de ce que j’y lis en ayant conscience que cela a été filtré par la main invisible de l’algorithme.

Techniquement, les solutions sont plutôt faciles (cache) mais peut-on encore en avoir la vitalité politique ?

P.S. : le travail continu (et si dense !) d’Olivier Ertzscheid est remarquable. Merci.

January 27, 2018 11:00 AM

★ Into the Cold

There is no bad weather, only bad clothes!

I am just back from an overnight winter camping session close to the place of my previous trip. It is a good spot because it is located between a national park and a natural reserve, hence a preserved wildlife and not that much light pollution. It was a clear day not as cold as we had at the beginning of the year with felt temperatures dropping below -30°C, I don’t think it was below -15°C overnight with no wind at all so it was kind of classic for the season.

Earn or learn

Because I like that format:

  • earn: insanely good equipment, I paid the price and it clearly delivered (at least under pleasant weather, once again I am not trying to fight against it). It is an investment but when you live in Canada it can be easily reused ;-).
  • learn: your worth enemy is moisture, which means that you are your worst enemy, you need to take care of your sweat, the ventilation of your tent, your respiration and so on.
  • earn: I cannot remember where I read that you should not rely on your fire to cook during winter camping and that was true in my case… hopefully I brought food that I can eat without boiling water.
  • learn: I failed pretty badly at maintaining a fire which is vital, not only for the warmth or the psychological effect but to deal with water, we had icy rains the week before which means that even dead still trunks were surrounded by ice!
  • earn: switching my axe for a big knife (+ saw) looks to be enough for batoning logs and less heavy overall, especially because of my lack of proficiency with an axe and the implied risks.
  • learn: using a tent even if it adds extra warmth — it does not dropped below -6°C within it overnight — encloses the moisture too much, which freezes inside of the tent which is definitely not fun. I will try with a regular tarp next time or at least remove the inner part.
  • earn: everything can freeze, cheese slices, goretex bibs, compotes, leather gloves, thermos, tent pegs, etc.
  • learn: no fire means no water past a certain time, that alone is a blocker for more than a night, I woke up totally thirsty and double punishment I had to bring back iced bottles/bricks to the car. With my current skills, a stove is required to be sure to be able to melt some snow.
  • earn: keeping my batteries alive (phone, lamp), I started the night with a water bottle within the sleeping bag too but it accidentally dropped of, it would have saved me in the morning.
  • learn: I did not take the time to go very deep into the forest given the time I had and I was still able to ear snowmobiles during the evening, less scared to cross wolves’ paths this way though.
  • earn: overall the silence of the winter contrasts with the numerous sounds of life during the other seasons, that is incredibly relaxing.
  • learn: suiting up in a tent totally iced requires some flexibility I obviously lack of :-D. I am pretty sure the icy morning shower is good for the skin (probably another Swedish saying).
  • earn: building some confidence to go alone in the cold, definitely not ready for an expedition but it is already a step toward it. Under these conditions, the insignificant failure is critical and the pressure associated is huge which induces a lot of attention and thus increased tiredness. Going solo is at this cost.
  • learn: a headlamp was not necessary with the reflection of moon’s light on the snow, even within the tent!

As for other aspects of my life, I start small and iterate, it allows me to learn rather safely so far, see you next time!

January 27, 2018 11:00 AM

January 26, 2018

David Larlet

☕︎ Robots after all

In order to make sure that robots serve us and not the other way around, we need to make sure that we know when we talk to robots and when they talk to us. Asimov’s three laws don’t make sense if we cannot discern human from robot. Identifying robots will kill a core amplifier of spam on social media and elsewhere.

Domo Arigato, Mr. Roboto, Tell us Your Secret (cache)

But, it will kill business too. Mostly because we don’t want to admit that we are reading (ro)bots as part of our daily routine so we will filter them out if it becomes too explicit. Maybe silos are already making the distinction pretty accurately between robots and humans and are adjusting the feed just to the bearable level that will keep you engaged.

When it becomes political — and we crossed that line a long time ago — the value relies not anymore in individual actions but in collective reactions and it appears that (ro)bots are pretty good at generating these.

January 26, 2018 11:00 AM

January 25, 2018

David Larlet

☕︎ Public responses

Since David doesn’t allow public responses, I’ll try and follow his way of publishing letters in personal spaces.

“HTTPS considered harmful”, yes, but isn’t HTTP too? (cache)

I try to link to any reference/response of my articles and/or to answer myself to feed the helix of knowledge we both create during the exchange (more to come on that concept). It induces to share the responsibility to maintain that content online for both sides (my cache somehow mitigates that but you get the point). I try to answer every email I receive related to my articles and sometimes ask if it is possible to answer publicly. I don’t know how to encourage more and I don’t know if I can actually handle it!

Maybe mentioning explicitly that sending an email can be short and that the reply can even be shorter. Maybe with a more prominent call to dialogue on each page. Maybe it’s okay like that and it serves as a filter for deeper reactions.

January 25, 2018 11:00 AM

January 24, 2018

David Larlet

☕︎ Re: Re: HTTPS considered harmful

I don’t argue HTTPS is overkill for many uses, especially for websites that provide read-only, low-importance information, and I do agree with your underlying expectations of simplicity and performance. My replies are only there because you used several technical arguments that I consider slightly exaggerated. You mention “not in my case”, then it would be worth describing that case more precisely in the article (though I think I see the kind of small, server-rendered, simple website you’re talking about and that I also tend to ship).

“HTTPS considered harmful”, yes, but isn’t HTTP too? (cache)

My case is the only place where I publish: here. A place where I could hardly experiment anymore (cache) without a certificate anyway. Let’s plaid for a new norm (cache) at all costs, and then create a new one atop of it because users couldn’t trust it (us?) anymore.

For the sake of (false) security, all extra complexity is granted. GG.

January 24, 2018 11:00 AM

January 23, 2018

David Larlet

☕︎ Employés de la donnée

Le défi qui attend la CNIL est de devenir non pas un gardien de la propriété sur les données, mais un défenseur des droits des travailleurs de la donnée.

La vie privée et les travailleurs de la donnée (Le Monde, 22 janv. 2018) (cache)

Sommes-nous encore des travailleurs de la données ? J’ai l’impression que l’on nous a confisqué ce savoir-faire, que l’on nous a prélevé ces données afin que l’on ne puisse plus en faire ce que l’on veut, que nous sommes devenus des employés de la donnée à travers une prolétarisation (cache) forcée (ça sonne tout de suite moins bien que le cloud…).

Au mieux sommes-nous des employés de la donnée, qui nous travaille à souhait via les algorithmes qu’elle entraine. Au pire, nous alimentons notre propre perte.

January 23, 2018 11:00 AM

January 22, 2018

David Larlet

☕︎ Bilingualism and elitism

I have an issue with languages in that space. On one hand, I consider that using both French and English is closer to my daily life in Montreal and I’m happy to reflect that here. On the other hand, I do realize that it forces part of my readers to miss half of the content.

At the end of the day, I’m not sure if it encourages inclusivity or elitism. Maybe I should split and reactivate an old domain to be clear, maybe I should translate each and every post, maybe I should mix both languages within the same sentence as a true Quebecer :-)

P.S.: I know I’m not consistent with myself over time.

January 22, 2018 11:00 AM

January 21, 2018

David Larlet

☕︎ La barre est haute

En ayant accès à beaucoup plus de choses, on est en capacité de montrer aux enfants davantage d’exceptions. Des extrêmes auxquels l’on n’avait pas forcément accès dans ma (pas si) lointaine jeunesse. Une simple recherche sur Youtube et ce sont des performances qui sont quasi-inaccessibles. Je me demande ce que cela peut produire en terme de découragement et de jusqu’au-boutisme. La popularité conduit à mettre en avant l’exception sans en montrer les marches pour y arriver. Si tant est qu’elle soit encore rejoignable.

Encore une question d’algorithme, qui cette fois influe sur notre façon de concevoir les possibles. Une influence difficile à identifier et à mesurer mais qui pourrait avoir des effets de leviers lorsqu’elle se personnalise.

Tous cobayes volontaires.

January 21, 2018 11:00 AM

January 20, 2018

David Larlet

☕︎ Groupes de discussion

Dans ce brouhaha général, j’échappe le fil de conversation avec la personne devant moi. Je ne l’entends pas plus fort que les autres bruits, et elle s’y dissout. En fait, je dois mettre une énergie titanesque pour continuer de suivre la conversation. Et cette énergie me rend anxieuse et physiquement épuisée au point de frôler l’effondrement.

Immanquablement, avec tous ces bruits, toute cette agitation des gens qui passent devant moi, avec les enfants qui jouent bruyamment, je vais sentir se matérialiser un vertige. Je manque d’air, mon ventre se crispe, et j’ai une envie criante de hurler et de me volatiliser. […]

À chaque addition de stimuli et de nombre d’individus, je m’enfonce un peu plus. Les bruits sont de moins en moins distincts, et je suis K.O. J’ai beau lutter, je ne parviens pas à faire semblant, à converser malgré tout. Il n’y a plus rien, rien qu’un genre de néant intellectuel ponctué de malaise physiques intenses, puis une sensation de détachement, d’un nuage de brume qui s’épaissit.

Derrière le mur de verre, Marie Josée Cordeau

J’ai du mal à établir un dialogue avec plus de quatre interlocuteurs. Au-delà de cette limite, plusieurs conséquences :

  • les discussions deviennent plus superficielles (sans aucun jugement, certaines personnes ont besoin de ces échanges et je respecte cela), il se produit une perte d’intimité à la discussion qui devient semi-publique et perd de sa consistance ;
  • les intervenants n’ont plus des pairs en face mais s’adressent à un auditoire avec tous les travers associés : figure du héros, concurrence d’attention, bouc émissaire, etc ;
  • je m’épuise à tenter de cerner trop de subtilités et à explorer de trop nombreuses possibilités vu le temps imparti ce qui a pour effet immédiat une mise en retrait de protection, à la fois pour moi mais aussi pour les autres au sujet de la franchise déplacée que je pourrais avoir dans ces moments là.

January 20, 2018 11:00 AM

January 19, 2018

David Larlet

☕︎ Commit (hi)story

There is one tool that we under utilise in our communities for communicating our intent and that is our version control system. […]

Our commit history has some very special properties which make it particularly useful for documenting intent.

It is kept forever.

It is always up to date and this almost certainly not true of most of the documentation you have, perhaps in a wiki or even in code comments.

And, this may come as a surprise to some of you, it is searchable.

Telling stories through your commits (cache)

Even if I try to write good commit messages (cache), I never thought about actually using it as an up-to-date line by line documentation (cache). Which lead me to think about a more friendly way to visualize it. Using git blame or any other git trickery (cache) is a bit too nerdy for me. I’m still looking for the most appropriated plugin for my editor which would display the commit message related to each line without the hurdle of doing it by hand.

January 19, 2018 11:00 AM

January 18, 2018

David Larlet

☕︎ Unconditional Lifetime Warranty

This means if you break it, we will repair or replace it. We will not question the validity of your warranty claim for a broken knife. Warranty is lifetime and transferable. In other words, we warranty the knife no matter how many times it’s been traded, sold or given away – no sales receipt or proof of purchase required. We must have the knife returned to validate a warranty claim.

A lot of folks have asked us how we can stay in business offering such great customer service and warranty protection. The answer is simple; we believe that consumers, as a whole, are honest people. The occasional customers who are dishonest are few and far between, so even if we lose every once in a while due to dishonesty, our reputation of great customer service, regardless of the situation, brings us more good customers.

ESEE Warranty (cache)

Imagine the same kind of warranty for a website. The last time I saw something approaching (only 5 years), it was a single web page and it was worth a million!

Which are your engagements for the website you are developing today? Has it even been discussed? I sometimes wonder how many lines of code I produced these last 10 years are still online. If I’m really honest with myself, I prefer not to know, afraid to be guilty of being paid that much for such an obsolescent domain…

January 18, 2018 11:00 AM

January 17, 2018

David Larlet

☕︎ Constitution d’évènement

Une constitution est une loi fondamentale ou un ensemble de principes qui fixe l’organisation et le fonctionnement d’un organisme, généralement d’un État ou d’un ensemble d’États. Son but est la préservation du bien commun par les principes et bénéfices reconnus de la séparation des pouvoirs, pour une justice au plus égalitaire, pour la préservation de la souveraineté nationale ; incitant aux qualités individuelles d’impartialité des représentants, plus surement, intrinsèquement évitant par ses règles des conflits d’intérêts et de collusions ; limitant, supprimant au mieux nombre des risques de dérives naturels des pouvoirs sans contrôles, sans modérateurs, sans contre-pouvoirs […]

Constitution — Wikipedia

Inspiré par une discussion avec Julia suite à ma note sur le Code d’(in)conduite, peut-être qu’il faudrait rédiger les règles qui régissent un vivre ensemble — aussi court soit-il — dans un document prenant la forme d’une constitution. Établir ensemble les règles constitutionnelles qui vont régir la séparation des pouvoirs. Entre les participants et les orateurs, entre les organisateurs et les prestataires, entre les nouveaux-venus et les habitués, entre les oppressés et les oppresseurs, etc.

Je ne sais pas quel temps cela prendrait, ni si un/quel quorum serait nécessaire à son établissement. Mais imaginons. Peut-être que l’évènement aurait une saveur particulière ? Peut-être qu’une telle implication mènerait finalement à l’abandon ? Peut-être que cela motiverait l’expérimentation à une autre échelle ? (coucou Étienne) Peut-être que cela ne serait qu’une énième itération vers des évènements plus inclusifs ? Peut-être que la reproduction d’un système complexe qui a montré ses limites est voué à l’échec ? Peut-être que des essais ont déjà été fait dans ce sens ?

Il reste tant de choses à tester. À espérer.

January 17, 2018 11:00 AM

January 16, 2018

David Larlet

☕︎ Stratégies d’évolutions

Frédéric a remis en cause ses outils et en a sélectionné d’autres qui lui semblent plus adaptés pour atteindre son objectif.

De mon côté, au lieu de remettre en cause mes outils, j’ai choisi de me remettre en cause et de mieux comprendre les principes fondamentaux du paradigme que j’utilise, ce qui m’a amené à faire évoluer très fortement mes méthodes de développement.

Les outils sont-ils la solution à nos problèmes ? (cache)

Frédéric me propose son article comme suite de réflexion à une précédente note, depuis quelques mois/années je suis davantage sur la remise en question des objectifs : mieux cerner le besoin pour pouvoir utiliser des outils plus simples et pertinents.

Notre profession produit du périssable, comment rendre l’investissement rentable ? Mes pistes actuelles :

Est-ce que cela est économiquement viable ? Nous venons de souffler notre cinquième bougie chez scopyleft :-)

January 16, 2018 11:00 AM

January 15, 2018

David Larlet

☕︎ Stimulus, JS and HTML

Stimulus is concerned with manipulating this existing HTML document. Sometimes that means adding a CSS class that hides an element or animates it or highlights it. Sometimes it means rearranging elements in groupings. Sometimes it means manipulating the content of an element, like when we transform UTC times that can be cached into local times that can be displayed.

[…]

This makes Stimulus very different from the majority of contemporary JavaScript frameworks. Almost all are focused on turning JSON into DOM elements via a template language of some sort. Many use these frameworks to birth an empty page, which is then filled exclusively with elements created through this JSON-to-template rendering.

Stimulus also differs on the question of state. Most frameworks have ways of maintaining state within JavaScript objects, and then render HTML based on that state. Stimulus is the exact opposite. State is stored in the HTML, so that controllers can be discarded between page changes, but still reinitialize as they were when the cached HTML appears again.

The Origin of Stimulus (cache)

A different paradigm, an old one actually, revisited. I’m more inclined to use that kind of approach given my usual needs. And if it gets bigger, it’s probably not my fish and I’m happy with that. It looks more robust by default and does not serve a blank page for whatever valid reason.

January 15, 2018 11:00 AM

Gautier Poupeau

La conservation des données numériques n'est ni une révolution, ni inatteignable

Alors que je m’étonnais dans un tweet, suite à une interview d'Anne Both, qu'on puisse encore émettre des doutes sur la conservation des données numériques, Julien Benedetti a attiré mon attention sur la conférence-table ronde "Les archives : quoi de neuf" qui a eu lieu à l'Ecole des chartes le 12 décembre dernier avec trois éminents archivistes(-paléographes) : Christine Nougaret, Bruno Galland et Edouard Bouyé.

Etant donné les mots de Julien Benedetti, je me doutais bien que le sujet serait abordé sous l'angle défaitiste qui le caractérise depuis plusieurs années, mais je ne m'attendais pas à entendre deux grands professionnels des archives se sentir aussi démunis face à cette question. Lorsqu'on visionne les quelques minutes (de 34 min à 47 min environ...) consacrées à ce sujet, on s'aperçoit que les manques sont à tous les niveaux : formation, organisationnel, technique, stratégique et même économique. Je comprends alors mieux les mots d'Anne Both qui ne fait que retranscrire ce que les archivistes ont pu lui dire à ce sujet.

<!--break-->

Quelques certitudes....

Je ne prétend pas détenir la réponse à toutes les questions, d'autant que je ne suis pas archiviste et que certains pourraient, à raison, m'opposer un procès en légitimité. Par ailleurs, je ne voudrais pas paraître "donneur de leçons", je me doute bien de l'extrême difficulté des archives départementales dont les moyens informatiques ne sont pas ceux dont nous disposons à l'Ina ou dont nous avons disposé lorsque j'ai participé à la mise au point de SPAR à la BnF. De plus, cette question du numérique n'est qu'un aspect parmi tant d'autres de leurs missions. Malgré tout, il existe trois choses dont je suis aujourd'hui certain.

La conservation des données numériques n'est pas une révolution

Dire comme le font Christine Nougaret et Bruno Galland que l'arrivée du numérique est une révolution pour le métier d'archiviste est à mon avis une erreur. Cette problématique persiste à être placée en marge du reste de l'activité quotidienne alors même que la conservation des données numériques s'appuie sur exactement les mêmes fondements du métier d'archiviste que pour les supports physiques traditionnels. S'il est vrai, comme le rappelle Bruno Galland, que l'expérience du numérique est complètement différente de celle des supports traditionnels, cela ne change en fait pas grand chose et la question du support (d'écriture et de consultation) n'est qu'un leurre (voire un prétexte...) sur lequel se focalisent à mon avis trop les archivistes.

Un marché de la conservation des données numériques sur le long terme n'existe pas et ne peut pas émerger (pour le moment ?)

Edouard Bouyé voit dans l'émergence d'un marché économique une solution pour prendre en main sérieusement cette question. Le lancement par l’Etat du programme Vitam vise, si j’ai bien compris, à mutualiser les coûts de développement et à favoriser l’émergence d’un écosystème autour d’une solution logicielle open source. Malgré cela, en l'état actuel des choses, un marché pour la conservation des données numériques sur le long terme ne peut pas exister pour au moins trois raisons :

  1. Il n'y a pas d'investissements massifs autant dans le privé que dans le public autour de cette question. Les entreprises ont besoin d'effectuer du stockage sécurisé pour, au plus, une ou deux dizaines d'années, point qu'on sait assez facilement résoudre (j'y reviendrai). Quant au long terme des archives publiques, les moyens à investir pour y parvenir sérieusement dépassent de très loin les possibilités de chaque AD.
  2. Par conséquent, la mise en place d'un système pour effectuer la conservation du numérique passe immanquablement par une mutualisation des infrastructures (permise d’ailleurs depuis peu par le SIAF) ce qui implique l'existence d'un petit nombre de systèmes et rend complexe le retour sur investissement du développement.
  3. Déployer un système qui assure le stockage, la surveillance et la consultation des données numériques ne résout pas tous les problèmes. La difficulté principale réside dans la récupération des données dans les systèmes sources et leur formatage dans des formats maîtrisables par le centre d'archives. Or, il faut effectuer un travail spécifique pour chaque solution déployée dans la collectivité. Qui dit travail spécifique, dit impossibilité de déployer une solution logicielle et donc inexistence d'un marché spécifique.

Des solutions (spécifiques) existent et fonctionnent

Les solutions pour permettre la conservation des données numériques existent et fonctionnent et je ne donnerai qu'un exemple que je connais bien (parmi d'autres) pour appuyer mon propos : SPAR (Système de préservation et d’archivage réparti) à la BnF. On fêtera en mars les 10 ans du lancement du projet d'implémentation de ce système et force est de constater qu'il fait le job sans, à ma connaissance, de changements majeurs dans son fonctionnement ou son architecture. Or, SPAR est basé sur un principe de base : la maîtrise parfaite de l'information numérique conservée. Voilà la clé : tout comme pour les supports traditionnels dont on maîtrise tous les paramètres de stockage, la conservation du document numérique passe par la maîtrise et la surveillance constantes des objets conservés. Certes, les outils ne sont pas les mêmes mais les actions le sont : tri, stockage, inventaire/description, surveillance, restauration/migration, consultation.

Tour d'horizon de la conservation des données numériques

Dans la suite de ce billet, je vous propose de revenir sur ces différents points pour essayer de montrer qu'au-delà des solutions existantes en la matière, c'est bien les compétences et savoir-faire traditionnels des archivistes qui sont en jeu (et à 8 ans d'écart, j'ai un peu l'impression de me répéter...).

Interroger les objectifs de la conservation ou la question du tri

En premier lieu se pose bien évidemment la question du tri. Au regard de la production sans cesse grandissante de données au format numérique, il est évident qu'il n'est pas possible de tout conserver. Comme le rappelle bien Anne Both dans l'entretien cité ci-dessus, le tri est déjà nécessaire pour les archives "traditionnelles" et les archivistes maîtrisent parfaitement cette problématique (contrairement à ce que certains historiens ont l'air de penser...). Je me garderai donc bien de m'immiscer dans ce débat de même que dans la question du records management, d'autant que cette problématique n'en est pas vraiment une pour les institutions pour lesquelles j'ai travaillé ou je travaille actuellement.

En revanche, comme tout support, le numérique présente des particularités qui induisent des questionnements sur ce qui est conservé. Or, les réponses à apporter dépendent de ce qu'on cherche justement à pérenniser. En effet, là où les supports traditionnels embarquent à la fois le support d'écriture et de lecture et l'information elle-même, ce n'est pas le cas dans le numérique et on peut conserver de manière indépendante chacune des couches :

  • le support de stockage lui-même ;
  • l'appareil nécessaire à la lecture du support ;
  • les logiciels capables de décrypter les informations stockées ;
  • les données elles-mêmes.

A chacun de ces niveaux est associé un objectif de conservation différent :

  • la mémoire des systèmes techniques ;
  • la mémoire de l'expérience utilisateur ;
  • la mémoire des informations elles-mêmes.

Pour illustrer mon propos, je vous propose tout d'abord de revenir sur l'exemple cité par Anne Both dans l'entretien cité ci-dessus : les textes des revues mises en ligne sur CAIRN. Celui-ci est particulièrement intéressant car, contrairement à ce qu'affirme Anne Both, ces données sont déjà pérennisées à au moins un titre : le dépôt légal du Web, mission que se partagent l'Ina et la BnF. Le site CAIRN (dont la BnF est aussi actionnaire) a été intégralement crawlé par la BnF. Les données ainsi collectées sont ensuite stockées dans SPAR dans un format maîtrisé, le WARC, surveillées par les experts de préservation et mises à disposition via les interfaces dédiées du dépôt légal du Web à la BnF. Dans ce cas, l'objectif est de conserver les données et l'expérience de navigation dans le site (ce qui n'est pas sans poser des questions sur la consultation sur le long terme mais j'y reviendrai plus loin). Mais, pour Cairn, on pourrait aussi se "contenter" de conserver les données : il suffirait alors d'extraire les textes des bases de données du site Web et de les encoder dans un format maîtrisable comme le XML. C'est assez simple à faire et la conservation de ce type de données ne pose pas de problème particulier. Le CINES assure déjà ce service pour HAL ou Persée.

Il existe des cas plus complexes comme le jeu vidéo ou l'art numérique pour lesquels l'adhérence entre le support de stockage et l'appareil pour le lire sont très importantes et l'expérience utilisateur essentielle à l'appréhension de l'objet archivé. Mais comme le montrent deux événements récents organisés par la BnF (Conservation du patrimoine vidéoludique. Quels enjeux ? Quels acteurs ? et Art numérique et postérité), les solutions émergent et font la preuve de leur efficacité. Ainsi, pour le jeu vidéo, la BnF conserve d'une part les appareils et cartouches et travaille d'autre part à l'émulation de ces différents jeux sur nos ordinateurs actuels pour en faciliter la consultation et l'étude. Le choix est, dans ce cas, de conserver les différents niveaux.

Pour les archives numériques des administrations, il me semble que ce sont bien souvent les données elles-mêmes qui sont intéressantes à conserver en priorité. Il ne s'agit pas de nier l'intérêt de pérenniser les applications de l'administration (leur histoire et surtout ce qu'elles renvoient  de la vision de l'administration sur ses propres missions pourraient être intéressantes). Mais les coûts et la complexité seraient exponentiels et on peut plutôt dresser un registre des applications existantes avec quelques copies d'écran permettant de donner une idée de leur fonctionnement.

Conserver le train de bits ou le stockage sécurisé

En premier lieu, il est nécessaire d'assurer la conservation du train de bits, c'est-à-dire de garantir l'intégrité de la donnée numérique dans le temps. Or, on le sait maintenant, il n'existe pas de support de stockage pérenne. Certains présentent plus d'assurance que d'autres comme c'est le cas des bandes magnétiques LTO, mais sans garantie absolue.

Deux actions sont à mettre en place pour assurer le stockage sécurisé :

  • effectuer différentes copies de la donnée si possible sur des supports (LTO ou disque dans un serveur) situés dans des espaces géographiques différents ;
  • surveiller régulièrement que ces différentes copies sont toujours intègres et en cas de problème effectuer une migration de support, c'est-à-dire changer le support endommagé et copier une des copies intègres sur un nouveau support.

Pour vérifier l'intégrité des données, il suffit de calculer régulièrement une empreinte de chaque fichier stocké (le MD5 par exemple est un système d'empreinte simple, efficace en la matière et implémenté sur tous les OS) et de comparer les empreintes.

Ce niveau de conservation ne demande pas des investissements faramineux et permet déjà de résoudre bien des problèmes. Il existe des solutions clé en main qui assure parfaitement ce service et si j'étais un service d'archive, je m'orienterai vers les solutions dans le cloud pour cela (ce qui semble permis par cette note d’information du SIAF même si cela est restreint au territoire français d’après ce billet). Et peut-être vais-je faire hurler certains d'entre vous, mais je pense que la solution glacier backup d'Amazon pourrait représenter un des espaces de stockage de secours, en plus d'une solution de stockage plus "locale" à base de serveurs de stockage. Mais, pour cela, peut-être faudra-t-il accepter que la mondialisation des échanges passe aussi par les archives ?

Garantir l’exploitabilité sur le long terme ou la maîtrise de la collection de données numériques

Si le stockage sécurisé permet d’assurer l’intégrité des données conservées, il ne garantit pas la capacité à les exploiter. Pour ce faire, il existe deux méthodes :

  • l’émulation, sur laquelle nous reviendrons plus en détail dans la prochaine partie, qui vise à reproduire le comportement d’une application et/ou d’une machine sur une autre machine le plus souvent grâce à un logiciel spécialisé appelé émulateur ;
  • la migration de format qui consiste à transformer la donnée numérique du format dans lequel elle est conservée vers un nouveau format dont l’exploitation est toujours assurée.

Dans un cas comme dans l’autre, il s’agit de procédures bien plus complexes que la conservation du train de bits. En effet, dans le cas de cette dernière, au delà des métadonnées descriptives nécessaires pour connaître le contenu des données conservées et les retrouver, le système se “contente” d’enregistrer l’empreinte des données et de les comparer. Pour assurer une migration de format (et c’est aussi vrai dans une moindre mesure pour l’émulation), il faut connaître précisément les caractéristiques de chaque fichier et ce que cela implique. Dans le cas où vous disposez d’une collection homogène avec peu de formats à maîtriser et une collection de fichiers restreinte, cela peut rester assez simple à gérer, mais quand vous disposez de données aux formats très hétérogènes (ou des variantes d’utilisation du format, par exemple pour XML, il faudra aussi prendre en compte le schéma XML d’encodage…), il est absolument nécessaire de maîtriser parfaitement votre collection.

Vous allez me rétorquer qu’il suffit d’enregistrer les données dans un format pérenne et le tour est joué…. Certes, sauf qu’en fait, comme pour les supports de stockage, il n’existe pas de format pérenne. Comme je l’ai déjà expliqué sur ce blog (bon, d’accord, c’était il y a longtemps, alors je vais le répéter :), un format n’est pérenne que si l’organisation qui conserve est capable d’en maîtriser aussi l’exploitation sur le long terme. Bien évidemment, s’il s’agit de données textuelles issues d’une base de données, l’utilisation du CSV ou mieux du XML permet de simplifier cette maîtrise dans le temps. Pour autant, si vous n’avez pas conservé aussi la documentation de la structure du CSV, de la structure du fichier XML ou, mieux, le schéma XML lui-même, le travail de rétro-ingénierie sera plus important voire pourrait s’avérer impossible.

Outre le stockage sécurisé, maîtriser ses données numériques pour en garantir l’exploitabilité sur le long terme signifie :

  • s’assurer à l’entrée dans l’archive des caractéristiques techniques des données numériques et de leur conformité avec les attendus (c’est-à-dire ne jamais faire confiance à l’organisation qui vous verse les données) ;
  • Rendre les données conservées indépendantes de l’application dont elles sont issues mais aussi du système d’archivage lui-même : si votre système d’archivage plante, vous devez pouvoir récupérer et exploiter les données directement depuis les supports de stockage ;
  • documenter précisément les données conservées : leur contenu, leurs caractéristiques techniques et juridiques, leur structure, leur historique de traitement avant et après leur arrivée dans l’archive, en particulier les étapes de vérification de conformité des données à leur entrée dans l’archive et de migration ;
  • conserver les métadonnées et la documentation (répertoire de formats et des applications et environnements) au même titre que les données et les rendre interrogeables de manière la plus exhaustive possible (sinon ça ne sert à rien de produire des métadonnées…) ;
  • mettre au point des tableaux de bord pour disposer d’une vue aussi complète que possible du contenu de l’archive et pour suivre les indicateurs de l’activité et d’évolution de l’archive (pour anticiper d'éventuelles difficultés de maintien en condition opérationnelle, par exemple) ;
  • effectuer une veille régulière sur les différents formats utilisés par l’archive pour planifier de manière préventive une éventuelle migration ;
  • auditer régulièrement les données numériques par échantillon pour contrôler la validité des métadonnées et effectuer des contrôles de conformité en plus des audits de l’intégrité du train de bits pour assurer le stockage sécurisé

Si vous cochez toutes ces cases, vous devriez sans problème mener des opérations de migration de format et, au passage, la suppression de données numériques pour des raisons légales ou opérationnelles pourra se faire sans difficulté et en toute sécurité.

Exploiter les données ou la problématique de la consultation

Enfin, vient tout l’intérêt de la conservation de données numériques : en assurer l’exploitation et la consultation dans le temps. Trois cas de figure (au moins) dans la manière d’exploiter ou de donner à voir ces données peuvent être identifiés.

Exploitation des données par un système de valorisation

Les données numériques conservées peuvent alimenter un système tiers qui offre des interfaces de recherche, de navigation et de consultation, comme c’est le cas, par exemple, de Gallica à la BnF ou d’Ina.fr à l’Ina. La conservation des données numériques vise alors à assurer le stockage sécurisé de ces données issues de chantiers de numérisation (souvent coûteux et complexes à reproduire à cette échelle) et l’exploitabilité dans le temps.

Même si les entrepôts numériques dédiés à la conservation sont les sources des systèmes cibles, les données y sont recopiées de manière aysnchrone. En effet, les systèmes de stockage sécurisés utilisés (bibliothèque de bandes LTO), les différences de caractéristiques entre les formats des fichiers de conservation et les formats d’exploitation, les éventuelles vérifications liées aux problématiques de droits d’auteur et les besoins de haute disponibilité pour une consultation sur le Web empêchent de brancher directement les systèmes. Bref, pour le dire autrement, le temps et les caractéristiques de la valorisation ne sont pas ceux de la conservation et il est préférable de disposer de deux systèmes pour l’un et l’autre des usages, même si le système de valorisation est alimenté par le système d’archivage ou de conservation (ce fut une des grandes leçons apprises sur le projet SPAR…).

Emulation des logiciels et virtualisation des environnements

Dans le cas où vous conservez l’application elle-même, l’objectif est d’en permettre l’expérience par les utilisateurs. C’est essentiel pour les jeux vidéos, l’art numérique ou même le Web pour lesquels l’interaction avec l’utilisateur fait partie intrinsèque de l'appréhension de ces médias. Or, il arrive un moment où l’application en question ne peut plus être exploitée par les environnements matériels et logiciels standards, il existe alors deux solutions :

  • l’émulation qui consiste à reproduire le comportement de l’application sur un environnement matériel contemporain via un logiciel dédié appelé émulateur ;
  • la virtualisation qui consiste à exploiter un environnement logiciel complet (système d’exploitation et logiciels) sur une machine hôte.

Ces deux méthodes n’ont pas été mises au point spécifiquement pour la conservation des données numériques. L’émulation est apparue dans le milieu du piratage des jeux vidéos pour permettre l’exploitation d’un jeu sur une plateforme pour laquelle il n’était pas prévu à l’origine. A l’origine, la virtualisation est apparue pour exploiter au mieux les capacités des serveurs en y faisant tourner plusieurs “machines” virtuelles. Elle est aujourd’hui très massivement utilisée par les services informatiques et les systèmes de cloud.

Si l’émulation est presque exclusivement réservée aux jeux vidéos, la virtualisation constitue une solution très prometteuse pour la conservation des données numériques. En effet, elle permet d’assurer l’exploitation sur le long terme de données et/ou d’applications pour lesquelles la migration de format était difficilement envisageable. Dans ce cas, on se “contente” de stocker de manière sécurisée le fichier de virtualisation et de s’assurer qu’il existe encore des logiciels pour l’exploiter.

Cette méthode est d’ores et déjà utilisée pour assurer, par exemple, la consultation des premiers cédéroms d’art numérique à la BnF et pourrait être envisagée pour continuer à assurer la consultation des archives du Web les plus anciennes lorsque nos navigateurs ne le permettront plus.

Mise à disposition en téléchargement des fichiers

Le dernier cas de figure me semble le plus complexe : comment assurer la mise à disposition de données hétérogènes comme peuvent l’être celles issues des administrations ? Fichiers bureautiques ou fichiers issues de bases de données diverses, ils présentent des formats et des structures hétérogènes. Il me semble que, dans ce cas, on peut s’inspirer des portails de données ouvertes, c’est-à-dire proposer un catalogue organisé des jeux de données existants et en permettre le téléchargement pour une consultation et une exploitation locales. J’imagine que cela pourrait poser des problèmes juridiques, mais cela me semblerait à la fois le plus simple et le plus efficace pour accéder à toutes ces données hétérogènes.

Problème et perspectives

Au-delà de l'importance d'intégrer la question de l'archivage des données numériques au sein même des processus habituels du centre d'archives, force est de reconnaître que les circuits de versement posent des difficultés particulières.

La difficulté de la récupération et du formatage des données

Du strict point de vue technique, le problème principal de la conservation des données numériques est la récupération des données en question et leur formatage dans des formats maîtrisables par le centre d'archives. Il n'existe pas à proprement parler de verrous technologiques, les solutions existent en la matière : les logiciels du type ETL utilisés à l'origine pour alimenter les solutions d'informatique décisionnelle constituent des réponses adaptées. Mais, pour chaque système, avant même le développement, il est nécessaire de déterminer :

  • les données à récupérer ;
  • le format de récupération (CSV, XML, Json par exemple) et la structure des données­ ;
  • la fréquence et les modalités de récupération ;
  • les métadonnées associées pour assurer la documentation du contexte de production et des données elles-mêmes ;
  • les mécanismes de vérification de l'intégrité et de conformité des versements dans l'archive ;
  • la politique de conservation conformément aux cadres légaux et aux principes établis par le centre d'archives en accord avec le producteur.

Cette difficulté est renforcée par différentes problématiques :

  • l'absence de plateforme pour échanger, entre les centres d'archives, des connecteurs prêts à l'emploi pour les applications qui existeraient dans différentes collectivités (un espace github pour les archives sur le modèle de ce qui existe pour les générateurs Seda : ici,  ou encore ici) ;
  • la spécificité de la très grande majorité des applications et donc la complexité pour un éditeur logiciel d'industrialiser des solutions en la matière ;
  • le manque de compétences pour spécifier ces développements informatiques : la plupart des sociétés de service en informatique sont incapables d'effectuer ce genre de tâches, car les informaticiens n'ont pas été formés pour ;
  • le désintérêt total des services informatiques des collectivités qui ont (disent-ils...) des dossiers bien plus urgents à traiter et qui, de toute façon, n'y comprennent rien...

Bien évidemment, la première réponse à ces différentes problématiques est de disposer en interne de personnes capables justement de discuter avec les informaticiens, de spécifier, de suivre et de tester les développements voire d'implémenter des solutions ou au minimum d'expérimenter certaines choses. Les diplômés du master Technologies numériques appliquées à l'histoire de l'Ecole nationale des chartes, par exemple, disposent justement de cette double compétence et sont tout à fait capables d'accompagner n'importe quel centre d'archives pour effectuer ce travail. Mais, cela ne suffira peut-être pas à persuader un service informatique d'investir dans l'extraction des données des applications en vue de leur conservation sur le long terme.

Big data et open data à la rescousse

Il y a dix ans, je pensais que la question de la conservation des données numériques serait un moyen pour les organisations de s'intéresser sérieusement à la maîtrise de leur patrimoine informationnel et de changer le paradigme pour passer de systèmes d'information orientés "Processus" à des systèmes d'information orientés "Données". Mais promettre la souplesse dans le SI et laisser entrevoir de nouveaux usages possibles ne suffisaient pas : il fallait en faire la démonstration concrète et la question de la conservation n'était pas en soi un argument suffisant pour faire basculer les organisations.

L'évolution est en fait arrivée de deux autres initiatives : le Big data et l'Open Data. L'une comme l'autre ont eu pour effet d'obliger les organisations à s'intéresser aux données qu'elles possèdent et à les libérer de leurs silos d'origine au moins en interne pour les faire circuler au sein de l'organisation (Big Data) voire à l'extérieur (Open Data).

Au delà de leurs enjeux inhérents, le Big Data et l'Open Data sont une formidable opportunité pour les archives des collectivités d'engager une politique de conservation des données numériques.

La perspective de "l'Open Data par défaut" imposé par la loi pour une République numérique va obliger les collectivités à s'organiser pour mettre à disposition selon les principes réglementaires les données publiques et au minimum à maintenir à jour leur répertoire d'informations publiques. Au-delà de ces aspects réglementaires, dans le contexte actuel (demande de transparence et buzz autour de la donnée), il est aujourd’hui plus facile de faire adhérer un décideur à une démarche de libération des données qu’à un projet de conservation des données numériques sur le long terme. Or, les deux démarches se rejoignent : donner accès aux citoyens aux données produites par l’administration dans le premier cas à des fins de transparence et de réutilisation, dans le second à des fins de preuve et de mémoire.

On résout ainsi la principale difficulté dont il était question précédemment : la récupération et le formatage des données. Ainsi, pour mener à bien des projets de statistiques avancées, de mise en relation de données ou d'apprentissage automatique (Big Data) ou de mise à disposition de jeux de données sur des portails institutionnels (Open Data), il est absolument nécessaire d'extraire les données depuis leurs applications d'origine et de les formater dans des formats susceptibles d'en conserver la structure et faciles à manipuler (CSV, XML, Json...). Les archives pourraient tout à fait s'insérer dans ces processus et récupérer les jeux de données établis pour ces usages. Bien sûr, ils ne sont pas exhaustifs et il faudrait faire un travail pour ajouter quelques métadonnées, mais c'est toujours mieux que rien : ça permet d'enclencher le travail et d'insérer les archivistes dans ces processus dont ils sont, me semble-t-il, pour le moment complètement absents.

Je suis absolument certain que la société OpenDataSoft, dont le logiciel est utilisé par un très grand nombre de portails Open Data, pourrait développer un service supplémentaire capable de verser les données exposées à travers son application dans un SAE suivant le protocole SEDA. Et dans le même ordre d'idée, on peut imaginer des ponts entre Vitam et data.gouv.fr, mais peut-être est-ce déjà à l'ordre du jour : après tout les deux projets sont développés au sein de la DINSIC...

Cette idée n'est pas très originale : les Français ont comme d'habitude ajouté une nouvelle couche administrative, Etalab, pour s'occuper de cette nouvelle mission, mais nos voisins suisses l'ont confié aux archives fédérales ce qui, entre nous, paraît totalement logique. En effet, l'Open data n'est finalement  qu'une extension de la fonction des archives au vu de leur définition. Et, même si je n'ai pas trouvé de trace de la question de la conservation des données numériques dans la stratégie en matière de libre accès aux données publiques en Suisse pour les années 2014 à 2018, gageons que cette synergie entre Open Data et conservation sur le long terme des données numériques est au cœur de la réflexion des archives fédérales.

Si certaines collectivités ont déjà expérimenté ou sont sur le point d'expérimenter cette stratégie, n'hésitez pas à me le signaler par mail ou twitter ; je me ferai un plaisir de mettre à jour ce billet.

Quelques points pour finir


Ce n'est pas le système qui préserve !!

On ne le dira jamais assez : ce n'est pas le système qui préserve. La conservation est la conséquence d'une bonne gestion et maîtrise des données numériques sur le long terme : des données stockées de manière sécurisée, documentées, surveillées, le cas échéant, migrées et mises à disposition du public sous des formes exploitables. Un système d'archivage électronique seul n'est pas suffisant, quelles qu'en soient les fonctionnalités. Certes, il aidera à effectuer une partie du travail mais il ne remplacera jamais les compétences mises en œuvre par les archivistes disposant d'une expertise dans les données numériques (au même titre que d'autres en possèdent pour les chartes médiévales ou les archives notariales).

Ceux-ci pourront spécifier les versements, effectuer la veille nécessaire au suivi des différents formats des fichiers, décider de la migration des fichiers, auditer les données conservées, surveiller les indicateurs de l’archive et accompagner les utilisateurs dans leur utilisation des archives numériques. Bref, faire le travail que n'importe quel archiviste effectue. Stocker des archives traditionnelles dans un entrepôt n'a jamais suffi à assurer leur conservation, il en va de même avec le numérique.

Accordez-vous le droit d’expérimenter sans pression

Au vu de l'ensemble des éléments à prendre en compte au moment de se lancer dans la conservation du document numérique, cela pourrait s'avérer intimidant voire paralysant. Plus d'une fois dans les étapes de déploiement et même en phase de production, vous ressentirez un sentiment de vertige face à l'immensité de la tâche.

Ne vous mettez pas la pression : oui, vous allez faire des erreurs, oui, vous allez faire, défaire et refaire certains choix techniques, oui, vous allez perdre des données numériques en chemin... Et alors ? C'est inhérent à l'apparition d'un nouveau support : si on conservait tous les incunables, les enregistrements sonores ou les films, ça se saurait, pourquoi n'en serait-il pas de même pour les données numériques ?

Les normes et les standards sont là pour vous apporter un cadre de réflexion et vous aider, n'en faites pas des carcans qui vous empêchent d'avancer. Il sera toujours temps de rendre parfaitement conforme votre système à la norme ISO bidule et AFNOR NF machin chose. Je comprends tout à fait que ce soit absolument nécessaire pour des raisons légales et juridiques, mais si vous en faites un préalable, cela risque bien souvent d'être contre-productif. Les ignorer totalement, pour des raisons dogmatiques, par exemple, aurait d'ailleurs le même effet.

Ainsi, les spécialistes du domaine pourraient s'étonner du fait que je n'ai pas cité une seule fois l'OAIS (Open Archival Information System), norme référence en la matière. Loin de moi l'idée de la rejeter comme semblent le faire certains, il faut simplement prendre l'OAIS pour ce qu'il est : un vade-mecum pour bien gérer l'information (numérique) d'une organisation et en aucun cas un mode d'emploi qu'il faudrait suivre aveuglément comme une notice de montage d'un meuble de chez Ikéa...

Bref, expérimentez, expérimentez encore et expérimentez toujours...

Connaître les composants des systèmes d'information

Comme tous les corps de métier, les informaticiens ne laissent pas facilement une personne extérieure entrer dans les arcanes de leur système. Or, dans le cas de la conservation des données numériques, cela est absolument nécessaire pour évaluer les données, l'intérêt à les conserver et pour spécifier leur récupération.

Même si vous n'avez pas encore déployé de système pour récupérer et conserver les données numériques, vous pouvez d'ores et déjà vous familiariser avec les différentes applications qui composent le système d'information. N'hésitez pas à vous faire présenter le système d'information, à récupérer les schémas d'architecture (ils existent forcément), à poser des questions et à recommencer.

A partir de ces différentes informations, je vous invite à dresser un répertoire ou un registre des applications existantes avec les informations qui vous intéressent (objectifs fonctionnels, services concernés, intérêt pour la conservation, bases de données utilisées et/ou format des fichiers, perspectives d'évolution…) et quelques copies d’écran. Lorsqu'il sera constitué, retournez voir les informaticiens pour valider et compléter avec eux ce recensement. Normalement, vous devriez gagner en crédibilité et donc en visibilité au sein du service informatique. Peut-être même qu'au déploiement de la prochaine application, ils vous enverront les différents éléments voire ils vous inviteront dès l'origine du projet ?

by got at January 15, 2018 08:44 AM

January 14, 2018

David Larlet

☕︎ Communs numériques

Pour faciliter l’émergence des services communs numériques, et surtout pour éviter que le concept ne s’écroule sous sa propre popularité avant même qu’il n’ait fini de se déployer, je crois qu’il nous faudrait une référence qui explique de manière claire le vocabulaire et les enjeux, et vers laquelle on puisse donner des liens. Une référence qui comprenne aussi des exemples et des bonnes pratiques. Et qui soit éditable par la communauté, bien sûr ! Malheureusement, je n’ai pas réussi à trouver une telle ressource en ligne.

Dessine-moi un commun numérique (cache)

Du coup, Matti a créé cette ressource et appelle à contribution : Construire des communs numériques. So meta :-).

January 14, 2018 11:00 AM

January 13, 2018

David Larlet

☕︎ GAFA movies

In May 2015 about 10 investigators for the Quebec tax authority burst into Uber Technologies Inc.’s office in Montreal. The authorities believed Uber had violated tax laws and had a warrant to collect evidence. Managers on-site knew what to do, say people with knowledge of the event.

Like managers at Uber’s hundreds of offices abroad, they’d been trained to page a number that alerted specially trained staff at company headquarters in San Francisco. When the call came in, staffers quickly remotely logged off every computer in the Montreal office, making it practically impossible for the authorities to retrieve the company records they’d obtained a warrant to collect. The investigators left without any evidence.

Uber’s Secret Tool for Keeping the Cops in the Dark (cache)

Spy movies are so 2000’s! Please Hollywood, make something out of this, it has to reach a wider audience…

January 13, 2018 11:00 AM

January 12, 2018

David Larlet

☕︎ Code d’(in)conduite

En ce qui concerne la personne à l’origine de la situation, l’exclusion est possible mais en aucun cas n’est obligatoire. Il y a une granularité possible. D’ailleurs on est plutôt partisan d’une granularité.

Code of Conduct | Sud Web (cache)

Et la loi dans tout ça ? Je suis toujours surpris qu’aussi peu de codes de conduite en réfèrent aux risques encourus légalement. Il y a une granularité dans les peines associées aux situations, sauf que ce n’est pas une équipe de bénévoles inexpérimentés qui prend les décisions. Ce n’est pas tant pour montrer le bâton pénal (encore que) mais pour ne pas avoir à assumer une responsabilité qui me semble démesurée vis-à-vis des enjeux.

Est-ce qu’il y a des évènements où un incident a été à l’origine d’un dépôt de plainte de la part de l’organisation ? Et si oui quelles en ont été les suites ? Une jurisprudence serait la bienvenue.

PS : ne croyez pas que je tape toujours sur SudWeb, ce n’est qu’un exemple (plutôt bon en l’occurence) et c’est surtout le seul événement pour lequel j’ai encore un intérêt car ils sont plein de vitalité et ça fait plaisir :-).

January 12, 2018 11:00 AM

January 11, 2018

David Larlet

☕︎ Blaming others

Hundreds of people were ecstatic when we added that arrow to PR pages. Out of those, not a single one indicated that this flow was confusing. A lot of people assumed it was their own fault for not just “getting” it.

Others get so accustomed to these flows that they don’t even notice their anxiety. If they do, it’s just part of life. The status quo. Something to live with, not improve.

[…]

The lesson here is that you can’t trust your users to bubble up the small stuff, which as we’ve seen can often be the best stuff to build). This means that you can’t exclusively rely on existing user feedback and tickets. You need to dig deeper.

Tiny Wins (cache)

How many people are blaming their connection because you made them load a 2 Mb image? How many people are blaming their outdated computer because you think a Single Page App is fancy on your latest Macbook Pro? How many people think they are stupid with your innovative mobile design full of anti-patterns?

Caring is accepting that it is your fault. And acting accordingly. Now.

January 11, 2018 11:00 AM

January 10, 2018

David Larlet

☕︎ Re: HTTPS considered harmful

Both Anthony and Matti — two persons I highly estimate — reacted to the previous note with overlapping suggestions, here are my answers trying to be my own devil’s advocate:

  • Let’s Encrypt is not a mafia.” When you turn an oligopole into a monopole, it cannot be a mafia anymore, heh. Is that better? Sure. Is that really what I want to encourage? Not so sure, and I’m not even talking about security issues with such a single point of failure. Governments are probably racing to get master keys.
  • “0-RTT will reduce initial load time.” One day, maybe. But for now it’s quite limited to say the least.
  • “HTTP2 is good for performances.” Sure, when you have to load a bunch of resources but in my case it’s not that pertinent. HTTPS highly impacts my First Byte Time though.
  • “You have the guarantee your content is not altered.” Except if done once downloaded. A bunch of views are now performed directly within apps without any feedback on certificates or integrity and can be modified as such.
  • “Get rid of your domain name too!” Well, glad you ask, I’m thinking about it for a while :-). Providing a downloadable archive is an option, for instance reusing kiwix and/or using dat and/or something new (cache).
  • “Don’t use HSTS!” Mmmh, I don’t get the point of providing content over HTTPS if you do not force it somehow, is that better to let the responsibility to the client? The user interface of browsers is not adapted to that.
  • “301 are honored over HTTPS.” Except that you need to keep a server running to handle this, it’s not anymore as easy as changing a redirection at your registar level. See the parenthesis in Why? (cache) for instance.
  • “certbot autorenew works well.” I was talking about the configuration of the server itself not only the update of certificates, security is a race and you have to keep up on best practices.
  • “You can use Service Workers!” Great, I can now break the refresh button ;-) (I’m half-joking here given that I often have to reload pages of websites badly implemented because of Service Workers…)

Did I even mentioned how tedious it can be (cache) to setup and use a self-signed certificate on localhost?

January 10, 2018 11:00 AM

January 09, 2018

David Larlet

☕︎ Coder ou écrire

Depuis mardi, j’oscille entre des envies de coder et d’écrire. J’ai tellement oscillé que je n’ai fait ni l’un ni l’autre, ou presque, et failli entrer en résonance. Là encore, cela contribue à mettre le doigt sur une de mes principales faiblesses : accorder des priorités aux tâches qui m’importent. Sur le plan professionnel, je suis parvenu à canaliser tout ça, au point d’en être devenu redoutable et de me discipliner mécaniquement. Lorsqu’il s’agit de mes occupations et de mes projets personnels, c’est une tout autre histoire. C’est tellement stupide et paradoxal. Alors qu’il s’agit de ma part de temps la plus rare et précieuse, j’en gaspille une bonne portion à faire la girouette. Et lorsque j’en prends conscience, je tends naturellement à me flageller, activité ô combien constructive et gratifiante, vous en conviendrez.

Tranquille (cache)

Cela m’arrive tellement souvent que ça en est presque ridicule :-).

Le pire étant d’avoir envie de coder un outil de publication (ce qui semble être mon cas chaque début d’année) car cela crée une boucle infernale : besoin de contenus à publier mais besoin de l’outil pour visualiser mais besoin de contenus à publier. Auto-émulation d’un côté, réelle démotivation de l’autre.

Et rien n’avance…

January 09, 2018 11:00 AM

January 08, 2018

David Larlet

☕︎ Idea × execution

AWFUL IDEA = -1
WEAK IDEA = 1
SO-SO IDEA = 5
GOOD IDEA = 10
GREAT IDEA = 15
BRILLIANT IDEA = 20


NO EXECUTION = $1
WEAK EXECUTION = $1000
SO-SO EXECUTION = $10,000
GOOD EXECUTION = $100,000
GREAT EXECUTION = $1,000,000
BRILLIANT EXECUTION = $10,000,000

To make a business, you need to multiply the two.

Ideas are just a multiplier of execution (cache)

So simply put and yet super effective. I keep that here for future reference.

January 08, 2018 11:00 AM

January 07, 2018

David Larlet

☕︎ Censurer l’alternative

« On observe une perte importante de lectorat des sites socialistes, antiguerre et progressistes au cours des trois derniers mois, avec une diminution cumulée de 45 % du trafic en provenance de Google. » Entre mai et juillet 2017, les visites de wsws.org issues de Google ont chuté de 67 %, celles du réseau Alternet.org de 63 %. La plate-forme audiovisuelle Democracynow.org enregistre un plongeon de 36 % ; Counterpunch.org, de 21 % ; et Theintercept.com, de 19 %. « Dans la bataille contre les “fake news”, alerte l’association américaine Fairness and Accuracy in Reporting (FAIR), une grande partie des reportages les plus indépendants et les plus précis sont en train de disparaître des résultats des recherches effectuées dans Google. » Tuer le pluralisme au nom de l’information ?

Censure et chaussettes roses (cache)

On en revient plus que jamais à l’aspect politique des algorithmes (cache), il faudra que j’écrive un article plus complet sur le sujet. Nous sommes dorénavant dans un vide législatif qui ne saurait évoluer suffisamment rapidement, il en est de même de notre conscience politique associée à ces choix. Si cette complexité ne peut être appréhendée humainement, il va falloir laisser cette tâche aux machines. Et c’est là où ça devient intéressant…

January 07, 2018 11:00 AM

January 06, 2018

David Larlet

☕︎ HTTPS considered harmful

If a website is served over HTTPS, this should be a good list of features to try out and improve end-user performance. Many major websites have already leveraged these technologies and have seen great results. Based on your existing infrastructure, the level of complexity for implementing each of these features may vary. But the general awareness is more important and will help us plan accordingly for the future.

At eBay, we are very excited about the possibilities that HTTPS has opened up. With the adoption of modern technologies that come with HTTPS, our web platform is now ready to build the next wave of compelling user experiences. Cheers to a secure and innovative future.

Beyond HTTPS (cache)

I strongly disagree today, it wasn’t the case six years ago. Vincent reminded me a few months ago about the inherent fragility of HTTPS and how centralized that system is. Nothing new but sometimes you need a little discussion to realize how critical it actually is.

Encouraging everybody to switch to HTTPS promotes strong dependency to a third-party mafia, increases load time, makes your content inaccessible if you have any trouble reconducting your certificate, avoids migrating easily from one hosting platform to another, forces upgrading on a lot more security issues if you are hosting yourself. Even worse, when you switch there is no harmless turning back! That’s not the Web I’m aiming for.

“Sharing is learning” was my conclusion at that moment. Please prove me wrong.

PS: I always dreamt about publishing a note “X considered harmful”, achievement unlocked!

Edit: see the follow up.

January 06, 2018 11:00 AM

January 05, 2018

David Larlet

☕︎ Robust JavaScript

Still, JavaScript is the most brittle of all front-end web technologies. An important skill of a front-end developer is to know when not to solve a problem with client-side JavaScript. It is always more robust to solve a problem further down in the stack.

If all techniques and tools did not help you to write robust JavaScript, consider reducing the code complexity and the amount of code. In the last resort, reduce the usage of client-side JavaScript. Find simpler solutions that rely on HTML, CSS and server-side logic alone.

Robust Client-Side JavaScript (cache)

Best. Conclusion. Ever. Before thinking about progressive enhancement, discuss if the enhancement in itself is worth the price of development, maintenance, performance, accessibility and so on.

The most robust JavaScript is by far the one you avoid to push to production.

January 05, 2018 11:00 AM

January 04, 2018

David Larlet

☕︎ Requiem pour un flou

Redonnons de la place au flou, à l’indéterminé. Essayer de comprendre le cheminement d’une pensée, cela demande du temps, du cerveau, du cœur. Cela demande de se parler, de s’écouter. Cela demande aussi d’admettre que les failles, les faiblesses, les manques fassent partie du débat. Nos faiblesses. Et celles des autres.

Plaidoyer pour le flou … (cache)

Merci Virginie.

January 04, 2018 11:00 AM

January 03, 2018

David Larlet

☕︎ Evolution vs. Revolution

I was amazed by Joy and then I discovered Dynamicland:

No screens, no devices. Just ordinary physical materials — paper and clay, tokens and toy cars — brought to life by technology in the ceiling.

Every scrap of paper has the capabilities of a full computer, while remaining a fully-functional scrap of paper.

Dynamicland is a computer where people literally work together, face-to-face, with eye contact and many hands. It’s as multiplayer as the real world.

Impressive to say the least. Kudos to Bret Victor for turning his ideas into concrete projects.

January 03, 2018 11:00 AM

★ Cheminer, espérer et contrôler

Car dans le monde animiste, il y a un mot pour dire que les être de la métamorphose deviennent la norme, prolifèrent, il y a un terme pour dire que l’on ne sait plus prédire le climat ou le comportement de la rivière… On appelle ça le temps mythique. C’est un temps particulier. Une forme du temps dont la spécificité était d’être à l’origine du monde et qui à la fois continue à exister. C’est un temps des origines qui subsiste et continue à travailler le présent pour nous inviter à stabiliser le futur.

Dans le temps du monde, on sait avec qui on entre en relation : on connait le comportement du loup, de la rivière, du caribou…, on sait comment entrer dans une relation soutenable avec eux. Dans le temps du mythe, les êtres et relations sont instables, métamorphiques, en train de se faire. Dans le temps du mythe, humains et animaux ne sont pas toujours distingués, les genres ne sont pas circonscrits. L’histoire des mythes, c’est l’histoire de personnages, de chamans, de héros… qui nouent des pactes avec les êtres de la métamorphose pour stabiliser des relations viables avec eux. Le temps du monde hérite de cette stabilité, permet de cohabiter de manière décente, honorable, soutenable, avec ceux avec qui nous partageons la terre.

Est-ce que ça sert à quelque chose de comprendre notre temps comme un retour du temps du mythe ?

De l’impossible habitabilité de l’anthropocène (cache)

Cheminer

Grosse envie de parcourir la forêt. Seul, accompagné, en canot, en famille, en toute saison. Un besoin de nouvelles nécessités, de nouveaux bruits, de (pré)occupations différentes. Trouver des lieux à partager, d’autres à garder intimes, explorer un territoire sans se l’approprier d’aucune façon. Juste être un parmi d’autres, être de la multitude qui vit.

Encore en pleine recherche entre légèreté et résilience, avancée et contemplation, dépense et économie. Après avoir gambadé en nature plus d’une décennie, envie de ralentir la foulée pour découvrir une nouvelle dimension.

Espérer

Aller chercher l’espoir là où il est encore possible. En trouvant un cadre bienveillant, en transmettant des énergies positives, en acquérant des compétences constructives. Enfouir les culpabilités irrésolvables faute de mieux, fuir les échanges toxiques au lieu de résister. Lâcher-prise et croire en l’hyperlocal, même si cela doit se limiter à une famille.

Et en parallèle, chercher la congruence. Encore et encore. Découvrir de nouvelles pratiques propres à une équipe donnée. Tisser de la confiance en produisant du périssable.

Contrôler

Reprendre possession de mes outils, la compréhension comme thérapie à la fatigue. L’aventure initiée avec Yohan sur pyrates m’a fait prendre conscience du bienfondé de la (ré)écriture afin de s’aligner techniquement tout en ayant un sentiment de maîtrise sur la chaîne de production de la valeur. Aux antipodes d’une aggrégation de bouts de configuration cryptiques ;-).

Mais cela va peut-être plus loin que la technique avec la réalisation de pain, la culture potagère ou la pêche opportuniste. Repartir de bases saines, ré-interroger des besoins vitaux. Itérer sur des basiques, sans snobisme. Une pratique de la différence pour s’accepter dans un monde uniformisant. Et tenter de comprendre ces autres.

Dans les épisodes précédents

January 03, 2018 11:00 AM

January 02, 2018

David Larlet

☕︎ Oublier Internet

Bref, en continuant à défendre Internet tel qu’il est, nous continuons, selon Morozov, à défendre des valeurs dont nous ne comprenons pas nécessairement tous les fondements idéologiques et nous continuons à éluder bien des enjeux qui devraient pourtant être discutés à mesure qu’Internet perd de son lustre comme support à la démocratie et à l’émancipation et s’avèrent plutôt un cheval de Troie pour certaines philosophies.

Morozov: oublier internet (cache)

Je m’interroge depuis un moment sur la conciliation entre la promotion d’un réseau décentralisé et mes revenus découlant directement de cette centralisation. Quel modèle économique — en tant que développeur — pour un autre Internet ? Quelle solvabilité autour d’un réseau marginal ?

January 02, 2018 11:00 AM

January 01, 2018

David Larlet

☕︎ Data portability

Third, while many speak about data portability in terms of providing access to “your data”, in reality data shared with third parties may include personal data about other people too. This might include data directly about other people in your social graph, or in your household, or with whom you transact through a peer-to-peer service. Similarly, it may include commercially sensitive data about businesses you frequent or charities you donate to. When analysed in bulk, data about a sample of the population becomes information about people who were not included directly in the analysis. For example, data about my shopping habits may be used to make guesses about the shopping habits of other middle class, middle aged mothers of two. Data about us is never only about us.

Data portability (cache)

In a relationship, my data becomes your data. In a global network, it gets even more complex. Share wisely, owning the place you publish to at least allows you to control it over time.

I really wonder how the General Data Protection Regulations (GDPR) will interact with paradigm shifts for the decentralized Web (cache). And how centralized silos will counterattack.

January 01, 2018 11:00 AM

December 22, 2017

David Larlet

✍ Lettre à Thomas

Thomas,

Suite d’une discussion récente inachevée faute de temps, au sujet de l’expatriation. Ou plutôt du sentiment que les choses bougent davantage en France au point de vouloir y revenir. Il s’agit d’un ressenti que j’ai eu en étant au Japon et qui m’a en partie motivé pour revenir. J’avais alors oublié les raisons du mouvement, ce mal-être latent qui devient le terreau fertile de nouvelles idées. Il y a une beauté et une énergie dans ce foisonnement mais les conditions pour y arriver me sont de plus en plus insupportables. Je n’ai plus envie d’un état d’urgence mais d’un état de bienveillance, quitte à devoir m’éloigner pour cela de l’innovation et la disruption.

Bien sûr, le prix à payer est élevé : les réflexions philosophiques me manquent, les mises en communs me manquent, de nombreuses rencontres me sont maintenant beaucoup moins accessibles. J’apprends à vivre avec et je sais que je pourrais être moteur de nouvelles initiatives dans d’autres lieux une fois acclimaté. Les réflexions y seront peut-être moins poussées compte tenu de la plus faible pression du milieu et les actions en découlant seront probablement différentes, à l’origine de l’évolution d’une culture locale.

David

December 22, 2017 11:00 AM

December 20, 2017

David Larlet

★ Œuvrier du Web

J’emprunte ce terme à Roland Feuillas dans À la recherche du pain vivant qui parle davantage d’œuvriers paysans que d’œuvriers du web mais c’est la traduction que je trouve la plus juste de Web crafter que j’utilise maintenant en anglais pour définir mon métier : mettre en œuvre des connaissances et de l’empathie afin d’améliorer un irritant.

Je préfère de loin le terme crafter à celui de craftmanship qui comporte ce man excluant et ne s’inscrit pas dans l’action ; mais j’avais toujours du mal à trouver comment l’expliquer en français. Québec oblige, je réfléchis beaucoup au sens des mots et à leurs traductions en ce moment. Je repense souvent à Julien — qui m’a initié à la programmation — me répétant sans cesse « traduction == trahison ». Quid d’un néologisme ?

Je m’interroge encore et toujours sur ma valeur ajoutée à un produit. J’ai de plus en plus la croyance qu’elle vient de ma capacité — issue de l’expérience — à pouvoir remettre en question ce que j’ai développé à une échelle plus courte qu’auparavant. Être en capacité de ré-agencer avant que cela devienne critique en terme de dette technique. Or cette valeur est très difficile à appréhender car elle n’est interprétable qu’à la lumière d’une temporalité longue. Ce qui semble être aujourd’hui une perte de temps et un démarrage poussif devient après-demain indispensable pour pouvoir aller plus loin sereinement et/ou transmettre le produit ainsi que la connaissance acquise en le concevant.

Il y n’a que deux difficultés en informatique : choisir ses maux et invalider ses croyances. Il me reste encore beaucoup à explorer dans ces domaines, avec humilité.

December 20, 2017 11:00 AM

December 02, 2017

David Larlet

✍ Lettre à Yohan

Yohan,

C’est un plaisir de travailler avec toi depuis tant d’années, d’abord sur Libé, puis chez Mozilla et actuellement avec Etalab. J’ai l’impression de sortir grandi de nos interactions et tu as indirectement contribué à mes réflexions sur la simplicité dans le développement et au statut de dévelopeur expérimenté.

J’admire ton intégrité lorsqu’il est question d’outils avilissants (coucou Slack). J’apprécie ton humilité et ta soif de toujours explorer plus loin les possibilités que nous offre notre domaine. Il est tellement facile de se considérer comme étant brilliant (cache) dans cette profession qu’une approche impliquant peu d’égo (cache) est exceptionnellement rare. Il y a un enjeu politique dans la ré-acquisition de ses outils mais aussi social dans la (re)prise de contrôle que cela procure. On ne se fatigue plus à courir après les dernières nouveautés lorsqu’on est en train de les réinventer en se les réappropriant.

Je me demande de plus en plus si proposer les services d’une équipe (cache) qui a l’habitude de travailler ensemble ne serait pas plus pertinent qu’une somme d’égos afin de faire émerger un produit.

Nous avons encore de belles années devant nous :-).

David

December 02, 2017 11:00 AM

December 01, 2017

David Larlet

✍ Lettre à Simone

Simone,

Ou Peggy, je ne sais plus. Merci pour ces voyages philosophiques et notamment ces thérapies. C’est un angle auquel je suis sensible pour avoir l’impression d’évoluer à mon échelle. Prendre soin en ayant davantage conscience de ce qui blesse au quotidien.

Ce qu’il me manque en tant qu’expatrié c’est de pouvoir participer aux après-midi et échanger avec d’autres sur ces thématiques. En espérant que cela t’encourage à continuer, et pourquoi pas… à essaimer.

David

December 01, 2017 11:00 AM

November 27, 2017

David Larlet

★ Bugs et complexité

« Lorsque nous utilisions des systèmes électromécaniques, nous pouvions les tester de manière exhaustive », regrette Nancy Leveson, spécialiste d’astronautique, d’aéronautique et de sécurité logicielle au MIT. Les systèmes logiciels sont différents parce qu’ils peuvent être changés à moindre coût, qu’ils sont sans cesse mis à jour et bien plus complexes. Pour Leveson, « le problème est que nous essayons de construire des systèmes qui dépassent notre capacité à les gérer intellectuellement ».

Réinventer la programmation ? (cache)

La recherche d’exhaustivité dans un système complexe est une bataille perdue d’avance contre des moulins à vent. Ce qu’il faut tenter d’améliorer ce n’est pas la réduction du nombre de bugs en amont mais la réactivité pour corriger ceux détectés lorsque le système est en place. Un logiciel (non-critique !) devrait être fait pour répondre à 80% des problématiques rencontrées. Si nous sommes si loin du compte aujourd’hui — en tout cas dans le Web (cache) — cela est dû au manque d’empathie des développeurs vis-à-vis de bénéficiaires qui ne peuvent exprimer leurs voix de façon pertinente à la fois par manque de compétences et de moyens de communication. Il est quasi-impossible de savoir quel est le ressenti d’une personne utilisant un outil informatique au sens large. Autant les frustrations que les joies seraient pourtant requises pour améliorer le système, mais comment réussir à faire une synthèse de ces ressentis ?

Ma solution actuelle est de tenter de réduire les boucles de rétro-actions permettant d’améliorer le système de manière progressive et éclairée ; une fois que la problématique a été elle-même simplifiée afin d’en réduire le périmètre. La complexité qui ne peut-être débuguée est un péché d’orgueil, pas forcément celui du développeur. Je ne pense pas qu’il faille réinventer la programmation en elle-même mais plutôt les conditions de son application et surtout de son évolution. Interviewer des utilisateurs en amont d’une conception ET une fois le système mis en production est malheureusement loin d’être une pratique courante.

Les languages et les modélisations afférentes ne sont que des grammaires sans vies, l’équipe et sa connaissance d’une problématique donnée sont les composantes qu’il faut soigner. En laissant le temps à la confiance de s’installer, condition indispensable à l’ouverture qu’est cet autre : l’utilisateur. Ce partenaire d’une symbiose dont on essaye de créer l’outil sans en mesurer les appétences ni les conséquences (cache).

Aujourd’hui encore, trop de développeurs regardent sur Stack Overflow, l’une des grandes plateformes de partage pour développeurs, les méthodes des autres, copient des bouts de code et de fonctions, les collent ensembles et les ajustent par itération. Ça fonctionne jusqu’à ce qu’on tombe sur un vrai problème !, souligne Newcombe.

Ibid.

Stack Overflow est l’équivalent de l’encyclopédie Wikipedia dont les entrées se font en langage naturel (par des questions) et il ne s’agit pas de copier bêtement des résultats mais d’analyser les différentes réponses pour se faire son propre avis sur une question complexe. Il ne s’agit pas uniquement d’assembler du code d’autrui mais de liens vers des documentations officielles mal indexées ou des parties de RFC (Request For Comment) pertinentes pour une problématique donnée. Je ne connais pas d’équivalent dans d’autres profession, aussi je conçois que cela soit difficile à appréhender. Le seul malheur de la plateforme est d’être détenue par des intérêts privés ce qui met notamment en question la pérennité d’un tel service. Je suis un développeur moyen qui utilise cet outil de manière quotidienne et je n’en éprouve aucune honte. Un grand merci à mes pairs qui viennent alimenter cette base de discussion continuellement mise à jour.

November 27, 2017 11:00 AM

November 24, 2017

Karl Dubost

Le temps d'être soi

Writing code is fun. Building something to fix a complex problem, watching the tests finally go green and landing in production is one of my favourite things to do. It is addictive, and you always want to do more. But software is ephemeral. You write it, it’s useful for a while, and then it gets replaced with something new. The time you have with the people you love is limited too.

Kim Moir, Let's talk about side projects in software.

Peut-être prendre le temps de lire le billet de la citation avant de lire le reste ici.

Le temps d'être soi, d'être chez soi, de ne pas s'exposer est un temps précieux. Tout ne doit pas nécessairement se révéler. Partager du code pour aider les autres, pour permettre à d'autres de progresser est une belle idée. Se mettre en spectacle pour obtenir un job est un choix plus difficile, mais que nous avons tous plus ou moins intégré dans nos échelles de valeurs. Recruter un nouveau développeur (homme ou femme) est miné par nos biais de jugements, culturels, personnels. Et d'ailleurs doit-on recruter un développeur ou doit-on recruter un bel humain qui sera bien intégré dans l'équipe. Et peut-être finalement, peut-on se poser la question de combien accepterons-nous de changer individuellement avec l'apport de cette nouvelle personne dans une équipe ?

November 24, 2017 05:43 AM

November 22, 2017

Karl Dubost

Poser une limite

The 911 outage, at the time the largest ever reported, was traced to software running on a server in Englewood, Colorado. Operated by a systems provider named Intrado, the server kept a running counter of how many calls it had routed to 911 dispatchers around the country. Intrado programmers had set a threshold for how high the counter could go. They picked a number in the millions.

Shortly before midnight on April 10, the counter exceeded that number, resulting in chaos. Because the counter was used to generate a unique identifier for each call, new calls were rejected. And because the programmers hadn’t anticipated the problem, they hadn’t created alarms to call attention to it. Nobody knew what was happening. Dispatch centers in Washington, California, Florida, the Carolinas, and Minnesota, serving 11 million Americans, struggled to make sense of reports that callers were getting busy signals. It took until morning to realize that Intrado’s software in Englewood was responsible, and that the fix was to change a single number.

James Somers, The Coming Software Apocalypse.

À chaque fois que vous posez une limite artificielle (parfois contrainte par la matérialité) dans un code, il est préférable de mettre en place un système d'alerte avant que cette limite soit atteinte. Le principe existe déjà quand il s'agit de transactions financières. Par exemple, lors du renouvellement de vos noms de domaine, la société généralement vous envoie une série d'alertes avant la date fatidique.

November 22, 2017 07:23 AM

November 18, 2017

David Larlet

★ Async Python Frameworks

There is a new lightweight, fast, minimalist, you-name-it framework each week within the Python community. Why? Because it’s simple! You may want to take that path too and if you do, don’t make the same mistakes as we did. Come share your own frustrations and let’s build a new one together, in 10 minutes 🙃 — How to build an async pico web framework from scratch

I gave a talk at PyConCA on that topic, feeling legitimate given that we actually did it! Here are some notes about my intervention.

Context

I’m working with the French government via State Startups. Our goal is to explore solutions for a given problem faced by citizens and/or administrations. These last 6 months, we experimented a way to localize unmanned aerial vehicles (UAVs a.k.a. drones) in real-time for the whole French territory. With a distributed team, we tried to figure out if the law was applicable and if a centralized database would make sense for all parties (citizens, industrials, police, army and so on).

There was a bunch of unknowns, especially related to performances. When you are (in)validating proof of concepts, you might think that performances are your last concern but we wanted to be able to try the service for real. Plus, you never know when a proof-of-concept finally goes into production…

We roughly estimated that we will have to be able to handle about 50k requests per second. In Python. With a unique server. Spoiler alert: for a lot of non-technical reasons, we did not stressed the API for real so we cannot guarantee that our framework can hit that peak. Nonetheless, I think the process was interesting because that is the first time in my career that I had to put my developments under such constraints.

We knew Django and Flask, we already experimented with Falcon. You cannot achieve that level of performances out of these frameworks given our resources. That is why we dug into the async side of Python 3. And it was fun! At first we thought that Sanic was the perfect candidate but soon enough we bumped into issues related to testing and the API did not click with us. So, after an intensive workweek of sleep deprivation and big waves in the ocean, we started to hack on our own framework. And it was crazy!

Coopetition

First of all, this is not a competition. It is challenging to compare concepts and implementations. We had no guilt to steal clever parts, documenting what we think is better for our needs. What we made is not a framework for anybody. Micro means specific and as such incomplete. That is why I encourage you to do the same for your own needs.

Go read the code of your current web framework, it is a gold mine of hacks to deal with inconsistent HTTP-related specifications :-). Seriously, assembling your own framework will make you learn a ton of things. From request parsing to header security, from CORS-related issues to multipart nightmare of latin-1 encoded filenames, from conflicting specifications on Cookies to crazy Accept headers.

Our philosophy was to give a decent developer experience while uncompromising performances. To achieve that we knew that we had to stay minimalists and reuse small and performant librairies.

Benchmarks

We are still working on it and for sure a benchmark is a lie. We use wrk which is kind of ab on steroids. Anyway, I think we are missing a tool in the Python community to be able to compare performances across pull/merge-requests. Like continuous integration with metrics on introduced bottlenecks, continuous performances? If I missed anything on that topic, please drop me an email.

Edit: Ronan made me discover airspeed velocity, nice!

The smallest async web response we were able to compute is the following:

class Protocol(asyncio.Protocol):

    def connection_made(self, transport):
        self.writer = transport

    def data_received(self, data: bytes):
        self.writer.write(b'HTTP/1.1 200 OK\r\n')
        self.writer.write(b'Content-Length: 25\r\n')
        self.writer.write(b'Content-Type: application/json\r\n')
        self.writer.write(b'\r\n')
        self.writer.write(b'{"message":"Hello bench"}')

Once you have that hardcoded response, set uvloop as your event loop and create a task for it:

asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
loop = asyncio.get_event_loop()
server = loop.create_server(Protocol, '127.0.0.1', 8000)
loop.create_task(server)

Here we go, for more details, check out the whole file in our benchmarks. But basically you have all important parts here. That’s great but a bit too low-level for our taste!

Enters Roll which adds routing and request/response parsing in roughly 300 lines of code. An example of the same kind of response would be:

asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())

app = Roll()

@app.route('/hello/{parameter}')
async def hello(request, response, parameter):
    response.json = {'message': f'Hello {parameter}'}

We have routing and JSON serialization under the hood with dynamic response given the passed parameter in URL. No big deal but it’s quite handy compared to the raw version. Note that we lost about 63% of the initial number of requests per seconds just doing that!

Hint: it’s still better than the “concurrence”. 😇

Optimizations

Python 4 is already here, and it’s called Cython. — My coworker

Me: Rust is probably Python 5 (cache)! It escalates quickly when we are trolling :p

We My crazy coworker wrote a routing system using Cython to improve performances and the jump was significative to say the least. That is part of our approach: finding small existing pieces or write our own if we think we can code a faster solution. Once you expose what you consider is the right API, it’s easy to swap a given piece from one to another without introducing breaking changes.

For instance, we are currently using the awesome httptools to parse the request and the URL but that might change if we find a better approach. We only have these two dependencies for now and that is by design. We are really careful and conservative on introducing new features, trying to keep aesthetic in mind. Each new addition is benchmarked and heavily discussed in terms of developer experience. This is always a tradeoff.

One of our core principles is to ease the plug-ability via extensions and custom subclasses of core components. We are missing a way to get benchmarks of these additions though. Maybe tools like perf will help in the future, ideally it would allow us to make a table of performances given the activated extensions. Too many benchmarks are way far from real-life requests/responses treatments.

An option we did not explore yet is the use of newly introduced annotations like did APIStar to only parse/evaluate pertinent parts of the incoming request. Not sure it will work in our particular case though.

More than code

That part is really intimate. I enjoy taking the time to carve my own tools and challenge my assumptions with experimented colleagues. I can feel the progression, both on a personal point of view and as a team. You might think that time is lost and building your own “homemade framework” is such a waste and will be painful to maintain. That is OK and I used to think that too.

With as much hindsight as I can under such short notice, I think it saved us as a team to build that core reusable component when we were targeted by politics-related issues and pressure from all parts. It was kind of a safe place where we can focus for half a day and come into that pair-flow state, knowing that we were producing an open-source common.

Take aways

Do it! It has been a hell of a rollercoaster to code our own solution but we are quite happy of the result and we know that we will reuse it for future and ancient projects so the return over investment is not null even if we did not put the actual project to production. And by the way, the technical challenges along the way were as much interesting as the end result so no regrets whatsoever. Bonus: it built confidence in our capability to overcome problems and made us a better team.

Don’t do it!!! If you are not mature enough as a team to take the time to craft a tool that will fit your needs, it is probably better to reuse existing ones. It will be more generic and there is no problem with that: 99% of the time this is the more pertinent approach!

Have fun roll-ing out your own framework!

November 18, 2017 11:00 AM

November 05, 2017

David Larlet

★ Distributed teams

I am not a remote worker, I am a part of a distributed team.

Remote is Dead. Long Live Distributed. (cache)

It has been ten years today that I started to work within distributed teams. I honestly don’t know how I would go back nowadays to an office with all my colleagues in the same room. It would mean that we all have the same rhythms, constraints and wishes. That equation looks just impossible for me to be effective. It doesn’t match my way of being and working.

These last six months, we assemble a team with Yohan and Vincent to accomplish quite some work (more to come about all this) and even if we were on different timezones it worked quite seamlessly. Not because of agile processes (whatever it means) but because we’re part of a culture of feedback, empathy and respect. Pairing one hour or two per day looks natural, working transparently and sharing your mood seems logical, taking the time to perform pro-active reviews and learn new things is normal. Acquiring this maturity takes time though and I’m still working on it.

What I learned these last ten years is… drum rolls… that communication is key. I’m sure you are suddenly mind-blowed by such an unexpected and profound advice. And still, so many teams are failing because of this. Or more accurately lack of. I tend to think that being distributed somehow helps on that topic with asynchronous communication and different ways of interacting. You are forced to communicate to feel part of the team. Cohesion is made by links and not anymore by presence, that is kind of a paradigm shifting.

Another sort of cliché advice is that documentation matters, be it a one-page vision at high level, a 6-page memo (cache) at middle level, a couple of architecture decision records (cache) to document architecture decisions and/or technical RFCs (cache) as management tools, writing down why you did it that way, how you are currently experimenting and what you will do soon is clearly underrated.

Note that I would love to state that working full-time remotely is possible. But it’s definitely not. You have to meet your colleagues in-person at some point. It can be once a week, a month or a year depending on how mature you are to deal with tensions and frustrations. Even companies like Mozilla or LincolnLoop have to setup workweeks on a regular basis.

Last and not least, your behaviour will last. I was very upset 2 or 3 times this decade and it was always extremely bad for me on the long run to ruminate these situations for so long, not feeling happy with my confrontations. My take away is that integrity is better than money and sometimes taking distance is necessary and clearly better than fighting back immediately with anger. Once again, nothing new nor disrupting here, be easy to work with (cache) and anticipate delicate situations as much as possible is my professional motto.

What the next ten years will be alike? Hard to say, I always wonder what would be even better to me and I think I reached some peak where I feel valuable to a team/product without being too stressed. And that’s finally all that matters.

November 05, 2017 11:00 AM

October 27, 2017

Nicolas Cynober

October 26, 2017

David Larlet

★ Into the Wild

For the many tribes that once inhabited the forest, the threat of fire destroying their homes was a serious one, but they lived in such a way that they were able to move quickly away from danger. This was their home, though, and to think of it as a wilderness — as we do today — is incorrect. They adapted a way of life that was completely natural to them, and the abundance of the forest met all of their needs. It was home to them, every bits as much as a farm would be to a rural dweller today. Both live off the land and create comforts that make a place a home. Indeed, there is no First Nation word for wilderness — it’s not just alien to them as it become to us. Interestingly, too, they have no word for ‘outdoors’, because there is no delineation between being out of doors and in. That’s the kind of thing that really interest me — the knowledge, the skills that I acquired, which make me feel completely at home, at one, with a wild place like this.

Northern Wilderness, Ray Mears

I spent three days in the wilderness. Alone. When I say that to somebody, the first reaction is often to ask if that was a survival trip and if I had to confront myself to the elements. It makes me a bit sad because my goal was just to be within the nature and enjoy the moment as being part of it. Nature is not an hostile place per se, nature just is. As such, my plan was not to fight against something but just be. Time to learn new skills, time to meditate, time to observe and listen to the music of life. To acquire enough confidence to go with a 4-years old child.

Nature looks so distant to us these days that we consider it as an enemy. I rather tried to embrace it. The easy way. Sort of.

Earn or learn

As a record for future explorations:

  • earn: dealing with food hanging was a bit cumbersome but easier than expected, required for bears and raccoons.
  • learn: going without a tent, a mattress and a duvet was a bit too much when not acclimated, a blanket and a tarp are not enough when it is literally freezing at night.
  • earn: filtering water worked as expected, note that it makes you pee more, especially combined with tea (definitely not cool during cold nights :p).
  • learn: listening at packs of wolves howling at night back and forth is great, excepted when one is responding OMFG-too-close and you have to start up a new fire for the whole night!
  • earn: lightning up a fire and maintaining it without burning the whole forest, conditions were good except for how soaked everything was after three days of heavy rain.
  • learn: relying on fishing for better meals is hard because of the constraints (having a fire ready, good timing, proximity of the appropriated place, risks of attracting bears and so on).
  • (l)earn: practicing bushcraft skills, a bit frustrated by the lack of time I had to setup a proper camp with at least an elevated bed to isolate myself from ambiant humidity and maybe a fire reflector to warm it up by night.
  • earn: not so many bugs at this season compared to the spring, it can drive you crazy very quickly if you do not have appropriated equipment day and night.
  • learn: my backpack was as heavy as my fears (and I had so many!), I knew it and I knew also that I had to experience it before opting for lighter options, that process requires confidence.

Next time

Well, winter is coming© so I have to bring back my dedicated equipment from France prior to go camping by minus thirty Celsius degrees. At least, there will not be bears. But hungry wolves. Can’t wait :-).

October 26, 2017 11:00 AM

September 29, 2017

David Larlet

★ Le bruit et l’odeur

vieux
on ne veut plus de bruit
qui fasse mal
jamais plus
moins à cause du mal
que de la mauvaise qualité
du bruit
le mal n’est plus alors l’apanage
du corps, c’est désormais
le cœur qui assume
le cœur qui récole
le cœur qui subit
et il lui arrive qu’on hurle :
« suffit ! »

vieux
on ne désire
que le silence
des anciens conifères
le silence vertical
le silence des épines gelées
et des fruits secs
si pleins de promesses d’alcool

vieux
on ne sourit plus
qu’aux bruits minuscules

Mon bruit, Normand de Bellefeuille

La référence est terrible et il m’a fallu du temps pour apprécier la pertinence d’une telle communication. Les années passant, je comprends de mieux en mieux l’importance de faire appel à des sens qui s’exacerbent et rendent de plus en plus intolérant. J’ai maintenant du mal à accepter une mauvaise qualité de son. C’est peut-être pire pour une odeur trop forte. Je ne sais pas comment interpréter ces nouvelles sensibilités.

Puisque l’on en est à ce genre de confidences, je m’interroge de plus en plus sur le chaos qui vient et sa théorisation. Quelle place avoir dans cet avenir ? Quels savoirs acquérir en préparation ? Comment transmettre une partie de nos échecs aux générations futures ? De plus en plus tenté d’aller passer du temps en forêt pour méditer là-dessus.

Sentir, entendre, voir ne sont pas des facultés politiquement indifférentes, ni équitablement réparties parmi les contemporains. Et le spectre de ce que perçoivent les uns et les autres est variable. Il est au reste de rigueur, dans les rapports sociaux actuels, de rester à la surface, de crainte qu’un convive ne soit pris de vertige en abîmant son regard en soi-même. Si tout le cirque social dure encore, c’est parce que chacun s’échine à garder la tête hors de l’eau quand il faudrait plutôt accepter de se laisser tomber jusqu’à toucher quelque chose de solide.

Pour la suite du monde - comité invisible (cache)

Et peut-être en revenir encore plus sauvage. En ayant transformé du savoir en connaissance. Pour être ensuite en mesure de convertir des savoir-faire en pouvoir-faire (cache). Toujours ce besoin d’être en capacité.

Ou plutôt de ne pas être en incapacité ?

September 29, 2017 11:00 AM

September 15, 2017

Christian Fauré

Donner à voir les tendances techniques

Il s’agit d’une intervention faite cet été, autour de la différence entre les tendances techniques et les faits techniques, dans la perspective de produire une cartographie des tendances.

Un travail en cours sur lequel j’aurai l’occasion de revenir dans les prochains mois.

 

 

Signaler sur Twitter

by Christian at September 15, 2017 08:30 AM

August 29, 2017

David Larlet

★ Besoin et expérience

Mais à notre grande surprise, la plupart des personnes qu’on a interviewé se satisfont pleinement de ce que propose Sud Web aujourd’hui et n’aspirent pas au changement. Étonnant ? Pas étonnant ? Moi je trouve ça vraiment étonnant, voir même paradoxal… De ce que j’avais pu entre-apercevoir de la communauté, je m’attendais à de multiples réflexions, de remises en question, l’expression d’un positionnement fort sur les valeurs. Je me disais, à la vue du fort sentiment d’appartenance des participants à la communauté, que tout le monde aurait l’élan de contribuer à l’amélioration du truc.

En fait pas du tout ! La communauté a une confiance énorme en l’équipe et en les personnes qui participent et elle n’aspire pas naturellement à réinterroger les fonctionnements.

Ratatiner les croyances pour sublimer les valeurs (cache)

En préambule, je suis très heureux de voir que les énergies et les questionnements continuent d’être au centre de l’organisation de SudWeb. Et d’autant plus lorsque cela donne lieu à un partage sur le retour d’expérience. J’espère ne pas trop faire mon vieil aigri dans ce qui va suivre.

Cela fait presque une semaine que je m’interroge sur cet article et ses conclusions. Je pense avoir mis le doigt sur ce qui me gratte à ce sujet : l’application de LEAN à une expérience et non à un besoin. Peut-on appliquer les interviews de Running LEAN à un support pour relations sociales ? Je pense être assez mal placé pour m’avancer là-dessus. Néanmoins, il me semble que l’on peut difficilement prendre le recul nécessaire pour savoir si la modification d’un environnement va avoir un impact positif ou non sur ces relations avant de l’avoir vécu. Et c’est là où la méthode prédictive basée sur un échantillon atteint un peu ses limites.

Avoir plusieurs années d’expérience donne d’autant plus de légitimité pour expérimenter et d’assurance pour se relever en cas d’échec (encore faudrait-il définir cette éventualité). Un événement récurrent donne la chance de pouvoir considérer chaque itération comme une page blanche, les « acquis » ne se font pas sur les formats mais sur le réseau (ou micro-culture) qui se recrée à chaque fois. Renforcer des liens pour le sentiment d’appartenance d’un côté, en relâcher d’autres pour être inclusif par ailleurs. Une communauté vieillissante aspirera toujours à plus de sécurité et de confort. Et est-ce une raison valable pour les lui accorder ? :-)

August 29, 2017 11:00 AM

July 21, 2017

David Larlet

★ Web et technique

L’évolution des objets techniques doit être comprise en ce sens comme la recherche d’un système qui est tel qu’il ne peut être autodestructif. Le système doit pouvoir se maintenir stable le plus longtemps possible. Pour le dire autrement, il s’agit au fond d’augmenter l’espérance de vie de l’objet technique — ce que rend précisément possible l’établissement de directions de convergence. Un objet technique est d’autant plus évolué qu’il n’est pas en lutte avec lui-même. Un objet technique évolué est celui dans lequel aucun effet secondaire ne nuit au fonctionnement de l’ensemble, ou aucun effet secondaire n’est laissé en dehors de ce fonctionnement. Un objet technique se caractérise par le fait de son inscription au sein d’une lignée technique qui augmente à chaque génération son espérance de vie par l’artifice d’une auto-corrélation.

Gilbert Simondon et la libération par les techniques (cache)

Difficile de ne pas faire un parallèle avec le Web ici, objet technique en lutte permanente avec lui-même. La question est de savoir s’il y a effectivement convergence et augmentation de son espérance de vie au cours du temps. J’en doute de plus en plus. Et de continuer :

Mais, précisément, est-ce bien un artifice ? L’objet technique est-il artificiel ? Ce qui est frappant, bien plutôt, note Simondon, est que l’objet technique évolué se rapproche du mode d’existence des objets naturels, en ce sens où il tend lui aussi vers la cohérence interne ou la fermeture du système des causes et des effets qui s’exercent circulairement au sein de son enceinte. On estime d’ordinaire que ce qui fait l’artificialité d’un objet ne tient pas seulement à ceci que l’objet considéré a été fabriqué (et non pas produit spontanément par la nature), mais aussi et surtout à ceci que l’intervention de l’homme est nécessaire pour maintenir cet objet dans l’existence en le protégeant contre le monde naturel, en lui donnant ainsi un statut à part d’existence. L’artificialité est ce qui est intérieur à l’action artificialisante de l’homme : est artificiel ce qui requiert le concours de l’homme non seulement pour exister, mais encore pour se maintenir dans l’existence. Or le propre d’un objet technique est justement qu’il requiert de moins en moins l’intervention de l’homme pour se maintenir dans l’existence : c’est un objet artificiel (en tant qu’objet fabriqué) qui a un mode d’existence naturel.

Ibid.

Je ne peux m’empêcher de faire le parallèle ici encore avec un Web de plus en plus artificiel de par son manque de résilience, son rythme effréné (cache) et l’usage abscons de JavaScript. Ce qui m’amène à penser à l’autonomie du code. Si vous ne touchez plus au code de votre produit Web actuel pendant 6 mois, combien de journées seront nécessaires pour le remettre à jour ? Mettre le doigt sur les causes de son artificialité permet de participer à l’évolution d’un outil technique. De faciliter son émancipation en réduisant sa dépendance aux développeurs tout en maximisant les problèmes résolus (cache).

Pour paraphraser Max Weber au sujet de l’État qui considérait que « le pouvoir politique, c’est le monopole de la violence légitime » on aurait « le pouvoir technique, c’est le monopole de la dette légitime ». Or qui introduit cette dette aujourd’hui ? Les GAFAM plus que l’État à travers des bibliothèques populaires (React, Angular) qui évoluent très rapidement. Cette dette ne s’arrête pas aux outils mais aussi à leurs usages : en utilisant gratuitement un produit on en devient implicitement redevable.

Est-ce que le logiciel libre est ce « mode d’existence naturel » ? En un sens oui, car il devient théoriquement entretenu par une communauté qui se renouvelle et le fait évoluer itérativement. En pratique malheureusement on est bien loin du compte, il y aurait probablement à piocher dans des principes éloignés du code pour parvenir non pas à la convivialité mais peut-être à la résilience :

  • Homéostasie : des boucles multiples de rétroaction pour contrer les perturbations et stabiliser le système ; l’homéostasie est la capacité que peut avoir un système quelconque à conserver son équilibre de fonctionnement en dépit des contraintes qui lui sont extérieures.
  • Omnivore : la vulnérabilité est réduite par la diversification des ressources et des moyens ; comme dans la nature l’ultra spécialisation entame les potentiels de survie.
  • Flux rapides : des mouvements des ressources rapides à travers le système assurent la mobilisation de ces ressources pour faire face aux perturbations.
  • Niveaux hiérarchiques faibles : afin de mettre en œuvre rapidement des réponses très locales non standard. Comme chez nos amis les fourmis ou les rats.
  • Capacité tampon : capacités centrales sur-dimensionnées de telle sorte que les seuils critiques soient moins susceptibles d’être franchis. C’est ce qui est à l’œuvre dans les végétaux du désert et leur capacité interne en eau.
  • Redondance : les fonctions se chevauchent, et un relais peut ainsi être assuré si certaines échouent. Les espèces d’animaux redondantes sont celles qui exercent la même fonction au sein de l’écosystème. Comme les vautours et les hyènes dont les fonctions de découpage des animaux morts sont une même fonction pour deux espèces.

Résilience et modularité (cache) — Source : PDF en anglais (cache)

Il s’agirait presque de la définition d’un réseau en pair-à-pair comme SSB. Notez qu’il n’y a pas de référence à la croissance, un écosystème ayant besoin de s’auto-équilibrer pour survivre.

Quelques pensées (techniques ?) mal agencées que je vous laisse maintenir en vie :-).

July 21, 2017 11:00 AM

July 19, 2017

David Larlet

✍ Lettre à Hubert

Hubert,

Merci pour ces 5548 articles qui nourrissent mes réflexions de manière asynchrone et dense. Tu es le seul journaliste que je suis avec assiduité. En fait c’est à la fois pire et mieux que ça : tu es ma définition d’un journalisme qui sait s’adapter à un contexte changeant. C’est lourd à porter, c’est quelque peu déprimant de te voir aussi esseulé mais c’est aussi enthousiasmant et inspirant de constater que c’est possible !

Alors se pose la question de l’essaimage. Comment faciliter un cadre apprenant qui permette à ces réflexions de produire des interactions transverses ? Comment répertorier les externalités positives qui suscitent l’envie de prendre part à un tel travail ? Comment diffuser sans dénaturer ?

Autant de questions qui dans un autre domaine sont irrésolues de mon côté.

David

July 19, 2017 11:00 AM

July 18, 2017

David Larlet

★ Without JavaScript

js;dr = JavaScript required; Didn’t Read.

Pages that are empty without JS: dead to history (archive-org), unreliable for search results (despite any search engine claims of JS support, check it yourself), and thus ignorable. No need to waste time reading or responding.

Also known as, if it’s not curlable, it’s not on the web.

js;dr = JavaScript required; Didn’t Read (cache)

Transcript of a 5 minutes ignite talk at the Montreal accessibility meetup.

There has been a lot of discussions related to JavaScript within our community. The topic is way more vast than just the accessibility question. I’m here to share with you my own (non-)usage of JavaScript. I’m not deactivating JS completely, actually I’m doing something worse: I combine both hosts configuration and uMatrix to avoid loading most of JavaScript files either from ad-related servers or from content delivery networks (CDNs).

Needless to say that my web is quite empty. My feeling is that one page out of three does not load correctly and one out of ten is left totally blank (e.g. a documentation for developers that requires JS to be loaded, WTF.). Why on earth do I inflict that to myself?!

There are many reasons actually:

  1. Ethics. I’m a Web developer and if I want to fix something I need to be aware of how wide a thing is broken. It impacts my future choices. Really. And it drives interesting discussions with my peers when we have to depend on JS and/or a CDN.
  2. Security. Wait, what?! Yes, about four pages out of ten “include at least one library with a known vulnerability” (cache). That is just crazy.
  3. Tracking. Each and every time you link to a CDN you give all your statistics to another company. Think about it. As a user, I don’t want to be tracked.
  4. Connectivity. “All your users are non-JS while they’re downloading your JS” famously quoted Jake Archibald and there are a lot more reasons for JavaScript not loading correctly (more on that later).
  5. Performances. This is just unbelievable how fast a (blank :p) page can render. Ditch your bloated JS and trillions of call to ad-servers and you will not even need AMP.
  6. Business. Are we creating a Wealthy Western Web (part1 (cache), part2 (cache)) or do we take into consideration the next billion of users/customers? Hint: they will not have an iPhone 7 with a high bandwidth connection.
  7. Empathy (some might say accessibility). Your users can be subject to bad connectivity (transportation, countryside and so on), hanging HTTP requests for sub-resources, under a corporate firewall or worse if a wifi access/provider modifying JS on-the-fly. They can even have addons/plugins altering the DOM in a way you did not anticipate.
  8. Empathy. Again. Bad usage of JS can be nauseous/disturbing for people suffering from ADHD, autism, dyslexia or visually challenged (cache).

We’re building on a web littered with too-heavy sites, on an internet that’s unevenly, unequally distributed. That’s why designing a lightweight, inexpensive digital experience is a form of kindness.

Designed lines. (cache)

When making something readable/usable is turned into “kindness” by the community, it makes me think that we broke something in our culture. Oh and it makes me cry a little as a Web developer.

The answer to all that is progressive enhancement (cache) even years later. But sometimes you do NOT even need all that. Rethink what you are doing from the ground up. Challenge your value(s). And remember that “We’re all just temporarily abled.” (cache), let’s stop shooting ourselves in the foot each and every day.

I do think modern web development has gone down a deeply unwise path. Only through exercising our personal choices can we bring it back. We have mostly stopped the web from being a hellhole of shitty punch the money adverts by blocking the living shit out of adverts. JavaScript is becoming the new conduit for awfulness. I like the web too much to have to endure any more of it when not strictly necessary.

Why I’m turning JavaScript off by default (cache)

July 18, 2017 11:00 AM

July 07, 2017

David Larlet

★ Sur la route

Découvrir un lieu et la micro-culture qui l’habite. Que l’on vient augmenter et réduire à la fois. Les mêmes automatismes pour la survie du groupe. Les mêmes isolements pour la sienne.

Songer au nomadisme lent sans fantasmer celui des premières nations. L’envisager avant de réaliser le nombre de peurs qui alourdissent son propre sac. Se définir par ses escales et se nourrir de ses mouvements. S’embellir de ses contradictions.

Ponctuer son chemin de déchets. Le coût du nomadisme parmi les sédentaires. Ne pas être capable de quantifier son inadaptation. Réfléchir aux tensions qu’Ellul oppose aux adaptations. Ces dernières définissant pour moi l’intelligence et pour lui le confort. La route devra être longue pour aller au bout des ces concepts. En espérant secrètement qu’il n’y en ait pas mais qu’elle soit ponctuée de quêtes d’essence. De sens. Sans interdits.

Accepter d’autres façons d’appréhender le monde. De prendre soin de son monde en tolérant d’autres mo(n)des de pensées. S’intégrer en étant constructif dans un univers en auto-destruction. Des mots ne suffiront pas à calmer ces maux. Rouler au bout de ce monde pour contempler sa fin. Refaire le monde tout en participant à l’e-monde. Rêver d’une histoire sans faim.

Faire un dernier tour de campement pour ne rien oublier. Ne plus savoir si on continue d’avancer pour se retrouver, se fuir ou s’oublier soi-même. Déconnecté, mais de qui ? Des connectés sans acquis.

July 07, 2017 11:00 AM

June 28, 2017

Christian Fauré

La question du temps dans les architectures digitales

Conférence donnée à l’USI 2017

Signaler sur Twitter

by Christian at June 28, 2017 07:09 AM

May 29, 2017

David Larlet

★ Inclusive Python

After 12 years of hacking in Python, what did I learn the hard way? From biology to the web, across startups and now French government, I realized one thing: making your code resilient requires empathy.

It is the subject of a talk (slides) I gave at the Montreal-Python meetup.

I’ve been using Python for more than a decade now. Such a ride. And still, time doesn’t really matter. It’s more the diversity of projects and interactions that made me who I am as a developer. As such, I’m more and more concerned about the life of the code than ever. The transmission of the associated knowledge is the key to success of a project and to achieve this you have to think as a team. Lone wolves are burning out with their products. And it’s a real loss of energy. And happiness. And that sucks.

But first, let’s define inclusive. Given the Wiktionary the first definition is:

Including (almost) everything within its scope.

For this article, I would like to slightly rephrase that definition:

Including (almost) everybody within its scope.

I prefer that definition because coding is a social and political act. As such, each and every line of Python you produce should be put into that context. With whom. And why.

So, how do you make everybody capable of working with you(r Python code)?

Include yourself

Yesterday I was clever, so I wanted to change the world. Today I am wise, so I am changing myself. — Jalaluddin Rumi

That might seem obvious but do yourself a favour and do not reject yourself from your own code! We all have (please confirm :p) a project with no tests, no docs and yet critical and running in production that you have to maintain. Reshaping the project is not an option because you are short on attention/budget so it became a patchwork of ugly bug fixes. At that point, even you are unable to fix something without a week of procrastination to avoid that painful task. The challenge is not technical but the amount of motivation required is tremendous.

Try to be empathetic with a older wiser self. Ease the installation process, reduce dependencies, have fixtures. Document, automate, speed up the feedback loop when you are modifying something. All basic things that I rarely saw well implemented (including my projects).

Include your colleagues

— “But if all of our programmers are pairing, won’t they write half as much code?”
— “No, hopefully they’ll write even less than that.”

Ben Rady

Being part of a team is a way to duplicate the knowledge around the project. And that’s clearly not a lack of time or energy when you see the turn-over within our profession. I see three ways to do it:

  1. before: discussing strategies all together regularly, your mileage may vary on the frequency. The whole team needs to have a clear picture of what will be developed and why.
  2. during: pair-programming and/or quick sessions to discuss a particular issue mainly focused on the how.
  3. after: performing code-reviews and user-testing on each and every pull/merge-request. Check that the “why” of point 1. has been addressed and tested. Do not hesitate to trash everything at that point if it’s not relevant anymore.

Besides that, newcomers are a chance to rethink together a better process to onboard people. It only happens once per people, do not miss it and block at least half a day dedicated to that task. Observe them installing your project and trying to figure out how to make it run. Observe, do not help, do not say anything, let them find out alone. It’s not a user-testing session but a developer one. Collect everything to improve the developer experience later. Once the task is performed or worse your colleague is stuck, it’s time to discuss of the improvements. Is that a documentation issue? Or an environment one? Are you really explaining the purpose of your project? Which are the communication channels? And so on. We all have an illusion of the simplicity of our processes until they confront the diversity of others’ experiences.

The knowledge of your product is in your team, not in your code. We probably need new practices to get rid of that situation, it’s still too hard to find the right cursor between documenting and delivering value. Not only sharing how it works but why it failed and how do we addressed it at that time.

Include your (re)users

My suggestions can be expensive in time, money and energy. When you’re building something for the first time, all of this comes down to you. Focus on the documentation in the beginning. By doing that, you’ll create a welcoming place for others and then they can start helping you with the rest of it.

Lowering the barriers (cache)

This is a particular case that might be biased by my situation but when you are open-sourcing your developments and working for a government citizens you want people to be able to contribute to your work one way or another. Lowering the barriers of the contributions is still very hard.

Labelling some easy-picking issues (cache) might be worth it and your reactivity to answer to declared issues is key. Especially by people who just created an account just to submit them. Which does happen more than I expected in my case! Performing pedagogic reviews might be worth it on the long term to help contributors level up and produce better code with you.

Note: if your project only runs on top-of-the-market computers and requires to download megabytes of dependencies, you are closing the door to a lot of potential contributors.

Include maintainers

While I empathize with maintainers burning out and asking for support, trying to tackle sustainability from a maintainer centric view is a to paddle against the flow of the river. We continue to see barriers to adoption and participation fall away, enabling a new generation of contributors to be involved as long as we can view them as part of the solution rather than the problem itself.

Developers like to think they code their way out of any problem. We know how to scale servers but most of us are inexperienced with scaling people.

Maintainer vs. Community (cache)

Each and every time you contribute to an open-source project, you give your technical debt to a maintainer. Sad but true so help them with tests and documentation too! Lowering the barriers to other contributors is a way to increase the sustainability of the project which directly benefits to you.

As a maintainer, try to involve more people in the governance and maintenance of your project (I’m terrible at this…). This is somehow your escape lane because interest in projects will vanish from time to time. If you are the only one keeping the keys it will be lost forever once abandoned. At least, be a Minimally-nice Open Source Software Maintainer (cache).

Include beginners

Write code for complex logic so elegantly simple that it won’t make you look smart.

Think about it each and every time you plan to add a metaclass, a signal, a decorator or introduce the latest hyped lib to name a few. The beauty of your code is somewhat ugly to somebody having a hard time understanding these concepts. Really, nobody will blame you for writing dumb code that anyone understand at first sight. Not to mention yourself when you are stressed by a deadline or reopening this code six months later.

The best programmers write code beginners understand. It is as simple as this. You can write idiomatic Python and still be readable by a developer using another programming language. Make it a target and enjoy crossed code-reviews to identify these issues.

Document tools you use for your project (pycodestyle, isort to name a few), you can even add pre-commit hooks or automated checks via the pull/merge-request.

Include citizens

In an ever-more intricate and connected world, where software plays a larger and larger role in everyday life, it’s irresponsible to speak of coding as a lightweight activity. Software is not simply lines of code, nor is it blandly technical. In just a few years, understanding programming will be an indispensable part of active citizenship.

Coding is not ‘fun’, it’s technically and ethically complex (cache)

I’m not only talking about fixing typos in documentation here. How do you include people in the process of building the product? How do you make them aware that they can have a direct impact on what is done with their taxes? That part is yet to be experimented because it requires a shift in minds. A nation is a cooperative that scaled and as such each individual should act as part of a community.

Maybe some day, micro-payments will be available to remunerate the time spent by citizens on collective projects but — apart from the technical issue — the complexity to evaluate the value of each contribution is a real problem.

Include conclusion

An important point of maturity as a developer is realizing that writing code is a relatively insignificant part of software development.

Steven R. Baker

Embrace the diversity of others point of views, make them count. Your code is not a book, it’s a continuous discussion on a given goal. You are maybe familiar with the concept of progressive enhancement, you can push the first draft of your code/documentation as a proof of concept and then progressively enhance the inclusivity of your project too. As for Web literacy, it’s a matter of Python literacy. We have the chance to use a language that is easy to learn, let’s be worthy of it.

I had to confess that I’m not doing half of the things I described, it is mostly self-criticism here. And that’s OK, really, because inclusiveness is a journey. Just be sure to keep moving toward a direction that makes you feel good at the end of each and every day.

Include discussions

What makes a good pull-request for a developer and a good code review from a maintainer?

On the developer side, documenting clearly what is the aim of your contribution is key. It looks obvious but that’s not always the case. Adding clean code, tests and documentation is great. We use to add an entry in the changelog with every pull-request nowadays to ease the communication with our international team.

A good code review is a one that is both respectful and engaging. You can be inspired (cache) by a checklist (cache) but once again, don’t take it too dogmatically. It’s up on your team to define its own check points.

How do you handle technical debt and contributions?

We actually (and sadly) don’t have pull-requests related to technical debt clean up. We mostly initiate that kind of change during workweeks (about twice per year) when everybody is in the same room to coordinate and evaluate alternatives together.

May 29, 2017 11:00 AM

May 14, 2017

Christian Fauré

Demain, dans vos agendas

agenda

N’y a t-il pas là un paradoxe : dans nos activités et nos projets, des comités se réunissent selon une fréquence calendaire qui est cosmique, or en quoi est-ce pertinent de se caler sur le mouvement des astres pour décider de la date et de la fréquence des réunions de ces comités ? Pourquoi caler arbitrairement un comité de pilotage tous les lundi de chaque semaine si l’activité à piloter n’en a réellement besoin que tous les 10 jours ? Et probablement que cette fréquence peut elle-même varier. Le fait qu’une réunion de comité se fasse la journée, quand le soleil brille, et pendant les heures de travail, cela chacun en comprendra la pertinence. Mais pourquoi caler ces réunions sur ce découpage du temps que représente le calendrier : la journée, la semaine, le mois, etc.?

D’abord parce que les comités sont planifiés longtemps à l’avance : on n’a aucune idée du contexte dans le quel il se réunira. On ne sait donc pas s’il est pertinent de planifier un comité tel jour plutôt que tel autre. C’est parce qu’on ne sait pas dans quel contexte se dérouleront les comités qu’on leur donne une fréquence qui est régulière, conventionnelle et arbitraire. Dès lors quoi de plus normal que de se caler sur la régularité des astres et donc sur un calendrier cosmique ?

Mais le projet ou l’activité qui justifient ce comité en ont-ils vraiment besoin ces dates là ? C’est peu probable. Pour bien aller, il faudrait qu’un comité se réunisse si besoin. Il faudrait que l’activité pilotée puisse elle-même déclencher la tenue du comité. Reste à formaliser les règles qui déclencheront le comité : nombre et importance des sujets à traiter, criticité des décisions à prendre, etc.

Se faisant, on ne planifie plus les comités mais on détermine la règle qui va déclencher la tenue du comité. L’efficacité d’un comité n’en sera que meilleur si on veut qu’il soit réellement au service du projet, et non que ce soit le projet qui s’adapte à une planification calendaire arbitraire

Immanquablement, cela va provoquer des « conflits d’agenda » pour les participants du comité ; dégager un temps de réunion au dernier moment est actuellement quasi-impossible. D’où la nécessité de gérer nos agendas de manière différente. Aujourd’hui, le « tetris de nos agendas»  fait que l’on a très peu de marge de manoeuvre pour répondre à des changements de dernière minute, c’est comme aller à l’improviste dans un bon petit restaurant à une heure de pointe : « c’est complet Monsieur ! » .

Une méthode d’agenda non planifié correspond à une algorithmisation de ce dernier : on écrit pas des créneaux de réunions mais des règles de déclenchement des réunions. Il va de soi que cela s’applique d’abord a des réunions récurrentes et c’est pourquoi j’ai plutôt parlé de comités, pour les autres types d’événements d’un agenda, un algorithme de matching suffit (ce que fait Julie Desk).

Il ne va pas se passer beaucoup de temps avant que l’acte d’écrire nous mêmes directement dans nos agendas ne devienne désuet : agendas, algorithmes, assistants virtuels et autres vont reconfigurer notre calendarité.

Signaler sur Twitter

by Christian at May 14, 2017 04:58 PM

May 10, 2017

Karl Dubost

Tristan, Ministre de l'économie numérique

Tristan a demandé  : Si je devenais ministre du numérique, quelle priorités choisir ? #libre #standards #crypto #privacy #innovation #empowerment #education

Cela m'a interpellé et je me suis demandé ce que j'aimerais d'une politique numérique dans un pays (quelqu'il soit). J'ai envoyé un mail à Tristan qui m'a demandé d'en faire un billet. Donc voici la prose remaniée de ce mail. Je crois beaucoup en l'autonomie et en la possibilité des infrastructures permettant aux gens de se prendre en main.

Accès au réseau avec symétrie
Quand vous achetez un accès à un internet, il est assymétrique. C'est à dire que votre capacité à recevoir est plus importante des données est plus importante que votre capacité à envoyer. Je veux donc un réseau symétrique où chacun puisse envoyer des volumes de données. Ceci doit aller de paire avec la prochaine proposition.
Accès à une IP fixe
Votre connexion internet à la maison est soumise à une IP dynamique. C'est à dire que lorsque votre routeur reboote, il est probable que votre adresse IP change. Cette adresse IP vous identifie sur le monde extérieur pour vos communications. Une adresse IP fixe (ou stable) vous permet d'avoir un service visible de l'extérieur. Pensez serveur de mails, serveurs Web ou tout autre service et protocole afin de créer des échanges.
Interopérabilité
Les standards ou normes sont plus importantes que le libre (au sens logiciel du terme). Une fois que les standards existent, ils permettent à une économie de se développer et d'échanger. Donc il ne faut pas nécessairement imposer le libre. Il est bien de l'encourager, mais les standards doivent toujours être premiers.
Le chiffrement
Le chiffrement des communications est plus important que la vie privée. La vie privée ou ce que je préfère appeler l'intimité ou l'opacité sont très importante. Mais elle ne découle que de ce que l'infrastructure permet. Et donc pour assurer une véritable confiance dans les échanges, il faut un chiffrement fort et sans porte dérobée bien sûr. Une fois que cette confiance existe, elle permet aux personnes de développer les niveaux d'intimité et d'échanges de leur message.

Pourquoi est-ce important ? Fournir la possibilité d'une autonomie même si elle n'est pas utilisée par la majorité permet de créer le terrain d'opportunité d'affaires, de communications, de réalisations des individus. Un des gros problèmes de la centralisation des services est inscrite déjà dans l'architecture de connexion du réseau. Si un simple ordinateur à la maison peut devenir un service, nous élargissons le champs des possibles et des initiatives individuelles. Je me souviens d'un temps où installer un serveur de mail, un serveur de liste de discussions ou Web était l'affaire de quelques clicks. Macjordomo par exemple. Ceci était possible dans les universités, les entreprises avec des accès à des IP fixes. Ce favorise aussi une nouvelle industrie du logiciel. Cela permet de créer des réseaux plus intimes (peer to peer). Cela redonne du pouvoir aux individus. Cela permet au tissu associatif de gérer des micro-communautés avec des compétences moindres.

Non seulement on favorise une nouvelle économie de micro-services. Non seulement on permet au tissu associatif une certaine indépendence. On ouvre la possibilité d'une véritable intimité de communication à travers des réseaux décentralisés, peer to peer et chiffrés.

May 10, 2017 11:56 PM

Eric van der Vlist

Les vrais chiffres

Deux tiers des français ont fait confiance à Macron.   Sur dix personnes croisées dans la rue, plus de trois sont des fascistes. Il est bien difficile d’échapper à ce type de pseudo-analyses depuis dimanche dernier… Outre les raccourcis discutables qu’elles abritent (voter pour Macron au deuxième tour n’est pas un gage de confiance et … Continue reading Les vrais chiffres

by Eric van der Vlist at May 10, 2017 01:17 PM

May 01, 2017

David Larlet

★ Espace et temps

In other words, we should not take too much comfort from the fact that the global internet first evolved thanks to cooperative capitalists, not competitive socialists: the story of the Soviet internet is a reminder that we internet users enjoy no guarantees that the private interests propping up the internet will behave any better than those greater forces whose unwillingness to cooperate not only spelled the end of Soviet electronic socialism but threatens to end the current chapter in our network age.

How the Soviets invented the internet and why it didn’t work (cache)

J’ai de plus en plus le sentiment que les cycles (d’ouverture aux autres ⟳ repli sur soi) sont intimement liés à notre rapport à la technologie. Et plus particulièrement aux effets que la technologie a sur notre relation à l’espace et au temps. Comme un mécanisme d’auto-protection, lorsque les autres se rapprochent de trop, on se renferme d’autant plus dans notre bulle : égoïsme, survivalisme, nationalisme. Il faut alors le temps de l’acceptation de ces changements et certains évènements comme la guerre favorisent probablement la prise de recul nécessaire à large échelle.

Le numérique (incluant le Web) contribue à la compression de l’espace et du temps. Il permet de prendre conscience à la fois du côté des privilégiés qu’ils le sont d’autant plus et du côté des exploités qu’ils sont nombreux. Ce ne sont pas tant les inégalités que leur visibilité qui est critique dans une société. Lorsqu’un outil accroit cette visibilité instantanément et en tout lieu, il est normal que des processus de rétro-actions se mettent en route au service d’une stabilité sociale qui s’apparente au fascisme.

Dans quelle mesure est-ce que cette cyclicité est inéluctable ? Est-ce qu’il est souhaitable de participer au contre-pouvoir ou au contraire de l’accélérer pour passer plus rapidement au prochain cycle ? Mes propres explorations dans la dualité allouée au numérique en tant que pharmakon me font douter de sa nature éducative au sens où l’entend Seymour Papert :

A few talked about the computer as a teaching machine. This book too poses the question of what will be done with personal computers, but in a very different way. I shall be talking about how computers may affect the way people think and learn. I begin to characterize my perspective by noting a distinction between two ways computers might enhance thinking and change patterns of access to knowledge.

Mindstorms, Seymour Papert

Le passage à l’échelle est trop brutal pour qu’il soit compréhensible et intégrable, l’accompagnement requérant un temps long s’il doit se faire sans violence. Notre capacité à entrevoir les possibles se trouve être masquée par nos dégoûts de l’actuel que nous n’arrivons pas à changer suffisamment rapidement alors qu’ils se trouvent être chaque jour plus visibles.

L’acceptation de ces fake news est un moyen d’auto-défense envers une réalité qui nous dépasse. De protection d’une intégrité qui pourrait voler en éclats en cas de déstabilisation trop forte. Il s’agit d’un criant besoin de repères sur un territoire nouveau qui manque de mécanismes de contrôle traditionnels, le fascisme étant avant tout un mal-être externalisé.

Lorsqu’une activité outillée dépasse un seuil défini par l’échelle ad hoc, elle se retourne d’abord contre sa fin, puis menace de destruction le corps social tout entier.

Ivan Illich cité dans Rencontre improbable entre von Foerster et Snowden (cache)

Chacun essaye de (sur)vivre dans son propre processus d’individuation, composant avec les altérités des différents niveaux qui l’entourent. En embrassant la complexité du monde d’une part, en acceptant la fragilité du soi d’autre part. Comment revenir à des outils numériques proposant une échelle compréhensible par tous ? Quelle est notre limite cognitive actuelle vis-à-vis des liens facilités par la technologie ?

En relisant la définition des outils conviviaux, je ne peux m’empêcher de penser que ScuttleButt donne des pistes en matière de stockage et d’échanges mais surtout de moyens de mise en relation. Une FAQ vient d’être publiée afin de mieux comprendre les concepts sous-jacents et notamment comment les connexions sociales sont réalisées.

La où la disruption mène à la violence, la réduction favorise l’apaisement. C’est l’un de mes objectifs actuels en tant que développeur web de résister à l’un et de tendre vers l’autre.

Merci à Aurélien de m’avoir ouvert des perspectives, vous devriez travailler avec lui.

May 01, 2017 11:00 AM

April 28, 2017

David Larlet

★ Spectre et autisme

I like being alone. I have control over my own shit. Therefore, in order to win me over, your presence has to feel better than my solitude. You’re not competing with another person, you are competing with my comfort zones.

Horacio Jones

J’ai offert La différence invisible à Noël. Ce qui signifie que je l’ai lu car j’offre rarement un livre sans savoir ce qu’il y a dedans. Et au fil des pages, j’ai commencé à me dire qu’il y avait beaucoup de similitudes entre ce que l’héroïne ressentait et certaines de mes expériences. J’ai gardé ça dans un coin de ma tête pensant que le biais était bien trop énorme pour être pertinent. Au détour d’une nuit d’insomnie, je commence à lire des articles sur le sujet (merci Aurélien !) ainsi qu’à consulter la documentation locale. Puis me résoudre à remplir un quiz puis d’autres et toujours me retrouver à la limite sur le spectre en présentant un nombre non négligeable de traits neuro atypiques. Je ne ressens pas le besoin d’aller plus loin pour l’instant en le faisant diagnostiquer de manière sérieuse.

Les retours (cache) de découvertes (cache) tardives ont ceci de commun qu’ils sont une libération. Pour ma part, je ne sais pas si je me sens rassuré ou résigné. Ni diminué, ni augmenté, cela me conforte dans l’idée que l’adaptation est pour moi de la survie. Et qu’elle me demande énormément d’énergie selon les situations. À travers ce prisme, j’ai des pistes pour tenter de comprendre pourquoi certains bruits, certaines lumières et même certains sites me sont insupportables (cache) mais aussi pourquoi je travaille de la maison, à l’étranger en ayant ma propre entreprise (cache). Et beaucoup d’autres choses encore (confort, inclusion, résilience) qui prennent un éclairage différent à la lumière de cette éventualité.

Difficile de savoir si la prévalence de l’autisme (cache) est bien réelle ou provient d’un changement dans son interprétation, elle semble prépondérante dans l’informatique en tout cas. Il semblerait aussi que le facteur héréditaire (cache) soit non négligeable et c’est peut-être ce qui me préoccupe le plus dans mon accompagnement. Quoi qu’il en soit, cela m’a plongé dans une profonde introspection ces derniers mois qui a menée notamment à la mise en pause de mes correspondances. J’espère que la publication de ce billet permettra de relancer la machine, j’ai l’impression d’être dans la phase d’acceptation qui précède la reconstruction.

Je suis loin d’être le premier à me servir de mon blog pour partager des atypies psychologiques, Kenneth Reitz (cache), Benjamin Bayart (cache), Pep (cache) et d’autres (cache) l’ont fait avant moi et je les remercie car cela m’a aidé à écrire à mon tour. Constater au quotidien que ce monde n’est pas binaire et que les différences de chacun en font sa force est un grand pas vers l’acceptation d’autrui.

Note : il parait que les autistes ont participé à l’évolution (cache) de l’espèce humaine (cache) ce que je trouve à la fois enthousiasmant et malheureux.

April 28, 2017 11:00 AM

April 26, 2017

Christian Fauré

La nouvelle éthique technologique

Voici la vidéo de mon intervention à Devoxx faite à l’invitation des organisateurs que je remercie :

Signaler sur Twitter

by Christian at April 26, 2017 08:21 AM

April 22, 2017

David Larlet

★ Confiance et transparence

Dans un univers en état d’équilibre thermique, aucun événement ne pourrait plus se produire en raison de l’absence de dénivellation. Dans un cercle en état d’équilibre d’information, il n’y a plus aucune information. Dans un groupe en état d’équilibre humain, d’homogénéité humaine, il y a entropie. Mais l’entropie, c’est exactement l’équilibre de la mort. Il nous faut être attentif, si nous acceptons les généralisations qui ont été faites par d’autres, à ce que l’adaptation parfaite des uns et des autres dans un groupe signifie en réalité la disparition de la vie de ce groupe au profit de sa mécanisation. L’unité accomplie dans le mouvement politique signifie la disparition de la vie dans un système donné. […]

Or, je peux dire que l’orientation vers une conception unitaire de la nation sous la puissance organisatrice de l’État, comme l’orientation vers l’adaptation généralisée de l’homme à son milieu sont des tendances qui accroissent l’entropie et diminuent la vie. Dans ce mouvement, l’illusion politique a son rôle fort précis à jouer, qui est de présenter un simulacre, un faux-semblant d’information, de courant vivant, de fixer les passions sur de fausses réalités, cependant que les mécanismes adaptateurs fonctionnent, et d’éviter les heurts et les refus au niveau de la réalité de la société nouvelle.

La seule voie pour maintenir l’État dans son cadre et sa fonction, pour restituer à la problématique vie privée-vie politique une réalité, pour dissiper l’illusion politique, c’est de développer et de multiplier les tensions. Cela est également vrai pour l’individu et pour le corps politique. Je pense que seuls les processus de tension et de conflits sont formateurs de la personne. Non seulement sur le plan le plus élevé mais aussi sur le plan collectif.

L’illusion politique, Jacques Ellul.

La faible réactivité de l’État est parfois nécessaire pour laisser le temps à ces tensions de s’installer. Vouloir niveler trop tôt (cache) est une occasion perdue d’une appropriation citoyenne. C’est proposer une escalator là où quelques marches et encouragements auraient suffit. Sans compter le coût de mise en place et de maintenance.

Mastodon est un réseau distribué fondé sur la confiance entre les personnes d’une même micro-culture puis à une autre échelle entre ces micro-cultures à travers les connexions entre instances. Il y a l’opacité des relations humaines dans ces différentes relations de confiance. Certaines sont rendues publiques, d’autres pas. Certaines ont une gouvernance collective, d’autres pas. Certaines sont légales dans certains pays, pas dans d’autres. Cette complexité est propre à chaque communauté et ne peut être résolue à l’échelle d’un pays ou d’une administration. Du moins de manière démocratique.

Lorsque la confiance est rompue, il reste la transparence. Je creuse depuis quelques jours les technologies et concepts autour de Secure ScuttleButt (SSB pour les intimes). À la différence de Mastodon, il ne s’agit pas de technologies web (cache) et Robin a fait un excellent article d’introduction (cache) que je vais tenter de résumer en trois points clefs :

  1. Chaque périphérique est une identité (plus spécifiquement possède une clé privée) qui va émettre un flux incrémental de messages signés.
  2. Les messages du flux s’échangent en pair à pair, je ne stocke que ceux de mes amis et de leurs propres amis pour suivre les discussions et rendre le réseau plus résilient.
  3. Le stockage est chiffré et sa représentation (interface utilisateur) est à la libre interprétation de l’implémenteur. Il existe actuellement des clients graphiques mais c’est l’API qui fait référence.

Autant dire que c’est à des années lumières d’un Twitter décentralisé :-). Ici chaque nœud comporte ses données et devient le centre de son propre réseau pouvant être connecté ou non à Internet. On touche mine de rien avec ces technologies à une certification forte de l’identité/la clé utilisée. Je pense que c’est trop intelligent pour pouvoir percer et qu’il faudra encore quelques itérations pour une prise de conscience collective de ces enjeux mais le cap est techniquement enthousiasmant.

Au niveau des inconvénients, il y a bien sûr ceux relatifs à la performance car le pair-à-pair consomme forcément davantage de ressources pour chaque nœud mais le stockage des flux des amis des amis limite les pics que j’avais pu avoir avec d’autres réseaux du même type. Qui dit chiffrement dit forcément aussi problématiques associées à la gestion des clefs, pour l’instant une clef est générée par périphérique et au passage il n’y a pas à ma connaissance d’implémentation pour téléphone intelligent(-mais-pas-trop-sinon-on-pourrait-faire-du-mesh-sans-payer-une-dîme-aux-constructeurs-et-opérateurs…).

On retrouve la dualité confiance humaine (Mastodon) vs. transparence algorithmique (SSB), observer où vont se déployer les intérêts personnels, politiques et économiques sur ce curseur est fascinant à plus d’un titre. Plus que jamais, les réseaux que l’on rejoint en disent beaucoup sur nos affinités politiques et notre conception du monde.

Entre la Pachysphère et le Scuttleverse, je ne saurais trancher. D’un côté la communauté francophone qui redécouvre les avantages et les inconvénients d’être en comité restreint, de l’autre des personnes qui expérimentent sur des concepts qui me tiennent à cœur. Après tout les deux ne sont pas antithétiques, mais mon attention est limitée :-).

April 22, 2017 11:00 AM

April 15, 2017

Eric van der Vlist

58

L’idée de marcher 58 km est née de la conjonction de plusieurs facteurs. Le chiffre 58 : je suis né en 58 et ai donc eu 58 ans en décembre dernier. Samuel et Sarah qui ont pris l’habitude de courir le jour de leur anniversaire une distance correspondant, en kilomètres, à leur age. Une discussion … Continue reading 58

by Eric van der Vlist at April 15, 2017 03:13 PM

April 07, 2017

David Larlet

★ Micro-cultures and governance

A new system of governance or collaboration that does not follow a competitive hierarchical model will need to employ stigmergy in most of its action based systems. It is neither reasonable nor desirable for individual thought and action to be subjugated to group consensus in matters which do not affect the group, and it is frankly impossible to accomplish complex tasks if every decision must be presented for approval; that is the biggest weakness of the hierarchical model.

Stigmergy (cache)

The recent hype within the French community about Mastodon is fascinating and raises some questions about decentralisation. At first, everybody jumps on main instances for the sake of simplicity and that’s normal. Consider it as freemium, you have 15 days (followers?) to evaluate the product and invest some time to choose and/or install the instance that fits you. The next step is to stick to traditional model and join an instance you trust (like being employed by a company) or to be tech-savy/confident enough to install and maintain your own instance (like acting as a freelance). And then come cooperatives-alike instances, the ones requiring to care about values and ethics.

Why is that important? Each Mastodon instance creates a micro-culture and links between these micro-cultures are done by humans. One line of “code” added, thousands of new connections made possible. Another one is removed and a lot of relations are broken without even being noticeable for users. Having that responsibility should be daunting for each instance administrator. That’s why I decided to co-create a cooperative after years of freelancing. It was both too easy and too difficult to deal with moral questions alone. Efficiency versus exploration. How do we decide collectively which instances we would like to be linked to? How much time can we dedicate to that task?

There are already initiatives to finance and share the responsibility of instances and that’s great. I’m more inclined to host an instance at scopyleft.fr than at larlet.fr for the same reasons. And invite peers to join the governance, discussing and sharing together before doing and working together.

The more I think about all that, the more I realise that federating identities into a unique one is an old model we may want to avoid with real decentralisation. Even with strong self-integrity you do not (re)act the same way given the group you’re in, multiple identities may allow to generate multiple circles of trust (hello G+). Either inter-connected or not. How these relations will evolve at scale based on governance and self-interest is still to be observed. Oh, and acted. Wait, tooted.

Note: disconnected instances will probably hurt Slack too, maybe more that Twitter actually.

April 07, 2017 11:00 AM

April 05, 2017

David Larlet

✍ Lettre à Éric

Éric,

Je comprends tes réticences (cache) vis-à-vis de Mastodon, j’ai eu les mêmes assez rapidement mais je continue de creuser en me posant des questions sur la fédération d’identités ou l’expérience utilisateur. C’est la beauté d’un réseau naissant avec les tâtonnements de chacun. Proposer une solution compliquée et découvrir qu’il en existe une plus simple. La communauté itère dans un voyage initiatique qui est nécessaire pour atteindre les limites de la décentralisation. Celui-ci doit se faire ensemble sans brûler les étapes au risque d’en perdre en chemin et de créer un réseau plus élitiste que ce qu’il n’est déjà.

Je suis ravi que l’instance la plus populaire n’arrive pas à tenir la charge, ne surtout pas l’optimiser et laisser d’autres prendre le relais pour atteindre un réseau réellement décentralisé. Je ne pense pas que tu aies eu tout de suite ton nom de domaine et ton hébergeur de confiance pour tes courriels, il en est de même pour ton identifiant Mastodon. Il évoluera au cours du temps, des données seront perdues mais tu auras probablement sauvegardé ton graphe de relations en attendant mieux (le CSV d’export est une liste des différents identifiants).

Quelle chance de pouvoir faire une expérience de cette échelle qui implique de la décentralisation et de la liberté. Il n’y a pas de stratégie, de gros acteurs ou quoi que ce soit, juste un joyeux bordel qui apporte du fun. Et ça fait du bien.

David

April 05, 2017 11:00 AM