fearan a écrit 7161 commentaires

  • [^] # Re: wikileak n'a plus aucune credibilite

    Posté par  . En réponse au journal Wikileaks a retrouvé une partie des mails de Hillary Clinton. Évalué à 5.

    Te rends tu comptes que le gars a dit qu'il en avait rien a foutre des accords de l'OTAN et que si Poutine envahissait l'europe c'etait le probleme des europeens pas le sien meme (surtout) si il etait president.

    Et alors? Tu crois vraiment que la Russie reste aux portes de l'Europe grâce aux USA? Tu croies vraiment que les USA se risqueront à un conflit direct avec la Russie? Tu crois vraiment qu'ils ont les capacités de déployer aussi loin et d'égaler la Russie sur son sol local?

    La réponse est non, car si les USA entrent en affrontement direct avec la Russie, c'est la destruction mutuelle. Et petit indice, historique, un ancien président avec la même analyse; un certain général, et il a pourvu au petit détail qui nous évite un conflit direct.

    Je te signale aussi que la Daesh est issu du conflit en Irak (Bush junior pour la destruction totale des infrastructure, je ne vois pas comment Obama aurait pu se démerder avec, mais laisser l'Arabie Saoudite acheter et vendre des armes n'était clairement pas une bonne idée.

    Le conflit Syrien traine en longueur car on refuse de laisser Assad en place, sauf que l'alternative qu'on propose, c'est Al-Qaïda, armée par les américains…

    Alors certes la démocratie, c'est mieux que Assad, qu'il vaut mieux mourir libre que vivre à genoux, mais va en parler aux milliers de morts qu'on cause pour remplacer une dictature par une autre.

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

  • [^] # Re: Wikileaks n'est plus, évitez d'aller lire c'est du voyeurisme peu honnête

    Posté par  . En réponse au journal Wikileaks a retrouvé une partie des mails de Hillary Clinton. Évalué à 4.

    Et l'exclusion des russes était purement politique, tous les athlètes olympique capable de décrocher des médailles sont dopés. le CIO le sait, il en autorise même certains à l'être avec des excuses à la con, comme ils ont de l'asthme, ils ont une maladie du cœur…

    Le fait que le site soit orienté ne change rien à la véracité ou fausseté des fuites.

    d'ailleurs wikileaks à aussi sorti des trucs sur la corruption en Russie.

    http://www.lexpress.fr/actualite/monde/corruption-a-tous-les-etages-en-russie_941826.html

    Note bien c'est possible que ce soit pour nettoyer un peu quelques amis devenus encombrant.

    La question de la crédibilité doit être sur les documents, pas le média.

    Quant au ratio Russie/USA, peut être que si on était mois hypocrite sur nos actions à l'étranger (ou même en interne), on aurait moins de document à fuiter.

    Typiquement nos frappes sont chirurgicale et ne touchent pas les civiles/otages, alors que les russes les ranges dans les pertes acceptables.

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

  • [^] # Re: Wikileaks n'est plus, évitez d'aller lire c'est du voyeurisme peu honnête

    Posté par  . En réponse au journal Wikileaks a retrouvé une partie des mails de Hillary Clinton. Évalué à -1.

    Montre moi un politicien qui soit tout "blanc"

    Moi j'aurais tendance à dire que si Trump est élu à cause de Clinton, c'est tant mieux! Et ce sur plusieurs points.

    • Si Clinton se fait battre c'est uniquement à cause de la batterie de casserole qu'elle a au cul. Si c'est Trump qu'il y a en face, c'est parce que son camp estimait que l'élection était perdue d'avance, et qu'il n'ont pas mis de gars valable en face. Si elle perds, peut être que la prochaine fois il chercheront un poulain avec moins de casseroles.
    • Trump est un mauvais gestionnaire, mauvais diplomate et une grande gueule misogyne et probablement raciste; il s'est prononcé contre le traité transatlantique et contre l'ingérence globale des USA dans le monde (mise à part sur l'Iran qu'il souhaite rayer de la carte); Bref il permettra à l'Europe de reprendre un peu de place sur le plan international.
    • Enfin la CIA a déjà éliminé un certain JFK, elle peut très bien recommencer s'il devient trop encombrant.

    Bref si on veux éviter d'avoir des pourris faudrait peut être arrêter de voter pour eux.

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

  • [^] # Re: Tout est normal

    Posté par  . En réponse au message Mésaventure avec scp . Évalué à 2.

    Naïvement je pensais que le a.* était interprété par scp.

    Et on refait dans tous les programme l'évaluation et l'expansion de paramètres :P Si tu veux éviter une évaluation des */? il faut utiliser des simple quotte ou double quotte.

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

  • [^] # Re: Mesures préventives

    Posté par  . En réponse au journal [Bookmark]Les liens vers des contenus sont illégaux, sont illégaux (sous 2 conditions). Évalué à 2.

    Oui c'est l'idée. Vu que le lien qui pointe vers un truc illégal devient de facto illégal, le point qui pointe sur le lien 'illégal' est illégal; par transitivité on en arrive à un blocage assez large du web.

    Enfin faut pas oublier que c'est pour les machins à but lucratif et qu'il faut avoir connaissance de l'illégalité, mais on va finir par arriver dans un flou assez marrant, enfin je me comprends…

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

  • [^] # Re: Mesures préventives

    Posté par  . En réponse au journal [Bookmark]Les liens vers des contenus sont illégaux, sont illégaux (sous 2 conditions). Évalué à 2.

    Super, et on on repart pour 10 ans de procédures pour la question de la transitivité des liens :P

    Enfin si ça peut te rassurer, ça existe déjà avec tous les systèmes de type multi upload :P, ou les adfly et autre saloperie du genre.

    Note bien de mon point de vue, si le lien qui pointe vers le contenu pointé est illégal, alors le lien qui pointe sur le lien l'est tout autant.

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

  • [^] # Re: Je trouve que c'est plutôt équilibré

    Posté par  . En réponse au journal [Bookmark]Les liens vers des contenus sont illégaux, sont illégaux (sous 2 conditions). Évalué à 6.

    'avocat t'aura mis le texte de loi interdisant (tout ce qui n'est pas interdit est autorisé)

    Non tu reçois une lettre type indiquant les articles de loi tout à fait valable pour une vidéo/musique/photo qui en fait n'a rien à voire avec l'objet défendu, mis à part un mot clé genre 'insaisissable', 'thunderstone', 'Rio'…

    Ou alors des bandits qui se sont approprié des éléments libre de droit. (récemment un photographe à eu quelques soucis avec des photos qu'il avait lui même fait, qui a reçu des demandes de retrait de ses propre photos, et qui s'est rendu compte que la société s'était approprié ses photos… )

    Si tu as un site à fort fréquentation tu vas devoir prendre des personnes à plein temps pour faire une première verif, ou alors tu fais comme YT, tu vire dès la demande, et si le gars qui s'est fait retirer sa vidéo râle tu la remet. Ce qui fait que si le truc est un peu vieux ou que le gars ne s'en occupe plus, tu finis par avoir un océan de lien morts parce que ce que tu cherchais a eu le malheur d'avoir un mot clé ou un nom proche de ce qui est 'défendu' par certaines société de protection de droit (ne me demande pas ce que je cherchais, j'ai déjà oublié).

    Ce que tu défends n'a de sens que si une société qui fait une demande de retrait est condamné pour les demande de retrait abusive. Or ce qu'on a dans la loi, c'est que si elle fait sciemment une demande abusive qu'elle est condamnable…

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

  • [^] # Re: Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3.

    ton ui va devoir gérer chacun de ses cas dans un enchaînement de if/else/if

    Plutôt la couche en dessous avec des catch que des if/else if

    Certaines doivent être transformée avant car n'intéresse pas le niveau plus haut, mais si tu choppes ton exception pour juste la renommer "parce que", je m'insurge.

    Typiquement si ton parseur de nombre dans le xml te pête à la gueule te disant juste NumberFormatException, ça à du sens de la chopper au dessus disant que c'est le parsing xsd qui vient de foirer en ajoutant ligne+colonne de l'erreur. Par contre chopper toutes les Exception lors de la lecture d'un fichier pour les transformer en JYarrivePasException, non. Les actions à entreprendre peuvent dépendre du type de l’exception; donc pas au niveau de L'UI qui ne devrait faire que de l'affichage, mais juste en dessous. (par exemple ouvrir une fenêtre avec un gros point rouge sur la ligne qui a planté le parsing).

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

  • [^] # Re: Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3.

    L'ui doit remonter une information à l'utilisateur pour lui indiquer que quelque chose s'est mal passée. Tu peux te contenter d'un catch all laissant un message laconique, ou essayer d'être plus fin et donner des information utile.

    Enfin on parle de IOException, ça peut surtout être un FileNotFoundException.

    Et ça typiquement, c'est le truc que tu peux filer à l’utilisateur qui vient de sélectionner le fichier, avec une localisation qui va bien; à la rigueur avec un petit message explicatif que le fichier à été déplacé ou supprimé depuis qu'il a cliqué.

    Pareil si c'est un soucis d'encodage du fichier ou du format qui n'est pas le bon, c'est l'utilisateur qui à la main sur ce qu'il donne. Si y a un problème de verrou sur le fichier c'est encore lui qui sait quel fichier il peut fermer.

    Alors on peut lui filer un ApplicationException, avec le code du message qui va bien pour le traduire au moment de l'afficher, mais si tu avais prévu de faire des actions différente en fonction de l'erreur tu dois recréer une exception par type que tu veux traiter différemment.

    Et puis la fois où tu veux réutiliser des fonctions qui ont encapsulé les erreurs, mais que tu te rends compte qu'il faut en fait en spécialiser une tu te retrouves à toucher ton ancien bout de code qui n'a rien à voir avec ton évol.

    Alors évidemment tu peux dire que toutes tes fonctions te renvoient une GeneralException, mais au final ça ne donne aucune information.

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

  • [^] # Re: Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 4.

    Si tu veux avoir un message un minimum propre dans ton interface il va falloir avoir une description de l'erreur plus intelligente que ça.

    Typiquement la localisation de l'erreur se fait au niveau de l'interface (dernier item de la chaine avant l'utilisateur), et c'est à ce moment là qu'elle est catché; devoir rajouter tout le long des couches le throws IOException, ou une encapsulation de l'erreur dans une autre n'apporte rien.

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

  • [^] # Re: Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3.

    Moui enfin catcher une exception pour la renommer en cours de route pour en faire une qui dit exactement la même chose qui est relancé ensuite… Comment dire… Beurk!

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

  • [^] # Re: je me disais

    Posté par  . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à 5.

    Non, la première fois tu le fais sur l'os, puis sur office, puis sur l'antivirus, puis… tu dois bien pouvoir recommencer 2/3 fois, en prenant soin de changer l'os (version pro, familiale, multimédia…)

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

  • # je me disais

    Posté par  . En réponse au journal [Bookmark] 8 ans de procédure pour... rien. Évalué à 5.

    Vu que le constructeur propose d'annuler la vente, est ce qu'il ne serait pas possible d'aller en magasin, acheter un ordinateur, refuser le cluf et le ramener le lendemain?

    Si on est suffisamment nombreux ça finira peut être par bouger? Sans oublier que ça augmentera le nombre de pc reconditionnés :P

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

  • [^] # Re: ca depend

    Posté par  . En réponse au message Windows - Logiciel libre de nettoyage ?. Évalué à 4.

    Si un logiciel est aussi bavard à sa désinstallation, c'est généralement une bonne raison de le virer, il y a de très forte chances qu'il soit un logiciel de pub. :)

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

  • [^] # Re: ca depend

    Posté par  . En réponse au message Windows - Logiciel libre de nettoyage ?. Évalué à 2. Dernière modification le 06 septembre 2016 à 12:06.

    je ne connais pas trop les moutures > 7, mais généralement

    • un coup ce ccleaner pour nettoyer le tout.
    • un tour dans les services Windows+r services.msc, et désactiver tous les services qui servent a rien peut aider.
    • Un tour dans les programmes installés pour virer tout ce qui est toolbar ou adaware qui trainent.

    et en désespoir de cause un msconfig pour désactiver ce que les étapes précédentes n'ont pas réussi.

    Mais évidemment c'est des préconisation de windows 7

    Ah oui si le disque C: est plein, faire le ménage !!!

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

  • [^] # Re: Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 2.

    Alors là c'est qu'on ne passe pas sur les mêmes bases de codes; si on a un e.printStackTrace(), c'est que c'est normalement un cas qui ne doit JAMAIS arriver; si cela arrive, les unités de parse de log te remontent le machin directe chez le dev pour qu'il regarde le cas.

    Par contre comme les procédures pour installer un patch sont assez compliqué à mettre en oeuvre, on préfère garder le système en état de fonctionnement.

    J'ajouterai que ton code, ça risque de ne pas compiler (value peut être non initialisé), il faudrait au moins le mettre à 111, 421 ou 666 ou encore, ajouter un throw :)

    tiens un truc amusant pour chopper un constructor que l'on sait exister avec ensuite utilisation de ce constructor j'ai ça dans mon catch : InstantiationException | InvocationTargetException | NoSuchMethodException | IllegalAccessException

    ça en fait pas mal pour rien…

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

  • [^] # Re: Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3.

    Plutôt qu'un serr tu plante ton processus par ce que tu viens de te retrouver dans un état impossible.

    C'est pour cela que j'ai tendance à préférer le stacktrace qu'on retrouvera dans les logs; ça évite de planter toute l'appli et de déconnecter sauvagement tous les utilisateurs du serveur métier.

    Tu utilises, ou fait, une API adaptée a ton besoin

    Merci, mais je ne vais pas recoder la roue; je fais avec les briques que j'ai; je ne vais pas coder une api par état non plus (telle api à utiliser dans ce cas là, telle api dans celui ci…

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

  • [^] # Re: audio casque

    Posté par  . En réponse au journal Grosse fatigue.... Évalué à 4.

    ça me rappelle une pub ça ;)

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

  • [^] # Re: Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3.

    Hum ignoré ou printStracktrace(), dans les deux cas tu as merdé ton design quelque part.

    Je sais pas, je récupère un XML, généré par l'appli, que je parse. Les chance que ce xml ne valide pas le schéma, qu'il soit mal formé ou n'ait pas la balise attendu est nulle, je dois vraiment polluer le code? Et je met quoi ? serr ("Oups si on est la c'est qu'on a vraiment merdé" );

    Là j'ai pris un exemple tangent, mais imagine que c'est une regex en dure dans le code, faut aussi se farcir de la gestion d'exception pour dire qu'elle est mal rédigée?

    Bref lorsque tu codes, tu peux faire des assertions sur ce que tu as en entrée, et tu peux être certains que là où tu passes tu n'auras jamais l'exception; devoir alourdir le code et provoquer des changement de scope (et donc de visibilité) pour des cas qui n'arrivent jamais n'est vraiment pas un gain.

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

  • [^] # Re: Liberté de l'utilisateur

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3.

    à noter que l'exemple n'est vraiment pas top,

    si on fait if( machinOptional ), on peut ensuite utiliser *machinOptional, le value() fait une verif supplémentaire qui n'est pas nécessaire.

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

  • [^] # Re: chauve qui peut

    Posté par  . En réponse au journal "Tant pis, ce seront nos enfants qui paieront". Évalué à 2.

    Tu peux aussi ajouter le cas du dirlo qui se barre avec la caisse.

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

  • [^] # Re: Liberté de l'utilisateur

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 2.

    Crée ton optional avec levée d'exception si tu y accède alors qu'il n'existe pas, ou utilise value_or pour avoir une valeur avec du sens; je ne vois pas vraiment ce que l'on peut faire de mieux.

    Il vaut mieux lire l'interface exposée ici pour se faire une idée.

    http://en.cppreference.com/w/cpp/experimental/optional

    pour son exemple

    std::optional<D> foo(Arg arg)
    {
        auto fResO = f(arg);
        if(!fResO)
        {
            return std::optional<D>{}; // un optional vide
        }
    
        auto fRes = fResO.value();
    
        auto gResO = g(fRes);
        if(!gResO)
        {
            return std::optional<D>{}; // un optional vide
        }
    
        auto gRes = gResO.value();
    
        return std::optional<D>{h(gRes));
    }

    Je me contenterai de

    std::optional<D> foo(Arg arg)
    {
      try{
        return make_optional(h( g( f(arg).value() ).value())) ;
       }
       catch(Machin e)
       {
        return std::optional<D>();
       }
    }

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

  • # Mauvaise connaissance du c++

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 5.

    Cependant, rien ne force le développeur à gérer les exceptions et rien n'indique à celui-ci qu'une fonction peut lancer une exception, si ce n'est une lecture scrupuleuse de la documentation. Certains langages, comme Java, proposent un système d'exception qui force le développeur à gérer celles-ci ou à les propager explicitement à la fonction appelante.

    Pour la stl, les exceptions sont rare uniquement si tu le réclame, optional à un option de construction qui lui permet de jeter une exception lorsque tu utilisas values() si tu lui réclame.

    Tu as aussi le value_or() qui permet d'avoir une valeur par défaut si on a rien. C'est pareil avec les ios, les dynamic_cast, les conteurs (at() au lieu de operator[]… )

    Le fait d'avoir le choix est une bonne chose, je ne compte pas le nombre de

    Machin ma = null ; 
    try{
      ma=pouet() ;
    }catch(ExceptionMachin ignored){}
    }catch(ExceptionBidule ignored){}
    }catch(ExceptionTruc ignored){}

    que je croise en java pour devoir gérer le fait que l'on sait qu'on a pas d'exception dans ce cas précis, mais qu'on doit faire comme si. Avec en prime le fait que le compilo pense que ma peut être null, ce qui peut faire chier au niveau de certaines annotations, donc faut encore en rajouter…

    Heureusement depuis java 7 on peut cumuler les catch (catch ExecptionMachin|ExceptionTruc|ExceptionBidule|ExcetionCasseCouille|ExcetptionJeDepasseLaLigneDe120Caractere|ExceptionJenAiEncore e)

    Le code java est pollué par de la gestion de truc qui n'arrivent jamais, et le jour où ça arrive, c'est tellement ignoré que ça passe à la trappe; j'ai une préférence pour faire un printstacktrace, au cas où.

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

  • [^] # Re: C++ et exceptions

    Posté par  . En réponse au journal Gestion de l'erreur - C++ - std::optional. Évalué à 3. Dernière modification le 05 septembre 2016 à 10:04.

    tu peux aussi ajouter les dynamic_cast T& qui te jettent une exception std::bad_cast, alors que les dynamic_cast T* vont te renvoyer un pointeur null dans le cas où ce n'est pas possible.

    En c++ on a le choix et c'est bien. Je déteste devoir parsemer mon code de try/catch pour une gestion qui peut s'agrémenter de if ou ?;

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

  • [^] # Re: Peucrédible

    Posté par  . En réponse au journal Un ransomware tout à fait déloyal ... et inquiétant. Évalué à 2.

    Hou Hou, j'ai souvenir d'un client qui était venu nous voire justement pour trouer la sécurité (pas trop quand même, juste un tunnel ssh) pour faire fonctionner un morceau de l'appli, mais qui en raison de la politique de sécurité de l'entreprise, ne pouvait pas fonctionner. Le temps de mettre à jour la config, il a bien fallu passer autour. (Le problème des grosses entités, faut que ce soit validé par tous les n+[1-3], avec le risque que quelqu'un qui n'y connait rien bloque la procédure, ensuite demander au gestionnaire du réseau (qui est encore une autre entreprise), de mettre à jour la conf…

    Bref t'en as pour 6 mois de procédure pour avoir ta mise à jour de configuration, le tout pour une passerelle qui va durer 8 mois; donc si on respecte la procédure, 2 mois d'activité.

    Évidemment si une personne s'était penché sur la problématique avant la mep, on aurait pu faire la demande avant, mais le dev pensait que ça allait passer par les chemins habituels, pas de bol, on lui a spécifié ce détail pas longtemps avant le rendu :P.

    Ah je vous avais dit que chez ce client faut se battre pour avoir les spec avant le début du développement (et encore quand c'est pas à nous de les rédiger à partir d'une expression du besoin).

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