Gof a écrit 2210 commentaires

  • [^] # Re: une fiction n'est pas un documentaire

    Posté par  (site web personnel) . En réponse au journal [cinéma] Chernobyl, la mini-série en cinq épisodes. Évalué à 5.

    Les données du relevé des radiations sont disponibles et publiques:

    https://remap.jrc.ec.europa.eu/

    Tu peux voir sur la carte le relevé en temps réel et l'historique de chaque capteur.
    L'Allemagne, la Belgique, les Pays bas, ont un maillage assez serré de capteurs. La France est un peu en retard mais les centrales et alentours sont bien surveillé.

    Ne t'inquiète pas que si il y avait une quelconque fuite radioactive quelque part, ça se saurait très vite.

  • [^] # Re: une fiction n'est pas un documentaire

    Posté par  (site web personnel) . En réponse au journal [cinéma] Chernobyl, la mini-série en cinq épisodes. Évalué à 6. Dernière modification le 26 juin 2019 à 17:25.

    Par « impact positif », j'imagine qu'il se réferait au « ++ » vert que reçoivent les énergies renouvelables dans la colone CO2, alors que le nucléaire reçoit un « +/- » orange. C'est là qu'est la mauvaise fois.

  • [^] # Re: une fiction n'est pas un documentaire

    Posté par  (site web personnel) . En réponse au journal [cinéma] Chernobyl, la mini-série en cinq épisodes. Évalué à -1.

    Quels habitants de l'océan pacifique nord ?
    Ceux qui doivent déménager à cause de la montée des eaux ?

    Pour rappel: les nivaux de radiation détectés après fukushima en dehors de la zone frappée par le tsunami sont extrêmement faible, et il est très peu probable qu'il y ait des morts causé par cet accident en dehors de cette zone.

  • [^] # Re: une fiction n'est pas un documentaire

    Posté par  (site web personnel) . En réponse au journal [cinéma] Chernobyl, la mini-série en cinq épisodes. Évalué à 2.

    Le nucléaire est l'énergie qui tue le plus longtemps,

    Ça veux dire quoi « tuer longtemps » ? Quand on est mort, on est mort. Non ?

    Si tu veux dire que les déchets sont dangereux pour le plus longtemps, je ne suis pas si sur. Dans la mesure ou on produit plus de CO₂ que ce que la nature ne peux absorber, le surplus de CO₂ est dans l'athmosphère pour longtemps lui aussi.
    La différence c'est que l'on peut confiner les déchets nucléaires, alors que le CO₂ il va partout.

    qui tue de manière la moins contrôlée.

    [réf. nécessaire]
    C'est quoi une manière contrôlée de tuer.
    Les ouragans, tsunami, sécheresses, et autre catastrophes causées par le changement climatique c'est plus controlé ?
    Les ruptures d'équilibre et de biodiversité causés par les barrages, ou du à l'extraction et exploitation des métaux rares nécessaire à la fabrication de panneaux photovoltaiques, d'héoliennes ou stockage nécessaire pour les énergie renouvelables, c'est contrôlé ?

    En réalité, le problème est que la population a peur du nucléaire de façon irrationnelle, suite aux quelques accidents précédent.

    C'est comme les gens qui ont peur de l'avion alors que c'est beaucoup plus sûr que la voiture
    (Et c'est ainsi que la sécurité dans les aéroports tue des centaines de personnes par an )

    Mais dans ce genre de questions politique, il faut essayer de mettre les peurs et l'irrationel de coté.

  • [^] # Re: une fiction n'est pas un documentaire

    Posté par  (site web personnel) . En réponse au journal [cinéma] Chernobyl, la mini-série en cinq épisodes. Évalué à 4. Dernière modification le 24 juin 2019 à 13:27.

    si les experts ont du mal dépatouiller le plus gros désastre nucléaire de l’histoire, je suis pas sûr qu’ils s’en sortent pour une centrale qui opère normalement.

    Où es-ce qu tu veux en venir ?
    Si je comprends bien, les experts ont du mal a déterminer les conséquences, car les effets sont trop faibles pour être visibles de manière statistiquement significative.
    Pour une centrale qui opère normalement, les effets devraient être quasi nuls, donc forcément difficile de trouver des conséquences. Mais c'est une bonne chose, non?

  • [^] # Re: pas mal (spoil)

    Posté par  (site web personnel) . En réponse au journal [cinéma] Chernobyl, la mini-série en cinq épisodes. Évalué à 9.

    Note que les trois plongeurs ont survécu. Deux d'entre eux sont encore en vie.

    Dans une interview après le visionnage de la série, l'un d'eux dit: (je paraphrase)

    Il n'y a pas eu de meeting où ils on offert 400 rubles une promotion et une promesse de s'occuper des familles de ceux qui ce porterait volontaire. Et il n'y avait personne pour applaudir quand on est sorti. Personne ne bu de la Vodka

    https://www.mirror.co.uk/news/world-news/selfless-chernobyl-suicide-divers-saved-16523155


    Et pour ceux qui n'aurait pas encore vu XKCD: « Qu'es-cet qui arriverait si je me baignait dans une piscine contenant du combustible nucléaire » https://what-if.xkcd.com/29/
    Mais ça n'a rien à voir avec cette histoire.

  • [^] # Re: Petite erreur

    Posté par  (site web personnel) . En réponse à la dépêche Moi, expert C++, j’abandonne le C++. Évalué à 2. Dernière modification le 09 juin 2019 à 23:25.

    Il y a tellement de logiciels écrits en C qui te prouvent le contraire…

    Argumentum ad populum mais qui ne prouve rien du tout, car il y a aussi tellement de logiciels écrit en C++, et en PHP

    le C est à la fois simple et puissant.

    Le C n'est ni simple (gestion de la mémoire manuelle, undefined behaviour, …) Ni puissant (pas de destructeurs, pas de templates, …)

  • [^] # Re: mais si tu savais comme on s'en fout

    Posté par  (site web personnel) . En réponse au journal zsh remplace bash comme shell par défaut sous macOS. Évalué à 10.

    Ça fait quelques années que je suis passé de bash à zsh (sous linux, avec oh-my-zsh), et crois moi, je me suis très vite habitués au différences de comportement, et je ne voudrais pas revenir en arrière. (Principalement à cause de la meilleure interface pour l'auto-completion)

    À un moment, j'ai voulu essayer fish, mais là il y avait un peu trop de différences pour mes habitudes, alors je suis revenu rapidement en arrière. Pourtant, fish, c'est bien aussi niveau fonctionalités.

  • [^] # Re: Et par rapport au C ?

    Posté par  (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 3.

    Il me semble que tu n'as pas compris ce que je voulais dire alors je vais essayer de mieux expliquer.

    Brainfuck justement à une syntaxe très simple et très facile à apprendre. Chacune des huit instructions s'explique en une phrase. Après deux minute tu es un expert dans le langage. Un expert ? Pas vraiment, car la difficulté du langage n'est pas dans la syntaxe, mais dans son utilisation.

    C++ a peux être une syntaxe qui prends un chouia plus de temps à apprendre, mais, en pratique, est plus facile d'utilisation que le brainfuck, et que le C, pour faire des programmes.

    Quand à ton partiel à la fac, n'importe quel professeur peux te faire des délicieux exercices sur la syntaxe de n'importe quel langage s'il le veux. Chaque langage à ses coins difficiles et ses subtilités. Mais il n'est pas non plus nécessaire de connaître touts les recoins les plus reculés d'un langage pour pouvoir écrire et lire des programmes en pratique.

  • [^] # Re: Je hais le C++

    Posté par  (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 2.

    on est dans un comportement indéfini très bien défini du moment que la sso est présente

    Tu te trompes. Le programme a un comportement indéfini, et contient donc un bug.
    Le fait que ça affiche le bon résultat pour toi n'est que par chance. Sso ou pas.

  • [^] # Re: Je hais le C++

    Posté par  (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 3.

    Tu dis que tu hais le C++ mais tu posté un quizz. Alors que les quizz sont pour les amoureux du langage.

  • [^] # Re: Et par rapport au C ?

    Posté par  (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 4.

    j'ai très vite déchanté devant sa complexité

    Le C++ est peut être plus complexe, mais il n'est pas plus compliqué que le C.
    Par exemple, le Brainfuck est extrêmement simple (seulement 8 instruction à apprendre en 2 minutes), mais il est en fait très compliqué de faire des programmes avec.
    Le C++ demande peut être un peu plus d'apprentissage, mais permet de faire des programmes plus facilement qu'en C.

  • [^] # Re: Mon avis (professionnel)

    Posté par  (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 6.

    Déjà car en embarqué tu as des applications sans OS, donc il te faut forcément une chaîne de compilation qui permette de générer du code valide dans un tel contexte.

    Pas de problème de ce coté là. Il suffit de compiler avec #[no-std]

    impose de contourner les limitations de Rust via l'utilisation des blocs unsafe un peu partout.

    unsafe ne contourne pas les limitation, il utilise un avantage de rust.
    En C, c'est comme si le programme complet était dans un énorme bloc unsafe. Alors que en rust, tu es safe par défaut, mais tu peux dire au compilateur "ici je sais ce que je fait".

    La particularité de rust c'est aussi qu'il permet de faire des abstraction à cout zéro. Donc tu peux abstraire les partie unsafe dans une bibliotheque. Ou utiliser l'une des nombreuse bibliotheque existante pour le support des différent matériel
    https://github.com/rust-embedded/awesome-embedded-rust#peripheral-access-crates
    Ce qui te permet de faire de l'embedded avec peu de unsafe dans ton code.

    En conclusion, rust est un excellent candidat pour faire de l'embedded.
    Il y a pas mal de ressources en ligne: https://docs.rust-embedded.org/

    Il y a toute fois une limitation: rust dépends de LLVM et seule les architectures supportées par LLVM sont supportées par rust. Celà signifie que ça ne fonctionnera pas sur certaine architectures qui nécessite un compilateur proprio par example. Mais bon… il faut éviter ces architectures de toute façon (ça pue c'est pas libre)

  • # 3.476026644886³ + 0³ + 0³ = 42

    Posté par  (site web personnel) . En réponse au journal 42 reste introuvable !. Évalué à 5. Dernière modification le 24 avril 2019 à 16:10.

    Ah, il faut des entiers ?

  • [^] # Re: Expressivité

    Posté par  (site web personnel) . En réponse au journal Les 7 étapes pour devenir un programmeur Go.. Évalué à 1. Dernière modification le 26 mars 2019 à 16:54.

    Message supprimé

  • # impossible... a moins de tricher

    Posté par  (site web personnel) . En réponse au journal Déterminer un code à 3 chiffres en 9 questions ou moins. Évalué à 10. Dernière modification le 24 mars 2019 à 09:23.

    9 questions qui se répondent par oui ou par non, ça fait juste 9 bits d'informations, soit seulement possible de déterminer parmi 512 possibilités a coup sûr.

    Donc il fait trouver une ruse pour extraire plus d'informations:

    • "si le reste de la division par 3 est 1, réponds oui, si c'est 2, réponds non, sinon ne réponds pas."

    • side channels: Si le nombre est divisible par deux, est-ce que le nombre divisé par deux est pair, Sinon, additiones ✓(1903+3281) au nombre, divise par deux, est ce que le résultat est pair? Et on extrait de l'information en fonction du temps de réponse.

  • [^] # Re: Mécréants

    Posté par  (site web personnel) . En réponse au journal Hors sujet mais ... : il y a 775 ans .... Évalué à 10.

    Galilée est un très mauvais exemple.

    Certains croient aujourd'hui que Galilée a été emprisonné car son affirmation que la terre était ronde tourne autour du soleil était en contradiction avec la Bible. Mais la vérité est toute autre.

    Galilée ne fut pas accusé car il contredisait la bible, mais car il a voulu réinterpreter des passages de la bible a son avantage et qu'il a insulté publiquement le pape. En vérité, sa théorie allait à l'encontre du consensus scientifique de l'époque. L'Église payait Galilée et d'autres scientifiques, et n'était pas si fermée que ce que l'ont dit aujourd'hui.

    Galilée avait en effet observé le mouvement des planètes et des satellites et trouvait que le modèle héliocentrique expliquait ce mouvement plus simplement que le modèle géocentrique. Mais ce n'était pas pour autant une preuve, alors qu'il y avait d'autres éléments inexplicables dans la théorie héliocentique:
    - Pourquoi les choses tombent vers le centre de la terre si ce n'est pas le centre de l'univers ? (La théorie de la gravité n'avait pas encore été énoncée)
    - Pourquoi n'observe-t-on pas d'effet parallaxe avec les étoiles? (Les étoiles sont en fait bien plus lointaines que ce que les scientifiques ne pensaient à l'époque.)
    - Pourquoi ne ressentons nous pas de mouvement (Et là c'est le pire: Galilée affirme que la mouvement de la terre est en fait la cause les marrées, alors que ça n'a rien à voir)

    Mais Galilée, avait juste le désir de convaincre plus que l'ambition d'être un vrai scientifique.
    Pour convaincre l'Église, il a même essayé de réinterpretter la bible en prenant le passage "Josué 10, 12-14"

    Alors Josué parla à l'Eternel, […] et il dit en présence d'Israël: Soleil, arrête-toi sur Gabaon, Et toi, lune, sur la vallée d'Ajalon! Et le soleil s'arrêta, et la lune suspendit sa course, Jusqu'à ce que la nation eût tiré vengeance de ses ennemis. […] Le soleil s'arrêta au milieu du ciel, Et ne se hâta point de se coucher, presque tout un jour.…

    Galilée prétends que ce passage prouve que le soleil est au centre car c'est le soleil qui ferait tout tourner, et donc en arrêtant le soleil, on arrête les mouvement de toute les planètes.
    Dans une lettre, il insulte le pape de "Simplicio" (simplet, idiot).
    C'est suite à ça, que l'Église c'est sentie forcée de réagir

    https://fr.wikipedia.org/wiki/Galilée_(savant)#Le_Dialogue_et_la_condamnation_de_1633
    https://en.wikipedia.org/wiki/Discourse_on_the_Tides
    https://creation.com/galileo-church

    Cela dit, il ne faut pas nier que les contributions de gélilée aux mathémitiques et à l'astrologie. Et l'église n'est pas 100% propre. La vérité est au milieu.

  • [^] # Re: Unicode

    Posté par  (site web personnel) . En réponse au journal Des emojis en SQL ? C'est possible… et on peut aller au-delà !. Évalué à 7. Dernière modification le 10 mars 2019 à 08:01.

    Espace et les caractères de ponctuation comme la virgule ou le point sont aussi des caractères unicode. Pourtant, je ne pense pas qu'ils puissent être utilisées comme nom de table ou de colonne.

  • [^] # Re: Comment ça se compile?

    Posté par  (site web personnel) . En réponse au journal Microsoft publie sous licence MIT les sources de la calculatrice de Windows. Évalué à 6. Dernière modification le 07 mars 2019 à 11:52.

    C'est du C++/CX

    https://fr.wikipedia.org/wiki/C%2B%2B/CX

    En gros, c'est du C++ avec des extensions spécifiques à Microsoft Visual C++, qui permettent de s'intefacer avec l'API WinRT et son garbage collector

  • # Santée / accident de la route

    Posté par  (site web personnel) . En réponse au journal [HS] Etes-vous pour rester à l'heure d'été ou à l'heure d'hiver ?. Évalué à 7.

    "Pour préserver la santé et les rythmes biologiques" : Cet argument est avancé par les pro-"Heure naturelle du soleil" plus proches des "rythmes biologiques"

    J'ai plutôt entendu l'argument que avoir un changement d'heure boulverse le rythme biologique au moment du changement et provoque fatigue et dépression.

    "Par mesure de sécurité routière" : L'argument est valable dans les 2 sens, plus de lumière le matin pour aller au boulot ou après 17h00 pour en revenir ?

    L'argument est que ne pas avoir de changement éviterais la fatigue et donc les accidents:

    « En France, le retour à l'heure d'hiver entraîne un pic d'accidents pendant « une bonne semaine », notamment en fin de journée où le surcroît atteint +47 % pour les piétons. Le phénomène est également observé en Belgique, où d'octobre à novembre le nombre d'accidents affectant les piétons pendant l'heure de pointe du soir augmente de 31 %. Le nombre de blessés graves et de tués parmi les piétons croît même de 80 % à Bruxelles. »

    D'après https://fr.wikipedia.org/wiki/Heure_d%27été#Effet_sur_la_santé_publique

  • [^] # Re: compatibilité

    Posté par  (site web personnel) . En réponse au journal L'édition 2018 de Rust est sortie !. Évalué à 3.

    Que se passe-t-il quand j'appelle get_bar() ? Je récupère un objet std::Bar[2015] qui n'est pas celui que je voulais : std::Bar[2018].

    std::Bar à le même layout mémoire dans les deux cas. Seul la signature (et implémentation) de certaines fonction change.

  • # compatibilité

    Posté par  (site web personnel) . En réponse au journal L'édition 2018 de Rust est sortie !. Évalué à 3.

    En revanche, la bibliothèque standard ne peut en aucun cas avoir de breaking changes puisque si on change un type entre les éditions 2015 à 2018 par exemple, on ne peut plus passer une instance de ce type d'un crate à l'autre.

    Pourquoi pas? On pourrait imaginer plein de changements qui font que le type reste compatible. Par example, si on trouve que retourner un &str est plus efficace que de retourner un String, pour une fonction:

    impl Bar {
       #[edition(2018)]
       name(&self) -> String { ... }
    
       #[edition(2021)]
       name(&self) -> &str { ... }
    }

    On peut créer un nouveau crate 2015 et utiliser un crate 2018, qui utilise de nouveaux mots-clés par exemple, sans problèmes.

    Sauf si il y a des macros qui génère du code incompatible, non?

  • [^] # Re: extern "C", pointer to member function,

    Posté par  (site web personnel) . En réponse au journal Conversion entre pointeurs de fonctions incompatibles. Évalué à 2. Dernière modification le 07 novembre 2018 à 17:20.

    Oui, ça peut aussi changer la convention d'appel en principe.
    (Bien que sur toute les architecture que je connaisse, c'est la même en C et en C++)

    Cf §5.2.2 [expr.call] http://eel.is/c++draft/expr.call

    Calling a function through an expression whose function type is different from the function type of the called function's definition results in undefined behavior.

    https://docs.oracle.com/cd/E19059-01/wrkshp50/805-4956/bajdcjch/index.html

    En particulier, ça veux aussi dire que si on a une ça:

    extern "C" void c_function_with_callback(void (*f)(int));
    
    int foo() {
        // Undefined behavior: le lambda a un linkage C++ 
        c_function_with_callback([](int x) { std::cout << x; } );
    }
    
    

    https://stackoverflow.com/questions/7301543/can-a-lambda-have-extern-c-linkage

  • # extern "C", pointer to member function,

    Posté par  (site web personnel) . En réponse au journal Conversion entre pointeurs de fonctions incompatibles. Évalué à 3.

    Une autre source de undefined behaviour est quand on a des pointeur extern "C"

    Par exemple:

    extern "C" int my_function(int); // Une fonction d'une bibliothèque C
    
    int foo() {
        int (*f)(int) = my_function; // Compile sans warnings
        f(42); // undefined behaviour
    
        // undefined behaviour dans function_cast::operator()
        return apply(my_function);
    }

    Il serrait bien aussi de trouver une solution qui pour créé une fonction générique qui fonctionne avec les pointer vers des fonction membre.

    struct Struct {
        int foo(int) const;
    };
    
    template<typename T> int my_apply(int(T::*f)(int)) {
        return (T().*f)(42);
    }
    
    int call_with_foo() {
        //my_apply(&Struct::foo); // ah zut, ça compile pas, à cause du const
    
        // Je peux essayer avec un cast, mais alors "undefined behavior"
        return my_apply(reinterpret_cast<int(Struct::*)(int)>(&Struct::foo)); 
    };

    Il faut que je fasse un overload pour my_apply(int(T::*f)(int) const).

    Mais si je quelqu'un veut passer une fonction volatile ? Ah oui, il faut rajouter my_apply(int(T::*f)(int) volatile) et my_apply(int(T::*f)(int) const volatile)

    Bon, en C++98 c'est bon, mais en C++11 il faut aussi considérer les "Ref-qualifiers".
    Rajoutons donc des overload. my_apply(int(T::*f)(int) const&) et my_apply(int(T::*f)(int) &&). Je vais passer tous les équivalent avec volatile car bon, qui utilise volatile? mais je rajoute quand même my_apply(int(T::*f)(int) const&&) pour être sur.

    Et quand on crois que on a fini, C++17 fait un changement incompatible et le code code ne compile plus si quelqu'un passe une fonction noexcept alors il faut que je dédouble le tout.

    Au final je dois écrire 4 * 3 * 2 = 24 overloads.

  • [^] # Re: Mensonges !

    Posté par  (site web personnel) . En réponse au journal Conversion entre pointeurs de fonctions incompatibles. Évalué à 2.

    D'ailleurs, aurais tu des exemples dans le code de LLVM ou il font cette erreurs ?