fearan a écrit 7242 commentaires

  • [^] # Re: Nuance

    Posté par  . En réponse au journal Le Parisien attaque un blog pour contrefaçon, ou comment se tirer une balle dans le pied. Évalué à 1.

    l’inceste

    Pas chez les pharaons, et aujourd'hui encore tu trouves des gens pour supprimer cette interdiction, donc difficile de dire que c'est intrinsèquement mal.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Nuance

    Posté par  . En réponse au journal Le Parisien attaque un blog pour contrefaçon, ou comment se tirer une balle dans le pied. Évalué à 6.

    et Dieu merci nous sommes aujourd'hui au-dessus de cela

    C'est la morale d'aujourd'hui, rien d'intrinsèque, merci de le reconnaitre.

    Tu vois un mendiant, qui n'est pas agressif, que tu ne connais pas, que tu ne reconnais pas, dont tu n'as jamais entendu parler, que tu n'as jamais vu, entendu, senti, etc., auparavant. tu t'approches de lui et tu lui mets un coup de poing. Eh bien ça, tu peux le tourner comme tu veux c'est mal et ça doit être puni.

    Dans certaines cultures c'était leur rendre service que de leur pourrir leur vie actuelle pour qu'ils aient une meilleur réincarnation, mais sans aller jusque là, pour rester coté occidental, un bon nombre de ville font la chasse au mendiant via des arrêté anti-mendicité (pour les plus directe), ou par l'utilisation de produit à l'odeur désagréable. Enfin certains prétendent que ça poussera le mendiant à se trouver un job et que c'est bien.

    Autre cas assez simple. Le maire d'une ville choisit pour construire un rond-point une société précise, implantée hors de cette ville, et plus chère que son concurrent local, pour la seule raison que cette société lui a versé une somme intéressante sur son compte personnel. Et bien ça, c'est mal et ça doit être puni.

    Pareil, c'est culturel, pour certains si tu n'as pas privilégié la famille c'est mal, si c'est pour le pot de vin, certains te dirons que le concurrent pouvait lui aussi payer du pot de vin, certaines cultures fonctionnent comme cela, et ce n'est pas universellement reconnu comme mal.

    Encore plus simple : suite à une inattention quelconque, un automobiliste heurte un piéton, et le blesse, ou le tue peut-être. Effrayé, il prend la fuite.

    Ben non, faut être con si y a pas de témoin ;), j'ajouterai s'il est effrayé il ne fait pas un choix réfléchi, ce ne peut donc pas être considéré comme 'Mal'; Accessoirement si ça te coûte le dernier point de ton permis et que c'est ton moyen de subsistance pour toi et ta famille, sinon c'est la rue, tu trouveras des gens pour te dire que c'est irresponsable de s'arrêter. Tu peux aussi être le chauffeur d'un gars menacé de mort, et t'arrêter serait le livrer a ses bourreaux.

    On peut trouver des exemples semblables d'actions qui sont intrinsèquement bonnes, par exemple aider une vieille dame qui s'est cassé la cheville en trébuchant sur un trottoir (c'est qu'à partir d'un certain âge, les os peuvent être très fragiles).

    Au contraire tu contribue à préserver la présence des vieux sur la place publique, voire même leur espérance de vie et donc au trou de la sécu. D'autre dirons qu'en faisant cela tu prends le rôle de ses descendant et donc que c'est Mal de te substituer à eux. Ou que c'est une épreuve/punition du Divin et que c'est mal de t'interposer entre lui et l'autre. Ou encore tu as perdu du temps que tu aurais pu consacrer au travail/ ta famille

    Enfin je le redis, tu as une vision très moderne et occidentale de ce qui "est bien" ou mal. Reprends toutes les religions, cultures, aux différentes époques, si tu trouves une action qui a toujours, selon toutes les époques, tous les lieux, été considéré comme mal, et ce quel que soit la classe sociale des protagonistes, alors tu auras un truc qui s'en approche; jusqu'ici tu n'as présenté que des exemple moderne de ce qu'on considère comme mal.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Nuance

    Posté par  . En réponse au journal Le Parisien attaque un blog pour contrefaçon, ou comment se tirer une balle dans le pied. Évalué à 7.

    Justement, et il est des choses qui sont intrinsèquement bien ou mal. Par exemple, dans une cour d'école, taper sur un camarade plus petit pour lui prendre son goûter, ou simplement pour s'amuser, c'est mal.

    Gni???
    Non c'est une morale occidentale moderne. Je suis même persuadé que tu peux trouver des gens pour te dire que c'est bien parce que ça forme le caractère où lui apprends à se défendre, où que c'est normal de se faire piquer son goûter par plus fort que lui, et que si l'issue de la confrontation était connue d'avance, qu'il est même anormal qu'il ait cherché à le défendre.

    Si en plus tu transposes ton raisonnement à des personnes morales, tu trouveras encore plus de personnes pour défendre le gros.

    Je ne connais pas une seule action qui soit intrinsèquement mal.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: En complément de la sauvegarde,

    Posté par  . En réponse au journal Virus qui montent : rançon contre données. Évalué à 0.

    Faut arrêter la mauvaise foi tu parles du cloud pour remplacer les disques de backup, donc il ne reste qu'une copie (les données originales);

    Quant à faire un backup sur un disque déconnecté, ça évite qu'un petit malin aille supprimer les backups distant une fois l'ordi infecté.

    Bon ensuite ça c'est la théorie, en pratique à moins d'avoir des données très sensibles je me contenterai d'un backup sur le cloud (chiffré préalablement par mes soins)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: PRISM

    Posté par  . En réponse au journal Munich ferait marche arrière. Évalué à 10.

    Et faudrait un peu arrêter la paranoïa avec prism, ça sert surtout à s'en mettre plein les poches aux sites qui en parlent sans arrêt.

    Sachant qu'avec Échelon la NSA renseignait les boites américaines pour qu'elles puissent remporter des appels d'offres face au concurrent américains, sachant que la NSA ne s'occupe que de l'intérêt des USA, sachant qu'avec prism la NSA peu avoir des renseignement poussés sur un grand nombre de gars à responsabilités, sachant que la NSA sait très bien faire pression, l'existence de PRISM est un problème.

    Le laisser en place, ne rien faire contre alors qu'on est théoriquement élu pour défendre les intérêts du peuple qui l'a élu ( ou selon certains, ses électeurs), est une trahison.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: bépo…

    Posté par  . En réponse au message Agencement clavier efficace. Évalué à 3.

    tiens un utilisateur d'emacs ;)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: logiciel de rançon

    Posté par  . En réponse au journal Virus qui montent : rançon contre données. Évalué à 7.

    être anonyme n'est pas (encore) interdit par la loi (sauf dans de rare exceptions). Tuer/blesser volontairement l'est (sauf dans de rare exceptions), et ne t'en déplaise une arme a feu est faite pour porter atteinte à l'intégrité physique d'un être vivant. Que tu t'amuses avec sur des objets n'est pas pertinent, c'est la destination de l'arme lors de sa fabrication qui importe. La loi doit s'appliquer à tous sans faire un cas par citoyen.

    Il est à noter que la possession d'arme n'est pas interdite, elle est soumise à réglementation.

    Tu peux aussi posséder des armes de guerre démilitarisés.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: En vrac

    Posté par  . En réponse au journal Pourquoi empaqueter KDE prend-il du temps ?. Évalué à 2. Dernière modification le 20 août 2014 à 14:58.

    Je vais peut être dire une connerie, ne connaissant pas le type de bar
    mais les versions suivantes ne corrigeraient pas le problème ?

    // dans le cas d'un tableau
    foo(*(bar + i+ 1 ), *(bar+i+2), *(bar+i+3));
    bar+=3;
    
    // ou 
    
    typeMuche &p1=bar[++i];
    typeMuche &p2=bar[++i];
    typeMuche &p3=bar[++i];
    foo(p1,p2,p3);

    En C, comme en C++ (et comme en java), j'ai appris que les ++ et—ne s'utilisent que lorsque l'élément incrémenté n'est référencé qu'une seule fois dans la ligne, sinon le comportement est indéfini pour la majorité des gens relisant le code :)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Quelqu'un peut-il m'expliquer le problème avec l'ABI de KDE

    Posté par  . En réponse au journal Pourquoi empaqueter KDE prend-il du temps ?. Évalué à 2.

    gné?

    Tu déclare toutes tes classe avec le mot clé struct? Parce que si tu défini ta classe avec le mot clé class, c'est pas publique.

    Tu confonds peut être avec le java où ne rien mettre c'est protected, et où il faut répéter avant chaque déclaration.

    En c++ tu fais juste

    public :
       void jaimeLesChatons();
    
    protected: 
       void mettreLeCouvert();
    
    private:
       void cuisinerChaton();
       void jeterLesOs();

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Clé privée ? copiée ?

    Posté par  . En réponse au journal Virus qui montent : rançon contre données. Évalué à 4.

    en même temps si le virus te supprime tes données ça va se savoir et le nombre de rançons payés va être plus faible; par contre ce qu'il pourrait faire c'est un truc aléatoire (genre 1% de chances de tout supprimer)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Interopérabilité

    Posté par  . En réponse au journal Munich ferait marche arrière. Évalué à 8.

    Il n'empêche qu'être fan de MS, n'implique pas que la société l'utilise comme levier.

    Je suis fan de linux, je me bas pour l'utiliser en milieu pro (car c'est un OS prêt pour le travail), c'est pas pour autant que je suis en cheville avec Canoncial, par contre pour la suze…

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    Je dois dire que je me suis bien marré en lisant l'article, ça m'a rappelé le temps où je jouait avec les boost::bind*. Il faut bien avouer que le gars à un certain niveau en C++, mais je m'en veux d'avoir tout lu, maintenant je suis incapable de savoir si je pourrai trouver la solution moi même; bon ce qui est certain c'est que j'aurai aussi pas mal testé différents trucs.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    • c'est court
    • ça évite de rajouter un mot clé (lambda)
    • sur un clavier qwerty c'est un geste :)
    • aucune chance de mal interpréter le truc dans le contexte en question (point de vu parser)

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    petite question aux habitués du python : itère t'on sur la totalité de la liste, ou s'arrête t'on dès qu'on choppe un True?

    même question avec

    if any([i < 0 for i in foo])

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2. Dernière modification le 24 juillet 2014 à 16:50.

    pour le liste=range(50)
    il faudra utiliser std::generate (http://www.cplusplus.com/reference/algorithm/generate/) qui permet de faire plus compliqué ou iota

    #include <vector>
    #include <numeric>
    
    std::vector<int> v(50) ; 
    std::iota (v.begin(), v.end(), 0);

    A noter que ça marche avec un int, mais avec tout objet ayant aussi redéfini T &operator++() :D

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 6.

    ah pardon, j'avais oublié que certains codaient sur un OS pas prêt pour le travail ;)
    (oui bon j'ai 8H d'avance ;))

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 1.

    la question n'est pas d'apprendre spécifiquement une recette par langage, mais un réflexe de que faire avec la ressource une fois qu'elle est consommée, en Java (donc jvm) InputStream, tu es sensé faire un close après avoir lu le flux.
    Pareil en VB (donc Excel) : http://msdn.microsoft.com/en-us/library/system.io.filestream.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1.

    Et si algorithmiquement, c'est un point sans intérêt, lorsque l'on passe à la programmation cela fait parti de l'apprentissage du langage, que ce soit C, C++, Python, perl, Java, VB…

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    arggh je me rends compte que la lambda est pas passé, je reprends donc

    if ( std::any_of(foo.begin(), foo.end(), [](int i){return i<0;}) )

    Le crochet a été interprété comme un lien wiki vide…

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 1.

    Le problème n'est pas le choix de la structure ou d'algo, mais la non libération de la ressources (par exemple le supprimer du Set/List en java), c'est une problématique avec toutes les ressources, tout comme on apprends à faire un close après un open, c'est exactement le même mécanisme. J'ai pris cet exemple parce que j'y ai été confronté récemment, mais le problème est présent a tous les niveau (par exemple pas de close d'une connexion ftp, ou d'un fichier)

    Si j'ai bien suivi, le but n'est pas d'apprendre à bidouiller, mais a programmer. La contrainte de devoir gérer manuellement les ressources permet de structurer, éviter d'avoir une représentation du dieu des pastafariens en guise de doc d'architecture.

    Bref un fois que t'a passé le passage obligatoire pseudo code sur feuille (ou tu peux dire trier le tableau trucmuch dans l'ordre croissant), tu peux ensuite passer à l'implémentation avec un langage quelconque et si tu utilises une ressources (un fichier par exemple), il faut la libérer après usage. C'est un réflexe qui se prends dès la première utilisation de ressource et qu'il faut pas attendre d'avoir un gros projet pour se la poser, c'est trop tard, les mauvaises habitudes ont la vie dure.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon avis à moi et rien qu'à moi

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 4. Dernière modification le 24 juillet 2014 à 10:00.

    Mais comment peut-on croire qu'un langage qui impose d'assimiler la POO pour eécrire le moindre truc, qui supporte le multi-héritage

    #include <iostream>
    
    int main(int argc, char *argv[])
    {
      std::cout << "Hello World" <<std::endl;
    }

    Où vois tu qu'il est nécessaire d'assimiler la POO?
    De même le mutli héritage, n'est absolument pas nécessaire pour coder en C++, c'est simplement disponible le jour où tu en aura besoin. Bref, critiquer le C++ sur des concepts très avancés (qui en plus sont logique une fois qu'on connait un minimum le langage), inutile à l'apprentissage de base. S'il était nécessaire de maitriser tous les aspect d'un langage de programmation pour l'utiliser, ou qu'il était nécessaire de tout apprendre d'un coup, je suis au regret de t'informer qu'a part le go, oOok, et l'assembleur et quelques rares exceptions (dont le python ne fait pas partie) aucun langage ne correspond à la requête.

    Ecrire une liste et la manipuler en une ligne.

    if ( std::any_of(foo.begin(), foo.end(), {return i<0;}) )
    ou globalement tout ce que tu peux trouver ici :
    http://www.cplusplus.com/reference/algorithm/
    avec notamment :
    http://www.cplusplus.com/reference/algorithm/for_each/

    Votre algorithme transparait immédiatement avec l'indentation. Plus besoin de "finsi", plus besoin de déclarer les types …

    Mais qu'est ce qui t'empêche d'indenter ton pascal?

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    Le printf debugging c'est un style de debuggage que ce soit a coup d'echo, std::cout, System.out.println, print… Souvent considéré comme néfaste, car il change le code exécuté, rendant les erreurs aléatoires différente de l'exécution traditionnelle (ce qui généralement est une invocation à valgrind)

    Dans les autres méthode utilisés tu as le TAF (Try And Fail) qui consiste à tester différents paramétrage / ordonnancement / Majuscule/minuscule, qui est très pratique lorsque tu découvres des classes graphique peu ou mal documentées.

    Enfin plusieurs minutes a linker ? Je ne sais pas sur quelle brouette tu bosses, mais sur un code déjà compilé 1 fois, avec tous les .o le link sur un petit projet d'1,3 million de ligne est inférieur à la minute.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    J'ai appris le C++ en IUT, et je n'ai pas vu les catastrophes que tu décris, j'ajouterai que pour les projet universitaire, il y a valgrind qui est plus que suffisant pour pointer les boulettes (ça marche aussi en milieu pro, mais faut pas être pressé ;) )

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    Il y a surtout 750 façon de gérer sa mémoire en C++

    Ah? je suis curieux de voir l'énumération ;), et surtout dans quel cas tu te retrouves avec un mélange des genre lors de cours.

    Pour avoir fait pas mal de C++, et continuer à en faire tous les jours ouvrés, je n'ai pas vu de mélange des genre que tu évoques. Si tu parles des différentes façons d'implémenter l'operator new, j'ose espérer que le gars qui se permet de le faire sait ce qu'il fait, si c'est le mélange de shared_ptr (et leur contrepartie weak_ptr), auto_ptr, uniq_ptr, pointeur, référence, tu arrives toujours aux mêmes questions, et ce quel que soit le langage :
    * A qui appartient l'objet? (fait il bien le delete ?)
    * d'où vient il ? si c'est d'un autre objet/bibliothèque (via make, creat…), y'a t'il un transfert de propriété ?

    Ça fait 9 ans que je fais du C++ en milieu professionnel, je n'ai jamais eu de problème la dessus, et maintenant qu'on a les uniq_ptr et shared_ptr dans la stl, c'est encore plus simple.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Pas de "bonne" réponse

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 3.

    Non la bonne conception est la base de toutes programmations, c'est un réflexe qu'il faut prendre dès le début. Ce n'est pas un problème d'optimisation, mais un problème général. Typiquement tu vas avoir un Set de session (ou une Liste) qui va stocker la collection de sessions, et en crée une à chaque nouvelle ouverture de sessions.

    Tu vois le problème? quelque soit les optimisations, tu finiras toujours par avoir un java heap space. Qui code en java et connait les java.lang.ref.WeakReference ? J'ai trop vu de personne penser que le ramasse miette était un outils formidable capable de deviner quand un objet ne sera plus référencé.

    Ce n'est pas une optimisation, je ne parles pas de grappillage d'un octet par ci par la, mais d'avoir une notion de qui possède quoi, quand créer quoi, quand détruire, attendre avant de le faire revient à dire jamais, les mauvaises habitudes restent.

    si on parle d'apprendre les bases de la programmation, oui l'appentissage de comment écrire du code pour que la JVM puisse se débrouiller correctement avec en fonction du type d'appli que tu vas écrire est une premature optimisation

    Non on parle de réflexes de programmation, de question à se poser avant même de coder, et ce quel que soit le langage, j'ai pris java heap space comme exemple, par ce que c'est ce a quoi j'ai été confronté plusieurs fois, mais j'ai eu la blague de plus de mémoire dispo sous python, de memory leak en C, C++… Il ne s'agit pas de politique spécifique de code (si pour toi faut attendre de plus avoir de mémoire pour se poser la question de l'appartenance des variables, j'espère ne jamais tomber sur ton code, ça doit ressembler un un plat de spaghetti)

    L'énorme avantage du C++, c'est que tu peux prédire lorsqu'un destructeur sera appelé, et tu peux suivre la séquence à l'aide de printf debugging.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent

  • [^] # Re: Mon expérience

    Posté par  . En réponse au journal Python comme premier langage de programmation ?. Évalué à 2.

    Je répondais au fait que tu disais qu'il était essentiel d'apprendre le cycle de vie d'un objet, ce qui n'est pas au programme au tout début.

    d'un objet non, d'une donnée oui. Tu vois la visibilité des variables, le passage en paramètre, la limitation des scope (for( int i = 0…)
    i n'est plus visible/vivant après le for (sauf si le compilo ne respecte pas la norme). Si tu déclare dans le main

    auto revenu=42;

    il n'est pas visible de la fonction Tartempion, a moins de le passer en paramètre. Même si c'est des type primitifs, la question se pose quand même. J'ai dit objet j'aurai du dire variable.

    Il ne faut pas décorner les boeufs avant d'avoir semé le vent