03 décembre 2021
sourceLe genre d’erreur assez subtile qui me fait un peu grincer des dents, même si je comprends le sens du truc
03 décembre 2021
sourceEnfin une bonne raison d’utiliser Linux : en utilisant xrandr et une détection de visage par la webcam, on pourrait enfin avoir un vrai écran virtuel dans lequel se déplacer en bougeant la tête.
03 décembre 2021
sourceSi vous voulez savoir quand vous devez recevoir votre dose de rappel, ce site est aussi simple que pratique.
03 décembre 2021
sourceTrès intéressante explication d’un aspect théorique intéressant de la cryptographie.
03 décembre 2021
sourceJe trouve ça drôle … et horriblement triste en même temps. Et le complice qui sort son sexe, c’est vraiment l’illustration de l’homme de pouvoir qui ne sait pas la garder dans son froc
02 décembre 2021
sourceUne façon très cool de faire de l’injection de dépendances "légèrement" est d’utiliser le ServiceLoader. Et avec cet annotation processor, même pas besoin d’écrire le fichier à la main !
02 décembre 2021
sourceUn SCP où le monde n’est pas menacé, ça change. Et dans celui-ci, le jeu n’est pas aussi innocent que ce qu’on croit
02 décembre 2021
sourceUn conteneur Docker pour évaluer la consommation d’énergie de vos différents conteneurs. Et c’est du Rust !
02 décembre 2021
sourceJe suis absolument d’accord avec ce qui est écrit dans cet article (et le bullet point sur le fait que mon téléphone portable ait plus de puissance CPU/GPU qu’une instance chez un cloud provider me donne une idée horrible)
01 décembre 2021
source01 décembre 2021
sourceJe ne connaissais pas ce site de streaming *gratuit\*. Ca m’a l’air moins que légal, mais plutôt bien fait, et je parierai sur l’existence d’outils de téléchargement associés assez rapidement.
30 novembre 2021
sourceDepuis 2020, nous sommes tous plus ou moins confinés. Et nous faisons tous de la visio, encore et encore. Et je me suis rendu compte que la webcam de mon ordinateur portable était d'une qualité ... discutable. N'écoutant que mon esprit hacker, je me suis donc renseigné sur les alternatives.
J'ai naturellement commencé par chercher des moyens d'utiliser l'appareil photo de ma femme comme webcam (parce que franchement, c'est un appareil photo super canon). Mais les cartes d'acquisition, c’est pas donné. Et surtout, il faut un pied ... solide. Bon, j'en ai un, mais on arrive vite dans un bureau domestique assez lourd. Donc j'ai changé d'idée, d'une part parce que les optiques de mon téléphone sont de bonne qualité. Et d'autre part, parce que récupérer la vidéo de mon téléphone dans mon ordinateur est bien plus facile (avec des logiciels comme DroidCam, par exemple). Il me restait donc à trouver un support pour mon téléphone (bien moins lourd que l'appareil photo). Et si Amazon est riche d'innombrables produits, les hackers Lego ont aussi des tonnes d'idées. Et comme les lego sont avant tout des jouets, en plus de ces idées, je peux aussi faire le mien.
C'est naturellement la solution d'imaginer le mien que j'ai choisi.
Avec un premier modèle (photographié ici devant l'ancien papier peint de ma cage d'escalier) un peu plus haut qu'un tabouret Ikea, comme on le voit sur la photo.
C'était un bon premier prototype, qui n'avait que le défaut d'être rigoureusement intransportable (normal, vue la taille). Cela dit, j'ai réalisé quelques présentations en l'utilisant, et c'était assez confortable, quoi qu'instable.
Et en plus, le pied avant était singulièrement fragile. J'ai donc, muni de ces apprentissages, créé une deuxième version beaucoup plus portable (qui s'appelle légitimement la version beta).
Cette version beta était beaucoup plus portable. Mais le fait qu'on glisse le téléphone entre deux paires de barres lego rendait son écran inutilisable une fois installé comme webcam. Qui plus est, elle était assez lourde.
J'ai donc tout démonté, et tout recommencé pour arriver à la version que j'utilise actuellement, la version beta 2 qui a quelques points communs avec la première beta.
Comme la première, elle se pose gentiment sur l'écran de l'ordinateur portable.
Et comme la première, le téléphone n'est pas dans le même axe que l'écran (sinon je me retrouve comme avec une webcam à être un homme-tête, ce que je n'apprécie pas).
En revanche, contrairement à la première version (qui reprenait le mécanisme de la version alpha), le téléphone n'est plus glissé entre deux paires de lego, mais accroché par une griffe qui se situe en haut. Et je dois dire que ça marche bien mieux !
Résultat, mon téléphone est bien posé sur mon écran, j'ai un support léger, mais qui peut encore être amélioré un poil pour être encore plus léger.
Mais franchement, je ne sais pas si j'attaquerai ça tout de suite, parce que je suis déja bien content de ce support.
29 novembre 2021
sourceAdmettons que vous soyez un fan de sql … Ou que vous souhaitiez vous construire une base de données analysable de votre activité sur internet. Eh bien dogsheep serait une bonne idée … (mais ça n’est pas mon usage)
29 novembre 2021
sourceUne théorie du complot, c’est facile à monter : tu prends un truc explicable, et tu le nies … farouchement, et avec mauvaise foi
29 novembre 2021
sourceCa me rappelle un peu les pogoplugs, mais en plus riche, beaucoup plus riche (et en même temps, je crois qu’on peut aussi faire du NAS sur mesure avec le Raspberry 4)
29 novembre 2021
sourceTrès bonne nouvelle pour tous les paranoïaques (qui ne relient jamais leur télé à internet) : Samsung a décidé de bricker les télés volées dans un entrepôt à distance … Et on voit immédiatement tous les abus arriver.
28 novembre 2021
sourceQuelques exemples simples d’optimisation (j’ignorais la plupart de ces optimisations, et elles semblent vraiment efficaces)
28 novembre 2021
sourceEn revoyant passer cet article, je me dis vraiment que je devrais faire cette conférence sur les patterns d’intégration expliqués avec Mindustry
28 novembre 2021
sourceSi vous cherchez à profiler un programme écrit dans … n’importe quel langage … ce site vous aidera à trouver votre bonheur
26 novembre 2021
sourceJe me tâte encore pour me lancer dans le codage d’un bot d’échecs. Mais si je m’y lance, cet article me paraît un bon début
26 novembre 2021
source25 novembre 2021
sourceLa parfaite phrase de début de campagne politique … (et en fait de tous les jours)
25 novembre 2021
sourceEn discutant codingame avec un collègue, on a parlé rapidement de contiperf (qui est maintenant déprécié). Du coup, j’ai cherché la version moderne pour lancer JMH avec JUnit … et voilà
25 novembre 2021
sourceLes coulisses de la politique semblent remplies de ce genre de sinistre individu …
25 novembre 2021
sourceUn logiciel de sandboxing pour Windows. Intéressant !
24 novembre 2021
source24 novembre 2021
sourceLe fait que GitHub intègre complètement le bug tracking à toute sa chaîne de valeur permet des choses vraiment chouettes, comme la transformation automatique de tickets de bugs en code (du test, de la config, …)
24 novembre 2021
sourceUne méthode de comparaison de la performance des compilateurs. Elle n’est pas complète, mais mets assez en valeur le compilateur Java
24 novembre 2021
sourceUn mélange intéressant entre les outils variés de todolist et Jupyter Notebooks.
24 novembre 2021
sourceTrès chouette inventaire des différents programmes utilisables pour créer des constructions lego virtuelles. Je ne dis pas que ça pourrait me servir (je préfère la version physique), mais ça me donne quelques idées …
24 novembre 2021
sourceTrès intéressante mise en regard de deux pratiques d’architecture
24 novembre 2021
sourceJ’ai déja dû partager la version originale. Mais en version traduite en français, c’est encore plus percutant
24 novembre 2021
source[archiloque.net Fichiers de configuration]
Très bon article de vulgarisation sur les fichiers de configuration, rappelant bien la limite de Turing : dès que votre fichier de configuration devient programmable, il vaut mieux utiliser un vrai interpréteur.
24 novembre 2021
sourceAvec cette carte esp32 pour Minitel, vous pouvez enfin retrouver l’expérience du terminal physique (avec supplément de clavier louche). C’est fou, génial, bizarre, et complètement green
24 novembre 2021
sourceUn reset CSS avec les explications, c’est toujours mieux
24 novembre 2021
sourceN’oubliez pas que l’autorité de régulation de la publicité est une instance privée, regroupant les annonceurs français et définissant ce qui est acceptable dans les medias français …
24 novembre 2021
sourceOh mais c’est pas mal cet outil de binding JS dans le HTML! Ca ajoute facilement de l’animation.
24 novembre 2021
sourceTrès pertinente critique des ADR tels qu’ils sont écrits la plupart du temps. Ca me donne vraiment l’impression qu’il faut avoir une vision très structurée de ces discussions.
24 novembre 2021
sourceUne belle vision de l’évolution des métaphores utilisées sur le "bureau" d’un ordinateur
24 novembre 2021
sourceOh super : comme Google et Microsoft disposent de protocoles concurrents (Chromecast et Miracast), Google a déprécié le support de Miracast à partir d’Android Oreo …
24 novembre 2021
sourceUne super infographique qui montre bien à quel point la voiture est un objet créateur de frontières.
23 novembre 2021
sourceParfois sur Internet, on tombe sur des trucs vraiment bizarre …
23 novembre 2021
sourceJ’ai vu chacune de ces présentations, et elles valent toutes le coup, surtout si vous vous posez des questions sur la légitimité de votre place professionnelle.
22 novembre 2021
sourceCa explique peut-être pourquoi les innovations en France sont assez souvent des innovations commerciales plus que techniques (et en même temps c’est raccord avec la stratification du pouvoir)
22 novembre 2021
sourceUn service de validation d’adresse mail aussi autonome que possible. C’est très intéressant, parce que vérifier une adresse mail, ça n’est pas si simple …
22 novembre 2021
sourceJe cherchais comment ne pas écrire trop de relations moi-même … Et j’ai trouvé la réponse !
22 novembre 2021
sourceUne feuille de style CSS bien plus légère que Bootstrap (évidement) à laquelle je devrais jeter un oeil pour mon site personnel
21 novembre 2021
sourceJe trouve le personnage (et l’actrice) incroyable
21 novembre 2021
sourceCa fait deux fois dans la journée que je vois cette citation, qui me plaît beaucoup.
21 novembre 2021
sourceLe portrait qui est construit dans cet article de la personnalité d’Herbert est terrifiant. Et l’angle de vue sur le récit me fait reconsidérer beaucoup de choses …
21 novembre 2021
source21 novembre 2021
sourceJe suis impressionné par ces gens qui ont implémenté une machine virtuelle x86 en WebAssembly, pour que n’importe quel langage puisse s’exécuter dans le navigateur.
21 novembre 2021
sourceJe ne vais pas mentir, je suis clairement le secret reader.
21 novembre 2021
sourceSi vous êtes pythonistes, voici toute la liste des étapes pour créer votre projet chez GitHub. Si vous n’êtes pas pythonistes, le début est quand même intéressant.
21 novembre 2021
sourceUn ebook sur l’apprentissage de la programmation à des chercheurs. Ca change l’angle de vue
21 novembre 2021
sourceTrès bon article de Cory Doctorrow faisant le lien entre la science-fiction et les luddites.Et il y a effectivement un vrai rapport entre les deux.
21 novembre 2021
sourceLa question est chouette, mais je suis stupéfait par la réponse d’un suédois qui explique qu’en suède, en février, la sécurité sociale choisit des gens au hasard pour les mettre en congés maladie. C’est fou (si c’est vrai)
21 novembre 2021
sourceUn magnifique rapport, aussi bizarre que fantastique.
21 novembre 2021
sourceLe fait divers est assez cocasse, mais l’information à la fin est curieuse : les trafiquants de drogue utilisent des brouilleurs lors de leurs livraisons …
21 novembre 2021
sourceJ’aime beaucoup cette distinction entre la pratique devops et le boulot de SRE (qui est une pour moi une évolution moderne du rôle de SysAdmin)
20 novembre 2021
sourceUn guide de sécurité sur internet qui m’a l’air raisonnablement clair et progressif.
20 novembre 2021
sourceTout le mal de la technologie moderne exposé en un article. Et j’ai envie de dire à tous les utilisateurs de produits Apple que je connais que vous soutenez ce genre de comportement prédateur …
20 novembre 2021
sourceUn bouquin qui peut être très chouette sur l’écriture d’interpréteur.
20 novembre 2021
sourceT’imagines que le mec est dans un gouvernement de droite et demande l’extension du rôle de la sécurité sociale. Mais qu’est-ce qu’il fait là ? (son métier, je sais)
20 novembre 2021
sourceLa conclusion est aussi juste que terrifiante (parce que c’est précisément ce que font tous les conservateurs comme Blanquer ou Zemmour).
20 novembre 2021
source20 novembre 2021
sourceJe trouve l’idée absolument fascinante, mais la limitation aux followers ou aux interactions me gêne un poil (j’aurais préféré pouvoir afficher d’autres choses)
20 novembre 2021
source19 novembre 2021
sourcePar Aurélie Vache et Guillaume Laforge.
La présentation commence en doublage en langue des signes fait par Guillaume, en plus de la vélotypie faite par le DevFest (bravo!). Et on va parler de le faire aussi par des APIs.
30% des français sont impactés directement ou pas par le handicap. Les personnes en situation de handicap ne sont pas une minorité. Et les aménagements d’accessibilité ne profitent pas seulement aux personnes en situation de handicap.
L’accessibilité n’est pas seulement l’ajout de balises ALT aux images. De la même manière, les assistants vocaux ne sont pas forcément très accessibles.
Google propose des APIs potentiellement utiles (comme l’exemple de Video intelligence API - qui inclut de la transcription en texte). L’appli d’exemple de Guillaume est open-source (TODO demander l’url). Elle est codée en Python
Ca ressemble à du fourchelangue
L’api est très simple à utiliser.
Et l’accessibilité, c’est avant tout un ensemble de moyens permettant d’augmenter l’expérience.
Par exemple, la reconnaissance de la parole a de nombreux usages (messages vocaux, podcasts, centres d’appels). Les sous-titres automatiques ne sont pas parfaits, mais dans l’ensemble la qualité s’améliore.
La reconnaissance de la parole, c’est quand même pas tout neuf : ça commence en 1971, et il y a tout un tas d’innovations sophistiquées (chaînes de markov cachées, réseaux de neurones récurrents, …).
Google fournit une API de transcription de parole en texte, qui marche dans 180 langues. On peut lui ajouter des termes spécifiques (typiquement le vocabulaire technique). On peut faire de lra reconnaissance synchrone ou asynchrone. Par exemple, pour retranscrire les castcodeurs (un podcast un peu long, Guillaume le sait), cette API prendra environ 15 minutes.
Toujours pour les castcodeurs, l’API permet également d’identifier les différents orateurs (avec la diarization). Et ça donne un JSON qu’on peut facilement parser (en Goovy, évidement) pour reconstruire visuellement le dialogue.
Le taux d’erreur est assez bas (4%), mais encore plus élevé que l’humain. Des alternatives existent: sonix.ai, rev.ai, Microsoft cognitive services
C’est utile pour de multiples populations (aveugles, dyslexiques, les enfants avant l’âge où ils maîtrisent la lecture). Ca peut servir pour améliorer par exemple le fameux message "rouge piéton" aux intersections, mais aussi pour lire un PDF facilement.
Le synthétiseur de parole peut partir d’un fichier plat (associé à un fichier SSML) pour produire un mp3. L’API peut parler dans une quarantaine de langues, avec plus de 220 voix, avec une vitesse variable. L’API de Google utilise WaveNet.
Aurélie nous fait une démo en GO (Guillaume aurait préféré des legos, même si il aime le logo). Et quand Aurélie tente aily tts "j’aime les gophers"
, Guillaume nous parle de son amour pour les gaufres. Et le code générant tout ça est quand même sacrément simple : on déclare les paramètres de l’appel, et boum, ça marche.
Ce genre d’API est utilisé par le site de Numerama, le blog d’Amazon, et même un mod pour HeartStone.
Par contre, ce genre d’API n’interprète pas correctement les fancy fonts, ce qui rend le texte illisible.
Dans Android, la fonctionnalité Live Transcribe est une fonctionnalité d’API qui va transcrire ce qu’entend le micro du téléphone en texte (y compris les bruits ambiants). Et Live Caption permet également de sous-titrer tous les sons qui viennent du téléphone (Chrome fournit aussi cette fonctionnalité).
Avec cette API, on peut détecter les différents objets présents sur une image. Guillaume a développé avec cette API une application permettant anonymement d’uploader des photos, dans lesquelles il détectera automatiquement les objets et affichera la liste de ces objets. En bonus, on peut détecter automatiquement les "contenus incorrects" (selon la classification faite par Google). Et si vous voulez rendre vos images accessibles, cetre API permettra d’ajouter les balises d’accessibilité.
Saviez-vous que les logiciels de reconnaissance de la parole reconnaissent mieux les hommes que les femmes ? Et même si Mozilla a lancé le projet Common Voice, il y a encore 77% de voix masculines. Chez Google, le projet Euphonia vise à aider les personnes ayant des voix atypiques (comme le bégaiement d’Aurélie). Apple a un projet de reconnaissance de parole avec bégaiement (dans les podcasts). Chez Amazon, le projet voiceitt vise les mêmes objectifs.
Il n’y a pas besoin d’avoir une thèse pour pouvoir utiliser ces APIs, qui sont déja performantes et peuvent aider le quotidien. Et même si ce sont de belles idées, l’accessibilité n’est pas réservée au machine learning. Et pour Aurélie, la plus grose innovation d’accessibilité est la borne de commande tactile chez McDo. Dans le même ordre d’idée, Doctolib est une belle idée. Même si le site de Doctolib n’est pas parfaitement accessible …
19 novembre 2021
sourceWilliam a créé son premier langage chiffré en sixième pour communiquer avec sa copine. Il a créé son deuxième pour écrire un livre ("The invisible") racontant l’histoire d’une civilisation inspiré du manuscrit de Voynich, de Kryptos, et de plein d’autres langages.
Un langage, avant tout, c’est un moyen de communication. Un langage de programmation permet à un humain de communiquer avec un ordinateur. Le compilateur permet de transformer le langage de haut niveau (un flux de caractère) en langage de bas niveau. Le compilateur effectue un ensemble de transformation pour passer de l’un à l’autre.
Le front-end analyse le code source Le middle end optimise Le backend génère le langage bas-niveau.
Pour lire ce langage, il faut définir une grammaire (formes BNF ou EBNF).
Donc maintenant, on va écrire un compilateur, en Rust, évidement. Le projet s’appelle qhantoom et est disponible dans GitHub.
On a donc
Evidement, tout ça peut se faire en AOT (ahead of time) ou JIT (Just In Time)
William utilise cranelift pour effectuer ces opérations. Et on passe à la démo.
Cette démonstration nous montre un langage complet, pour lequel William dispose d’un repl, et d’un compilateur (offerts par cranelift). C’est vraiment séduisant.
En conclusion, il y a beaucoup de concepts à aborder, qui ont été fortement simplifiés par les travaux académiques. Et l’énergie follement chouette de William m’a beaucoup rappelé Xavier Van de Woestyne. Avec ce talk, on était vraiment dans le turfu !
19 novembre 2021
sourceUne keynote d’Audrey Neveu et Agnès Crépêt.
Premier sujet, les impacts environementaux. Evidement, on pale des rejets de gaz à effets de serre. Mais on parle aussi de l’utilisation de l’eau (par exemple la sécheresse à Taïwan), et des matières premières. Une mesure existe, le MIUS (material input per unit of service). Un smartphone est à 1200 (ça fait 120 Kg par smartphone).
Quand on regarde les émissions de gaz à effet de serre, 84% proviennent de la fabrication et à l’usage des appareils (et 16% pour le réseau). Chaque année, il se vend 1,5 milliards de smartphones. Et que les smartphones ont une durée de vie moyenne de 2 ans. Liée soit à la mode, soit aussi au mode de construction (batteries et écrans collés). Qui plus est, moins de 20% des matières d’un smartphone sont recyclées. Chaque année, on produit 50 millions de tonnes de déchets.
Avant tout, il faut des minerais, puisqu’il y a près de 200 composants, basés sur une cinquantaine de minerais, qui sont présents dans les solutions d’énergie verte (éolien, photovoltaïque, batteries de voitures électriques, …). Et évidement, il faut les raffiner. Par exemple, pour raffiner l’or, on utilise soit du mercure, soit du cyanure. Avec des impacts environnementaux terribles. Dans le même ordre d’idée, pour extraire le cuivre, on utilise de l’acide sulfurique, qui se diffuse dans les nappes phréatiques et vient contaminer l’eau potable. Ca c’est pour les mines industrielles. Dans les mines artisanales, il y a d’autres problèmes : travail des enfants, absence de règles de sécurités. Qui plus est, Fairphone essaye de ne pas utiliser de minerai de conflit, c’est-à-dire de minerai extrait par des mafias ou des gouvernements utilisant cette extraction pour financer leur guerre.
Les smartphones sont majoritairement assemblés en Chine ou en Inde, essentiellement par des femmes. Par exemple, Foxconn emploie 1,3 millions d’employés et a, grâce à ses exportations, un pouvoir politique énorme en chine comme à Taïwan. En Chine, le revenu minimal est d’environ 253 €. Pour obtenir un revenu décent, ils souhaiteraient 650 €. Chez Fairphone, ça a coûté 1,85$ par téléphone …
Si vous connaissez la loi de Moore, vous ne connaissez peut-être pas la loi de Wirth. Par exemple, en 8 ans, les besoins processeur de Windows ont été multiplié par 8 et les besoins mémoire par 50. De la même manière, Office demande 150 fois plus de puissance maintenant. Qu’est-ce qui justifie cette augmentation des besoins ?
Le smartphone est le pire exemple de ça : il peut vous être livré par votre opérateur avec deux surcouches à l’OS. Et ces surcouches viennent avec des logiciels installés, qui vont venir avec des tâches de fond (utilisables pour partager votre localisation avec des éditeurs, typiquement).
Côté matériel, les puces ne sont conçues pour ne supporter qu’une ou deux versions d’Android. Et mettre à jour Android au-delà de ces versions est … risqué (pour l’anecdote, j’ai briqué une tablette comme ça).
L’informatique facilite la mise en place des effets rebonds : l’amélioration des technologies permet de nouveaux usages qui in fine sont plus consommateurs que les précédents. Quelques exemples.
Les techniques de design d’attention, pour lequel des cours existent dans les grandes plateformes, visent à augmenter votre dépendance aux plateformes pour vous pousser à y passer plus de temps, pour consommer plus de publicité et fournir plus d’information
Les outils des plateformes surveillent les utilisateurs pour accumuler plus de données. Les usages funs permettent par les mêmes moyens des choses moins fun. En France, en 2020, des soignants ont été suivis après des manifestations par des drones pour être ensuite arrêtés pendant la pandémie. La reconnaissance faciale, que vous utilisez pour déverrouiller vos logiciels, est aussi utilisée par le gouvernement chinois dans la répression Ouighour.
The platforms that connect us also control us
https://www.thesocialdilemma.com/
Vient maintenant le marronier du moment: Facebook. Par exemple, si vous pensez ne pas avoir de profil facebook (comme moi), jetez un oeil aux shadow profiles crées à partir des des informations à votre sujet détenues par vos proches. De la même manière, la modération de contenu est un vrai problème chez facebook, puisqu’il vaut mieux ne pas empêcher les annonceurs de payer. On peut également parler de leurs expériences menées sur leurs utilisateurs snas encadrement scientifique pour déterminer comment le flux d’actualité impacte l’humeur des utilisateurs. Ou encoe du colonialisme digital avec leur service free basics, qui visait à "offrir" un accès internet gratuit, mais avec des biais induits par l’entreprise assez pénible (accès limités, informations partiales, voire même dans une langue incorrecte). Toujours dans le groupe facebook, Instagram sait maintenant que le réseau social a un effet toxique sur les adolescent(e)s grâce à un rapport interne, laissé sans conséquence.
Et comme Audrey et Agnès sont passionnées par leurs sujets, elles débordent de l’horaire (ça arrive à tous les speakers du monde).
Nous avons un rôle de sachants, en permettant aux utilisateurs de devenir autonomes sur ces sujets.
19 novembre 2021
sourcepar Alexandre Jomin.
Alexandre est manager dans une startup de mise à disposition de vélos d’entreprise.
Un jour, on peut vous proposer un poste de manager. Ca n’est pas une promotion, mais un changement de carrière. Cette présentation n’est évidement pas une formation au management.
D’abord il faut communiquer beaucoup plus vers l’équipe et vers l’extérieur. Par ailleurs, il faut être capable de synthétiser les informations, à nouveau dans les deux sens. Il faut également porter les choix de la direction auprès de l’équipe.
En tant que développeur, on déteste avant tout les interruptions. Manager, c’est se mettre dans un rythme très différent, et la méthodologie pour être productif est très différente. Parce que le rôle du manager est d’être disponible pour l’équipe et le reste de l’entreprise. Et donc être interruptible. Vous devez même faire rempart pour garantir la productivité de l’équipe. Pour minimiser la durée d’interruption, Alexandre utilise beaucoup les todolist (et la fonction remind later de slack).
Pour un développeur, il est facile d’évaluer sa productivité (via l’activité GitHub/GitLab, par exemple). Le manager, lui, n’a pas vraiment d’objectif concret, ni d’ailleurs de moyen de mesurer sa productivité. Ca mène au paradoxe de journée très remplies, sans impression d’avoir réellement produit.
En fait, en tant que manager, on donne les clés de la production à l’équipe. Le manager doit travailler à son inutilité. Dans une équipe qui fonctionne bien, on peut d’ailleurs avoir cette impression
En tant que manager, on requalifie ses hard skills. On peut utiliser y sa capacité à apprendre et à s’adapter.
Ca vient d’augeo, qui veut dire augmenter. C’est la racine de l’autorité, qui est le rôle du manager.
Il n’y a autorité que quand il y a augmentation.
Michel Serres
Le rôle du manager, c’est de comprendre les attentes de l’équipier pour les mettre en relation avec les objectifs de l’entreprise.
Vous devez mettre à profit les profils des salariés pour les aligner avec les objectifs de l’entreprise. Il faut avant tout se connaître soi-même pour pouvoir travailler avec les autres.
On peut utiliser la méthode des 5 drivers
Ces drivers éclairent le mode de communication qu’on peut avoir avec les autres. Ca conditionne pas mal les échanges avec les autres
Un ancien manager basait sa vision des développeurs sur le nombre de contributions données par GitHub/GitLab. Ca a aidé Alexandre a forger sa propre méthode : en essayant d’éviter cette mesure
Rappel de la loi de Hofsdater "Il faut toujours plus de temps que prévu, même en tenant compte de la loi de Hofsdater". Il y a toujours des imprévus dans les projets. Et les gens sont mauvais pour estimer la difficulté. Qui plus est, on est mauvais en terme de perception du temps. Par exemplen pour un alpiniste, évaluer le temps de parcours d’une nouvelle voie dépend de la météo, du matériel, et d’autres facteurs. Le framework Cynefyn aide beaucoup en segmentant les tâches en quatre grandes catégories :
Choisir, c’est renoncer (ou plutôt dire "pas tout de suite"). L’ancienne équipe d’Alexandre a utilisé le WSJF (weighted shortest job first). Ca permet de sortir du backlog passioné pour arriver à une vision analytique.
C’est souvent compliqué, parce qu’on intègre à tout ça une grosse inconnue. D’une façon "classique", la seule méthode a consisté à détacher une personne de l’équipe pour s’occuper du run (en rôle tournant chaque semaine). Cette personne fait comme le manager rempart pour protéger la productivité de l’équipe.
C’est le privilège du manager. Quand on recrute, on recrute une personne qui va prendre une place dans l’équipe. Est-ce que cette personne est compatible avec l’équipe et avec le projet de l’entreprise
Chaque taille d’équipe présente des défis particuliers. Le nombr d’interaction pourrait être modélisée par (x²-x)/2. Autrement dit, quand on ajoute une personne, on rajoute autant d’interactions qu’il y a déja de membres. Le risque, c’est de perdre en capacité de communication. Cette règle est généralement associée à la loi de Brooks ("ajouter des personnes à un projet en retard augmentera son retard").
Au-dela d’une certaine taille, l’être humain n’est pas capable de dénombrer rapidement. Et en fait, ça impacte la capacité à interagir en grands nombres (donc pour faire les dailys quand on dépasse 5-6 personnes).
C’est peut-être ce qui sous-tend la règle de la pizza-team chez Amazon …
Par ailleurs, pour un manager, voir son équipe évoluer en homéostasie est vraiment flatteur. Qui plus est, une équipe est immutable : quand on ajoute/supprime/change un membre, c’est en fait une nouvelle équipe qui naît.
Le but n’est pas d’écrire le code pénal, mais plutôt de définir un cadre pour permettre aux collaborateurs de s’exprimer en son sein. C’est précieux lors de l’onboarding, mais également en phases critiques.
C’est difficile de demander plus aux autres qu’à soi-même. En tant que manager, il faut gérer la toxicité, c’est-à-dire tuer les conflits pour garantir un bon climat dans l’équipe.
Les encouragements doivent être publics, et les reproches privés. Qui plus est, les reproches doivent être factuels, sans jugement.
Pensez à remplacer "je" par "nous", parce que c’est l’équipe qui travaille, pas le manager.
C’est un très bon moyen de développer une relation de confiance entre manager et managé. On va essayer de s’y poser des questions générales. Alexandre pose toujours les mêmes questions
C’est un changement de cap dans la carrière qui met en valeur les soft skills. Il faut y faire le deuil du code quotidien. On se met au service de l’équipe. Et c’est bon de faire preuve de bienveillance.
19 novembre 2021
sourcePar Louis Tournayre
Commençons notre aventure avec un site qui ne marche pas bien. La direction demande aux ops de faire une version Halloween, qui a été livrée après Halloween. Comment livrer la version de Noël ? La direction a entamée des séances de brainstorming. Les développeurs aimeraient faire des livraisons plus petites, et disposer de plus de temps pour effacer la dette technique. Pour ça, il faut faire plus de livraisons, et que ce soit des non-événements. Dans l’équpe d’ops, c’est la cata, parce qu’il faut passer des documents de livraison à quelque chose de plus rapide. En en discutant avec les collègues, Louis propose de packager les applications dans des conteneurs Docker livrés dans Kubernetes en livrant grâce aux principes GitOps.
NOTE: Toute la présentation est animée façon livre dont vous êtes le héros, ce qui dynamise bien un sujet qui arrive au moment de la digestion.
GitOps n’est pas une révolution, c’est simplement l’application des concepts de livraison continue au monde Kubernetes grâce à la boucle de réconciliation. On a deux principes fondamentaux . Git est la source de vérité . Chaque environnement est décrit dans une branche différente.
Et dans chaque branche, on ne met que l’état désiré de l’infrastructure. Et évidement, on ne touche pas à l’infrastructure à la main.
GitOps, c’est un peu l’anneau unique du déploiement dans K8s. Pour ça, on va déployer un opérateur Kubernetes ArgoCD, qui va lire les informations depuis les dépôts Git configurés pour appliquer les changements.
Et Louis se lance dans une démo d’installation d’argocd dans un cluster Kubernetes. A laquelle suit logiquement le déploiement d’une application dans K8s avec ArgoCD. Et l’interface d’argoCD est vraiment bien faite : on y voit toutes les ressources nécessaires au fonctionnement de l’application (ce qui nous montre que l’application est correctement déployée). Hélas, pour l’instant, on ne déploie que l’environnement de prod. Comment faire pour déployer ces autres environnements pour lesquels les URLs, le nombre d’instance, les connexions aux bases de données. On a le choix entre Helm et Kustomize.
Helm fournit le templating, le packaging, et un système de gestion de dépendances. Testons ce déploiement avec YAML. Ca marche bien. A noter qu’ArgoCD rafraîchit les différentes branches toutes les 3 minutes.
Passons maintenant aux secrets (les mots de passe JDBC, par exemple) potentiellement contenus dans l’application. On pourrait utiliser Vault, qui est très sophistiquée et marche très bien, mais notre équipe n’a pas encore la compétence. On ne doit pas utiliser les secrets natifs de K8s, puisqu’il s’agirait simplement d’encoder les mots de passe en base 64 pour les stocker dans notre repository Git. C’est une mauvaise idée. On va donc utiliser des "sealed secrets", c’est-à-dire des secrets chiffrés via des clés asymétriques. Il y a quelques subtilités dans la gestion de ces sealed secrets (en termes de namespaces) que Louis détaille.
19 novembre 2021
sourcepar Jean-Phi Baconnais & Guillaume Le Floch
Tout le monde parle de Quarkus en parlant de la faible consommation de mémoire et du bon temps de démarrage. Quarkus fournit un mécanisme d’extension qui permet facilement de l’étendre. Et on ne va pas parler de tout ça.
Mais plutôt de l’expérience développeur.
Elle est développée avec picocli et distribuée avec jbang. On peut créer des projets, gérer les extensions, démarrer et construire nos applications. On peut également lister les extensions disponibles.
Avec le plugin Java fourni par RedHat, on peut faire des trucs vraiment puissants
Il permet le rechargement à chaud de l’application, pour fournir une expérience développeur fluide. Ca fonctionne sur le code, les dépendances (et même la version de Quarkus). Les variables déja initialisées seront conservées dans la plupart des cas.
Pour démarrer facilement un service dont l’application dépend, il est possible de démarrer la dépendance directement automatiquement depuis les tests.
Quarkus fournit une interface d’admin qui affiche l’ensemble des services démarrés par l’application (y compris l’ensemble des beans CDI, et ça c’est très cool).
Comme avec Infinitest, quand on modifie les classes, les tests associés sont exécutés automatiquement.
18 novembre 2021
sourceEncore un article sur la décision via la polarisation, c’est très chouette.
18 novembre 2021
sourceUn article intéressant pour les devrels, mais aussi pour toutes les personnes qui s’intéressent à leur impact communautaire
18 novembre 2021
sourceUn pont bidirectionnel entre Python et Rust. L’idée est vraiment chouette, je crains juste l’enfer de l’interopérabilité des structures.
18 novembre 2021
sourceJe me permets une tentative de traduction "en cette époque de crise écologique, il n’y a rien de rationel à maximiser le profit."
18 novembre 2021
sourceC’est pas pour dire, mais en faisant du Java (qui est juste deux fois moins efficace que le C) et du Rust (qui est 1.03 fois moins efficace que le C), je ne suis pas mauvais …
18 novembre 2021
sourceUne alternative open-source à Notion. Ca a l’air bien (d’autant plus que le back-end est codé en Rust), mais je n’ai pas trouvé la doc d’installation.
17 novembre 2021
sourcePicasso disait "les bons artistes copient, les grands artistes volent". Et James S.A. Corey ne dit pas autre chose.
17 novembre 2021
sourceJ’ignorais qu’Elon Musk était un héritier de l’appartheid. Ca change un peu la donne
17 novembre 2021
source17 novembre 2021
sourceUn petit utilitaire agrégeant un tas de tests réseaux bien pratiques. Je vais l’installer … et oublier que je l’ai installé 😅
17 novembre 2021
sourceTiens, un framework Rust pour créer des dépendances entre des calculs divers et variés. Ca me donne une idée folle …
17 novembre 2021
sourceEn lisant ce très intéressant article sur le calcul de valeurs dépendantes "à la manière d’un tableur", j’ai eu ce frémissement intellectuel qui m’a poussé à me demander si ça marcherait bien pour codingame. Et je pense que ça marcherait terriblement bien.
17 novembre 2021
sourceJ’ai vécu un certain nombre de ces signaux d’alerte. Et à chaque fois, ça s’est mal fini.
17 novembre 2021
sourceIl va falloir que je regarde ce truc un peu sérieusement, ça m’a l’air riche de possibilités assez fascinantes
17 novembre 2021
sourceIl y aurait un plugin OBS pour faire de l’écran vert virtuel ? Cool !
17 novembre 2021
sourceTrès intéressant usage d’upnp !
16 novembre 2021
sourceC’est marrant, mais je ne suis pas du tout sûr que chaque projet recherche effectivement des contributeurs. je crois que certains projets les recherchent, en effet, mais que bon nombre de projets n’ont pas besoin de plus de monde
16 novembre 2021
sourceTrès belle présentation sur les moyens d’optimiser un build maven. Certains résultats sont surprenants.
16 novembre 2021
sourceEt oui, les chasseurs tuent plus de gens que les terroristes. Et moins que les féminicides. Tout ça est connu et documenté historiquement. Mais le terrorisme effraie les petits vieux (qui votent), pas la chasse.
16 novembre 2021
sourceUn DSL de définition de recettes de cuisine. C’est curieux (et sacrément malin)
16 novembre 2021
sourceUn outil de gestion spécifique des ADR. C’est intéressant, mais je ne suis pas toujours pas sûr d’aimer ça.
16 novembre 2021
source[MNG-5102 Mixin POM fragments - ASF JIRA]
Depuis 2011, des utilisateurs demandent la création de mixins Maven. Et pour la première fois, j’ai un vrai beau cas d’utilisation.
16 novembre 2021
sourceCa répondrait à un problème que j’ai actuellement, mais je crains fort que la solution soit pire que le mal …
15 novembre 2021
sourceTrès chouette : YouTube semble masquer les messages citant OpenStreetMap (concurrent à Goole Maps). Ca ressemble *exactement\* à de l’abus de position dominante.
15 novembre 2021
sourceCa par exemple ! Les oiseaux sont capables de parténogénèse dans certains cas (cet article documente le cas de condors de Californie, pais ça marche aussi chez les poules)
15 novembre 2021
sourceUne appli de design d’écran qui semble riche de multiples promesses