Réflexions quotidiennes

2015-01-01 Publication quotidienne

J’inaugure une nouvelle forme de publication courte qui est destinée à remplacer mon usage de Twitter. L’idée est de continuer à partager des liens et des idées sans pour autant abreuver une machine publicitaire. Le format restera court et un seul article devrait être publié par jour. C’est expérimental.

Un billet de blog a été rédigé depuis pour clarifier ma position.

2015-01-02 Économie de partage vs. économie de location

the “sharing economy” was outed as the “rental economy.” nobody is sharing anything. people are making money, plain and simple. technology has made renting things (even in real time) as simple as it made buying things a decade ago.

What Just Happened? (cache)

Cet article et sa suite (cache) sont culturellement intéressants. Capitalisme, Web et Oncle Sam.

2015-01-03 Écoutés en 2014

Alt-J, Agnès Obel, Aphex Twin, Asaf Avidan, Bibio, Calexico, Caribou, Clark, Daft Punk, Détroit, Django Django, Emilie Simon, Grimes, James Vincent McMorrow, Jamie xx, LCD Soundsystem, Lisa Simone, Little Dragon, London Grammar, Marianne Faithfull, Max Richter, Melody Gardot, Metronomy, Mogwai, Mount Kimbie, Rodriguez, Tame Impala, Todd Terje, Woodkid.

2015-01-04 Illettrisme technologique

Par contre, la croyance populaire comme quoi toute personne de moins de 18 est un magicien de l’informatique est tout simplement fausse. Ils savent utiliser certains logiciels, particulièrement des applications web. Ils savent utiliser Facebook et Twitter. Ils peuvent utiliser YouTube et Pinterest. Ils savent même utiliser Word et PowerPoint et Excel. Par contre, demandez-leur de réinstaller un système d’exploitation et ils sont perdus. Demandez-leur de changer leur disque dur ou leur mémoire vive et ils font une crise d’angoisse. Demandez-leur ce que veut dire https et pourquoi c’est important, et ils vous regarderont comme si vous leur aviez parlé Klingon.

Les gamins ne savent pas utiliser les ordinateurs… Voici pourquoi ça devrait vous inquiéter. (cache)

Chaque réunion familiale me permet de vérifier cela. Chaque cours à l’IUT aussi.

Une idée : quand ils atteignent onze ans, donnez leur un fichier texte avec 10.000 clés WPA2 et dites leur que la vraie est cachée dans le lot. Vous allez voir qu’il ne leur faudra pas longtemps pour découvrir Python ou Bash.

Ibid.

Bonne idée :-).

2015-01-05 Cacher le Web

J’ai entrepris de mettre en cache les articles (sans indexation, via robots.txt + nofollow) dont je propose une citation ou qui me semblent importants pour la compréhension de mes propos. Sans me prendre la tête avec les histoires de copyright et compagnie, par contre j’enlève immédiatement sur simple demande. Je n’ai pas encore tranché sur ce que je vais faire des images distantes. Si ça marche bien, je m’occuperai des 48 articles de 2014.

2015-01-06 Résister à la généralisation

“Wow, I can simplify this; if I just generalize this class or build this Framework it would be so much easier to accomplish what I want to do!”. It happened all the time. I would write Game Engines when I was trying to write games, or forum software when I was trying to start a forum. […] I loved writing beautiful, generic code, that could easily be re-used in the future.

I kept doing this for a long time. I kept generalizing stuff, I kept trying to make things generic. And eventually I learned, the hard way, the truth about generalization: It is (almost always) a waste of time.

On Generalization (cache)

Le fichier fabric qui génère l’intégralité de ce site fait maintenant plus de 1000 lignes. C’est énorme vu la concision que permet Python. Mais c’est presque avec nostalgie que j’évite de refactoriser tout ça. Il est le témoin de mes errements et de mes erreurs, de mes contradictions et de mes habitudes qui évoluent. Et il me retient surtout de le partager et de subir le poids de la maintenance.

2015-01-07 Bouncer IRC et backlog

Connection to david.typhon.net closed.

J’essaye de me séparer de tout ce qui demande mon attention numérique de manière récurrente avec un faible rapport signal/bruit (coucou Twitter !). Mon serveur Typhon gracieusement mis à disposition par les fondateurs a été arrêté, l’occasion de voir si je peux me passer de bouncer IRC et de backlog.

2015-01-08 Kilian Jornet et Aconcagua

I suffered from altitude sickness all the way to Plaza de Mulas. I kept losing my balance, my muscles seemed unwilling to follow my head and made me fall. At Plaza de Mulas I stopped for twenty minutes. I had something to eat, hydrated well and I gradually began to feel a bit better. Ahead was the descent to Horcones, where I was able to run well and ended up making good time.

ACONCAGUA, KILIAN JORNET’S NEW RECORD (cache)

Lorsqu’on lit le récit de Kilian et que l’on connait ses capacités physiologiques, on peut se demander à quel point il frôle ce qu’il est humainement possible de faire. Ça donne des idées (cache)…

2015-01-09 Unanimisme émotionnel

Mais cet unanimisme émotionnel, quasiment institutionnel pour ceux qui écoutent les radio de service public et lisent les grands media, j’ai l’impression qu’on a déjà essayé de me foutre dedans à deux reprises. La société française est complètement anomique, mais on continue à se raconter des histoires.

"Je ne suis pas Charlie. Et croyez-moi, je suis aussi triste que vous." (cache)

La seule analyse depuis 2 jours qui me semble intéressante. Et elle ne vient pas d’un journaliste.

2015-01-10 Devenir conférencier

Et je dis cela parce qu’en tant que conférencier, on partage souvent nos bonnes expériences, mais rarement ce que nous ressentons qui était mauvais. Un conférencier se met en danger, pas pour sa réputation, mais bien par la conscience de ne pas délivrer quelque chose qui représente une matière que l’on peut transmettre et qui évoluera au delà de ce que l’on peut imaginer. Les échecs sont un bon moyen de se rappeler d’être au plus proche de son sujet. Que ce sujet soit utile d’abord à l’audience.

Le temps d’un précipice (cache)

J’avais commencé une intervention sur ce que j’avais appris à chacune de mes interventions (so meta!) un peu avant la publication du billet de Karl. Et ça me trotte dans la tête et dans les onglets depuis. Une sorte de FailConCon mais ça sonne tout de suite moins bien en français. Il y aurait beaucoup à partager sur le sujet, peut-être pour HorsWeb ? #VaporCon

2015-01-11 Code et écriture

Software engineers should write because it promotes many of the same skills required in programming. A core skill in both disciplines is an ability to think clearly. The best software engineers are great writers because their prose is as logical and elegant as their code.

Software engineers should write (cache)

Je vois souvent cet argument et je pense qu’il est incomplet. Chacune de nos activités a des répercussions sur les autres. Je code différemment depuis que je fais la cuisine. Je conduis différemment depuis que je fais du sport. J’écris différemment depuis que je suis père. Nous sommes des systèmes complexes (qui essayent de s’interfacer avec d’autres systèmes complexes).

2015-01-12 Teenagers, AirDrop et P2P

The most-used app during school hours with these kids at their New Jersey school isn’t Snapchat or Instagram. In fact, it’s not an app at all. These teens are now using AirDrop, a feature built into their iPhones, to send pictures to each other during class. When I asked why they didn’t just use Snapchat instead, since it’s essentially the same thing, I was informed that they’re actually very different.

AirDrop is superior, my cousin declared, because unlike with Snapchat, you don’t need anyone’s username to send something to them. She also said that this is what makes AirDrop better than texting: you don’t need anybody’s phone number. As long as you have AirDrop enabled on your phone, anyone nearby can send you a file. Plus, she told me some schools have blocked Snapchat, so AirDrop is essentially a workaround. And unlike Snapchat, where you’re limited to pictures and video taken in the app, with AirDrop you can send anything you already have on your phone.

Teens Using Apple Airdrop Instead Of Snapchat And Instagram (cache)

Intéressant de voir les ados innover et finalement être les premiers à utiliser le réseau en pair à pair. Génération A(centrée) ? C’est assez éloigné de la compartimentation qui opère chez les plus vieux (cache).

2015-01-13 Régulateur de consommation

J’ai la possibilité de régler la vitesse de ma voiture de manière fixe. J’aimerais pouvoir rendre la vitesse variable mais y adjoindre une notion de consommation fixe. Par exemple : régler la vitesse entre 105 et 120 sans dépasser les 5 litres aux 100 kilomètres.

Au passage, je ne comprends pas qu’il puisse y avoir une telle diversité dans les formes de voitures alors qu’il ne devrait y en avoir qu’une par catégorie dont l’aérodynamisme est optimal…

2015-01-14 S’adapter à la luminosité ambiante

Ambient light detection is one of those features that looks great in simple demos, but which we struggle to put to practical use. It’s not new – many satnav systems automatically change the contrast for driving at night or in tunnels, and our laptops may alter the screen brightness or keyboard backlighting to better adapt to our surroundings. Using web technologies we can adapt our presentation to be better suited to ambient light levels.

Making Sites More Responsive, Responsibly (cache)

Je vous ai déjà parlé de f.lux (prenez 2 minutes pour lire les conditions d’utilisation quand même) pour adapter la luminosité/le rendu de votre écran. Il se trouve qu’il existe aussi des plugins pour changer le thème de votre éditeur. Ça me donne envie d’essayer les événements de lumière ambiante en JavaScript (uniquement disponible sous Gecko/Firefox à ce jour).

2015-01-15 Acheter des polices

Je connaissais le livre Practical Typography de Matthew Butterick depuis un moment et j’apprécie vraiment le travail qu’il a fait à la fois en terme de fond et de forme. Aussi lorsque j’ai voulu le remercier il m’a semblé naturel de me tourner vers ses polices comme il le recommande. Vous pouvez retrouver Equity sur ce site et Triplicate pour l’histoire familiale.

Je suis allé plus loin en utilisant Equity pour mon éditeur de textes longs, mes mails et mon agrégateur. Puis Triplicate pour mon éditeur de code, mon terminal et IRC (il y a une variante pour le code). Je suis vraiment très satisfait du résultat.

P.S. : J’ai découvert que les typographes sont des perfectionnistes lors des rencontres de Lure… et à quel point la réalisation d’une police demande du travail.

Mise à jour : à la demande de Nicolas Charlery, une capture avec Equity et une autre avec Triplicate.

2015-01-16 Esthétique et API

Je n’ai finalement pas pu résister à une réécriture partielle de mon outil dans le but d’avoir une API plus jolie tirant partie des dernières possibilités de fabric :

$ fab -l
Available commands:

    generate_all     GENERATE ALL THE THINGS!!! WARNING: boolean param.
    caches.generate  (Re)generate caches MD files into HTML files.
    caches.new       Cache the given `url` into a MD and a HTML file.
    family.generate  Generate the family history.
    notes.generate   Generate notes and archives for the stream.
    notes.new        Generate the template file to post a note.
    notes.publish    Publish the daily note after generating the feed.
    pages.generate   Generate all static pages.
    posts.generate   Generate posts and archives for the blog.
    posts.publish    Publish the article after generating the feed.
    server.commit    Add/rm files and then commit with the `message`.
    server.deploy    Push/pull the repository from the production server.
    server.errors    Display latest 200 errors lines from production.
    server.infos     Display infos (mail+web) about disk usage in prod.
    server.log       Display access logs continuously from production.

Pour initier cette note :

$ fab notes.new:"Esthétique et API"
[larlet@ssh.alwaysdata.com] Executing task 'notes.new'
[localhost] local: open -a "iA Writer" "larlet.fr/david/stream/2015/01/16/index.md"

Done.

Pour la déployer :

$ fab notes.publish
[larlet@ssh.alwaysdata.com] Executing task 'notes.publish'
Done: http://larlet.dev:8089/david/stream/2015/
Done: http://larlet.dev:8089/david/
Feed: ★ Livre et diffusion (2015-01-07)
Feed: ★ Cours IUT : jQuery et Bonus (2015-01-06)
Feed: ★ Publier, enseigner et cultiver (2015-01-03)
Feed: ★ Rétrospective Mozilla (2014-12-27)
Feed: ★ Père Noël (2014-12-22)
Feed: Acheter des polices (2015-01-15)
Feed: S’adapter à la luminosité ambiante (2015-01-14)
Feed: Régulateur de consommation (2015-01-13)
Feed: Teenagers, AirDrop et P2P (2015-01-12)
Feed: Code et écriture (2015-01-11)
Feed: Devenir conférencier (2015-01-10)
Feed: Unanimisme émotionnel (2015-01-09)
Feed: Kilian Jornet et Aconcagua (2015-01-08)
Feed: Bouncer IRC et backlog (2015-01-07)
Feed: Résister à la généralisation (2015-01-06)
Feed: Cacher le Web (2015-01-05)
Feed: Illettrisme technologique (2015-01-04)
Feed: Écoutés en 2014 (2015-01-03)
Feed: Économie de partage vs. économie de location (2015-01-02)
Feed: Publication quotidienne (2015-01-01)
[localhost] local: hg addremove
adding larlet.fr/david/stream/2015/01/15/index.html
adding larlet.fr/david/stream/2015/01/15/index.md
[localhost] local: hg ci -m "Add new note"
[localhost] local: hg push
pushing to ssh://hg@bitbucket.org/david/larlet.fr
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 1 changesets with 5 changes to 5 files
[larlet@ssh.alwaysdata.com] run: hg pull -u -R /home/larlet/www
INFO:ssh.transport:Connected (version 2.0, client OpenSSH_5.5p1)
INFO:ssh.transport:Authentication (publickey) successful!
INFO:ssh.transport:Secsh channel 1 opened.
[larlet@ssh.alwaysdata.com] out: pulling from ssh://hg@bitbucket.org/david/larlet.fr
[larlet@ssh.alwaysdata.com] out: searching for changes
[larlet@ssh.alwaysdata.com] out: adding changesets
[larlet@ssh.alwaysdata.com] out: adding manifests
[larlet@ssh.alwaysdata.com] out: adding file changes
[larlet@ssh.alwaysdata.com] out: added 1 changesets with 5 changes to 5 files
[larlet@ssh.alwaysdata.com] out: 5 files updated, 0 files merged, 0 files removed, 0 files unresolved

Done.
Disconnecting from ssh.alwaysdata.com... done.

Une doc. Deux lignes. Futile ? Certainement, mais c’est comme un changement de police, ça contribue à l’amélioration d’une expérience d’écriture en la rendant plus fluide.

2015-01-17 Effacez mes (méta-)données

Mais ce qui constitue la vraie nouveauté, l’information principale du programme PRISM et de ses suites, c’est que l’information recherchée n’est pas ce que nous disons, mais à qui nous le disons. Le contenu de nos conversations reste intéressant bien sûr (surtout pour les entreprises qui ont intérêt à tout savoir de nos vies), mais pas tellement pour les états. Ce que veulent les états, c’est tout savoir de nos réseaux.

[…]

C’est pour cette raison que j’ai beaucoup de mal à supporter les réponses habituelles à La Grande Question du Je N’ai Rien À Cacher. Parce que la question n’est plus « pourquoi doit-on se protéger », mais bien « pourquoi doit-on protéger ceux avec qui on échange ».

Rien à cacher (cache)

C’est une requête que je souhaite faire depuis longtemps à mes correspondants : veuillez effacer nos échanges s’ils ont eu lieu sur des plateformes comme Gmail, Twitter (incluant DM) ou n’importe quel service centralisé. Ces échanges ne servent plus qu’à des algorithmes qui nous profilent tous les deux. Merci.

2015-01-18 Améliorer un produit

Your job is to improve our product for our users. If you want to get technical about it, your job is to improve our product for our users in a way that improves the key metrics of the company. But honestly, you don’t always have a lot of control over that second bit. You do, however, have an enormous amount of control over the first bit!

Your Job Is Not to Write Code (cache)

C’est la raison pour laquelle j’ai du mal à me rapprocher de tous ces mouvements craftsmanship qui consistent à se regarder le nombril. Votre code est beau, testé et déployé dans la minute. Soit. Et il sert à quoi au fait ?

2015-01-20 Automatisation et topographie

David Mentré réagissait par mail à ma précédente note sur le régulateur de consommation (vous êtes d’ailleurs invités à le faire pour l’instant, je ne sais pas encore si je vais ouvrir la liste de diffusion aux notes).

« régler la vitesse entre 105 et 120 sans dépasser les 5 litres aux 100 kilomètres »

Bonne idée. Mais les accélérations rendraient cela probablement impossible (car trop de consommation). Et même si c’est possible, cela aurait probablement des impacts sur la sécurité (accélération impossibles), même si on peut envisager des débrayages automatiques en cas d’appui violent sur une pédale (comme pour les régulateurs actuels).

« Au passage, je ne comprends pas qu’il puisse y avoir une telle diversité dans les formes de voitures alors qu’il ne devrait y en avoir qu’une par catégorie dont l’aérodynamisme est optimal… »

Ce serait un peu monotone non ? Je ne suis pas spécialement pour la société de consommation actuelle, mais un soucis écologique n’empêche pas design et originalité.

Considérant que le GPS de ma voiture connait la topographie du trajet ainsi que les limitations de vitesses, il est possible qu’il arrive à avoir des accélérations raisonnées (plus longues, plus utiles aussi, prise d’élan, etc).

Pour ce qui est du design et de l’originalité, je suis persuadé qu’il y a déjà bien à faire sans avoir à modifier la forme (habillage et éclairage par exemple mais aussi interactions entre véhicules proches).

2015-01-21 Bloquer les publicités

Here’s a lovely bit of irony for you: Adblock Plus, which is by far the most popular add-on for Firefox and Chrome, is actually increasing the amount of memory used by your web browser, rather than decreasing it. Furthermore, ABP also increases the amount of time (and CPU cycles) required to render a website. Instead of making web surfing more responsive, ABP actually makes your surfing experience slower.

Iframe irony: Adblock Plus is probably the reason Firefox and Chrome are such memory hogs (cache)

Suite à ce billet, j’ai commencé à expérimenter ce qu’il est possible de faire en jouant avec le fichier /etc/hosts. Emmanuel me demandait quels étaient mes retours sur ce changement (attention tout ce qui suit est purement du ressenti) :

  • une plus faible consommation de mémoire, rien d’extraordinaire mais quand on a beaucoup de tabs ça finit par jouer ;
  • des iframes qui s’affichent avec des pages d’erreurs Firefox, ça pourrait être résolu avec un serveur local (cd /tmp && touch index.html && sudo python3 -m http.server 80) sauf pour celles affichées en https (ce qui est normal) ;
  • moins de publicités bloquées, le filtre utilisé doit être plus permissif que celui d’AdBlock ;
  • en application sur tous les navigateurs à la fois :-).

Ce n’est donc pas l’idéal non plus, il faudra que je teste uBlock à l’occasion.

2015-01-22 Optimisation de lecture

“Small screens are getting bigger, big screens are getting smaller and you know what? It’s going to end up looking like a book. We found out 500 years ago that the book is the optimal size for reading,” he says. “The best size fo a page is the spread of my hand,” says Spiekermann, holding a spry example in the air. “You put 50 characters in a column and you have your point size, and each language has its own easiest fonts. That all defines it. The eye, the hand, the language. Not technology.”

Recopié depuis l’image d’un tweet

C’est la raison pour laquelle l’évolution des ordiphones vers un écran de 5,5 pouces est inéluctable. Pour un produit en lecture seule :-).

2015-01-23 Payez ce que vous pouvez

Pay-as-you-can!

We want to provide everyone the opportunity to come, so we kindly ask everyone to give as much as s/he can afford. What does that mean? We have four levels of pricing. Please choose the one that suits your budget.

  • base: can be 0, if you cannot afford otherwise
  • reasonable: covers basic costs of food and lodging
  • nice: all costs covered, including infrastructure and tools
  • supporter: you support others that cannot afford their travel, stay and food

Budget and Pricing - hillhacks (cache)

Je ne l’avais encore jamais vu à l’œuvre sur une conférence mais j’apprécie beaucoup le principe qui demande bien sûr une grande transparence sur les frais et les recettes (plutôt bien fait sur la page en question). Inspirant.

2015-01-24 Luxe, espace et temps

This doesn’t mean I’ll be liveblogging a lot of ham-fisted attempts to turn “everything” off. But it does mean making mindful decisions about the quality of any input that I check repeatedly – as well as any “stuff” I produce. Everything. From news sources to entertainment programming, and from ephemeral web content down to each email message I decide to respond to. The shit has to go, inclusive.

Better - Merlin Mann (cache)

Je me suis rendu compte récemment qu’après avoir expérimenté le luxe de réduire mes besoins matériels, jeté ma télévision par la fenêtre©, foutu mon portable aux chiottes©, j’ai aujourd’hui le luxe d’avoir peu de contraintes d’espace et de temps. C’est une chance que j’apprécie chaque jour. Je suis avec intérêt les aventures de Thomas pour réduire son empreinte (cache).

2015-01-25 Voisinage en Python

J’ai besoin de connaître les articles précédents et suivants pour le blog et maintenant pour ces notes, je suis arrivé à la version suivante en Python qui produit un générateur à partir d’un itérable grâce au mot-clé yield :

def neighborhood(iterable, first=None, last=None):
    """
    Yield the (previous, current, next) items given an iterable.

    You can specify a `first` and/or `last` item for bounds.
    """
    iterator = iter(iterable)
    previous = first
    current = iterator.next()  # Throws StopIteration if empty.
    for next in iterator:
        yield (previous, current, next)
        previous = current
        current = next
    yield (previous, current, last)

Il me fallait surtout la possibilité de spécifier un premier/dernier item pour avoir un lien sur le premier article publié vers les pensées plus anciennes ou la première note vers les tweets archivés. Il y a une suite et une fin à cette série.

2015-01-26 Menace commune

If killing large numbers of civilians does not have a military impact, then what, Wilson asks, is the purpose of keeping nuclear weapons? We know they are dangerous. If they turn out not to be strategically effective, then nuclear weapons are not trump cards, but time bombs beneath our feet.

Why did Japan surrender? (cache)

Les faits, aussi récents qu’anciens, nous montrent qu’il faut une menace commune pour que les peuples se soudent et œuvrent ensemble. Or nous en avons deux : le nucléaire et le changement climatique. Quelles chances pour l’Humanité ! L’Homme est semble-t-il aussi la première espèce terrestre qui peut sciemment décider de sa survie…

One answer to the Fermi paradox is that nobody makes it through — that climate change is fate, that nothing we do today matters because civilization inevitably leads to catastrophic planetary changes.

Is a Climate Disaster Inevitable? (cache)

2015-01-27 Systèmes réactifs

We believe that a coherent approach to systems architecture is needed, and we believe that all necessary aspects are already recognised individually: we want systems that are Responsive, Resilient, Elastic and Message Driven. We call these Reactive Systems.

The reactive manifesto (cache)

Je me demande dans quelle mesure ce type de système est atteignable sans introduire une trop grande complexité/intelligence.

2015-01-28 Merci pour votre attention

If you’re in the audience at a scientific conference, what do you really want? For me, that’s quite simple: understanding the papers that seem relevant to me. So as a speaker, focus not on what you want, but what the audience wants. Your personal goal is to get your message across to those researchers for whom it is relevant. Note in particular that attention is not a part of your goal. Sure, in order to understand a message, people will likely need to pay attention, but solely capturing (or stealing) that attention does not reach your goal. Furthermore, if people get your message without paying attention, that seems like a win–win situation. Therefore, instead of focusing on getting attention, focus on maximizing the use of the attention you get.

Thank you for your attention (cache)

Remarques intéressantes sur l’attention et la clôture d’une intervention.

2015-01-29 Concepteurs utilisateurs

Il faudrait que les concepteurs soient contraints d’utiliser leurs réalisations pendant quelques mois. Spéciales dédicaces aux architectes de la gare SNCF de Montpellier et de la Villa Méditerranée marseillaise.

2015-01-30 Langages d’apprentissage

It’s with all of this in mind that my recommended language for teaching beginners is now Javascript. I know, I know, it’s quirky and sometimes outright weird, but overall it’s decent and modern enough. More importantly it’s sitting on top of an unprecedentedly ubiquitous cross-platform toolkit for layout, typography, and rendering. Want to display UI elements, images, or text? Use HTML directly. Want to do graphics or animation? Use canvas.

Retiring Python as a Teaching Language (cache)

Je ne pense pas qu’il ne faille apprendre qu’un seul langage, bien au contraire. Apprendre Python pour découvrir la programmation et les algorithmes de bases est intéressant, apprendre C pour découvrir les notions de ressources bas niveau est intéressant, apprendre HTML/CSS/JS pour faire des interfaces est intéressant aussi. Évitons de partager nos propres œillères.

2015-01-31 FinishUp Weekend

Join writers, designers, developers, photographers, engineers and other awesome people to finish what you’ve already started.

FinishUp Weekend

Je suis presque jaloux de ne pas avoir inventé ce concept. Les anti-hackathons ?

2015-02-01 Popularité, stress et décentralisation

Why does it all happen? I think the major problem lies in the fact that we became the consumers of high volume of information and we can’t process all of it. There is too much noise and we don’t have time to properly analyze the content we are served and check where it comes from. And our brains work faster, if we feed them with clear numbers. On the other hand, having a big number of followers is just tempting for authors.

Popularity-driven development (cache)

L’un des avantages de ne plus utiliser un service centralisé comme Twitter au profit de RSS/Atom est de ne plus pouvoir avoir de statistiques sur les lecteurs. Publier pour le plaisir de partager uniquement.

2015-02-02 Code, objectif et intelligence

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

Programming as it exists now forces us to model, but it does so in an unnatural way. And while teaching ourselves how to program will help us learn how to break systems down, it does so at the risk of focusing on the wrong things. We don’t want a generation of people forced to care about Unicode and UI toolkits. We want a generation of writers, biologists, and accountants that can leverage computers.

Coding is not the new literacy (cache)

J’aimerais bien avoir leur avis sur la pertinence de l’introduction du code à l’école.

And so, its purpose has become even more vague. People don’t know what a personal site is for anymore, so they go through the motions. They put the same things everyone else puts on there. A giant photo of a city. Something that says “Hi, I’m Dave.” Fancy scrolling effects. A bunch of social media icons. An unintelligible skills chart. A quickly neglected blog.

Asking why (cache)

Pour engager la discussion sur les portfolios classiques que je trouve relativement creux. Où est l’expérience ? Où sont les difficultés rencontrées ?

Les ingrédients les plus importants (l’équité de parole, l’empathie, la sur-représentation féminine) sont demeurés les facteurs décisifs (sur tous les autres) indépendamment du mode d’interaction employé. Les meilleures équipes étaient celles qui communiquaient beaucoup, d’une manière équitable et qui possédaient de bonnes compétences en compréhension des émotions des autres.

Pourquoi certaines équipes sont-elles plus intelligentes que les autres ? (cache)

Leur donner quelques pistes pour travailler ensemble sachant qu’ils préfèrent a priori se débrouiller seuls en cours.

2015-02-03 Markdown et Python

Suite des utilitaires utilisés pour générer ce site.

J’ai une arborescence de fichiers markdown que je transforme en fichiers HTML. Je commence donc par les récupérer :

def each_markdown_from(source_dir, file_name='index.md'):
    """Walk across the `source_dir` and return the md file path."""
    for root, dirnames, filenames in os.walk(source_dir):
        for filename in fnmatch.filter(filenames, file_name):
            yield os.path.join(root, filename)

Ce petit utilitaire parcoure un dossier et retourne le chemin d’accès s’il contient index.md. J’ai une seconde fonction qui me permet de parser un fichier markdown et de compiler le contenu avec ses méta-données :

def parse_markdown(file_path, extensions=None):
    """Parse an md file and returns its converted content and metadata."""
    if extensions is None:
        extensions = ['meta', 'codehilite']
    parser = markdown.Markdown(extensions=extensions)
    with codecs.open(file_path, 'r', 'utf-8') as source:
        content = parser.convert(source.read())
        return content, hasattr(parser, 'Meta') and parser.Meta or None

En combinant les deux, on obtient la boucle suivante :

for file_path in each_markdown_from(POSTS_PATH):
    content, metadata = parse_markdown(file_path)

Dans un prochain épisode, on verra comment utiliser les namedtuples à bon escient.

2015-02-04 Des carottes et des poneys

Django Carrots est un atelier de programmation. Le temps d’un week-end, notre objectif est d’apprendre à des développeurs et développeuses, de niveau débutant à intermédiaire, les bases de la programmation en Python et de la création de sites Internet à l’aide de Django.

Atelier Django Carrots

Dommage que je ne sois pas sur Paris à ce moment là. J’aime ces initiatives non discriminantes.

2015-02-05 SNCF, retards et wifi

N’a-t-on pas besoin plutôt d’installer des prises qui fonctionnent dans tous les trains ? D’améliorer la maintenance de la signalisation pour éviter les retards ? De financer des formations du personnel à la communication de crise ?

Le wifi dans le TGV, une promesse depuis 2003, jamais tenue (cache)

Je me disais la dernière fois dans le train qu’en offrant le wifi lorsque le train est en retard ou arrêté il y aurait probablement moins de mécontentement.

2015-02-06 Accompagnement, non-devis et produits essentiels

Eh bien, on a mis en œuvre un mode de fonctionnement, dans lequel le joueur n’est plus dans l’attente de consignes. Avant, on tirait l’écran, on passait la vidéo, et on disait : "Dans telle situation, toi, tu dois jouer comme ça". Et puis un jour, entre 2007 et 2008, avant de se lancer dans la préparation des JO de Pékin, j’en ai eu ma claque de faire le maître d’école.

Je leur ai dit : "Voyez cette situation, d’habitude, je vous disais comment vous deviez la jouer ; eh bien là, vous allez me dire comment vous souhaitez la jouer". L’idée pour moi était de passer du jeu de l’entraîneur au jeu de l’équipe. De ne plus avoir des joueurs assis, qui se défaussent en cas d’échec sur le staff, mais des joueurs debout, prenant leur responsabilité dans l’aventure collective.

Claude Onesta : "Le handball est un sport un peu à part" (cache)

J’ai mis en ligne une page sur l’accompagnement qui a demandé l’écriture d’une autre sur les non-demandes de devis et enfin sur les produits essentiels. Tous les retours sont les bienvenus avant que je rende ces pages plus visibles.

2015-02-07 Historique de travail

We assume everything we publish online will be preserved. But websites that pay for writing are businesses. They get sold, forgotten and broken. Eventually, someone flips the switch and pulls it all down. Hosting charges are eliminated, and domain names slip quietly back into the pool. What’s left behind once the cache clears? As I found with that pitch at the end of 2014, my writing resume is now oddly incomplete and unverifiable.

All My Blogs Are Dead (cache)

C’est également le cas pour les développeurs web. La plupart des sites sur lesquels j’ai travaillé n’ont pas été archivés et ont tout simplement disparus.

2015-02-08 Google et Open-Source

In general, Google has a massive set of awesome tools for everything from deployment to monitoring; and a broad codebase with libraries that can do everything under the sun. However, that means that when you go outside of the Google environment, you’re suddenly stuck a bit out in the cold — the tools that you use inside Google can’t be used outside, so you have to have a completely separate infrastructure (both literal infrastructure, and code infrastructure).

Learning new things (cache)

À comparer avec Facebook qui a libéré React et Flux. Et qui s’apprête à publier React Native (cache), GraphQL et Relay. Chacune de ces technologies lui donnant un avantage compétitif non négligeable.

2015-02-09 Server-side, CSS et UX

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

Say what you will about server-rendered apps, the performance of your server is much more predictable, and more easily upgraded, than the many, many different device configurations of your users. Server-rendering is important to ensure that users who are not on the latest-and-greatest can see your content immediately when they click a link.

You’re Missing the Point of Server-Side Rendered JavaScript Apps (cache)

Ainsi que la réponse (cache) qui considère Angular comme étant le Bootstrap de JavaScript ♥ (merci la veille de Makina par Simon Georges). Pour aborder la génération de pages côté serveur.

An extensive CSS reference with all the important properties and info to learn CSS from the basics

CSS Reference

Plutôt bien fait et l’article sur Flexbox est relativement complet.

A login form with two fields, two buttons, and a link on it seems simple, right? Bog standard. It is, until you consider all the ways the simple act of logging in with those two fields can go wrong for the user. Let’s think.

The God Login (cache)

Ils sont intéressés par l’UI/UX donc c’est l’occasion d’engager la discussion.

2015-02-10 Hypermedia et histoire

Hypermedia is not a new concept, it has been around in various forms since the 1960s.  However, in the past seven years there has been a significant resurgence of interest in the concept.  This blog post contains my reflections on the past few years, where we currently are and where we might be headed in the use of hypermedia for building distributed applications.

Hypermedia, past, present and future (cache)

Article très complet sur l’historique et les enjeux autour de l’hypermedia, il manque peut-être la dimension politique dans tout ça.

2015-02-11 Veille techno, Flexbox et bonnes pratiques JS

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

J’ai tendance à attribuer de plus en plus d’importance aux retours d’utilisation plutôt qu’à l’aspect technique et fonctionnel de la techno.

Plutôt que de lire des tutoriels techniques, je préfère m’intéresser aux expériences des early adopters. Dans quels cas cette techno est-elle appropriée ou non ? Quels sont ses avantages et ses inconvénients ? Quelles sont ses forces et ses faiblesses ? Quels gains réels espérer, et à quelles galères s’attendre ?

Comment ne pas se laisser dévorer par la veille techno ? (cache)

Thibault nous parle de la veille avec son style inimitable. Parler de la veille dans sa propre veille, so meta.

I don’t blame people for finding Flexbox difficult to grasp. Most of the tutorials that exist on the web either show you a bunch of boxes that are completely abstract, or jump so far ahead that the only logical thing to do with Flexbox is to work backward from these magically simple layouts, and end up in a mountain of unmaintainable code. My own previous article was the former, I wrote it to understand Flexbox.

Experiment: Using Flexbox Today (cache)

Flexbox est dans notre backlog additionnel, l’occasion d’en reparler.

Au fil des formations, je remarque que de nombreuses bonnes pratiques que je signale en passant dans le code, par acquis de conscience, ne sont pas connues, ou pas comprises, ou juste surprenantes pour les stagiaires. C’est l’occasion de me souvenir que dans tous les domaines, ce qui peut paraître évident et « connu de tous » ne l’est pas forcément, et qu’il est toujours bon de remettre en lumière des savoirs dont on imagine, souvent à tort, qu’ils sont monnaie courante.

10 bonnes pratiques JavaScript (cache)

Pour faire suite au cours du lundi.

2015-02-12 Python et namedtuples

Many functional programming articles teach abstract functional techniques. That is, composition, pipelining, higher order functions. This one is different. It shows examples of imperative, unfunctional code that people write every day and translates these examples to a functional style.

A practical introduction to functional programming (cache)

Dans les épisodes précédents, on a vu comment récupérer des billets voisins et parcourir des fichiers markdown. Il est temps de combiner les deux. Mais avant cela, commençons par gérer des objets par l’intermédiaire des namedtuples qui facilitent l’accès aux attributs :

Post = namedtuple('Post', ['content', 'author', 'date'])
def populate_post(content, metadata):
    # Divers traitements.
    return Post(title=title, date=date_, content=content)

Cette méthode va nous permettre de générer des posts à partir du contenu et des métadonnées de notre fichier markdown. On va ensuite vouloir récupérer une liste ordonnée par date :

def collection():
    """Retrieve all posts sorted by date desc."""
    posts = []
    for file_path in each_markdown_from(POSTS_PATH):
        content, metadata = parse_markdown(file_path)
        post = populate_post(content, metadata)
        posts.append(post)
    return sorted(posts, key=attrgetter('date'), reverse=True)

C’est cette liste dont on peut utiliser les voisins pour la génération du fichier HTML final :

for previous, post, next in neighborhood(collection(), last=thoughts):
    # On peut ici accéder à post.title, post.content, etc.

J’aurais pu rendre tout cela encore plus fonctionnel mais je préfère pouvoir vérifier facilement les étapes intermédiaires sans qu’il y ait trop d’imbrications incompréhensibles. C’est la fin de cette série, vous avez maintenant les outils pour créer votre propre moteur de blog statique !

2015-02-13 Offline-next et service workers

Rich offline experiences, periodic background syncs, push notifications— functionality that would normally require a native application—are coming to the web. Service workers provide the technical foundation that all these features will rely on.

Introduction to Service Worker (cache)

Je suis tombé hier sur un lien faisant part d’une expérience d’affichage des liens (cache) ou plutôt de non affichage. C’est une problématique à laquelle je réfléchis depuis pas mal de temps et je trouve leur solution élégante. Je pense qu’elle pourrait être généralisée avec un simple script JavaScript qui récupère le title d’un lien et le met en aside en fonction de la taille de la fenêtre.

Et puis ma réflexion se poursuit sur la possibilité de récupérer ces liens afin d’améliorer les performances via un prefetch et pourquoi ne pas les stocker pour un usage hors-ligne. Anthony me propose de regarder du côté des Services Workers, ce qui répond parfaitement à mon besoin (il y a des builds Firefox dédiés). Peut-être l’occasion de coder un petit truc pour rendre ce site un peu plus portable ?

2015-02-14 Tournure anglaise

We were told to surf the web, but in the end, the web serf’d us. Yet there’s a worse fate than digital serfdom, as Snowden’s ongoing NSA revelations suggest. This isn’t simply about the commodification of all human kinesis, it’s the psychological colonialism that makes the commodification possible.

DATAcide (cache)

Il y a des formules qui perdent leur beauté lors d’une traduction. Ce texte est magnifique.

2015-02-15 Signalétique wifi

Les accès wifi se multiplient et malheureusement les restrictions qui vont avec aussi. Il faudrait avoir une signalétique pour détailler ce qui est appelé wifi par les établissements :

  • niveau de sécurité
  • ports bloqués
  • sites bloqués
  • usages interdits
  • portails captifs
  • garanties de débit
  • garanties de disponibilité
  • etc

Du coup je me suis renseigné sur les accès nomades/4G et il y a des routeurs qui ne nécessitent pas de posséder un smartphone. Je vais tester ça.

2015-02-16 Sites obèses, support CSS et contrastes

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

I’m not trying to argue that the Majora’s Mask website is well developed. I haven’t looked under the hood. The point I want to make is that it might, just might, be acceptable to build a website over 1MB. There seems to be a prevailing rhetoric within our industry that if a website exceeds this magic number, it’s a failure.

When can a website be over 1mb? (cache)

Histoire de remettre le couvert sur les performances web.

Montrer l’existence de Can I use et Do I use qui permettent de se faire une idée a priori ou a posteriori du support par les divers navigateurs des fonctionnalités utilisées pour son site.

Enfin, Contrast Rebellion tombe à point après avoir sensibilisé les étudiants aux problématiques de lisibilité lors du dernier cours. À ce sujet, je n’ai pas trouvé mieux que Contrast Ratio pour vérifier rapidement un site de manière pertinente. Vous avez d’autres outils ?

Merci à Erick et Anthony de m’avoir tous les deux proposé Contrast Finder par email pendant le cours !

2015-02-17 Écologie et contrôle

Par ailleurs, la « pétrolisation » permet de contourner les mouvements ouvriers, là où le charbon donnait aux mineurs le pouvoir d’interrompre le flux énergétique. À partir des années 1880, les grandes grèves minières ont contribué à l’extension du suffrage universel et à l’adoption des lois d’assurance sociale. Beaucoup plus intensif en capital qu’en travail, le pétrole est plus facile à surveiller. Son extraction requiert une grande variété de métiers et des effectifs très fluctuants, ce qui complique le contrôle ouvrier de la production — tout comme sa fluidité : pipelines et tankers réduisent les ruptures de charges. Structuré dans un réseau énergétique international, le capitalisme, dorénavant global, devient moins vulnérable aux revendications des travailleurs nationaux.

La longue marche de la crise écologique, Manuel d’histoire critique

Ce manuel édité par le Monde Diplomatique (cache) est vraiment une pépite. J’ai (re)découvert pas mal de choses qui étaient restées floues durant mes cours d’Histoire.

Remplacez « énergie » par « information », « ouvriers » par « développeurs » et vous comprendrez mieux mes réflexions sur la complexité des frameworks web. Nous devrions utiliser notre pouvoir à bon escient avant d’en être démunis…

2015-02-18 Redesign incrémental

Never make radical changes when minimal adjustments will suffice. Too many websites undergo a major overhaul unnecessarily. While legitimate reasons exist for engaging in a redesign, the reality is that many problems you need to solve are isolated and can be fixed with smaller, incremental approaches. Look at the metrics rather than guess what needs to be changed. Allow data to help you determine the extent of the problem and apply the least amount of change necessary to solve it. Radical changes have a higher chance of inadvertently breaking something critical for users.

Radical Redesign or Incremental Change? (cache)

J’ai commencé un redesign avec plusieurs objectifs :

  • jouer avec les véritables (cache) small caps ;
  • davantage mettre en avant le stream et l’activité pro ;
  • simplifier la CSS et m’amuser avec le responsive pour les en-têtes et pieds de pages ;
  • améliorer les contrastes et la lisibilité ;
  • retirer le bruit (partages sociaux et support de webmention) ;
  • me challenger en retirant tous les id, class et images décoratives.

La peinture est fraîche et le restera :-).

2015-02-19 Polices et performances

By referencing our fonts using CSS @font-face and using font loading APIs to load and enable them when ready, we’ve found our fastest page load yet (complete in 600 milliseconds on wifi!) while retaining the progressive font rendering we desired.

Font Loading Revisited with Font Events (cache)

À force de rajouter des polices dans ma feuille de style (5 à ce jour…) elle commençait à être énorme et leurs ajouts sous forme de data URI s’avérait être beaucoup moins pertinent. Même en gagnant sur la latence en n’ayant qu’un seul fichier, la page ne commençait à s’afficher qu’une fois la CSS complètement chargée. Soit après 4,5 secondes sur une connexion 3G pour un article !

En explorant les Font Load Events (cache) j’ai pu réduire ce temps de moitié pour la même taille de téléchargement. C’est un gain vraiment énorme en terme de ressenti qui ne change rien au poids ou au temps de chargement du document complet. Il n’y a que la police pour le code que je charge directement avec @font-face car ainsi le navigateur ne la charge que s’il y a ces éléments présents dans la page (et normalement le code arrive plus bas dans la lecture).

L’inconvénient principal est au rafraichissement de la page car on s’aperçoit que le chargement des polices est fait en JavaScript mais l’usage d’InstantClick rend ce rafraichissement moins courant. L’autre problème est de dépendre de JavaScript pour afficher des polices qui pourraient être chargées nativement de manière optimisée…

2015-02-20 Gymkhana et cibles

Les citoyens dans le phare, les développeurs sur le bateau

Pour imaginer des applications innovantes, le citoyen est un réservoir d’idées brutes. Cette matière première est malheureusement mal exploitée, la collaboration avec les développeurs, directe ou par des intermédiaires, étant souvent infructueuse. C’est criant dans les sociétés où des années de silos ont érigé des barrières entre les utilisateurs ou leurs mandataires et les équipes de développement. Ils s’observent, chacun dans sa tourelle, par meurtrières interposées : les uns construisent des outils techniques difficilement utilisables, les autres formulent des solutions qui ne reflètent pas leurs besoins réels.

On trouve aujourd’hui des développeurs citoyens qui, conscients de ce fossé, veulent devenir des artisans : plutôt que de faire consommer, ils souhaitent enchanter les utilisateurs avec leurs réalisations. Que ces artisans développeurs et citoyens usagers trouvent ensemble un espéranto, voilà notre credo.

Gymkhana, introduction (cache)

Stéphane collabore avec Claude sur Gymkhana depuis maintenant quelques mois. Cet ensemble d’ateliers s’adresse à toutes les structures qui ont du mal à être pertinentes pour les citoyens. Je me demande dans quelle mesure cela pourrait être utilisé pour faire se rencontrer des entreprises et leurs utilisateurs… ou des dirigeants avec leurs employés.

2015-02-21 Google et polices

So what exactly is the problem? The problem is this provides Google Inc. – a company listed on the stock exchange whose core business is trading metadata – yet another “tracking station”. User access can be tracked by gathering at least the header data of the connection request. This also includes cookies from the Google domain. Google learns that someone has an Administrator or Editor account for a certain website, and has a relationship to that site. But not only Google. Other websites also use Google web fonts; some of them in their themes and some regular users. Furthermore certain websites integrate Google Adsense and use Google Analytics.

Google Webfonts, The Spy Inside? (cache)

Alternatives aux polices Google :

  • les polices systèmes
  • les polices libres de droits et hébergées
  • les polices achetées et hébergées

2015-02-22 Acheter de la musique

J’ai une bibliothèque musicale en FLAC. Mais je ne vais pas m’étendre sur ma snobdiohilie pour autant. J’ai tout téléchargé en utilisant des sites de téléchargement non légaux. Le fait de se limiter aux albums disponibles en FLAC est un bon filtre, malheureusement il y a des albums que j’apprécie vraiment et qui ne sont pas disponibles. Je me suis donc mis en quête d’un site de téléchargement légal en FLAC.

Stéphane m’a conseillé Qobuz qui propose soit du téléchargement soit du streaming en 16 ou 24 bits (cache). J’ai suivi un moment leurs actualités et ça m’a motivé pour franchir le pas et acheter de la musique ce que je n’avais pas fait depuis au moins 10 ans…

Le processus d’achat est plutôt classique, c’est au moment du téléchargement que j’ai eu 2 surprises :

  • je m’attendais à un simple lien, voire un lien BitTorrent, et il a fallu que je télécharge un logiciel non validé par Apple qui a planté 5 fois avant que je puisse récupérer l’intégralité des titres. Ce qui m’a pris quelques heures pour 4 albums (ce qui me prend d’habitude 20 minutes max).
  • les fichiers sont des .m4a et non des .flac, rien de bloquant pour pouvoir les lire sur mes différents périphériques mais c’est manque de cohérence avec le reste de ma bibliothèque. Le nommage des fichiers est vraiment particulier aussi et m’a demandé de tout reprendre.

Est-ce que je suis prêt à racheter de la musique ? Peut-être dans 10 ans :-).

2015-02-23 Rétribuer les auteurs

Et me voilà surpris, bêtement, de lire que vous n’achetez pas la musique que vous écoutez par ailleurs (lorsque celle-ci est payante et non librement et gratuitement distribuée par l’artiste lui-même). Je pense que l’étonnement que je ressens en lisant ça vient de trois choses :

  1. l’habitude que j’ai d’acheter ce qui relève de la création artistique (cinéma, musique, livres etc.) qui, pour moi, permet d’exprimer l’amour que je porte à l’art et la façon que j’ai de considérer une oeuvre comme quelque chose de « précieux »
  2. l’habitude que j’ai d’être d’accord avec vos réflexions, en général
  3. plus viscérale, le fait que je sois moi-même musicien et la tristesse que me procure le fait que l’idée selon laquelle la musique n’a pas besoin d’être achetée est de plus en plus répandue, même parmi des gens qui semblent avoir un sens éthique fort, même parmi des gens que je trouve intelligents, car leur pensée est souvent le produit d’une réflexion (sans que je considère cette opinion comme une marque de bêtise, par ailleurs)

Je suis, cela dit, content que ces habitudes aient été brisées, car cela permet d’ouvrir le dialogue : pouvez-vous m’expliquer pourquoi vous ne payez pas votre musique ? Quelles réflexions vous ont porté à faire ce choix ?

Un lecteur en réaction à Acheter de la musique

Merci d’avoir pris le temps de réagir et d’accepter une réponse publique. Il se trouve que j’aimerais rémunérer les auteurs, vraiment. C’est d’ailleurs ce que j’ai fait pour The Civil Wars a posteriori après avoir apprécié leur musique et vu qu’ils proposaient les titres en téléchargement/achat sur leur site en FLAC. Je viens de voir que ça n’a plus l’air d’être le cas et cela m’attriste…

En fait, je suis prêt à rémunérer chaque auteur que je croise sans intermédiaires et j’irais même plus loin en disant que je suis prêt à faire des dons directs aux auteurs s’ils proposaient cela sur leurs sites. Malheureusement ce n’est pas le cas et je ne souhaite pas alimenter une chaîne d’intermédiaires que je trouve obsolète.

Ma bibliothèque est précieuse et je porte une très haute estime aux différents auteurs qui la composent, la musique fait partie de mon quotidien et m’apporte beaucoup. J’aimerais pouvoir rendre une partie de ce plaisir que j’ai d’une manière ou d’une autre mais c’est souvent difficile. Quelles pistes ?

Réactions à chaud sur IRC : aller aux concerts, acheter des goodies, s’inspirer de ce que fait Louis CK.

2015-02-24 SNCM et prix dynamiques

What worries many industry observers is a company charging different prices based on an individual’s characteristics or buying history. There is strong evidence this occurs regularly. And while it’s important to note that such practices can be imposed offline in the bricks-and-mortar environment as well, the Internet has driven such capabilities into the stratosphere.

Do travel deals change based on your browsing history? (cache)

Le site de la SNCM pratique systématiquement des prix dynamiques (augmentation du prix à chaque visite), il s’agit d’un dark pattern. Pour s’en prémunir, une fenêtre de navigation privée semble contourner le profilage efficacement. Il se trouve que c’est la seule compagnie pour la Corse au départ de Marseille. À quand un CapitaineBateau ? Et une règlementation adaptée…

2015-02-25 Offline et discussions

C’est vraiment pas éloigné de ce que je cherche à faire, et l’idée du prefetch des liens fait rêver… En ajoutant les serviceworkers ou un genre de build on est « presque » (manque le push) sur quelque chose qui pourrait faire du commentaire décentralisé ?

Footnotes to sidenotes par 0gust1

Tiens ça faisait longtemps que l’on n’avait pas remis les commentaires décentralisés (cache) sur le tapis :-). Et pourtant 0gust1 a tout a fait raison, les technologies autour de l’offline (cache) permettent enfin d’avoir des graphes locaux qui pourraient s’assimiler à des discussions décentralisées. À quel rang faut-il cacher le Web ? Faut-il cacher les media ? À quel moment invalider/rafraîchir le cache ? Est-ce un graphe vivant ou un instantané ? Autant de questions que je me pose depuis que j’ai commencé à mettre les liens en cache

2015-02-26 Big data et profilage

Dans le domaine de la téléphonie, SFR dispose d’un outil lui permettant de détecter les « churners » (clients qui envisagent de résilier leur abonnement) grâce à l’étude de l’activité des internautes sur le Web : nombre de pages consultées, durée de chaque visite, mots clés saisis dans les moteurs de recherche, etc. Cette analyse permet à l’opérateur de détecter plus de 81 % des profils concernés par une potentielle résiliation. Contactés en amont de leur désabonnement, 75 % des clients finissent par rester chez SFR.

Marketing prédictif : une révolution porté par le big et le smart data (cache)

Je serais curieux de savoir si ces données sont collectées par SFR sur son réseau à l’insu du client. Neutralité du net ?

2015-02-27 Méthodologie vs. compétences

Moreover, Tim’s initial team were the earliest of early adopters hand-picked by Tim himself. They were the very people that would develop high quality software naturally anyway. The only role the MDD had was in helping the team to gel, and once they had they looked like an impossibly productive team. Tim misidentified the source of this productivity as being the result of his methodology, rather than his competence of himself and his team.

[…]

Don’t fall in to Tim’s trap. Great developers create great software not because they follow the strictures of some methodology but because they are truly great, gifted artisans.

Meditation Driven Development (cache)

C’est l’éternel débat entre inné et acquis, don et persévérance, chance et travail, idée du siècle et LEAN. On peut aisément critiquer une méthode (cache) pour les illusions qu’elle donne, mais on a parfois aussi besoin de certaines illusions pour progresser et se mettre en marche puis s’en affranchir.

Les meilleurs joueurs d’échecs sont aujourd’hui des équipes combinant un humain et un ordinateur. La méthode est un partenaire.

2015-02-28 Lois de la robotique

Les 3 lois de la robotique par Asimov :

  1. Un robot ne peut porter atteinte à un être humain, ni, en restant passif, permettre qu’un être humain soit exposé au danger.
  2. Un robot doit obéir aux ordres qui lui sont donnés par un être humain, sauf si de tels ordres entrent en conflit avec la Première loi.
  3. Un robot doit protéger son existence tant que cette protection n’entre pas en conflit avec la Première ou la Deuxième loi.

Que se passe-t-il lorsque l’on remplace « Un robot » par « Le code d’un développeur » ?

  1. Le code d’un développeur ne peut porter atteinte à un être humain, ni, en restant passif, permettre qu’un être humain soit exposé au danger.
  2. Le code d’un développeur doit obéir aux ordres qui lui sont donnés par un être humain, sauf si de tels ordres entrent en conflit avec la Première loi.
  3. Le code d’un développeur doit protéger son existence tant que cette protection n’entre pas en conflit avec la Première ou la Deuxième loi.

La première loi rend le développement de drones impossible, la deuxième le trading haute fréquence impossible, la troisième la surveillance de masse impossible. Je ne résiste pas à réécrire la loi zéro également :

Le code d’un développeur ne peut pas faire de mal à l’humanité, ni, par son inaction, permettre que l’humanité soit blessée.

Une profession sans éthique (cache) n’est qu’une armée de robots. Sans lois.

2015-03-01 Inclusion explicite

So before we begin, I want to reinforce that you can program, that you can do math, that you can design car suspensions and fire suppression systems and spacecraft control software and distributed databases, regardless of what your classmates and media and even fellow engineers think. You don’t have to be white, you don’t have to be straight, you don’t have to be a man. You can grow up never having touched a computer and still become a skilled programmer. Yeah, it’s harder–and yeah, people will give you shit, but that’s not your fault and has nothing to do with your ability or your right to do what you love. All it takes to be a good engineer, scientist, or mathematician is your curiosity, your passion, the right teaching material, and putting in the hours.

There’s nothing in this guide that’s just for lesbian grandmas or just for mixed-race kids; bros, you’re welcome here too. There’s nothing dumbed down. We’re gonna go as deep into the ideas of programming as I know how to go, and we’re gonna do it with everyone on board.

No matter who you are or who people think you are, this guide is for you.

Clojure from the ground up: welcome (cache)

Toujours partagé entre l’implicite et l’explicite pour l’inclusion (qui diffère (cache) de l’intégration). Cela devrait être implicite mais en même temps ce n’est pas le cas, mais le rendre explicite ne fait qu’entretenir le problème, mais le taire c’est encore pire, mais c’est culpabilisant, mais c’est victimisant, mais

2015-03-02 Vieux, erreurs JS et Chrome

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

A lot of people in the tech industry talk about “changing the world” and “making people’s lives better.” But bad design is excluding whole sections of the population from the benefits of technology. If you’re a designer, you can help change that. By following some simple principles, you can create more inclusive products that work better for everyone, especially the people who need them the most.

Designing For The Elderly: Ways Older People Use Digital Technology Differently (cache)

Ne jamais négliger l’importance de la lisibilité et des interactions avec des utilisateurs qui peuvent être dans des situations de difficulté dues notamment à l’âge.

JavaScript has some of the most unhelpful errors I’ve seen, with the exception of the notorious Expected T_PAAMAYIM_NEKUDOTAYIM in PHP. With more familiarity the errors start to make more sense. Modern browsers also help, as they no longer give the completely useless errors they used to.

JavaScript Errors and How to Fix Them (cache)

Car il y a des erreurs qui restent incompréhensibles. Même avec des navigateurs modernes !

Thank you to all colleagues and to all online activities, and next time somebody asks you “have you tried Chrome?”, feel free to answer: “do you know anything about Web development?”, ‘cause it’s about the time to stop blaming customers and start looking at who’s being the real incompetent here.

It’s your duty to develop for the Web (cache)

Piqûre de rappel nécessaire sur l’importance de développer pour le Web et non pour un navigateur…

2015-03-03 Aïkido verbal

L’Aïkido Verbal est un moyen pacifique et efficace de gérer les attaques verbales. Cet art s’est inspiré de la pratique et de la philosophie de l’aïkido martial, et permet de diriger une agression verbale vers un résultat positif et équilibré. Comme dans l’art martial, l’assaillant et le défenseur sont dits « partenaires » et non « adversaires ». Il n’y a donc pas à proprement parler d’affrontement, ni vainqueur ni vaincu.

La pratique de l’Aïkido Verbal consiste en trois étapes fondamentales :

  • Recevoir l’attaque avec un « Sourire Intérieur »,
  • Accompagner l’attaque (Irimi) jusqu’au point d’une déstabilisation,
  • Rééquilibrer l’échange par un technique permettant l’Ai-ki.

Gérer les conflits et attaques verbales de façon simple et efficace (cache)

Une corde de plus à mon arc de bienveillance pour développer les bases d’une communication consciente (cache).

2015-03-04 Performances, apps et frameworks JS

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

Given the fact that mobile performance is a huge priority for Google, this label isn’t a trivial feature. If you care about performance, user experience, and SEO, then you should care about this potential game-changer.

Google’s experimental new “slow” label could revolutionize how we tackle web performance (cache)

Performances web et référencement, on en parlait lors du dernier cours justement.

How we experience content via connected devices – laptops, phones, tablets, wearables – is undergoing a dramatic change. The idea of an app as an independent destination is becoming less important, and the idea of an app as a publishing tool, with related notifications that contain content and actions, is becoming more important. This will change what we design, and change our product strategy.

The End Of Apps As We Know Them (cache)

Ainsi que sa suite (cache), articles très intéressants à rapprocher de ce que fait Pebble Time avec sa notion de timeline.

Nobody can try all the popular options, but everybody wishes for consolidation and more wood behind fewer frameworks. As such, a lot of developers have fallen into a pattern: avoid learning a new framework until it seems like one is finally ascending to the throne as the widely popular, exceptionally capable, “won’t get you fired” choice for building JavaScript frameworks.

A JS framework on every table (cache)

Une explication possible de la diversité des frameworks JS et de la stratégie à adopter pour miser sur LE bon. Peut-être React ? Peut-être Riot ? Peut-être Mithril ? Peut-être un framework qui n’existe pas encore… le vôtre ?

Et sinon quand est-ce que l’on produit de l’utile ?

2015-03-05 Américain social démocrate

Democratic socialist politics are my politics. I’m a socialist because I want to live in a just society. More than that, I want to live in a survivable society. The form of capitalism we live under does not present a viable future ecologically, economically, or socially. It is a system designed for the creation and preservation of capital, not human life. I’m a socialist because I believe that the wealth of society can best be harnessed through cooperation, not competition.

Jacobin (cache)

C’est la première fois que je croise un billet d’un blog relativement technique tenu par un américain qui fait l’apologie du socialisme. Alex Payne a un parcours intéressant.

2015-03-06 Ivan Illich et Internet

La technique moderne permettrait aisément la mise en place d’un réseau d’appariement. L’utilisateur se contenterait d’indiquer son nom, son adresse et indiquerait l’activité pour laquelle il recherche un compagnon. Un simple tri sur ordinateur permettrait de lui transmettre la liste des personnes ayant manifesté un intérêt similaire. Comment se fait-il que l’on n’ait jamais mis en place un tel système sur une grande échelle, alors que le public dans son ensemble reconnaît bien volontiers la valeur de ces rencontres ?

Une société sans école, Ivan Illich, 1971

La première spécification formelle de TCP date de décembre 1974.

HTML, HTTP et les URL (les bases du World Wide Web) datent du début des années 1990.

Meetic date de 2001.

Les premiers MOOC en France apparaissent en 2012. J’apprends au passage qu’il faut dire FLOT (Formation en Ligne Ouverte à Tous) ou CLOM (Cours en Ligne Ouvert et Massif) en français… ainsi que la différenciation xMOOC vs. cMOOC.

40 ans pour concrétiser ce « réseau d’appariement ».

2015-03-07 Outils et cultures

Peut-on encore utiliser des outils maintenant dédiés à l’industrialisation comme Django lorsque l’on souhaite avoir une approche innovante ? Doit-on forcément embrasser les nouveaux outils d’une culture pour s’intégrer ? Des concepts qui semblent en apparence orthogonaux mais qui ont leur importance, ne serait-ce qu’en terme de communication/mercatique. On s’interroge et expérimente beaucoup avec scopyleft. Et c’est intéressant. De la contrainte née la créativité.

2015-03-08 Éducation non-violente

Dans sa maison un grand cerf, regardait par la fenêtre
Un lapin venir à lui et crier ainsi :
— Cerf, cerf, ouvre-moi parce que j’ai un p’tit peu froid.
— Lapin, lapin, entre et vient, te réchauffer les mains.

Avoir une éducation non-violente est une attention quotidienne. Il faut parfois lutter contre un environnement ou une culture. Je me rends de plus en plus compte que mon rôle parental consiste avant tout à ne pas endommager sa bienveillance, sa curiosité et son enthousiasme d’être humain.

Pierre me propose par email la lecture de :

Au nom d’obscures traditions d’un autre temps, les plus petits de nos élèves, ces âmes innocentes et fragiles, sont exposés chaque jour, dans l’affreuse pénombre des salles de classe, à un apprentissage pernicieux, perpétré par des enseignants au mieux imprudents, plus certainement malveillants : les comptines pour enfants.

Violence des comptines en milieu tempéré (cache)

2015-03-09 Scrabble, échec et quantités CSS

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

On the left, the Mona Lisa. Cliché, but why the hell not? The painting, to me, is like designing for the printed page. On the right, The Scrabble Game. This assemblage more closely resembles designing for a screen. Do you see it? It is control versus discovery, uniformity versus multiplicity.

With the Mona Lisa, we have fixed, uniform edges that can be planned for with a high degree of certainty and control. We revere and celebrate this painting because of that exquisite control.

With the joiner, we have a different kind of beauty. It is an edgeless surface of unknown proportions, comprised of small, individual, and variable elements from multiple vantages assembled into a readable whole that documents a moment.

Also known as web design.

The Web’€™s Grain by Frank Chimero (cache)

La suite de What Screens Want (cache), et quelle suite. Wow.

Le professeur de céramique annonça le jour de la rentrée qu’il allait diviser la classe en deux groupes.

Tous ceux du côté gauche du studio, dit-il, seraient évalués uniquement sur la quantité de travail qu’ils produiraient, et tous ceux du côté droit uniquement sur la qualité.

Sa façon de noter serait simple : le dernier jour de la classe, il pèserait le poids du travail du groupe basé sur la quantité sur sa balance de salle de bains : 25 kilos de poteries donnerait un A, 20 kilos donnerait un B, et ainsi de suite. Ceux notés sur la qualité, devaient toutefois produire un seul pot mais parfait pour avoir un A. Puis, arriva le jour des résultats et un fait étonnant survint : les travaux de qualités supérieures avaient été tous produits par le groupe noté selon la quantité.

Il semble que pendant que le groupe quantitatif était occupé à débiter des montagnes de boulot et apprenait de ses erreurs, le groupe qualitatif restait assis à théoriser au sujet de la perfection, et avait finalement eut peu de choses à montrer qui soit le fruit de leurs efforts si ce n’est des théories grandioses et un tas d’argile bon à jeter. (Bayles & Orland 2001; p.29)

Échouer de bonne heure, échouer souvent

Pour parler de l’échec et de cultures.

Just as your end users are liable to operate devices with a multitude of different screen sizes, your content editors are liable to add and remove content. That’s what content management systems are for. This makes Photoshop mockups of web pages doubly obsolete: they are snapshots of just one viewport, with content in just one state.

Quantity Queries for CSS (cache)

Cet article sur l’adaptation de l’affichage du contenu uniquement grâce aux CSS est exceptionnel. Aussitôt lu, aussitôt mis en pratique sur un projet.

2015-03-10 Hébergement de polices

Web font usage has increased significantly in the past couple years. This is great news. However, it also means that web fonts have become a critical part of web sites and, by extension, a performance bottleneck. You may have experienced the dreaded Flash Of Invisible Text (FOIT) while visiting a website on a slow network connection. The decision by some browsers to block rendering of text until web fonts have downloaded is opposite to the tenets of progressive enhancement. Content should come first and web fonts are an enhancement. After all, you can still read the text, even though it might not render in the intended font (well, unless your browser hides text while it is downloading fonts — better pray it uses a timeout).

The State of Web Type (cache)

Suite à ma note de l’autre jour, Google a semble-t-il décidé de mettre certaines de ses polices sur Github (quelle réactivité, merci ! :D). L’occasion de rappeler avec le superbe article d’Opera qu’il y a des limitations à héberger ses propres polices aussi et qu’il faut faire des choix en terme de performances et de ressenti (cache).

2015-03-11 Économie de partage des restes

Les partisans de l’économie collaborative soulignent également que comme le travail à la demande continue de grandir, les travailleurs assemblent leur force pour acheter une assurance et d’autres bénéfices en groupe. Mais, clairement, ils ne se rassemblent pas pour négocier une part plus importante du revenu ou des horaires plus fixes. Cela s’appellerait un syndicat – quelque chose dont Uber, Amazon et les autres entreprises à la demandent ne veulent pas entendre parler.

Certains économistes font l’éloge du travail à la demande car c’est une façon plus efficace d’utiliser une force de travail. Mais le plus gros challenge économique auquel nous faisons face n’est pas l’efficacité. C’est la distribution du travail et une redistribution plus équitable de ses gains. Sur ce dernier sujet, l’économie de partage (des restes), sur certains points, nous renvoie encore bien en arrière…

L’économie collaborative ne partage que les restes (cache)

Je me demandais aujourd’hui ce qu’il pourrait se passer si les corrections du baccalauréat étaient données à faire à Amazon Mechanical Turks. Et si le résultat serait proche d’une correction classique.

À rapprocher des limites de l’individualisation du travail (cache).

2015-03-12 Les frameworks se suivent

The insane amount of entropy in this space is why I’ve pretty much given up doing front-end development. There’s just no sane return on your investment where it concerns time and patience.

But when I have to, I happen to be rather partial to Riot and Mithril (which you can read through in one sitting) rather than Angular or React, simply because I’m 100% positive I can fix stuff down the line when they stop being fashionable (which, in the JavaScript world, might only be a few hours away).

A JS framework on every table (cache)

En ce moment on a la chance d’avoir le temps avec Vincent d’expérimenter des frameworks JavaScript sur un vrai projet pour scopyleft. Après avoir exclu Angular pour sa magie, on a essayé React pendant un moment mais le rythme de développement et la complexité ne nous convenaient pas vu la problématique abordée.

On est donc repartis de zéro en utilisant Riot. C’est un pari risqué car il y a très peu de ressources dessus (8 questions sur stackoverflow à ce jour !) mais la base de code est suffisamment réduite pour pouvoir la comprendre un jour.

Le parallèle est intéressant avec ce qu’il s’est passé il y a 10 ans. Angular me rappelle Ruby on Rails, React me rappelle Django et Riot me rappelle web.py. À l’époque j’avais déjà choisi web.py pour comprendre le fonctionnement de mon outil et j’étais finalement passé à Django pour aller plus vite ensuite.

Basically, both Google and Facebook are desperate to find a baseball cap that they can put on backwards. Angular is Google’s baseball cap. React is Facebook’s.

React Is A Terrible Idea (cache)

Oh, et je ne parle même pas des aspects politiques (cache) de tout ça.

2015-03-13 Devenir un robot

Messaging is the only interface in which the machine communicates with you much the same as the way you communicate with it. If some of the trends outlined in this post pervade, it would mark a qualitative shift in how we interact with computers. Whereas computer interaction to date has largely been about discrete, deliberate events — typing in the command line, clicking on files, clicking on hyperlinks, tapping on icons — a shift to messaging- or conversational-based UI’s and implicit hyperlinks would make computer interaction far more fluid and natural.

Futures of text (cache)

L’homme et la machine convergent, inéluctablement. Quel gâchis en terme de richesses d’interactions si l’homme convergeait trop rapidement…

Karl me rappelle par mail qu’il avait déjà parlé des robots :

Le système est pernicieux car il n’est pas vraiment contraignant, il nous habitue à nos choix initiaux jusqu’au moment où nous ne sommes plus conscients de ces choix. Jusqu’au moment où ne faisons qu’obéir à un programme. Nous sommes les robots.

Nous, les robots (cache)

2015-03-14 Startups et éthique

Belgium doesn’t need more startups if you want long-term innovation. Having little dedicated teams raising money from a very specific part of the population and selling out 18 months later to American tech giants is not gonna help create many jobs in Belgium. Silicon Valley profits California a lot because eventually those startups are going to be acquired by tech giants in the region. But Belgian startups selling out to US-tech giants have little to offer to the Belgian economy (especially without a tax on capital gain).

[…]

Most startups have a terrible culture, hostile against minorities and affected by what is known as the brogrammer culture. CEOs believing they are making impact by building a to-do app. It’s just a facade. I found little ethical considerations in that specific Silicon Valley kind of startup.

[…]

Our relationship with Google is pretty close to the medieval feudal system. They provide us a service and in exchange we give them our data. The “digital knights” are in control, the vassals must abide by the dictated law (terms of services), do they really have a choice to enter that contract? Not really.

Do we really need startups? (cache)

Je suis toujours tiraillé au sujet des startups. Il y a le côté « pire représentation du capitalisme ». Mais il y a aussi une forme d’espérance, de naïveté entrepreneuriale. Je ne ferai pas les erreurs de mes pairs/pères. On retrouve ce pharmakon dans toute création. Y compris la création d’humains.

2015-03-15 Siège de bureau

Il y a quelques temps, j’avais demandé sur Twitter quel était le siège de bureau idéal. J’ai eu pas mal de réponses et après avoir hésité entre une valeur sûre et les sièges de gamers je suis aujourd’hui clairement tenté par le Thatsit Balans de Varier. Vu le prix indécent, je suis ouvert à tout retour d’utilisation si vous avez eu la chance de pouvoir l’essayer.

Note : j’ai testé aussi le canapé, le squat, le lit électrique, le comptoir, la seiza (5 minutes :p), le fauteuil, le banc, le ballon gonflable, la chaise, il me reste le WalkingWorking à tenter. Tout fonctionne mais il faut savoir alterner fréquemment et des fois je pars sur des sessions de code/veille de plusieurs heures…

2015-03-16 Polices CSS, erreurs Lint et JS;DR

Billet comportant les liens de veille technologique présentés aux étudiants dans le cadre d’une routine de mes cours.

CSS SANS is the font transforming its shape along with the times. This is because CSS itself has been developing its abilities. Therefore, looking the font through a “browser”, a filter that reflects the times, shapes of the font look different hence it’s written by the same code.

CSS SANS

J’apprécie l’approche artistique d’avoir une police qui évolue dans le temps avec l’évolution des navigateurs. On pourrait imaginer un rendu différent en fonction du moteur pour accentuer cela, il y aurait des choses à fouiller lors des Rencontres de Lure. Bon pour les étudiants c’est surtout une source d’exploration des transformations CSS vu qu’on a abordé le sujet pour les animations.

JSLint Error Explanations is designed to help you improve your JavaScript by understanding the sometimes cryptic error messages produced by JSLint, JSHint and ESLint, and teaching you how to avoid such errors.

JSLint Error Explanations

Même avec un linter, certains messages peuvent être difficiles à comprendre pour un débutant, ce site mériterait d’être traduit en français. Autant je suis dubitatif des documentations techniques traduites, autant pour les erreurs de débutants ça fait plus sens (pun intented).

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)

Il faudra que je ressorte cette phrase. Dernière veille avec ce groupe, ça conclue bien ce que j’ai envie de leur transmettre :-).

2015-03-17 Medium décentralisé

Everyone who posts on Medium already owns the rights to the original content they publish, but many have also expressed a desire to host Medium stories at their own domain.

We understand this. We want Medium to be the place for everyone’s stories and ideas, but that doesn’t mean that everyone’s stories have to live at medium.com.

Today, we’re happy to announce that we are taking the first steps towards making this a reality with the limited beta launch of custom domains.

Custom domains for publications (cache)

Depuis 2015, je mets en cache les articles liés sur cet espace. Et je ne suis plus le seul (cache) ! À ce jour, 11 liens sur les 127 cachés ont pour domaine medium.com, c’est énorme. Laisser la possibilité d’avoir Medium sur son propre domaine est une excellente nouvelle. Un outil permettant d’exporter ses écrits en statique serait un bon complément. Les plateformes se suivent, les données essayent de survivre.

2015-03-18 Qualité et tabou

Pour utiliser l’horloge à 1 seule aiguille, positionnez le Périmètre, le Délai et le Budget respectivement à douze heures, quatre heures et huit heures. Peu importe qui est positionné à quel emplacement, mais moi je les positionne comme le montre la figure ci-dessous. La qualité est à nouveau supposée fixe et n’est pas affichée sur l’horloge.

Utilisez une Horloge à 1 seule Aiguille pour Communiquer les Objectifs du Projet (cache)

J’aime bien l’idée de cette horloge, par contre on considère souvent que la qualité est fixe sur un projet alors que dans les faits c’est rarement le cas. Non seulement elle peut varier au cours du cycle de vie du produit, mais en plus elle est relative. Ce qui serait intéressant — au lieu de fantasmer sur une qualité idéale — ce serait d’avoir la tendance, est-ce que toutes les parties prenantes du projet sont conscientes du niveau actuel ? Sont-elles prêtes à ce que le niveau de qualité augmente ? Si oui, quelles métriques ? Si non, pourquoi et jusqu’à quand ?

2015-03-19 Spam et Twitter

The centre of those circles appear to be real people. I can’t say why they have lots of fake followers - it’s possible that they - or someone else - has just bought them to make it look like they’re more popular than they really are. There’s no suggestion that they control the fake accounts.

This is what a graph of 8,000 fake Twitter accounts looks like (cache)

C’est la raison pour laquelle il est difficile de lutter contre le spam, certains n’hésitent pas à en abuser. Est-ce que les personnes qui achètent des followers ne sont pas une forme de spam également ? Pas pour Twitter apparemment.

2015-03-20 Notaires des données

Un capital est en train de se former, qui est le capital des données. La question est de savoir qui sera le dépositaire de ces données. De même que les notaires sont en grande partie les dépositaires de mes secrets, de mon testament, de mon contrat de mariage, parfois de mon argent, il nous faudrait inventer des « dataires », des notaires des données. Elles ne seraient confiées ni à un État, ni à Google et à Facebook, mais à un nuage de dépositaires. Et ce serait au passage une nouvelle manière d’exister pour le notariat.

Michel Serres : «La question est de savoir qui sera le dépositaire de nos données» (cache)

Concept intéressant que celui du métier de « dataire » qui pourrait également être nommé par le Garde des Sceaux et investi d’une délégation de la puissance publique pour poursuivre des objectifs d’intérêt général. Ce serait peut-être l’intermédiaire de confiance qui manque à la ré-acquisition de ses données. À méditer. À accompagner ?

Karl me propose par email de compléter avec ce billet d’Aaron et le commentaire suivant :

I do not mean to suggest that we supplicate ourselves to the imagined benefits of the hypothetical futures I am describing. The question remains: How do we protect the present from itself? The question remains: How long needs to pass before the sting of all that data in the moment is worth its yield in the future?

the fragility of effort (cache)

L’idée est celle de données intéressantes mais pas forcément à publier tout de suite. Une forme de capital pour la culture et l’humanité mais après quelques années.

2015-03-21 Avenir hasardeux

In the future, content, products and services will find you, rather than you having to find them. Puma will let us know to replace our shoes and Marriott will automatically present you room options if you missed your connecting flight. Instead of visiting a website, we will proactively be notified of what is relevant and asked to take action. The dominant function of the web is to let us know what is happening or what is relevant, rather than us having to find out.

The Big Reverse of the Web (cache)

Ce futur manque de fantaisie et nous conforte dans notre homophilie généralisée (cache). Quelle tristesse.

Si ces applications ont quelque chose de situationniste, c’est plutôt dans la capacité de leur usage pauvre à révéler la pauvreté de nos conditions urbaines, ou, pour reprendre le terme de Günther Anders, notre schyzotopie. Bref, on se fait royalement chier ou on flippe.

Debord(er) la carte (cache)

Est-ce qu’il y a aura à terme un business des algorithmes pour tromper les algorithmes ? Devons-nous encourager l’apprentissage par l’aléatoire (cache) pour l’envisager, le dépasser ?

2015-03-22 Lien espace temps

Si transmettre est partager de l’information dans le temps et communiquer partager de l’information dans l’espace, qu’est-ce qu’un lien ? Il y a quelques mois, je publiais sur Twitter :

On lie vers le passé, on publie pour le futur.

Je réfléchis beaucoup à cela dernièrement. Comment lier vers le futur ? Peut-on publier pour le passé ? Un lien en 404 pourrait-il finir par naître ? Un billet anti-daté sera-t-il lu chronologiquement un jour ?

Lorsque je mets en cache un lien, je concentre l’espace et je fige l’instant, ce qui s’apparente finalement à un travail photographique. La composition est ma CSS, la lumière est mon lien d’entrée. L’émotion celle de l’auteur original ?

2015-03-23 Chère donnée

Each week we collect and measure a particular type of data about our lives, use this data to make a drawing on a postcard-sized sheet of paper, and then drop the postcard in an English “postbox” (Stefanie) or an American “mailbox” (Giorgia)!

Eventually, the postcard arrives at the other person’s address with all the scuff marks of its journey over the ocean: a type of “slow data” transmission.

About the project - Dear Data (cache)

Je propose de légiférer immédiatement les communications postales visuelles pouvant être réutilisées par les terroristes. Chaque personne allant poster une lettre pourra dorénavant être filmée par un drone durant 24 heures. Chaque lettre pourra être lue, analysée et stockée. Certains types de papiers reconnus pour être le support de communications déviantes seront brûlés par défaut. Une simple carte postale de main rouge sera alors délivrée au destinataire. Toute ressemblance blablabla…

En savoir plus : chez Tristan (cache), Clochix (cache), Éric D. (cache) et Stéphane (cache).

2015-03-24 Medium et pizzas

Still, I wouldn’t say that Medium’s ho­mo­ge­neous de­sign is bad ex ante. Among web-pub­lish­ing tools, I see Medium as the equiv­a­lent of a frozen pizza: not as whole­some as a meal you could make your­self, but for those with­out the time or mo­ti­va­tion to cook, a po­ten­tially bet­ter op­tion than just eat­ing peanut but­ter straight from the jar.

[…]

In truth, Medium’s main prod­uct is not a pub­lish­ing plat­form, but the pro­mo­tion of a pub­lish­ing plat­form. This pro­mo­tion brings read­ers and writ­ers onto the site. This, in turn, gen­er­ates the us­age data that’s valu­able to ad­ver­tis­ers. Boiled down, Medium is sim­ply mar­ket­ing in the ser­vice of more mar­ket­ing. It is not a “place for ideas.” It is a place for ad­ver­tis­ers. It is, there­fore, ut­terly superfluous.

[…]

Whereas the tra­di­tional type­writer of­fered free­dom at the cost of de­sign, the bil­lion­aire’s type­writer of­fers con­ve­nience at the cost of freedom.

The billionaire’s typewriter (cache)

Matthew But­t­er­ick un peu énervé par la colère nous donne son avis sur Medium et c’est violemment justifié. Et pendant ce temps là, dans une galaxie pas si éloignée…

These days blogging tools try to lock you into their business model, and lock other developers out. I have the freedom to do what I want, so I decided to take the exact opposite approach. I don’t want to lock people in and make them dependent on me. Instead, I want to learn from thinkers and writers and developers. I want to engage with other minds. Making money, at this stage of my career, is not so interesting to me. I’d much rather make ideas, and new working relationships, and friends.

MyWord Editor is open source (cache)

Servez une pizza surgelée à un écrivain, il n’aura droit qu’à l’olive.
Apprenez-lui à faire une pizza, il pourra la partager avec ses amis.

2015-03-25 Slack et IRC

Quietly, but certainly, Slack is converting long-time IRC users to its platform, even though it’s not optimized for it. The user experience is winning over communities that have been using older methods for years, even if it means a small amount of pain getting Slack to work in their situations.

Slack Is Quietly, Unintentionally Killing IRC (cache)

Je ne peux malheureusement qu’acquiescer, je suis passé d’une trentaine de chans sur IRC à 2 en moins d’un an. Et j’ai maintenant une app dédiée à Slack qui est souvent ouverte et où je retrouve des communautés (parfois) moins techniques mais tout aussi bouillonnantes.

Le pire c’est qu’il manquait « juste » un bon client à IRC pour qu’il soit au niveau de Slack en terme d’expérience utilisateur. :cry:

2015-03-26 Lean Canvas et présentation

Je suis à MousTIC depuis hier et il y avait une session de « Tables de découverte » où des porteurs de projets pouvaient présenter leur travail en 15 minutes. La plupart utilisaient un support type powerpoint sur leur écran 13” qu’ils essayaient de caser dans le temps imparti sans avoir de temps pour la discussion. Cela m’a rappelé mes jeunes années de scientifique à faire des posters. Et j’en suis venu à me demander si un Lean Canvas plus ou moins adapté (cache) ne serait pas plus pertinent pour une telle entrée dans le sujet rapide et efficace.

Teasing : la prochaine itération du site de scopyleft pourrait s’en inspirer :-).

2015-03-27 Design et temps

Entropy gets his way. Always. But I am hoping that armed with a couple of tools, we can delay and sustain this fight:

  • Why I am looking at this UI?
  • What problem am I trying to solve?
  • What is the job of this UI?

Keep asking the right questions and fold the content where it belongs. Just don’t throw everything in the same kitchen cabinet.

Scaling UIs (cache)

Nous sommes sur le troisième redesign d’une application sur un projet (en 7 ans !) et la discussion tourne forcément autour d’une refonte plus profonde. J’ai proposé d’utiliser un guide de style pour éviter la lente dégradation du design au fil du temps et avoir un référentiel commun et cohérent. Cela m’a forcé à revoir mes composants CSS pour les découpler en utilisant BEM (cache) associé à des conventions de nommage lisibles (cache). Au final, ça fait beaucoup de class mais on se prend beaucoup moins la tête sur la cascade. Par contre, ça demande d’avoir une réflexion sur les composants et ça donne envie de jouer avec scope !

Laurent me conseille de regarder du côté de Susy, à creuser.

2015-03-29 Origine arobase

Je découvre via Twitter que l’origine de l’arobase vient du Latin ad (vers, près de, à) donnant @ :

Je creuse encore un peu avec la page wikipedia et j’apprends que  :

En 1971, l’informaticien Ray Tomlinson, envoyant le premier message électronique de machine à machine, choisit d’utiliser ce signe comme séparateur dans l’adresse parce qu’il n’appartenait à aucun alphabet.

Je me demande quel signe est-ce qu’il emploierait aujourd’hui. Je découvre également que :

Dans le cadre de la lutte contre le langage sexiste, les locuteurs de l’espagnol et du portugais devaient employer des expressions répétées du type « queridos amigos, queridas amigas » (chers amis, chères amies). Comme souvent on passe du masculin au féminin, en ces langues, en remplaçant le « o » par un « a », les hispanophones et les lusophones ont eu l’idée de remplacer la répétition par un mot avec un « @ » (car ce caractère ressemble à un « a » dans un « o »), ce qui donne « querid@s amig@s ».

Ce caractère continue à aller de l’avant.

2015-03-30 API et valeur

As John says, the point at which an API has value, is when it is used. Until that point, an API isn’t a thing. I’m not saying the API call as a metric, is the single metric to rule them all, but it is at this point when I feel you can really begin to measure the value an API delivers, and capture the exhaust from it.

An API Has No Value Until It Is Actually Used (cache)

Je ne saurais être plus d’accord avec cette affirmation, une API est un site web dédié à des robots et leurs développeurs. Vous ne pouvez concevoir un produit sans utilisateurs, vous ne pouvez concevoir une API sans des besoins de développeurs.

2015-03-31 Radars de développement

Et bien cher lecteur sache que c’est pareil quand tu développes ! Et il y a plein de « radars » dans un projet informatique.

  • Le radar peut être un projecteur, il fait la lumière sur un point particulier du projet et ce focus, réduit l’attention portée au reste.
  • Le radar peut être un compteur, une mesure. Et bien que les chiffres qu’il révèle soient intéressants, ils ne remplacent pas les réactions et remarques de l’équipe.
  • Le radar peut être un frein, une exigence trop rigide, qui empêche l’équipe de s’adapter.

Je n’aime pas les radars (cache)

Guillaume n’aime pas les radars et fait une belle analogie avec le développement informatique. Je n’ai plus cette « peur du radar » depuis que j’ai une voiture moderne qui me permet de ne pas dépasser les 50 en ville ou de régler ma vitesse (malheureusement) de manière fixe sur l’autoroute. Cela m’a permis de me concentrer à nouveau sur la route et les imprévus. Je me demande quel serait l’équivalent dans le domaine du développement. L’intégration continue ? L’assurance qualité ? La confiance ? La solidarité ? Le lâcher-prise ?

L’autonomie (cache).

2015-04-01 Basé sur une histoire vraie

Je m’interroge toujours sur la pertinence de voir la mention « Film basé sur une histoire vraie » ou équivalent. Est-ce que tous les films historiques pourraient avoir cette mention ? Est-ce qu’il y a un label précis avec une charte associée ? Qu’à voulu transmettre le réalisateur en précisant cela ? Au début du film ? À la fin ? Quelle proportion du casting est concernée ?

Note fondée sur une vraie réflexion.

2015-04-02 Publication statique

Je me demande de plus en plus si les outils desktop du style CodeKit, Hammer, Prepros ou Coda par exemple ne sont pas davantage adaptés à mon workflow de publication (comparé aux scripts Fabric que j’utilise).

De manière orthogonale, les systèmes de versionnement sont peu adaptés à une publication statique avec CSS et JS qui alternent entre inline ou pas et des polices qui passent en data-uri ou pas au gré des améliorations/explorations des performances.

It has become commonplace to treat the web as just another application platform—but the web is so much more than that. The web is the universal information platform. It doesn’t matter if somebody visits a website on a $2,000 iMac, or a $50 Android tablet, or the $5 web client of a future we can’t even imagine yet—in theory, at least. In practice, it’s important to make sure that we don’t sacrifice the experiences of a small number of users just so we can slightly improve the experiences of the rest, damaging the universal nature of the web in the process.

Let Links Be Links (cache)

À méditer.

2015-04-03 API non REST(ful)

Notre application forge elle-même l’URL des images récupérées via l’API : elle nous fournit un id et nous reconstituons l’URL finale grâce à un paramètre de configuration. Ce n’est pas REST compliant mais nous avons de bonnes raisons de le faire.

Comment a-t-on bouchonné les développeurs backend ? (cache)

Quel dommage de ne pas avoir listé les raisons. Mais quel soulagement d’avoir une équipe technique qui ne se targue pas de faire une API REST(ful) lorsque ce n’est pas le cas.

2015-04-04 Scroll et narration

We generally use web pages as our canvases and paint content on the x– and y-axises. This is our tangible abstraction of reality. Here we are going to explore what happens when we introduce z-axis to content presentation. Instead of stripping down reality to a plane, we are going to simplify it, keeping our three physical dimensions but only their minimal essence.

Space.js (cache)

Il faudra que j’essaye des choses avec ça. Le Web est une plateforme d’expérimentation à grande échelle. C’est peut-être pour cela que je l’aime autant :-).

Usually I am the one who says ‘Let the developer change every default browser behaviour’. Except, there are behaviours that, when customised, can hurt the user’s experience more than a custom behaviour could help. Such a case is custom scrolling.

Native Scrolling (cache)

Poètes vs. pragmatiques, l’évolution de ce monde en deux liens.

2015-04-05 Adapter le LEAN Canvas

From my point of view, being « Lean » is more a state of mind than a set of tools, or rules. So I let them digg and play, fail quick and craft dirty sketchs, trying to be the more useful as possible helping them to ask themselves good questions. And I’ve never seen good solutions who did not came exclusively from them.

The Lean Journalism Canvas (cache)

Il est toujours tentant de vouloir adapter un outil. Je suis en train de préparer une formation/accompagnement sur la qualité et j’essaye d’adapter le LEAN canvas à ce cas. Stéphane me rappelle à juste titre qu’il faut adapter une fois que l’on a pu tester les limites d’un outil, pas avant.

2015-04-06 Concurrence attentionnelle

Lynch is leaning forward in his chair, telling me about his kids: about how grateful he is to be able to simply glance at his Watch, realize that the latest text message isn’t immediately important, and then go right back to family time; about how that doesn’t feel disruptive to him—or them.

iPhone Killer: The Secret History of the Apple Watch (cache)

Les enfants sont aujourd’hui en concurrence avec le numérique pour l’attention de leurs parents (parfois sous couvert d’être eux-même l’objet de la création ou de la réception numérique). Je me demande quelle était la concurrence précédente. Peut-être les frères et sœurs ? Auquel cas les enfants nés récemment seraient tous les cadets du numérique. Génération cadets.

2015-04-07 Réalité déformée

If you’re on Facebook looking at your friends’ food pictures or vacation photos, that will shape your reality. If you’re on porn sites, that’s what your reality is. If you follow people on Twitter who complain all the time, that affects your life in a major way.

What Internet habits shape your reality? Is that the reality you want? Can you shape it?

Your Internet Habits Create Your Reality (cache)

Chacun de nos cercles est un nouveau prisme de notre réalité. Chaque entrée dans un nouveau cercle déforme notre perception des précédents. Quelle onde de choc personnelle transmettre ?

2015-04-08 Microservices et API

Having a system which treats all of this processes the same frees up your mind. This is what makes micro services interesting. Away with having HTTP request handlers that have no direct relationship with message queue worker tasks or cronjobs. Instead you can have a coherent system where any component can talk through well defined points with other parts of the system.

Nameko for Microservices (cache)

J’étais à l’OpenDataCamp organisé par Etalab aujourd’hui où Axel présentait Flask-RESTPlus qui permet de documenter une API utilisant Flask-RESTful avec Swagger. À peine dans le train, je tombe sur Nameko qui répond à pas mal de mes interrogations récentes sur l’importance de l’asynchrone dans les API. L’avenir est aux web components qui tapent sur des microservices en utilisant des websockets ou HTTP2. Idéosphère ou overdose de champignons ? BINGO ! ;-)

2015-04-09 Microservices et culture

We all hear about Conway’s law, but this fact is the strongest reason why you’re not going to do micro services. People win. Culture wins. Paper processes and paper structure does not win. If you have a UI team, DB team, "services" team, each specializing in its own right, you’ll end up with systems that look like those tiers.

You’re not going to do Microservices (cache)

La culture est le reflet des personnes composant une équipe, pas des technologies ou des outils employés. Le turn-over technologique est le reflet d’un souhait profond de changement à une plus large échelle.

2015-04-10 Évolution du travail

It’s too much to suggest that the future of work will be lead by full stack employees, but there is a significant trend in this direction, at the very least driven by the recent emphasis on entrepreneurship globally and Millennial work trends. Certainly the nature of work is changing, and the highest value employees are those who can handle ambiguity and synthesizing enormous amounts of information into strategically useful tactics.

The full-stack employee (cache)

Je réfléchis de plus en plus à l’avenir du travail, j’ai parfois l’impression d’avoir une longueur d’avance avec scopyleft. Peut-être plus…

2015-04-11 Tiers-lieux et valeur

« Si Proudhon revenait, il dirait que le crowdsourcing c’est du vol, remarque François Élie, philosophe et élu local. D’un point de vue économique, il faut être au clair sur les raisons pour lesquelles on donne ce qu’on fait. Les Tiers-Lieux doivent affronter la question du réinvestissement de la valeur : ceux qui quittent le Tiers-Lieu pour monter leur entreprise, réinvestissent-ils dans ce Tiers-Lieu qui les a aidés à produire leur valeur ? » Selon lui, le monde sort de l’économie de la rente et passe à celle de la valeur ajoutée. Cette valeur se crée dans l’articulation entre les lieux virtuels qu’offre le Web, et les lieux physiques, de proximité, recréés par les Tiers-Lieux. François Élie conclut : « On ne peut travailler ensemble que si on a partagé des bières. » Avis aux amateurs.

Les Tiers-Lieux, fragile mouvement de fond ? (cache)

On remplace souvent le mot argent par valeur en ce moment. Il est parfois bon d’être explicite lorsque la réflexion s’y limite.

2015-04-12 Timeline heureuse

Every scroll through Twitter puts at least one person’s bad day, shitty experience, or moment of snark in front of me. These are good happy people – I know many of them in real life – but for whatever reason, Twitter is the place they let their shit loose. And while it’s easy to do, it’s not comfortable to be around. I don’t enjoy it.

Look and Feel and Feel (cache)

Cela me rappelle mes #WeeklyPositiveThings de l’année dernière sur Twitter. Est-ce qu’il y a un endroit où — comme Jason — vous scrollez du bonheur ?

2015-04-13 Feedback écrit

We ask each participant in the meeting to, on a sheet of paper, answer the following three questions with a total time limit of 60-seconds:

  1. What was the big idea? (What was the most important thing you heard at the meeting?)
  2. What was your big surprise? (What was the thing you saw or heard that surprised you the most?)
  3. What’s your big question? (What’s the biggest unanswered question you have at this time?)

The One-Minute Test (cache)

Quelque chose à expérimenter lors d’un futur cours. J’aime l’idée que ça reste rapide et puisse être effectué à chaud, ou constitue un exercice de mémoire après quelques jours. Au choix du participant.

2015-04-14 Règles de programmation web

Rule 1. You can’t tell where a program is faint to spend its time. Bottlenecks occur un surprising places, so don’t try to second guess and put in a speed hack until you’ve proven that’s where the bottleneck is.

Rule 2. Measure. Don’t tune for speed until you’ve measured, and even then don’t unless one part of the code overwhelms the rest.

Rule 3. Fancy algorithms are slow when n is small, and n is usually small. Fancy algorithms have big constants. Until you know that n is frequently going to be big, don’t get fancy. (Even if n does get big, use Rule 2 first.)

Rule 4. Fancy algorithms are buggier than simple ones, and they’re much harder to implement. Use simple algorithms as well as simple data structures.

Rule 5. Data dominates. If you’ve chosen the right data structures and organize things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.

Rob Pike’s 5 rules of Programming

Ces règles m’amènent à réfléchir à ce que cela pourrait donner en version web :

  • Produisez des structures de données faciles à convertir. En cas de doute, utilisez HTML. Soyez votre premier ré-utilisateur.
  • Liez des identifiants pérennes. Les URI sont vos amis. Exploitez la force du graphe et connaissez ses faiblesses.
  • Mesurez vos performances. En fonction des périphériques et des connexions. Comprenez HTTP.
  • Soyez réactif. Le web est un medium qui évolue constamment. Dans ses standards et ses pratiques.
  • Restez accessible. Les personnes et robots parcourant vos pages doivent pouvoir accéder au contenu. Indépendamment de leur support technologique, de leurs déficiences et de leurs préférences.

2015-04-15 Community agent

The idea of “unionizing” would take the web browser (or OS) to a different level. It wouldn’t just be a user agent, but more a community agent.

Today, a web browser is a fairly individualistic software. Your browser history, bookmarks, searches are your own and that’s it. These elements are hard if not impossible to share given how browsers are architected. These items are saved for the purpose of syncing across device, but with the assumption the devices all belong to the same individual.

One interesting experiment would be for a browser to add a layer on top of search engines. Don’t just drive searches to one (or several?) search engine, but ask a database of knowledge shared within a community. Contribute back the search data to the community database.

Search data, then, now and eventually (cache)

Je me demande dans quelle mesure cela renforcerait les bulles de filtres et à quel point le fait d’appartenir à plusieurs communautés demanderait l’usage de plusieurs profils, navigateurs et/ou moteurs de recherche ? Avoir une approche communautaire dans son usage du Web me semble malheureusement assez éloigné des préoccupations et cultures des riches « faiseurs de Web ». Une bonne discussion à avoir pendant SudWeb lors de about:blank.

2015-04-16 Renseignement et archives

I am far more frightened by an internet that never remembers than I am by an internet that never forgets.

Forgetting again (cache)

Je me demande dans quelle mesure le gouvernement pourrait devenir un archiviste quitte à stocker des petaoctets à nos dépens et à nos frais (cache). Luttons contre le terrorisme en rendant publiques toutes ces relations et en laissant la communauté trouver les algorithmes. Cela créerait une nouvelle économie beaucoup plus lucrative que celle de l’OpenData…

Tout innocent est un suspect qui s’ignore.

Fiché (cache)

2015-04-17 Archives et JavaScript

One solution to this problem is for the web archiving process to execute the JavaScript and to archive any of the dynamic content that was retrieved. This can be done using headless browsers like PhantomJS, and supposedly Google has started executing JavaScript. Like Tantek I’m dubious about how widely they execute JavaScript. I’ve had trouble getting Google to index a JavaScript heavy site that I’ve inherited at work. But even if the crawler does execute the JavaScript, user interactions can cause different content to load. So does the bot start clicking around in the application to get content to load? This is yet more work for a archiving bot to do, and could potentially result in write operations which might not be great.

JavaScript and Archives (cache)

Je continue mes explorations de la veille et je découvre pywb-recorder que vous pouvez tester sur WebRecorder. Combien de logiciels libres sont utilisés à notre insu ? Quelle responsabilité a-t-on en tant que développeur à faciliter leur usage ? Où est notre militantisme lorsqu’il s’agit de refuser de stocker certaines données ? Quelles seraient les lois appliquées au stockage des données ?

Now, if you generate data, the first question to ask about it is, “How is this data going to be used against you?” While I’m still fighting the fight to show the narrative potential of data, there is a real shadow over it. I’m not sure where we land if the value added by having access to your data or having the data saved is greater than the potential damage that that data can create in the wrong hands.

Data Viz Pioneer Nicholas Felton: “There Is A Real Shadow Over Data” (cache)

2015-04-18 JavaScript déclaratif

When JavaScript is used to handle user interactions like clicks, or enhance the page by manipulating the DOM, traditionally you’d have JavaScript find that HTML element in your page, and hook some code into it. But what if you’d switch that around, and have the HTML element “tell” JavaScript what function to execute?

Progressive enhancement with handlers and enhancers (cache)

Je trouve cette approche intéressante, au moins conceptuellement. Il faudrait que je l’essaye ici pour mettre en place Layzr.js et voir quels effets de bord cela produit.

2015-04-19 Communauté et popularité

In software development, a lot of people pick the most popular tool that can solve a given problem. Popularity is measurable: you can check the number of downloads, the number of stars, the questions and answers all over the web. Quality, on the other hand, is hard to measure: you have to read the code and prove its correctness, evaluate several metrics and heuristics. It’s hard work compared to counting stars. Then, as a lot of people pick the most popular tool that can solve a given problem, the popular tool gets more downloads, more stars, and more people ask questions about it. Popularity is the best trait for becoming more popular.

Popularity (cache)

J’ai toujours du mal à promouvoir des outils pour leur popularité comme Slack ou Github, qui plus est centralisateurs. Mais d’un autre côté, il s’agit aussi d’aller où est la communauté, pour comprendre les usages et peut-être apporter de la réflexion dans ces lieux. De la difficulté d’être cohérent avec soi-même et avec les autres…

2015-04-20 ABC de l’apprentissage

  • rendre possible l’Autonomie
  • encourager la Bienveillance
  • éveiller la Curiosité

Je n’ai pas d’autres motivations lorsque j’accompagne ou j’enseigne et j’ai encore beaucoup à creuser dans ces domaines :

  • Autonomie : faire en sorte que les connaissances viennent de tous les acteurs et fluidifier les retours d’expériences
  • Bienveillance : adopter une posture plus basse et pacifier les échanges lorsque c’est nécessaire
  • Curiosité : remettre en question certaines bases et demander aux participants de trouver des solutions ensemble

Je réfléchis déjà à ce que je pourrais mettre en pratique lors de la rentrée prochaine.

2015-04-21 Bitbucket et CNAME

We have stopped allowing new custom domain entries using the DNS canonical name record (CNAME) process. Existing CNAME’s will continue to function as expected while we phase out this feature.

We will be disabling the CNAME feature completely on July 1, 2015. If you have a CNAME enabled you will want to plan for impacts this will have for you, your team, and anyone else who is accessing the repositories owned by the team or account to make this transition.

Because we have stopped supporting CNAME’s by July 1, 2015 you must change your custom domain URL’s everywhere they are used to access your Bitbucket team, account, repositories, and any automated processes which access Bitbucket using the custom domain URL.

Associate an existing domain with an account

C’est l’unique fonctionnalité qui me permettait de trouver Bitbucket supérieur à Github. Ce sont maintenant 2 services centralisateurs fondés sur une technologie décentralisante et cela m’attriste. J’ai supprimé une bonne quinzaine de vieux dépôts, j’hésite sur la suite à donner pour les autres. J’ai fait le ménage dans mes dépôts Github également. Il y a un certain soulagement à supprimer du code et à libérer de l’espace, il y a une certaine culpabilité à générer autant de 404. Il y a une sacrée nostalgie à revoir tous les forks/patchs proposés, j’hésite à aller plus loin dans la démarche.

2015-04-22 Vérifier, valider et expliquer

Le travail des décodeurs, ce n’est plus seulement de chercher et de diffuser l’information. L’information, en 2015, elle coule naturellement. La plupart des ados ne lisent pas la presse, ne regardent pas le JT, mais ils connaissent généralement les grandes actus du jour, ne serait-ce que via les réseaux sociaux. Et si on n’est plus maîtres de la diffusion de l’info ni de sa production, on peut rester ceux qui la vérifient, la valident, l’explicitent, la rendent accessible. C’est cela, l’« explainatory journalism », avant d’être des papiers à graphes. C’est revenir aux faits. Et lutter contre les clichés, les intox, les idées reçues, les mensonges.

Les dix enseignements d’un an de Décodeurs (cache)

Impressionnant retour des décodeurs sur la place de la donnée, des journalistes et de l’information aujourd’hui. Les licornes sont recherchées (cache) en ce moment.

2015-04-23 Choisir une technologie

When choosing technology, you have both known unknowns and unknown unknowns.

  • A known unknown is something like: we don’t know what happens when this database hits 100% CPU.
  • An unknown unknown is something like: geez it didn’t even occur to us that writing stats would cause GC pauses.

Both sets are typically non-empty, even for tech that’s existed for decades. But for shiny new technology the magnitude of unknown unknowns is significantly larger, and this is important.

Choose Boring Technology (cache)

À méditer lors de la mise en place de votre prochaine stack (cache). Je suis un développeur moyen et vieillissant qui utilise des techno ennuyeuses.

À des fins utiles ?

2015-04-25 Masquer les images

To further insulate myself from the pernicious influence of online mediocrity I will disable image loading in my browser. Online pictures are of two kinds: mundane photographs and a simplified telegraphic advertising style, for logos and minimal ornament. The “product style” is made of highly saturated homogeneous clean shapes and serves merely as simple mnemonics for products or services. The craftsmanship is these images is intentionally low because the images are meant to recall a product as efficiently as possible.

Going "Write-Only" (cache)

La démarche complète est violente mais cette petite pratique est intéressante, je sens que je vais tester pour quelques jours.

2015-04-27 Mission Etalab

I’d argue that open data today is exactly where open source was some two decades ago, and I’d love to see if we couldn’t fast forward the community a bit. Imagine if every time the government posted a dataset, rather than posting the data as a zip file or to a proprietary data portal, the agency treated the data as open source. All of a sudden data sets get a running log of known issues, and not just those known to the agency. Consumers of the data can submit proposed changed to do everything from normalizing columns to correcting errors to making the data itself more useable. Most importantly, as that data evolves over time, there’s a running log of exactly what’s changed, a critical feature in the regulatory context (e.g., what licenses were issued in the past week?).

Treat Data As Code (cache)

Je commence aujourd’hui à travailler pour Etalab (toujours via scopyleft) afin d’améliorer la plateforme data.gouv.fr. J’espère pouvoir apporter mes super-pouvoirs afin de rendre le projet plus accessible à la participation citoyenne, découvrir de nouvelles pratiques et de nouvelles personnes. Si vous avez des frustrations sur la plateforme, c’est le moment de les exprimer.

Critiquer à de multiples reprises c’est bien, participer c’est mieux.

2015-04-28 Bonjour Data

Conscients que les problèmes, les freins à l’obtention de résultats tangibles à travers l’open data peuvent se résoudre par les acteurs eux-mêmes, les participants aux rdv Bonjour Data s’entraident concrètement pour fabriquer des sources de données fiables, et aider les réutilisateurs à en tirer des bénéfices concrets (efficacité des politiques publiques, nouveaux services innovants, etc.)

Bonjour Data (cache)

Jolie initiative tous les derniers mardi du mois.

2015-04-29 Ouverture

Open Source and related ways of working does not mean you give out your work for free and leave it at that. It means that you make it available, that you nurture it and that you are open to giving up control for the benefit of the wisdom of the crowd. It is a two-way, three-way, many way exchange of data and information. You give something out, but you also get a lot back, and either deserves the same attention and respect.

More and more I find companies and individuals seeing open sourcing not as a way of working, but as an advertising and hiring exercise. Products get released openly but there is no infrastructure or people in place to deal with the overhead this means. It has become a ribbon to attach to your product – “also available on GitHub”.

The new challenges of “open” (cache)

Impressionnant billet de la part de Christian, qui résume très bien mon point de vue actuel. J’ai la chance de rencontrer des interlocuteurs professionnels qui sont en grande demande d’ouverture. Chaque entreprise a sa propre définition et j’aime participer à sa redéfinition en questionnant certaines pratiques :

  • Pourquoi publiez-vous du code ?
  • Pourquoi voulez-vous impliquer des personnes externes ?
  • Pourquoi visez-vous une culture de l’ouverture ?

Le comment vient seulement ensuite.

2015-04-30 Web components et fun

I still believe in the promise of the open web, but we can’t hold on to it dogmatically. The web must directly compete with native apps if it is to remain ubiquitous and successful. While new features like Web Components are important for the long-term vitality of the web, they’re not the critical technologies right now. And I feel that while I’ve been out preaching them, I’ve perhaps been missing the wood for the trees.

The Future of the Open Web (cache)

S’il manque en effet des API pour rendre le navigateur compétitif vis-à-vis des applications natives, je ne pense pas qu’il faille pour autant mettre en pause toute la réflexion amorcée sur les Web Components. Ces derniers réintroduisent du fun dans le développement web, et c’est peut-être ce qui a manqué le plus ces dernières années. Les Web Workers sont importants techniquement mais ne s’adressent pas du tout aux même motivations/personnes.

2015-05-01 Stockage décentralisé

Les aspects de l’architecture qui nous semblent incontournables:

  • La solution doit reposer sur un protocole, et non sur une implémentation ;
  • L’auto-hébergement de l’ensemble doit être simplissime ;
  • L’authentification doit être pluggable, voire décentralisée (OAuth2, FxA, Persona) ;
  • Les enregistrements doivent pouvoir être validés par le serveur ;
  • Les données doivent pouvoir être stockées dans n’importe quel backend ;
  • Un système de permissions doit permettre de protéger des collections, ou de partager des enregistrements de manière fine ;
  • La résolution de conflits doit pouvoir avoir lieu sur le serveur ;
  • Le client doit être pensé «offline-first» ;
  • Le client doit pouvoir réconcilier les données simplement ;
  • Le client doit pouvoir être utilisé aussi bien dans le navigateur que côté serveur.

Eco-système et stockage générique (cache)

Les amis (ex-)pythonistes actuellement chez Mozilla sont en train de faire des choses intéressantes. Avec un blog qui me rappelle à chaque fois Georges Clooney, merci les gars. Un petit retour à chaud sur la stratégie adoptée :

  • pourquoi avoir encore besoin d’un serveur et ne pas penser directement P2P ?
  • est-ce qu’il n’y aurait pas moyen d’étendre la réflexion sur une approche non pas individuelle mais communautaire ?
  • dans quelle mesure les données pourraient être chiffrées par défaut ?
  • est-ce que l’utilisation d’un DCVS a été envisagée ? Quid de la pérennité des données en cas de disparition du serveur ?
  • quand je lis l’intégralité de la liste citée, j’ai peur que le résultat soit trop générique/intelligent pour être convivial.

2015-05-02 Marketing Apple

Markkula wrote his principles in a one-page paper titled “The Apple Marketing Philosophy” that stressed three points. The first was empathy, an intimate connection with the feelings of the customer: “We will truly understand their needs better than any other company.” The second was focus: “In order to do a good job of those things that we decide to do, we must eliminate all of the unimportant opportunities.” The third and equally important principle, awkwardly named, was impute. It emphasized that people form an opinion about a company or product based on the signals that it conveys. “People DO judge a book by its cover,” he wrote. “We may have the best product, the highest quality, the most useful software, etc; if we present them in a slipshod manner, they will be perceived as slipshod; it we present them in a creative, professional manner, we will impute the desired qualities.”

Extrait de la biographie de Steve Jobs par Walter Isaacson (non lue)

Il est intéressant de constater que ces trois points sont toujours à l’œuvre après une trentaine d’années. À retenir pour de futurs produits.

2015-05-03 CDN et juridiction

Jurisdiction is a big soft spot. When will CDNs get tapped on the shoulder by local law enforcement in dodgy countries? Can you lock stuff out of particular jurisdictions, so your stuff doesn’t end up in Egypt just for load-balancing reasons? Can the NSA force data to be rehomed in a friendly jurisdiction, e.g. by a light DoS? Then they “request” stuff from a partner rather than “collecting” it.

Meeting Snowden in Princeton (cache)

Développeurs, il est de votre devoir d’informer les parties prenantes des significations de l’usage d’un CDN pour des sites critiques. Seuls vos fichiers statiques sont sur un CDN ? Vos données sont à l’abri d’une juridiction clairement identifiée ? Quid d’un bout de JavaScript modifié sur le CDN qui permettrait de lire ces données à l’insu du visiteur et de l’hébergeur ?

The deepest problem is that the system architecture that has evolved in recent years holds masses of information on many people with no intelligence value, but with vast potential for political abuse.

Ibid.

2015-05-04 Pérennité et traçabilité

Don’t trust the cloud. Use it, enjoy it, exploit it, but don’t believe in it. Or even the web for that matter. Many people assume that the web —and its riches—will always be there waiting for you. It won’t. Don’t bookmark. Download. Hard drives are cheap. Fill them up with everything you think you might need to consult, watch, read, listen to, or cite in the future. Your local library should be more vast than anything up for offer on the web. Please understand that the web and its treasures are temporary and ephemeral; that Deleuze PDF (cache) that you bookmarked yesterday very well may not be there tomorrow.

Why I Don’t Trust the Cloud (cache)

Je suis toujours tiraillé entre mon désir de conservation et le risque que cela entraîne pour mon intimité. Pour la vôtre aussi. Lorsqu’il s’agit de communications cela implique forcément les interlocuteurs et j’ai déjà demandé à ce que vous effaciez mes (méta-)données.

Je suis en train de mettre en place une nouvelle stratégie pour le stockage de mes emails afin de réduire l’intelligence des liens qui peuvent être faits entre mes interlocuteurs et ma façon d’archiver. Je n’ai plus que 3 dossiers :

  • Archives : où je stocke tous les messages personnels importants reçu ces 3 dernières années. Au-delà ils sont effacés.
  • Archives pro : où je stocke tous les messages à caractères professionnels reçus ces 10 dernières années, j’y suis malheureusement contraint, j’aurais aimé pouvoir m’en tenir à 5 ans.
  • Archives sent : où je stocke tous les messages que j’ai envoyé, par année, pour 10 années également pour avoir l’intégralité des échanges professionnels. Ce dossier constitue une grande partie de ma mémoire externalisée.

Transversalement, j’utilise des boîtes aux lettres intelligentes et temporaires pour les projets en cours et ponctuellement la recherche de Mail.app.

Le fait d’aplatir complètement l’arborescence me donne l’illusion de croire qu’il sera plus difficile pour un observateur externe de recréer mon graphe personnel. C’est déjà ça. Quelle est votre stratégie dans le domaine ?

2015-05-05 Légalité des canaris

“Warrant canary” is a colloquial term for a regularly published statement that a service provider has not received legal process that it would be prohibited from saying it had received, such as a national security letter. Canary watch tracks and documents these statements. This site lists warrant canaries we know about, tracks changes or disappearances of canaries, and allows submissions of canaries not listed on the site.

Canary Watch

Je me demandais depuis longtemps si cela était légal et mat m’a trouvé des infos là-dessus :

If it’s illegal to advertise that you’ve received a court order of some kind, it’s illegal to intentionally and knowingly take any action that has the effect of advertising the receipt of that order. A judge can’t force you to do anything, but every lawyer I’ve spoken to has indicated that having a “canary” you remove or choose not to update would likely have the same legal consequences as simply posting something that explicitly says you’ve received something. If any lawyers have a different legal interpretation, I’d love to hear it.

Ce qui ne semble pas être l’avis de l’EFF :

There is no law that prohibits a service provider from reporting all the legal processes that it has not received. The gag order only attaches after the ISP has been served with the gagged legal process. Nor is publishing a warrant canary an obstruction of justice, since this intent is not to harm the judicial process, but rather to engage in a public conversation about the extent of government investigatory powers.

Warrant Canary Frequently Asked Questions (cache)

J’aimerais qu’il existe une jurisprudence sur le sujet en France pour pouvoir en être certain… Il est temps de documenter les mesures de contournement de la loi.

2015-05-06 Profiter de ses libertés

Au quotidien. Et savoir en créer de nouvelles s’il le faut. Intimes, uniques, incontrôlables.

2015-05-07 Typographie Web

In this book, my goal is to prove that typesetting is fun and rewarding—not intimidating. Whenever applicable, I will share the process that helped me make the appropriate type selection for specific assignments in my work as examples for you to examine. Through my process, I hope to inspire you to discover your own.

Introduction (cache)

Un bon complément à Butterick’s Practical Typography. Ironiquement, le fait de bloquer Typekit rend le site difficilement lisible… un comble.

2015-05-08 L’appel du code

Ce moment où vous savez ce que vous allez développer mais êtes en incapacité de le faire immédiatement pour diverses raisons. Alors vous commencez à coder dans votre tête, à imaginer la modélisation, à visualiser les interactions, à envisager les écueils.

Ce moment qui permet de transformer la frustration accumulée en une énergie créative future. Où toutes les pièces du puzzle s’agencent parfaitement avant même d’avoir saisi le moindre caractère. Aux dépens du sommeil et des instants intimes.

J’aime ce moment.

2015-05-09 REST et complexité

We believe there are a number of weakness in typical REST systems, ones that are particularly problematic in mobile applications:

  • Fetching complicated object graphs require multiple round trips between the client and server to render single views. For mobile applications operating in variable network conditions, these multiple roundtrips are highly undesirable.
  • Invariably fields and additional data are added to REST endpoints as the system requirements change. However, old clients also receive this additional data as well, because the data fetching specification is encoded on the server rather than the client. As result, these payloads tend to grow over time for all clients. When this becomes a problem for a system, one solution is to overlay a versioning system onto the REST endpoints. Versioning also complicates a server, and results in code duplication, spaghetti code, or a sophisticated, hand-rolled infrastructure to manage it. Another solution to limit over-fetching is to provide multiple views – such as “compact” vs “full” – of the same REST endpoint, however this coarse granularity often does not offer adequate flexibility.
  • REST endpoints are usually weakly-typed and lack machine-readable metadata. While there is much debate about the merits of strong- versus weak-typing in distributed systems, we believe in strong typing because of the correctness guarantees and tooling opportunities it provides. Developer deal with systems that lack this metadata by inspecting frequently out-of-date documentation and then writing code against the documentation.
  • Many of these attributes are linked to the fact that “REST is intended for long-lived network-based applications that span multiple organizations” according to its inventor. This is not a requirement for APIs that serve a client app built within the same organization.

Nearly all externally facing REST APIs we know of trend or end up in these non-ideal states, as well as nearly all internal REST APIs.

GraphQL Introduction (cache)

REST permet de gérer la complexité du Web et de sa décentralisation de manière plutôt élégante. Le problème arrive lorsque l’on essaye de l’utiliser dans un contexte où cette complexité devient caduque comme des API internes.

Lorsque vous êtes maîtres du client ET du serveur, un simple service en RPC avec Nameko ou similaire sera probablement plus pertinent. Cela dit, je suis impatient de voir ce que va donner GraphQL.

2015-05-10 Leçons apprises

  1. Start small, then extend.
  2. Change one thing at a time.
  3. Add logging and error handling early.
  4. All new lines must be executed at least once.
  5. Test the parts before the whole.
  6. Everything takes longer than you think.
  7. First understand the existing code.
  8. Read and run.
  9. There will always be bugs.
  10. Solve trouble reports.
  11. Reproduce the problem.
  12. Fix the known errors, then see what’s left.
  13. Assume no coincidences.
  14. Correlate with timestamps.
  15. Face to face has the highest bandwidth.
  16. Rubber ducking.
  17. Ask.
  18. Share credit.
  19. Try it.
  20. Sleep on it.
  21. Change.
  22. Keep learning.

Lessons Learned in Software Development (cache)

Excellente liste à méditer. Dommage qu’il n’y ait aucune notion de plaisir et de motivation dans tout ça. Cela me semble pourtant essentiel dans notre métier.

2015-05-11 Web sémantique et obfuscation

Il montre aussi que l’obfuscation de nos données devient plus que jamais urgente tant qu’un meilleur respect de leur utilisation ne sera pas envisagée.

Vers des technologies de l’empathie ? (cache)

C’est tout le danger d’avoir des données standardisées et extractibles facilement. Si vos données sont bien indexées, vous allez être plus facilement profilé. La généralisation des services centralisés accentue le phénomène. Quelle entropie ajoutez-vous pour ne pas être la cible facile d’un robot ? À quelle popularité renoncez-vous pour conserver des rapports naturels ?

2015-05-12 Travail et numérique

L’utilisation massive du numérique engendre une transformation dans la relation gouvernants et gouvernées qui tend à transformer la société pyramidale actuelle en société de réseaux. Cette mutation n’est pas du tout simple à accepter pour les élites

Pourquoi les élites ont du mal avec le numérique ? (cache)

Je serai à Toulon le 26 juin pour parler du « Travail en mutation » avec Stéphane aux côtés de plein d’amis. Il faut que j’arrive à me clarifier les idées d’ici là.

2015-05-13 Course au CPU

Ce qui m’attriste dans cette course effrénée au chiffrement pour retrouver un peu d’intimité c’est le surcoût engendré en terme de puissance de calcul. Que d’énergie gaspillée…

2015-05-14 Réinstaller de zéro

The worst thing is that you can’t see the technical debt that is piling up. It’s underneath your application, but because you never set up your development environment again, you don’t see it. You can stay productive, setting up the application is a rite of passage for other people.

Reduce the number of settings. Make it work well out of the box. Get as few steps as possible. Document it. Script it.

Rebuilding your application (cache)

C’est vrai pour un projet open-source mais ça peut aussi l’être pour votre environnement. J’ai récemment créé un nouveau profil Firefox pour identifier les services et les extensions dont j’étais dépendant. L’expérience est intéressante, notamment pour la perte de l’historique associée qui au final a été la plus handicapante. J’hésite à réinstaller ma machine complètement mais j’ai très peur de la baisse de productivité associée.

2015-05-15 Privilège et déconnexion

Je dois te remercier de m’avoir indiqué l’existence de ce logiciel, si justement nommé Freedom, qui permet de se déconnecter d’internet pendant le temps désiré. C’est une aide précieuse. Internet est un territoire qui demande à être pensé et apprivoisé, les grandes compagnies ont pour but de capter notre attention et de nous vendre un maximum de choses. Créer et entretenir notre addiction est leur travail. Il faut apprendre à se défendre. J’ai installé le logiciel ce matin et j’en suis très content. Le numérique me passionne et dans le même temps je travaille à me tenir à distance (mais c’est la position que je tiens dans tous les aspects de l’existence, finalement).

L’enjeu est de continuer à participer aux forces créatives et politiques qui se déploient sur internet tout en restant critiqué à l’égard des tentatives de contrôle et de surveillance. Connexion et déconnexion sont des arts de vivre. Je viens de lire un article qui parle de ces dirigeants de sociétés technologiques qui envoient leurs enfants dans des écoles sans écrans : ils écrivent à la main, dessinent, bricolent, font du tricot, jouent de la musique. La déconnexion sera bientôt un privilège des classes privilégiées, et la connexion permanente une addiction du peuple.

Manuel d’écriture et de survie, Martin Page

J’ai le privilège de pouvoir être déconnecté ce week-end.

2015-05-16 No stack et dépendance

Of course, most of these are not even “mobile-first” businesses - they are “mobile-only”. They often don’t even have web sites (or, apps for that matter): “the homepage once conferred some sense of reaching your canonical destination, it’s now your name on Facebook, Instagram, Twitter, Amazon etc. that consumers are searching for” (Jonathan Libov (cache)).

No Stack Startups (cache)

Il y a le côté attirant de construire des micro-applications en étant le plus pertinent possible et en se concentrant sur la valeur ajoutée uniquement.

Il y a le côté effrayant de se baser sur des services tiers qui peuvent changer de stratégie (tarification, confidentialité, conditions d’utilisation, etc) du jour au lendemain.

Peut-être que ces services ne sont que les registars et hébergeurs de demain ?

2015-05-17 Élites et verticalisation

Tant qu’internet est un endroit sympathique, mais ne pesant rien en terme de business et ne concernant qu’une communauté assez réduite de jeunes urbains friqués, les élites s’en désintéressent globalement. Ce n’est plus le cas le jour où la majorité du commerce est en train de basculer sur les réseaux. Les « élites » débarquent alors et prennent le contrôle. Ils en ont les moyens, puisqu’ils ont l’argent et le pouvoir d’édicter des lois. Ma crainte est plutôt, dans les prochaines années, que ce soit le numérique qui se retrouve débordé et mis sous tutelle par de puissants intérêts financiers et politiques. « Verticaliser » internet ne posera aucun problème de conscience aux « élites » et le bon peuple y trouvera son compte, car ses usages, finalement très « verticaux » ne sont pas touchés, et en plus, on lui garantira que les effets secondaires indésirables de la liberté (les pédonazis pédophiles) vont disparaitre.

Les élites et le numérique (cache)

Texte écrit en janvier 2014, au sujet d’un article précédemment lié.

2015-05-18 Retrouver l’espoir

Blogs and social media have allowed us to talk to ourselves (but not to reach out beyond the left bubbles); they have also generated pathological behaviours and forms of subjectivity which not only generate misery and anger – they waste time and energy, our most crucial resources. Email and handhelds, meanwhile, have produced new forms of isolation and loneliness: the fact that we can receive communications from work anywhere and anytime means we are exposed to work’s order-words when we are alone, without the possibility of support from fellow workers.

In sum, the obsession with the web, its monopolisation of any idea of the new, has served capitalist realism rather than undermined it. Which does not mean, naturally, that we should abandon the web, only that we should find out how to develop a more instrumental relationship with it. Put simply, we should use it – as a means of dissemination, communication and distribution – but not live inside it. The problem is that this goes against the tendencies of handhelds. We all recognise the by now cliched image of a train carriage full of people pecking at their tiny screens, but have we really registered how miserable this really is, and how much it suits capital for these pockets of socialisation to be closed down?

Abandon hope (summer is coming) (cache)

Très intéressant article partagé par Karl qui pourrait participer à la construction de ma potentielle intervention lors de Paris-Web. #teasing

2015-05-19 Dunbar et méritocratie

Pour qu’un réseau soit égalitaire, il faudrait, dans le modèle mathématique développé par le chercheur et pour une population de la taille de celle des Etats-Unis, que chaque point soit en contact avec 17.000 autres (un point du réseau peut être un individu, un livre, une entreprise, un site internet, etc.) Autre exemple pris par le chercheur, plus parlant pour nos vies numériques: dans un réseau où chacun est connecté à 150 personnes, ce qui correspond à la limite établie du nombre de personnes avec lesquelles nous pouvons entretenir des relations, la taille du réseau qui préserverait une méritocratie parfaite ne pourrait excéder… 22.000 personnes.

Y a-t-il une place pour les numéros deux sur Internet? (cache)

Très intéressant article partagé par Aurélien pour alimenter ma réflexion sur le travail et qui me donne un ordre de grandeur d’un réseau à taille humaine. Un réseau qui permet encore de se passer de la topocratie (un système dans lequel la place dans le réseau plutôt que le talent individuel assure la réussite). La taille de ville idéale ? Comment expliquer le fait que les entreprises deviennent beaucoup plus rapidement pyramidales ? Pour quel sentiment de contrôle ? D’efficacité ?

En parallèle, j’ai commencé à lire le Discours de la servitude volontaire d’Étienne de la Boétie.

2015-05-20 Python et cache

J’ai eu plusieurs demandes techniques concernant la mise en cache des articles liés cette année. J’utilise la bibliothèque readability-lxml de manière assez standard :

import requests
from readability.readability import Document

def extract_page(url):
    """From an URL, extract title and content.

    The title is shortened through the `short_title` method.
    The content doesn't contain `<body>` tags to be directly
    embeddable in the template and rendered as is.
    """
    # Retrieves the resource and turns it into a doc.
    response = requests.get(url)
    document = Document(response.text, debug=True)

    # The short title is more concise and readable.
    title = document.short_title()
    content = document.summary(html_partial=True)

    # Removing the added <div> and spaces.
    content = content[5:-6].strip()
    return title, content

La seule chose à prendre en compte, ce sont les erreurs particulières qui peuvent être remontées que je gère ainsi :

try:
    title, content = extract_page(url)
except (requests.adapters.SSLError, 
        lxml.etree.XMLSyntaxError,
        requests.exceptions.ConnectionError), e:
    print('WARNING: {error}'.format(error=e))

Dans ces cas je récupère la page à la main. J’avais pas mal de bugs lors du téléchargement des pages mais je viens de me rendre compte des nombreuses versions qui ont été publiées depuis ma dernière mise à jour. J’espère avoir moins à retravailler le markup maintenant… ce qui me permettrait d’automatiser la récupération des vieux articles.

2015-05-21 Performances et proxy

And that’s happening in spite of all the improvements we’ve seen in the last few years. Better tooling. Better browsers. Better standards. Better awareness (at least from a cursory glance based on conference lineups and blog posts). Sure, all of those areas have plenty of room for improvement, but it’s entirely possible to build a site that performs well today.

So why is this a problem? Is the web just inherently slow and destined to never be able to compete with the performance offered by a native platform?

Choosing performance (cache)

Si vous n’avez pas suivi le nouveau service de Facebook, vous pouvez consulter l’excellente revue de blogs (cache) commentée de Baldur Bjarnason. C’est intéressant à plus d’un titre, surtout après ce que j’ai entrepris ici-même. Cela reflète bien les questionnements que j’ai sur la pérennité et l’accessibilité des contenus. Il y a une couche de monétisation bien sûr mais le problème est plus profond. Trop de rédacteurs acceptent que leurs contenus soient dégradés intentionnellement, trop de développeurs acceptent de dégrader des contenus intentionnellement.

Je me demande si des personnes préfèrent cliquer sur les liens en cache sur cet espace ? Pour la lisibilité ? Pour la performance ? Pour ne pas être profilé ? Pour d’autres raisons ?

2015-05-22 Stratégie de publication

When Quartz launched, we were careful not to call it a website. The ambition extended well beyond that; our domain on the web was merely its first iteration. This raised a few eyebrows from people who rightly pointed to our, uhh, website, and it required some contortions of language. Quartz is…a business news outlet…organization…venture…brand…

Well, that’s all true, but if I had to pick one description, it would be this: Quartz is an API.

[…]

So when we say Quartz is an API, we don’t mean publish once and send it everywhere. We mean Quartz can go anywhere our readers are, in whatever form is appropriate.

“Quartz is an API”: The path ahead for the business site that’s reshaping digital news (cache)

Faut-il aller dans les silos des utilisateurs pour leur montrer qu’une autre voie est possible ? Et contribuer ainsi au système… l’éternel tiraillement.

2015-05-23 Systématique et pragmatique

aim 42 supports software evolution, maintenance, migration and improvement - in a systematic and pragmatic way.

Method Guide

Je suis souvent sceptique lors j’entends « systématique » et « pragmatique » dans la même phrase. Surtout lorsque l’aspect pragmatique est peu décrit. L’adaptation me semble aller à l’encontre de la systématique.

2015-05-24 Écosystèmes fermés

However, that’s not the point. Or, at least, that’s not the end. In the last few months, we’ve shifted more of our attention on the product side from creating tool value to creating network value. What does this mean? Obviously, one form of that value is distribution. And there’s no doubt that something published on Medium has a higher likelihood to find an audience than the same thing published on an untrafficked island on the web.

Medium is not a publishing tool (cache)

Peut-être que la mise en avant de contenus externes sur Medium permettrait justement d’améliorer cette situation ? À moins que cela ne soit pas dans leur intérêt… de qui se moque-t-on ?

2015-05-25 Échec et informatique

CHAOS Manifesto is based on the collection of project case information on real life IT environments and software projects.

CHAOS Manifesto (cache)

C’est l’étude dont je parle lorsque j’affirme que les projets informatiques réussissent rarement. Le tableau récapitulatif est assez explicite :

Project resolution results from CHAOS research for years 2004 to 2012.
2004 2006 2008 2010 2012
Successful 29% 35% 32% 37% 39%
Failed 18% 19% 24% 21% 18%
Challenged 53% 46% 44% 42% 43%

Je vous laisse apprécier le résultat comparatif du pourcentage de réussite entre les gros et les petits projets dans le rapport :-).

2015-05-26 Web Components et développement

By moving to a component model, we should strive to have our components be completely self-contained and, ideally, made up of a single file. But thinking in terms of components might actually make our project end up with a larger number of files than a project which did not. The goal is to make it such that those files are not implicitly coupled with one another, and implementing a change in one will not usually necessitate updating a chain of other files.

By moving in data retrieval and styling into the component itself, we actually start to shed a lot of the weight off of the other parts of the app that were a little bit heavier before. The need for the "M" and the "C" in "MVC" might go away entirely...

One Concern, One File (cache)

J’aime beaucoup les approches actuelles (cache) qui tendent à regrouper les fragments de code relatifs à un même composant visuel. L’ajout d’un périmètre permet d’imbriquer les composants (cache) de manière plus saine (cache). En attendant de pouvoir utiliser le scope des CSS de manière native, je vais me contenter d’utiliser RiotJS qui les supporte.

J’espère qu’à terme les navigateurs permettront d’afficher la source des composants web de manière lisible et exploratoire pour un nouveau-venu dans le développement web. C’est un point stratégique critique pour la compréhension du web par le plus grand nombre.

2015-05-27 Reprenez le contrôle

Le futur règlement européen protégeant notre vie privée est menacé par le lobby des géants de l’Internet, qui analysent tout ce que nous regardons et disons en ligne.

Découvrez pourquoi ce règlement est important et comment ces lobbys sont en train de le changer.

Apprenez à échapper à ces entreprises en reprenant le contrôle de vos données.

Agissons maintenant — Contrôle tes données

Joli effort de sensibilisation et d’éducation de la part de La Quadrature du Net avec des didacticiels suffisamment détaillés (cache). Bravo !

2015-05-28 Dirigé par le blog

Blog post driven development is also an alternative way of approaching “definitions of done,” whilst avoiding dull checklists that don’t force you to think for yourself. “It’s not done until it ships” is a well enough axiom to (hopefully) need no further discussion – but for us, it’s not done until it’s shipped, publicly announced, documented, has examples, can be used by a new developer with ease, delights our users, and we’re getting feedback on it.

User stories on steroids – how Estimote uses “blog post driven development” (cache)

Intéressante pratique de la part d’Estimote. Comment impliquer les utilisateurs dans la rédaction du billet de blog ? Quel feedback demander avant même de commencer à coder ?

2015-05-29 Airbnb et intimité

Une chose étrange se produit en prenant un appartement sur Airbnb. On se retrouve littéralement à la place de quelqu’un. On peut essayer de comprendre ses habitudes. Certains de ses choix de vie. Tenter par jeu d’adopter certaines postures courantes du lieu. Se retenir de creuser certains aspects, en discuter avec la personne, parfois.

Le plus frappant est la propension à accumuler et à afficher des choses. Et cela m’interroge sur mon propre lieu de vie. N’est-il pas devenu trop chargé à mon insu ? Comment retrouver un regard externe, neuf ? Comment revenir à de la simplicité ?

2015-05-30 Je suis SudWeb

Je suis joyeux d’avoir (re)vu beaucoup de personnes que j’apprécie.

Je suis en colère d’avoir du mal à combiner vie familiale, vie professionnelle et vie sportive.

Je suis triste de ne pas avoir pu discuter davantage avec Thomas au sujet des émotions.

Je suis dégoûté d’avoir loupé un très beau vélo d’occasion faute de n’avoir pu réagir suffisamment rapidement.

Je suis neutre au sujet d’inviter des psy aux conférences. C’est la seconde fois après les rencontres de Lure et je n’arrive toujours pas à me faire un avis sur la question.

J’ai peur de mes propres contradictions au sujet de la consanguinité.

Je suis content d’avoir pu voir autant d’orateurs qui n’ont pas l’habitude de s’exprimer en public. Ça change des rockstars qui en sont à la quinzième représentation de leur tournée de conférences.

2015-05-31 Décentralisation et taille critique

Finally, I’d like to end with a few more words about why I think this type of work is interesting and important. There’s a certain grand, global scale of project, let’s pick GitHub and Wikipedia as exemplars, where the only way to have the project be able to exist at global scale after it becomes popular is to raise tens of millions of dollars a year, as GitHub and Wikipedia have, to spend running it, hoarding disks and bandwidth in big data centers. That limits the kind of projects we can create and imagine at that scale to those that we can make a business plan for raising tens of millions of dollars a year to run. I hope that having decentralized and peer to peer algorithms allows us to think about creating ambitious software that doesn’t require that level of investment, and just instead requires its users to cooperate and share with each other.

A Decentralized GitHub (cache)

Au détriment de la performance mais au profit de la pérennité. Le proverbe malien « Tout seul on va plus vite, ensemble on va plus loin » prend alors tout son sens…

2015-06-01 Annuaires PGP

To enhance the privacy of this email content, today we are gradually rolling out an experimental new feature that enables people to add OpenPGP public keys to their profile; these keys can be used to "end-to-end" encrypt notification emails sent from Facebook to your preferred email accounts. People may also choose to share OpenPGP keys from their profile, with or without enabling encrypted notifications.

Securing Email Communications from Facebook (cache)

Il est rare que je fasse un lien vers Facebook. Et pourtant ici les perspectives en tant qu’annuaire de clés publiques sont énormes. Un sérieux potentiel concurrent à Keybase. C’est une excellente chose que plusieurs annuaires se profilent à l’horizon, encore ! En attendant de pouvoir stocker son trousseau (cache) où bon nous semble…

Ajout du lendemain : être conscient également des limitations (cache).

2015-06-02 Web et capitalisme

Suppose we acknowledged that the web isn’t that well-suited to capitalism.

I think I’d be okay with that.

Would the web become little more than a hobbyist’s playground? A place for amateurs rather than professional businesses?

Maybe.

[…]

The web has no gatekeepers. The web has no quality control (cache). The web is a mess. The web is for everyone.

Web! What is it good for? (cache)

C’est la beauté du Web, avoir réussi à créer quelque chose à large échelle — un peu par hasard — qui soit indifférent au capitalisme. Qui montre qu’une autre voie est possible. Qui rassemble des voix qui s’élèveront ensemble tôt ou tard.

2015-06-03 Signature et chiffrement

Vous recevez cet email avec une signature numérique attestant de sa provenance (il s’agit de la pièce jointe ou des caractères incompréhensibles ci-dessous). Cela vous permet de me répondre de manière chiffrée si vous avez configuré votre messagerie afin que nos échanges deviennent confidentiels (y compris pour tous les intermédiaires entre votre clavier et le mien).

C’est la signature que je viens d’ajouter à mon client mail pour tenter d’expliquer ma démarche et inviter mes correspondants à se renseigner sur le sujet. L’idée m’a été suggérée indirectement par Diti Torterat suite à un échange. Il me manque au moins un lien vers une page explicative plus complète. C’est itératif et vos retours sont les bienvenus. Par mail chiffré ? :-)

2015-06-04 Jour de lag

I propose that web developers everywhere start taking at least one day of their week to throttle their internet connections.

Throttled Thursdays (cache)

Passant beaucoup de temps dans un TGV en ce moment, je peux vous assurer que des performances moyennes sont très frustrantes. Et la situation actuelle est assez terrible… il ne faudrait pas seulement brider la connexion des développeurs mais de toutes les parties prenantes d’un site. Oh et underclocker leurs machines aussi, ne perdons pas une occasion d’être extrémiste :-).

2015-06-05 Introverti

Given the choice, you’ll devote your social energy to a small group of people you care about most, preferring a glass of wine with a close friend to a party full of strangers. You think before you speak, have a more deliberate approach to risk, and enjoy solitude. You feel energized when focusing deeply on a subject or activity that really interests you. When you’re in overly stimulating environments (too loud, too crowded, etc.) you tend to feel overwhelmed. You seek out environments of peace, sanctuary, and beauty; you have an active inner life and are at your best when you tap into its riches.

INTROVERT (cache)

Je n’ai pas fait le test en question mais je trouve le texte assez représentatif de ma façon d’être et de ressentir mon environnement. Sans forcément tomber dans la sophistication (coucou Pablo :-))

2015-06-06 Développeur et évolution

A senior developer thinks of more than just themselves. They are aware of how their organization and their clients work, what their values are, and what is both important and not important for success. When a ball is dropped, a senior developer will do what they can to pick it up. The phrase “this is not my job” is never, ever said in those situations.

A senior developer will understand that this job is to provide solutions to problems, not write code. Because of that, a senior developer will always think of what they are doing in terms of how much value it brings to their organization and their clients vs how much effort they are putting in.

The role of a Senior Developer (cache)

Elle m’a demandé quelle était l’évolution dans la carrière d’un développeur. J’ai répondu qu’il n’y avait pas d’évolution, seule une suite d’expériences qui permettent d’appréhender les problématiques différemment. Elle m’a demandé si ça permettait d’être plus efficace. J’ai répondu que ça permettait d’être plus pertinent.

2015-06-07 HTML 6 et Web Components

The browser-as-a-platform is based on a lousy pro­gram­ming lan­guage ad­dress­ing a lousy ob­ject mod­el and us­ing a lousy stylesheet lan­guage for vi­su­al­s. Each of those could and should be re­placed by some­thing bet­ter. HTML? Not per­fec­t, but plen­ty good enough.

Not on­ly is HTML fin­ished; Even if we want­ed to im­prove it, there are no ob­vi­ous can­di­dates to do the work. The W3C has re­peat­ed­ly walked down blind HTML al­leys. The WhatWG mod­el was nev­er re­mote­ly sus­tain­able.

</html> (cache)

Je me demande parfois si l’arrivée des composants web n’est pas un moyen de ne plus avoir à revivre le grand n’importe quoi qu’a été HTML 5/Living Standard. La main invisible du Web appliquera son darwinisme habituel.

2015-06-08 Chère Daria,

Alors je le redis : malgré tout, nous nous en sortons. Nous sommes combatifs et inventifs. Les obstacles ne nous arrêterons pas. Peut-être qu’un jour suffisamment de monde en aura assez de cette société de douleur. En attendant, nous allons construire notre monde à part. L’art, c’est d’abord une ruse pour ceux qui ne se trouvent pas de place, égarés, trop sensibles, fragiles. On est artiste non pas grâce à un don mais à cause d’une incapacité. De ce défaut, de cette faille, nous faisons quelque chose.

Manuel de survie et d’écriture, Martin Page

Il est des ouvrage qui sont de petites pépites, autant dans le fond que dans la forme. Je te conseille la lecture du Manuel d’écriture et de survie de Martin Page, il est le meilleur exemple que le talent peu prendre de multiples formes. Je le déguste en me forçant à le lire de manière décousue, entre plusieurs autres ouvrages et à des moments impromptus. Une insomnie, un trajet de métro, une ballade en forêt.

J’ai pour habitude de corner les pages des livres au niveau des passages qui pourraient faire l’objet d’une réflexion plus approfondie et potentiellement d’une citation sur mon site. Cela me sert de mesure visuelle à la fin de ma lecture pour jauger de l’intérêt d’un ouvrage. Certains abhorrent une telle pratique et j’espère que tu n’en fais pas partie Daria, je me dis qu’il s’agit d’une manière de transmettre des points de réflexion au prochain lecteur, et peut-être — qui sait — d’entamer une discussion sur le sujet.

David

2015-06-09 Ergonomie et boutons

Bad copy introduces friction. Always. Users will pauze and try to figure out what your writing means. That’s a bad thing, knowing that even the tiniest distraction may lead a user astray of the task at hand. On the contrary, good copy will help users fast-forward in reaching their goals.

Copywriting is interface design (cache)

Aujourd’hui s’est posée la question pour data.gouv.fr de revoir l’ergonomie des boutons de soumission des formulaires. C’est une tâche qui s’avère être assez ardue au final et je suis loin d’être satisfait du résultat. Mais ce n’est pas grave, c’est du design itératif. L’important est d’aller dans la direction qui semble être la plus pertinente à un instant t. Et d’être réactif à t+1.

2015-06-10 Futur et industrialisation

So I just need to split my simple CRUD app into 12 micro services, each with their own APIs which call each others’ APIs but handle failure resiliently, put them into Docker containers, launch a fleet of 8 machines which are Docker hosts running CoreOS, “orchestrate” them using a small Kubernetes cluster running etcd, figure out the “open questions” of networking and storage, and then I continuously deliver multiple redundant copies of each micro service to my fleet. Is that it?

It’s The Future (cache)

La situation niveau front est la même. Quel gaspillage d’énergie et de temps pour des applications qui vont supporter 3 requêtes par minutes grand maximum…

2015-06-11 Web components et navigateurs

Web Components are a prime example of how difficult it is to get large features into the browser today. Every API added lives indefinitely and remains as an obstacle to the next.

Comparable to picking apart a huge knotted ball of string, adding a bit more, then tangling it back up again. This knot, our platform, grows ever larger and more complex.

The state of Web Components (cache)

Pour ceux (et malheureusement pas celles) qui étaient à l’élaboratoire SudWeb sur le sujet, cet article répond à pas mal d’interrogations. Je souris en ayant eu la naïveté de penser que ça allait être plus simple il y a quelques jours :-).

2015-06-12 Eat your own mobile food

Dear Colleagues:

We’ve made significant strides on mobile in the last year, but we believe passionately that we have much farther to go.

That’s why on Monday, we’re planning an experiment to drive home mobile’s importance: we’re temporarily blocking access inside our headquarters to the desktop homepage of The New York Times.

If you try to enter www.nytimes.com on your desktop in the building all week long, you’ll receive a message that tells you to look at The Times on your phone or tablet.

More that half of our traffic to The Times is on mobile. We’re hopeful that this temporary change will help spur us to make mobile an even more central part of everything that we do.

Arthur, Andy, Mark and Dean

Ils ont pris le jour de lag au sérieux au New York Times. Ballzy.

2015-06-14 Apprentissage et réalisation

Teaching is far more difficult than people think. At worst, teaching is regarded as an one-directional transfer of information to a recipient, much like feeding an animal or sending data to a computer for storing. By the Laws, it will fail. Even if the recipient receives something, it will be misunderstood.

At best, there’s a continuous feedback cycle between the teacher and the student. The latter sends back information that shows how he actually understood the content. Although this communication generally fails, too, it has sufficiently many odds of accidentally working. Moreover, it can be a self-repairing process. When the student shows the teacher what he has done, this will often indicate some fundamental misunderstandings. Ideally, the teacher should try and help the user see what went wrong.

[…]

The important thing is to realize that even the best explanations and illustrations will be misunderstood. The student needs a way of testing his understanding against some criteria. At best, this means doing something and seeing whether it works.

A commentary of Wiio’s laws (cache)

Origine de la traduction d’hier qui malheureusement est incomplète. Préparant une formation (dans 2 jours), une keynote (dans 2 semaines) et un cours (dans 2 mois), ces réflexions sur la communication viennent à point nommé.

2015-06-15 Tests et spécifications

A simple way to improve the quality of the tests is to see them as specifications. After all, it makes sense, you add some code for a reason! The tests are not only here to prevent regressions, but also to explicit the expected behaviour of the application!

Your tests as your specs (cache)

Remarque intéressante de Mathieu, je me rends compte que j’utilise de plus en plus les logs comme de la documentation bas niveau dans mon code.

2015-06-16 Disneyland au quotidien

We traded the open technology of RSS for Twitter and now we will pay the price of the anonymous corporate agents telling us what words we can read.

We traded the World Wide Web and HTML for Facebook, and now you have to use your real name and they alone can decide who gets to see your words — unless you pay them for access to your own followers!

We traded FTP for Instagram, and now you can’t show a woman’s breast (see #freethenipple).

Ideas matter, words matter, and freedom of speech does not exist in a corporate setting by definition — and that’s OK. Twitter, Facebook, and Instagram can run their services how they like, and their interests are largely driven by revenue from sponsors based on growth.

Disneyland is an idealized version of our lives, without dirt, smoking, hipster beards, and the homeless — and we pay a C-note each to go there for the day. We opt into Disneyland, but none of us live there every day.

And that’s the key. We live in these services every day of our lives.

Our lives are mitigated by Twitter and Facebook every day, and as this continues, our lives will feel like Disneyland: perfectly sanitized with an underlying tension that something isn’t right.

Trading Open Standards for Corporate Ones (cache)

La comparaison est particulièrement pertinente.

2015-06-17 Keynes et la solution économique

Ainsi, pour la première fois depuis sa création, l’homme fera-t-il face à son problème véritable et permanent : comment employer la liberté arrachée aux contraintes économiques? Comment occuper les loisirs que la science et les intérêts composés auront conquis pour lui, de manière agréable, sage et bonne?

Il se peut que la détermination et l’effort acharné des faiseurs d’argent nous transportent tous avec eux dans le giron de l’abondance économique. Mais ce seront les peuples capables de préserver l’art de vivre et de le cultiver de manière plus intense, capables aussi de ne pas se vendre pour assurer leur subsistance, qui seront en mesure de jouir de l’abondance le jour où elle sera là.

Perspectives économiques pour nos petits-enfants, par J.M. Keynes (cache)

Ce texte de Keynes datant de 1930 est exceptionnel. Il nous reste 15 ans pour trouver quoi faire de notre futur temps libre.

2015-06-18 Crise de conscience

Unfortunately, the continuous pursuit of professional skillsets tends to diminish the boundaries between work and everything else, leaving you with less and less time to actually grow as a human being.

The Full-Stack Employee and The Glorification of Generalization (cache)

Il y a beaucoup de réactions en ce moment sur le rythme de publication de nouveaux outils qui s’accélère. Après le flux des communications, voici venir un flux technologique. Constant, oppressant, impossible à arrêter. Facile à ignorer ?

2015-06-19 Les premiers pas

Cet instant magique de dangers, de rires et de fiertés. Du bonheur.

2015-06-20 Vidéo-projecteur et code

In my experience, projectors don’t lie. They just exaggerate a little. Their screen resolutions, color matching, and general quality vary wildly, but so do those of the devices with which people view your website. Projectors’ tiny exaggerations can help you identify potential issues with your designs before users encounter them. When projecting a user interface onto a big screen, you probably run into the same two problems over and over again. Don’t dismiss them! For each of these problems, there’s a solution that can improve the legibility and usability of your UI.

Projectors don’t lie. (cache)

La formation récente m’a fait prendre conscience du manque de lisibilité de certains environnements de développement. Soit par la taille, soit par les contrastes, soit par le thème, soit par le positionnement ou un peu de tout ça à la fois. Si votre code est illisible sur un vidéo-projecteur, peut-être qu’il vous oblige à faire des efforts imperceptibles au quotidien. Il ne suffit pas d’avoir une belle typo pour rendre son code lisible.

J’utilise actuellement le thème Cobalt 2 pour SublimeText 2 (cache) avec la police Triplicate T4c en taille 24 px. Le résultat est assez satisfaisant.

2015-06-21 Complexifier le Web

Although it’s not so easy. Because the web is seen as a platform these days, people need professional tools. Highly educated developers need to feel important. That’s why they increase the tools, the workflow and the requirements every week. Other people can’t, and won’t follow up, so the “professional” ones can put themselves in a special place. They make themselves a requirement for the project, so they are needed „forever“. If that is your way of working, that’s ok for me. I don’t have to like it but at least it is your choice. People can pick who they hire and who they work with. We call it freedom.

The real problem arises as these people try to push the web forward.

Increasing the barrier (cache)

Et ce n’est pas prêt de s’arrêter. Cela me donne énormément à penser sur ce que je souhaite transmettre pendant mes cours ou mes formations. Les dernières techno à la mode ? Les fondamentaux mal en point ? Les cultures associées ? Mes propres valeurs ?

2015-06-22 Détox numérique

Mutinerie vous propose un weekend de jeûne numérique et de désintoxification du corps et de l’esprit. Nous vous prouverons que c’est possible de vivre sans internet, en communiant avec la nature et en vous reconnectant aux autres et à vous-même. Farniente, détente, sport, et autres joyeuses surprises vous attendent !

Détox numérique (cache)

Un cap a été franchi. Bientôt un coach sera nécessaire pour ne plus lire sa timeline en s’endormant et en se réveillant, pour apprécier un moment sans vouloir le partager numériquement, pour échanger des émotions avec des personnes dans la même pièce.

2015-06-23 Tribu vs. leader

Cette stratégie doit émerger de la tribu dans son ensemble et du contexte (économique, technologique, etc) plutôt que de la vision seule du leader. La définition de cette stratégie se fait en 4 temps :

  1. Identifier les valeurs fondamentales et la noble cause de la tribu qui fédérera les membres.
  2. Définir les résultats concrets visés (et non pas un objectif du genre « devenir numéro 1 mondial »).
  3. Faire l’inventaire des actifs de la tribu (atouts, compétences, ressources, etc) et vérifier que ces actifs permettent d’atteindre les résultats visés.
  4. Recenser les comportements à adopter pour atteindre les résultats visés et vérifier que les actifs permettent d’accomplir ces comportements.

Introduction au leadership tribal (cache)

À tous les leaders qui manquent de confiance et/ou d’empathie pour leur tribu. À toutes les tribus frustrées et incomprises par leurs leaders. À tous les leaders tiraillés par leurs propres responsabilités et démons.

2015-06-24 Web pour végétariens

Imagine sitting down in a restaurant only to have the waiter immediately bring you a steak. But you’re a vegetarian. You ask if they offer something you can eat and they politely reply Oh I’m sorry, meat is a requirement. Why don’t you just eat meat? It’s easy! You’re really missing out on some tasty food. No waiter who actually cares about your experience would do that.

And yet we—as an industry—don’t seem to have any problem telling someone they need to change their browser to accommodate us. That’s just wrong. Our work is meaningless without users. We should be bending over backwards to attract and retain them. This is customer service 101.

Where Do We Go From Here? (cache)

Intéressante comparaison si ce n’est que le végétarisme est un choix éclairé bien souvent militant et non une potentielle ignorance d’alternatives comme peut l’être un choix de navigateur. Cela n’enlève rien à la pertinence du propos cela dit.

2015-06-25 CSS et architecture

Architecting a CSS project is probably one of the most difficult things you will have to do in a project’s life. Keeping the architecture consistent and meaningful is even harder.

[…]

On top of that, I cannot stress enough the need for folders, even on small scale projects. At home, you don’t drop every sheet of paper into the same box. You use folders; one for the house/flat, one for the bank, one for bills, and so on. There is no reason to do otherwise when structuring a CSS project. Split the codebase into meaningful separated folders so it is easy to find stuff later when you have to come back to the code.

[…]

Back to architecture, shall we? I usually go with what I call the 7-1 pattern: 7 folders, 1 file. Basically, you have all your partials stuffed into 7 different folders, and a single file at the root level (usually named main.scss) which imports them all to be compiled into a CSS stylesheet.

The 7-1 pattern - Sass Guidelines (cache)

J’expérimente l’intégration de Webpack sur data.gouv.fr avec Axel. L’occasion d’échanger sur nos pratiques respectives et de confronter nos expériences. Une équipe et une culture commencent à 2.

2015-06-26 Startups et toxicités

Toxicité des incubateurs, toxicité des stagiaires, toxicité des investisseurs, toxicité de la FrenchTech, l’intervention de Florian pour la conférence E1 était vraiment percutante. Et très pertinente du fait de son retour d’expérience sur plusieurs années pour un produit opinioné (que j’avais précédemment traduit par dogmatique) qui s’est soldé par une cession. Les retours d’entrepreneurs qui ne sont ni en mode fleurs bleues ni en mode aigris sont rares. Pouvoir exprimer ces retours avec franchise et sans colère est un exercice difficile quand on sait l’investissement personnel que cela demande. Merci Florian.

Découverte du jour : Software Carpentry grâce à Julien qui était venu nous parler d’OpenScience.

Quelques jours plus tard, Florian a publié son retour d’expérience (cache).

2015-06-27 Sport et exercice

As an amateur triathlete, I usually swim, bike and run, a lot. Someone said to me recently, "you must miss your exercise". "Exercise" sounds like a thing normal people do. From a base of these activities, I experience great physical and mental exertion, frustration, satisfaction, joy. They fuel my appetite, for everything. They form the basis of how I structure my day, my week, heck, my entire year. These activities are deeply woven into the fabric of my life.

On being broken · Keavy McMinn (cache)

Il est très difficile de faire comprendre qu’une pratique qui est vue comme une contrainte puisse devenir un mode de vie.

2015-06-28 Co-production et pair à pair

Je propose deux modèles d’institutions. La première vient d’être créée à Gand, c’est une assemblée des communs [composée de citoyens, ndlr], qui contribue ou protège des bien communs et qui commence à créer un langage, des demandes, une charte sociale. La deuxième institution, la chambre des communs, rassemble ces mêmes citoyens dans leur capacité économique (économie solidaire, coopérative, sociale). Les gens doivent prendre conscience de leur capacité à contribuer à ce type de biens et à en faire aussi une identité politique au niveau de la cité. Car le problème de la gauche, c’est que le travail est en déclin, comme tous ses acquis afférents. Le problème du socialisme, c’est qu’il n’existe pas de modèle de production socialiste et qu’il a repris le modèle capitaliste après avoir conquis le pouvoir. Le pair à pair propose un vrai prototype de modèle de production. C’est un fait historique.

Michel Bauwens: « Le “peer to peer” induit que la production émane de la société civile » (cache)

Comment appeler ceux qui produisent du bien commun en France ? Le terme anglophone de commoners semble pouvoir se traduire par roturiers ce qui en change le sens. Peut-être faut-il lui donner un autre sens ? Ce serait marrant d’avoir Les républicains d’un côté et Les roturiers de l’autre :-).

2015-06-29 Paiement de vacataire

J’ai reçu vendredi le premier paiement de la part de la Direction Régionale des Finances Publiques (DRFIP) de PACA pour les cours débutés en octobre 2014.

Deux cent cinquante et un jours plus tard. C’est malheureusement l’une des raisons qui me freinent à encourager mes pairs à faire de même.

2015-06-30 Routine d’écriture

Karl, David et Franck ont un point commun : ils parviennent à écrire (et publier) quasi quotidiennement. À l’écart des « défis 365 » leur pratique m’apparaît davantage comme un exercice personnel, une discipline, sans notion de défi. C’est une capacité que j’admire et dont j’aimerai faire preuve, en écriture, photographie, croquis. Pour que cela fonctionne il faut une certaine sincérité dans le geste ; on peut faire 365 billets ou photos et continuer de sonner creux ! Rester dans la forme et ne pas comprendre le fond de l’exercice.

Naïveté sincérité (cache)

Voilà 6 mois que je publie quotidiennement. Sans pression mais avec régularité, sans fierté mais avec application. Pour voir si cette expérience change ma façon d’écrire, de penser et de partager. Il n’est pas encore temps de faire un bilan, si même il y en a un à faire un jour. Le seul constat c’est que je n’ai jamais reçu autant de mails au sujet de mes écrits. Et c’est très positif, merci.

2015-07-01 Sans serveur

You probably had this feeling already, when you write server code only to proxy client’s demands for the DB and pass the results back. It feels stupid. It feels redundant. All these trends — isomorphic code, compile-to-js languages, node.js — come from a desire to run the same code in two places. That very goal is wrong. You don’t want to run same code in two places. You may need to, but only to deal with the consequences of bad (old) architecture. Running exactly the same validation twice wouldn’t make data more valid.

The Web After Tomorrow (cache)

Clochix pense qu’il n’y a pas de futur sans serveur (cache) représentatif d’un Web acentré. Et pourtant la proposition de Nikita Prokopov est alléchante, les flux et les besoins de données évoluent, les technologies commencent à être prêtes, l’opinion publique se réveille doucement. Et si le futur était au acentered-first ? Quels impacts en terme d’usages, de vie privée, de performances ?

2015-07-02 Métadonnées et stockage

Toutes ces métadonnées, on les stocke, sur des années et des années, et, quand on s’intéresse à une adresse IP ou à un numéro de téléphone, on va chercher dans nos bases de données, et on retrouve la liste de ses correspondants, pendant des années, et on arrive à reconstituer tout son réseau.

Révélations sur un vaste plan de la DGSE pour intercepter... (cache)

Vous êtes dans cette base, je suis dans cette base. Vu le contenu de l’article nous sommes tous dans cette base. Et il n’y a pas grand monde pour regarder ceux qui regardent dedans.

C’est la partie « sur des années et des années » qui est la plus problématique ici.

2015-07-03 Expérience utilisateur

Many of us have a lot of thoughts about our customers and users. We have tribal knowledge, information that we have gained just from engaging in an industry for some period of time. But what do we know?

Often we work on assumptions. Assumptions are great! They are absolutely necessary for us to work as designers, but they become dangerous when treated as facts. Design research gives us a structured, methodical approach to a understanding our users. With it we are able to to represent and articulate them in an unbiased way.

A Crash Course in UX Design Research (cache)

Développer un produit sur des croyances et des intuitions est risqué. Mais cela arrive pourtant tous les jours. Vos utilisateurs sont vos alliés. Vraiment.

Au passage, toutes les interventions sur l’UX auxquelles j’ai pu assister se focalisaient sur la valeur marchande. Il y a pourtant d’autres formes de valeurs qui participent à une expérience utilisateur réussie.

2015-07-04 Respect des droits

Monsieur l’agent, si je suis placé en garde à vue ou retenu pour une vérification d’identité ou toute autre raison, merci de me le dire et de m’expliquer pourquoi. Si je suis libre de partir, merci de me le dire. Je souhaite exercer tous mes droits, y compris celui de garder le silence et mon droit à m’entretenir avec un avocat avant de faire la moindre déclaration. Je ne compte pas renoncer au moindre de mes droits. Je ne consens à aucune fouille ou perquisition. Je ne consens pas à vider mes poches ou ouvrir mon sac. Cela ne signifie pas que j’y cache quelque chose d’illicite. Cela signifie que si vous me le demandez, j’ai le droit de le refuser, et que j’exerce ce droit. Je ne consens à aucune audition libre et souhaite repartir dès que possible. Je ne signerai aucun procès verbal puisque la loi ne m’oblige pas à le faire, pas plus qu’elle ne m’oblige à en donner les raisons. Je vous prie de ne pas me poser de questions car je ne ferai aucune déclaration avant d’avoir parlé à un avocat, ce qui ne signifie pas que je m’engage à en faire après. Merci de respecter ces droits.

Via @MaitreEolas qui cite (?) @Rvrprod

Je ne sais pas si j’en aurai l’utilité un jour mais je veux pouvoir le retrouver facilement et de manière certaine.

2015-07-05 Rencontres de Lure

Choisir un langage, une taille de papier, un logiciel… Ces opérations ne sont jamais neutres : elles délimitent un champ d’action et de pensée, elles structurent un contenu, elles en organisent l’échange et la circulation. Donner forme, c’est donner sens.
Nous définissons les formats en même temps qu’ils nous façonnent et nous entravent. Ils sont autant d’espaces de négociation où les rapports de force organisent la valeur et sa création. Rendus à leur nécessité, nous devons en prendre conscience sous peine de les subir. Quand le format est fermé, propriétaire, imposé par l’industrie ou l’État, il fait courir le risque de perdre le contrôle sur sa production. Quand il est libre et ouvert, il exige de son utilisateur une connaissance technique fine et lui donne la main, jusqu’au vertige.
Enracinés, hérités, les formats ont la commodité d’une injonction familière. Ils nous facilitent la vie, nous guident et orientent nos pratiques. En nous fournissant un langage commun, ils permettent la circulation des idées, des objets, des savoirs, des marchandises… et tissent les liens de nos sociétés. Pivots, messagers, dépositaires, ils fixent les règles du jeu d’un vivre ensemble auquel nous vous invitons à participer du 23 au 29 août 2015 à Lurs, Alpes de Haute-Provence.

Rencontres de Lure 2015

Je ne vais malheureusement pas pouvoir aller aux Rencontres de Lure cette année. C’est très frustrant car c’est vraiment une source d’inspiration autant dans les formats que dans le contenu ou la présence tout au long de l’année que les organisateurs arrivent à entretenir. Si vous voulez découvrir une communauté et une ambiance particulières je vous invite à aller voir ce qui se fait dans ce petit village. Le thème de l’année devrait plaire à Thierry.

2015-07-07 Partage vs. système D

Maintenant je laisse chacun vivre selon sa complexion et je consens que ceux qui le veulent meurent pour ce qu’ils croient être leur bien, pourvu qu’il me soit permis à moi de vivre pour la vérité.

Lettre à Oldenburg, Spinoza

Derrière l’économie du partage se cache la généralisation du système D caractéristique d’une crise profonde et violente. La grosse différence avec les précédentes réside dans le partage des richesses produites pour se débrouiller, les intermédiaires se raréfient et se centralisent renforçant les inégalités à l’origine de la crise ne faisant que l’amplifier.

Quelle part de responsabilité a-t-on à utiliser des produits comme Uber ou AirBnB ? N’est-on pas en train d’exploiter une certaine forme de misère ? Quel devrait être le rôle du service public dans ces domaines ?

2015-07-08 Ressources internes

Les grosses entreprises partagent certaines de leurs productions, que ce soit Facebook avec GraphQL, Airbnb avec leur styleguide JavaScript ou Paypal avec leur styleguide d’API. En revanche, il est difficile de trouver les mêmes ressources pour de plus petites structures. Pourtant je suis persuadé qu’elles existent, sans forcément être du même niveau de qualité. Quels sont vos freins à leurs publications (à part le temps) ?

2015-07-09 Suivi de projet

A project hub consolidates all the key design and development materials onto a single webpage presented in reverse chronological order. The timeline lives online (either publicly available or password protected), so that everyone involved in the team has easy access to it.

Project Hubs: A Home Base for Design Projects (cache)

J’expérimente depuis pas mal de temps les project hubs avec succès (ça ressemble à des compte-rendus d’activités pour freelances). Cela demande une grande rigueur selon la fréquence de mise à jour choisie — je recommande la semaine — et ça permet de mettre en avant ce que l’on souhaite (réunions, pull-requests, itérations, visuels, compta, etc). J’ai découvert qu’il y avait même un service dédié si vous êtes trop fainéant pour coder une page HTML.

2015-07-10 Sans mot de passe

Every application developer and service provider should consider going passwordless. This design pattern, particularly when used in combination with two factor authentication, server-side data encryption, and SSL will help to prevent your app from being the next to suffer an embarrassing breach. And even if your app does get hacked, at least your breach will not expose user passwords that will go on to cause further breaches.

It is (Past) Time for Passwordless Login (cache)

L’idée n’est pas nouvelle. Il serait intéressant de laisser le choix entre saisir un email et/ou un numéro de téléphone. Je me demande s’il y a des authentifications similaires pour des ouvertures de sessions : je débloque un accès en ligne avec mon email, je débloque mon ordinateurs avec mon téléphone, je débloque mon téléphone avec ma montre, je débloque ma montre avec mon empreinte digitale.

Je débloque.

2015-07-11 Recette de mini-moelleux

  • Faire fondre au bain marie 80g de beurre demi-sel et une tablette de chocolat (moins 10 carreaux).
  • Mélanger 50g de sucre et 4 œufs, ajouter 2 cuillères à soupe rases de farine.
  • Incorporer le chocolat et remplissez 10 petits moules à moitié.
  • Placer les 10 carreaux de chocolat que vous avez mis de côté puis recouvrez avec le reste.
  • Astuce du Chef Larlet (mon frère) : mettre le tout au frigo, c’est ce qui va permettre de garder le cœur coulant.
  • Placer au four à chaleur tournante à 200°C pendant 10 minutes (c’est à la minute près donc ça va dépendre de votre four).

À déguster soit coulant au sortir du four, soit froid car le cœur reste fondant.

2015-07-12 Communs et coopératives

A mon sens, il faut travailler à construire une « assemblée des communs ouverte et démocratique » comme le préconise Michel Bauwens, au sein de laquelle le développement, le suivi et la protection des communs se fera. Cette assemblée rassemblerait les porteurs de « communs » pour qu’ils protègent et fassent grandir ensemble leurs initiatives ouvertes et partagées. Tels les lieux de travail, de production, ateliers, logements, terrains agricoles, ateliers, cinémas, jardins, épiceries, logiciels, plateformes web, encyclopédies, données, monnaies locales, fournisseur d’accès internet, etc… Le partenariat entre acteurs publics et privés céderait alors la place à un partenariat tripartite dans lequel des assemblées des communs sectorielles et géographiques joueraient un rôle de plus en plus important, au fur et à mesure du développement de leur capacité à gérer démocratiquement les communs.

La renaissance des « communs » invite à réinventer la politique (cache)

Quelle est la place des coopératives dans ces partenariats tripartites ? J’ai le sentiment d’avoir co-créé un cadre de travail commun avec scopyleft mais comment pourrait-on aller plus loin ?

2015-07-13 Truck factor

We calculate the Truck Factor for 133 popular GitHub applications, in six languages: JavaScript (22 systems), Python (22 systems), Ruby (33 systems) , C/C++ (18 systems), Java (21 systems), and PHP (17 systems).

[…]

To calculate the truck factor, we use a greedy heuristic: we consecutively remove the author with more authored files in a system, until more than 50% of the system’s files are orphans (i.e., without author). We are considering that a system is in trouble if more than 50% of its files are orphans.

Truck-Factor (cache)

Quid sur vos projets professionnels ? Et sur leurs dépendances ? Il serait intéressant de pouvoir le décliner facilement, je suis déçu de ne pas trouver les sources sur le dépôt du projet

2015-07-14 Headers et sécurité

Aujourd’hui, j’ai mis en place les headers X-Frame-Options et Content-Security-Policy. Le premier limite l’usage des iframes sur vos contenus (et donc le clickjacking même si dans mon cas c’est limité), le second permet d’autoriser explicitement les images et media (par exemples) de sources distantes, ce qui est utile pour les articles que je mets en cache et accessoirement limiter les XSS.

Voici ce que ça donne pour une configuration Apache (ne pas oublier les unsafe-* si vous avez du contenu inline) :

Header always set X-Frame-Options SAMEORIGIN
Header always set Content-Security-Policy "default-src 'self' 'unsafe-inline' 'unsafe-eval'; img-src *; media-src *"

2015-07-15 Headers et sécurité (2)

En poursuivant mes recherches sur les headers, j’ai découvert le site SecurityHeaders qui est plutôt bien documenté et qui m’a permis d’ajouter les lignes suivantes à ma configuration Apache :

Header always set X-Content-Type-Options nosniff
Header always set X-XSS-Protection "1; mode=block"

Cela réduit la manière d’exposer mes ressources aux mimetypes que j’ai explicitement définis et limite les attaques XSS en laissant le navigateur essayer de les éviter de lui-même. Il me manque le header Public-Key-Pins pour être complet mais ça implique de potentielles erreurs lors des mises à jours (cache) des certificats alors j’hésite encore.

2015-07-16 GraphQL et REST

Current REST APIs can be exposed to GraphQL clients by building a GraphQL server as a wrapper around the REST API. A client would talk to a GraphQL server which would translate the query to (multiple) REST APIs. Client only sends one request, and receives the smallest possible response it needs. The server has much better bandwidth so the extra queries are not so critical.

GraphQL in the age of REST APIs (cache)

C’est ma conclusion également, GraphQL (cache) est très pertinent pour tout ce qui est mashups là où les multiples requêtes HTTP (1.1) de REST sont beaucoup moins efficaces. On pourrait aussi envisager une API hybride qui combine le meilleur des deux mondes :

  • des ressources exposées en REST pour de l’unitaire ;
  • des points d’accès exposés en GraphQL pour les requêtes populaires.

Au prix des complexités à la fois côtés clients et serveur.

2015-07-17 Python, React et dashboards

Web-based dashboards are the most straightforward way to share insights with clients and business partners. For R users, Shiny provides a framework that allows data scientists to create interactive web applications without having to write Javascript, HTML, or CSS. Despite Shiny’s utility and success as a dashboard framework, there is no equivalent in Python. There are packages in development, such as Spyre, but nothing that matches Shiny’s level of customization. We have written a Python package, called Pyxley, to not only help simplify the development of web-applications, but to provide a way to easily incorporate custom Javascript for maximum flexibility. This is enabled through Flask, PyReact, and Pandas.

Pyxley: Python Powered Dashboards (cache)

Il faut que je prenne le temps de tester ça. Mettre du React dans du Python, il fallait oser :-).

2015-07-18 Écriture et longueur

Received wisdom has it that writing online should be brief and chunky and approachable: make it short and to the point; divide all the writing up into coherent blocks that each focus on a certain topic; subheadings and lists help users scan; avoid the passive voice; write with a conversational tone, like you’re talking; no one has time to read.

The Web Is Read/Write (cache)

Je m’interroge beaucoup sur ces notions de taille et d’écriture en ce moment. Sur le format le mieux adapté pour partager et/ou pour échanger.

The fundamental unit of the blog is not the blog post. The fundamental unit of the blog is the stream.

And this is why blogging on Medium has felt unnatural. Despite the kick-ass world-class editor, the simple distribution model, the fantastic emails that give me kudos; despite recommends and notes and stats; despite knowing that my stories will look great on desktop and mobile, it’s not blogging. And that’s because I’m not building a stream, there’s nothing to push down. While I’m building a corpus of standalone stories, there’s no way to read them together and have that stream tell a story.

Blogging on Medium (cache)

Ce dont je suis certain c’est de ne pas vouloir retomber dans du plus-que-quotidien. Mais peut-être que c’est déjà trop.

2015-07-19 Nouvelle machine

Passage à une nouvelle machine après 4 ans de bons et loyaux services pour la précédente, c’est malheureusement la limite pour pouvoir continuer à travailler avec des outils modernes de manière efficace (a.k.a trucs-hypes-qui-bouffent-du-CPU). L’occasion de prendre de nouvelles habitudes et de tester de nouveaux produits. De réaliser également le nombre de choses à reconfigurer et de réévaluer ses dépendances…

2015-07-20 TLS et vie privée

TLS does not provide privacy. What it does is disable anonymous access to ensure authority. It changes access patterns away from decentralized caching to more centralized authority control. That is the opposite of privacy. TLS is desirable for access to account-based services wherein anonymity is not a concern (and usually not even allowed). TLS is NOT desirable for access to public information, except in that it provides an ephemeral form of message integrity that is a weak replacement for content integrity.

[…]

TLS everywhere is great for large companies with a financial stake in Internet centralization. It is even better for those providing identity services and TLS-outsourcing via CDNs. It’s a shame that the IETF has been abused in this way to promote a campaign that will effectively end anonymous access, under the guise of promoting privacy.

Re: Proposed Statement on "HTTPS everywhere for the IETF" (cache)

Roy T. Fielding nous rappelle le principal danger de TLS et de « SSL partout » : la centralisation des autorités de certification. Et par extension du Web.

Réponse d’Éric D. le lendemain.

2015-07-21 La famille Chedid

Concert intéressant qui joue vraiment avec les émotions, dans l’ambiance intimiste de l’amphithéâtre arlésien cela donne une dimension réellement familiale à la soirée. Mention spéciale pour Anne, ma sœur Anne qui mériterait une version studio… acoustique ?

2015-07-22 Objectifs et Open-Source

For the past four weeks, I’ve been keeping a public, open-sourced version of my personal goals on Github. Overall, its been a pretty great experience thats bolstered my productivity tremendously. Since then, I’ve been working on making this system better and better, with some terminal aliases for ease-of-use, and some advice to help you out with your own personal goals.

How Open Sourcing My Personal Goals Made Me Really Productive (cache)

L’idée d’avoir un backlog public n’est pas nouvelle et Github n’est peut-être pas le meilleur outil pour ça. Je commence à réfléchir à une page aussi simple qu’un Project Hub à caractère personnel, un Personal Hub en quelque sorte. Un blog qui ne se concentre pas que sur le présent et ses archives mais sur tout le cycle de vie des réflexions.

2015-07-23 Engagement citoyen

We need your help to set standards for software interoperability, data and document formats in government IT. These will follow open standards principles and will be applied across government to make services better for users and cheaper to run. Get involved in any of the 4 stages of the process for determining the adopted standards.

Standards Hub

J’ai découvert ce site du gouvernement anglais grâce à Simon et je trouve la démarche vraiment proche des mes aspirations en matière d’engagement citoyen. Après plus de 2 ans, il y a eu 5 suggestions, 6 réponses, 2 propositions et 8 solutions. C’est peu mais il manque les ambitions initiales du projet pour pouvoir en juger, c’est peut-être suffisant pour avoir pu produire de la valeur grâce aux interactions.

Les démarches citoyennes manquent cruellement de retours d’expériences. Expérimentez, analysez, documentez. Itérativement.

2015-07-24 Initiatives citoyennes

Découverte des Gentils Virus dans la lignée des idées d’Étienne Chouard au sujet de la vraie démocratie. Pour rebondir sur l’appel à propositions citoyennes de Jacques Attali puis les zèbres d’Alexandre Jardin en passant par les conspirationnistes (cache) du Conseil National de Transition. Pour finir sur Democratech qui souhaite réaliser une primaire pour tous. Lorsque le graphe citoyen rencontre la pyramide politique… initiatives isolées ou mouvement de fond ?

2015-07-25 Stigmergie et traces

Si le modèle concurrentiel crée des redondances et gâche des ressources sur la protection des idées, la publicité et autre, le modèle coopératif gâche beaucoup de temps et de ressources à discuter et à discuter les discussions. Entre ces deux modèles, la stigmergie, une nouvelle méthode de gouvernance inspirée du mode d’organisation des insectes sociaux, pourrait offrir un modèle alternatif plus adapté à la collaboration dans des grands groupes.

La stigmergie: un nouveau modèle de gouvernance collaborative (cache)

De l’importance de documenter ses retours d’expériences pour permettre d’autres actions plus ou moins liées. Les traces laissées sur le Web sont des chemins de phéromones pour d’autres individus.

2015-07-26 Course technologique

A further symptom of our exponential hangover is bloat. As soon as a system shows signs of performance, developers will add enough abstraction to make it borderline unusable. Software forever remains at the limits of what people will put up with. Developers and designers together create overweight systems in hopes that the hardware will catch up in time and cover their mistakes.

We complained for years that browsers couldn’t do layout and javascript consistently. As soon as that got fixed, we got busy writing libraries that reimplemented the browser within itself, only slower.

[…]

We live in a world now where not millions but billions of people work in rice fields, textile factories, where children grow up in appalling poverty. Of those billions, how many are the greatest minds of our time? How many deserve better than they get? What if instead of dreaming about changing the world with tomorrow’s technology, we used today’s technology and let the world change us? Why do we need to obsess on artificial intelligence, when we’re wasting so much natural intelligence?

The First 100 Years (cache)

Il est difficile de ne pas commencer un projet aujourd’hui sans avoir envie de jouer avec Webpack, ES2015 ou les Web Components. Et de perdre du temps qui pourrait être plus pertinent en étant alloué au produit final. J’ai bien envie d’aller parler de ça à Pytong.

2015-07-27 Formes d’apprentissage

Au terme de ce panorama des mécanismes et formes d’apprentissage, formes en partie partagées par l’animal et l’homme, quel bilan pouvons-nous dresser de l’apprentissage chez l’homme ? Nous avons tout d’abord rejeté l’idée que la simple transmission d’informations puisse constituer un apprentissage ; informer n’est pas plus synonyme de former que renseigner n’est synonyme d’enseigner. Si l’apprentissage par tâtonnement est commun à l’animal et à l’homme, seul l’apprentissage méthodique est propre à ce dernier, car il requiert une perception consciente des buts de l’apprentissage. Aux niveaux supérieurs de l’apprentissage, la compréhension et les connaissances antérieures de l’individu prennent une importance prépondérante, mais il s’agit là d’un facteur pas nécessairement positif. Un modèle de l’apprenant fondé sur les caractéristiques de l’apprentissage décrites ci-dessus serait donc un individu capable d’apprentissage méthodique, conscient de ses buts, et capable de construire son savoir en s’appuyant sur ses connaissances antérieures tout en modifiant ses représentations.

Qu’est-ce qu’apprendre ? (cache)

À garder en tête pour de futurs cours, comment évaluer les capacités initiales pour être le plus pertinent ?

2015-07-28 Réduire les coûts

Found a new technique, a new language, a new methodology? It has to do one of those:

  • Reduce the amount of code;
  • increase its modularity;
  • replace or subsume heavier external dependencies;
  • or maybe reduce the amount of required background knowledge.

Otherwise it won’t reduce your costs.

What is good code? (cache)

Un bon moyen d’arbitrer la course technologique.

2015-07-29 Langues et religions

Une autre observation, tout aussi évidente, mais qui mérite d’être rappelée dès que l’on compare ces deux éléments majeurs de l’identité : la religion a vocation a être exclusive, la langue pas. On peut pratiquer à la fois l’hébreu, l’arabe, l’italien et le suédois, mais on ne peut être à la fois juif, musulman, catholique ou luthérien ; d’ailleurs, même lorsqu’on se considère soi-même comme un adepte de deux religions à la fois, une telle position n’est pas acceptable pour les autres.

Les identités meurtrières, Amin Maalouf

Est-ce que vous pratiquez votre langage de programmation comme une langue ou comme une religion ? Quid de votre communauté ?

Il y aurait des choses à creuser sur l’identité technologique des développeurs.

2015-07-30 Technologies et communication

Conway’s law was not intended as a joke or a Zen koan, but as a valid sociological observation. It is a consequence of the fact that two software modules A and B cannot interface correctly with each other unless the designer and implementer of A communicates with the designer and implementer of B. Thus the interface structure of a software system necessarily will show a congruence with the social structure of the organization that produced it.

Conway’s Law (cache)

Est-ce que l’inverse est vrai ? Le choix d’utiliser GraphQL à la place de REST va-t-il nécessiter/engendrer davantage de communication dans l’équipe ? Le fait d’opter pour un langage permissif demande-t-il davantage de communication pour établir des conventions communes ?

Si la seule communication entre des équipes passe par une API il y a probablement un souci humain à traiter en amont.

2015-07-31 Frein à la participation

Our first instinct as programmers is to want to make these tools better. But these terrible interfaces serve a protective function, where they keep the community insulated from drive-by visitors and require new contributors to endure a a period of apprenticeship and lurking.

If you ever wonder why comments on sites like The Guardian or the New York Times are total trash, one reason may be that they’ve gone to too much effort to make it easy to post to the site.

Fan Is A Tool-Using Animal-dConstruct Conference Talk (cache)

C’est une réflexion que l’on a en ce moment avec Yohan dans la conception d’un nouvel outil qui comprend des commentaires pour éviter les trolls et extrémistes en tout genre. La solution à laquelle on a pensé est d’avoir une community review sur les commentaires avant qu’ils ne soient pris en compte pour intégration. Avec une ou plusieurs review(s) avant de pouvoir proposer sa propre contribution.

2015-08-01 Échappatoire numérique

This is why many of our youth turn to technology. They aren’t addicted to the computer; they’re addicted to interaction, and being around their friends. Children, and especially teenagers, don’t want to only socialize with parents and siblings; they want to play with their peers. That’s how they make sense of the world. And we’ve robbed them of that opportunity because we’re afraid of boogeymen.

We’re raising our children in captivity and they turn to technology to socialize, learn and decompress. Why are we blaming the screens?

Blame Society, Not the Screen Time (cache)

danah boyd tape là où ça fait mal. La connexion comme seul moyen d’évasion et d’échange. Et pendant ce temps là :

In their book Man (Dis)connected: How Technology Has Sabotaged What it Means to be Male, Philip Zimbardo and Nikita D. Coulombe explore the “modern meltdown of manhood” which they attribute to absent fathers and the male addiction to screen gadgets. They argue that this trend towards “extreme escapism” has led to socially stunted males who glean fulfilment from the virtual world rather than the real one.

It took the death of my wife to realise how much I missed out on as a dad (cache)

2015-08-02 Culpabilité et exclusivité

You feel unproductive (even if you got 9% more done), and that the office-bound team ran circles around you. You lie in bed at night, worrying about this, and feeling like a slob. You wonder when the hammer will fall, and when your fraudulence will come to roost.

Working Remotely Isn’t Always a Dream (cache)

Il est très difficile d’avoir des projets en parallèle lorsque l’on considère que le travail est en transition. Pour ne pas tomber dans le piège pesant de la culpabilité évoqué par cet auteur, je facture à la journée et je considère cette journée comme étant dédiée au produit concerné. Du réveil au coucher, mon attention est entière sur ce projet. Exclusivement. Les journées productives se trouvent ainsi compensées par des journées moins productives avec moins de culpabilité car je me sens honnête avec moi-même.

2015-08-03 Sprint d’intégration

Je ne fais plus d’intégration sérieusement depuis un moment. Se lancer dans une refonte m’a permis de jouer concrètement avec Webpack, PostCSS et CSSNext. Je me demande ce que cela donnera niveau pérennité sachant que la précédente refonte de ce produit avait tenue plus de 4 ans…

2015-08-04 Ressources et productivité

Je me demande parfois comment je pourrais travailler sans Github, StackOverflow ou MDN. J’ai malheureusement du mal à citer beaucoup de (res)sources aussi essentielles. La documentation des bibliothèques/frameworks utilisés est de plus en plus souvent sur Github également.

2015-08-05 Comparaison illusoire

Je me demande souvent combien aurait mis de temps une autre personne à produire la même valeur que moi. Plus ? Moins ? Différent ? En suivant les mêmes chemins ? En communiquant davantage ? En prenant soin de parties différentes ?

2015-08-06 Transmission et ressenti

Il y a certaines pratiques qui se sentent plus qu’elles ne se décrivent. Ce sont les plus difficiles à transmettre. Les plus importantes à acquérir. Les plus gratifiantes à partager.

2015-08-07 Itinéraire de vélo de course

Est-ce que vous connaissez des sites qui répertorient les routes intéressantes pour vélo de course (goudron récent/lisse, traffic limité, points d’eau, éventuellement abrité du vent/soleil, etc) ?

2015-08-08 Routes et chemins

Il est difficile de trouver un itinéraire entre deux villages qui ne soit pas une route. À quel moment a-t-on perdu nos chemins ?

2015-08-09 Tests cycliniques

Un ver dont l’hémoglobine - molécule présente dans les globules rouges et qui a pour rôle de transporter l’oxygène dans le corps - est capable d’acheminer cinquante fois plus d’oxygène que l’hémoglobine humaine. Contrairement à cette dernière, enfermée dans des globules rouges, celle de l’arénicole est extracellulaire.

Un ver marin aux pouvoirs miraculeux pour la médecine (cache)

Je me demande dans quelle mesure le Tour de France pourrait être utilisé pour des tests cliniques. Quitte à essayer des solutions médicales, autant que ça serve à tous non ? Avec cette hémoglobine Froome pourrait attaquer dans le Mt Ventoux sans même se lever de sa selle. #OhWait

2015-08-10 Courbe touristique

Mon affection pour les touristes suit chaque année le cycle du hype et ses 5 phases :

  1. Arrivée des touristes : tiens ça bouge :-)
  2. Ouverture des commerces saisonniers et arrivée de la chaleur : chouette c’est l’été !
  3. Invasion massive de cars touristiques et de troupeaux d’iPad en l’air : et c’est que le début…
  4. Lâcher-prise : de nouvelles proies pour les moustiques.
  5. Indifférence : ils finiront bien par rentrer.

2015-08-11 Traumatismes de l’enfance

Il est très difficile de comprendre quelles actions sont à l’origine de quelles peurs. Même en étant très attentif en tant que parent, certaines peurs sont transmises et ancrées profondément.

2015-08-12 Différentes éducations

Trois jeunes enfants, trois éducations différentes, trois façons d’appréhender le monde. Une seule école.

2015-08-13 Moto

Un grand champ. Deux motos. Trois minutes de formation. Quatre temps. Cinq vitesses. Beaucoup de bruit.

2015-08-14 Endormissement au volant

Il est facile d’identifier un conducteur qui s’assoupi lorsqu’on suit sa voiture. Pour autant, il est assez difficile de le prévenir. Les voitures automatiques vont arriver avant que l’on tente de meilleurs systèmes de communication de proximité en pair-à-pair. Automatisation vs. interactions sociales.

2015-08-15 Le marché

Le plaisir de retrouver ses petites habitudes. Son boulanger. Ses fromagers. Ses maraichers. Ses agriculteurs. Son village. Nous appartenons à ce confort.

2015-08-16 True Detective

Intéressante ambiance pour la première saison de cette série. Les deux acteurs sont vraiment très bons dans leurs rôles respectifs.

2015-08-17 Performances site

Par dessus tout, je constate que le chargement de vos pages web se font à une vitesse record, ce qui ne peut que susciter mon admiration et m’amène à vous demander quels sont vos secrets (si vous acceptez bien sûr de les partager). Utilisez-vous Django pour déployer votre site ? NGinx ? Ou avez-vous développé votre propre serveur web le tout en Python ?

Daniel par email

Mon site est constitué de pages statiques générées par des scripts personnels utilisant Fabric. Il est hébergé par Alwaysdata sur un serveur mutualisé et servi avec Apache. Ce sont plus les performances côté client qui font la différence avec le chargement des CSS et JS en inline et le chargement des polices a posteriori avec Font Face Observer. Les polices alourdissent énormément la page et ça reste du luxe mais je les conserve car je suis sensible à l’esthétique de mes propres lectures et elles ne sont pas indispensable à la lecture du contenu.

Cela me permet de rester à 6/8 requêtes au premier chargement et une seule au rafraichissement ou au changement de page. Il y a les headers appropriés pour que vous ne rechargiez pas les images ou polices. La cerise sur le gâteau c’est InstantClick qui donne une vraie impression de vitesse en pré-chargeant les liens locaux au survol avant même de cliquer.

Je pourrais aller plus loin en n’inlinant (sic) que les CSS critiques comme l’ont fait Raphaël (cache) ou Jeremy (cache) mais je trouve ça un peu overkill vu le besoin. J’ai plutôt choisi la frugalité en terme de design :-).

2015-08-18 Observation as a Teacher

I’ve never sought out mentors or teachers, because I think they are plentiful and all around us. The person who you think has all the answers probably has far fewer than you think.

I observe. […]

Every moment is a teaching moment. You don’t have to wait to be taught anything. Don’t delay learning because you haven’t found that magic teacher yet. Everyone, and everything, is a teacher.

Q: How do you seek out mentors/teachers? (cache)

La difficulté réside dans le fait de pouvoir observer avec empathie et suffisamment de recul. Tout en diversifiant ses sources d’observation.

2015-08-19 Pas le temps

I recently realized that if I’m too busy to take something on, I shouldn’t say “I don’t have the time”. In fact, I often do have the time. It’s not that hard to squeeze in some extra time for someone.

What I don’t have – and what I can’t squeeze in – is more attention. Attention is a far more limited resource than time. So what I should say is “I don’t have the attention”. I may have 8 hours a day for work, but I probably have 4 hours a day for attention.

The difference between time and attention (cache)

C’est intéressant car je me suis fait la même réflexion il y a quelques mois et je ne dis plus que « je n’ai pas le temps » depuis. Je lui préfère « je ne veux pas prendre le temps pour ça », c’est beaucoup plus explicite et moins hypocrite envers les autres et soi-même.

2015-08-20 Continuité de lecture

The HTML5 history API is a standardized way to manipulate the browser history via script. Part of this API — navigating the history — has been available in previous versions of HTML. The new parts in HTML5 include a way to add entries to the browser history, to visibly change the URL in the browser location bar (without triggering a page refresh), and an event that fires when those entries are removed from the stack by the user pressing the browser’s back button. This means that the URL in the browser location bar can continue to do its job as a unique identifier for the current resource, even in script-heavy applications that don’t ever perform a full page refresh.

History API - Dive Into HTML5 (cache)

Je rencontre de plus en plus le pattern qui consiste à charger d’autres articles à la suite de celui affiché initialement et à se servir de la capacité à pouvoir modifier l’historique du navigateur pour lier soit vers l’article en cours de lecture, soit vers la liste des articles. La pertinence dépendant de la taille de la lecture.

C’est tentant à plus d’un titre, surtout pour de la lecture de contenus courts, en mode stream. Le scroll me semblant être la navigation la plus aisée, est-ce qu’une telle pratique vous a déjà désorienté ?

2015-08-21 Écrire pour des humains

We write for humans, not machines. We don’t use gross SEO techniques like keyword stuffing to bump search results. But we also want to make it easy for people and search engines to find and share our content.

Web Elements - MailChimp Style Guide

J’étais en train de lire le Style Guide de MailChimp qui est une petite pépite, lorsque je tombe là-dessus. N’oubliez pas, amis journalistes, que vous écrivez pour des humains. N’oubliez pas, amis développeurs, que vous codez pour résoudre des problèmes d’humains. Ou a minima d’autres développeurs.

2015-08-22 Agile convergeant ou divergeant ?

J’ai pour ma part un problème avec la vision quasi « Darwinienne » qu’il présente. Le Lean serait donc le grand-père de toutes les approches ? Software Craftsmanship serait un descendant de Extreme Programming ? Agile serait un maillon pour aller de Lean à Kanban et Lean Startup ?

Dans l’esprit et a posteriori, on peut éventuellement trouver une filiation mais celle-ci n’est que théorique et, quoi que l’on en dise, elle ne correspond qu’à une description « agilo-centrée » dont nombre de software craftsmen, entreprises libérées ou lean startupers ne se réclameront pas.

S’il existe un mouvement agile, je le vois plutôt comme un ensemble de flux qui, potentiellement et ponctuellement, convergent vers quelque chose de commun, tout en gardant leur mouvement propre. S’il y a une « racine » commune à l’ensemble des approches agiles, elle sera dans le futur.

Mouvement(s) Agile(s) ? (cache)

De ma propre expérience, l’évolution d’une communauté suit une spirale conique. Chaque tour élargissant le cône et différenciant les idées, les pratiques et au final compartimentant la communauté. Jusqu’à ce qu’il y ait scission et à ce moment un nouveau cône apparait pendant que la communauté initiale grossit et s’embourgeoise (cache), telle une méduse. La difficulté est d’essayer de rester au sein du polype, là où les idées foisonnent et les pratiques s’expérimentent.

Note : j’aurais davantage employé le terme « évolutionniste » que « darwinienne » mais c’est mon passé qui me rattrape :-).

2015-08-23 Mont Ventoux

Ce que je retiens de l’ascension du Mont Ventoux à vélo :

  • partir de Bédoin par 34°C n’était pas optimal mais ça m’a permis d’arriver au sommet à la fraîche et sans personne ;
  • avoir un rapport minimal de 34x27 n’était clairement pas adapté à ma puissance et du coup j’ai dû passer en force beaucoup (trop !) d’endroits ;
  • prévoir 1,5 L de boisson + 2 compotes était adapté à la durée, à l’intensité et à la température ;
  • ce type d’effort est dangereux dans le déni de sensations qu’il demande pour arriver au bout ;
  • la descente est exceptionnelle, surtout sous endorphines :-).

2015-08-24 Itération de retrait

Est-ce que des équipes planifient des itérations de retraits de fonctionnalités ? Fondées sur quelles métriques ? Avec quelle périodicité ? Pour quels gains ? Avec quels retours/explications ?

Arrêtez de bloguer (mediumer ?!) sur ES6/2015/Next et racontez-nous plutôt ce qu’expérimentent vos équipes !

2015-08-25 API et génome

What does this all mean? If genome sequencing is fast and cheap, analysis and interpretation are accurate, and genomic data is put into a wider context so that we can leverage insights in daily practice, many new things quickly become possible.

The genome is in many senses a database that we have constructed and curated and built new interfaces to. As a result, it will soon be the latest addition to what has for been referred to as the API Economy.

Coming soon: An API for the human genome (cache)

La biologie et le Web commencent à converger sérieusement. C’est à la fois effrayant et excitant. J’ai peut-être une carte à jouer dans tout ça :-).

2015-08-26 Code et couleurs

We think syntax highlighting makes the structure of code easier to understand. But as it stands, we highlight the obvious (like the word function) and leave most of the content in black. Rather than highlighting the differences between currentIndex and the keyword function, we could highlight the difference between currentIndex and randomIndex.

Coding in color (cache)

La réflexion est pertinente et sans aller jusqu’à ce que propose Bret Victor, la coloration syntaxique pourrait être employée pour montrer les flux de données dans la lignée de ce qui a été fait avec Semantic Highlighting (cache). Certains langages seraient certainement plus faciles à gérer que d’autres. Certaines logiques également. Une nouvelle façon d’apprendre à coder ?

2015-08-27 Interlettrage et typographie

I know very few web designers who ever adjust letterspacing when setting type on the web. Small changes can have an enormous effect on the readabiltity of text. That means it’s hard to make those decisions unless you’re very confident with your knowledge in web typography.

Guidelines for Letterspacing Type (cache)

Pas très confiant mais j’ai quand même fait un essai sur les h1 et h2 qui me semble justifié en réduisant très légèrement l’écart entre les lettres (via letter-spacing) que j’utilise en très grande taille.

Autre découverte typographique du jour : Writ. À rapprocher de Tufte CSS (cache).

2015-08-28 Économie de service

I hate to tell you this, but right now the startup world, or at least the ones making the majority of the noise, have their heads up their own ass and don’t realize it stinks. They’re solving problems for the top 5% of the population. How can I get poor people to do my chores? How can I get people to drive me around without having to pay them health insurance? How can a drone deliver my toilet paper within 15 minutes while the person who fulfilled my order sits at her desk crying because she’s working a 15-hour day and can’t take time off to get that lump in her chest looked at. This is known as the service economy. Where entitled white boys figure out how to replicate their private school dorm experience for life.

8 Reasons to Turn Down That Startup Job (cache)

Le problème c’est qu’il y a actuellement peu d’alternatives entre la startup et la multinationale qui ne soient pas des intermédiaires et/ou qui n’utilisent pas des technologies antédiluviennes…

2015-08-29 Navigation au zoom

This site is the first working zoomable UI design I’ve produced. Here’s a list of things I think are cool about it:

  • Navigating through posts and categories feels like I’m still in the same “system”.
  • There is no home page or navigation menu.
  • Every article feels like it has a spatial location on the site.
  • Permalinks, browser history, animation-free browsing, and JS-free browsing are supported.
  • You can hit ESC to zoom out.
  • You either zoom or scroll. Never both at the same time.
  • The fluid “covers” for each article are pure HTML/CSS.

Zoomable UI for the Web (cache)

J’évoquais la semaine dernière la navigation au scroll, Joni Korpi expérimente le zoom (là il va falloir aller voir sur place). La recherche est intéressante mais le bouton de retour mériterait d’être plus proéminent pour mon usage. L’arborescence doit être plate pour que cela fonctionne bien, mais c’est presque une feature :-).

2015-08-30 Holacratie et rôles

Holacracy is a toolset for an organization and its employees. The roles in the organization are all defined, and each role has certain accountabilities and authority. This means that the people at the “top” do not have all the authority — it’s distributed even though it’s hierarchical. People can also hold multiple roles, and everyone has access to view the roles of any employee. To learn more about the system’s general principles, check out the Holacracy publication on Medium.

Medium Engineering (cache)

Je creuse depuis un moment ce qui se fait autour de l’Holacratie et c’est vraiment la partie séparation des rôles et des individus qui m’intéresse. Notamment en matière d’enseignement avec le rôle de l’enseignant qui peut être tenu par plusieurs personnes lors du même cours.

Si vous voulez aller plus loin : Holacracy® Constitution (cache).

2015-08-31 Être develop-père

Travaillant en mode agile, nous intégrons dès la première itération au moins un membre de l’équipe cliente, même s’il n’a qu’une expérience limitée des technologies utilisées. La relation que nous établissons avec lui n’est pas celle d’un fournisseur avec son client ou d’un formateur avec son élève, mais celle d’un contributeur senior avec un contributeur débutant : nous lui confions des tâches simples afin de lui faire découvrir nos techniques et nos bonnes pratiques, nous nous occupons des tâches ingrates et nous démystifions ce qui lui semble compliqué ou effrayant. Au fil des itérations, nous l’incitons à s’améliorer et à prendre en charge des tâches plus complexes.

Au terme du processus, au contraire d’un développeur à qui on dirait: « Tu vas t’occuper de ce logiciel, voici la doc, il y a tout ce qui faut » et qui se sentirait abattu, contraint, et dans une certaine mesure infantilisé et donc dé-responsabilisé, le développeur a le sentiment d’avoir progressé avec ce nouveau projet, et ayant effectivement grandi, il va pouvoir assumer sa responsabilité de nouveau père pour le logiciel.

Être develop-père (cache)

J’ai un peu de mal avec la métaphore mais je ne dois pas mettre suffisamment d’affectif dans mes lignes de code. C’est une pratique qui demande à être expérimentée cependant. Le curseur d’intégration des différentes parties prenantes est différent pour chaque projet et évolue dans le temps. C’est pourquoi je préfère la métaphore de la recette qui diffère en fonction des personnes, des goûts et des envies du moment.

Les frameworks seraient des livres de recettes, les bibliothèques des fast-foods et la Californie s’arracherait les chefs étoilés. Le guide Michelin ne saurait tarder…

2015-09-01 Motivation #sportembre

Démarrage d’une série ce mois-ci autour du sport. Principalement pour faire un bilan sur ce que j’ai appris ces 6 dernières années dans le domaine. A priori sans quantified self.

La motivation initiale a été d’origine multiple :

  • être en capacité de faire le GR20, une vieille envie ;
  • sentir un déséquilibre dans mes activités ;
  • avoir été poussé initialement par Émilie.

Aujourd’hui, ces sources de motivation se sont transformées et si je devais n’en citer que trois :

  • être en capacité de faire un Mont Blanc ou un Mont Ventoux ;
  • explorer certaines limites pour mieux se connaître ;
  • apprendre de nouvelles techniques en découvrant de nouveaux lieux.

2015-09-02 Cadence #sportembre

Il y a deux manières d’aller plus vite : forcer davantage ou augmenter la cadence. La première fait surtout travailler les muscles en force, la seconde fait monter le cardio mais s’avère être moins traumatisante. Être performant c’est savoir trouver le ratio idéal pour une situation donnée (contexte, forme, technique).

J’ai mis longtemps à jouer avec la cadence et c’est pourtant essentiel pour progresser (et courir pieds nus).

2015-09-03 Récupération #sportembre

Je lave toutes mes tenues de sport à la main sous la douche qui suit la session. Cela me donne une mesure de temps de récupération : je ne reprends pas tant que tout n’a pas été lavé. Sur des événements longs, il me faut plusieurs jours pour tout laver ; après une très grosse session je ne prends pas forcément l’énergie de laver dans la foulée, etc.

Autre option : se limiter à une seule tenue par saison, mais ça ne fonctionne pas lorsque l’on se met à pratiquer plusieurs sports.

2015-09-04 Limites #sportembre

Le plus difficile en sport est d’être conscient de ses limites sans chercher à les dépasser. Afin d’éviter les blessures, le sur-entrainement et les frustrations associées.

Cela demande d’être à l’écoute de son corps en permanence pour prendre les bonnes décisions.

2015-09-05 Qualité #sportembre

En me mettant au triathlon, j’ai été contraint d’apprendre à progresser avec peu de séances. Cela m’a permis de découvrir d’autres techniques tout en restant dans le plaisir. L’intensité, le relâchement, les séries ludiques, le renforcement des différentes parties motrices indépendamment puis communément.

Mais aussi le mental en y allant par petites victoires quotidiennes.

2015-09-06 Blessure #sportembre

La blessure peut arriver à tout moment, par manque de lucidité, d’échauffement, de pratique, par malchance ou par fatigue. Elle hante chaque pas du sportif comme une petite mort.

En cas de blessure :

  • adapter immédiatement son régime alimentaire car sinon le surpoids va vous pousser à reprendre trop tôt et la sur-blessure sera bien pire ;
  • trouver une activité palliative.

2015-09-07 Rondeur #sportembre

J’ai mis deux ans à comprendre que je pédalais de manière totalement inefficace. La rondeur consiste à fournir un effort quasi-continu au cours du tour de pédalage afin d’éviter les points morts. Il faut pour cela être capable de tirer sur les pédales (automatiques) et un plateau ovalisé peut aider même si je n’ai jamais essayé.

Cette façon de pédaler me donne l’impression de griffer le goudron à chaque tour de pédalier avec mes ongles. C’est la meilleure description que j’ai trouvée à ce jour en plus du ressenti lors d’une longue montée.

2015-09-08 Gel énergétique #sportembre

Les elfes ayant oublié de nous laisser la recette du lambas, les sportifs avec leur dépense d’énergie volontaire et inutile ont été obligés de trouver un substitut : le gel énergétique.

Vous pouvez en trouver dans le commerce ou le faire assez simplement à la maison en mélangeant du sirop de riz, du sirop d’agave, du sirop d’érable et du miel en proportions plus ou moins équivalentes suivant la durée et l’intensité de l’effort. En gros plus c’est long et peu intense, plus vous pouvez vous permettre d’ingérer des molécules longues (sirop de riz). Ajoutez une pincée de sel car sinon le goût est vraiment trop sucré et vous pouvez stocker ce mélange pendant longtemps au frais.

Lorsque vous voulez préparer un gel, vous mettez un tiers de cette mixture dans une gourde souple et vous complétez avec du jus de citron (alcalin), de raisin (antioxydant) ou de betterave/goji/votre-truc-à-la-mode. Le gros avantage c’est que vous pouvez vraiment faire selon vos goûts et vos envies. Le principal inconvénient c’est la conservation une fois assemblé (bon et la flemme de le faire des fois…). Niveau coût a priori même en bio ça revient moins cher et ça limite le plastique.

Par email, Antoine me propose les recettes de Diet Sport Coach.

2015-09-09 Compression #sportembre

Effet de mode ou réel impact, difficile à dire. J’ai l’impression que ça apporte un plus, notamment en récupération. Ou sur les muscles qui sont les plus traumatisés pendant l’effort, les mollets dans mon cas lors de la course.

C’est comme le gluten ou l’homéopathie, il faut y croire un peu…

2015-09-10 Itinéraires #sportembre

Aurélien et Simon ont répondu à mon appel à itinéraires de vélo avec la proposition d’enrichir OpenStreetMap à ce sujet mais aussi en suggérant OpenRunner (liste de parcours) et Strava (réseau social). Ce n’est pas exactement ce que je cherchais mais c’est déjà une bonne base.

Je me demande si un Airbnb de niche pour sportifs permettrait de partager les itinéraires en plus du logement.

2015-09-11 Glisser #sportembre

J’ai commencé à apprendre à nager le crawl en novembre dernier. Je suis encore bien loin d’avoir une technique satisfaisante mais je sais déjà quel style m’intéresse : celui qui permet de glisser dans l’eau au lieu de se battre avec (mots-clés : Total Immersion ou Swim Smooth). C’est pour moi le barefoot de la natation (je n’ai pas trouvé d’équivalent en vélo).

J’ai passé les trois premiers mois à apprendre à respirer, les deux suivants à me rendre compte qu’il me fallait un pull-buoy du fait du déséquilibre musculaire haut/bas que j’avais acquis avec la course et le vélo. J’espère que la combinaison de natation aura la même compensation une fois en eaux libres…

Prochaine étape : apprendre à battre des pieds efficacement.

2015-09-12 MoustiCoach #sportembre

S’il y a un avantage à vivre proche d’un marécage géant, c’est d’avoir des nuées de coachs pour vous faire continuer lorsque vous n’en pouvez plus. Pas le temps de s’arrêter pour boire ou souffler un peu, entraînement à la course en apnée lorsqu’on croise un nuage, fartlek pour tenter de semer les plus coriaces.

MoustiCoach veille et sait vous rappeler pendant plusieurs jours que vous avez loupé une séance :-).

2015-09-13 Itinéraires bis #sportembre

Suite aux itinéraires, Julien me propose la heatmap de Strava ici centrée sur les Alpilles. Je retrouve pas mal des routes que j’emprunte dans ces traces de phéromones numériques et je trouve cela très pertinent pour découvrir une région ou rejoindre un lieu inconnu.

Autre lien proposé Trace de Trail pour ceux qui aiment gambader dans la colline. Peu de traces proches de chez moi malheureusement.

J’ai de mon côté trop de traces privées sur Runtastic puis Movescount, il faudra que je fasse le ménage. Nostalgie de lieux d’ici et surtout d’ailleurs.

Trois jours plus tard, Simon me propose Wikiloc également pour des itinéraires libres.

2015-09-14 Pic de forme #sportembre

Il n’est pas possible de rester à son maximum de forme indéfiniment sans risquer le sur-entraînement. Aussi il est important d’anticiper sur les événements majeurs pour qu’ils correspondent à des pics de forme. Un peu trop tôt et c’est l’épuisement, un peu trop tard et c’est la frustration.

En plus de ces extremums locaux et cycliques, il y a un pic de forme unique pour un organisme au cours de sa vie. Dans ma tranche d’âge, il est difficile de savoir s’il est passé ou pas. Mais il faut déjà commencer à l’accepter.

2015-09-15 Auto-massage #sportembre

C’est ce que j’utilise le plus pour la récupération. L’objectif est de faire circuler au maximum les toxines donc cela doit être couplé à une bonne hydratation avant, pendant et après l’effort.

Vous pouvez utiliser pas mal d’outils pour ça (ce site est une mine). Je n’utilise que ce que j’ai sous la main, en ce moment des voiturettes pour enfant :-).

2015-09-16 Programme #sportembre

Je n’ai jamais suivi un seul programme car c’est aux antipodes de ma pratique du sport et cette contrainte enlèverait le fun que j’y trouve. Marrant pour un développeur :-).

Néanmoins, j’essaye d’avoir un fond constant et de forcer un peu plus les 6 semaines précédant un événement. Sur ce fond j’expérimente les techniques et j’analyse mes points faibles. Sur la préparation finale, j’essaye de faire du spécifique mais ce n’est pas toujours possible, surtout en habitant une région plate. Le plus gros risque à mon niveau est de tomber dans le sur-entrainement et d’arriver épuisé le jour J.

2015-09-17 Distance #sportembre

Il n’est pas évident de trouver la distance qui nous convient surtout lorsqu’on essaye d’enchainer trois sports. Je sais que je n’ai pas envie de faire d’(ultra-)marathon ou d’ironman car je trouve cela trop traumatisant pour mon corps et l’on n’a pour l’instant qu’un seul capital santé. Je sais aussi qu’un triathlon S (500m natation, 25km vélo, 5km course) est trop rapide pour que j’ai le temps de vraiment rentrer dans la course et je ne prends pas de plaisir à sprinter.

J’aime bien les distances intermédiaires dans mon état d’esprit actuel :

  • un trail de 20-25km ;
  • une sortie vélo de 60-70km ;
  • un kilomètre de crawl.

Lors d’un enchainement, la taille M de triathlon (1km, 40km, 10km) devient plus adaptée et c’est mon objectif pour l’année prochaine.

2015-09-18 Affutage #sportembre

En se remettant au sport, le corps change forcément. Ça n’a jamais été une finalité pour moi mais ça comporte quelques désagréments aussi :

  • peu de réserves en cas de coup dur ;
  • peu de protections en cas de coup de froid ;
  • peu d’amorti en cas de chute ;
  • les soucis gastriques deviennent vite… visibles.

C’est le prix à payer pour avoir l’impression de fendre l’air et l’eau.

2015-09-19 Équipement #sportembre

Quelques pièces d’équipement qui ont fait la différence dans ma pratique :

  • Casque Casco Speedster : vision exceptionnelle et protection maximale contre le vent et les insectes ;
  • Gilets d’hydratation Salomon : excellent maintient sans frottements et bonne durabilité ;
  • Bâtons Pacerpole qui permettent la propulsion plus que la traction en randonnée/alpinisme ;
  • Les verres photochromiques (évolution de la protection en fonction de la luminosité) pour pouvoir protéger ses yeux du vent et des branches en permanence.

2015-09-20 Alimentation #sportembre

À mon niveau, mon objectif est de ne pas faire suer mon monde avec un régime particulier. Je complémente juste avec du chocolat noir, des amandes et des yaourts au soja. Parfois des œufs et/ou du lait si j’en ressens le besoin. Faire du sport m’a aussi amené à réduire ma consommation d’alcool lorsque j’ai constaté les effets que cela avait sur ma forme le lendemain…

Pour une randonnée de plusieurs jours, je grignote en général toute la journée (noix de cajou, mangue séchée, TUC, bananes, etc) en complément des gels maison et je prévois un vrai repas le soir. C’est le plus léger à la fois en poids et en espace tout en réduisant les risques d’hypoglycémie.

2015-09-21 Mécanique #sportembre

Avec le vélo, j’ai appris à prendre soin d’un outil de propulsion mécanique, froid, qui casse parfois sans prévenir. Réalisant cela, j’ai entrepris de l’adapter, de le comprendre en le démontant et en passant des soirées à essayer de changer des câbles internes ou une cassette. Cette procédure d’adaptation s’est progressivement muée en adoption me permettant de comprendre les contraintes sur chaque pièce.

Aujourd’hui le vélo est plein d’imperfections mais j’en connais chacune des origines qui forment notre histoire commune.

2015-09-22 Postures #sportembre

Nage comme un narval,
Roule comme un rhinocéros,
Cours comme une licorne.

Ce sont les animaux que je visualise pour travailler ma posture sur les trois sports que je pratique actuellement. La corne est importante pour étirer ma colonne vertébrale au maximum et avoir l’impression qu’elle dépasse de ma tête :-).

2015-09-23 Mesure #sportembre

La mesure, cette donnée rassurante qui étanche notre soif de normalité. Je considère la mesure comme un piège dans une pratique sportive car elle inhibe les sens et les intuitions. Elle ne vient bien souvent confirmer que ce que l’on ressent déjà. En apportant de la distraction.

Partir sans montre ni compteur, c’est accepter d’écouter sa forme et d’observer son contexte. Dépasser la mesure c’est voir la beauté qui émerge d’une pratique.

2015-09-24 Muscutile #sportembre

Troisième mot-valise pour cette série mensuelle : donner une utilité à certaines sessions. Aller chercher un colis à 4 kilomètres en courant, rejoindre un lieu de vacances à vélo en s’arrêtant un arrêt de train avant, emprunter les escaliers au lieu de l’ascenseur ou des escalators, les idées ne manquent pas et devraient même réduire vos émissions de carbone :-).

2015-09-25 Perfectionnement #sportembre

Mais pourquoi donc une telle recherche perpétuelle de perfectionnement ? Vouloir s’améliorer, lutter contre ses préjugés, essayer de taire ses mauvaises passions, vouloir toujours offrir le meilleur, certes, certes, oui, c’est chouette mais cela ne me paraît pas un chemin un de vie heureuse pour autant. Peut-être que le bonheur ne se construit pas dans les idéaux mais également plus simplement dans une attention à l’autre et dans les marches de l’acceptation de ce que nous sommes, avec une constante bienveillance.

Je reçois pas mal de mails relatifs à ces publications sportives qui me qualifient de « blog vélo » ♥

Je ne conçois pas le sport comme un perfectionnement mais comme un équilibre et une recherche quasi méditative. C’est difficile à décrire cette capacité à pouvoir réfléchir en mouvement. S’il y a perfectionnement, c’est peut-être celui de trouver un meilleur contexte pour penser.

Le lendemain, @burninghat me propose la lecture de Apprendre à apprendre (2/4) : l’importance du corps (cache).

2015-09-26 Coach #sportembre

Je gagnerais sûrement à me faire accompagner par un coach. Mais cela ne me permettrait pas de redécouvrir lentement moi-même certaines techniques à travers les sensations que je ressens. Prendre le temps d’apprécier l’acquisition de ses pratiques et de ses savoirs. Une partie du plaisir s’inscrit dans cette lenteur d’apprentissage.

2015-09-27 Stress #sportembre

La dernière semaine avant un objectif, le stress monte doucement. Peur de se blesser, peur d’avoir un problème mécanique, peur d’avoir un oubli administratif ou matériel, peur d’avoir trop peur pour pouvoir apprécier !

Cette peur permet de tester sa confiance en soi.

Je ne connaîtrai pas la peur car la peur tue l’esprit. La peur est la petite mort qui conduit à l’oblitération totale. J’affronterai ma peur. Je lui permettrai de passer sur moi, au travers de moi. Et lorsqu’elle sera passée, je tournerai mon œil intérieur sur son chemin. Et là où elle sera passée, il n’y aura plus rien. Rien que moi.

2015-09-28 Compétition #sportembre

Je vais participer en fin de semaine à ma seconde compétition en 6 ans de pratique. Le même triathlon, un an plus tard. L’occasion de voir si j’arrive maintenant à nager 700 mètres en crawl en eaux libres et à tenir plus de 10 km en position aéro. L’occasion surtout d’apprendre à gérer ce type d’événement en terminant peut-être encore cette fois accompagné :-).

2015-09-29 Plaisir #sportembre

Est-il donc impossible de se faire plaisir sans gadgets hors de prix ? — Clochix

Toujours la même dichotomie avec confort et sécurité grâce à du matériel performant d’un côté et l’insouciance du jetable/consommable de l’autre (je caricature et j’en suis conscient). Une partie du matériel fait pour moi partie du plaisir dans ce qu’il permet de réaliser au niveau de l’esthétique du geste.

Mais ce plaisir matérialiste n’est rien comparé à celui d’avoir la chance de pouvoir être là. Dans l’instant présent. En mouvement. Et ça n’a pas de prix.

2015-09-30 Partage #sportembre

Dernière note de la série #sportembre. Juste pour vous encourager à partager autre chose que de la technique ou du code en ligne :-). J’adorerais lire vos propres séries.

2015-10-01 Vieux développeurs

De nouveaux métiers émergent, les formations autour du web sont toujours plus nombreuses et le média s’industrialise à vitesse accélérée. Les jeunes profils qui-en-veulent retournent le web à la recherche d’informations, écrivent cinq nouveaux frameworks Javascript par semaine et font leurs nuits blanches sur du code comme je le faisais il y a dix ans. Ma valeur ajoutée n’est plus là, et je capitalise davantage sur mon expérience du terrain, ma capacité à mener un projet proprement à son terme et la valeur de mon conseil. C’est peut-être ça, vieillir ?

Dix ans de freelance (cache)

Tout s’accélère (cache) et les vieux développeurs (dont je fais partie) se rassurent comme ils peuvent sur leur capacité à suivre le mouvement avec recul tout en gérant de plus en plus de responsabilités. Ceux qui sont dans une structure pyramidale suivent gentiment le principe de Peter mais quid de ceux qui mènent leur propre barque ? Je vois deux options :

  • avoir emmagasiné suffisamment de compétences pour débloquer des situations ponctuellement et efficacement tout en transmettant ses connaissances ;
  • avoir emmagasiné suffisamment d’expérience pour mettre en place des pratiques qui pérennisent et fluidifient la création de valeur.

Est-ce que ces deux approches sont réalisables de concert pour une même personne ? J’en doute de plus en plus et ça me frustre.

2015-10-02 Manche numérique

Le crowdfunding est assimilable pour moi à de la manche numérique (sans aucun jugement de valeur). Et j’irais même plus loin en énonçant que le crowdfunding est l’anti-coopérative. Je m’explique.

Le crowdfunding fait appel à votre générosité pour produire un bien dont vous n’êtes pas propriétaire. Vous êtes spectateur de sa création et ne pouvez pas la reproduire. Vous ne bénéficiez d’aucun retour sur investissement concernant la valeur qui a été générée par ce don.

La coopérative correspond à la démarche inverse, elle fait appel à votre engagement pour produire un bien commun. Vous devenez acteur de la création en acquérant les savoir-faire et la co-propriété des outils de production. Vous bénéficiez d’un retour sur investissement à la fois technique et humain.

2015-10-03 Femmes et rémunération

La vidéo sur Le Salaire à Vie est remarquable dans les extraits choisis dont je connaissais beaucoup de sources pour avoir un peu travaillé le sujet (no pun intended). Celui qui m’a marqué est l’extrait relatif à la rémunération des femmes.

Le fait d’associer travail et salaire mène à déconsidérer le travail gratuit — comme la garde des enfants ou les tâches ménagères — qui a longtemps été réalisé exclusivement par les femmes. Ce qui entraîne une sous-estimation de la valeur de ces travaux lorsqu’ils en viennent à être rémunérés et s’étend ensuite aux autres domaines. C’est un angle dont je n’avais naïvement pas pris conscience jusqu’à présent.

Toujours dissocier travail/valeur d’un côté et emploi/salaire de l’autre, c’est la nature même du capitalisme qui nous pousse à faire cette association malsaine.

2015-10-04 Domaines et pérennité

Date de création : 26.07.2006
Date d’expiration : 26.07.2025 (dans 3583 jours)

Votre domaine est votre identité sur le Web. En attendant une solution davantage décentralisée, prenez-en soin. En voilà un dont je n’ai plus vraiment à me soucier :-).

2015-10-05 Design de soi

Je préfère parler de « design de soi ». Pour moi ça veut dire : « Je me montre moi, tel·le que je suis en vrai, sans fard, via le web et ma façon de communiquer en général. Je ne cherche pas à me vendre ni à me faire mousser, mais juste à montrer qui je suis et ce que je fais. Si ça contribue à m’apporter des opportunités, tant mieux, mais ce n’est pas forcément mon objectif premier. »

Conférence " Design de soi " par Marie Guillaumet (cache)

Sujet difficile qui semble avoir été traité de manière pertinente lors de ParisWeb. Je me retrouve beaucoup dans ce qui est décrit et les différents écueils à éviter. J’ai partagé le lien aujourd’hui avec mes étudiants qui n’ont pas forcément ces préoccupations pour l’instant, il faudra que j’en reparle avec eux.

2015-10-06 Aveux d’incompétence

  1. Je ne sais pas.
  2. Je ne sais pas encore.
  3. Je ne sais pas encore mais j’ai les outils pour trouver.
  4. Je ne sais pas encore mais j’ai le réseau pour trouver.
  5. Je ne sais pas encore et nous allons trouver ensemble.

Tout mon travail avec les étudiants consiste à les faire passer de 1 à 5.

2015-10-07 Core-stack developer

[…] when in doubt, focus on the core. When in doubt, learn CSS over any sort of tooling around CSS. Learn JavaScript instead of React or Angular or whatever other library seems hot at the moment. Learn HTML. Learn how browsers work. Learn how connections are established over the network.

The reason for focusing on the core has nothing to do with the validity of any of those other frameworks, libraries or tools. On the contrary, focusing on the core helps you to recognize the strengths and limitations of these tools and abstractions. A developer with a solid understanding of vanilla JavaScript can shift fairly easily from React to Angular to Ember. More importantly, they are well equipped to understand if the shift should be made at all. You can’t necessarily say the same thing about an INSERT-NEW-HOT-FRAMEWORK-HERE developer.

Building your core understanding of the web and the underlying technologies that power it will help you to better understand when and how to utilize abstractions.

That’s part one of dealing with the rapid pace of the web.

The Fallacy of Keeping Up (cache)

À défaut d’être complet (full) en raison de l’effervescence technique difficile à suivre au quotidien, il me semble de plus en plus pertinent de miser sur le cœur (core) des technologies utilisées. Comprendre et maîtriser les bases avant tout pour pouvoir ponctuellement et rapidement se spécialiser en fonction du besoin. Connaître ES6 vous servira ces 10 prochaines années, savoir utiliser React sera obsolète l’année prochaine. Sages développeurs, investissez.

2015-10-08 Productivité et folklore

Pour moi le verdict est clair, la prétendue observation « scientifique » sur l’ordre de grandeur des variations de productivité individuelle relève du folklore, des éléments d’opinion non confirmés qui se transmettent et se perpétuent pour des raisons plus culturelles que rationnelles. (Je ne prétends pas qu’il n’y a pas de variations de productivité de cet ordre: je dis simplement que ce « fait » n’est pas démontré, et qu’on ne sait pas quoi en faire.)

L’une des raisons à cela est qu’on n’est pas en mesure de cerner avec assez de précision la notion de « productivité ». A l’origine, on avait tendance à mesurer en lignes de code. Avec le développement de « langages de haut niveau » on a sévèrement remis en cause cette mesure de productivité, puisqu’ils permettaient précisément de faire la même chose en moins de lignes. On a tenté de leur substituer les points de fonction, qui s’avèrent compliqués et peu utilisés par la profession. Mais la vraie question à poser est celles des hypothèses qui sous-tendent la notion de « productivité ».

Par exemple, considérons-nous qu’une productivité ne peut être que positive ou nulle? C’est une hypothèse battue en brèche par la notion de « The Net Negative Producing Programer (cache) »: des membres d’une équipe qui non seulement n’apportent pas une contribution à la productivité mais détruisent celle des autres intervenants.

Faisons-nous la différence entre les efforts et les résultats ? Un programmeur peut très bien sembler improductif parce qu’il fournit peu de travail, mais s’il est à l’origine d’une idée innovante qui permet de ne pas coder plusieurs fonctionnalités complexes, sa contribution est d’une grande valeur.

Folklore ou fait scientifique, comment les différencier (cache)

Voilà des pistes d’améliorations personnelles :

  • réduire les distractions auprès de mes collègues ;
  • discuter en amont des développement de leur réelle utilité.

Cette histoire d’itération de retrait me trotte toujours en tête même si je n’ai eu aucun retour pour l’instant.

"You can’t plan if you can’t measure." This is an idea still taught in business school, it’s a mantra of many managers, and it’s wrong in this context. It assumes everything a developer does is objectively and consistently measurable. As we’ve shown above, there still doesn’t exist a reliable, objective metric of developer productivity. I posit that this problem is unsolved, and will likely remain unsolved.

The Myth of Developer Productivity (cache)

2015-10-09 Implémentation et Safe Harbor

How to Comply?

Now the question is how to comply with what this is going into. These new rules are more than implementable for Facebook size corporations, but it is incredibly hard to do for small startups. It’s also not quite clear what can and what cannot be done with data now. At which point data is considered personal and at which point it is not, is something that differs from country to country and is in some situations even not entirely clear. For instance according to the UK DPA user relationships are personal information if they have "biographical significance".

A Disconnected World

What worries me is that we are taking a huge step back from an interconnected world where people can share information with each other, to more and more incompatible decentralization. Computer games traditionally have already enforced shards where people from different countries could not play together because of legal reasons. For instance many of my Russian friends could never play a computer game with me, because they are forced to play in their own little online world.

The End of Safe Harbor and a Scary Path Forward (cache)

Armin se pose des questions intéressantes sur l’implémentation de la récente loi européenne et son interprétation dans un contexte numérique qui permet difficilement de s’appuyer sur un stockage physique uniquement (problématiques de flux, de relations complexes, de déplacements des utilisateurs, etc).

Sa conclusion est que seule les startups et petites entreprises vont trinquer, bridant l’innovation en Europe. Pour chaque danger, un nouveau marché : j’imagine que des CDN de la donnée (DDN ?) vont apparaitre pour stocker de manière transparente les données d’un service en fonction de la localité.

PS : si vous êtes tenté de mettre la localisation dans l’URL de votre API, les headers sont probablement un meilleur endroit…

2015-10-10 (In)dépendance affective

Les relations affectives viennent bousculer le jeu de la recherche d’indépendance. Trouver le juste équilibre entre l’autonomie et la générosité des autres sans s’aliéner un futur incertain dépend beaucoup du respect et de la confiance partagés.

L’indépendance (cache)

Suivi de :

Le bonheur, c’est lorsque l’on découvre que l’on est capable de quelque chose dont on ne se savait pas capable. Par exemple, dans la rencontre amoureuse, vous découvrez quelque chose qui va mettre à mal votre égoïsme conservateur fondamental : vous allez accepter que votre existence dépende intégralement d’une autre personne. Avant de l’expérimenter, vous n’en avez pas la moindre idée.

Vous acceptez soudainement que votre propre existence soit dans la dépendance de l’autre. Et les précautions que vous prenez habituellement pour vous protéger sont mises à mal par cet autre qui s’est installé dans votre existence. Ensuite, il faudra chercher à tirer les conséquences de ce bonheur, essayer de le maintenir à son apogée, ou tenter de le retrouver, de le reconstituer, pour vivre sous le signe de cette nouveauté primordiale. Il faut alors accepter que ce bonheur travaille parfois contre la satisfaction.

La leçon de bonheur d’Alain Badiou (cache)

Bon week-end :-).

2015-10-11 Performances Web

Server response times, while easy to track and instrument, are ultimately a meaningless performance metric from an end-user perspective. End-users don’t care how fast your super-turbocharged bare-metal Node.js server is - they care about the page being completely loaded as fast as possible. Your boss is breathing down your neck about the site being slow - but your Elixir-based microservices architecture has average server response times of 10 nanoseconds! What’s going on?

Ludicrously Fast Page Loads - A Guide for Full-Stack Devs (cache)

Entre les Accelerated Mobile Pages (cache) et les Async Fragments (cache), l’actualité est riche dans le monde de la performance web et ce n’est qu’un début. Ou plutôt un chemin, vers une modularité des approches pour avoir la meilleure stratégie (cache) en fonction du besoin et du contexte.

Les outils que je présente en ce moment aux étudiants : WebPageTest, Dareboost et Yellow Lab Tools. Il s’agit surtout de comprendre comment est chargée une page web et pourquoi les performances ressenties sont importantes pour l’expérience utilisateur.

PS : Jeremy Keith en parle également (cache).

2015-10-12 DNS et confiance

Although there is no single solution that can solve all privacy issues, there are still things you can do to protect yourself. Privacy is a lot like security, you have to address it in layers. This layering is also referred to as “defense in depth.” Think about it this way: To protect your house from burglars, you might install deadbolt locks on the doors, you might leave a light on, and you may even install a security system. Every one of these actions by themselves can lower the possibility that your house is targeted. However, together, they create a strong perimeter of defense. The same holds true when addressing your online privacy.

Introducing Verisign Public DNS: A Free Recursive DNS Service That Respects Your Privacy (cache)

Le choix de ses DNS est important car il s’agit d’un des points de centralisation du Web. J’ai tendance à penser que ceux de votre hébergeur sont presque un moindre mal sachant qu’il en connait déjà beaucoup (trop) sur vous mais si vous n’êtes pas sur un réseau de confiance il vaut probablement mieux utiliser ceux de la FDN : 80.67.169.12 et 80.67.169.40 ou 2001:910:800::12 en IPv6. Autre option, installer son propre serveur de DNS en local mais c’est plus contraignant et ça demande de répéter l’opération sur tous vos périphériques…

Pour tester une configuration, ceux de Google (8.8.8.8 et 8.8.4.4) ou de Verisign (64.6.64.6 et 64.6.65.6) auront probablement une grande fiabilité mais sont source de profilage et soumis à la loi américaine.

2015-10-13 Hypermedia à la demande

It had the benefit of simplicity — endpoints are intuitively named and can be browsed easily. Initially we even implemented URL properties on all objects so the API was browsable just by clicking (this was eventually removed in favor of smaller response payloads). Documentation described what was returned by each endpoint so our mobile team could easily integrate.

From REST to GraphQL (cache)

Je creuse pas mal GraphQL (cache) en ce moment car nous sommes soumis aux mêmes problèmes rencontrés dans cet article sur data.gouv.fr. Je n’ai réalisé que récemment l’intérêt que cela pouvait avoir pour créer des API hypermedia. Les informations retournées étant générées à la demande cela permet de ne charger les liens dans le payload de la réponse que pour les personnes/robots intéressés. Il en va de même pour toute la sémantisation optionnelle des données retournées. Performance pour les uns, robustesse pour les autres.

De la même manière, il serait possible d’avoir plusieurs endpoints GraphQL correspondant aux différentes ressources et limitant de facto les problèmes de performances liés à la profondeur des informations demandées (si on limite à 1, voire 2 niveaux). L’opposition que l’on fait entre REST et GraphQL (cache) est peut-être une erreur car une approche combinée permettrait d’exploiter le meilleur des deux mondes…

2015-10-14 Sophistication et perfection

Ce point c’est la zone d’inconfort. Si vous vous lancez dans ces pratiques avec facilité c’est que vous vous plantez probablement. L’agile propose un changement de paradigme assez radical par rapport à notre manière de percevoir l’entreprise, sa création de valeur et sa dynamique de groupe. Nous sommes aux antipodes des habitudes françaises des cinquante dernières années : son cartésianisme, sa hiérarchie, et (contrepartie de sa sophistication que j’aime) son culte de la perfection.

Préface Scrum 4ème édition (cache)

Pablo m’a dit lors de notre dernière rencontre (SudWeb) que j’étais dans la sophistication. J’ai donc cherché plusieurs définitions possibles :

  • Introduire dans quelque chose une recherche ou une subtilité excessive : Sophistiquer un raisonnement.
  • Apporter à un objet des améliorations, des perfectionnements très poussés, relevant de techniques avancées : Des armes que l’on sophistique de plus en plus.
  • Action de rendre complexe ou compliqué ce qui pourrait être simple.
  • Caractère artificiel, délibérément et inutilement compliqué.
  • Caractère de ce qui relève d’une élégance raffinée ou excentrique. […] Caractère de ce qui relève d’une recherche esthétique poussée, d’avant-garde.
  • Complexité technique; niveau d’élaboration très poussé; haut degré de perfection technique.
  • Excessive subtilité dans le discours, le raisonnement.

Un mélange de complexité et de subtilité délibérées au service de l’esthétique. Pablo a le don de m’agacer.

2015-10-15 Hypocrite faiblesse

I guess what I’m saying is this: I want to stop reading ad-supported websites. I don’t want to steal their content by browsing with an ad-blocker, I want to ignore their content. I need a content blocker that blocks content too. Will I miss out on some stuff that’s truly impressive, truly hilarious, truly insightful? Undoubtedly. But I’ll also miss out on a lot of garbage, and a ton of garbage ads. So that will be nice.

Will I do any of this? No, probably not. Sites like Buzzfeed and The Verge are too enticing. I am weak. Which means I probably shouldn’t run an ad-blocker, because then I’m just being a hypocritical jerk in addition to being weak.

But man, wouldn’t it be nice to live in a world where I never have to read something that was written for the sole purpose of traffic and revenue? Where I only read things that need to exist, or are worth money on their own merits? Imagine this: words, on the internet, worth paying for.

Maybe the web should die (cache)

Il faudrait que j’essaye de naviguer sans bloquer les publicités pendant une journée pour voir un peu ce que ça donne (malgré les dangers (cache) et l’inutilité (cache) mesurée (cache) de la chose). Sachant que je n’ai pas navigué sans bloqueur depuis au moins cinq ans. Du coup, je ne sais même pas quels sites sont plus respectueux que les autres et je perds l’empathie pour les utilisateurs. Enfin, je réalise que ce ne sont pas forcément les miens d’utilisateurs vu que je n’ai pas travaillé sur des sites basés sur ce business model depuis plus de cinq ans aussi… une chance ? Un choix.

2015-10-16 GPG et QR-Code

Ma solution, c’est imprimer vos clés GPG. Pas en texte, car ça prendrait trop de temps pour taper le code en base64 à la main, mais dans un QR-Code, ou un datamatrix. Si vous faites ça, vos clés seront sur un document en papier et vous pourrez les numériser très facilement avec un téléphone ou une webcam. Gardez quand même vos documents à l’abri (des gens, mais aussi d’un accident plus grave : incendie…).

De cette façon, perdre complètement vos clés GPG ne se reproduira plus. Vous pouvez générer ici un QR-Code de façon sécurisé et anonyme.

Quelques astuces pour les clés GPG (cache)

Tiens je n’avais jamais pensé à cet usage du QR-Code et c’est pourtant une solution très pratique. Je viens enfin de trouver un intérêt à cette technologie :-).

Attention, une impression comporte des risques non négligeables.

2015-10-17 Startup, vente et fiscalité

Oh mon dieu ! Vous avez monté une startup, vous avez bien réussi, et maintenant que vous allez la vendre, le méchant État français va vous prendre tout votre argent ! Alors à quoi bon se lancer en premier lieu ? Si vous êtes vraiment dans cette situation, bravo, et maintenant demandez conseil à votre expert comptable. Si vous pensez à défiscaliser en émigrant avant même d’entreprendre, bon voyage. Si vous voulez en savoir plus sur la fiscalité en cas de revente de société en France, continuez à lire.

Combien ça coûte de vendre sa startup ? (cache)

34 % d’imposition environ en cas de revente, enfin un chiffre qui me semble plausible comparé au bullshit qui circule partout ailleurs. Ce n’est pas l’impôt qui bride l’innovation en France, ce sont les entrepreneurs qui auto-entretiennent un climat morose et délétère.

2015-10-18 Cœur de père

Then, my father was once again a father to me. With a shoebox under her arm, a nurse came by to comfort me. The box was full of sealed envelopes, with sentences where the address should be. I couldn’t understand exactly what was going on. The nurse then handed me a letter. The only letter that was out of the box.

“Your dad asked me to give you this letter. He spent the whole week writing these, and he wants you read it. Be strong.” the nurse said, holding me.

The envelope read WHEN I’M GONE. I opened it.

When I’m Gone (cache)

Je ne pense pas que j’aurais été aussi ému en lisant ce texte il y a deux ans. Touché.

2015-10-19 Bonjour Confoo

Je vais avoir la chance de pouvoir partager mes propres expérimentations techniques car deux de mes propositions ont été retenues pour Confoo en février prochain :

Retour d’expérience sur les outils que nous avons mis en place pour rendre la plateforme de l’Opendata français (data.gouv.fr) explicite sur la disponibilité des milliers de ressources distantes. Petit laïus sur l’impermanence du Web avant de proposer des solutions concrètes pour y pallier localement et/ou tous ensemble…

Où je compte parler de Croquemort mais aussi des liens cachés ici et peut-être même d’IPFS mais il faut que je me donne le temps d’expérimenter avec ce site d’ici là.

Django, Flask ou Falcon ? REST ou GraphQL ? Comment rendre une API Web compréhensible par les (ré)utilisateurs et par les futurs mainteneurs ? Quels sacrifices (performances, sémantique, utilisabilité, etc) sont possibles ? Quelle stratégie d’évolutivité mettre en place ? Quelles statistiques pour quelles décisions ?

Qui sera plus technique et là aussi il faut que j’avance dans ma réflexion et j’espère réussir à implémenter quelque chose pour présenter du concret.

Si vous comptez venir aux sessions, vos attentes m’aideraient beaucoup. Si le sujet vous intéresse, vos liens sont les bienvenus également.

2015-10-20 POSSEssion et dignité

L’idée d’un chez soi numérique est révolue. Cette idée d’avoir sa maison sur le Net n’était que le placage d’un concept issu de la géographie physique à celle du Net. Il faut imaginer les contenus comme des bateaux qui ne cessent de naviguer, sans connexion avec leur port d’attache.

Un chez soi numérique, c’est terminé (cache)

L’approche POSSE (cache) est conceptuellement intéressante mais je ne sais pas si je suis prêt à laisser mes bateaux partir à la dérive (cache) pour autant.

Il ne s’agit pas de monétisation, de popularité ou de paternité mais de respect des lecteurs. Je sais qu’en publiant ailleurs l’expérience va être altérée : par la lisibilité, par les performances, par le profilage, par les intermédiaires, par les choix élitistes de certaines plateformes, etc. Toutes ces modifications portent atteinte à la dignité numérique des visiteurs, celle d’avoir un accès universel à ce que je produis.

D’un autre côté, il faut savoir aller où se trouve la communauté et j’ai déjà fait ce choix pour Slack par exemple. Je ne perds pas non plus de vue l’importance d’avoir une redondance sur le Web mais il existe d’autres solutions techniques pour cela et j’y travaille.

Également publié sur Medium histoire d’être en contradiction avec mes propres contradictions.

2015-10-21 Journalisme et Web

Creating news for the current and future media landscape means considering the time scales of our reporting in much more innovative ways. Information should accumulate upon itself; documents should have ways of reacting to new reporting or information; and we should consider the consumption behavior of our users as one that takes place at all cadences, not simply as a daily update.

So what does news that is accumulative look like and what is technically required to realize those possibilities? First, let us posit that we’re not talking about transforming news reporting into pure reference material, like a news-based Wikipedia, but rather that this is about leveraging the depth of knowledge from a rich body of reporting to extend and deepen news experiences.

The Future of News Is Not An Article (cache)

2015 et les journalistes commencent à comprendre quels intérêts ils pourraient tirer du Web. Bientôt ils vont découvrir que chaque niveau de profondeur/pertinence apporte une nouvelle monétisation possible. S’ils ne sont pas morts avant.

2015-10-22 Hébergement communautaire

La mise en place de serveurs communautaires n’empêche bien sûr pas l’utilisation de serveurs personnels pour les utilisateurs les plus aguerris.

[…]

En attendant, une approche reposant sur plusieurs communautés semble être une solution pragmatique sur le court/moyen terme, rendant certaines libertés aux utilisateurs et ouvrant la voie pour le futur.

La difficile promesse de l’auto-hébergement (cache)

Malheureusement, même pour un utilisateur aguerri, la tâche est compliquée. Entre les emails issus de son serveur qui ne sont jamais reçus (cache) et les failles de sécurité des solutions libres clés en main (cache), il est bien difficile de pratiquer l’auto-hébergement sans s’en mordre les doigts.

Faire porter la responsabilité à des intermédiaires communautaires — même de bonne foi (cache) — possède des travers plus humains qu’économiques. Le choix est compliqué car il touche à l’identité, à la fiabilité, à la confidentialité, à la confiance, etc. Peut-être que la solution la moins pire consiste à décentraliser ces choses là également…

2015-10-23 Convention over comprehension

C’est le moment où j’ai envie d’écrire mon propre framework. Portable. Copiable. Documenté. Hackable. Simple. Un générateur de sites statiques en somme :-p. L’enseignement est vraiment en train de m’ouvrir les yeux sur la complexité inutile créée par nos métiers. Complexité qui re-crée une pyramide de pouvoir et donc de contrôle. Au même titre que l’énergie.

Frameworks Web

Il y a quand même une perte non négligeable de savoir en utilisant des frameworks. Sans compter la magie qui fait perdre plus de temps que ce qu’elle n’en fait gagner.

C’est préjudiciable pour acquérir des connaissances mais également pour les transmettre et faire progresser son équipe. Je suis de moins en moins convaincu par cette approche et je ne crois pas qu’il y ait beaucoup de développeurs qui prennent du plaisir à utiliser un framework passée la phase d’euphorie.

2015-10-24 Sublime tristesse

Ma femme de ma vie ne m’aime plus.

S’effacer (cache)

Depuis bientôt un an, Grosse Fatigue nous parle de sa douleur. J’étais déjà impressionné par la qualité de sa prose qui a été sublimée par son malheur. J’en arrive à être presque déçu qu’il s’en sorte après plus de 150 billets extimes… terribles comme peut l’être le quotidien d’une séparation, justes sans tomber dans l’auto-apitoiement. Et je me sens coupable de ce plaisir un peu pervers en espérant hypocritement que ma lecture soit une source de soulagement. Courage camarade !

2015-10-25 Respect du numérique

C’est difficile à formuler mais j’ai du mal à avoir autant de respect pour des œuvres numérisées. J’essaye par exemple de transmettre comme valeur de respecter les livres pour leurs auteurs et leurs histoires et en parallèle de cela, je me rends compte que je porte plus d’attention à la fragilité de la liseuse en elle-même qu’à son contenu.

Conséquence de la reproduction gratuite du contenu ? Manque de robustesse ? Invisibilité du potentiel une fois numérisé et réduit ?

La liseuse est un objet binaire. Elle ne se déchire pas partiellement, elle ne se gondole pas après une chute dans l’eau, elle ne s’écorne pas. Elle fonctionne. Ou elle est définitivement cassée. Perdant immédiatement le pouvoir de lire toute une bibliothèque.

2015-10-26 Vous êtes le travailleur

L’usager a-t-il conscience de « travailler » lorsqu’il fait usage des dispositifs qui lui sont proposés ? Et les propriétaires de ces dispositifs exploitent-ils intentionnellement ces usages pour générer des externalités ? Les systèmes qui régissent les dispositifs ne semblent pouvoir gagner en « pertinence » (i.e. en personnalisation de « l’expérience utilisateur ») sans s’appuyer sur certaines traces d’usage. Mais les effets cognitifs et affectifs de cette réutilisation de l’agir sont-ils pour autant voulus, et vont-ils donner lieu à une capitalisation puis une marchandisation ? La question de l’intentionnalité est alors centrale, et nous interroge sur la multiplicité des points de vue à convoquer pour observer le capitalisme affectif à l’œuvre. Un adage fortement employé sur le web (chez les chercheurs et praticiens) consiste à dire : « si vous ne payez pas, c’est que vous êtes le produit »... Mais si « tout coûte mais tout ne se paie pas » ne pourrait-on pas dire que « si vous ne payez pas, c’est que vous êtes le travailleur » ? Et que, pour aller plus loin, le travail effectué (digital labor) suppose parfois une forme de paiement symbolique et émotionnel, dont la captation et la commensuration n’est qu’à ses prémices ?

Questionner le digital labor par le prisme des émotions : le capitalisme affectif comme métadispositif ? (cache)

Je serai à l’Agile Tour Bordeaux ce vendredi pour la suite de Travail en transition avec Stéphane.

Une image de Julien PIERRE qui illustre le concept de Digital Affective Labor.

2015-10-27 Création d’un livre web

Après avoir découvert le livre web Professionnal Web Typography de Donny Truong, voici une mise en pratique avec Le livre 010101 (1971-2015) de Marie Lebert : création d’un site web dédié et d’un fichier EPUB, afin de palier au seul format PDF disponible. Les principes : permettre une lecture en ligne ou hors ligne. Les contraintes : lisibilité, simplicité et légèreté. Explications du projet.

La création d’un livre web : Le livre 010101 (cache)

Retour très intéressant d’Antoine sur la conversion d’un livre PDF en HTML + ePub, étape par étape. Je m’interroge depuis un moment sur la possibilité de décliner ce site en ePub également. J’ai maintenant une base et des outils à explorer.

Je trouve le choix assumé de mettre la table des matières en pied de page pertinent. Je trouve cela dommage qu’il n’y ait pas les sources quelque part accessibles facilement. J’aurais essayé de rendre la navigation précédent/suivant plus visible et peut-être travaillé davantage la lisibilité du texte.

PS : je suis passé à -webkit-font-smoothing: antialiased; et -moz-osx-font-smoothing: grayscale; sur les parties claires du site, n’hésitez pas à me faire des retours si cela altère votre lecture en fonction de votre configuration.

2015-10-28 Ambiance musicale

Nous n’avons fait que fuir, nous cogner dans les angles.

Déclame Bertrand Cantat en flirtant avec Léo Ferré alors que je file à 300 km/h vers la grisaille parisienne en songeant au travail et je réalise l’importance de la musique sur l’optimisme de mes réflexions. Ou en l’occurence du pessimisme. Vous voilà prévenus. Aleeeerte !

2015-10-29 Culture et jugement

His response changed my life. It was a simple thing. He said “Man, give it five minutes.” I asked him what he meant by that? He said, it’s fine to disagree, it’s fine to push back, it’s great to have strong opinions and beliefs, but give my ideas some time to set in before you’re sure you want to argue against them. “Five minutes” represented “think”, not react. He was totally right. I came into the discussion looking to prove something, not learn something.

Give it five minutes (cache)

Il est intéressant de voir la vitesse à laquelle on en arrive à juger une culture inconnue. Bien souvent sur des cas extrêmes que l’on s’empresse de généraliser par ignorance ou par naïveté.

Une culture mérite plus de cinq minutes, accordez-lui un peu de temps, respectez son existence même et sa diversité.

2015-10-30 Crise et évolution

Il y a un point que j’ai développé trop rapidement lors de l’intervention sur la pairmutation du travail mais qui me trotte en tête depuis un moment. On voit bien qu’à titre individuel et parfois collectif on sort volontairement de sa zone de confort pour progresser.

Peut-être que nous réalisons cela de manière inconsciente à l’échelle de l’espèce également faute de pression sélective du milieu pour nous faire évoluer. Peut-être que les crises économiques, culturelles ou écologiques que nous nous imposons ne sont là que pour nous faire réagir en situation de survie et ainsi progresser, ensemble. Peut-être est-ce une conséquence de la domestication de notre milieu. Peut-être que la domestication de l’être humain (cf. P Sloterdijk) aura pour conséquence d’autres formes de crises encore plus profondes et d’autres évolutions majeures de notre espèce. Peut-être que je suis trop déterministe. Où est-ce de l’optimisme refoulé ?

2015-10-31 Être et avoir

Je n’ai pas (encore) vu le film. Je suis toujours mal à l’aise lorsqu’on me demande si j’ai des enfants. Je n’ai pas le sentiment d’avoir un enfant mais d’être père. Et ça change beaucoup de choses. Une différence proche de celle du coaching et de la facilitation, une différence d’attitude et de positionnement dans la relation et la future émancipation.

2015-11-01 Capitaliser sur l’apprentissage

When you reverse the proportion, when learning is more valuable than things, then economy of scale goes haywire. Putting off learning because “oh, we’ll make a million more,” no longer makes sense. The leverage is in learning, not production. You are willing to sacrifice today’s production for tomorrow’s improvement.

Economics still applies, but the tradeoff has shifted. Instead of trying to get economy of scale by going through many iterations of making per unit time, you try to get economy of--wait for it--scope, by squeezing as much learning as possible from each iteration. That’s what economy of scope is, improving learning per iteration.

Economy of Scope (cache)

Une pensée qui fait écho aux échanges lors du dialogue sur la pairmutation du travail. Ne pas tenter d’amasser des ressources mais du savoir. Et itérer.

2015-11-02 (Re)construire

Il y a tout à (re)construire, et c’est excitant, vivifiant. Écrire et lancer les fichiers par FTP, comme des petits avions en papier. C’est tellement simple au fond ! Et la métaphore change. Je ne rubrique plus rien, je ne content manage plus rien. Une idée, un fichier, ou comme je veux, je casse et je recommence.

Tout à construire (cache)

Emmanuel repart de zéro et cela me rappelle les débuts de ce carnet et ses nombreuses itérations qui m’ont permis de tester des outils, ma capacité à architecturer l’information (un bien grand mot), à avoir de l’empathie pour les lecteurs, à lâcher-prise et à savoir faire table-rase. Je continue d’expérimenter sur ce site en essayant de nouvelles propriétés CSS et il m’en reste beaucoup (cache) d’autres (cache) à mettre en pratique.

Je répondais vendredi à Alexis que « J’avais un blog lisible avant Medium » et ça me fait sourire. Bientôt des badges « Je publiais avant Facebook/Twitter », « J’avais un site performant et indexable avant AMP » ou « Je publiais du code avant Github ». Je rêvais d’un web décentralisé…

2015-11-03 Renouvellement automatique

Si je le reconduis aujourd’hui jusqu’en 2025, les chances de me souvenir à cette date qu’il faut que je le renouvelle sont quasi nulles. Il ne me restera plus que l’email de rappel de Gandi, mais où serait-je à ce moment là ? lirais-je mon email, cet email ? Je trouvais ça risqué, je le trouve encore.

Domaines et pérennité (cache)

J’ai oublié de préciser que j’ai parallèlement mis en place le renouvellement automatique. Ce qui m’inquiète davantage c’est de savoir si Gandi sera encore là dans 10 ans. Et si je serai encore en France pour pouvoir bénéficier d’un .fr.

2015-11-04 Décentralisation et politique

This means working with government. You know, the thing our buddy Barlow said didn’t exist in cyberspace but that somehow still got full take on our web traffic. It’s no longer cool to engage with government only when they’re about to screw things up - net censorship, surveillance, copyright policy - and to pretend that all political issues on the web can be solved given enough distributed hash tables.

So, what’s the alternative to decentralization? Laws. Public service websites. Creating commons infrastructure. But let’s just not pretend any more that the future of the web is all about better UX for our IRC clients.

Against Decentralization (cache)

Je ne considère pas que les deux soient antithétiques, même en travaillant pour l’État il faut savoir rester vigilant et servir de garde-fou à une centralisation facile mais inefficace sur le long terme. La décentralisation n’est pas un problème en soi, ce sont l’indexation et la performance associées qui deviennent plus contraignantes (pour pouvoir parcourir un graphe de données).

2015-11-05 Transmettre l’ennui

Don’t replace boredom with work or fun or habits. Don’t pull out a screen at every idle moment. Boredom is the last privilege of a free mind. The currency with which you barter with folks who will sell you their “habit,” “fun” or “work” is your clear right to practice judgment, discernment and taste. In other words, always trust when boredom speaks to you. Instead of avoiding it, heed its messages, because they’ll keep you true to yourself.

Boredom is not a problem to be solved. It’s the last privilege of a free mind (cache)

Il est assez facile de méditer dans le train en retard mais quid d’enseigner/transmettre l’ennui à ses enfants ? En tout cas ça n’a pas l’air d’être inné… mais c’est d’autant plus intéressant :-).

2015-11-06 Beauté vs. universalité

Are you working to make it more likely that the 5 star reviews are more intense, more numerous and more truthful than ever, or...

Are you working to minimize the number of 1 star reviews?

Very hard to obsess about both, since they tend to happen together.

The thing is, if you work to minimize criticism, you have surrendered the beauty and greatness of what you’ve set out to build.

The two-review technique (cache)

Je suis toujours tiraillé entre de dogmatiques défauts qui sont pertinents pour une minorité et un approche plus inclusive qui revient à du consensus mou accessible à tous mais ne contentant personne. Il y aurait peut-être une relation entre l’égoïsme et l’empathie à creuser. Combien de personne sont laissées de côté à chaque choix ergonomique, à chaque mise à jour de bibliothèque, à chaque aggravation de la performance ?

2015-11-07 Recherche ouverte

L’ensemble de la rédaction du journal scientifique Lingua, spécialisé dans la recherche linguistique, a annoncé sa démission, pour protester contre le refus de son éditeur Elsevier de se tourner vers un modèle en accès libre. Les éditeurs du journal ont annoncé vouloir ouvrir leur propre publication concurrente, et gratuite, qui s’appellera Glossa.

[…]

Elsevier, qui domine très largement le marché de l’édition scientifique dans le monde, est fréquemment l’objet de vives critiques sur ses politiques tarifaires. Depuis plusieurs années, de nombreuses voix s’élèvent contre son modèle économique, basé sur l’acquisition des droits de publications de travaux de recherche qui sont pour la plupart financés par de l’argent public.

L’éditeur est la cible privilégiée du mouvement dit « Open access », qui plaide pour un accès libre et gratuit à l’ensemble des publications scientifiques financées publiquement, et milite plus largement pour une réforme du droit d’auteur.

Pour pouvoir passer en accès libre, toute l’équipe d’un journal scientifique démissionne (cache)

Il y a dix ans je travaillais sur Open Articles : Libérez votre savoir !. Dix ans. Rétrospectivement c’est peut-être pour cela que j’ai préféré le développement web et l’open-source à la recherche et son obscurantisme égotique.

2015-11-08 Blog offline

Sure, browsers cache stuff all the time. The advantages here are in persistence and control. Browser caches are easily overwritten while an application cache is more persistent. Badly configured servers often force the client to refetch things unnecessarily, for example hosting providers you don’t have control over. Service workers, with a full caching API, allow the client full control, and can make smarter decisions about what and when to cache. Many of us have experienced the case where we get on a plane with a page loaded in our browser, only to find that either a browser setting or cache header forces a reload attempt when you then go to read the page, a reload that has no hope of succeeding, and your page is gone.

Taking the web offline with service workers (cache)

J’ai bien envie d’expérimenter les possibilités offertes par les services workers ici pour gérer les liens en cache et peut-être même les billets connexes afin de pouvoir lire les articles et leurs dépendances en étant déconnecté. Les outils, bibliothèques et exemples existent ainsi qu’une littérature (cache) abondante (cache) sur le sujet avec des alternatives temporaires (cache). Et ce n’est qu’un début.

P-S : la liste de diffusion offline-first est une vraie mine !

P-P-S : notez que l’usage d’InstantClick sur ce site vous permet déjà d’avoir un cache en passant sur les liens locaux avant de vous déconnecter.

2015-11-09 Sic-tations

J’ai un problème avec les citations qui contiennent des fautes (quatre dans les sept derniers extraits). Je ne peux pas contacter chaque auteur — c’est déjà suffisamment pénible de gérer la copie en cache — et je souhaite conserver l’original tel qu’il est dans mes mises en cache. Mais d’un autre côté mon éditeur me souligne la citation copiée en rouge et ça m’embête pour les lecteurs. Je pensais pouvoir utiliser sic qui fait exactement ce que je voulais :

En français et dans d’autres langues comme l’anglais, l’espagnol, l’italien, le portugais ou le suédois, sic est utilisé pour montrer que l’on cite, telle quelle, une phrase dont les termes ou le sens peuvent paraître étranges ou surprendre le lecteur, que ce soit par son contenu lui-même ou pour indiquer que le dactylographe a noté une erreur mais qu’il l’a transcrite littéralement pour rester fidèle aux propos tenus.

Malheureusement, il a une composante ironique qui se retrouve dans la définition de la page anglaise et qui peut froisser les auteurs :

Sic may also be used derisively, to call attention to the original writer’s spelling mistakes or erroneous logic.

Du coup, vous êtes mieux placé que moi pour décider de la suite, est-ce que vous souhaitez :

  1. laisser la faute dans la citation ;
  2. corriger la faute dans la citation ;
  3. signaler la faute avec un [sic] (qui fait un lien vers ce billet ?) ;
  4. trouver autre chose ensemble :-)

Vous pouvez répondre par email, sur la liste ou sur Twitter (je lis mais ne réponds pas).

2015-11-10 Performances et batteries

Opera Mini consumes on an average 14% less battery and 89% less data when compared to other mobile browsers.

Ensuring a High Performing Web for the Next Billion People - Bruce Lawson

On se préoccupe beaucoup de la seconde valeur lorsque l’on parle de performances web. Pourtant la première est tout aussi pertinente, autant pour les pays où l’accès à l’électricité est limitée que pour les détenteurs d’iPhone qui doivent recharger (au moins) quotidiennement. Je rêve d’une telle métrique sur WebPageTest et/ou équivalent dans les navigateurs. Peut-être qu’un jour votre budget de performance (cache) inclura des curseurs correspondant aux CPU et GPU. Et cela aura davantage d’impact qu’une COP21.

2015-11-11 Open-Source et micro-paiement

There are several reasons we’re trying this experiment. But perhaps the most important reason is this: we want another reason for our partner agencies to support open source code. We’ve long known at 18F that opening our source code from day one improves our ability to deliver. But we want to show that opening our source code improves our ability to contract for digital services. We also want to see whether this is a sustainable way to engage small businesses and non-traditional contractors in the government space.

Open Source Micro-purchasing: An experiment in federal acquisition (cache)

L’expérience menée par 18F et les enseignements qu’ils en ont tiré (cache) sont exceptionnels. Imaginez si chaque bug sur un projet open-source issu du public devient un micro-marché public.

Cela demanderait de redéfinir ce que l’on entend par open-source (cache) et gouvernance (cache), trop de projets se limitant à ouvrir leur code (cache) sans inclure la communauté (cache) et limitant l’open-source à un verbe (cache) (hop ça vous fait un peu de lecture, merci Matti !).

Mais allons encore plus loin et laissons le secteur public expérimenter plein de choses et n’en conserver qu’une petite quantité (cache) en incluant toutes les parties prenantes dans les décisions (élus, fonctionnaires, contributeurs, citoyens motivés, etc). C’est moins sexy que d’enseigner le code à l’école mais ça ressemble à un gouvernement ouvert (convivial ?). Ou de l’idée que je m’en fais en tout cas. L’open-source est de la création de bien commun qui n’est pas compatible avec le secteur privé (cache), transformons ce code en bien public.

2015-11-12 Éthique et design

Design your organisations so that your core values are respect for human rights, respect for human effort, and respect for human experience.

Ethical Design Manifesto (cache)

Manifeste clair qui mérite réflexion lorsqu’on réalise le peu de designs qui prennent en compte ces différents aspects sur le Web…

2015-11-13 Backup et utilité

At the end I asked the room, “who is happy with their solution?”. Only one person put their hand up. She had tried every nerdy backup tool imaginable, and abandoned them all.

Instead, she keeps files on her computer and her relative’s computer. If she’s making a document she cares about, she transfers it by USB stick between the computers, to make sure there are multiple copies in different places. And that’s it.

Unsophisticated? Not at all. Way easier than backing up paper. Understandable by anyone. Full control. Cheap.

Sync/Backup workshop at Redecentralize Conference (cache)

Je m’apprête à supprimer des giga-octets de photos que je sauvegarde depuis plus de dix ans. Elles sont passées par plusieurs serveurs, ont été distribuées, sauvegardées incrémentalement et je ne peux que constater un gaspillage numérique dû à leur coût énergétique.

Peut-être qu’il faut que je revienne à des méthodes plus simples, moins robustes mais qui vont vers la frugalité numérique. Ou alors que je lâche-prise et que je suive l’exemple du pire code-reviewer de l’histoire en libérant certaines de ces photos pour qu’elles aient une multitudes de vies indépendantes. Je m’aperçois que ce site est de loin la meilleure sauvegarde que je puisse avoir de mes données.

2015-11-14 Sans commentaire

Tout cela signifie en fait que l’on se croit d’une intelligence assez sûre pour que l’aveu d’une incompréhension mette en cause la clarté de l’auteur, et non celle de son propre cerveau : on mime la niaiserie, c’est pour mieux faire le public se récrier, et l’entraîner ainsi avantageusement d’une complicité impuissante à une complicité intelligente. C’est une opération bien connue des salons Verdurin : « Moi dont c’est le métier d’être intelligent, je n’y comprends rien : or vous non plus vous n’y comprendriez rien ; donc, c’est que vous êtes aussi intelligents que moi. »

Mythologies, Roland Barthes

2015-11-15 Pourquoi écrire ici ?

Part of the reason we write is to remember, to capture a moment of time in our thinking. If we push this moment out into the digital world, gain our likes, and never revisit that writing, what was the point?

Why do we write? Why do you write? I write to remember, to share, to reach out to others, and to clarify my thinking. The value of stepping into a time machine to read the thoughts from a previous version of yourself cannot be measured. You remember who you were to understand who you are. If these thoughts disappear under the ever-increasing weight of our digital output, how will we ever learn from our own teachings?

The Ethos of the Web (cache)

Je me pose souvent la question de l’origine de ce besoin de vouloir conserver un espace sur le web pour mes écrits. Est-ce pour pouvoir me relire, me corriger, m’effacer au besoin ? Est-ce vraiment une question de dignité ou d’égo ? Est-ce que je m’inflige cette contrainte pour conserver mon savoir-faire ou mon contrôle ? Est-ce un acte militant ou de l’anti-conformisme ?

Écrire seulement pour être. Pour s’engager vers les autres. Avec les autres.

Sourates, Jacques Lacarrière

2015-11-16 Archaïsme et gratuité

Cet ensemble de mesures, selon lui, inclut la gratuité pour tous du logement, de la nourriture et des vêtements, même si tout le monde a bien sûr le droit de travailler pour s’enrichir.

Enquête. Ce que veut vraiment l’Etat islamique (cache)

La citation n’est pas extraite d’un tract pour le revenu de base mais d’une enquête sur l’État islamique (EI). Et de poursuivre :

L’EI applique peut-être des sanctions médiévales contre les crimes moraux, mais son programme d’aides sociales est, du moins à certains égards, suffisamment progressiste pour plaire à des commentateurs de gauche. Les soins de santé, affirme-t-il, sont gratuits. Fournir des aides sociales n’était pas selon lui un choix politique, mais une obligation en vertu de la loi de Dieu.

Ibid.

Un article vraiment intéressant qui me permet de mieux comprendre les motivations et les fondements de l’EI. Ma position sur la religion n’a pas évoluée ces trois dernières années.

2015-11-17 Minute de silence

Les minutes de silence sont comme le père noël ou les pétitions, elles sont utiles à ceux qui y croient. Sans aucun jugement de valeur.

2015-11-18 Sans JavaScript

But the most surprising thing is that most things just worked. And in many cases, worked better. Pages loaded nearly instantly, my laptop battery lasted longer, and I could browse the web with fewer distractions—all without the sense of guilt that comes with using an ad blocker. After all, I wasn’t actively trying to circumvent anything, the ad networks were simply failing to accommodate my browser settings.

I Turned Off JavaScript for a Whole Week and It Was Glorious (cache)

Il devient de plus en plus tentant d’avoir un navigateur (ou profil) de lecture/navigation sans JavaScript et un autre pour travailler… ou peut-être faire en sorte que mon travail ne participe pas à en rajouter une couche. Pas facile.

2015-11-19 Partir de zéro

At this point I’m going to park libraries, and leave them out of this discussion. The reason is that, in my view at least, libraries can be swapped out and replaced if they prove problematic. Don’t like the way a library does date formatting? No problem, just switch it for something else. Frameworks, on the other hand, tend to be a lot more difficult to swap, often requiring a rebuild of the app in question. And, by their nature, they’re a lot bigger and more involved.

The Cost of Frameworks (cache)

Je me demande souvent quels outils est-ce que je prendrais si j’avais carte blanche, indépendamment des contraintes du produit (une autre note sera dédiée à ce sujet). L’équation efficacité vs. ergonomie de développement vs. accessibilité vs. transmission est difficile à trouver.

Côté serveur, je suis davantage attiré par des solutions comme Nameko ou Falcon qui restent minimalistes et pertinents pour des API. Sur le stockage des données, cela dépend vraiment trop de leur nature pour trancher, Redis serait sûrement de la partie et il faudrait que j’explore RethinkDB.

Côté client, l’équation est beaucoup plus complexe. Pour le style, cssnext me semble être l’approche la plus saine et pérenne, associée à une stratégie de nomenclature raisonnable. La question qui coûte cher, c’est de savoir comment gérer les web components et leurs données. Des solutions comme Polymer ou React sont vraiment trop coûteuses (cache) pour moi. Devoir mettre à jour des milliers de lignes lors d’une montée en version est rédhibitoire, sans compter la courbe d’apprentissage et de ré-apprentissage. Je pensais avoir trouvé la solution avec RiotJS mais ça reste encore trop compliqué/magique et x-tag n’est pas encore suffisamment mature.

Mais cette approche où le couplage client-serveur est fort reste traditionnelle et il serait peut-être temps de passer à de l’offline-first avec Hoodie sachant qu’il est possible de commencer en douceur et d’aller plus loin (cache).

Sans JavaScript qu’il disait…

2015-11-20 En guerre

Nous sommes en guerre.

Nous sommes en guerre contre une système nocif d’une extrême violence (cache) que nous alimentons chaque jour autour du capitalisme. Un système qui renforce les inégalités et conduit à une perte d’identité que certains retrouvent dans le fanatisme ou la religion. Il y a pourtant des alternatives pour un travail moins dégradant.

Nous sommes en guerre contre notre nature animale qui fait qu’il y a des viols, des charniers, des mutilations, des meurtres. Tous les jours. Notre nature humaine réclame de la bienveillance, de l’éducation et une vision partagée pour prendre le dessus. Elle nous demande de prendre du recul sur nos émotions.

Nous sommes en guerre contre notre auto-destruction en tant qu’espèce. Les conflits sont climatiques (cache) et ne pourront s’apaiser dans un écosystème qui change à une telle vitesse. Le danger n’est pas la surpopulation mais la sur-concentration de cette population qui cristallise les tensions et les haines.

Nous sommes en guerre depuis toujours, c’est ce qui nous pousse à progresser. Le numérique n’est qu’un catalyseur qui réduit le temps et l’espace, confisquant notre attention au service du marketing. Il est possible d’en faire autre chose, pour du bien commun, pour de l’entraide et de la réflexion distribuée.

Alors oui, nous sommes en guerre et cette guerre s’appelle vivre en communauté dans un espace fini. Je ne crois pas à l’insouciance perdue qu’il faudrait retrouver (cache), même collectivement. Saisissons cette chance pour prendre pleinement conscience ensemble de cet état avec du recul et du discernement. Nous reconstruisons ce monde chaque jour et je crois en notre capacité à le faire évoluer pour réunir les conditions propices à une vie digne pour tous. Nous avons le choix de voir nos enfants vivre en paix ou reposer en paix.

2015-11-21 Sécurité et impression

Une clé GPG en QR-code, pourquoi pas, mais il ne faut pas le générer à partir d’un outil en ligne, fût-il hébergé par lehollandaisvolant (la clé privée ne doit jamais partir sur le réseau) :)

Pour la même raison, éviter de l’imprimer sur une imprimante réseau.

Pour le générer, qrencode le fait localement. Par contre pour le scanner, je n’ai pas d’outil sur PC (j’ai Barcode Scanner sur Android). Si tu en connais, ça m’intéresse :)

Romain me rappelle à juste titre qu’une impression comporte des risques non négligeables. Du coup, si vous connaissez un moyen d’imprimer/scanner la clé GPG de manière sécurisée ça m’intéresse. Il faudrait pouvoir faire confiance à beaucoup d’intermédiaires sachant que les drivers d’imprimantes ne sont pas réputés pour être fiables…

Timo me précise par email le jour même que le code est téléchargeable pour être exécuté en local et qu’il y a un décodeur associé utilisable à partir d’une webcam ou d’un fichier.

2015-11-22 Révolte et révolution

Philosophe du XXème siècle, Jacques Ellul voit dans la société technique (qu’il définit par celle qui cherche à tout prix l’optimisation d’elle-même) une société qui se focalise sur les moyens, renvoyant les finalités à une telle périphérie qu’elles en deviennent inaccessibles. Il en découle la loi de Gabor : « tout ce qui est possible sera réalisé, non pas parce que c’est intéressant, mais parce que c’est possible ».

La société technique est donc une fin en soi qui produit de l’absurde. Le sens ainsi chassé, disparait la tension possible entre ce qui est et ce qui pourrait avoir du sens. Privés par nous-mêmes, collectivement, de la possibilité de concevoir le sens, ce sont les idéaux, carburant des révolutions, qui disparaissent, entrainant la disparition de ces dernières. La société technique absorbe donc toute possibilité de révolution. Ne resterait-il qu’un pis-aller, sous forme d’une la révolte individuelle, instinctive face à l’absurde ?

Jacques Ellul propose une « révolution nécessaire », d’un tout autre ordre. Il oppose à la loi de Gabor le concept de « non-puissance » : la possibilité de faire, mais le choix assumé de ne pas faire. Cette distanciation « restitue à l’homme sa dimension en épaisseur, qui la technique lui enlève ». Cet acte de non-puissance n’est évidemment pas un engagement dans la société technique, mais ce n’est pas un désengagement non plus. La non-puissance est une distanciation, un dégagement, depuis lequel, réinvesti de sens, l’engagement redevient possible.

Il propose également de penser cette « révolution nécessaire » dans un contexte de rééquilibrage entre individu et collectif, donc incarnée en petits groupes, connectés entre eux, et qui peuvent avoir un véritable impact sur leurs vies (c’est en lien avec le personnalisme de Mounier).

Résumé d’Aurélien au sujet de Révolutions ! (1/4) : Jacques Ellul : « exister, c’est résister » ?

Suite à la note relative à la guerre, Aurélien (Twitter/Newsfeed) me propose d’écouter l’émission de France Culture dédiée à Jacques Ellul et à la notion de non-puissance technique. Il va me falloir du temps pour digérer cette proposition.

Et de conclure avec une transcription de la vidéo proposée par Christian dont je rappelle les proposition à offrir à la jeunesse pour lui éviter de tomber dans le fanatisme haineux :

  1. offer youth something that makes them dream, of a life of significance through struggle and sacrifice in comradeship.
  2. offer youth a positive personal dream, with a concrete chance of realization.
  3. offer youth the chance to create their own local initiatives.

Scott Atran on Youth, Violent Extremism and Promoting Peace (cache)

On est bien loin des lois liberticides… Du coup les propositions me font penser à la citation que je pensais être de René Dubos et qui en fait serait de… Jacques Ellul ! La boucle est bouclée.

Penser globalement, agir localement

Scott Atran aurait probablement préfixé Rêver mondialement :-).

2015-11-23 Écriture et régularité

Il n’y a qu’une seule règle pour le Projet Bradbury, du moins à mon sens : la régularité. C’est un point essentiel. Le but d’un Projet Bradbury est de s’engager sur le long terme. De fait, c’est un peu un anti-Nanowrimo, même si les nanoteurs ont toute mon admiration et mon respect : ceci n’est pas un sprint, mais un marathon. Il ne s’agit pas de battre un record, mais de transformer votre cerveau, vos mains, vos doigts, de vous forger une musculature intellectuelle, de façonner des habitudes, de vous obliger à écrire en somme (je le comparais moi-même pour plaisanter à un séjour d’un an dans un monastère Shaolin).

Faites votre propre Projet Bradbury (cache)

Je découvre via Éric le principe d’un Projet Bradbury :

Écrire un roman, c’est compliqué: vous pouvez passer un an, peut-être plus, sur quelque chose qui au final, sera raté. Écrivez des histoires courtes, une par semaine. Ainsi vous apprendrez votre métier d’écrivain. Au bout d’un an, vous aurez la joie d’avoir accompli quelque chose: vous aurez entre les mains 52 histoires courtes. Et je vous mets au défi d’en écrire 52 mauvaises. C’est impossible.

Ibid.

Et c’est marrant car je me disais la semaine dernière que cela pourrait être une suite à cette écriture quotidienne pour 2016 : passer à un format de publication hebdomadaire (en conservant une écriture quotidienne). Je voyais cela comme une suite de lettres ayant été assez fan du Manuel d’écriture et de survie de Martin Page. Peut-être à un jeune athlète, peut-être à un vieux photographe, peut-être à une développeuse en reconversion, peut-être aux trois à la fois, peut-être une concrétisation d’un livremail, peut-être…

2015-11-24 Service Workers

A service worker is a script that is run by your browser in the background, separate from a web page, opening the door to features which don’t need a web page or user interaction. Today, they already include features like push notifications and in the future it will include other things like, background sync, or geofencing. The core feature discussed in this tutorial is the ability to intercept and handle network requests, including programmatically managing a cache of responses.

The reason this is such an exciting API is that it allows you to support offline experiences, giving developers complete control over what exactly that experience is.

Introduction to Service Worker (cache)

Il y a quinze jours je commençais à m’intéresser sérieusement aux Service Workers et depuis Jeremy Keith (cache) puis Brandon Rozek (cache) ont implémenté leurs premières itérations suivis de près par une annonce de David Walsh (cache) sur le lancement de serviceworke.rs par Mozilla. Au-delà de l’aspect offline décrit par le Guardian (cache) et CSS Tricks (cache), on peut aller plus loin comme faire du chargement dynamique d’images en fonction du support par le navigateur (cache) ! Même si c’est peu supporté pour l’instant, ça donne envie d’essayer pour ceux qui en ont la capacité (sans effets de bords pour les autres).

Les Service Workers ouvrent clairement une autre dimensions dans le développement web. Et pourtant, je ne peux m’empêcher de voir les risques associés. Peu de contrôle est laissé à l’utilisateur pour gérer son cache — cette responsabilité étant laissée aux développeurs (cache) — ce qui signifie que chaque requête coûte potentiellement beaucoup plus que le contenu affiché. Aucun article sus-cité ne mentionne le surcoût en terme de bande passante de télécharger des pages dans le dos de l’utilisateur et pourtant cette pratique va se généraliser. Bientôt des extensions pour limiter un tel usage ?

Si je vais au bout de mon implémentation, je ferais en sorte de laisser le choix au visiteur concernant la taille et le nombre de requêtes à effectuer via les Service Workers. C’est la moindre des choses. Asynchrone ne veut pas dire gratuit, l’anticipation d’une déconnexion doit rester un choix explicite. Au passage, j’ai découvert upup.

2015-11-25 Pas de favoritisme

L’intérêt renouvelé de l’utilisation des marques-pages tient également au fait qu’avec un tel outil de tri, je joue de façon bien plus intéressante avec les mots, ma mémoire, et les associations d’idées, à la manière de concevoir des cartes heuristiques. Et l’essence est là : jouer avec les mots, découvrir de nouvelles associations, écrire de nouvelles phrases.

Marques-pages (cache)

Je n’ai plus de favoris dans mon navigateur depuis au moins cinq ans (au-delà ma mémoire flanche). Par contre je me sers de l’Awesome Bar de Firefox comme d’une recherche locale au besoin et j’ai pas mal d’onglet ouverts pour stocker les pages en cours de lecture que j’essaye de maintenir en-dessous de la cinquantaine. Lorsqu’un lien est suffisamment pertinent pour me faire réagir, je le publie ici avec son cache. Cela transforme de fait cet espace en mémoire externalisée, décentralisée et transportable dans laquelle je peux chercher et que je partage en plantant des graines.

Je n’ai aucun « site de référence » où je vais régulièrement, ma veille (cache) s’effectuant surtout via mon aggrégateur et dans une moindre mesure ma timeline Twitter. À part quelques blogs techniques de boîtes, je ne suis que des personnes, un peu moins de 200 à ce jour. Pour préparer une conférence, je stocke les liens dans le fichier markdown qui me servira de brouillon. Pour un billet avec une multitude de liens, cela reste dans des onglets jusqu’à la rédaction. Il y aurait certainement plus sophistiqué, mais cette légèreté me convient pour l’instant.

2015-11-26 Apprentissage et bonheur

Pour Arthur Poropat, ces études montrent qu’il est important d’être conscient qu’apprendre nécessite de faire des efforts. Les mauvaises notes ne signifient pas que vous êtes bêtes ou que l’enseignant est mauvais, mais d’abord que vous avez besoin de travailler. Apprendre ne rend pas heureux.

Les étudiants ne savent pas ce qui est le mieux pour apprendre (cache)

Cette lecture m’a rendu malheureux. N’y a-t-il pas du bonheur dans l’effort et dans son résultat ? Est-ce qu’en ne donnant aux étudiant que ce qu’ils demandent (cache) on tombe dans la facilité ? Ce n’est pas ce que j’ai pu constater dans mes cours. Au contraire, c’est généralement l’effet inverse qui se produit avec une soif d’aller au-delà de leurs compétences sur le temps qui nous est imparti.

Malgré cela, il va falloir que je leur mette des notes, et ça me fait bien suer…

2015-11-27 Deux ans

Tout ce qu’on apprend à l’enfant, on l’empêche de l’inventer ou de le découvrir.

Jean Piaget

La responsabilité d’accompagner la formation d’une nouvelle personne est incroyable. Elle prend la forme d’un pharmakon (cache) dans toute sa dualité et mène autant à la fierté qu’à la culpabilité. Deux extrêmes faciles dans lesquels je ne veux pas tomber et que je remplace par la bienveillance et l’encouragement. Et autant que possible la liberté.

C’est peut-être ce que j’ai trouvé de plus difficile ces deux dernières années. Réussir à ne pas altérer son enthousiasme, sa curiosité et son expérimentation. Autant innés qu’acquis. Réussir à voir dans tous les échecs le chemin de l’apprentissage vers une autonomisation et une nouvelle compréhension du monde. Remettre en question toutes les négations avant de les formuler, tous les avertissements qui n’ont pas attrait à la sécurité, toutes les conventions culturelles archaïques. C’est dur et c’est peut-être le plus épuisant dans la parentalité : continuer à apprendre et à s’adapter pour grandir ensemble. Pour vivre ensemble.

2015-11-28 Cadeaux locaux

Cela va faire la troisième année que je m’impose de faire mes cadeaux de noël dans un périmètre que je peux parcourir à pied. Une occasion de faire vivre l’économie locale en recréant du lien avec mes commerçants voisins. J’ai la chance d’avoir deux maisons d’édition à domicile : Actes Sud et Harmonia Mundi.

2015-11-29 Crowdfunding et coopératives

Le Faircoin sert aujourd’hui à financer des coopératives d’économie solidaire dans le sud. La Faircoop va faire du crowd funding avec une plateforme qui s’appelle coopfunding.net. Tous les coopérateurs paient 5% de leurs revenus à la coopérative dont une partie servira aussi à acheter des Faircoins. Cela fera monter la valeur de la monnaie.

L’hégémonie du libéralisme a été cassée par le numérique (cache), Michel Bauwens

Après ma charge contre le crowdfunding le mois dernier, je découvre cette interview de Michel Bauwens qui parle de CoopFunding et de plein d’autres choses intéressantes que je vous laisse aller découvrir. La démarche mériterait d’être étendue pour vérifier ce que cela produit et la description donne à réfléchir, les critères étant assez stricts. Pour le moment ?

2015-11-30 Histoire déconnectée

Si une telle évolution se produisait, les idées des Lumières devraient être conservées dans des bibliothèques d’opposition et des “universités volantes”. Compte-tenu de la facilité avec laquelle un gouvernement autoritaire peut censurer les services en ligne, il faut aujourd’hui s’assurer que les travaux à transmettre à la prochaine génération qui s’opposera à la Réaction sont disponibles hors-ligne, voire sur support physique, dans des formats ouverts.

La logique de l’autoritarisme (cache)

Il se trouve que de telles solutions existent (code) aujourd’hui, à nous de nous assurer qu’elles ne soient pas dénaturées lorsqu’elles sont sponsorisées par Google et récompensées par l’État.

2015-12-01 Mots de casse

Je me dis parfois qu’il serait tellement simple pour un service web de refuser à leurs usagers l’authentification ponctuellement (et/ou à un faible pourcentage) pour obtenir un mot de passe alternatif qui serait très probablement utilisable sur un autre service. C’est même pire car avec ces deux mots de passe (ou plus…), je couvre potentiellement 100% de leurs vies numériques. Ces hypothèses demanderaient à être vérifiées.

PS : Je parle de gens normaux.

2015-12-02 Remerciements et Open-Source

There is also simply telling someone involved with open source you appreciate what they do. Whether this is by email or over IRC or in-person to some contributor of the project, having someone literally say "thank you" goes a long way. I know this might sound trivial, but realize that people contributing to open source over long periods are basically either dealing with negative people or people who are cordial but still want something from you. Having someone who doesn’t explicitly want something from you and still feels like saying "thanks" shows that your hard work is appreciated in general and not in some specific instance where you fixed some bug someone needed help with. Think of it as the difference between when you do something for a loved one and then they give you a hug as thanks versus that same person simply giving you a hug out of the blue just because they care; the former hug is nice but the latter one is what makes you feel truly appreciated.

How I stay happy making open source software (cache)

Je dois pouvoir compter sur les doigts d’une seule main les remerciements reçus suite à mes publications en open-source au cours des dix dernières années. Ce n’est pas ce qui m’a décidé à ne plus libérer de code en mon nom mais cela a peut-être contribué indirectement à ma baisse de motivation. La principale raison étant la maintenance et toute la pression cognitive associée, bien souvent sur du code que je n’utilise plus. J’écrivais il y a bientôt 4 ans :

Idea for @github: adding a “Thanks” tab, because sometimes you just want to thank developers and this is not an Issue ;)

Ce n’est malheureusement toujours pas le cas. Aujourd’hui j’ai envoyé des emails aux auteurs des bibliothèques que j’apprécie :

Subject: Thanks for your work and energy

Hello,

Thank you for your contributions to open-source, I really appreciate your work and use it daily. You saved me a bunch of time, gave me new insights in my developments and made me feel part of a community of enthusiastic commoners. You simply rock, keep up!

Cheers,
David
--
🔐 https://larlet.fr/david/signature/

C’est un gabarit mais c’est déjà mieux que rien. Je vais essayer de le faire régulièrement.

2015-12-03 Confidentialité et faiblesse

Most users aren’t willing to switch their email address or mail client just because of privacy. It simply isn’t that much of a priority to most users. Much more important are design, ease-of-use, functionality, reliability and performance. You could argue that this is a sad fact of life, but it’s also very understandable. People are very good at assessing their own personal threat models. Now while having all your data scooped up by the NSA sounds terrifying to us techies, most people see little to no immediate threat in that. There are simply more important things to worry about in everyday life like financial security, the health and well-being of your family, walking the dog, or showing off to your friends by posting a recent selfie on facebook. We are after all human beings with real life concerns and data privacy simply isn’t at the top of our list.

Whiteout Post Mortem  (cache)

C’est malheureusement ce que je peux observer autour de moi également : la confidentialité fait peur mais ne vend pas. Poster des photos sur Facebook : pas de problème, localiser ses tweets : aucun souci, envoyer toutes ses traces numériques dans un ordinateur américain : who cares?

La perte de confidentialité est acceptée car celle-ci est considérée comme un bien personnel et non comme un bien commun. C’est cet individualisme qui fait que l’on manque de recul. La question n’est pas de savoir ce qu’ils vont faire de mes données mais ce qu’ils peuvent faire de nos données, collectivement. Quels patterns de manipulations sont décelables ? Quels passages à l’acte (d’achat) deviennent prévisibles ? Vous n’avez rien à cacher à titre individuel mais c’est la faiblesse de notre humanité que nous avons à cacher ensemble.

2015-12-04 Vitesse et standardisation

I find it interesting that we beat ourselves up because the web isn’t as good as other technologies. That’s always been the case. Turning that frown upside down, you can look at history and see the existence of those things helped the web in the long term. They pointed to what we wanted and didn’t want the web to be able to do. CD-ROMs, Flash, and native can act as the R&D department for the web. “That’s really cool, I really want to be able to do that!” Whether it’s animation in Flash or access to the camera in native. These proprietary, closed systems are missing a lot of what you get on the web, but they come with all of this surface-level, cool stuff. But that’s ok. We can take what we want, discard what we don’t want, and put that into the web.

The catch is the speed at which that happens. It’s never fast enough for developers. Developers complain that the standards process is too slow. Many times, that’s absolutely true. The standards process can be too slow. But you don’t want to rush a lot of this stuff because there are big implications. Once something ships in a browser, it’s there for good. It’s very hard to remove something. You want to make sure you get it right. A lot of the stuff we want to be able to do to get on the same footing as native involves access to device APIs. You definitely want to be able to get that right, for security reasons. You don’t want to make mistakes there. Yes, it’s going to be slower. There are compatibility issues, too. A native platform only needs to work on one platform. The web needs to be able to work everywhere.

Understanding the Web with Jeremy Keith (cache)

Cette interview de Jeremy Keith est un petit bijou. À lire et relire pour… comprendre le Web.

2015-12-05 Nostalgie embrumée

Je faisais un peu d’archéologie hier soir et je retombe sur un billet qui a 11 ans :

Ready ? Go ! Dans XX années, vous allumerez votre machine et là, plus de système d’exploitation, uniquement deux champs à remplir : votre serveur distant et votre password. En effet, votre machine ne servira que de passerelle d’accès à votre serveur distant et sera donc très épurée (souris, clavier, lecteur de support numérique), vous aurez juste besoin d’une connexion très haut débit. Arrivé à votre page d’accueil, vous avez accès à vos mails, vos films stockés sur un disque dur distant aussi, vos mp3, vos photos de vacances... tout ce que vous avez actuellement sur votre disque dur sera accessible sur internet et c’est là où les services vont évoluer : vous pourrez stocker vos photos de vacances directement sur le serveur de la fnac qui vous offrira un espace de stockage si vous développez vos photos chez eux, vous aurez un espace de la même nature pour les films, la musique, vos documents persos, etc... après il suffit juste que l’infrastructure de votre serveur principal soit assez puissante pour vous permettre de réaliser toutes les tâches demandées mais a priori vous pourrez les diviser en fonction de leur but : vous demanderez au serveur d’Adobe de se servir de sa puissance de calcul pour retoucher votre photo et ainsi de suite.

Le Web arriverait-il à maturité ?

Une jolie définition du cloud, ce à quoi Laura répondait :

Rassure-moi, ta conclusion, c’est une vision d’horreur, pas un espoir enthousiaste? Parce qu’en ce qui me concerne, perdre la maîtrise de mes propres photos, ou textes, ou n’importe quoi d’autre, en être dépouillée pour qu’elles restent entre les mains d’entreprises privées aux intérêts orthogonaux (voire antagonistes) aux miens, c’est tout sauf un rêve...

Un jour, vous serez heureux d’économiser de la place disque chez vous, et le lendemain vous vous retrouverez à devoir louer l’utilisation de ce qui vous appartient légitimement, à courir le risque de le voir confisqué, pris en otage, revendu au plus offrant, utilisé contre votre volonté... Les logiciels sous GPL commencent toujours par une mention de copyright, et ce n’est pas un hasard: je veux être libre, y compris de diffuser gratuitement ce que je crée.

Puis avec l’optimisme et les convictions de la jeunesse :

Non Laura, ce n’était pas du tout une vision d’horreur, il faut savoir que la legislation va avancer avec l’informatique et que la confidentialité des données « devrait » être préservée...

En ce qui concerne ta seconde remarque, tu ne loueras pas tes données personnelles mais seulement le support, c’est comme si tu louais ton ordinateur en quelque sorte et que celui-ci était distant.

C’est peut-être une vision optimiste que je propose mais l’avenir nous le dira :-)

Laura, si tu me lis encore, tu peux sourire. Quelle naïveté, jeune moi :-).

2015-12-06 Cosmos et aboutissement

Au même moment, j’ai accepté. C’était, OK, peut-être tu ne rentres pas à la maison mais c’est égal quoi. Maintenant je pense c’est faux mais à ce moment c’était comme ça. Mais après tu sais pendant tu grimpes tu es vraiment concentré de pas tomber. Ça te fait quand même peur. C’est pas facile à expliquer, tu as accepté mais tu veux pas. Tu veux encore rester plus long possible, mais dans la tête tu es sûr, tu es déjà passé la vie. C’est quand même un stress énorme.

[…]

Après ça commence vraiment à faire peur, ça revient à la vie tu vois parce que tu sens maintenant oui mais peut-être maintenant je reste en vie mais c’est encore super dangereux. C’est encore loin mais c’est plus la même difficulté que en haut et tu réfléchis beaucoup plus mais tu as plus peur que en haut, parce qu’en haut c’était clair, tu rentres pas, et là maintenant c’est tu veux rentre, c’est possible et ça fait peur.

On ne marche qu’une fois sur la Lune, Ueli Steck

Témoignage poignant d’Ueli sur son ascension de l’Annapurna en solo. Le rapport qu’il a eu volontairement avec la mort est rare avec cette abnégation suivie d’espoir puis de dépression. Je vous laisse trouver la version complète en ligne car la retranscription manque d’émotion. Dans une moindre mesure, cela me fait penser à la Dead Zone de l’Everest, un des seuls endroits au monde où la solidarité n’est pas de rigueur.

Si Kilian dépasse les limites physiques, j’ai l’impression qu’Ueli dépasse les limites mentales, entre transcendance de l’instinct de survie et inconscience de la beauté de la vie.

2015-12-07 Bien commun et qualité

Le compromis avec le libre est donc inévitable parce que le libre est une idéologie, un truc placé au-dessus de la réalité, vers lequel on doit tendre sans jamais pouvoir l’atteindre. Je faute en vendant de temps en temps des livres sous copyright, en travaillant sur les logiciels propriétaires, eux-mêmes tournant sur des systèmes propriétaires et des machines propriétaires, tout ça baignant dans une économie prédatrice.

Le commonisme germe dans une société non-libre. Il naît d’elle, il s’en échappe peu à peu, il lui faudra bien longtemps pour qu’il lâche toutes ses amarres. Quelques-unes me retiennent encore. J’espère très minces. Je n’ai pas l’illusion de pouvoir les couper toutes. Je ne connais personne qui y ait réussi.

La cohérence est une utopie, l’incohérence un délit (cache)

Bon jusque là j’étais à peu près d’accord, mais le paragraphe suivant de Thierry Crouzet me fait grincer des dents :

Ulysses est bon selon moi parce que nous sommes un certain nombre à l’avoir acheté et à financer la petite équipe de développeurs (on n’est pas là dans le capitalisme exacerbé, notez-le bien). Je ne connais aucun logiciel libre d’écriture aussi stimulant. Ça vaut la peine de se demander pourquoi ? Parce que nous ne donnons pas suffisamment pour entretenir le développement du logiciel libre et parce que les GAFAM avalent les meilleurs développeurs. Cette double tendance pénalise le libre, de plus en plus à la traîne derrière le privateur. Ça m’attriste, mais il faudrait peut-être ouvrir les yeux. Le libre n’a pas trouvé à grande échelle son modèle de développement. Je crois que la seule solution viendra du revenu de base.

Ibid.

Que les meilleurs développeurs soient à la solde des GAFAM est pour moi un mythe mais soit. Même si c’était le cas, la bonne nouvelle c’est qu’il « suffit » d’être un développeur moyen pour produire du code de qualité. Or, ce n’est pas la qualité du code qui fait la qualité d’Ulysses, c’est l’attention portée à l’utilisateur, c’est l’intelligence de l’équipe à savoir s’adapter et à poursuivre une vision commune sur le long terme. Sans parler du marketing. Alors oui dans ces domaines le libre est mauvais car il se limite à de la solidarité, les développeurs sachant à peu près faire des outils pour leurs pairs et encore. Et ce n’est pas une question d’argent mais d’empathie et de collaboration avec d’autres professions.

Pourtant cette problématique d’attention pourrait être résolue en incluant des utilisateurs dans les projets libres mais on atteint ici un problème culturel : les développeurs sont trop en avance dans leur réflexion sur le bien commun et du coup se retrouvent seuls faute de transmission et d’enseignement ces vingt dernières années. C’est dommage car des outils géniaux ont été produits qui pourraient être utiles à d’autres communautés de pratiques.

Le don n’est pas une solution. Il n’est qu’une ponction à l’économie prédatrice. Il reporte la dépendance à un tiers qui lui reste attaché. Accepter cette logique est une forme d’irresponsabilité. C’est un peu comme le bouddhiste qui se retire du monde, mais a besoin que d’autres y restent pour le nourrir (facile d’être sage dans ces conditions). Voilà pourquoi je n’ai jamais fait campagne pour recevoir des dons sur mon blog diffusé librement (j’essaie de ponctionner en direct l’économie prédatrice, je fais le sale boulot moi-même).

Ibid.

Entre le revenu de base et le don, il y a peut-être le fait de travailler sur du bien commun en étant rémunéré par le pot commun pour financer un cadre commun local. Ce modèle pourrait passer à l’échelle et même être décliné dans d’autres pays.

2015-12-09 Keyframes

We can even view a keyframe as a metaphor in life. A keyframe is a point where we have excellent clarity - we feel we know exactly what we need to keep doing, what we need to stop doing, what we need to start doing. But then the moment passes, we chug along, and after a while it’s not all that easy to measure exactly how much progress we’ve made, or whether we’re headed in the right direction. Not until the next moment of clarity. The next keyframe, if you will.

djangogirls as a keyframe moment (cache)

J’aime cette métaphore, elle me transporte dans le film de ma vie, keyframe après keyframe. En oubliant parfois les différents intermédiaires, les routines sans rustines et les choix qu’il a fallu faire pour arriver à l’image complète suivante. Nette mais déjà fausse, faute de temps.

2015-12-10 Culture Web

Et tiens, c’est quoi la « culture web » ? Qu’est-ce qui vous semblerait important de transmettre, de cette culture ?

Cette question posée par Romy sur Twitter me travaille depuis. Si je ne devais retenir que trois éléments de cette culture (encore faudrait-il définir culture…) :

  • l’expérimentation : le web est un terrain d’exploration extraordinaire car il se co-construit chaque jour, le partage n’est qu’une conséquence de ce qui est découvert et transmis grâce à lui ;
  • l’accélération : le web est un accélérateur de données, dans le temps et dans l’espace, intégrer cette culture c’est prendre conscience et embrasser cette impermanence pour le meilleur et pour le pire ;
  • la résilience : malgré les censures, les difficultés d’accès et la centralisation du réseau, le web est toujours là dans sa futilité, sa vulgarité et sa beauté.

Le Web est un potager que l’on cultive. Tous ensemble.

2015-12-11 Transparence et 18F

There are five major reasons why you should be this transparent too:

  1. Working in the open drives higher quality results.
  2. Aggressively over-share, and default to public.
  3. It’s taxpayer money.
  4. If we’re this transparent, we’re probably doing fine.
  5. Keeps future users knowledgeable and aware.

What exactly do we even do all day? (cache)

Je suis vraiment admiratif de ce qu’arrive à produire et à partager 18F, autant sur leur blog que via leurs guides. Voir aussi le U.S. Digital Services Playbook (cache) et son pendant anglais Digital by Default Service Standard (cache). Inspirant.

2015-12-12 Homepage

With native content consumption on third-party platforms growing, will it still be relevant for media companies to invest significant resources on running and maintaining their websites and mobile apps?

The rise of “homeless” media (cache)

Lecture suite à ma réflexion sur la possession des contenus qui me confirme la dualité instantané vs. durée (Voici n’a peut-être pas besoin de site mais Le Monde Diplomatique si, pour caricaturer) et qui me fait également rebondir sur :

Homepage.
Even the word sounds old.
Today the news lives where you live.

NowThis

Cette remise en question de la page d’accueil n’est pas nouvelle et la récente refonte de Quartz en est une belle illustration :

"The idea of a strictly traditional homepage that people bookmark to find stories is, we think, outdated," says Quartz Executive Editor Zach Seward, explaining the redesign. "But at the same time, we don’t want to be defeatist about it. There’s still a large number of people coming to the homepage each day. So we’ve asked ourselves, ’If you start throwing out the old conventions, what can you do instead?’"

Traditional Homepages Are Obsolete, Says Quartz. Here’s What They Built Instead. (cache)

Cela fait un moment que je veux retravailler la page d’accueil de ce site et même avec 64 sources d’inspiration (cache) pour le faire j’ai encore du mal à trouver la bonne combinaison, surtout avec l’incertitude de continuer à publier quotidiennement. Faute de statistiques et d’interviews (ou pas ?), j’ai du mal à déterminer qui passe par la page d’accueil et pour quelles raisons. Peut-être que le dernier contenu publié en page d’accueil devient alors le plus pertinent…

2015-12-13 Couper la moutarde

Someone once suggested to me that a client’s website should include two states. The first state would be the ideal experience, with low color contrast, light font weights and no differentiation between links and text. It would be the default. The second state would be presented in whatever way was necessary to meet accessibility standards. Users would have to opt out of the default state via a toggle if it wasn’t meeting their needs. A sort of first-class, upper deck cabin equivalent of graceful degradation. That this would divide the user base was irrelevant, as the aesthetics of the brand were absolute.

It may seem like an unusual anecdote, but it isn’t uncommon to see this thinking in our industry. Again and again, we place the burden of responsibility to participate in a usable experience on others. We view accessibility and good design as mutually exclusive. Taking for granted what users will tolerate is usually the forte of monopolistic services, but increasingly we apply the same arrogance to our new products and services.

Designing with Contrast (cache)

C’est la raison pour laquelle l’approche qui consiste à couper la moutarde (cache) me laisse un goût amer, scinder ainsi la population des visiteurs entre riches et pauvres (ou tout autre euphémisme de type éduqué numériquement) est brutal et ne correspond pas à la réalité du web qui est loin d’être binaire. C’est pourtant un compromis alléchant qui donne bonne conscience aux développeurs mais la frontière est mince entre amélioration progressive et discrimination radicale. Cela me rappelle la vieille dualité entre mobile et desktop, il serait peut-être temps de définir collectivement quels sont les breakpoints d’amélioration acceptables comme on a pu le faire avec le responsive. À chacun ensuite d’appliquer ceux qui sont pertinents pour son audience, son équipe et son but lorsqu’il produit des sites web.

When we present users with a slow website, a loading spinner, laggy webfonts—or tell them outright that they‘re not using a website the right way—we’re breaking the fourth wall. We’ve gone so far as to invent an arbitrary line between “webapp” and “website” so we could justify these decisions to ourselves: “well, but, this is a web app. It… it has… JSON. The people that can’t use the thing I built? They don’t get a say.”

We, as an industry, have nearly decided that we’re doing a great job as long as we don’t count the cases where we’re doing a terrible job. We want the user to think about The Website—to sympathize with us—over their reason for being there. We’re making them sit through a lecture about furniture design every time they try to sit down in a chair.

When we prize our own convenience over craft, we’re building a web for us, the developers. We’re building a web that’s easy to assemble but lousy to use.

That’s not what the web is to me, though—that’s not what this job is, to me. The meaning I take from this gig doesn’t come from getting a div to show up in the right place. It comes from knowing that working just a little harder can mean that entire populations just setting foot on the web for the first time will be able to tap into the collected knowledge of the whole of mankind.

Smaller, Faster Websites (cache)

2015-12-14 Le 12e principe

Réalisez les projets avec des personnes motivées.
Fournissez-leur l’environnement et le soutien dont ils ont besoin
et faites-leur confiance pour atteindre les objectifs fixés.

Redécouvrez le 12ème Principe (cache) (source)

Motivation. Environnement. Confiance. Aucune notion d’utilité malheureusement.

2015-12-15 Conférences et ressources

J’ai enchaîné aujourd’hui les ENMI et les mardis de Lure. Deux conférences que j’affectionne particulièrement.

Les rencontres de Lure se déroulent sur une semaine mais publient également une revue Avant/Après qui résume les interventions précédentes, de l’année en cours ainsi que des enrichissements. Un travail considérable mais qui avec les mardis et différents couriers envoyés au cours de l’année permettent d’avoir une continuité.

Les ENMI proposent des ressources pour préparer la conférence. Ici aussi c’est suffisamment rare pour être signalé et apporte un gros plus à la conférence histoire de ne pas être perdu dans la réflexion, un moyen d’entrer dans l’idéosphère de cette communauté. Les interventions sont ensuite discutées pendant la conférence via PolemicTweet à défaut de pauses et de discussions.

Cela me donne des idées pour de futures événements sur la continuité des savoirs échangés avant, pendant et après de telles rencontres.

2015-12-16 Enseignement et Typographie

Deux présentations exceptionnelles lors des mardis de Lure.

La première par Louis Eveillard nous parlant de la boîte noire pour appréhender la programmation de manière visuelle et physique, de Logo au Piccolo/Zumo. Fascinant. Puis, rejoins par Pauline Gourlet, ils nous ont présenté leur travail avec l’atelier des chercheurs pris en main par les jeunes élèves pour réfléchir au design de manière itérative et documentée. Avec des réflexions sur les outils, les interfaces et les jeux associés. Mais aussi sur la prise de recul difficile par les enfants et les difficultés à collaborer ou échanger.

La seconde par Jérémy Landes-Nones qui donne des cours de graphisme et lettres à des enfants de 4 à 6 ans. Donner des recettes, les laisser bidouiller, s’en affranchir, du Shuhari dans toute sa splendeur. Avec une recherche de solutions pour les aider à surmonter le confort d’une recette maîtrisée. Je retiendrai le travail sur les textures et la possibilité de découvrir le pixel-art et la typographie à partir d’un matériel simple comme des Duplo sur lesquels on colle de l’éponge ou la confection de livres reliés à partir de travaux ultérieurs.

2015-12-17 Imperium et Frédéric Lordon

L’Humanité s’est fragmentée en ensembles finis distincts.

Qu’est-ce qui fait faire consistence aux ensembles humains ? Qu’est-ce qui fait que des humains regroupés ça fait un corp politique ? Une ensemble humain ne fait corps que s’il est davantage qu’une collection, qu’un éparpillement juxtaposé. Les humains en réunion produisent eux-même le principe de leur propre consistance politique car ceci se produit endogènement. Ce n’est pas l’effet d’un vouloir, ils ne savent pas qu’ils le font ni comment ils le font. C’est ça l’idée du social.

Les humains produisent des choses qui vont s’autonomiser, vivre de leur vie propre et imposer leur logique sociale à leur propres créateurs, c’est à dire nous. Nous sommes dominés par nos créations. Qu’est-ce qu’on fait de la perspective de l’émancipation dans l’ensemble de ces corps donnés.

L’Imperium c’est ce droit que définit la puissance de la multitude. Le collectif est le réservoir ultime de la puissance dans le monde humain, la multitude s’auto-affecte dans la plus grande opacité. Les valeurs sont créées par nous mais s’imposent à nous.

Qu’est-ce qui fait que la monnaie est acceptée ? C’est que la monnaie fait socialement autorité. [Falsifier de la monnaie] c’est une atteinte directe à l’ordre social (d’où les sanctions démesurées). La fragmentation de la monnaie est une signe de dislocation sociale.

Est-ce que l’opposition au néo-libéralisme pourrait constituer la matière d’un affect commun ?

Ces circulations de puissance de la multitude en quoi consistent ces auto-affections sont des tentations irrésistibles pour tous les entrepreneurs politiques qui évidemment n’ont rien d’autre chose à l’idée que de venir capter cette puissance collective pour l’ajouter à leur puissance individuelle. La grandeur du grand homme ne lui appartient pas, il capte la grandeur de la multitude. Le pouvoir des dirigeants n’est pas autre chose que la puissance confisquée de leurs propres sujets.

Le problème c’est que l’État c’est nous.

Frédéric Lordon présente IMPERIUM

La présentation d’Imperium par Frédéric Lordon donne beaucoup de matière à réfléchir. Un bon conseil de lecture de Bernard Stiegler corrigé par Hubert Guillaud.

2015-12-18 Responsive API

Le mot ” Responsive ” veut aujourd’hui dire beaucoup de choses. Dans son article Responsive Strategy, Brad Frost nous explique la différence entre un site qu’il appelle ” Responsive Retrofitting ” et un site ” Mobile First Responsive Design “.

Illustration Stratégie Responsive vs Mobile First Responsive (cache)

Je retombe une fois de plus sur l’illustration de Stéphanie Walter et je ne peux m’empêcher d’appliquer cela aux API HTTP. Ce qu’à notamment introduit GraphQL (et qui peut être réalisé sans), c’est la faculté à avoir des données à la demande en fonction du besoin. De là à ne récupérer que les données affichées pour la résolution en cours il n’y a qu’un tout petit pas… qui permettrait de réduire le poids des échanges et la réactivité.

2015-12-19 Longues lettres

Since the spring of 2013, Artangel and the Longplayer Trust have been inviting thinkers and writers from a wide variety of disciplines to engage in a chain of written correspondence on the subject of long-term thinking. The Longplayer Letters are a chain of written correspondence on the subject of long-term thinking. Unfolding slowly over time, the letters form a written conversation in which each correspondent answers the past author in addressing the next – it is a dialogical relay, very much in the spirit of the Long Conversations.

The Longplayer Letters (cache)

Thomas m’invite à aller découvrir ce projet, probablement suite à mes interrogations. Je trouve le projet intéressant et motivant, je commence à réfléchir aux personnes qui pourraient s’embarquer dans le projet. Puis je réalise que je n’ai répondu à aucune lettre reçue de sa part au cours de ces dernières années.

Douce ironie… Culpabilité renforcée… Remise en question…

2015-12-20 L’Homme et le Réseau

World Brain traite de l’architecture des data centers, de l’intelligence collective des chatons, du trading à haute fréquence, de la survie dans la forêt à l’ère de Wikipédia, du bricolage de rats transhumanistes…

On entre dans le projet par un film long métrage qui dérive entre document, fiction et manuel. Pour le voir dans son intégralité, il suffit de se laisser porter par la vidéo, qui nous emmène d’une question à une autre.

Si l’on quitte le film, on se retrouve au milieu de vidéos, textes, photos, couvertures de livres, liens vers d’autres sites et concepts éclatés comme autant de fragments sur un tapis cartographique.

World Brain sur Arte

Je découvre ce travail grâce à Antoine (cache) et le parallèle avec les Entretiens du Nouveau Monde Industriel est intéressant. Dans les deux cas, l’évocation du Réseau comme évolution de l’Homme d’abord de manière symbiotique puis parasitaire donne des allures de science fiction aux propos. Jusqu’à ce que la réalité dépasse la fiction, et si le thème abordé était plutôt « L’Homme que nous voulons », quelle réflexivité nous offre la Toile ? Quelles pistes d’émancipation nous laisse-t-elle encore rêver ?

2015-12-21 Divertissement et Entertainment

Comment a-t-on pu en arriver à définir ce qui nous re-crée, ce qui nous fait naître à nouveau, comme une diversion, comme un oubli de soi ? Je trouve ça dramatique.

En comparaison, s’amuser, c’est ne pas muser, c’est-à-dire ne pas flâner, ne pas perdre son temps… En bref, être actif. Vivre. Et en anglais, l’entertainment consiste à… s’entretenir. Là où les Anglo-saxons voient une activité bénéfique et nécessaire au bien-être humain, nous avons réussi à déceler une diversion, quelque chose qui nous éloigne de notre nature qui consiste à… À quoi, au vrai ? À se morfondre dans un métro-boulot-dodo mortifère ?

Exception française (cache)

Je n’avais jamais remarqué cette différence dont on pourrait s’amuser. J’ai une relation complexe avec le divertissement étant à la fois dans le rejet et dans l’acceptation. Il faudrait que je creuse cela.

2015-12-22 Refonte de Noël

La fin de l’année semble être propice aux refontes. Peut-être que la recrudescence des calendriers de l’Avent techniques y est pour quelque chose dans la motivation ou peut-être que c’est pour démarrer l’année avec de bonnes résolutions. Toujours est-il que je n’échappe pas à la règle.

Dave Winer expérimente avec les WebSockets (cache), ce qui donne un code impossible à parser (et sans doctype…), Armin Ronacher propose une interface d’admin aux générateurs de sites statiques (cache) utilisant React (malheureusement c’est réduit à son propre framework/format de fichiers).

Pour ma part, je compte continuer d’explorer les Service Workers mais j’ai aussi bien envie de proposer une évolution graphique à ce site. Je vois très bien ce que je veux comme rendu final mais le choix technique est cornélien, j’hésite encore à introduire davantage de complexité et pourtant pour faire de l’ES6 et des CSSNext il faut bien utiliser Babel et Webpack… ou se résoudre à couper la moutarde sans état d’âme.

Qui laisser sur le tapis, et avec que lot de consolation ?

PS : Notez qu’en attendant j’ai mis une courte animation à l’affichage des pages car on m’a plusieurs fois fait la remarque que « les performances sont trop bonnes » pour identifier le changement de page (la première fois j’ai pris ça pour une blague mais il faut bien constater qu’il s’agit d’une expérience aux antipodes des pratiques sur le web…), j’ai aussi mis en relief les phrases en gras.

Réaction de Stéphane le lendemain (cache).

2015-12-23 Revue de systèmes

Which all begs the question: what customs and standards should we define for our code? What makes code good? If our goal is to catch & eliminate bugs during development, we must be able to clearly define what we intend a piece of code to do, and present it in a way that is legible enough for a reader to assess whether it (likely) lives up to the task at hand. And if our goal is to enable collaboration on and reuse of code, we must find a way to build rapport with our collaborators, help them understand the goals of our code, and give them a simple but precise way of communicating back to us what contributions they would like to make to support those goals.

Code Review in the Lab (cache)

J’en avais déjà parlé lors de mon billet sur la collaboration technique, il semblerait que cette pratique se démocratise avec des conseils de Mozilla ou CapGemini (cache). Etsy va un peu plus loin en proposant des revues de systèmes (cache) permettant de s’aligner en réduisant les frustrations.

Parfois la co-amélioration est plus pragmatique que la co-construction. Attention toutefois, elle ne mène pas forcément au même endroit. Soumettre une exécution c’est déjà orienter la discussion, parfois trop pour laisser libre cours aux idées des autres.

2015-12-24 Rythme vertical fluide

When starting new projects, a CSS builder’s initial concerns tend to involve typography. Setting a typographic foundation with the right mixture of ingredients can form something solid enough to support many other building blocks of design. It’s an approach that makes structural sense.

Proportions are a key ingredient to the mixture. Calibrating your type proportions for a balance of aesthetics and order can be an obsessive undertaking. It’s a challenge getting proportions right for a given screen size, let alone any possible screen size. This process can be less challenging — even for responsive designs — if you use a modular scale and let math do the work for you.

A Responsive Guide to Type Sizing (cache)

J’ai passé quelques heures hier à essayer de combiner une typographie fluide (cache) avec un rythme vertical et une proportion générale qui soient fluides également. Je m’intéresse à ces notions depuis un moment et je ne pensais pas me casser les dents dessus, la prochaine fois je m’en tiendrai aux images responsives (cache) #OhWait.

Le principal écueil vient du non support par Firefox de calc pour line-height (coucou Karl), ce qui réduit considérablement les possibilités… toutes mes tentatives ont été vaines et c’est pourtant un vieux problème (cache) imparfaitement résolu (cache) via les media queries. Avoir recours à des breakpoints me semblait aujourd’hui (cache) désuet (cache) ou plutôt une rustine dont on pouvait progressivement se passer. Je force un peu le trait mais je suis de plus en plus intéressé par une approche dépendante de la donnée avant tout, ce que je compte éclaircir d’ici Confoo.

Voici les proportions auxquelles je suis arrivé en utilisant une échelle modulaire major third :

body { font-size: calc(1rem + 0.4 * (100vw / 60)); }
h6 { font-size: calc(0.8rem + 0.4 * (100vw / 60)); }
h5 { font-size: calc(1rem + 0.4 * (100vw / 60)); }
h4 { font-size: calc(1.25rem + 0.4 * (100vw / 60)); }
h3 { font-size: calc(1.563rem + 0.4 * (100vw / 60)); }
h2 { font-size: calc(1.953rem + 0.4 * (100vw / 60)); }
h1 { font-size: calc(2.441rem + 0.4 * (100vw / 60)); }

Il est tellement frustrant de ne pas pouvoir calculer les line-height correspondants pour arriver à un rythme vertical satisfaisant. À moins de le calculer en JavaScript ? Ou d’utiliser un pré/post-processeur et de mimer la fluidité avec de très nombreux points d’arrêts calculés. Ou lâcher prise mais documenter.

Recently, CSS-Tricks ran a survey that asked its community to weigh in on topics that they face daily. I answered the survey, and one of the interesting results was for the question, “You’re stuck. You search the web. You prefer to find answers in these formats:”. The top answer was blog post. Blog post! One of the other leading answers was “Q&A format page” (something like Stack Overflow). That made me think. Why wasn’t Q&A the top answer? Maybe it’s because while web designers want something that works if we simply copy-and-paste, we are also driven by why as much as how.

Write What You Know (Now) (cache)

2015-12-25 Références typographiques

Je suis régulièrement frustré par les ouvrages qui jouent avec la typographie sans donner le nom des polices ou de leurs auteurs. Il faudrait un complément wikifonts à wikibooks.

2015-12-26 Gérer la déconnexion

Il y a des situations dans lesquelles on sait que l’on va être déconnecté. Et cela doit être le cas pour une bonne partie de la planète de manière quotidienne. Or peu d’outils permettent de passer intelligemment en mode déconnecté en sauvegardant les lectures ou vidéos en cours. De la même manière, je suis surpris du manque d’applications pour prioriser les actions à effectuer une fois reconnecté ou en étant connecté de manière sporadique et/ou avec une bande passante limitée.

Peut-être qu’une SmartCountryside serait plus utile qu’une SmartCity… mais connecter des pauvres est moins profitable.

2015-12-27 Civic Tech

Which leads us to the present. I view civic tech as a new “big tent” movement for democracy that encapsulates many smaller segments, such as gov tech, online campaigning, digital advocacy, and voting tech. I am also a firm believer that “civic” is the operative word, meaning “us” and “we.” That is, people and communities, along with our hopes, dreams and needs, and the decisions that we make together to realize them. With software continually devouring so much of our lives, I see civic tech as an opportunity to embed “we” at the center of our technology. In civic tech, technology is always the means to an end, not the end itself.

#CivicTech Primer: What is “civic tech”? (cache)

Technologie civique sonne moins bien et je ne sais pas comment rendre ce terme traduisible. Techno-civisme ?

Combien d’entre vous ont le sentiment de travailler dans ce domaine ? Êtes-vous rémunéré pour le faire ? Qu’est-ce qui vous retient de le faire ? Peut-on vivre en démocratie de manière passive ?

2015-12-28 Anti-bio

Triathlète, serial entrepreneur, David enchaîne les victoires comme il enchaîne les épreuves. Au service de votre succès, il sait mettre en pratique des technologies éprouvées et des recettes de gagnant. Illustre conférencier, David totalise plus de 10000 vues cumulées sur Youtube grâce à ses techniques de growth hacking et de self branding. Son expérience maximisera votre ROI, votre SEO et rendra vos équipes plus performantes. Écrivain moderne — philosophe du numérique diront certains — David prodigue gracieusement ses conseils sur son site internet au sein d’une communauté de plus de 1500 membres.

Devenez acteur de votre réussite dès aujourd’hui : suivez-le sur Facebook, Twitter et Medium.

La rédaction de son anti-description aide parfois à se clarifier les idées sur ce que l’on est ou du moins veut paraitre être. Du faux pour du vrai, du vrai dans du faux, exercice terriblement efficace pour savoir où l’on ne veut pas aller.

2015-12-29 Principe d’Aurélien

« dans une hiérarchie, tout employé a tendance à s’élever à son niveau d’incompétence »

avec pour corollaire que :

« Avec le temps, tout poste sera occupé par un employé incapable d’en assumer la responsabilité. »

Principe de Peter

Ce qui donne après une discussion avec Aurélien :

« dans une méritocratie, tout code a tendance à s’élever à son niveau de complexité ingérable »

avec pour corollaire que :

« Avec le temps, toute fonction sera occupée par un service incapable de réduire sa complexité. »

La méritocratie fondée sur la technique ne peut que produire de la complexité inutile pour grimper dans la pyramide en asseyant son pouvoir. Les dissonants en sont alors réduits à forker ou se taire, les simplificateurs à rester dans l’ombre. Sans autre mérite que celui d’avoir permis aux suivants de pouvoir complexifier davantage.

Et Karl de réagir :

La méritocratie est un système de valeurs élitiste. Le pouvoir de modifier est tenu par ceux qui possèdent le capital. Dans le cas de l’informatique, ce pouvoir est aux mains de ceux qui ont le capital connaissance, l’expertise du code. Ce système n’a rien d’égalitaire. C’est le bon vieux système de dominance de certains groupes sur les autres, tout en faisant croire à l’illusion que tout le monde peut participer.

2015-12-30 Performances et ressenti

Être obligé de donner une illusion de ralentissement pour que les gens comprennent que la page est chargée, ça me donne un petit tic nerveux, je ne sais pas pourquoi.

Performances trop bonnes (cache)

J’ai mis en place cette animation suite à deux emails et trois observations de personnes non techniques. C’est peu mais je n’ai malheureusement pas le luxe de pouvoir avoir plus de retours. L’avantage des observations est d’avoir pu voir la désorientation sans même que les personnes en aient vraiment eues conscience, un instant de réflexion et de balayage d’écran avant de comprendre que la page avait bien changée.

Le choix de l’animation a été difficile car je déteste les animations inutiles et j’ai fini par trouver l’affichage progressif plutôt léger et adapté. Je suis bien sûr ouvert à d’autres propositions pour pallier ce problème, surtout si vous l’avez constaté par vous-même.

Si vous lisez ce site via son flux RSS, vous n’êtes probablement pas concerné ;-).

Réaction par Éric le lendemain (cache).

2015-12-31 Archive annuelle

Je voulais vous faire un ebook avec Sigil mais l’interface m’a rapidement découragé et je manque de temps pour faire quelque chose de propre. J’ai quand même fait une page chronologique avec l’intégralité du contenu ce qui fait un peu plus de 500Ko que vous pouvez transformer en pdf/epub par vous-même. L’avantage d’avoir une seule page est de pouvoir faire une recherche directement dans le navigateur plus facilement vu que mes titres ne sont pas tous descriptifs ou explicites.

Je vous épargne les X billets les plus populaires car je n’en ai aucune idée. La seule statistique intéressante que j’ai sur cette année à publier quotidiennement : 485 liens archivés sans aucune demande de retrait. Pour être honnête, c’est fastidieux à automatiser — même avec readability-xml — car il y a toujours des problèmes d’encoding, de parsing, de détection, etc (le pire étant le code HTML généré par Medium…) mais je suis bien content de l’avoir fait pour avoir des contenus compréhensibles dans la durée.

Je ne sais pas encore de quoi demain sera fait. J’ai toujours une grosse envie d’écrire, reste à voir sur quels sujets et sous quels formats. Merci de vos nombreux retours par email ou lors d’événements cette année, même si je suis timide dans mes réponses cela me fait extrêmement plaisir de pouvoir continuer certaines réflexions suite à nos échanges.

Gazouillis archivés pour 2014, 2013, 2012, 2011, 2010, 2009 via Twitter.