Catégorie : Technique

  • Leet­code

    Je cherche un bon moyen d’éva­luer la compé­tence tech­nique d’un déve­lop­peur. Aujourd’­hui j’ai un test qui semble bien fonc­tion­ner pour notre usage mais que je trouve clai­re­ment trop long avec 4 heures.

    J’ai toujours été réti­cent aux exer­cices tableau blanc de type parcours d’arbre, calculs sur tableau et autres jeux d’al­go­rithme. J’ai quand même voulu tester un peu les clas­siques leet­code que certains utilisent comme lors des tests d’en­trée.

    Quelques conclu­sions après une ving­taine d’exer­cices de diffi­cul­tés variables d’un parcours qui m’est présenté comme repré­sen­ta­tif :

    Ces exer­cices dépen­dant plus du bacho­tage préa­lable que de l’ex­pé­rience ou de la compé­tence.

    Pour une bonne partie, le faire bien demande d’avoir vu le truc une fois, ou de connaître le bon algo. Ce ne sont pas des choses qui se trouvent simple­ment en réflé­chis­sant, a fortiori pas pendant un test tech­nique en temps limité avec une dose de stress.

    J’en ai un ou deux dont je ne connais­sais pas l’al­go­rithme et je n’ai pas été capable de trou­ver une bonne solu­tion en termes de récur­si­vité, complexité de calcul ou espace mémoire. Ça ne s’in­vente pas.

    À l’op­posé, sur la plupart je connais­sais le truc et le temps passé était sur la syntaxe ou des erreurs d’inat­ten­tion. Zéro inté­rêt. Même là où l’ex­pé­rience a pu jouer, sur les parcours avec des poin­teurs, je classe ça dans les connais­sances qui ne m’ont presque jamais servi et pas dans les acquis de l’ex­pé­rience.

    Je suis convaincu qu’un débu­tant sorti d’école avec un peu de bagage théo­rique et pas mal de bacho­tage s’en sortira bien mieux, y compris à expliquer sa solu­tion, qu’un déve­lop­peur senior avec un super impact en entre­prise.

    Je ne vois pas comment ça va aider à justi­fier de ma valeur ou à évaluer celle des autres

    Je ne dis pas qu’on n’a jamais à jouer avec les poin­teurs, les tris, les parcours et ce genre de choses, mais ce n’est clai­re­ment pas repré­sen­ta­tif des problé­ma­tiques qui seront rencon­trées.

    Le cas échéant, ce sont juste­ment des problèmes pour lesquels on va utili­ser des biblio­thèques exis­tantes ou pour lesquels on trou­vera très bien la réponses sur un moteur de recherche.

    Il est évident que l’exer­cice va permettre de faire un tri dans les candi­dats mais je n’ai pas l’im­pres­sion que ce soit sur le bon critère.

    Bien évidem­ment ça doit dépendre des métiers. Un ingé­nieur sur le cœur d’une base de données doit certai­ne­ment être assez près de ces problé­ma­tique, mais ça ne me semble pas être le cas de 90% des ingé­nieurs.

    Peut-être que je n’ai pas vu les bons tests, mais je reste assez dubi­ta­tif.

    Pour ceux qui utilisent ces tests ou des simi­laires, y compris ceux à l’as­pect un peu plus ludique, qu’y cher­chez-vous exac­te­ment ?

  • Comment déve­lop­pera-t-on demain ?

    Les déve­lop­peurs de mes équipes demandent depuis un moment des licences Github Copi­lot. J’ai vu quelques personnes parler de l’édi­teur Cursor.sh.

    J’avoue que j’ai eu envie de tester un peu. Sur un projet perso j’ai tenté l’ap­proche « allons-y tota­le­ment ». Je suis bluffé.

    Bon, j’ai encore le réflexe de cher­cher tout ce que je ne sais pas dans les docs. Ça veut dire que je demande prin­ci­pa­le­ment des choses que je saurais déjà faire, et poten­tiel­le­ment aussi rapi­de­ment seul qu’en saisis­sant ma demande dans l’in­ter­face. Je ne sais pas si je gagne vrai­ment du temps mais, même ainsi, l’in­ves­tis­se­ment de 2x 20$ par mois me semble une évidence.

    Avec le temps je risque de me repo­ser vrai­ment dessus et là ça fera certai­ne­ment une énorme diffé­rence. Pour un débu­tant qui apprend à coder direc­te­ment avec ces outils, ça doit être juste une révo­lu­tion.

    Le métier de déve­ve­lop­peur est en train de chan­ger radi­ca­le­ment. Je ne sais pas s’il sera le même dans 10 ans. Je ne sais même pas si ça a du sens d’en­sei­gner le code à mon fils de 11 ans.

    On est en train de tester ça au boulot, plus Code rabbit pour les revues de code. Si je trouve d’autres choses perti­nentes j’ai une propen­sion assez forte à ajou­ter aussi. Même sur un budget total de 100 ou 150 $ par mois et par déve­lop­peur, ce serait assez mal avisé de reje­ter la chose.

    Reste l’éner­gie néces­saire à tout ça, et là on touche vite la limite du modèle :

    « OpenAI’s CEO Sam Altman on Tues­day said an energy break­through is neces­sary for future arti­fi­cial intel­li­gence, which will consume vastly more power than people have expec­ted.

    Reuters, 16 janvier 2024

    Je n’ai pas de conclu­sion. L’as­pect produc­ti­vité ne fait aucun doute. La limite éner­gé­tique aussi. Malheu­reu­se­ment les deux ne vont pas du tout dans le même sens.

  • Move fast and break things

    Les discus­sions sont cycliques. Au détour d’un article sur la sonde Voya­ger j’en vois encore ironi­ser sur les équipes qui se refusent à déployer le vendredi après-midi.

    C’est un équi­libre des risques.

    Je ne veux pas les latences au déploie­ment que peut avoir la NASA. Je ne veux pas les coûts d’as­su­rance qualité de la NASA. Je suis prêt à casser des choses ponc­tuel­le­ment si c’est pour avan­cer vite.

    « Move fast and break things » ce n’est pas qu’un Moto. C’est un vrai choix stra­té­gique.

    Et si on assume le risque casser des choses, en fonc­tion du contexte et des besoins, ce n’est pas forcé­ment décon­nant de choi­sir quand gérer ce risque.

    La règle de la mise en produc­tion du vendredi, pour les équipes qui en ont une, n’est parfois que cela : un arbi­trage entre le risque de casse, le béné­fice à livrer main­te­nant, la dispo­ni­bi­lité des équipes dans les heures ou jours a venir, la faci­lité ou l’en­vie de rappe­ler les personnes concer­nées hors heures ouvrées si néces­saire, la dispo­ni­bi­lité d’équipes d’as­treinte, la possi­bi­lité de lais­ser un site dysfonc­tion­nel tout un week-end ou pas, etc.

    En géné­ral les équipes arbitrent ça très bien elles-mêmes. À chacun de voir si livrer un vendredi soir avant de partir est perti­nent pour son propre contexte. Les deux seules options fautives sont de ne pas y réflé­chir et d’igno­rer le risque.

    « Si ta CI est bien faite, tu n’es sensé rien casser »

    La plate­forme d’in­té­gra­tion conti­nue ne va tester que ce que l’équipe a pensé à lui faire tester. L’équipe ne pensera jamais à tout. D’ailleurs même la NASA fait des erreurs, et l’ar­ticle cité en haut de billet relate juste­ment une anoma­lie décou­verte au cours de la vie de la sonde.

    Avoir une bonne plate­forme d’in­té­gra­tion conti­nue dans laquelle on a confiance n’em­pêche pas de prendre en compte le risque dans ses choix.

    Même si je pouvais avoir une CI parfaite, pour ma part, je ne le voudrais d’ailleurs pas. Le jour où je n’au­rai plus aucun inci­dent ni anoma­lie, je consi­dé­re­rai qu’on a mal fait notre travail en surin­ves­tis­sant dans la qualité par rapport à nos besoins réels.

  • Petite anti­ci­pa­tion du 22 avril 2023

    Je parti­cipe à l’édi­tion de SudWeb à venir.

    Je ne sais pas ce que devien­dront ces rendez-vous physiques dans le nouveau monde où tant de personnes semblent préfé­rer le télé­tra­vail. SudWeb a fermé ses portes un moment. ParisWeb aurait très bien pu le faire et l’équa­tion semble diffi­cile.

    Je suis heureux de retrou­ver de nouveau, au moins cette fois, la bande d’amis et de connais­sances qui partagent quelques unes de mes valeurs. Ça reste des moments de repos même si, forcé­ment, le nombre de personnes fait que ça me demande une éner­gie monstre.

  • Dis tonton, c’est quoi les blocages d’ins­tance sur Masto­don ?

    Voilà qu’on reparle de modé­ra­tion de Masto­don. L’his­toire de départ c’est une instance (« Info­sec ») qui a choisi d’en mettre une autre (« Journa ») sous silence pour ne pas subit les propos que cette dernière a choisi de lais­ser en ligne.

    Hein ? Une instance ?

    Masto­don fonc­tionne à travers un réseau fédéré. Son petit nom est le fédi­verse. Les utili­sa­teurs sont regrou­pés en ilots plus ou moins gros qu’on appelle les instances. Certains utili­sa­teurs ont leur propre instance person­nel. D’autres instances regroupent plusieurs dizaines de milliers de personnes.

    Si un Tom d’Info­sec est abonné à Alice de Journa, alors les deux instances commu­niquent entre elles pour que Journa envoie les messages d’Alice à Info­sec. Info­sec fera ensuite en sorte de les présen­ter à Tom.

    Schéma représentant trois cercles avec des flèches allant dans les deux sens entre chaque couple de cercle.

Dans le premier cercle, quatre noms : Tom, Tina, Titus, Tara.

Dans le second cerce, quatre noms : Anna, Alice, Agnès, Albus.

Dans le troisième cercle : Cédric, Clara, Cloé.
    Diffé­rentes instances

    Vous connais­sez déjà ça avec les emails, qui fonc­tionnent sur le même prin­cipe. On a un îlot Gmail, un Outlook, un Yahoo, un Orange, un Free… et chaque entre­prise créé le sien avec son propre nom.

    Ok, mais c’est quoi le blocage d’une instance ?

    Si Info­sec choi­sit de bloquer entiè­re­ment Journa, alors elle ne trai­tera plus les nouveaux messages de cette dernière et n’y enverra plus les siens. On parle de défé­dé­rer une instance.

    Cette procé­dure n’in­fluera que sur l’ins­tance qui réalise qui le blocage (Info­sec) et les utili­sa­teurs de cette dernière. L’ins­tance ciblée (Journa) conti­nuera à conver­ser avec toutes les milliers d’autres instances du réseau.

    Schéma représentant trois cercles avec des flèches allant dans les deux sens entre chaque couple de cercle.

La flèche qui va du cercle des A vers le cercle des T est bloqué par une croix rouge du côté du cercle des T.
La flèche qui va du cercle des T vers le cercle des A est bloquée elle aussi au niveau du cercle des T, et est représentée en pointillés.

Dans le premier cercle, quatre noms : Tom, Tina, Titus, Tara.

Dans le second cerce, quatre noms : Anna, Alice, Agnès, Albus.

Dans le troisième cercle : Cédric, Clara, Cloé.
    Blocage d’une instance par une autre.

    En réalité il y a un niveau inter­mé­diaire qu’on appelle la mise sous silence.

    Masto­don a trois flux : le flux person­nel qui présente unique­ment les abon­ne­ments, le flux local qui présente unique­ment les messages locaux à l’ins­tance, et le flux fédéré qui présente tous les messages reçus par l’ins­tance.

    La mise sous silence masque les conte­nus concer­nés dans le flux fédéré mais permet de rece­voir des messages dans le flux person­nel à condi­tion de s’y être expli­ci­te­ment abonné.

    C’est ce niveau de blocage inter­mé­diaire (la mise sous silence) qui a été mis en œuvre par Info­sec.

    Mais pourquoi faire ça ?

    La vraie réponse : Peu importe. Si tu choi­sis de ne pas écou­ter CNews chez toi, tu n’as pas à donner d’ex­pli­ca­tion. C’est ton choix.

    C’est la même chose pour l’ins­tance Info­sec et ses utili­sa­teurs : Ils font ce qu’ils veulent chez eux.

    Le plus souvent on bloque une instance quand elle est la source de spam, de harcè­le­ments, ou de propos racistes, trans­phobes, handi­phobes, pédo­por­no­gra­phiques ou inju­rieux.

    Chaque instance a ses propres sensi­bi­li­tés. Certaines tiennent à une liberté d’ex­pres­sion très large, d’autres préfèrent exclure la porno­gra­phie ou certains sujets pour créer un espace qui leur convient.

    Certains préfèrent une modé­ra­tion légère quitte à subir parfois quelques conte­nus problé­ma­tiques là où d’autres préfèrent une modé­ra­tion forte quitte à limi­ter certaines inter­ac­tions externes légi­times.

    C’est un choix local, qui ne concerne qu’eux.

    Ici Info­sec a jugé que certains propos venant de Journa étaient trans­phobes et les utili­sa­teurs d’Info­sec souhai­taient s’en proté­ger (c’est à dire ne plus les voir ni en assu­rer la trans­mis­sion chez eux).

    On bloque toute une instance et tous les utili­sa­teurs pour un unique message problé­ma­tique ?

    Masto­don prévoit un moyen de signa­ler les propos gênants à l’ins­tance d’ori­gine. Le plus souvent les blocages d’ins­tance inter­viennent quand l’ins­tance d’ori­gine (ici Journa) refuse d’agir, ou que le problème survient trop régu­liè­re­ment.

    Pour faire un paral­lèle, si je sais que CNews invite régu­liè­re­ment des invi­tés que je ne supporte pas, je peux préfé­rer ne plus du tout regar­der CNews pour m’en proté­ger, quitte à ne plus entendre certains autres invi­tés qui seraient eux accep­tables à mes yeux. Je n’in­ter­dis pas CNews, je choi­sis juste de ne pas diffu­ser cette chaîne dans mon salon.

    J’avoue que sur ce sujet, si j’avais eu à modé­rer, avec une seule occur­rence qui n’est qu’un partage d’un contenu d’un jour­nal de réfé­rence, j’au­rais mis sous silence unique­ment l’uti­li­sa­teur concerné et pas l’ins­tance, mais ce n’est que mon choix lié à mes équi­libres person­nels.

    Info­sec a fait un autre choix, et il ne regarde qu’eux.

    Pourquoi est-ce que Journa a refusé d’agir sur des propos trans­phobes ?

    Les équi­libres de liberté d’ex­pres­sion sont très subjec­tifs. Tous les pays n’ont déjà pas le même socle de base en interne. Les commu­nau­tés peuvent en plus choi­sir d’al­ler au-delà de ce socle de base. Certaines le font, d’autres pas, et pas toujours sur les mêmes sujets.

    Enfin, parfois il y a simple­ment désac­cord sur ce qui est ou pas inju­rieux, ce qui est ou pas trans­phobe, ce qui est ou pas raciste, ce qui est ou pas un consti­tu­tif d’un harcè­le­ment, etc.

    Les commu­nau­tés se regroupent autour de poli­tiques, valeurs et cultures communes, mais n’ont pas forcé­ment les mêmes que le voisin.

    C’est ce qu’il se passe ici. Soit Journa a consi­déré que l’ar­ticle du New York Times relayé était suffi­sam­ment étayé avec des avis de docteurs et cher­cheurs à propos des effets indé­si­rables de certains trai­te­ments, soit Journa n’a pas agit en pensant que ce n’est pas son rôle de tran­cher une telle ques­tion et remettre en cause le New York Times.

    D’autres personnes sur Info­sec ont, elles, consi­déré que le contenu était trans­phobe et qu’il valait mieux bloquer l’ins­tance si elle n’agis­sait pas pour empê­cher la diffu­sion de conte­nus trans­phobes à l’ave­nir. Info­sec a agit en fonc­tion de ses propres utili­sa­teurs, et ça ne regarde qu’eux (oui, je me répète mais c’est impor­tant).

    Ça pose quand même un sacré problème de liberté d’ex­pres­sion, non ?

    En fait, pas vrai­ment, pas beau­coup plus que tous les gens qui comme moi font le choix de ne jamais allu­mer la TV sur CNews.

    Personne n’em­pêche les membres de Journa de s’ex­pri­mer, ou d’être entendu, ou même d’être relayé sur la très grande majo­rité des instances Masto­don.

    Dans le schéma de tout à l’heure, le blocage est à la péri­phé­rie de l’ins­tance Info­sec et pas à la péri­phé­rie de l’ins­tance Journa. Tant qu’Info­sec n’est qu’un des très nombreux acteurs du réseau, ça ne pose pas de problème majeur.

    Schéma représentant trois cercles avec des flèches allant dans les deux sens entre chaque couple de cercle.

La flèche qui va du cercle des A vers le cercle des T est bloqué par une croix rouge du côté du cercle des T.
La flèche qui va du cercle des T vers le cercle des A est bloquée elle aussi au niveau du cercle des T, et est représentée en pointillés.

Dans le premier cercle, quatre noms : Tom, Tina, Titus, Tara.

Dans le second cerce, quatre noms : Anna, Alice, Agnès, Albus.

Dans le troisième cercle : Cédric, Clara, Cloé.
    Blocage d’une instance par une autre.

    Les seuls pour qui il y aurait poten­tiel­le­ment un enjeu de liberté d’ex­pres­sion, ce sont les membres de l’ins­tance d’Info­sec.

    Ahah ! Tu vois, tu le dis toi-même, il y a bien un problème pour eux !

    Ça dépend. Si je parti­cipe à une asso­cia­tion, qu’il y a une TV dans la salle de pause et qu’il a été décide que cette TV diffu­se­rait Arte plutôt que CNews, est-ce une atteinte à la liberté d’ex­pres­sion parce que je ne peux pas y écou­ter les chro­niqueurs de CNews ?

    Proba­ble­ment pas : Je peux encore écou­ter CNews chez moi, ou dans une autre asso­cia­tion, ou même monter ma propre asso­cia­tion qui aura des règles diffé­rentes. Cela ne commen­cera à être un problème que si ma capa­cité à aller voir ailleurs est limi­tée ou complexe, ou si on donne à l’as­so­cia­tion d’ori­gine une auto­rité quel­conque.

    C’est exac­te­ment la même chose avec Info­sec. Ses membres peuvent toujours aller lire Journa ailleurs avec un second compte, ou démé­na­ger leur compte prin­ci­pal sur une autre instance, ou même monter leur propre instance. Ajou­ter un second compte ou migrer ailleurs est facile, sans limite.

    Non seule­ment personne ne bride l’ex­pres­sion des membres de Journa mais en plus personne ne limite la capa­cité à aller les lire faci­le­ment.

    Pour­tant tu disais toi-même que…

    La ques­tion surgi­rait diffé­rem­ment si Info­sec avait une situa­tion de quasi-mono­pole, ou que toutes les instances bloquant Journa avaient en se regrou­pant une situa­tion de quasi-mono­pole limi­tant de fait la capa­cité à accé­der au contenu dont on parle.

    Ce n’est pas le cas aujourd’­hui.

    Ce serait aussi un sujet pour un blocage liti­gieux réalisé de façon cachée. Ici l’ad­mi­nis­tra­teur d’Info­sec a publié un billet sur le sujet et le fait même que j’en parle ici montre qu’on est loin de ce cas.

    Ça pose au moins une ques­tion de démo­cra­tie interne d’In­fo­sec

    Pas à mon avis. Tout fonc­tion­ne­ment interne n’a pas forcé­ment à être démo­cra­tique. C’est impor­tant pour un pays ou une collec­ti­vité terri­to­riale parce qu’on ne choi­sit pas son pays d’ori­gine et qu’on ne change pas faci­le­ment de pays ou de terri­toire.

    La démo­cra­tie c’est « le pouvoir au peuple ». Sur Masto­don l’uti­li­sa­teur a le pouvoir vu qu’il peut choi­sir à tout moment une instance avec des règles qui lui conviennent, sans avoir de consé­quences néga­tives signi­fi­ca­tives.

    C’est d’au­tant moins un sujet que le message de l’ad­mi­nis­tra­teur d’Info­sec laisse entendre que ce sont des utili­sa­teurs de l’ins­tance qui l’ont fait agir et pas lui qui a pris la déci­sion unila­té­ra­le­ment.

    Mais alors il n’y a aucun problème ?

    Il y a plein de problèmes, mais pas forcé­ment des ques­tions de liberté d’ex­pres­sion ou de démo­cra­tie, et pas forcé­ment sur le cas Info­secJourna.

    Un premier problème est la trans­pa­rence. Info­sec a agi en trans­pa­rence mais ce n’a pas toujours été lé cas de toutes les instances par le passé. Quand c’est trans­pa­rent on fait nos choix, éven­tuel­le­ment on va voir ailleurs. Quand c’est caché ça veut dire mani­pu­ler l’in­for­ma­tion reçue et influen­cer des personnes sans qu’ils ne le sachent, et ça c’est déjà beau­coup plus liti­gieux.

    La contrainte est un second problème. Ce ne semble pas le cas ici mais par le passé la menace de défé­dé­rer a été utili­sée comme une pres­sion pour forcer une autre commu­nauté à chan­ger ses propres règles et valeurs (« si tu ne bloques pas l’ins­tance xxx alors on bloque ton instance aussi »). On est là dans une démarche où l’ou­til a été détourné pour deve­nir une arme plutôt qu’un bouclier.

    Enfin, il y a un sujet si une instance ou un groupe d’ins­tances peut avoir suffi­sam­ment de poids pour que ça devienne effec­ti­ve­ment un sujet de liberté d’ex­pres­sion. C’est parti­cu­liè­re­ment le cas si on cumule avec le problème précé­dent. Là ça peut être aussi moche qu’un réseau centra­lisé, ou créer plusieurs sous-réseaux indé­pen­dants et qui ne commu­niquent pas entre eux.

    Du coup le système de Masto­don est problé­ma­tique ?

    Oui, non, ça dépend de tes propres choix.

    C’est juste qu’il n’y a pas de système parfait ni de façon univer­selle de posi­tion­ner les équi­libres entre les diffé­rents enjeux.

    Le choix de Masto­don est un choix qui répond à des problèmes vus sur Twit­ter ou d’autres réseaux centra­li­sés, qui ouvre d’autres possi­bi­li­tés et d’autres façons de penser les équi­libres. C’est déjà pas mal.

    Que peut-on amélio­rer ?

    1. Inci­ter à plus de trans­pa­rence à l’in­té­rieur d’une instance, sur ce qui est bloqué globa­le­ment et pourquoi.
    2. Refu­ser globa­le­ment les guerres de modé­ra­tion entre instances et les instances qui veulent contraindre les règles des autres (le « si tu ne bloques pas l’ins­tance xxx alors on bloque ton instance aussi »)
    3. S’as­su­rer qu’au­cune instance ne repré­sente plus de 20% des utili­sa­teurs actifs, et qu’un groupe d’ins­tances ne devienne majo­ri­taire au point de pouvoir deve­nir un problème.
    4. Faire en sorte que jamais la procé­dure de démé­na­ge­ment de compte ne soit limi­tée, même en cas de blocage d’ins­tance.
  • VSCode Live Share

    J’ai régu­liè­re­ment le senti­ment d’une avan­cée extra­or­di­naire des pratiques et des outils en 15 ans.

    Aujourd’­hui on peut faire du travail à deux avec flux audio, vidéo, et code à quatre mains sur les mêmes fichiers.

    Je peux suivre chacune des actions de mon collègue et suivre son déroulé en l’écou­tant. Quand il parle d’une dépen­dance à chan­ger je peux aller le faire en paral­lèle sans l’in­ter­rompre dans son avan­cée. Il voit ses tests passer au vert au fur et à mesure de mon travail annexe. Je peux à tout moment reve­nir vers ce qu’il fait si ce qu’il dit m’in­té­resse ou m’in­ter­roge, et il en est de même dans l’autre sens.

    On alterne suivi et travail paral­lèle, sur le même code, avec la possi­bi­lité de se complé­ter pour éviter la charge mentale de « j’ai ça qu’il faudra que je fasse » et les micro-inter­rup­tions pour gérer toutes ces micro-tâches annexes.

    Dites, est-ce moi qui suis dans la phase de sur-valo­ri­sa­tion ou est-ce qu’on ne devrait plus travailler que comme ça ? (à distance en visio ou côte à côte à l’oral, peu importe).

    J’ai l’im­pres­sion de cumu­ler à la fois les avan­tages du pair progra­ming et du travail en paral­lèle.

  • Les personnes ne sont pas plus agres­sives sur les réseaux sociaux. Ils rendent juste visibles ceux qui le sont.

    We found that people are not more hostile online than offline; that hostile indi­vi­duals do not prefe­ren­tially select into online (vs. offline) poli­ti­cal discus­sions

    Online Trolls Actually Just Assholes All the Time, Study Finds, Gizmodo, 2021

    et

    New research suggests that the inter­net is not respon­sible for making people become more aggres­sive when enga­ging in poli­ti­cal discus­sions online, but rather makes the beha­viour of more aggres­sive people more visible.

    Inter­net shown to amplify and expose real-life trolls, but not create them, Insti­tu­tion of Engi­nee­ring and Tech­no­logy, 2021

    Qui sont des vulga­ri­sa­tions de l’étude suivante :

    we test the mismatch hypo­the­sis but only find evidence for limi­ted selec­tion effects. Instead, hostile poli­ti­cal discus­sions are the result of status-driven indi­vi­duals who are drawn to poli­tics and are equally hostile both online and offline. Finally, we offer initial evidence that online discus­sions feel more hostile, in part, because the beha­vior of such indi­vi­duals is more visible online than offline.

    The Psycho­logy of Online Poli­ti­cal Hosti­lity: A Compre­hen­sive, Cross-Natio­nal Test of the Mismatch Hypo­the­sis, 2021 [preprint]

  • Donnée acces­sible dans l’es­pace public

    Une donnée acces­sible dans l’es­pace public n’est pas une donnée libre d’uti­li­sa­tion

    Il y a le droit d’au­teur, le droit des bases de données, les règles d’uti­li­sa­tion des données person­nelles, le cas spéci­fique des infor­ma­tions appar­te­nant à l’État, et proba­ble­ment bien d’autres choses.

    La licéité de l’in­for­ma­tion ou de certains usages de l’in­for­ma­tion n’en­traine pas celle d’un autre usage de cette même infor­ma­tion

    C’est parti­cu­liè­re­ment vrai pour tout ce qui est données person­nelles, où chaque trai­te­ment et chaque fina­lité est indé­pen­dante des autres.

    C’est vrai aussi de manière géné­rale : Que la donnée soit utili­sable dans certains cas n’im­plique pas que tout ce que vous en ferez sera forcé­ment légi­time, ni mora­le­ment ni léga­le­ment.

  • Promise Maps

    J’aime beau­coup Simon Willi­son depuis des années. Il tient un carnet de notes en guise de blog, comme j’au­rais long­temps voulu avoir le courage de faire.

    Il relaie là un commen­taire ycom­bi­na­tor :

    When caching the result of an expen­sive compu­ta­tion or a network call, don’t actually cache the result, but cache the promise that awaits the result.

    This way, if a new, unca­ched key gets reques­ted twice in rapid succes­sion, ie faster than the compu­ta­tion takes, you avoid compu­ting/fetching the same value twice. […] In other words, the promise acts as a mutex around the compu­ta­tion, and the resul­ting code is unders­tan­dable even by people unfa­mi­liar with mutexes, locks and so on.

  • Le plus compliqué en dev, c’est de faire des choses simple

    Hier j’ai corrigé un test tech­nique d’un candi­dat ayant 55 ans. Un des plus beaux tests que j’ai pu voir.

    – BORING code, clair, concis, effi­cace, très compré­hen­sible

    – pas d’over archi, pas de démons­tra­tion tech­nique, straight to the point

    – tous les use case testés, le bon algo sélec­tionné et implé­menté

    Et … rien de plus à dire ! Et c’est LE point ! Le plus compliqué en dev, c’est de faire des choses simples.

    Là, c’est un gros ✅

    Sur un groupe de CTO, 17 juin 2022

    Je ne saurais confir­mer trop fort ce message. Comprendre les motifs habi­tuels d’ar­chi­tec­ture c’est impor­tant mais c’est un outil dans la trousse, pas l’objec­tif.