arnaudus a écrit 5237 commentaires

  • [^] # Re: <spoiler> Solution </spoiler>

    Posté par  . En réponse au journal [Énigme] La mouche Zobzob. Évalué à 10.

    S'il y a une infinité d'araignées, il va y avoir un front circulaire qui avance à 1m/min et qui touchera zobzob pile à 30 minutes…

  • [^] # Re: Remise en question ?

    Posté par  . En réponse au message linuxfr: le systeme de notation. Évalué à 4.

    Tu portes à merveille le masque et le costume 'linuxfr'.

    À un moment, tu comptes parler de logiciel libre? Ou même d'informatique? D'ordinateurs? De quelque chose qui concerne quelque chose d'autre que ton ego blessé par tant de méchants qui ont le malheur de n'avoir rien à faire de tes gérémiades?

    Donc voila, tu as gagné, on est méchants. Je pense qu'une fois qu'on est d'accord là dessus, tu peux sereinement chercher sur internet un endroit où les gens sont moins méchants, plutôt que de rester à nous expliquer à quel point on est méchants?

  • [^] # Re: <spoiler> Solution </spoiler>

    Posté par  . En réponse au journal [Énigme] La mouche Zobzob. Évalué à 10.

    Si j'avais été zobzob, je me serais fait bouffer…

  • [^] # Re: Namespace bits ?

    Posté par  . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 3.

    La surcharge d'opérateurs, ça n'est pas un exemple typique de sucre syntaxique pour des cas particuliers? Le compilo fait déja plein de trucs en douce pour rendre l'écriture du code moins galère (typiquement, des cast automatiques dans tous les sens); remplacer a != b par !(a==b) quand l'opérateur != n'est pas défini (ou ++ par += 1), ça me semble nettement moins problématique que plein de trucs chelous autorisés par le standard (comme le court-circuitage du constructeur de copie).

    Je ne doute pas que les gens qui écrivent le standard sont des gens très compétents, qui prennent des décisions après longue reflexion. J'ai juste l'impression que ces gens se servent d'abord eux-mêmes, et ont une vision hyper-technique du langage et de son évolution. Pour revenir au sujet du journal par exemple, c'est rigolo de pouvoir éviter un long switch par une utilisation alambiquée d'une syntaxe avancée de méta-programmation. Mais dans le même temps, tu gères encore à la main l'affectation et le constucteur de copie d'une classe qui contient 49 variables membres à copier telles quelles et un malheureux pointeur (c'est évidemment un problème de conception, mais ce problème de conception révèle un comportement étrange du standard).

  • [^] # Re: Namespace bits ?

    Posté par  . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 2.

    Précisément et je me demande pourquoi chercher à demander au compilateur d'implémenter ça.

    Ça pourrait être pour des raisons de performances, par exemple.

    Le compilateur implémente déja un certain nombre de choses par défaut, ça ne semble pas évident qu'un constructeur de copie soit moins trivial ou plus important que de s'assurer que l'opérateur != renvoie NOT(==).

    L'autre raison, c'est peut-être que s'il faut se taper la doc de boost et une dépendance supplémentaire, autant se taper l'implémentation de l'opérateur manquant.

  • [^] # Re: Namespace bits ?

    Posté par  . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 3.

    le compilo génère le code des opérateurs si des méthodes pré-définies existent déjà

    J'ai peur que ça soit super complexe si tu veux un truc cohérent. Par exemple, si tu définis < et >, tu pourrais générer automatiquement tous les opérateurs de comparaison, mais c'est super dangereux, parce que si tu t'es foiré et que tu peux parfois être à la fois < et >, toute la série devient incohérente, et j'ai du mal à imaginer comment le comportement pourrait être défini (à moins de définir hyper strictement la logique que devrait suivre le compilo dans tous les cas de figure (si tu fournis < et >, si tu fournis == et >, si tu fournis <= et !=, etc). ).

    En fait, ce qu'il manque pour en arriver là, c'est probablement d'associer une sémantique forte avec les opérateurs. La surcharge d'opérateurs te permet de faire n'importe quoi, l'opérateur est juste un nom de méthode presque comme un autre. Si tu définis que par défaut, ++ est équivalent à += 1; que *= x est équivalent à /= (1/x); tu imposes une sémantique, et ça n'a pas de limite (on pourrait aussi imposer qu'une méthode size() revoie un site_t…). Si ça ne tenait qu'à moi, ça ne me poserait pas de problème, mais je ne pense pas que ça soit comme ça que la surcharge d'opérateurs a été concue…

  • [^] # Re: Namespace bits ?

    Posté par  . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 6.

    devoir implémenter operator== quand operator!= l'est

    Ça n'est pas un problème complètement général avec les surcharges d'opérateurs? La surcharge d'opérateurs permet principalement l'obfuscation, les bugs cryptiques, et les idées foireuses (par exemple, inventer des opérateurs connus de soi seul pour la concaténation). S'assurer de la cohérence d'une série de (+, +=, ++, -, -=, --, *, *=, /, /=, l'unary -() ), c'est bien galère.

  • [^] # Re: Namespace bits ?

    Posté par  . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 4. Dernière modification le 08 mars 2018 à 09:51.

    sans templates ? pas de std::map ? pas de std::vector?

    Tu peux utiliser la STL sans maintenir toi-même de classes templates.

    sans pointeurs nus, arf, donc pas de pointeur du tout, vu que pas de template…

    On voit encore des projets assumés dans un langage appelé 'C/C++', qui est vu comme du C amélioré. Mais non, en général, à moins que quelqu'un ait une expérience contraire, j'ai rarement vu toutes les exclusions en même temps. J'ai aussi oublié 'sans exceptions', par exemple. Et j'imagine qu'avec C++14 et C++17, il risque d'y avoir encore plus de syntaxes proscrites (sans lambda, etc).

    les templates bien utilisés permettent d'éviter la duplication de code, et en améliorent la maintenabilité.

    Si tu parles de conteneurs, alors oui, certainement, dans une certaine mesure (mais c'est quand même difficile de ne pas trouver son bonheur dans la STL, si tu es amené à coder toi-même ton propre conteneur, c'est aussi peut-être que tu es en train de faire quelque chose de compliqué).

    En fait, (c'est un avis personnel qui est bien sûr hautement contestable), je n'ai jamais été emballé par l'idée de mettre autre chose que des types de base dans les classes templates. L'utilisation des templates comme alernative à la POO, je ne comprends pas l'intérêt (bien sûr, vtable etc., mais les cas où ça pose de vrais problèmes de perfs sont quand même assez restreints). J'ai même l'impression que la philosophie de la POO se perd complètement quand on adopte des pratiques basées sur les templates. Si tu crées une fonction qui prend une référence vers un objet de classe A, elle va aussi prendre tous les types dérivés de A, et seulement eux, c'est super clair. Si tu passes par des templates, alors n'importe quel objet qui passe la compilation (qui fournit des méthodes qui ont le même nom que ce qui est utilisé dans le template) peut être passé en argument, il n'y a plus aucune vérification de la logique voulue par le programmeur, je trouve ça absurde.

    Et en plus, comme je n'ai dit plus haut, la logique de déporter tout un tas de choses à la compilation me rappelle des centaines d'exemples de blocages à la con (pas possible d'avoir plus de 1000 lignes dans le tableur, pas possible d'avoir une résolution qui dépasse 1000px, etc) parce que quelqu'un avait comme un boulet instantié des tableaux avec des tailles constantes. C'est quelque chose qui avait complètement disparu en C++ avec l'avènement des conteneurs STL, et que je sens revenir rapidement avec la généralisation des constrexp et autres méthodes de méta-programmation où rien n'est dynamique, et où il va falloir recompiler à chaque fois qu'on veut changer un paramètre.

  • [^] # Re: Namespace bits ?

    Posté par  . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 10.

    Bah, techniquement, c'est quand même faux. Les syntaxes hyper-complexes du C++ moderne permettent la méta-programmation, avec derrière l'idée de remplacer le polymorphisme (qui a un coût à l'exécution) par la programmation générique (qui calcule tout à la compilation).

    Apparemment, pour certains développeurs, ce changement de paradigme, pour des raisons théoriques (calculer le maximum de choses à la compilation) et pratiques (gains de performance), justifie l'usinagazisation du C++ et l'imbittabilitabilisation du code. Ces développeurs sont assez influents pour infléchir la modification du standard dans ce sens, ce qui veut aussi dire que les gros acteurs économiques du développement C++ vont aussi dans ce sens. Parmi les éléments moteurs, il y a par exemple les développeurs des compilateurs, et les développeurs de bibliothèques (stl, boost…).

    Reste que j'ai parfois l'impression d'utiliser C++ dans un contexte tellement différent de ceux qui font de la méta-programmation qu'on n'a pas l'impression d'utiliser le même langage. Une grosse partie du C++17 permet de créer un méta-langage, issu d'une sorte de mélange entre le pré-compilateur C et du C++ perché, qui n'est pas destiné au commun des mortels. D'ailleurs, et ça ne date pas du C++17, de nombreux logiciels imposent l'utilisation d'un C++ allégé (sans templates, sans héritage multiple, sans pointeurs nus…) à leur développeurs, et vu la tronche du C++ 17, c'est pas près de changer. Le risque, c'est évidemment que les concepteurs du C++ se coupent de la base. D'un côté, on peut très bien dire que les dialectes simplifiés du C++ sont viables, et qu'on peut très bien décider d'ignorer complètement les templates variadiques et les constexpr. Mais il existe aussi un risque qu'on décide aussi de se passer du C++ tout court, histoire par exemple de pouvoir relire le code qu'un dev un peu trop spécialiste a pondu.

    Pour l'utilisation que j'en ai, par exemple, la programmation générique n'a que peu d'intérêt (en dehors de l'utilisation des bibliothèques qui les utilisent) ; la perte de la relation logique d'héritage me semble même rédibitoire. La tendance à utiliser les constexpr systématiquement me fait aussi froid dans le dos, avec en filigrane le retour des magic-values déguisées en constexpr dans le code plutôt que la lecture de l'ensemble dans paramètres dans un fichier (ainsi que l'instantiation des arrays à la compilation, etc). Au delà de la syntaxe ésotérique, il y a donc aussi le problème qu'à force d'être multiparadigme, C++ s'étale tellement qu'on peut légitimement se demander si c'est encore un langage de programmation.

  • [^] # Re: Lisibilité

    Posté par  . En réponse au journal Jouons avec le ``switch`` et C++17. Évalué à 10.

    AMHA les deux sont équivalentes en termes de lisibilité,

    Je sais bien que tous les goûts sont dans la nature, mais franchement, je trouve que ce point de vue est très, très difficilement défendable. Voire que tu es en train de te foutre de nous, version «je suis un big boss du C++».

  • [^] # Re: Remise en question ?

    Posté par  . En réponse au message linuxfr: le systeme de notation. Évalué à 4.

    Hum… pour qu'un milieu soit machiste, il me semble bien qu'il faut avoir un moyen d'identifier le sexe de l'interlocuteur, et ça ne me semble pas hyper simple quand une grande partie des gens utilise une fausse identité, un pseudonyme.

    Déja, non, un milieu peut être machiste de par le vocabulaire, les blagues vaseuses, l'ambiance générale. D'autre part, sur la plupart des mailing list, c'est faux, les principaux contributeurs et développeurs sont souvent identifiés par leur nom. Si tu développes un logiciel libre, tu as tout intérêt à mettre le copyright sous ton vrai nom, et tous les gens qui sont payés pour développer le font souvent sous leur vrai nom. Enfin, pour la plupart des logiciels, les gens se connaissent très bien, ça m'étonnerait que tu puisses devenir mainteneur Debian ou mainteneur d'une branche du kernel sans que l'ensemble des gens importants dans le projet connaissent ta tête et t'aient rencontré en personne…

  • [^] # Re: Remise en question ?

    Posté par  . En réponse au message linuxfr: le systeme de notation. Évalué à 7.

    Mes deux interventions ici avec une évaluation chacunes a -29 en sont déja la preuve.

    Je pense que c'est clairement la preuve que la communauté de linuxfr n'apprécie pas ton comportement.

    Cet outil n'aide vraiment pas les personnes concernées a résoudre leurs probleme psychologique et emotionel qui pour leurs bien feraient mieux de consulter, mais en plus causent du tord aux autres.

    Je ne pense pas que mon opinion puisse changer quoi que ce soit, mais d'après mon expérience avec les contributeurs problématiques (notamment sur Wikipédia, qui draine une partie d'un public qui n'est pas le même que les utilisateurs de logiciels libres), tu as parfaitement raison ; une bonne partie des contributeurs problématiques souffrent de problèmes sociaux, voire psychiques ou psychiatriques, légers ou lourds (voire de réels handicaps). Ce genre de problèmes se détectent très mal par écrit, et les discussions peuvent durer très très longtemps, avec beaucoup d'énervement, avant que la communauté réalise que la personne en face ne peut pas être convaincue, parce qu'elle n'est pas réellement venue pour contribuer utilement, mais plutôt pour chercher quelque chose (des relations sociales?) qu'elle ne peut pas trouver par ce genre de média.

    Par contre, je ne sais pas si tu as compris que je suggérais que le problème ne venait pas forcément de la communauté linuxfr qui semble te rejeter. Peu de gens regardent le nom de l'auteur avant de pertinenter (en tout cas, moi je ne le fais pas), et si tu es systématiquement en négatif, ce n'est pas parce qu'il y a un acharnement contre toi, c'est très probablement parce que tes contributions sont considérées comme inutiles (agressives, hors sujet, geignardes et non constructives, etc).

    Est-ce que le logiciel libre t'intéresse, ou est-ce que tu cherches juste à exister par forum interposé?

  • [^] # Re: Remise en question ?

    Posté par  . En réponse au message linuxfr: le systeme de notation. Évalué à 3.

    le côté agressif gratuit et les attaques personnelles

    Le milieu du logiciel libre est probablement l'un des plus agressifs, machistes, et communautaires qu'il soit. La seule différence réelle avec les forums pour ados, c'est qu'il y a un but derrière (créer, commenter, ou utiliser les logiciels libres) ; je trouve que ça rend l'ensemble supportable.

    Il reste l'impression d'un conflit de générations, entre ceux qui ont connu les frittages hyper-violents (du style de ce qu'on trouve sur les listes du kernel) et ceux qui ont connu une époque plus récente, avec une communication qui a aussi pour objectif d'attirer de nouveaux contributeurs et utilisateurs (listes de diffusion ou bug trackers des distributions grand public). Le contact avec les «vieux» développeurs (qui ne sont pas forcément tous vieux, ils ne font que reproduire un schéma qu'ils ont toujours connu) reste parfois très rude, et ça m'est déja découragé de continuer à reporter des bugs, par exemple.

    Après, je n'apprécie pas non plus les manières de la «nouvelle» génération, celle des gens qui ont grandi à l'ère des discussions sur Youtube ou autres média sociaux type Twitter, où les discussions n'ont que pour objectif de se faire valoir (par une vanne, par un commentaire très agressif, par une remarque HS…), avec une grosse ambiance «dîner de cons» derrière (le but est de faire rigoler les «copains» sans que la victime ne comprenne vraiment pourquoi elle n'a pas respecté les codes sociaux). Sur Linuxfr, ça arrive parfois qu'après un défoulement pas très utile dans un forum, quelqu'un reprenne la chose avec un commentaire destiné au posteur initial, du style «Je ne suis pas certain que tu aies compris pourquoi tu n'as pas eu la réponse que tu cherchais ; nous avons eu l'impression que tu ne cherchais qu'à avoir la réponse d'un exercice sans chercher la solution par toi-même, et ça n'est pas du tout le genre de choses que tu obtiendras sur ce forum.». Ça me semble beaucoup plus pédagogique qu'une série de sous-entendus, surtout quand on ne connait pas la personne (parfois un étranger qui maitrise mal les codes sociaux, parfois quelqu'un de très jeune ou de très âgé, etc).

    Avoir trainé sur Wikipédia il y a un moment m'a beaucoup aidé à prendre un peu de recul par rapport à ça ; de nombreux «pseudo-contributeurs» sont de bonne foi ; ils sont parfois trop jeunes, trop vieux, trop inexpérimentés ou trop maladroits pour être utiles, mais il est parfois étonnant de s'apercevoir que quelqu'un qui apparaissait avec certitude comme un troll moisi était en fait quelqu'un qui souffrait de problèmes psychiatriques ou sociaux lourds, et que le mépris n'était certainement pas la bonne parade (la bonne parade est malheureusement de trouver un moyen de bloquer ses interventions tout en lui expliquant clairement pourquoi, et notamment bien expliquer qu'un site internet de ce type n'est pas un endroit où on trouve de l'aide sur des problèmes personnels).

  • [^] # Re: Remise en question ?

    Posté par  . En réponse au message linuxfr: le systeme de notation. Évalué à 8.

    Pour un mec qui se plaint qu'on le fasse taire, je trouve qu'il est encore capable de faire beaucoup de bruit…

    Sur le fond, finalement, il prouve que le système d'avis fonctionne pas mal.

  • [^] # Re: static / constexpr

    Posté par  . En réponse à la dépêche C++17 adapte le static_assert() aux usages. Évalué à 7.

    Pas très synonyme pour moi ça.

    Je ne voulais pas dire qu'ils étaient synonymes dans l'absolu, parce qu'évidemment ils ne sont pas interchangeables dans tous les contextes. Je voulais juste mentionner le fait que C++ est un langage très complexe, que les concepts sous-jacents sont souvent un peu perchés, mais qu'en plus, on ajoute la difficulté d'avoir des mot-clés peu spécifiques, partiellement synonymes (ou pire, presque synonymes), et recyclés à outrance. C'est toujours pareil, il est évidemment possible d'apprendre tout ça, mais ça serait aussi le cas si les mot-clés étaient gdqfdjkfbhj et kjsdbhdjfb… Même pour quelqu'un qui a l'habitude de coder, la première fois qu'on voit "typedef typename truc::machin bidule;", ça fait tout drôle… Comprendre les subtilités de C++17 quand on maitrise déja C++14, c'est une chose, mais apprendre tout ça d'un coup (oui, il y a des gens qui naissent régulièrement et qui n'ont pas avalé les constructions ésotériques une par une au fil des ans).

  • [^] # Re: static / constexpr

    Posté par  . En réponse à la dépêche C++17 adapte le static_assert() aux usages. Évalué à 6.

    Pour moi static c'est tout ce qui se passe avant l’exécution du programme.

    Bah oui, mais pas pour C++, pour qui static signifie une existance en dehors d'une classe instantiée. Le seul usage qui pourrait correspondre, c'est "static const", mais là, c'est plus le "const" qui est important.

    Une partie de la complexité de C++ vient des conventions de nommage, et c'est bien dommage, parce que c'est suffisamment complexe comme ça. La raison de la réutilisation ad nauseam des mêmes mot-clés est évidente (ça permet de limiter au maximum de casser du vieux code qui ne pouvait pas savoir que certains noms de variables pourraient être interdits dans le futur), mais certaines constructions du C++17 ont de quoi faire des nœuds au cerveau, avec des synonymies partielles particulièrement confuses (class <=> typename dans les déclarations de templates, class <=> struct dans les déclarations de classes, typedef <=> using, etc). Du coup, utiliser static avec une signification différente de ce qu'il a ailleurs en C++, ça ne va pas simplifier le système.

  • [^] # Re: La libéralisation des marchés des télécommunications

    Posté par  . En réponse au journal Un technicien Free a coupé ma fibre optique pour connecter un voisin.. Évalué à 8.

    Mouais, ça m'étonnerait que les techniciens Free aient des formations sur la manière dont il faut cochonner le travail pour aller plus vite. Souvent, les branchements à l'arrache ou les débranchages de cables avec le coude, c'est pas pour gagner du temps, c'est juste des gens qui bossent mal (manque de formation, ou simple j'enfoutisme?). C'est une conséquence indirecte de la recherche de rentabilité, mais beaucoup d'erreurs pourraient être évitées sans surcoût.

    Par contre, je ne crois pas à la théorie de dégradation volontaire des infrastructures. Chaque ticket ouvert coûte du pognon, chaque déplacement de technicien encore plus. Alors oui, ils doivent avoir des règles, du style "après 3 déplacements sans résolution du problème, on n'envoie plus personne". Je comprendrais aussi qu'ils refusent de recabler tout un immeuble pour un problème dans un appart -> pertes et profits, bye bye le client.

    Il faut aussi admettre que parmi les concurrents, c'est aussi le bordel. Le meilleur moyen de régler un problème, c'est souvent de changer d'opérateur, quel que soit le sens. Ils le savent bien, un client qui commence à penser aller voir ailleurs, on va lui régler un problème une fois, deux fois, et il ira probablement voir ailleurs de toutes manières au bout d'un moment. À un moment, Free était aussi confronté à des actions de malveillance de la part de l'opérateur historique (par exemple, c'est du vécu, un camion qui rentre dans le NRA et qui dégomme une partie des équipements ; intervention des techniciens d'Orange qui rebranchent simplement leurs clients sur les équipements disponibles, et débranchent les clients des autres opérateurs… du coup, quand tu es chez Orange, tu as un service de qualité, mais bonne connexion ne veut pas forcément dire qu'il n'y a pas du travail de cochon derrière :-) ).

  • [^] # Re: Manipulation

    Posté par  . En réponse à la dépêche Protéger sa vie privée sur le Web, exemple avec Firefox. Évalué à 6.

    Mais combien d'utilisateurs se préoccupent de décider eux-mêmes ?

    De décider d'eux-mêmes quoi? On parle de trucs tellement techniques que les politiques et même les développeurs ne savent pas contrer. Si seulement il existait un mode dans Firefox, ou même une extension, qui permettait d'éviter le tracking… mais non, il faut installer plein de trucs redondants avec des milliers d'options que personne ne comprend, c'est complètement ridicule d'imaginer que ça puisse être aux gens eux-mêmes de se protéger contre des pratiques intrusives mises au point par des ingénieurs. Si quelque chose peut protéger les utilisateurs, c'est bien le navigateur, la seule brique qui obéisse encore à l'utilisateur.

    Et non, les capacités de Firefox sans extension d'effectuer des opérations simplissimes garantissant un peu le respect de la vie privée sont quasi-nulles. Soit il faut passer par l'activation d'obscures options aux effets de bords incompréhensibles dans about:config, soit il faut une tripotée d'extensions (certaines non-libres) aux modèles économiques parfois douteux (cf AdBlock). Rien qu'une opération de base, comme lister les cookies enregistrés par la page ouverte sur un onglet, est quasiment impossible (la seule manière que j'ai reouvée, c'est de créer une session vierge, d'ouvrir une seule page, et par comparaison de déduire quels cookies avaient été installés—grosse galère. Pourtant, ça me parait quand même élémentaire, les cookies sont un outil de base du pistage, n'importe quel navigateur devrait par défaut supprimer dès la fermeture de l'onglet l'intégralité des cookies qui ne proviennent pas du domaine qu'on a explicitement visité. Ce genre de trucs devraient avoir le statut de failles majeures de sécurité ("Un site A peut savoir que vous avez visité un site B précédemment"), mais on préfère se cacher derrière le respect des standards. C'est bien les standards du web qui sont troués de partout, et si les navigateurs ne bouchent pas les trous, personne ne le fera.

  • [^] # Re: Manipulation

    Posté par  . En réponse à la dépêche Protéger sa vie privée sur le Web, exemple avec Firefox. Évalué à 5.

    Mais, encore une fois, l'espionnage par des États est une problématique différente de celles par les grandes sociétés de consommation.

    Oui, et les enquêtes de police sont aussi différentes du renseignement. Que la police, sous le contrôle d'un juge, ait accès à ce type de données, ne me gêne absolument pas.

    Cela demande de consacrer beaucoup d'efforts aux performances

    C'est un point de vue, mais il est contestable. Par exemple, il me semble bien que la plus grosse percée de Firefox est en grande partie due à l'existence d'AdBlock, l'extension qui bloquait les publicité quand les autres acteurs du marché te fournissait la page telle quelle.

    Avec un raisonnement hyper-technique sur le respect des standards, de la compatibilité, de la neutralité, etc., les e-mails seraient tellement pourris par des spams qu'ils seraient inutilisables. La lutte anti-spam passe par le bannissement de plages IP, par l'utilisation de listes noires, par une analyse logicielle du contenu afin de servir à l'utilisateur ce dont il a besoin, et pas ce qu'on veut lui faire lire. Je ne comprends pas pourquoi ça n'est pas non plus la base du fonctionnement d'un navigateur, pourquoi un filtre anti-spam «intelligent» est intégré depuis 15 ans à Thunderbird, et pourquoi un tel filtre anti-pubs n'existe pas nativement sous Firefox. Pourquoi Firefox continue-t-il de servir des user-agent hyper-informatifs à n'importe qui, pourquoi continue-t-il invariablement d'afficher des images d'un pixel sur un pixel, des publicités, des pop-ups, des bannières d'information des cookies ; pourquoi l'interface pour gérer ses cookies n'est pas utilisable… C'est quand même très surprenant ; au pire, on pourrait imaginer un "legacy mode" un peu sur le modèle de la navigation privée, qui permette d'ouvrir une page en respectant la totalité des standards, mais le mode de fonctionnement par défaut devrait privilégier le fait que l'utilisateur du navigateur, c'est moi, et pas le site tiers.

  • [^] # Re: Manipulation

    Posté par  . En réponse à la dépêche Protéger sa vie privée sur le Web, exemple avec Firefox. Évalué à 2.

    La NSA a eu accès aux bases de données de Google, Facebook, Microsoft et ils en ont fait l'outil d'espionnage le plus efficace de tous les temps.

    Sur ces données, combien étaient renseignées volontairement par l'utiliateur? Le niveau de fiabilité est très différent dans les deux cas. Tout ce qui est déduit du comportement de navigation n'est pas fiable, ça ne serait par exemple pas opposable devant un tribunal.

    le navigateur majoritaire est développé par Google,

    Oui, mais si on prend Firefox, c'est globalement la même chose. On apprend à nos gamins à ne pas donner d'informations à des inconnus, et ton navigateur obéit bêtement à la moindre demande du moindre site louche. Il faut reposer sur des extensions ou mettre en place des méthodes complexes et pas forcément fiables pour se protéger, comme si Firefox obéissait plus à n'importe quelle demande d'un tiers plutôt qu'à son utilisateur.

  • # Manipulation

    Posté par  . En réponse à la dépêche Protéger sa vie privée sur le Web, exemple avec Firefox. Évalué à 5.

    Le contenu technique de la dépêche est tout à fait valide, mais la partie «manipulation» me semble très très douteuse, voire franchement fantasmée.

    «À partir des données recueillies, des techniques de manipulation sont appliquées aux internautes comme le datamining, le neuromarketing, le biais cognitif, etc. Ces techniques ont atteint une telle maturité et efficacité qu’il est impossible de ne pas en être victime.»

    Le datamining n'a rien à voir avec la manipulation. C'est un ensemble de techniques statistiques qui permettent d'aller rechercher des corrélations ou des associations à partir de très grands jeux de données. La collecte d'informations sur les comportements des internautes permettent la construction de ce grands jeux de données, et les techniques de datamining permettent de comprendre les habitudes des internautes. Les techniques commerciales qui se basent sur de tels résultats existent depuis très longtemps ; par exemple, elles ont permis de déterminer un ordre rationnel des rayons dans les supermarchés (mettre côte à côte un produit dont l'acheteur a besoin et un produit dont il n'a pas besoin mais qu'il achèterait spontanément s'il le voyait, mettre le plus loin possible les produits dont l'acheteur a besoin pour qu'il parcourre le magasin, etc). Finalement, le datamining, c'est presque le contraire de la collecte de données personnelles : c'est en agglomérant des milliers de données individuelles qu'on arrive à déterminer des tendances.

    Le neuromarketting est une discipline liée aux sciences sociales et à la neurologie ; ça consiste par exemple à montrer des publicités à des volontaires qu'on a mis dans des machines à IRM. L'objectif est de mieux comprendre le fonctionnement du cerveau face à des messages publicitaires, avec bien sûr en terme d'application l'amélioration des techniques de vente.

    Un biais cognitif est un mécanisme de pensée involontaire qui parasite la pensée rationnelle. Par exemple, le biais de confirmation est le biais cognitif qui est à la base des théories du complot.

    Tout ceci est très très loin du problème du tracking lors de la navigation sur internet. Le tracking permet d'accumuler les données qui sont soumises au data mining, il permet de "personnaliser" les services en donnant l'illusion du boulanger qui vous appelle par votre nom quand vous visitez une page, etc. Les techniques de manipulation commerciales existent, elles existent même depuis très longtemps, bien avant Internet ; un bon commercial ou un bon vendeur, c'est quelqu'un qui a su vous inciter à acheter un produit dont vous n'aviez peut-être pas tant besoin que ça à un prix qui lui permet de réaliser une marge confortable. Avant, ça reposait beaucoup sur des êtres humains et sur des critères pas forcément formalisés, maintenant c'est plutôt des algorithmes… voila, quoi. Les commerciaux ont toujours exploité les biais cognitifs, et les progrès des neurosciences montrent rapidement les limites des approches marketting (de toutes manières, on peut vous inciter à acheter, mais seulement dans des limites très restreintes ; les vraies guerres commerciales, ça n'est pas sur la question d'acheter quelque chose, mais plutôt à qui).

    Un raisonnement que j'ai souvent proposé ici, c'est de réfléchir aux quantités de données dont on parle. Stocker des données, ça coûte cher. Stocker des données massives, ça coûte très cher. Les analyser aussi, parce que les calculs statistiques sont lourds, et parce que les infrastructures nécessaires pour calculer rapidement quelle pub il faut afficher en fonction de votre profil, ça coûte cher aussi. D'un autre côté, combien d'argent cela représente-t-il? Si on exclut les gros achats (voiture, immobilier), on parle de quelques centaines d'euros mensuels par personne grand max. Pour simplifier, prenons des biens matériels ; des achats d'objets réels livrés par la Poste. Sur de tels achats, les prix sont tirés très fort vers le bas, la concurrence n'est pas loin d'être «parfaite et non faussée». Sur la faible marge qu'il reste, il faudra que le vendeur rémunère le publicitaire, qui lui-même devra rémunérer les boîtes qui assurent le tracking, qui ont elles aussi des frais fixes (charges, salaires, matériel…). Au final, si une dizaine d'euros par personne peut se permettre, à terme, d'aller vers cette industrie du pistage, ça me parait un grand maximum (ceci dit, l'emballement est tellement fort qu'il est tout à fait possible que la plupart de ces boîtes tournent à perte, donc le raisonnement est en réalité plus complexe). Regardez ce que vous pouvez stocker pour 10€ par mois, ça ne va pas chercher loin. Et ça, ça représente la totalité des données perso qui peuvent, de manière économiquement viable, être mémorisées et traitées par l'ensemble des acteurs de la filière. Ça n'est forcément que des données très partielles, qui sont rapidement écrasées et remplacées, avec beaucoup d'erreurs, et certainement beaucoup de fausses associations. Bref, si quelqu'un (genre les génies du FBI des séries US) avait magiquement accès à ces données, il ne pourrait pas en faire grand chose («il a probablement acheté un bouquet de fleur pour la Saint-Valentin», «il va sur des sites de boule pendant ses heures de travail, à moins que ça soit son stagiaire», …). En terme de fiabilité, je pense qu'un relevé de banque ou une fadette de téléphone mobile, ça a une valeur très très supérieure.

    Ça n'est bien entendu pas une raison pour ne rien faire, et c'est quand même assez étonnant que les navigateurs ne prennent pas des décisions simples et claires pour limiter le phénomène (ne serait-ce que de supprimer tout type de publicité par défaut). Mais derrière l'emballement de la publicité ciblée, il y a surtout beaucoup de discours commerciaux, dont la plupart des promesses ne sont pas franchement réalistes. Il y a aussi pas mal de fantasmes sur l'idée qu'on nous surveille en permanence, alors que les données collectées sont d'une qualité plus que douteuse, et sont tellement importantes en volume qu'il ne peut pas être économiquement viable de les garder.

  • [^] # Re: Séparation contenu/forme pour une présentation ?

    Posté par  . En réponse au journal 'Markdown presentation processor' (ou de l'intérêt des fichiers texte).. Évalué à 8.

    La fonctionnalité incontournable d'un WYSIWYG comme Impress, c'est les schémas. Si les figures sont des photos par exemple, ça reste des documents indépendants, on peut les importer par un outil similaire à Latex. S'il s'agit de graphiques, on peut les fabriquer par des scripts, quitte à scripter aussi dans la foulée la compilation Latex/Beamer. Par contre, je ne vois pas comment on peut se passer de l'édition à la souris quand les figures sont des schémas, une sorte de texte organisé spatialement avec un code visuel (couleurs, formes…) pour simplifier le message. Ces schémas sont souvent accompagnés de texte sur les diapositives, et il faut une correspondance parfaite (police, couleurs…) entre les deux. Si c'est pour faire les figures dans Inkscape, les sauvegarder, et recompiler, alors autant tout faire dans un éditeur à la souris. Si la solution consiste à scripter les schémas avec un positionnement par essai et erreur, alors la productivité est négative, le moindre schéma va prendre un temps fou. Vraiment, là, quand on est dans un contexte où on fait de la composition graphique sur le tas, non-réutilisée, où la précision des aligments et de la composition importe peu (pas de documents imprimés), bref, pour préparer un topo à l'arrache, j'ai du mal à imaginer quelque chose plus adapté que les logiciels Impress-like, avec leur banque de formes, leurs palettes de couleur, et leur système de style primitif.

  • [^] # Re: J'habite dans un endroit étrange ?

    Posté par  . En réponse au message [CDD 24 mois] Ingénieur logiciel H/F. Évalué à 3.

    Merci pour la précision, j'avais juste mal lu. C'est à ma connaissance assez inhabituel de donner les rémunérations brutes dans la fonction publique, car même pour les contractuels, les prélèvements sont suffisamment différents du régime privé pour que les salaires bruts ne soient pas vraiment comparables (CSG, retraite, etc). En théorie, c'est au bénéfice du public (moins de cotisations chomage, cotisations retraites calculées sans les primes, plus des centaines de petites différences qui partent dans tous les sens, c'est vraiment imbittable).

  • # Ni fait, ni à faire

    Posté par  . En réponse au journal Le SILL 2018 est arrivé. Évalué à 10.

    Sérieusement, je pense que l'hypothèse du stagiaire (le stagiaire de 3ème, peut-être) n'est pas à prendre à la légère. C'est ni fait ni à faire, ça n'est pas relu, l'intitulé des colonnes est absurde, les "secteurs" apparaissent plusieurs fois à différents endroits dans le document, la colonne "cas d'usage" contient n'importe quoi, la mention du "format" est absurde pour beaucoup de logiciels, les licences (en plus d'être fausses pour certaines) ne sont mentionnées que sur la première page, les versions deviennent "selon la distribution" quand le stagiaire a commencé à se faire chier…

    J'ai l'impression que ça illustre pas mal la quantité d'énergie et le sérieux que le gouvernement met dans le logiciel libre…

  • [^] # Re: Oui mais non

    Posté par  . En réponse au journal Twitch et copyleft. Évalué à 7.

    C'est une réponse d'avocat, mais est-ce que les réponses d'avocats sont bien raisonnables?

    Par définition, la WTFPL est inviolable, l'utilisateur ne prend aucun risque. Le seul risque hyper-minimal semble porter sur l'auteur du logiciel, mais pas à cause de la licence en elle-même, mais plutôt sur le manque de l'exclusion des garanties, qui ne pose visiblement problème qu'aux États-Unis. Et encore, il semble même douteux que ce risque existe réellement.

    On peut quand même dire que jusqu'à présent, il n'y a jamais eu de problème impliquant la WTFPL, et qu'étant donné la licence, la possibilité d'un problème semble minimale.

    Quant à la question sur l'utilité du verbiage de juriste des autres licences… C'est peut-être une vraie question. Une armée de juristes et d'avocats semblent vivrent en réels parasites sur le logiciel libre, prémunissant les auteurs et les distributeurs de logiciels libres contre des problèmes ou des attaques potentielles qui sont, pour l'instant, totalement virtuelles (voire fantasmées?). À ma connaissance, les (quelques) affaires portées en justice jusqu'ici viennent de l'auteur des logiciels qui considère qu'un tiers ne respecte pas la licence (par exemple, les obligations de la GPL). Est-ce que, d'une manière pragmatique, les particuliers ne devraient pas destresser un peu sur ces pseudo-risques juridiques qu'on prend en faisant du libre, en oubliant la clause 37.4 de la licence machin-truc, etc? Quelle proportion de cette atmosphère anxiogène a en fait été créee uniquement par des juristes (peut-être de bonne foi) sans aucune base rationnelle?