Auteur/autrice : Éric

  • Impact de l’IA sur la recherche de failles de sécu­rité

    Simon Willi­son a démarré un regrou­pe­ment de ses liens à propos d’IA et de recherche de sécu­rité.

    Les cita­tions montrent qu’il se passe indé­nia­ble­ment quelque chose. La seconde cita­tion (au moment où j’écris ce billet) est majeure.

    On the kernel secu­rity list we’ve seen a huge bump of reports. We were between 2 and 3 per week maybe two years ago, then reached proba­bly 10 a week over the last year with the only diffe­rence being only AI slop, and now since the begin­ning of the year we’re around 5–10 per day depen­ding on the days (fridays and tues­days seem the worst). Now most of these reports are correct, to the point that we had to bring in more main­tai­ners to help us.

    And we’re now seeing on a daily basis some­thing that never happe­ned before: dupli­cate reports, or the same bug found by two different people using (possi­bly slightly) different tools.

    Willy Tarreau, Lead Soft­ware Deve­lo­per. HAPROXY

  • IA vs Google

    Les esti­ma­tions de coût éner­gé­tique convergent depuis un an vers envi­ron 0.3Wh par requête stan­dard sur un LLM de grande taille (ChatGPT, Claude, Gemini).

    À ça on peut ajou­ter envi­ron 50% de coûts fixes pour l’en­traî­ne­ment.

    Je faisais des compa­rai­sons avec des coûts carbone dans mes précé­dents billets.

    Une étude fait un autre compa­ra­tif inté­res­sant. 0.3Wh c’est aussi l’es­ti­ma­tion du coût éner­gé­tique d’une recherche Google. Ça a déjà de quoi remettre quelques préju­gés en place mais l’étude regarde ce qu’il se passe si on prend toute la chaîne de recherche.

    Là c’est renver­sant.

    Une recherche web c’est une page web, et rien que la trans­mis­sion d’une page web moyenne par 4G coûte plus d’éner­gie que la recherche. Si vous ouvrez plusieurs pages à partir des liens retour­nés par Google, autant dire que la consom­ma­tion explose.

    S’il y a de la publi­cité sur la page web, on ajoute 0.10 à 0.25Wh par page, ce qui est loin d’être négli­geable face au 0.3Wh de la requête LLM.

    Le papier mérite d’être lu, rien que pour prendre conscience des échelles des diffé­rents éléments. On est loin de l’in­tui­tif.

  • Je ne crois pas à une crise de l’em­ploi dans le secteur logi­ciel

    Ma convic­tion c’est que, dans ce domaine, la demande croit expo­nen­tiel­le­ment avec la baisse des coûts. Les besoins en auto­ma­ti­sa­tion sont quasi illi­mi­tés, ils ne sont juste pas rentables.

    Si l’IA augmente la produc­ti­vité1, la baisse des coûts va libé­rer une masse de demandes qui n’étaient pas rentables avant et qui le devien­dront. Plus on baisse les coûts, plus la demande va être massive.

    Je ne crois pas une seconde à un renver­se­ment de l’équi­libre offre/demande. C’est une croyance, une convic­tion, comme tout dans ce billet, mais elle est forte.

    Pyramide de demande, écrasée sur le bas. Les demandes très rentables en haut, les demandes peu rentables en bas.

Une ligne horizontale "palier en fonction du coût de l'offre" divise la pyramide. La demande satisfaite en haut, la demande non satisfaite en bas.

    Je ne crois pas à la crise au niveau du secteur, mais ça ne veut pas dire que ça ira bien.

    Dans le dernier billet je parle du fait d’impo­ser l’uti­li­sa­tion de l’IA dans les équipes de déve­lop­pe­ment logi­ciel. Je ne dis pas que c’est idéal, mais person­nel­le­ment je m’en fais beau­coup plus pour ceux dont l’en­tre­prise ne les pousse pas vers l’IA, voire ne les met pas en capa­cité d’ap­prendre cette nouvelle façon de déve­lop­per.

    Ceux qui n’aug­mentent pas leur produc­ti­vité via l’IA vont vivre deux effets :

    1. L’aug­men­ta­tion de la demande ne les concer­nera pas, vu que leurs coûts ne permet­tront pas la renta­bi­lité pour les clients
    2. Sur les niveaux de demandes pré-exis­tants, ils seront en concur­rence avec d’autres profes­sion­nels plus produc­tifs.

    Dans ceux là, les meilleurs vont proba­ble­ment simple­ment se retrou­ver massi­ve­ment déclas­sés. Les moins bons risquent de se retrou­ver sur le carreau, dura­ble­ment.

    Je ne parie même pas qu’il sera facile de chan­ger d’avis et embarquer dans le train de l’IA après coup : Il faudra un employeur qui parie sur le vieux déve­lop­peur qui n’a pas su ou pas voulu évoluer, espé­rer que cette fois ça va fonc­tion­ner, et ça plutôt qu’em­bau­cher un jeune IA-natif promet­teur et moins cher.


    1. C’est l’hy­po­thèse, mais si vous n’y croyez pas alors il n’y a pas de crise à anti­ci­per non plus, parce que ni l’offre ni la demande ne vont chan­ger. Vous pouvez arrê­ter la lecture ;-) ↩︎
  • Je n’ai pas peur pour les déve­lop­peurs juniors

    L’IA demande de savoir relire le code. On sait le faire parce qu’on a appris à l’écrire. Comment feront les jeunes qui n’ont pas eu cette expé­rience ?

    Je n’ai pas cette peur.

    Je me repose sur ma calcu­lette et je fais peu de calcul mental. Je ne saurais même pas utili­ser une règle à calcu­ler. Je n’ai que peu de formules ou données en tête, et je me repo­se­rai sur le web pour les retrou­ver en cas de besoin.

    Bref, il y a plein de choses que je ne sais pas faire alors que ça tombait sous le sens pour des plus âgés. Il y en a certaines qui ne me servent plus, ou qui ne me sont plus aussi impor­tantes. Il y en a d’autres qui ont été rempla­cées par des outils. En échange, j’ai des nouveaux savoirs et des nouvelles compé­tences, que mes ainés n’avaient pas et qui me sont bien plus utiles aujourd’­hui. Je ne me sens pas perdant au final.


    Je n’ai pas peur pour les jeunes parce que je pense que ça revient exac­te­ment à ça.

    S’ils en ont moins besoin avec l’IA, les jeunes auront peut-être moins d’ex­per­tise dans le code. Ils appren­dront d’autres choses que moi je ne sais pas faire. Au final, accom­pa­gnés de l’IA, ils auront certai­ne­ment plus de capa­cité que je n’en ai moi aujourd’­hui.

    S’ils en ont moins besoin.

    Ou alors ils en auront besoin de cette exper­tise dans le code, et alors ils l’ap­pren­dront, au fur et à mesure, en commençant par faire plein de bêtises comme un junior puis en gagnant en expé­rience.

    Peut-être qu’ils l’ap­pren­dront diffé­rem­ment, en reli­sant et en vali­dant des IA plutôt qu’en écri­vant eux-mêmes, ou en faisant plus de pair-progra­ming que je n’ai pu en faire à mon époque.

    Ce qui est certain c’est que, si c’est néces­saire, cet appren­tis­sage aura lieu d’une façon ou d’une autre.

    Si c’est néces­saire.

    Je ne sais pas si ça restera néces­saire ou s’ils en auront moins besoin, mais je ne m’en fais dans aucun des deux cas. Ils s’adap­te­ront à ce besoin.


    Je m’en fais en réalité beau­coup plus pour les plus vieux, ceux qui n’au­ront pas appris à se servir de l’IA, ou qui n’au­ront pas changé leur façon de penser et de travailler. Ceux pour qui je m’en fais c’est pour les expé­ri­men­tés actuels, pas pour les futurs juniors.

    Je m’en fais pour eux parce que chan­ger, remettre en cause notre façon d’abor­der le métier et nous adap­ter à une nouvelle réalité, c’est beau­coup plus diffi­cile que de commen­cer de zéro avec cette nouvelle réalité.

    Entre le vieux qui sait tout de tête et le jeune accom­pa­gné d’In­ter­net et de son smart­phone, person­nel­le­ment je parie sur le jeune.

  • « On m’oblige à utili­ser l’IA »

    Je le lis cette phrase depuis quelques temps sur les réseaux sociaux alors je fais mon coming out : Ça fait partie des direc­tives que je donne. L’usage de l’IA dans mes équipes n’est pas option­nel.

    Plus loin : C’est un critère de recru­te­ment. Jusqu’à présent je voulais des ingé­nieurs curieux, ayant envie d’es­sayer. Désor­mais je ne prends que des personnes qui ont déjà fait un réel usage. La géné­ra­tion de code sur plus de 80% de ce qui est livré est un prérequis non suffi­sant. Ce que je cherche ce sont ceux qui vont plus loin, qui vont utili­ser l’IA comme levier pour l’en­semble des acti­vi­tés qu’ils auront au jour le jour.

    Si certains sont bloqués sur ces sujets par leur employeur actuel, je vais cher­cher ceux qui explorent massi­ve­ment côté perso et y voient la néces­sité de chan­ger d’em­ployeur.


    Une ques­tion de stra­té­gie

    Si vous êtes convain­cus que le télé­tra­vail est la meilleure façon d’or­ga­ni­ser le travail, vous allez instau­rer une culture et une orga­ni­sa­tion qui va avec. Ça peut être plus d’écrit, plus d’asyn­chrone, un dépla­ce­ment du budget des locaux vers le maté­riel ou vers des événe­ments ponc­tuels dans l’an­née pour se retrou­ver, ou quoi que ce soit que vous imagi­nez.

    Si vous trou­vez des candi­dats qui aiment se retrou­ver dans des locaux avec leurs collègues, qui vont privi­lé­gier les discus­sions de face à face, ça ne collera pas. Ni pour eux, ni pour vous. Parfois il faut faire un choix, et lais­ser chacun faire ce qu’il veut finit par ne conve­nir à personne.

    S’il s’agit d’ac­qué­rir cette nouvelle culture de télé­tra­vail, vous allez forcer les choses au début, par exemple inter­dire les salles de réunion ou rendre obli­ga­toire de faire une visio avec une prise de notes.

    Chan­ger c’est diffi­cile, donc vous allez aussi réduire au maxi­mum le nombre de personnes qui auront ou pour­raient avoir du mal à chan­ger. Ça passera entre autres par un critère fort sur les recru­te­ments, et même poten­tiel­le­ment par des départs.


    Faire des choix

    C’est vrai pour le télé­tra­vail. Ça peut se traduire de la même façon pour l’ab­sence de télé­tra­vail. C’est vrai pour les choix tech­no­lo­giques, pour la langue de travail, pour les horaires, et même pour des choix cultu­rels ou les valeurs portées par l’en­tre­prise.

    Parfois c’est une convic­tion forte. Parfois, même sans dire qu’une option est meilleure que l’autre, il a été jugé impor­tant que ce soit un choix commun, partagé.

    C’est vrai pour tout choix stra­té­gique. Le fait de travailler massi­ve­ment avec ou sans l’IA en est un.

    Rien de plus, rien de moins


    Faire mon choix

    Et donc oui, j’ai une convic­tion forte, avec une stra­té­gie asso­ciée, et que ça implique un chan­ge­ment radi­cal de pratiques, de métier et de façon de penser. Un choix a été fait, radi­cal aussi.

    Ça ne dit pas que les autres choix sont mauvais, c’est juste celui là qui a été fait. Il y a d’autres équipes, avec d’autres choix, et chacun va où il se sent bien.

  • J’avais besoin d’un bon système audio et je ne le savais pas

    Depuis que j’ai un grand écran, je cherche à lais­ser mon macbook fermé. J’ai des haut-parleurs sur l’écran mais ça n’était pas super quali­ta­tif.

    J’ai acheté une paire de petites enceintes actives USB pour parfois faire passer de la musique, ou au moins avoir une qualité sonore un peu meilleure.

    Là, révé­la­tion. Je ne galère pas autant que je le croyais à suivre les visio en anglais. Mon niveau d’an­glais n’était pas le (seul) problème. J’avais juste un son qui n’était pas au niveau.

    Main­te­nant que j’ai cette petite révé­la­tion je me rends compte que j’ai une vraie diffé­rence de capa­cité de suivi suivant le système sonore. Je ne les ai pas ache­tées pour ça, mais elles valaient le coup rien que pour ça.

    Mes nouvelles enceintes sont clai­re­ment ce que j’ai de mieux. Les haut-parleurs internes du macbook pro ne sont pas mauvais. Mes casques sont tous derrière, et les haut-parleur de mon écran sont proba­ble­ment encore derrière.

    Bref, si vous avez de la fatigue ou du mal à suivre en visio, chan­ger votre système de son peut faire la diffé­rence.
    Ça a été le cas chez moi.

    Voilà, désolé si c’est un enfonçage de porte ouvertes pour vous, c’était une décou­verte chez moi.

  • Je ne travaille­rai jamais ni avec vous ni avec votre employeur

    Vous m’ap­pe­lez sur mon numéro de télé­phone person­nel (*) pour me vendre vos services ?

    ➡️ Je ne travaille­rai jamais ni avec vous ni avec votre employeur.

    Colla­bo­rer avec une entre­prise qui ne respecte pas la loi sur les données person­nelles ni la vie privée des tiers serait un risque juri­dique pour mes employeurs. Je ne leur ferai pas prendre.

    Cette erreur risque égale­ment d’ar­ri­ver aux oreilles de votre employeur, car je ferai immé­dia­te­ment une requête RGPD à votre entre­prise pour comprendre l’ori­gine de mon numéro de télé­phone. Je ne manque­rai pas d’y expli­ci­ter les consé­quences de votre action.

    Cela me crée un réel préju­dice en raison du harcè­le­ment que ça consti­tue avec le nombre. Je fais donc systé­ma­tique­ment aussi une plainte à la CNIL. Parfois ça peut mener à une enquête derrière. Vous préfé­rez proba­ble­ment éviter cette mauvaise publi­cité.

    Zéro tolé­rance. Ce n’est plus tenable.

    (*) Si vous ne savez pas si c’est un numéro person­nel ou profes­sion­nel, alors ne l’uti­li­sez pas. C’est aussi simple que ça.

    Les bases de données de Kaspr, Lusha et autres brokers du même type sont pleines de données person­nelles qui sont iden­ti­fiées comme profes­sion­nelles. Vous ne pour­rez pas prétendre agir de bonne foi.

    Posté sur Linke­din. Je vous encou­rage à faire le votre. Peut-être que ça ne chan­gera rien. Peut-être que ça peut créer un mouve­ment qui sera suivi. Ça ne coûte rien d’es­sayer.

  • PPC et voyage à vélo

    TL;DR: Je cherche

    • Soit une batte­rie avec entrée et sortie USB, qui a en plus une sortie ronde 5.5mm en 24V. Je n’ai pas trouvé mais ça existe proba­ble­ment quelque part.
    • Soit une batte­rie USB qui sait sortir du 24V (PD 3.1 avec AVS) _et_ un câble entrée USB-C sortie DC ronde 5.5mm dont la puce force la négo­cia­tion sur 24V.

    Tech­nique­ment la première option est possible mais ça doit être niche et je n’ai pas encore trouvé.

    La seconde option est plus réaliste mais si j’ai trouvé des câbles qui font ça à diffé­rents voltages, je n’en ai pas trouvé qui font du 24V.

    Toutes les propo­si­tions sont bien­ve­nues.


    Une machine PPC en voyage à vélo

    Si vous vous inté­res­sez au fond, je suis appa­reillé depuis juin avec une machine à pres­sion posi­tive conti­nue pour l’apnée du sommeil. Je ne m’en passe­rai plus si j’ai le choix, et certai­ne­ment pas plusieurs jours d’af­fi­lée.

    Le défaut c’est que j’ai pris goût aux voyages à vélo et j’ai­me­rais conci­lier les deux.

    Je peux envi­sa­ger d’ame­ner la machine avec moi malgré le poids et l’en­com­bre­ment, mais j’ai­me­rais bien une auto­no­mie d’un jour ou deux.

    Mon idéal serait une machine qui s’ali­mente sur le Power-Deli­very USB. Je pour­rais empor­ter un unique char­geur pour tout, et profi­ter de la batte­rie USB à charge rapide que j’em­mène de toutes façons.

    Malheu­reu­se­ment ces machines tournent en 24V. Il existe des batte­ries dédiées mais elles chargent lente­ment et demandent d’ajou­ter un char­geur 24V.


    Sortir du 24V sur de l’USB Power-Deli­very

    L’op­tion de base c’est d’avoir un câble avec petit conver­tis­seur 20V vers 24V. Ça me permet déjà de réuti­li­ser batte­rie et char­geur USB mais la puis­sance perdue dans la conver­sion réduit signi­fi­ca­ti­ve­ment l’au­to­no­mie.

    L’idée c’est donc de sortir nati­ve­ment du 24V. Ce n’est pas si rare sur le haut de gamme avec l’USB Power Deli­very (PD 3.1 en AVS).

    Tableau présentant les normes plages de charge pour les normes USB Power-Delivery 3.0, 3.1 et 3.2. La 3.1 AVS EPR permet une charge de 15 à 28V sur 5A.

    Ce qui coince c’est la connec­tique. Je n’ai pas trouvé de batte­rie avec sortie DC 24V dédiée pour l’ins­tant. J’ai peur que si je trouve, je fasse une croix sur l’auto-charge rapide qui est impor­tante pour moi dans le scéna­rio voyage à vélo.

    Il existe des câbles avec une entrée USB-C, une sortie DC ronde 5.5mm et une puce pour négo­cier un voltage précis. Ce serait parfait mais si j’en trouve sur diffé­rents voltages jusqu’à 20V, je ne trouve rien en 24V alors que ce serait théo­rique­ment possible.

    Câble avec une entrée USB et une sortie ronde 5.5mm

    La machine de voyage

    En paral­lèle, je louche aussi sur la Resmed AirMini. Les statis­tiques d’une batte­rie dédiée à ces appa­reils me laissent penser que sa consom­ma­tion est iden­tique à celle de la AirSense 11 mais elle est aussi surtout plus petite et beau­coup plus légère. En itiné­rance ça compte aussi.

    Le problème c’est que je me vois mal choi­sir ce modèle plus bruyant toute l’an­née unique­ment pour me faci­li­ter la vie une paire de semaines de voyage à vélo. Ça ne règle de toutes façons pas mon problème de 24V.

    Les machines AirMini (en haut) et AirSense 11 (en bas) de Resmed
  • Voiture indi­vi­duelle

    Les consé­quences du modèle de société basé sur la voiture indi­vi­duelle sont majeures. On a besoin d’un chan­ge­ment et raison­ner ne suffira pas.

    La voiture est trop ancrée, trop néces­saire. C’est exac­te­ment ce qu’il se passe avec le tabac et l’al­cool.

    Pour moi une des réponses doit être la même : Restreindre la publi­cité.

    On peut inter­dire la publi­cité. Ça n’em­pêche pas l’achat mais ça peut permettre d’évi­ter de créer un besoin arti­fi­ciel. C’est ce qui est fait pour le tabac.

    Si on ne l’in­ter­dit pas, on peut limi­ter cette publi­cité aux carac­té­ris­tiques de la voiture. On retire les asso­cia­tions à la liberté, au plai­sir, au inter­ac­tions sociales. Il s’agit de chan­ger la percep­tion sociale, lente­ment. C’est ce qui est fait sur le tabac.


    Tout ça ne deman­de­rait qu’un peu de volonté.

  • NAS custom

    Je dis custom, mais si vous avez quelque chose qui convient parfai­te­ment sur le marché, ça m’in­té­resse.

    Usage:

    • Serveur de fichiers
      • Inter­face web à la NextC­loud pour ponc­tuel­le­ment cher­cher un fichier dans les archives
      • Inter­face réseau local (AFP, SMB) pour ponc­tuel­le­ment déver­ser de gros volumes pour archi­vage, lire un film, ou cher­cher un ficher dans les archives
      • Synchro­ni­sa­tion auto­ma­tique type Next­cloud de certains réper­toires avec les laptops mac de la maison ; avoir une synchro­ni­sa­tion sélec­tive est un indis­pen­sable
    • Serveur de sauve­garde
      • Faire tour­ner des scripts type getmail qui vont synchro­ni­ser loca­le­ment des boites emails en ligne de plusieurs (dizaines) de Go
      • Faire tour­ner des scripts type rclone qui vont synchro­ni­ser loca­le­ment des stockages de photo ou de fichiers en ligne sur plusieurs centaines de Go
      • Sauve­garde auto­ma­tique des photos qui viennent des télé­phones.
      • Faire tour­ner des scripts pour synchro­ni­ser loca­le­ment d’autres types de fichiers en ligne, par exemple des dépôts git.
      • Faire tour­ner des scripts et poten­tiel­le­ment des navi­ga­teurs head­less pour aller se connec­ter à diffé­rents services en ligne et y rapa­trier les données person­nelles en local.
      • Faire tour­ner du Borg ou simi­laire pour sauve­gar­der plusieurs To sur des serveurs en ligne.
      • Option­nel­le­ment: Servir de stockage pour TimeMa­chine
    • Serveur local
      • Serveur Vault­war­den pour les mots de passe
      • Serveur IMAP pour certaines boites emails d’ar­chive
      • Serveur Webcal/Caldav
      • Strea­ming musique / mp3
      • Parcours des galle­ries et archives photos
      • Poten­tiel­le­ment dans le futur, servir de serveur domo­tique

    Bruit: Je n’ai pas de pièce isolée ou faire tour­ner ça. Le silence au repos est donc un indis­pen­sable. Le fanless serait idéal, et sinon plutôt des gros venti­la­teurs qui tournent peu. Dans tous les cas, ça implique une consom­ma­tion réduite au repos.

    Perfor­mance: À l’op­posé, quand je déverse plusieurs dizaines de Go ou que je passe sur la sauve­garde incré­men­tale de plusieurs To, j’ai­me­rais de bonnes perfor­mances en lecture/écri­ture. Je veux éviter les CPU famé­liques et chip­set de carte mère sans vraie bande passante, quitte à payer plus cher.

    Stockage: Aujourd’­hui j’ai un SSD SATA 2.5″de 8 To mais ça ne tien­dra pas sur le long terme. Vu que désor­mais les NVMe ne sont pas plus chers et bien plus rapides, j’ima­gine qu’à terme ça sera plusieurs NVMe plus poten­tiel­le­ment un gros disque méca­nique 3.5″ pour ce qui prend énor­mé­ment de place mais qui est de moindre impor­tance.

    Le setup idéal serait donc au moins 4 ports NVMe et 2 baies SATA 3.5″. La réalité c’est que si j’ai 2 ports NVMe et 1 baie SATA 2.5″ ou 3.5″, je peux m’ima­gi­ner faire en scéna­rio mini­mum.