lasher a écrit 2747 commentaires

  • [^] # Re: GNU

    Posté par  . En réponse au journal Un Linux vaut-il mieux qu'un GNU/Linux ?. Évalué à 2.

    Mais il y a dans le libre beaucoup plus que le fait d'avoir le droit de redistribuer le logiciel : C'est l'obligation de redistribuer les sources, et les modifications s'il y en a.

    Non. C'est la GPL que tu décrits. Un logiciel libre est juste décrit par la FSF par ses quatre libertés.

  • [^] # Re: Affligeant

    Posté par  . En réponse à la dépêche Conférence Hadopi Versus Licence Globale : quels enjeux ?. Évalué à 4.

    Ben oui. Une minorité est capable de peindre (j'en suis personnellement incapable). Une minorité est capable de faire de la vraie plomberie chez elle. Une minorité est capable de faire quelque chose de technique dans un domaine précis en règle générale. Voici la différence: si tu touche un tout petit peu en plomberie (genre t'as eu un problème, t'as vu ton plombier changer le flotteur pour tes chiottes, et en fait t'as pigé que c'était pas bien compliqué), ben tu peux le faire toi-même (ou au moins tenter de le faire) la prochaine fois que tu as un problème de fuite dans tes WC. Avec un logiciel proprio, si tu as un bug, ben tu demandes à l'éditeur de bien vouloir le corriger. Si le bug « intéresse » l'éditeur (ie il a un intérêt financier à le corriger), alors tout va bien pour toi. Sinon, ben tant pis. Avec le logiciel libre, si tu as un problème, ben tu peux aller voir un « plombier » logiciel (un forum, remonter le bug, engager un consultant très cher, etc.). Tu peux aussi tenter de réparer le soft toi-même (parce que tu as vu ton-copain-qui-s-y-connaît le faire, parce que ton contrat avec le consultant spécifiait un rapport détaillé de la procédure de correction de bug, etc). Dans tous les cas, tu as la possibilité de changer quelque chose, ce qui est impossible (soit techniquement, soit légalement) avec le logiciel proprio.

  • [^] # Re: Affligeant

    Posté par  . En réponse à la dépêche Conférence Hadopi Versus Licence Globale : quels enjeux ?. Évalué à 4.

    Je ne pirate pas, mais si je me vois imposé une telle taxe, je ne priverai pas de le faire.

    Ah ben voilà, tu viens de dire exactement ce que je répète à longueur de temps : je ne pirate en général pas (plus), mais depuis la taxe sur TOUS les supports de stockage + DADVSI + HADOPI, ben je considère que c'est une provocation, donc j'ai tendance à copier bien plus de trucs sur le net (en pratique, j'achète bien plus que je ne pirate, mais c'est une autre histoire).

  • [^] # Re: Affligeant

    Posté par  . En réponse à la dépêche Conférence Hadopi Versus Licence Globale : quels enjeux ?. Évalué à 5.

    Non, ce n'est pas une théorie. La possibilité de modifier les sources est très concrète. C'est tout ce que le LL garantit. Je pense qu'ici tout le monde sera d'accord pour dire que la capacité à modifier un logiciel (libre ou pas), elle, réservée aux gens qui savent comment faire (i.e. qui savent utiliser un éditeur de texte¹).

    [1] Je sais, l'éditeur ne suffit pas. :) Mais si j'ai envie de modifier la sortie de uname je peux parfaitement rajouter une chaîne de caractère à la con, sans pour autant avoir à comprendre exactement comment le C fonctionne (même si bien entendu si je sais, alors c'est d'autant plus facile).

  • [^] # Re: Affligeant

    Posté par  . En réponse à la dépêche Conférence Hadopi Versus Licence Globale : quels enjeux ?. Évalué à 4.

    Ben tu vas deux fois moins souvent voir (Johnny|Les Musclés|blah) mais tu vas voir un opéra. Faut pas oublier que contrairement aux groupes de rock qui n'ont « que » deux à cinq membres en règle générale (y'a toujours des exceptions), un opéra nécessite un orchestre complet, un ensemble de chanteurs/acteurs sur scène, etc.

    Bref, y'a aussi l'équivalent des roadies, techniciens/ingés du son, tout ça, comme pour un concert de rock, mais aussi beaucoup, beaucoup de gens en plus à payer. Tout compte fait, 75€ c'est pas cher, je trouve.

  • [^] # Re: Et si un thread se fait toujours voler l'accès mémoire ?

    Posté par  . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 2.

    Mais ça ne passe pas forcément à l'échelle. C'est pour ça qu'il existe (par exemple) des modèles mémoire (tels Entry Consistency ou Location Consistency) qui ont des contraintes très relâchées en ce qui concerne la façon dont la mémoire est vue au sein d'un système et vis à vis d'un cœur.

  • [^] # Re: Et si un thread se fait toujours voler l'accès mémoire ?

    Posté par  . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 4.

    Si si, tu déplaces le problème. :) Le problème devient un problème « matériel » où la contention sur les opérations atomiques mène à une baisse de performance en cas de pas-de-bol-itude. En pratique, les algos non-bloquants, et plus généralement les algos "lock-free" garantissent que parmi tous les threads au moins un progresse, mais n'offrent aucune garantie quant à la vitesse d'exécution proprement dite. Il existe tout un tas d'études qui montrent que les algos utilisant des verrous à grain fin vont plus vite que ceux utilisant une méthode lock-free, tout bêtement parce que l'implémentation des verrous fait qu'une bonne partie des opérations peut avoir lieu en cache et pas directement en D-RAM.

    Aussi, en pratique, utiliser des opérations atomiques fait gagner (pour une même charge de travail) un facteur 2 (ce qui n'est pas négligeable, j'en conviens), dans le cas où tout est optimiśe aux petits oignons (je peux retrouver des références si tu veux, et je peux aussi te rediriger vers mon collègue qui a écrit un de ces articles). Mais dans la vraie vie malheureusement, les gens ont du mal à correctement implémenter des algos non-bloquants et/ou lock-free. Herb Sutter a même écrit des articles sur le sujet.

  • [^] # Re: Recouvrement

    Posté par  . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 3.

    Ton code a un problème : tu suppose que *val va être lu depuis la mémoire. En pratique c'est très souvent faux, car le compilateur a tendance à générer un code de ce genre :

    # On suppose que debit est stocké dans r3
    ld r4, @val # val est une adresse absolue en mémoire, r4 est choisi arbitrairement
    sub r4, r4, r3 # r4 -= r3
    st @val, r4

    C'est approximatif, mais l'idée est là. Entre le moment où le chargement de val dans r4 et le moment où l'on écrit par dessus val, plein de choses peuvent s'être passées — entre autres, un autre thread essaye de faire exactement la même chose.

  • [^] # Re: Et si un thread se fait toujours voler l'accès mémoire ?

    Posté par  . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 2.

    Oui. Le problème se pose avec tout besoin d'atomicité sur des variables partagées.

  • [^] # Re: Recouvrement

    Posté par  . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 2.

    Déjà, ton troisième thread, il a quelle tête ? S'il s'agit d'un thread, je suppose qu'il existe aussi longtemps que la valeur que tu veux pouvoir modifier existe. On crée combien de threads comme ça ? Un par valeur ? Un pour dix valeurs ?

    Ensuite, comment fais-tu pour traiter les nouveaux deltas ? Il faut bien trouver un moyen de les communiquer au thread, non ? Donc il faut (roulements de tambour...) une structure de donnée partagée ! ... Et du coup on en revient à la case départ.

    Déléguer les modifications d'une variable à un thread, ça peut parfaitement faire sens¹, mais pas dans cet exemple.

    [1] C'est pour ça qu'on utilise des buffers d'écriture par exemple : il vaut mieux déléguer les écritures sur disque à un nombre restreint de threads, qui pourront bénéficier de la bande passante maximale, plutôt que d'avoir 300 threads qui essaient tous d'écrire sur le disque en même temps, et qui au final font que le travail global est ralenti.

  • [^] # Re: Instructions atomiques

    Posté par  . En réponse à la dépêche IBM lance la mémoire transactionnelle dans le matériel. Évalué à 4.

    L'intérêt des mémoires transactionnelles est qu'elles rendent le code bien plus simple à écrire (et à comprendre !). Le problème (selon moi) des MT est que la plupart sont faites au niveau logiciel, ce qui les rend généralement bien plus lentes que l'utilisation de verrous (ou d'instructions atomiques). C'est en fait ma principale raison de ne pas aimer les systèmes à base de STM (software transactional memory). Par contre il existe toute une littérature concernant les MT faites au niveau matériel, avec des modifications plus ou moins grosses à effectuer sur les processeurs actuels, et ça je crois vraiment que ça peut aider beaucoup, beaucoup de monde.

    Il existe une étude (je n'arrive plus à trouver le lien) qui montre que des étudiants confrontés aux verrous et mémoires transactionnelles pour la première fois ont différents niveaux de productivité une fois formés à leur utilisation. Si je me souviens bien, l'ordre de productivité (time-to-solution) était ceci:

    1. Verrouillage à gros grain (mettre un gros verrou sur une liste, un tableau dynamique, etc.)
    2. Mémoires transactionnelles
    3. Verrouillage à grain fin (plein de deadlocks possibles, dur à debugger pour un débutant ­et même des programmeurs relativement expérimentés ! — etc.)
  • [^] # Re: multi-spécialiste

    Posté par  . En réponse au journal Répression et peines de prison. Évalué à 2.

    J'aurais sans doute dû insister sur le fait que, de ce que j'en sais, ce monsieur est célibataire endurci (as in : il a des cales aux mains...). Bref, la « connerie » de l'une (préférer fonder une famille plutôt que finir ses études quand on a déjà une licence) n'est pas spécialement plus importante que celle de l'autre (docteur en physique, certes, mais avec un tempérament tellement exécrable qu'il est toujours célibataire, et pas par choix).

  • [^] # Re: Numerama..

    Posté par  . En réponse au journal Répression et peines de prison. Évalué à 6.

    Tu te rends bien sûr compte qu'il existe tout un tas d'artistes « non libres » qui diffusent leurs œuvres de façon plus ou moins confidentielle, et qui (mis à part le contenu non-libre de leur production) correspondent parfaitement à la description que tu viens de faire ? Pour la majorité des gens qui écoutent/suivent la radio et la télé, ces œuvres « n'existent » pas non plus.

    Autre exemple très con : je suis fan de musique metal et j'écoute aussi pas mal de classique. En France, même si bien sûr il existe un marché pour les deux (il suffit d'aller chez un disquaire, ou un multi-spécialiste pour s'en convaincre), aucun de ces deux genres n'est réellement mis en avant dans les médias grand public¹. Du coup, dans les deux cas, je m'appuie sur mon réseau de connaissances pour me dire ce qui est bien Quelques exemples très cons : Y. Menuhin et H. Hahn, deux très grands violonistes, ont une façon très différente d'interpréter le même concerto de Bach; Dream Theater a fait une reprise de Gangland (de Iron Maiden) qui n'a presque plus rien à voir avec l'original (on passe d'un morceau somme toute classique de heavy metal des années 80 à un pur morceau de jazz); etc. Ce genre de choses ne se trouve pas forcément dans les circuits traditionnels de distribution (je suis presque certain qu'il faut faire partie du fan club de Dream Theater pour espérer récupérer le live des concerts où ils ont fait cette reprise — enfin pourquoi pas hein).

    Tout ça pour dire que ta remarque, en plus de te faire passer pour un élitiste pédant du genre « moi j'écoute un truc que personne d'autre écoute, contrairement à la plèbe », occulte totalement d'autres pans de la création, certes pas libre, mais tout aussi confidentielle. Je sais, je sais, comme le disait Desproges : « c'est affreux le peuple. Je sais, j'en ai parmi mes gens. »

    Je suppose que ce n'est pas ce que tu penses (rapport au côté « supérieur », etc.), mais je commence à en avoir marre de la généralisation à la limite de la condescendance (et bien souvent bien au-delà de la limite) concernant « ce con de peuple ».

    Je vais donner un exemple très très stupide de pourquoi je déteste ça : je bosse dans une université américaine. Un des profs qui y bosse aussi est connu pour être très bon dans son domaine, mais aussi très incisif, et verbalement agressif. La secrétaire qui travaille dans mon service a une petite trentaine et deux enfants. Le prof en question discute avec elle, et en gros lui dit « Quand même c'est un peu con d'avoir fait des gosses avant d'avoir fini ton master, du coup t'as raté tes études. » Elle de répondre : « Au moins j'ai une vie sexuelle » (et, soit dit en passant, elle n'a pas l'air malheureuse dans sa vie en général). Tout ça pour dire, le « bon sens » des uns n'est pas forcément le même que celui des autres.

    Donc ce que tu appelles « le niveau 0 de la réflexion », moi j'appelle ça tout bêtement une simplification. Mais c'est ce qui est génial avec la publication sur internet : on peut poster un commentaire pour faire des précisions.

    [1] Si on considère Radio Classique comme média grand public, alors mon argument est un peu plus faible en ce qui concerne le classique, mais tient toujours la route pour le métal².
    [2] Bien entendu, si on considère les magazines papier tels « Hard-Rock Magazine », on peut aussi arguer que mon argument devient fragile. Cependant, dans ce cas j'estime qu'on touche un public déjà restreint qui veut s'informer sur quelque chose de relativement confidentiel et nécessitant la lecture de magazines spécialisés³.
    [3] Non rien, c'est juste que j'aime bien les notes de bas de page imbriquées. :)

  • [^] # Re: Interessant

    Posté par  . En réponse au journal Répression et peines de prison. Évalué à 1.

    Donc reproduire une œuvre originale (disons une peinture) sans l'accord de l'auteur, et la vendre à quiconque veut bien l'acheter¹, c'est OK, parce que de toute manière ce n'est pas l'originale ?

    [1] Je fais une très grosse distinction entre vouloir se faire du fric sur le dos des gens qui ont fait le plus gros du boulot, et simplement reproduire et distribuer leur boulot pour rien sans aucun avantage pécuniaire (même indirect).

  • [^] # Re: MacOs

    Posté par  . En réponse au journal Pourquoi cet engouement pour les "menu globaux". Évalué à 6.

    Soyons bien clairs: j'aime les smart phones pour le principe (j'en ai pas, pour d'autres raisons), le côté « connecté en permanence », etc.

    Mais le coup du « non mais en fait l'iPhone c'est bien à cause des cartes de fidélité, c'est ça la modernité coco », je trouve ça quand même ridicule. C'est pratique, je ne le nie pas (et j'habite les USA, je sais de quoi tu parles), mais c'est quand même de l'ordre du gadget.

  • [^] # Re: Vrai problème, mauvaise réponse...

    Posté par  . En réponse au journal [Politique] Fillon veut taxer la Grèce^W graisse. Évalué à 2.

    Tous les (pré-)diabétiques de la Terre te remercient de ta bienveillance... :)

  • [^] # Re: Gouverner, c'est prévoir. Limiter internet, c'est régresser.

    Posté par  . En réponse au journal Horreur, enfer et damnation: Fin de l'illimité. Évalué à 2.

    Soit dit en passant, c'est pour ça que je disais que je suis plus pour maintenir en pratique un certain ratio entre plus bas salaire de la boite Vs plus haut salaire, que de mettre un plafond "arbitraire" au pour tout le monde. Et comme je le disais, je sais bien qu'il y aura toujours un moyen d'abuser. Concernant les actionnaires d'une boite, j'estime que la rémunération qu'ils touchent en fin d'année grâce aux bénéfices de la boite devrait, elle aussi, entrer en ligne de compte (dans le ratio). Comment ? Je n'en ai pas la moindre idée...

  • [^] # Re: Ralala

    Posté par  . En réponse au journal 2011: L'Odyssée de la Galaxy Tab, ou Stanley Kubrick sauvera-t-il Samsung ?. Évalué à 3.

    C'est vrai mais dans ce cas Jobs n'allait pas s'attaquer lui-même...

  • [^] # Re: Gouverner, c'est prévoir. Limiter internet, c'est régresser.

    Posté par  . En réponse au journal Horreur, enfer et damnation: Fin de l'illimité. Évalué à 4.

    D'un point de vue idéologie, je rejoins souvent les idées annoncées par le Front de Gauche. Mon problème se situe au niveau de son patron... :) Mélanchon a la sale habitude de couper tout le monde tout le temps, ce qui me hérisse au plus haut point. A contrario Besancenot dont je ne partage pas les idées en général (du moins celles que j'ai pu entendre de sa part) a tendance à accepter le fait qu'on laisse parler les gens, puis quand c'est notre tour, on parle aussi (et surtout, très important, on dit aux autres de fermer leur gueule parce qu'on a eu la politesse de faire de même précédemment — ce que Besancenot a eu à faire à plusieurs reprises).

    On pourrait croire que c'est petit, mais on élit un président non seulement pour ses idées, mais aussi pour qui il est. Il est grande gueule (ça, ça me dérange pas du tout), il monte vite sur ses grands chevaux (ça me gène un peu plus, mais ça passe), et il coupe les gens au point que ça me donne envie de gerber. Et ce d'autant plus que je suis d'accord avec lui sur le fond ! Je me souviens d'un débat avec une femme ultra-libérale, qui a finit par refuser de parler parce que Mélanchon n'a pas arrêté, de bout en bout, de la couper, hausser le ton, etc. C'est, selon moi, avoir une piètre idée de ce que doit être un débat dans une démocratie.

    Pour en revenir au sujet initial, idéalement je suis pour le couplage salaire max (en fonction du salaire médian) + ratio max. Cependant, et même si je peux déjà voir quels abus ça peut induire, en pratique je préfèrerais avoir le ratio max seul. Parce que j'estime que ce n'est pas à l'État de décider ce qui est « suffisant » pour tout un chacun. Je me contente très bien de mon salaire actuel, mais en même temps je conçois que certains considèrent leur salaire comme pas suffisant (même si personnellement j'estime qu'ils n'ont sans doute pas besoin d'avoir autant d'argent dans leur situation, ce n'est que mon opinion).

    Je connais des gens qui bossent dans une boite qui a décidé que le salaire X est suffisant comme salaire max¹, et qu'il n'y a pas de raison de payer plus. Quand on explique aux patrons que « ben oui mais je ne vis pas comme toi à 10 minutes du boulot », apparemment ils se réfugient derrière un « ah mais je veux pas t'imposer où tu habites, c'est ton choix ». Sauf que « ailleurs », ça peut parfaitement être quelque chose comme « à 20 minutes du boulot », sauf que l'immobilier est plus cher à cet endroit-là ...

    [1] Note bien que le salaire en question tourne autour de 2800€/mois nets, ce qui n'est pas non plus un petit salaire, mais n'est pas bien grand non plus. Il faut bien avouer que ça fait quand même cher de payer l'idéologie de ses patrons alors qu'on sait qu'on pourrait être payé mieux pour un certain ensemble de compétences. Par exemple si je vois d'avoir un enfant et que je décide d'arrêter de bosser pendant 3 ans le temps qu'il puisse aller à la maternelle, et que ma copine bosse dans cette boite, ben exit cette option.

  • [^] # Re: Gouverner, c'est prévoir. Limiter internet, c'est régresser.

    Posté par  . En réponse au journal Horreur, enfer et damnation: Fin de l'illimité. Évalué à 2.

    À ce moment-là, je trouverais plus juste d'imposer un ratio maximal sur le plus bas salaire de l'entreprise (a priori le SMIC) Vs le plus haut salaire (probablement le PDG, mais pas toujours). Comme ça, si le grand chef veut voir son salaire augmenter, il est obligé d'augmenter mécaniquement le plus bas salaire.

    Évidemment, ça signifie aussi que les petites boites qui ont cinq salariés peuvent se payer des sommes folles — à condition d'avoir le bénéfice qui va avec.

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 4.

    Honnêtement, à moins d'avoir des tonnes d'objets à la durée de vie extrêmement courte qui partagent le même pointeur (ce qui peut arriver hein), la plupart du temps les opérations atomiques sont noyées dans la masse des autres opérations qui de toute manière doivent accéder à la RAM. De plus, si tu n'utilises pas d'opération atomique, je suppose que tu n'utilises pas de verrous non plus (vu que leur garantie d'atomicité se base sur… les opérations atomiques!).

    Enfin, j'ai envie de dire que si tu veux avoir du comptage de référence personnalisé, le plus simple est de passer par un autre type de pointeur intelligent : intrusive_ptr (qui embarque un compteur de réf et tu dois fournir l'implémentation de certaines méthodes pour décrire comment en profiter).

    Enfin, d'expérience, savoir quand un pointeur partagé ne va jamais être utilisé par un thread est difficile à évaluer. Autant n'avoir que des pointeurs partagés thread-safe, ou aucun, ça simplifie grandement les choses.

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 3.

  • [^] # Re: templates variadiques

    Posté par  . En réponse à la dépêche Le standard C++0x a enfin été voté. Évalué à 4.

    D'après la doc de boost,

    shared_ptr objects offer the same level of thread safety as built-in types. A shared_ptr instance can be "read" (accessed using only const operations) simultaneously by multiple threads. Different shared_ptr instances can be "written to" (accessed using mutable operations such as operator= or reset) simultaneosly by multiple threads (even when these instances are copies, and share the same reference count underneath.)

    Donc si tu as deux threads, l'un qui lit le pointeur et l'autre qui l'écrit, le résultat est indéfini (race condition). À toi de fournir les verrous nécessaires pour que cela n'arrive pas.

    La norme n'impose pas d'être lock-free.

    Cependant, toujours d'après la même page,

    Starting with Boost release 1.33.0, shared_ptr uses a lock-free implementation on the following platforms:

    • GNU GCC on x86 or x86-64;
      • GNU GCC on IA64;
      • Metrowerks CodeWarrior on PowerPC;
      • GNU GCC on PowerPC;
      • Windows.

    If your program is single-threaded and does not link to any libraries that might have used shared_ptr in its default configuration, you can #define the macro BOOST_SP_DISABLE_THREADS on a project-wide basis to switch to ordinary non-atomic reference count updates.

    Donc il existe un moyen d'être partagé sans passer par des instructions atomiques.

  • [^] # Re: consistent

    Posté par  . En réponse au journal Oh mon dieu, ils ont changé l'interface de Blender!. Évalué à 2.

    Euh non. Ce ne sont pas des synonymes du tout, c'est bien le problème. Si ça avait été le cas, j'aurais pas fait le caca nerveux que tu as vu plus haut. :)

    Pour te donner un ordre d'idée, on a les différents modèles mémoire suivants:

    • Sequential Consistency
    • Weak Consistency
    • Release Consistency
    • Cache Consistency (aka « Coherence » — toujours en Anglais hein)
    • Causal Consistency
    • Entry Consistency
    • Consistency (ma façon de dire etc.)

    Je ne vais pas commencer à faire un cours magistral sur les modèles mémoire, mais en gros si tu dis que tu veux utiliser « Coherence » comme modèle de « memory consistency » sur un système à mémoire partagée et distribuée, les gens vont te faire de gros yeux, t'insulter copieusement, et te demander comment tu espères faire ça de sorte que ça passe à l'échelle, etc.

  • [^] # Re: consistent

    Posté par  . En réponse au journal Oh mon dieu, ils ont changé l'interface de Blender!. Évalué à 3.

    Bon et je me répète encore une fois à chaque fois que je vois un commentaire sur « consistent » / « coherent » → « cohérent » : bordel de merde, est-ce que quelqu'un pourrait me trouver la traduction avec les bonnes nuances de « consistent » et « coherent » en VF ? Je m'explique : il existe ce qu'on appelle des « memory consistency models ». Parmi ceux-ci, il existe un modèle qui s'appelle « (cache) coherency », qui a un sens bien particulier. Du coup je me retrouve comme un con à garder les noms anglais parce que je n'ai jamais vu quiconque donner une version française correcte.