Pensées quasi-quotidiennes

2018-01-01 • 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.

2018-01-02 • 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 ?

2018-01-03 • 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.

2018-01-04 • 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.

2018-01-05 • 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.

2018-01-06 • 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.

2018-01-07 • 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…

2018-01-08 • 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.

2018-01-09 • 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…

2018-01-10 • 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:

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

2018-01-11 • 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.

2018-01-12 • 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 :-).

2018-01-13 • 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…

2018-01-14 • 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 :-).

2018-01-15 • 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.

2018-01-16 • 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 :-)

2018-01-17 • 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.

2018-01-18 • 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…

2018-01-19 • 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.

2018-01-20 • 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 :

2018-01-21 • 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.