★ Web developer

what is a web developer? How do you define one? What knowledge and skills does it take to be one?

To me, a web developer is a programmer who is not only able to write HTML, CSS, and JavaScript by hand, but also has a deep understanding of what browsers can do to that code.

What is a web developer? (cache)

To me, a web developer is a human with enough empathy, humility and practicality to publish resilient and usable webthings. Even better if s·he is part of an inclusive team focused on value(s).

And now I’ll have to define each term.

Human because if you forget this simple fact you are not considering the culture, the experience, the relationships or even the mood of the person you are talking about.

Empathy because you have to care about yourself, about your peers and about your users all day long. Preserving the motivation of all these people to achieve their respective tasks is key and partly depends on you.

Humility because you have to accept the futility of what you are developing for. You have to accept the obsolescence of your knowledge. You have to try, learn, fail, share. And try again.

Practicality because sometimes you have to put your ego, your best practices, your purity aside (hopefully) for a short amount of time and keep going. Better having room for improvement on a public product than working on a perfect private vaporware.

Resilient by using tools that last and are accepted by the team. It may not be pertinent though but it has to be explicit in this case.

Usable by making fast and accessible products, otherwise coding is “just adding bugs to an empty text file” to quote Louis Srygley. A web developer has to understand the biological complexity of the Web.

Webthing because the definition of a website or a webapp is not anymore pertinent. And that is a good thing. Defining is not important after all. Oh wait!

Inclusive team in order to develop inclusive products.

Value(s) both to focus on what is delivered and why.

All that being said, is it really relevant to know how to “write HTML, CSS, and JavaScript by hand”? I’m not sure it really matters and it probably changes from one developer to another. It’s part of the pleasure for me to have as few as possible layers between what I type and what is being finally rendered because I like that simplicity. An editor, a few lines of code, a browser and something understandable happens. An Electron app, yarn install, webpack […] and something magic happens.

And I’m tired of debugging magic, it’s not part of my definition.

✍ Lettre à Jean-Pierre

Jean-Pierre,

Tu fais partie des anonymes qui m’écrivent pour réagir sur un ancien article — en l’occurence 2009 — car cet espace a le (mal|bon)heur de n’être pas trop mal indexé parfois. Je ne sais pas comment gérer ces échanges sur des positions qui ne sont plus forcément les miennes. Le contexte a évolué, j’ai évolué.

Internet oublie toujours tout mais cet endroit constitue une part de ma mémoire et de mon histoire que j’essaye toutes deux de préserver. Petit plaisir narcissique, expérience personnelle et génératrice d’échanges que j’encourage lorsqu’ils sont bienveillants. Je me demande souvent ce qui motive l’envoi d’un courriel à un inconnu pour lui prouver qu’il a tort. Une question d’égo ou de paternalisme inconscient peut-être.

Qui sait, peut-être un jour irons-nous discuter de tout cela… à Arles ?

David

Dads are great at parenting too (and they love it)

happy kids

I’m a happy father of 3, and even though I’m working a lot, I try to spend most of my free time spending quality time with my kids. This includes playing with them, cooking, or helping them doing their homework. I love it and they love it too.

Unfortunately, I often face some kind of ordinary sexism when it comes to dads parenting.

Every time my wife’s away for a few days, leaving my with the kids, her friends offer to invite the kids “to cut me a little slack”. I know I’m not the only one, and it sounds nice from them, but the truth is different.

Oh, you’re leaving your husband all alone with the kids? My, what a terrible time ahead. They’ll spend the whole weekend in front of the TV, eat ham and pasta at every meal, and they won’t leave the house at all. He’ll forget to change the diapers, and will leave your home in a terrible mess you’ll spend weeks to clean. Last time my husband was home alone with the kids, he forgot to pick them up at school, left them alone doing every possible foolishness, burnt all the pans and phoned me to ask if he had to wait for the water to boil before he adds the pasta.

True story.

I’m not playing the “not all dads” game here. The fact that your husband might not be at the top when it comes to parenting doesn’t mean other men aren’t.

Dads love parenting, and they’re great at it.

Thinking that your husband, or your best friend’s is unable to take care of the kids and house is the same as people saying that women should be paid less than men because they’re less capable, that their place is at home parenting and doing the housing, or that they had their job because of a short skirt and deep cleavage. In one word: sexism.

It’s 2017 and the modern dad knows that:

The kids deserve better than spending the whole weekend in front of the TV. It’s actually Saturday 11:00 AM, the homework is done and the whole family (minus mom) is ready to leave home to visit the Greek department of the Louvre museum / the Dark Age department of the Museum of Army (because of the badass knights arbors) / a walk in the forest / whatever they’d love to.

The youngest leave school at 4:20, the eldest at 4:30, they only go to the post school studies on Monday and Tuesday, and they use half priced train tickets, but they need their ID card for this.

Ham and pasta are old fashioned and the only reason he cooks them some sausages and (homemade) mashed potatoes is because he loves that too. He also cooked a delicious veal stew, a wonderful boiled chicken, and will only take them to the restaurant because it’s a way to stay longer at the museum.

The bedroom needs to be tidy between the shower and dinner time. Kids get easily dirty so they need to wash at least once a day, and change their clothes every morning. Their daughter is way cuter with a freshly ironed dress, which he does perfectly by the way.

Kids need to go to bed early during the week, and a bit later during the weekend, because we’re all watching that wonderful Blu Ray of Disney’s Alice in Wonderland so they all sing the Unbirthday Song together, and run around in circles on Monday morning shouting I’m late, I’m late for a very important date / No time to say hello goodbye! I’m late, I’m late, I’m late!

When a kid is sick at night, they need to change the sheets and put the dirty ones in the washing machine even though it’s 4AM and they’re tired. A warm hug and go back to sleep! And no milk for breakfast.

Half a dozen 5 years old little boy at a birthday party need to be taken care of all day. They have already imagined some cool outdoor games, and even have an indoor B plan just in case.

Indeed, when you come back home, with the kids ready to go to be and a perfectly clean house, he’ll look exhausted as if he just ran a marathon, but only to make you feel guilty for leaving him without anyone to take care of him. So next time your friends will be worried because they’re living the kids home alone with their dad, just reply “I don’t know why you’re worrying. Every time I leave, things go wonderfully. He loves it, and the kids love it too”.

Indeed, when dad’s home alone with the kids, things are a bit different. Techno from Detroit blasts the house all day long, the food budget gets an all time high, they have a fresh orange juice for breakfast because dad doesn’t like industrial one, and they laugh much more than usual: “when the cat’s away the mice will play”.

For me, it’s time to go, I need to book some tickets for the Dark Age exhibition at the Science Museum and go to the butcher to order a chicken and some stuff for the filling.

15 Mac applications I can’t live without, 2017 edition

Macbook Pro

What are the first applications you install on a brand new Mac?

That’s a question I didn’t have to ask myself until last month when my significant other had to start from scratch with a brand new Mac because backups are for the weak.

So I started to think about it: what would I do if I had to start from the ground?

After I replace Safari with Chrome, I’d install the first applications I can’t imagine living without: Alfred Textmate 2 and iTerm 2 in that order. Then, I’d be ready to setup everything I need for productivity, tech stuff, writing, and entertainment**.

Whether you are a new Mac user lost in the App store or an experimented user looking for inspiration, that list was crafted for you with much love. And my favorite text editor.

Productivity

Airmail

Airmail

Let’s be honest. All mail clients suck, and Apple built in Mail.app is no exception. Some of them, like the good old Mutt suck less, and Airmail is one of them.

Airmail is a fast, multiple accounts email client. It provides a handy replacement to Mac OS default Mail.app when it starts crashing and get sluggish because you’ve decided to keep a decade of email.

Like any modern email client, Airmail natively supports Gmail, Yahoo!, iCloud, Microsoft Exchange, Outlook, or iMap. And if you’re still stuck in the 90’s, no problem: you can use AOL or POP3.

Airmail provides a great community supported plugin integration, including a fast to setup PGP integration.

The plus: Airmail supports Spamsieve natively so you control your Antispam, not let it control you.

The cons: Airmail does not support text only email.

Price: 9,00 €, available on the Mac App Store.

Alfred

Alfred

Alfred is a keyboard based application launcher, multi platform search wrapper.

Since I met Vero at LeWeb 2009, I’ve been an avid Alfred user, having it replacing all my Mac OS X built in applications. The little application launcher quickly became the center of my engineering productivity which improved as it was growing up.

Price: 15,00€, with a free limited edition, not available on the Mac App Store.

F.Lux

f.lux

F.Lux helps your brain awaken in the morning and go to sleep when it’s time to shutdown by changing your screen colour temperature according to the time of the day.

No magic here, only science. At dawn, the light colour is colder, and your brain is wired to understand it’s time to wake up. At sunset, the light is much warmer, which is a sign it’s time to go to bed. F.Lux simply tricks your brain into knowing what time is it since your screen usually provides a colder light.

Price: free, not available on the Mac App Store.

NVAlt 2

nvalt

Notational Velocity Alt 2 is a simple keyboard controlled note taking app. It provides basic feature like spell checking, URL recognition, basic search, online synchronisation and encryption. And that’s all you need.

I use Notational Velocity to store everything I need to keep at hand, from basic code snippets to meeting memo I need to keep for later. It’s small, lightweight, less obtrusive than a post it application and won’t let countless text files on my Desktop as I used to do when writing everything in a text editor.

Price: free, not available on the Mac App Store.

Simplemind

Simple Mind

Simple Mind is a lightweight mind mapping application for Mac OS.

Mind mapping is a productivity technique where you connect your ideas to build a clear thought diagram. Each idea might have different development and mapping them might help you to order every option of a complex process.

I picked up Simple Mind over every other mind mapping software because it’s simple and available on iOS as well, which makes it perfect for people like me.

Cons: poor keyboard navigation support.

Price: 29,00€, with a free limited edition, available on the Mac App Store.

Spamsieve

Spamsieve is a powerful anti spam software for Mac. It plugs on most email client on the market, analyses email you get and learns from your habits.

Despite looking expensive for “such a simple feature” Spamsieve is worth your money. Once trained, it’s accurate enough to avoid you losing several minutes a day selecting all your email and clicking “mark as spam” when your email provider failed at doing it.

Price: 30,00€ with a 1 month trial period, not available on the Mac App Store.

Spectacle

Spectacles

Spectacle is an app that allows you to move and resize your windows using simple keyboard shortcuts. You can split your screen in 2 or 4, having your browser on the top left, your text editor on the top right, and whatever you want at the bottom, as soon as your screen is big enough to keep it readable.

Before I switched to Mac, I spent 10 years running Linux on my desktop, doing everything from the keyboard. Using a mouse based operating system was extremely frustrating as I felt I was wasting 5 of my fingers to do something I used to manage with 1 or 2. Spectacle brought me back to that good old time, for the better of my productivity.

Price: free, not available on the Mac App Store.

The Unarchiver

unarchiver

The Unarchiver is a great replacement for Mac built in Archive Utility App. It supports most of the existing archive format including the old ARJ. The Unarchiver is a bridge between the Mac and Windows world where most people use 7ZIP for archiving.

Price: free, available on the Mac App Store.

Tech

Dash

dash

Dash is an awesome documentation browser and code snippets manager. It comes with more than 150 built in API documentation you can download and browse offline.

I use Dash on a daily basis to browse documentations of my most used software like ElasticSearch, Ansible or Mysql, but also my favorite programming languages. It has an integration support with most text editors of the market, including Textmate, and even Alfred! (requires Alfred Powerpack though)

Price: 25,00€ with a free limited edition, available on the Mac App Store.

Github Desktop

github desktop

Github Desktop is an awesome, free application to manage Git(hub) depots. If you’re like me, you’re probably managing dozens of git depots, with lots of people pushing code, a gazillon branches and it’s sometimes hard to find your way into all that mess.

Even though I use command line all the day, I rely on Github Desktop when I need to walk through all my branches or read an insanely huge pull request. Github Desktop provides a much more readable user interface than simply running git diff in my terminal or checking github / gitlab interface.

Price: free, not available on the Mac App Store.

iTerm 2

iTerm2

iTerm2 is a comprehensive, multi tab, multi pane terminal application for Mac OS.

It’s often hard to remember that Mac OX is an UNIX based operating system, and not the worst. iTerm2 is a good reminder of Mac OS UNIX ancestry, as it provides one of the best terminal application I’ve used in more than 20 years.

iTerm2 provides rich profiles configuration, complex window split you can save from one session to another, all fullscreen. I’ve configured 2 different setup: the first one when I work on my laptop alone provides 4 terminals in full screen. The second one provides 9 terms for when I plug my laptop to a huge screen at home or at work. I’ve also a visor view where I put my IRC client I access using SSH so I have it whatever the virtual desktop I work on, without it being obtrusive.

Price: free, not available on the Mac App Store.

Textmate 2

textmate 2

Textmate is a 13 years old text editor that had its 15 minutes of fame in the early days of Ruby on Rails. It was also the reason why I decided to switch to Mac OS after spending 10 years running Linux on my desktop. Despite a strong competition from Sublimetext, I still consider Textmate as the most powerful and useable text editor on Mac OS if not in the world.

Textmate provides a smart set of keyboard shortcuts as well as a strong plugin environment that makes it fit for almost any task. You can use it to code, edit text, blog connecting it to your favourite tool API, or as a task manager.

After being considered an abandonware, Textmate came back as version 2 with a community driven development under GPL v3.

Price: free, not available on the Mac App Store.

Writing and editing

Ulysses III

Ulysses III

Ulysses III is a great editor for anyone who wants to write. It’s the best thing I’ve found between a traditional text editor like Textmate 2, Office and dedicated tools like Scrivener, for better or worse.

Pros: Markdown / Textile / whatever markup you want, a nice theme catalogue, tagging, associating pictures or notes to your pages, multiple folders, no need to save or lose your production and iCloud sync.

Cons: a single file database that might get all your writing corrupted at once, a proprietary format, some functional limitations like no template and not as simple as it is when you’re working on large documents.

Price: 39,99 €, available on the Mac App Store.

Pixelmator

Pixelmator

Pixelmator is an image editor, just like Photoshop but without all the bloat and expensive license.

Pixelmator provides most feature you would expect from that kind of tools: layers, filters, various forms, smart selection, photo editing… everything in a Photoshop like interface you can use fullscreen and even on multiple screens.

Price: 29,99€, available on the Mac App Store.

Skitch

Skitch

Skitch is a screenshot manager which is not part of the Evernote suite. It provides every feature you’d expect from such an application like annotations, crop, blur… It lets you export your screenshot in various formats (png, jpeg, pdf…) and upload them on your Evernote account, even though you don’t need one to use it.

Price: free, available on the Mac App Store.

Entertainment

Boom2

Boom2

Boom 2 is an amplifier / equalizer for Mac OS primarily designed to enhance your laptop speaker. And trust me the result is incredible. Boom provides many built in presets you’ll find on any equalizer application but the most interesting part is how it calibrates according to your hardware for the best possible experience.

My biggest problem was that I don’t carry my sound system all over the house so listening to music on my Macbook Pro was a real pain. I decided to give Boom a try after Chris Messina posted a tweet about it and wasn’t disappointed.

Price: 10,99€, with a free limited edition, available on the Mac App Store.

Calibre

Calibre

Calibre is a multi platform ebook library manager. It connects to your favourite e-reader and allows you to upload / download your ebooks, convert them to almost any format, annotate / rank them and even build your own ebooks from your latest text.

If you’re an avid reader just like me as well as a Kindle user, you probably don’t get all your books from Amazon. Most things I read are not available there so I have to get them from other providers. Calibre naturally became the center of my ebooks collection even though the UI needs some rework.

Note: the French versions of the books are my kids 😉.

Price: free, not available on the Mac App Store.

That’s all folks! I’ll soon provide you with a comprehensive list of my favourite iOS applications, most of them being the same as what I’ve described here, as well as some Chrome extensions I love. For me, it’s time to get some rest, see ya!

★ Guerre et suicide

Toutes les fois qu’à notre époque éclate une guerre, alors éclate aussi et surtout parmi les plus nobles fils du peuple un désir secret : ils s’exposent eux-mêmes au nouveau danger de mort parce que dans leur sacrifice pour leur patrie, ils croient qu’ils ont enfin trouvé la permission qu’ils n’ont cessé de chercher, la permission d’échapper à leur destinée humaine. La guerre est pour eux une forme plus aisée du suicide, elle leur permet de se suicider la conscience en paix.

Nietzsche

Cette citation a la puissance de remettre en question la bêtise que j’associais à la guerre et au patriotisme. Je me suis longtemps demandé comment autant de personnes pouvaient accepter d’aller tuer leur prochain pour le pouvoir de quelques uns sans forcément y associer le mal-être de toute une frange de la population. Cela est peut-être dû à la façon dont l’Histoire est enseignée, il n’y a dans mon souvenir que l’origine de la seconde guerre mondiale que l’on transmet sur ces bases de frustrations de tout un peuple.

Si j’ai fui l’Asie, puis l’Europe, c’est en partie par peur de la guerre. Mais aussi car je ne veux pas me retrouver dans ce mal-être et l’auto-alimenter. Avant la guerre il y a la perte d’enthousiasme et de bienveillance, des tensions qui se cristallisent autour des cultures et des possessions. J’ai besoin d’un environnement propice à l’expression de ces qualités, j’ai besoin d’être entouré de cultures différentes pour m’enrichir, j’ai besoin de me sentir libre de mes possessions pour ma propre (r)évolution (cache).

C’est parce que je suis incapable de réaliser le bien dans ma vie que je projette sur l’État qui doit le réaliser par procuration à ma place. C’est parce que je suis incapable de discerner la vérité, que je réclame que l’administration la discerne pour moi, me dispense de cette quête pénible, et me la remette toute produite. […] Ce sont les mêmes motifs, c’est le même processus, c’est la même mystification qui conduisaient l’homme dans la religion et à attendre de Dieu l’accomplissement de ce qu’il ne savait pas faire, et qui le conduisent aujourd’hui dans la politique à attendre de l’État ces mêmes choses.

Rejeter sur l’organisation de la société la solution de tous les problèmes personnels, la réalisation des valeurs, c’est réaliser une opération très commode d’absentéisme humain.

L’illusion politique, Jacques Ellul.

Mes voisins ont cédé à cette pulsion suicidaire et questionnent les valeurs des autres humains :

  • Êtes-vous aussi désespérés que nous au point de vouloir avoir recours à un suicide collectif ?
  • Avez-vous si peu appris des faiblesses humaines au cours de l’Histoire ?
  • Est-ce que votre vie a encore une quelconque saveur lorsqu’elle est privée de savoirs ?

Cet aveu de manque d’éducation est terrible et se concrétise logiquement par la mise au pouvoir d’un CEO :

The final thing I’ll say is that government will never run the way Silicon Valley run because, by definition, democracy is messy. This is a big, diverse country with a lot of interests and a lot of disparate points of view. And part of government’s job, by the way, is dealing with problems that nobody else wants to deal with.

So sometimes I talk to CEOs, they come in and they start telling me about leadership, and here’s how we do things. And I say, well, if all I was doing was making a widget or producing an app, and I didn’t have to worry about whether poor people could afford the widget, or I didn’t have to worry about whether the app had some unintended consequences – setting aside my Syria and Yemen portfolio – then I think those suggestions are terrific. (Laughter and applause.) That’s not, by the way, to say that there aren’t huge efficiencies and improvements that have to be made.

But the reason I say this is sometimes we get, I think, in the scientific community, the tech community, the entrepreneurial community, the sense of we just have to blow up the system, or create this parallel society and culture because government is inherently wrecked. No, it’s not inherently wrecked; it’s just government has to care for, for example, veterans who come home. That’s not on your balance sheet, that’s on our collective balance sheet, because we have a sacred duty to take care of those veterans. And that’s hard and it’s messy, and we’re building up legacy systems that we can’t just blow up.

Extract of a speech at Frontiers Conference 2016, Barack Obama

Barack Obama s’adressait probablement davantage aux CEO de la Silicon Valley et peut-être plus directement à Mark Zuckerberg (cache) à ce moment là, il n’empêche que le président actuel apporte avec lui tout le champ lexical guerrier du commerce. Ainsi qu’une incompréhension de la diversité nécessaire à la démocratie et du temps long associé pour rendre assimilables des valeurs par une culture.

✍ Lettre à Marion

Marion,

Merci pour ta réaction au sujet de la vitesse et de l’écriture qui est ton domaine. Je voulais à mon tour rebondir sur la différence entre un ouvrage et un blog. Dans le premier cas, on est dans l’expression d’une thèse qui demande un temps long. Dans le second, je pense que l’on est dans la construction d’une thèse qui demande également un temps long. Dans les deux cas, cela requiert des itérations empreintes d’humilité pour revoir sa copie et continuer à partager tout de même avec son éditeur ou avec son lectorat. Lorsqu’on tente de transformer son lectorat en éditeur, cela peut avoir des effets de bord non négligeables (cache) par contre, voir aussi mes propres déboires avec LEAN.

Néanmoins, le blog est le fruit d’une évolution personnelle grâce à l’intelligence du collectif qui a pris la peine d’échanger, de proposer d’autres voies. Un journal qui n’est plus un curriculum vitae mais un chemin de pensée montrant une progression au fil des années. J’y vois une sorte d’impressionnisme qui donne l’image de l’auteur lorsqu’on prend suffisamment de recul. Une vidéo peut-être plus qu’une image pour sa nature évolutive et vivante. Si l’on file la métaphore, un manuscrit ressemble davantage au tableau académique d’une nature qui est morte lors de sa mise sous presse.

La différence fondamentale entre les deux approches réside peut-être dans la nature publique ou privée du processus d’amélioration continue. Le blog se rapproche de l’open-source sur ce plan là qui consiste à exposer son code à la critique collective en vue de le rendre plus pertinent. La gouvernance change alors et réduit les intermédiaires, on se rapproche également des AMAP et des circuits courts. Chaque lecteur pouvant à son tour devenir auteur le temps d’un échange.

Et tisser les liens qui font la toile.

David

★ Algorithmes et public relations

Mais il est un moyen pour diminuer ce sentiment d’arbitraire et de toute-puissance. C’est l’application des public relations à l’administration : il s’agit d’amener le citoyen à comprendre le pourquoi des décisions prises et, bien plus, à le faire collaborer activement avec l’administration. Des services spécialisés vont alors être à la disposition des administrés pour leur montrer comment fonctionne le service, quelles sont les règles appliquées, pourquoi telle décision plutôt que telle autre a été prise, en quoi ceci est juste, etc. Dès lors disparait le sentiment d’angoisse : l’individu se trouve devant un univers explicable, où les actes ne sont pas absurdes, mais au contraire rationnels et réfléchis. Il est dans le système. La décision qui le révoltait devient absolument normale à ses yeux aussi. Le comportement de tel corps de police qui lui paraissait scandaleux devient exactement explicable quand on se situe dans le service et l’optique de ce corps ; les public relations sont donc une méthode pour incorporer psychologiquement l’administré dans l’administration, pour lui faire accepter de bonne grâce l’acte commis, pour le faire adhérer à ses raisons.

Autrement dit, il s’agit de réduire le conflit, de créer de bonnes relations, mais celles-ci fondées non sur le fait que l’administration serait au service de l’administré (ce qui est impossible ; la formule est souvent employée, mais elle n’a tout simplement pas de contenu réel imaginable !), mais sur le fait que l’administré, ayant compris, ne rouspète plus. Comme dans tous les domaines, les public relations sont un mécanisme de conformisation : qui ne fait qu’accentuer l’autorité, la toute-puissance administrative et ne la compense absolument pas.

Or c’est bien ici que réside l’illusion politique : croire que le citoyen par la voie politique pourrait maîtriser ou contrôler cet État, pourrait le changer.

L’illusion politique par Jacques Ellul.

La lecture du chapitre relatif au Contrôle de l’État ne cesse de m’évoquer le rapport que l’on a aujourd’hui aux plateformes et à leurs algorithmes. Il y aurait des pages entières que l’on pourrait remettre au goût du jour en intervertissant l’État et les plateformes ce qui pose réellement la question de leur nature politique (cache).

Tout le débat actuel sur l’ouverture et la documentation des algorithmes s’y retrouve. Comprendre sans pouvoir influer. Une autre forme de bureaucratie opaque que l’on essaye de rendre davantage supportable à ceux qui en font les frais. Un bien commun soustrait au collectif de par son passage à l’échelle. Civisme d’un côté, attention de l’autre. Tout deux sacrifiés sur l’autel d’un capitalisme confisquant le temps nécessaire au respect et à la confiance, eux-mêmes garants de notre humanité. On parle beaucoup de biens communs ces temps-ci sans préalablement explorer les maux collectifs. Et si l’on repartait des besoins ?

L’antinomie entre bureaucratie et démocratie est bien connue, bien étudiée. Mais l’illusion est de croire que la bureaucratie peut être dominée par la démocratie.

Toutefois la nouvelle notion de la démocratie (populaire) concorde bien avec la bureaucratie sur le plan totalitaire : la démocratie n’est plus un moyen de contrôler le pouvoir, mais un moyen d’encadrer les masses.

Ibid.

✍ Lettre à Pep

Pep,

J’ai suivi avec intérêt tes réflexions (cache) relatives aux modes de publications. Elles s’orientent déjà trop pour moi dans la technique et dans la complexité pour avoir envie de rejoindre un tel mouvement. J’ai le sentiment d’avoir fait ce chemin et d’en être revenu en raison de l’entre-soi qu’il accentue sous couvert d’adoption précoce. Je suis aujourd’hui davantage dans l’aide à la simplicité de publication qui me semble être la première étape libératrice, laissant les interactions et les algorithmes aux plateformes filtrantes. Au moins pour un temps.

Je réinvente des générateurs statiques, je m’inspire du travail de collègues et j’essaye au moins de répondre à mes propres besoins. Je me suis longtemps retenu de publier quoi que ce soit en laissant des briques à assembler soi-même. De la publication naissant la responsabilité, la culpabilité et la naissance d’un nouveau silo. Aussi petit soit-il. Et d’un autre côté l’envie de créer un outil convivial dont puisse s’emparer l’auteur en touchant à trois variables qui donnent goût à la programmation. Telle que je l’ai découverte en tout cas.

Tout cela étant dit, je ne voudrais freiner aucune initiative qui amène des alternatives à la situation actuelle. J’espère me tromper complètement et il y a de toute façon un public pour toutes ces expérimentations. Une question de variabilité locale pour une évolution globale.

David

2017-02-09 : réponse de Pep (cache).

★ Web et génétique

En ce moment et sur les conseils de Christian den Hartigh, je me regarde les vidéos du Marathon des Sciences comme on le ferait d’une série TV. En plus instructif. Et ce sont notamment celles de Pierre-Henri Gouyon « Le fil de la vie : où l’ordre de la vie est-il écrit ? » et de Guillaume Lecointre « La biologie à la lumière du désordre » qui m’ont fait prendre conscience du parallèle existant entre la génétique et le web. Dans les deux cas, il s’agit d’évaluer quelle est la façon la plus pérenne de faire transiter une information. On peut même aller dans l’extrême et reprendre l’une des phrases chocs de la première présentation :

Les individus sont des artifices inventés par les gènes pour se reproduire.

Ce que je m’empresse de paraphraser ainsi (il faut voir la vidéo pour comprendre la référence aux memes) :

Le web est un artifice inventé par les cultures pour se propager (meme).

Le web acquérant son importance dans les idées qu’il véhicule. Une histoire de contenu et de contenant. Défendre la liberté d’expression des cultures est un enjeu lié à celui de la neutralité du Net par exemple, l’un n’allant pas sans l’autre. Mais je m’égare, revenons à notre ADN. Dans le cas de la génétique, la solution qui semble prévaloir jusqu’à présent est triple et correspond à :

Message → Décodeur → Contexte

L’information qui est finalement transmise repose sur ces trois facteurs que les généticiens traduisent en :

Génétique → Épigénétique → Environnement

On a l’ADN qui se trouve être interprété d’une certaine manière et qui s’exprime ensuite en fonction de la pression environnementale. Je reste vague car on ne connait pas encore vraiment les mécanismes fins de ce processus. Or, on retrouve le même triptyque dans le web avec :

Code → Navigateur → Situation

Le HTML/CSS/JS contient le message qui a besoin d’un navigateur pour être décodé. Message qui va être lu dans un contexte donné (mobilité, attention, etc). Le couplage de l’une de ces étapes avec l’autre affaiblit le processus de transmission. Les deux conférenciers souhaitent tordre le cou à la notion de « code génétique » alors que je la trouve pertinente dans ce cadre là. Ou alors faudrait-il relativiser ce que l’on entend par « programme » informatique de manière plus générale ?

En biologie, il y a besoin d’avoir de la variabilité à chacune de ces étapes locales pour arriver à une stabilité globale. Les cas de stabilités locales étant sujettes à des extinctions de masse à moyen terme. Laissant la place à l’expression d’une nouvelle diversité qui stabilise au niveau macro. En informatique, les plateformes/silos et/ou la mono-culture Webkit et/ou le biais culturel au sens large mettent en péril cette diversité. Si votre information est publiée sur Medium, lisible par Chrome uniquement et/ou à destination des riches, il y a statistiquement moins de chances qu’elle soit à l’épreuve du temps.

En tant que développeur web, je ne peux avoir d’influence que sur le code. L’universalité du code produit est garante de la résilience de l’information sur le long terme. Lorsque je cible un navigateur ou une situation, je l’affaiblis et je lui fais prendre des risques. Vouloir être précurseur d’une nouvelle ère est un pari à court terme, avec pour enjeu les données d’autrui qui risquent de se retrouver dans un cul-de-sac phylogénétique, signifiant l’extinction d’un message.

Un autre point qui m’a fait tiquer est l’opposition historique inné/acquis qui se matérialise par le couple conservateurs/libéraux en politique. Les premiers étant dans l’analytique, les seconds dans l’empathie. Le code comme notion de Droite et son interprétation comme notion de Gauche. La création rapide et égoïste vs. la collaboration lente et plurielle. Le repli et l’ouverture. Montre moi ta façon de transmettre une information et je te dirai pour qui tu vas voter :-).

★ Code et vitesse

Alors cela fait sens pour moi d’écrire et de publier vite, comme on ferait de la photographie : c’est un portrait de soi à un instant précis. Y revenir plus tard, ce serait comme ajouter des rides sur une image de soi plus jeune. J’ai donc beaucoup de respect pour celles et ceux qui écrivent et publient vite. Je ne préjuge pas de la valeur de leurs écrits en fonction du ratio temps écoulé/nombre de caractères. C’est mystérieux, une bonne histoire. Personne ne sait vraiment comment ça fonctionne. Et s’il suffisait de passer cinq ans sur un roman pour le rendre parfait, ça se saurait, non ?

Peut-on écrire trop vite ? Peut-on publier trop ? (cache)

Est-ce qu’un bon code est tout aussi mystérieux ? Personne ne sait trop comment cela fonctionne non plus, il y a bien quelques principes ou patterns mais ça ne garantit pas grand chose au final. Ce qui me parait certain à ce jour c’est qu’en passant cinq ans sur un produit on est davantage enclin à le rendre bouffi de fonctionnalités et croulant de dette technique que parfait.

J’ai tendance à penser qu’il y a autant de façons de coder qu’il y a de façon d’écrire. Je me base sur l’observation des différentes personnes avec lesquelles j’ai pu pair-programmer (ce qui se pratique moins en écriture). Cela permet d’apprendre à se connaître au regard de ses différences. Je sais par exemple que sur du tactique je suis davantage dans l’essai-erreur quitte à comprendre ensuite. En revanche sur du stratégique, je vais collecter des données pendant un long moment avant de passer à l’acte de code qui sera parfois très rapide, brutal même, mais plus solitaire aussi. Il en est de même dans ma façon d’écrire.

Que ce soit pour du code ou des mots, j’ai beaucoup de mal à me retenir de publier. Lorsque les idées, concepts, algorithmes sont formalisés, la dernière étape est de les offrir au monde. Il s’agit d’un rite de passage avant de pouvoir s’en libérer. Avant cela ils n’existent pas. Un travail invisible m’est frustrant et c’est peut-être pourquoi l’open-source me tient tant à cœur. Les rares fois où j’ai pu écrire sans avoir la libération rapide du produit ont été déprimantes (il y a bien une fois où ça a duré neuf mois mais c’est une autre histoire :-P).

Il y a un certain plaisir dans l’édition (cache) aussi. Que ce soit via les code reviews ou les optimisations de performances ou les découplages ou même les réécritures. Mais l’acte de création égoïste n’est plus et l’envolée lyrique est retombée. C’est terrible car j’aimerais laisser davantage d’espace à la part de designer (cache) qui est en moi, celle qui affine et se rapproche progressivement du besoin réel de l’utilisateur. J’y retrouve le tiraillement de cette dualité dans mon rapport au monde : entre confort et utilité.

Without requirements or design, programming is the art of adding bugs to an empty text file.

Louis Srygley

Difficile de terminer un billet sur le code et la vitesse sans parler du mythe des 10x engineers (je me demande s’il existe chez les écrivains tiens). Est-ce que vous voulez dans votre équipe quelqu’un qui code dix fois plus rapidement ou quelqu’un qui produit un code compréhensible et maintenable par au moins dix personnes ? Je trouve cela plus valorisant aujourd’hui d’être un 10x inclusive developer.