arnaudus a écrit 4608 commentaires

  • [^] # Re: Résilience

    Posté par  . En réponse au journal SyncNet, navigateur peer-to-peer. Évalué à 3.

    Je ne pense pas que la question de filtrer ou de ne pas filtrer soit spécialement intéressante en soi : tu ne peux pas contrôler explicitement le contenu de l'information qui passe par ton routeur (et si tu le fait, tu prendre justement le risque de te faire accuser de complicité dans le cas où du matériel terroristo-pédo-pornographique a transité par chez toi). Je pense qu'il y a une différence fondamentale entre héberger sur son serveur un site au contenu illicite, et faire serveur de cache pour des "petits bouts aléatoires d'internet" à des fins purement techniques. Le premier problème, c'est que je ne suis pas sûr que la loi prenne bien en compte cette différence. Le deuxième problème, c'est que le choix du type d'informations que tu routes par chez toi peut facilement te retomber dessus : quand tu héberges un nœud Tor ou que tu fais serveur de cache pour Megaupload, tu risques de ne pas être bien convainquant devant la justice, parce qu'il te sera difficile de prétendre ignorer que la majorité de ce genre de traffic est, au mieux, douteux.

    Bon, et puis, un particulier n'est pas un FAI. Si je préfère héberger un cache de Wikipedia plutôt qu'un cache de Youporn, c'est mon droit, et je ne vois pas en quoi ça remettrait en cause la neutralité du réseau…

  • [^] # Re: Résilience

    Posté par  . En réponse au journal SyncNet, navigateur peer-to-peer. Évalué à 10.

    Il y a une sacrée différence entre la neutralité et la liberté d'expression d'un côté, et l'anonymat de l'autre. Il est donc tout à fait cohérent (au moins dans nos sociétés «démocratiques») de militer pour que n'importe qui puisse diffuser ce qu'il veut sur le net, tout en gardant la possibilité que ce n'importe qui puisse répondre devant la justice de son activité.

  • [^] # Re: Apocalypse = un problème de bande passante ?

    Posté par  . En réponse au journal L'apocalypse d'Internet?. Évalué à 1.

    Youtube n'est ainsi pas garant de la liberté d'expression car elle a le droit à sa propre censure et elle ne s'en prive pas.

    Je pense que c'est super important de répéter ce genre de trucs, parce que c'est dingue à quel point les gens ne comprennent pas ce qu'est la liberté d'expression. La liberté d'expression, c'est le droit de dire ou d'écrire ce qu'on veut. Mais ce n'est absolument pas le droit de bénéficier d'un service privé! L'argument revient super souvent sur Wikipédia : «vous dites que vous êtes une encyclopédie libre mais vous censurez ce que je veux y écrire».

    Une entrave à la liberté d'expression pourrait venir d'une coupure arbitraire en provenance du FAI qui n'a pas aimé par exemple ce que vous écriviez sur un blog hébergé ailleurs. Mais autrement, chacun fait ce qu'il veut sur ses serveurs. Techniquement, en général, il existe des conditions d'utilisation, qui vous préviennent que le contenu sera supprimé s'il viole telle ou telle clause, mais dans les faits, je pense que chacun supprime ou autorise exactement ce qu'il souhaite (le seul bémol étant que si un hébergeur filtre activement ses contenus, il risque de ne plus pouvoir se planquer derrière le statut d'hébergeur).

  • # Ayèèèè

    Posté par  . En réponse au journal Consultation publique de la Commission Européenne au sujet du Copyright. Évalué à 8.

    J'ai rempli le truc… mais que de questions! Comment tout ça va bien pouvoir être dépouillé? Ça me semble tellement compliqué (et tellement mal foutu informatiquement parlant, d'ailleurs) que je me demande si ça n'est pas redirigé tranquillou vers /dev/null.

    En gros, ça me rappelle exactement tout ce qui vient de l'Europe. Pareil que les contrats de recherche, ou que les convocations en tant qu'expert. 36 pages d'introduction qui n'expliquent pas le contexte, puis une série interminable de questions quasiment identiques, comme si plusieurs personnes les avaient rédigées sans se concerter. On remplit, c'est super pas clair, on essaye de deviner au fur et à mesure ce qu'ils attendent, et pouf, à la question 76, on se rend compte qu'on n'avait rien compris et qu'on a tout inversé, alors on revient en arrière et on change tout… À la question 51, nouvelle découverte, il ne fallait pas remplir les questions 23 à 37… Puis on termine le truc complètement saoûlés, on l'envoie, et on se prend en email demandant notre ID européen pour l'e-portail truc machin. On va sur le portail, on crée un compte, et paf, on nous demande un numéro d'accréditation. On finit par envoyer un email, et on reçoit rapidement une réponse : l'accréditation est envoyée par la Poste aux fonctionnaires européens ou assimilés. Mais quand on n'est pas fonctionnaire européen? Bah on avait mal compris, l'enquête n'était destinée qu'aux accrédités.

    L'Europe, c'est la maison qui rend fou. Ça n'est pas totalement dénué de sens, c'est juste un système conçu par et pour des gens qui ont passé leur vie à complexifier encore et encore un système à logique floue, qui permet de valoriser à l'extrême leurs compétences de survie dans ce système. Des armées de bureaucrates, juristes, et administratifs, qui coopèrent pour fabriquer un monstre de paperasses, de services emboités, et d'inefficacité.

  • [^] # Re: Mécénat

    Posté par  . En réponse au journal Tipeee, encore un système de rémunération des créateurs. Évalué à 2.

    Est-ce que les CGU sont compatibles avec une licence libre? On a l'impression que personne ne peut rediffuser le contenu sur une autre plateforme, non?

  • [^] # Re: Évaluation du contenu

    Posté par  . En réponse au journal Tipeee, encore un système de rémunération des créateurs. Évalué à 5.

    la logique de crowdfunding

    Oxymore? :-)

    Sans blague, je n'ai personnellement jamais compris la "logique" du crowdfunding. J'ai plus l'impression que c'est un agglomérat de trucs très différents qui n'ont pas grand chose en commun, à part un espèce de contribution volontaire.

    Par exemple, on a des financements qui sont censés apporter un investissement initial par des préventes. On veut produire des téléphones portables, mais on a besoin d'être sûrs d'en sortir 10000 pour rentrer dans les couts de production. On les pré-vend, si on atteint la somme requise, on les fabrique et on les envoie aux acheteurs.

    On a le même système pour des œuvres de l'esprit, avec un système plutôt basé sur le volontariat : on paye par exemple pour une nouvelle fonction dans un logiciel libre. C'est différent du cas précédent, puisqu'en faisant ça, on offre la fonction à d'autres qui n'ont pas payé.

    On a aussi des systèmes qui ressemblent au don : l'œuvre a déja été produite, et si on l'a aimée, on paye en retour le créateur.

    etc etc. Bref, une accumulation de cas, qui sont dans les faits très différents : parfois, c'est un don, parfois, c'est une commande contractuelle, parfois, c'est un achat groupé, et parfois, c'est un investissement.

    Ce qui me choque, c'est que souvent, c'est le "crowdfunder" qui se fait avoir : des systèmes équivalents existent très bien, sauf qu'ils exigent un retour. Par exemple, si on a besoin de 100,000$ pour lancer un produit, ce qui se fait habituellement, c'est de lever des capitaux. Pas de faire un appel aux dons.

  • # Faille inexistante sous Linux

    Posté par  . En réponse au journal Toi aussi, amuses toi avec le FireWire. Évalué à 10.

    Quant à linux…

    Linux est très bien sécurisé, contrairement à ce qui est suggéré dans le journal. Personnellement, je n'ai jamais réussi à faire fonctionner le firewire :-)

  • [^] # Re: bof ?

    Posté par  . En réponse à la dépêche Sortie de Linux 3.13. Évalué à 2.

    A quand de vrai fonctionnalité pour l'utilisateur classique

    Est-ce que l'utilisateur "classique" a besoin de nouvelles fonctionnalités dans le noyau? C'est une vraie question. On peut bien sûr économiser quelques watts ou gagner quelques cycles de processeurs, rendre le système un tout petit peu plus responsif, etc. Mais l'ordre de grandeur des gains est faible par rapport à de potentielles améliorations du côté des applications : l'optimisation kernel me permet de gagner 2% alors que la pessimisation LibreOffice me fait perdre 250%…

    À part sur les performances des drivers (qui ne sont pas, philosophiquement, des composants d'un noyau d'OS), on ne peut attendre d'un noyau que des améliorations à la marge de la stabilité ou des performances…

  • [^] # Re: ING

    Posté par  . En réponse au message Banques en ligne. Évalué à 2.

    Pfff, c'est juste un mail automatique qu'ils envoient à tout le monde. T'es en train d'insulter un robot. Ils se foutent de ces informations, ils veulent juste savoir si tu es encore vivant, parce que si le compte est dormant, ils aimeraient juste le fermer. Franchement, pas de quoi en faire un foin.

    Par ailleurs, le texte que tu cites concerne l'établissement de la relation d'affaire (l'ouverture de compte), et autorise la banque à ne demander qu'une pièce d'identité. Relis la phrase, il n'est pas marqué "Il ne peut être procédé uniquement qu'à la vérification…", elle dit "il peut être procédé uniquement…". Autrement dit, à l'ouverture d'un compte, la banque n'a pas l'obligation de te demander tes fiches de paye. Elle le fait si elle veut.

    Le "scoring", il est fait manuellement (procédure automatique complètement illégale, ça m'étonnerait qu'ils le fassent) sur ton relevé de banque par le conseiller financier.

    je suis libre de décider de partir.

    Évidemment, c'est ce qu'on dit depuis le début. Ca n'est probablement pas illégal de te demander ça, et c'est légal pour toi de te barrer si tu ne veut pas fournir ces infos. Entre nous, c'est exactement ce qu'ils veulent, car un compte dormant ne leur rapporte rien.

    Le jugement à la rache, super à la mode.

    Ce qui semble super à la mode, c'est de menacer de porter plainte contre n'importe qui pour n'importe quoi. Les tribunaux ont des trucs beaucoup plus importants à faire que de déterminer si une banque a le droit de te demander l'état de tes finances par un email automatique. Après, tu vas porter plainte parce que ton médecin te demande si tu n'as pas été malade depuis votre dernier rdv?

  • [^] # Re: ING

    Posté par  . En réponse au message Banques en ligne. Évalué à 3.

    Je pense qu'il ne veut rien savoir de toutes manières, il est persuadé depuis le début qu'il a raison.

    Globalement, un certain nombre de professions (banques, notaires, etc) sont responsables devant la loi et peuvent être accusés de complicité de blanchiment d'argent. Quand on leur demande de cautionner une opération financière, ils peuvent demander et émettre une attestation d'origine des fonds. La loi ne semble pas limiter les justificatifs qui peuvent être demandés pour émettre cette attestation : d'où vient l'argent, quelle va être son utilisation, etc. Typiquement, on m'a demandé des fiches de paye pour justifier de mon train de vie dans un pays étranger quand j'ai rapatrié mon épargne en France. Si je n'avais pas fourni les documents, on m'aurait gentiment demandé d'aller voir dans une autre banque, j'imagine.

    Je confirme donc ma première réponse : étant donné le flou dans la description de l'affaire en question (quels types de justificatifs, à quelle occasion, en quoi ceci concernait la vie privée, etc); le flou dans la description juridique du problème («j'ai vérifié, c'est illégal»), et l'absence de suites («je n'ai pas porté plainte, mais j'aurais pu»), ça a tout l'air d'être une histoire à dormir debout, ce truc (voire, pire, une tentative avortée de faire un truc bizarre, par exemple déposer beaucoup d'argent liquide ou de chèques sans pouvoir expliquer à la banque d'où vient l'argent).

    Dans l'ordre, je dirais donc que 1) c'est une affaire qui concerne une relation contractuelle entre un client et une banque, c'est du droit privé, et personne n'est forcé de faire quoi que ce soit : on a parfaitement le droit de changer de banque ; 2) au vu de l'explication peu convainquante, j'ai l'impression que hervé Couvelard pensait de bonne foi que les demandes de la banque étaient illégales, mais il est tout à fait possible qu'elles le soient, il s'agirait donc d'une non-affaire.

  • [^] # Re: ING

    Posté par  . En réponse au message Banques en ligne. Évalué à 5.

    C'est difficile de juger à partir des informations que tu donnes, mais sur le fond, tu pourrais très bien avoir tort, car la banque a le devoir de collecter des informations sur l'origine des fonds. Lors d'un gros achat (typiquement, immobilier), le notaire peut demander un certificat à la banque sur l'origine des fonds, la banque s'engage donc juridiquement sur le fait que tu ne verses pas 10000€ en liquide tous les mois sur ton compte, et que la constitution de ton épargne est cohérente avec ton revenu et ton train de vie.

  • [^] # Re: Rien à voir

    Posté par  . En réponse au journal Crowdfunding régulier. Évalué à 2.

    Mais justement, si tu as une redistribution à peu près équitable et neutre entre les "formes" de culture, tu t'abstiens de jugements de valeur. C'est quand même mieux que de financer uniquement la culture rentable.

  • [^] # Re: Bindings

    Posté par  . En réponse à la dépêche Gtk to Qt - A strange journey. Évalué à 3.

    Ça ne pose pas un problème quand le destructeur a des effets de bord? (écrire un truc dans un fichier, modifier une variable, n'importe quoi?). Bien sûr, on pourrait dire qu'il s'agit de méthodes de programmation contestables, mais implémenter un ramasse-miette en C++ pourrait changer le fonctionnement des programmes, et à part mettre le bazar, je ne vois pas l'intérêt du truc.

  • [^] # Re: Rien à voir

    Posté par  . En réponse au journal Crowdfunding régulier. Évalué à 6.

    Bref, je suis à fond pour les impôts et une juste répartition, mais uniquement si cette dernière n'est pas à la discretion d'on ne sait qui et avec des gars qui ponctionnent entre les deux comme "droit de gestion" comme on a déja aujourd'hui

    Mouais, la question de fond, c'est quand même la légitimité de l'impôt pour financer une activité potentiellement utile à l'ensemble de la société. Parce que ta vision du financement de la culture pourrait s'étendre au financement de la recherche publique, de la défense, de la protection sociale, de la retraite, de la politique familiale, etc. Pourquoi me faire financer les allocations familiales des autres alors que je n'ai pas d'enfants? Pourquoi faire payer à tout le monde les salaires des fonctionnaires du CNRS, etc.

    J'ai l'impression qu'il faut admettre que la "vraie" culture peut difficilement être rentable dans la société moderne. Monter un orchestre symphonique ou une pièce de théatre classique semble impossible sans subventions. Pire, ce qui semble s'autofinancer n'est même pas moyen, c'est la plupart du temps extrêmement médiocre. Les possibilités sont donc restreintes : soit on bascule dans une vision ultralibérale où tout ce qui n'est pas rentable disparait, soit on parie sur le mécénat, soit on organise au niveau national une redistribution des richesses pour que les activités rentables financent en partie les activités non rentables.

  • [^] # Re: Nouvel éditeur

    Posté par  . En réponse au journal Nouvelle interface pour gedit. Évalué à 8.

    Marrant, j'ai suivi exactement le chemin inverse. J'utilisais Gedit pour développer des petits trucs, écrire en Latex, etc. Et du fait du manque de fonctionnalités (exemple typique, la galère pour passer du mode "retour à la ligne automatique" au mode "scoll latéral nécessaire"), je suis passé sous Geany, qui est une sorte de gedit avancé qui n'a pas la lourdeur des IDE qui font plein de choses dont je n'ai pas besoin.

  • [^] # Re: Bindings

    Posté par  . En réponse à la dépêche Gtk to Qt - A strange journey. Évalué à 10.

    Mais un des intérêts de Qt, c’est justement de simplifier le codage en C++

    L'autre vision, c'est de dire que Qt a carrément modifié en force le C++ de manière à faire rentrer des objets ronds dans des trous carrés, et que le résultat n'est pas vraiment du C++ :-)

    Le C++ c'est vraiment bien pour faire ce que c'est censé faire : de l'objet sur des algorithmes ayant besoin de performances. Je m'en sers pour des programmes scientifiques, des simulations intensives et des trucs comme ça, et c'est un outil super pratique. Mais j'ai quand même l'impression d'être un bricoleur avec des outils pros dans les mains, sans avoir lu le mode d'emploi. Pour faire du C++ efficace et propre, il faut faire de l'objet nickel (designs patterns etc), il faut être très soigneux sur l'écriture des classes (bien overloader les opérateurs, être super strict sur les const, être super strict sur la gestion de la mémoire), il fau(-drait, parce que je ne le fais pas) gérer les exceptions comme il faut… Ça fait beaucoup de contraintes. Quand on voit le nombre de gens qui prétendent faire du C++ et qui ne produisent qu'un vague dialecte du C, je me dis que ça serait peut-être pas mal que moins de gens fassent du C++, parce que c'est un outil très puissant, mais très technique, et qui se prête très mal à des petits projets pas bien ficelés.

  • [^] # Re: Bindings

    Posté par  . En réponse à la dépêche Gtk to Qt - A strange journey. Évalué à 10.

    Je ne pense pas que C++ soit "has-been" pour tout, mais c'est vrai qu'on peut se demander la pertinence d'un langage aussi contraignant si c'est pour faire une interface graphique autour de la lecture de données dans un fichier et une analyse triviale.

    Le meilleur langage, c'est quand même celui que tu connais bien ET qui est adapté au type d'application. Dans le cas présent, à moins de vouloir faire des statistiques Bayesiennes infernales sur les temps des paliers de décompression, ou vouloir que le soft puisse aussi faire firewall et piloter une cafetière…

  • [^] # Re: Mouai

    Posté par  . En réponse au journal Vie privée ? Connais pas. Évalué à 1.

    Bref, tout ça pour dire que si, c'est rentable, la plus grande preuve est le chiffre d'affaire de Google qui collecte des millairds de petites infos sur toi (sur le net).

    Oh oui, c'est rentable pour Google, c'est indéniable. Bla bla pubs ciblées, vous allez voir comment votre visibilité va augmenter, etc. Pour les annonceurs, par contre, ça me semble bien plus discutable.

    Et vu l'evolution technologique, tu as plus de données à traiter mais aussi bien plus de puissance, et au final c'est le contraire qui se passe : ça revient de moins en moins cher de traiter de plus en plus d'infos.

    La difficulté du traitement n'est évidemment pas la puissance informatique nécessaire : les serveurs de calculs ne valent quasiment rien par rapport au salaire des ingénieurs et des chercheurs qui vont développer les algorithmes permettant d'extraire des infos exploitables commercialement à partir de tout ça, et c'est pas évident du tout que tout ça est rentable. Les données sont pourries, incomplètes, bourrées d'erreurs (une personne utilise plusieurs ordinateurs, un ordinateur peut être utilisé par plusieurs personnes, on peut utiliser plusieurs navigateurs, etc), et encore une fois, je doute que ces jeux de données massifs aient réellement de la valeur intrinsèque, convertible en cash dans l'économie réelle. Oui, tu vas pouvoir connaitre plein de choses : l'adresse, le nom, le téléphone, la fréquence des achats en ligne, les sites fréquemment visités, le modèle des ordinateurs utilisés… Mais qu'est-ce que tu vas faire de tout ça? Tu vas payer des milliers et des millieurs d'euros pour cibler des pubs dont le taux de clic va passer de 1/1000 à 1/500? C'est valorisable pour une boite qui vend de la pub, mais est-ce intéressant pour les commerçants?

    C'était le sens de mon exemple avec StMaclou (que personne n'a compris) : ils ont des informations très précises sur leurs clients: adresse, téléphone, historique des achats, budget, paymement cash ou 3 fois sans frais, surface, qualité choisie, quantité retirée à chaque livraison ( = taille de la voiture)… et au final, ils envoient automatiquement des SMS à toute leur base de numéros de téléphone à chaque promotion. C'est complètement bourrin, mais s'ils font ça, c'est qu'ils ne voient pas l'intérêt de s'emmerder à exploiter finement leur superbe base de données pour cibler leur clientèle. Je pense encore que le marché de la donnée privée, c'est une bulle spéculative : ça a très peu de valeur commerciale en soi, mais tout le monde spécule pour avoir des bases plus intrusives et plus complètes. Les États sont incapables de gérer ça, c'est assez inquiétant, mais il est raisonnable de ne pas paniquer tant que ces données restent totalement inexploitables commercialement.

  • [^] # Re: Mouai

    Posté par  . En réponse au journal Vie privée ? Connais pas. Évalué à 10.

    Il me semble quand même qu'il manque une précision importante dans tout ça, c'est comment le GPS transmet sa position en temps réel au serveur de Ford. Soit la bagnole a sa propre puce 3G (et là, il faut quand même arrêter le délire), soit ça passe par une application sur le téléphone du conducteur. Et là, c'est nettement moins effrayant : il faut installer une application dédiée, il faut avoir une connexion réseau tout le temps, y compris avec un téléphone en veille (c'est encore loin d'être le cas pour tout le monde).

    Si tu installes une application sur ton téléphone pour sauvegarder ta trace GPS tous les jours pour faire diverses statistiques ou pour que Ford t'envoie un SMS quand il est temps de faire ta révision, tu sais déja que tu transmets tes données à Ford. Tu ne connais pas leur précision, ni la périodicité de la transmission, ni plein de détails, mais tu es au courant du principe.

    De toutes manières, je suis persuadé depuis quelques années que d'essayer de contrôler les données personnelles et les traces qu'on laisse un peu partout, c'est comme de militer contre la gravité ou contre le capitalisme. C'est là qu'on le veuille ou non, et on ne peut que s'épuiser en vain à lutter. Attention, accepter la gravité, ça ne revient pas à accepter de se casser la gueule à tous les coins de rue : le fait de savoir que ça existe et que c'est ineluctable permet juste de vivre normalement sans trop d'accidents.

    De toutes manières, il est probable que trop de données tuent les données. On vit une sorte de bulle où tout le monde remplit des datacenters de données triviales en espérant les valoriser un jour. Mais pour les valoriser, il faut les analyser. Et il y en a tellement qu'il faut le faire très grossièrement et automatiquement : il n'y aura jamais un gars chez Ford qui va visualiser sur son écran tes trajets ces 5 dernières années, avec ton nom, ton adresse, et ta photo au coin de l'écran. Tu vas recevoir des pubs ciblées? Ouais, pareil que les couvreurs qui passent dans la rue et qui mettent un papier dans la boite aux lettres quand ils voient que tes tuiles sont crades. Mais les pubs ciblées, ça va leur rapporter combien, par rapport au développement des fonctions du GPS, de l'appli mobile, du data center, des logiciels d'analyse, du service qui va vendre et valoriser les données?

    Bref, je pense que cette course aux données va finir par s'épuiser, pas parce que les CNILs essayent de stopper les chutes du Niagara avec une passoire à spaguetti, mais parce que collecter toutes ces données coûte très cher et ne rapporte rien. Ça reste du fantasme de marketteux, ça enthousiaste les services com' des grandes boites… mais franchement, combien de fois avez-vous cliqué sur les liens sponsorisés dans Gmail, combien de fois avez-vous visité un site de vente suite à un spam? La semaine dernière, j'ai reçu un SMS de Saint Maclou parce qu'ils font des soldes sur les parquets flottants… ils ont eu mon numéro parce que je leur ai acheté 80m2 de parquet deux mois avant… soit ils croient que je suis châtelain, ou entrepeneur, soit ils ont tellement peu confiance dans leur camelotte qu'ils pensent que je doive déja changer mon sol, soit ils n'analysent que dalle, ils ne ciblent que dalle, et ils envoient des messages complètement au hasard sur tous les numéros de leur base de données! Bref, ils ne font absolument rien des données qu'ils collectent, car elles n'ont probablement aucune valeur réelle.

  • [^] # Re: Et les compilateurs?

    Posté par  . En réponse à la dépêche Kalray un processeur massivement parallèle très impressionnant : Qu’il est loin le temps de mon ZX81. Évalué à 3.

    Coté navigateur, avec une veille machine tout est réactif

    Sur du HTML bête et méchant, peut-être, mais quid des web-applis où le navigateur devient un compilateur/interpréteur?

  • [^] # Re: Et les compilateurs?

    Posté par  . En réponse à la dépêche Kalray un processeur massivement parallèle très impressionnant : Qu’il est loin le temps de mon ZX81. Évalué à 4.

    "Avec quel genre de code « normal » on a besoin de performances ?"

    Avec quel genre de code a-t-on besoin de plus de 640 kb de RAM?

    Sérieusement, avec à peu près tout, mais le plus gros argument, c'est l'utilisation de langages de haut-niveau. Un jour le C (pourquoi pas tous les langages compilés même, on est presque vendredi) deviendra probablement ce qu'est l'assembleur aujourd'hui. Je ne vois pas l'intérêt de coder un navigateur ou une suite bureautique dans un langage qui permet des fuites de mémoire ou des segmentation fault; et par ailleurs les navigateurs eux-mêmes deviennent des compilateurs de JavaScript.

    D'une manière générale, on peut aussi discuter du fait que ma micro-optimisation est nuisible (temps de développement passé à optimiser, plus la perte de temps pour gérer la perte de lisibilité et d'évolutivité du code). L'argument "il existe un moyen logiciel d'améliorer les performances" est aussi souvent en opposition avec la portabilité et l'évolutivité, qui sont des propriétés importantes des logiciels.

  • [^] # Re: const→non-const ou non-const→const ?

    Posté par  . En réponse au message Appeler une méthode non-const à partir de la méthode const homonyme. Évalué à 2.

    Ah oui, en effet, c'est nettement moins laid.

    Ceci dit, j'ai quand même l'impression que ça revient à utiliser une "faille" dans le langage pour faire un truc qui n'est pas prévu, et donc qui n'est pas canonique. Je me demande si, au final, il n'est pas plus sain de déporter les calculs dans une fonction const qui a un autre nom, et d'utiliser les fonctions overloadées comme des coquilles vides :

    class A 
    {
      public:
    ...
       double mean() {if (!is_initialized) initialize(); return(compute_mean());}
       double mean() const {if (!is_initialize) abort(); return(compute_mean());}
     protected:
    ...
       double compute_mean() const {return(sum_i/data.size());}
    };
    

    Il y a une fonction de plus, mais finalement, C++ est un langage verbeux, si on aime la concision on change de langage… Et ça permet de faciliter la lecture de toute manière, puisque la fonction appelée est explicite. J'imagine qu'on peut même imposer en convention de codage de l'appeler const_mean(), un peu à la manière des const_iterator de la lib stantard. Merci pour l'éclairage, en tout cas.

  • [^] # Re: 'mutable' ?

    Posté par  . En réponse au message Appeler une méthode non-const à partir de la méthode const homonyme. Évalué à 2.

    Je ne suis pas certain que j'ai compris "mutable" de la même manière. Je n'aurais tendance à utiliser "mutable" uniquement dans des cas très spécifiques, par exemple pour pouvoir modifier un cache, ou quelque chose comme ça. Si les propriétés de l'objet sont modifiées (ici, elles le sont clairement, vu que l'objet passe de !is_initialized à is_initialized, et que le comportement de l'objet change (il appelle abort() ou il retourne un résultat quand appelé en contexte const), je trouve que l'utilisation de 'mutable' est abusif.

    Tu devrais aussi le mettre en const est le calculer dans le constructeur.

    Je ne sais pas, évidemment, dans le cas réel, il y a plus de trucs à calculer. Imagine que tu puisse demander aussi la variance ; si tu calcules tout dans le constructeur, tu vas devoir calculer sum_i et sum_i2, et si tu ne demandes finalement que la moyenne, tu auras calculé sum_i2 pour rien. J'avoue que c'est une question non triviale, mais ça me semble une pessimisation a priori que de faire des calculs potentiellement lourds alors qu'on n'est pas certain d'utiliser le résultat.

  • [^] # Re: const→non-const ou non-const→const ?

    Posté par  . En réponse au message Appeler une méthode non-const à partir de la méthode const homonyme. Évalué à 2.

    Ah oui oui, je me suis emmêlé les pinceaux dans le titre, toutes mes confuses.

    Je ne sais pas trop les conséquences du cast, tu veux dire qu'un static_cast sur *this appelle le constructeur de copie?

  • [^] # Re: Brace yourselves, bullshit is coming.

    Posté par  . En réponse à la dépêche Concours "Evenja Café", un nouveau paradigme de programmation. Évalué à 3.

    OK, je crois que j'ai compris. Il y a un filtre sur chacune des 7 colonnes, avec en moyenne 4 ou 5 classes par colonnes (4.67 ~ 44000). L'objectif, c'est de faire une opération mathématique sur les colonnes restantes pour toutes les combinaisons exhaustives de filtres, par exemple col1==filtre1 && col2==filtre2, etc.

    Si on passe outre la question de l'intérêt du bazar, il est évident que sur seulement 10 000 lignes de données, la plupart des combinaisons n'existeront pas, il est donc totalement inutile de parcourir toutes les possibilités. À froid comme ça, en codant rapido, je ferais simplement une map basée sur une clé générée à partir des filtres (genre "Col1Filtre1-Col2Filtre2"), remplir la map ligne par ligne, puis gérer les requêtes en cherchant la clé correspondante dans la map—si la clé n'existe pas, la combinaison n'existe pas. Remplir 10 000 éléments de map avec 3 données, à vue de nez, ça devrait être super rapide, non?