barmic a écrit 10455 commentaires

  • # Micro-kernel

    Posté par  . En réponse à la dépêche Sortie du noyau Linux 4.9. Évalué à 10.

    Super la description du travail d'Andy. En le lisant je n'ai pas pu m'empêcher de me dire que c'est un problème qui doit être inexistant dans les micro-noyaux, non ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Dockerfiles

    Posté par  . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à 4.

    Si tu garde du matériel non maintenu et que ton matériel contribue à une attaque d'envergure, tu as une part de responsabilité. Si tu as une fibre écologique, tu devrais de base te poser la question de l'utilité réelle des objets connectés (même à durée de vie infini comme tous les autres appareils ils consomment de l'énergie et sont construit avec des matériaux comme des terres rares etc). Tu peux aussi te poser la question des conditions dans les quels ils ont était construit…

    Bref si tu veux te la jouer écolo-bobo, tu en achètera déjà que par véritable nécessité et ce sera déjà pas mal. Si ensuite tu garde de l'équipement connecté à internet sans le maintenir, tu contribuera à des attaques qui ça ne te fais rien, je trouve que c'est dommage (mais t'inquiète pas ce n'est pas répréhensible aujourd'hui). Ça peut aussi devenir le point d'accès sur ton réseau pour ensuite attaquer tes autres équipements.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Dockerfiles

    Posté par  . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à 3.

    Comment tu geres quand le constructeur cesse son activité ? (et ça arrivera)

    Tu change de matériel (c'est ce que tu devrait faire quand tu perds le support, parce que sinon tu es ouverts à toutes les failles pas encore corrigée). Si tu as du support du constructeur initial ou d'ailleurs, tu pourra changer l’autorité.

    Ces choses ne sont pas des stylos. Ça ne peut pas être acheté et oublié. Il faut appliquer les mises à jour régulièrement.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Dockerfiles

    Posté par  . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à 3.

    • générer un mot de passe unique comme avec les box maintenant
    • utiliser un certificat client que le constructeur te fournit

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: A chaque clou son marteau

    Posté par  . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à -1.

    Ceci dit, si tu es au FOSDEM, fait le moi savoir, je te paie un café et on pourra en discuter :)

    Bof. D'une part je n'y serais, pas d'autre part tu semble soit ne pas comprendre ce qu'est docker soit ce qu'est une boite noire. J'ai décris en long en large et en travers qu'il est possible de reconstruire en modifiant donc à froid et de modifier à chaud tout ce que tu peux imaginer et je n'ai pas vu d'autre explication que des affirmations sans même une explication. Le café n'est pas une explication. Ça ne te plaît pas, tant mieux, mais pas la peine d'en discuter si c'est pour des raisons non rationnelles :)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: A chaque clou son marteau

    Posté par  . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à 3.

    Une boite noire c'est quelque chose dont on ne maîtrise pas ce qui se passe à l'intérieur… Je sais pas en quoi docker est une boite noire.

    « Quand on utilise un mot (quelque soit la langue), c'est bien de savoir un minimum à quoi ça correspond. »

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: A chaque clou son marteau

    Posté par  . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à 2.

    Non à quoi ? tu peux être en désaccord avec certains de mes propos, mais je doute que tu sois en désaccord sur la totalité si ce n'est juste par pur plaisir de contrariété.

    Tu fais de la mauvaise fois à tous tes paragraphes. Tes flugschreiber (oui l'allemand c'est plus classe que l'anglais) tu les as aussi dans tes paquets debian/rpm ou autre. Ton ansible tu peux très bien t'en servir sur du docker, ça ne pose véritablement aucun problème, je le fais.

    Une flugschreiber dont tu as accès aux sources, que tu peux reconstruire avec toutes les modifications que tu veux ou simplement les dériver, dans la quelle tu peux ouvrir un shell pour y faire tout ce qui peux te faire plaisir… ce n'est pas une flugschreiber. Tu peux trouver que la granularité n'est pas assez fine pour toi, mais rien est caché et tout est maîtrisable (plus facilement qu'avec des paquets de distribution (jongler avec les diversions, les rebuilds de paquets etc ce n'est pas particulièrement simple).

    Je te conseil d'essayer de re-construire à chaque faille d'OpenSSL, ou chaque mise à jour de libc une infrastructure qui contient 500-600 containers docker en productions… Allez de préférence, avec des distributions différentes et des images différentes.

    Sur ce genre de trucs si tu fais n'importe quoi, c'est de ta faute à toi plus qu'à la techno que tu utilise. À toi de choisir ou construire les conteneurs correctement.

    Tu affirme que la techno ne permet pas sans la connaître ou avoir cherché à la comprendre. Comme tu peux faire de l'héritage d'image et que si tu construit véritablement une infra avec 500 images différentes, alors tu dois faire partir toutes tes images d'une base que tu maîtrise. Finalement tu va modifier cette base. Puis faire le rebuild de tout le reste (c'est incrémental). Ça marche bien (tu peux gérer tout ça dans un gestionnaire de version et une CI comme jenkins tout est automatique et totalement sous ton contrôle => c'est pas vraiment l'idée qu'il y a derrière les flugschreiber). Ou alors il va falloir que tu en dise plus.

    Comprends-moi bien, il y a pleins de bonnes raisons de ne pas envoyer du docker en prod (notamment pour les bases de données), mais là c'est plus un changement de démarche qu'une quelconque impossibilité. Si la démarche en question est critiquable, mais tu affirme que c'est impossible ce qui est tout faux.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: A chaque clou son marteau

    Posté par  . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à 6.

    Non.

    Je vais parler uniquement de docker.

    Docker se base sur un dockerfile, ce qui te permet de reconstruire un docker très facilement. Toutes les images du docker hub sont reconstructibles facilement (tu clone le dépôt et tu build). Mettre à jour ou modifier une image est triviale. C'est le langage partagé par tous les linux : le shell.

    Donc non, on est très loin du « gros blob binaire ». C'est une boite noire (pourquoi mettre de l'anglais partout ?) que si tu ne veux pas t'y intéresser comme pour tous tes systèmes de paquets.

    environnement pseudo-isolé

    Il y a peut être des failles dans les namespaces, les cgroups, etc. Mais :

    • ça va pas mal intéresser la LKML si tu les connais parce que ça ne concerne pas que les utilisateurs de docker. Si tu connais des failles je pense qu'il ne faut hésiter à leur en parler :)
    • il est largement plus intéressant d'un point de vu sécurité d'avoir un cloisonnement perfectible que pas de cloisonnement du tout
    • si on arrête le FUD (et ça restera du FUD tant que tu n'aura pas des arguments un chouia plus solides que… ben pas d'arguments du tout), il est très simple de contrôler ce que fait et ce que peut faire le contenu d'une image docker par rapport au moindre programme de ta machine. Les LSM sont très complexes à mettre en place et personne ne va toucher celles de la distribution. Là où pour les images docker tout le monde le fait

    Et comme toujours, une faille OpenSSL arrive….. Il me faudra attendre que chaque développeur de chaque application dédaigne updater son propre blob…

    Non :

    Ça n'a rien de compliqué, ça ne te demande pas d'apprendre des choses démentes.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Erreur dans la dépêche

    Posté par  . En réponse à la dépêche Firefox zone en version 51 . Évalué à 3.

    étant donnée l'importance de Firefox (navigateur principal et par défaut)

    Ils ont poussé des trucs comme PulseAudio à une époque où c'était Rock'n'Roll pourtant et je pense qu'il y a plus de gens qui savent changer de navigateur que de gens qui savent bypasser PA.

    Mais bon c'était une boutade, ils font bien ce qu'ils veulent. Ça m'a surpris parce que je trouve Mozilla assez méticuleux sur le sujet et que c'est une fonctionnalité assez attendue.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Erreur dans la dépêche

    Posté par  . En réponse à la dépêche Firefox zone en version 51 . Évalué à 2.

    Wow… Si Fedora n'ose pas le mettre c'est que ça doit vraiment être pas frais… :)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Solution à base de types variants en ADA

    Posté par  . En réponse à la dépêche Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 4.

    Ensuite, répondre que l'on peut faire rentrer dans la catégorie des tâches dévolues à l'analyse statique d'autres problématiques que le contrôle d'erreurs est hors de propos. Généraliser le concept de l'analyse statique au-delà du cas d'étude ici discuté fait de ton objection une sorte de stratagème III : la généralisation des arguments adeverses.

    Non du tout. J'essayais juste de t'expliquer que ce sont des outils plus riches que ce que tu semblais affirmer dans la phrase que j'ai cité dans mon premier commentaire. Comme tu dis régulièrement que tu n'es pas développeur et que tu ne connais pas « l'industrie » ça ne me surprenait pas que tu ne connaisse pas ce pan là. Inutile de monter sur tes grands chevaux et de me faire une scène, je te laisse tranquille.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Solution à base de types variants en ADA

    Posté par  . En réponse à la dépêche Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 3.

    D'une manière générale, le principe du typage statique se situe dans la question : comment refuser d'exécuter un code qui plantera nécessairement ?

    Et justement, je dis que les analyseurs statiques servent aussi à refuser du code qui fonctionne parfaitement, mais qui ne correspond pas aux normes défini dans le programme en question par exemple.

    Tu peux très bien imaginer que ton langage possède un métalangage permettant ce genre de construction, mais ça n'apporte pas grand chose par rapport au fait de faire ça à coté.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Solution à base de types variants en ADA

    Posté par  . En réponse à la dépêche Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 3.

    Dans les faits, on ajoute des outils d'analyse statique de code à l'extérieur du compilateur pour pallier aux déficiences du système de types d'un langage. Et pour fonctionner, ces outils nécessitent habituellement l'ajout d'annotations au code sous forme de commentaires, annotations qui correspondent à un enrichissement du langage des types du langage de départ.

    Pas forcément. Déjà j'en connais un paquet qui ne demandent aucune annotation particulière. Ensuite, il y en a qui vérifie des choses qui ne sont pas liées au typage comme des constructions qui pourraient être plus lente ou l'usage d'API que tu ne souhaite plus utiliser ou d'avoir des propriété dans tes sources (avoir une doc en commentaire dans tes API publiques avoir une complexité cyclomatiques en dessous d'un certain seuil). Enfin tu as des cas où, effectivement ça pourrait être géré par un typage sophistiqué, mais vraiment trop (j'entends pour être véritablement utilisable). Par exemple les vérifications de couplages faible, vérifier que tes types sont correctes,…

    Toutes les discussions que l'on voit au dessus montrent justement qu'il y a suffisamment de façon de résoudre un problème pour que ça ne soit pas figé dans le langage. Pour autant tu peux vouloir, au sein d'un programme donné, n'autoriser qu'une seule solution à fin d'améliorer la cohérence.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Enregistrement des mots de passe

    Posté par  . En réponse à la dépêche Firefox zone en version 51 . Évalué à 4.

    Il serait bien alors de rajouter dans l'onglet un bouton pour se déconnecter car cela est actuellement (et depuis toujours) impossible sans avoir à fermer son navigateur. C'est hyper pénalisant.

    Utilise la navigation privée. Je pense que les contextes par onglets qui arrivent vont aussi te simplifier la vie :)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: FUD

    Posté par  . En réponse au journal WhatsApp, sa porte discrète du fond et les backdoors de Signal. Évalué à 4.

    Mais personne ne s’en sert…

    Bien sûr c'est totalement inexplicable parce que c'est parfait

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: C'est vrai que c'est plus verbeux en c++

    Posté par  . En réponse au journal Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 4. Dernière modification le 20 janvier 2017 à 14:18.

    Je ne vois pas en quoi l'approche par ADT est hype ou sophistiquée.

    Pour le hype c'est pour la forme que je l'ai dit aujourd'hui si tu présente une solution orientée fonctionnelle ça plaît (c'est pas lié à linuxfr). Pour sophistiqué, c'est factuel. C'est une expressivité que tu ne trouve que dans les quelques pourcents de langages dont le typage est le plus travaillé. Il n'y a rien de négatif là dedans. Une typage sophistiqué te permet une plus grande expressivité, c'est à dire, qu'il te permet d'avoir le moins d'écart possible entre ta pensé et ce que tu exprime dans ton programme.

    Personnellement, ce que je trouve aberrant,[…]

    Je n'ai pas parlé d'aberration.

    […] c'est de devoir faire des circonvolutions pour exprimer des jugements de typage aussi triviaux et naturels à l'esprit humain.

    Oui alors les types dépendants c'est une logique qu'un gamin de 4 ans comprends tout à fait. Manque de bol le nombre de langages capables de faire ça est très réduit. Chacun s'exprime dans un langage et adapte sa façon de s'exprimer à son langage. Que tu sois un adepte d'haskell ou que tu écrive du cobol, c'est juste une habitude. Je ne dis pas que toutes les approches sont identiques, je dis que chacun trouvera plus naturelle sa façon de s'exprimer.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: C'est vrai que c'est plus verbeux en c++

    Posté par  . En réponse au journal Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 2.

    Le soucis de ton approche, comme je le disais en réponse du même commentaire, c'est comment tu stockes l'information à l’intérieur de Test. Si c'est pour réintroduire des valeurs sentinelles, tu as réglé le problème en terme d'interface avec l'utilisateur, et c'est déjà pas mal, mais tu n'as pas réglé le problème à l'intérieur de la classe, où si la valeur doit ressortir.

    Tu as tout loisir de faire ce qui t'arrange. Rien ne te limite et tu prix le faire évoluer comme heu le souhaite savez péter le code utilisateur. Ça dépend vraiment de l'utilisation que tu as. Par défaut j'aurais envi que ce ne soit pas des valeurs, mais un comportement.

    Quelle solution à base de polymorphisme proposes-tu ?

    Je ne suis pas sûr d'avoir saisie l'objectif de l'exemple du dessus. Par contre pour le cas du journal c'est évident: ce sont des stratégies. Les implémenter comme tel ne dois pas être dénué d'intérêt.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: C'est vrai que c'est plus verbeux en c++

    Posté par  . En réponse au journal Sortie de GHC 8.0.2 et une petite histoire de typage statique. Évalué à 4.

    Je sais que c'est moins hype que de décrire des typages sophistiqués, mais des factories font ça très bien.

    public final class Test {
        private Test() {}
    
        public static Test fixed(int nbThreads) {}
        public static Test max() {}
        public static Test noMultithread() {}
        public static Test otherCase() {}
    }

    Et oui en principe derrière si tu as besoin de véritablement récupérer le truc, tu fait du polymorphisme à la place du pattern matching si nécessaire.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: L'annonce

    Posté par  . En réponse au journal Grumpy : un nouveau concurrent à pythran. Évalué à 2. Dernière modification le 19 janvier 2017 à 09:20.

    Alors, j'avais bien précisé « parallèle » parce que si ce n'est « que » concurrent, ben du coup ça veut dire que deux processus ou threads peuvent se partager un cœur ou thread matériel et du coup tu n'exploites toujours pas ta machine (voire, au contraire, tu la rend plus lente, car il y a du coup des changements de contexte, des évictions de lignes de cache, etc.). :-)

    Parallèle ça veut dure 4, 8 ou 16. Reddit c'est combien de connexion à la minute ? Tu ne peux pas t'en sortir avec du parallélisme avec des serveurs classiques (→ si tu ne fait pas du HPC ou du serverless).

    Ce qui m'intéresse c'est qu'une application exploite la machine au mieux, donc la concurrence c'est bien si tu surcharges la machine de threads (c'est pas forcément une mauvaise idée s'il y a beaucoup d'entrées-sorties), mais si y'a des cœurs dispo, on obtient une machine sous-utilisée.

    Hors HPC et serverless, le CPU est la ressource la plus rare de l'OS. Plus que la mémoire, plus que la bande passante réseau ou disque. Même si tu te débrouille pour en avoir 32 ce sera toujours extrêmement rare.

    c'est quelque chose de « classique » en HPC

    Donc pas sur reddit, pas sur nodejs, pas sur des applications dont le boulot c'est de répondre à des requêtes utilisateurs.

    Pour l'histoire de deadlocks je suis un peu circonspect.

    C'est parce que je suis aller un peu vite et que du coup je me suis trompé de mot. Ça réduit l'impact des verrous.

    Si Reddit se permet de faire du js, c'est qu'ils ne sont pas CPU bound, qu'ils ne font pas du calcul intensif.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: L'annonce

    Posté par  . En réponse au journal Grumpy : un nouveau concurrent à pythran. Évalué à 3.

    les sessions en parallèle

    Concurrentes, pas parallèle ;)

    Du coup j'ai vérifié et c'est bien le cas : https://nodejs.org/en/about/
    Tu peu éventuellement lancer plusieurs threads pour en avoir autant que de CPU mais pas plus.

    Comme je le disais plus haut, toutes les techno orienté serveur qui consomme des requêtes et qui ont fait parler d'elles ces dernières années réduisent fortement le parallélisme. L'idée c'est que tu ne peux pas faire plus de 4/8/16 choses en parallèles sur une machine selon la CPU. L'idée derrière ça c'est de faire de l'asynchrone plutôt que du vrai parallélisme. Il y a moins de deadlock et on passe moins de temps à faire des changements de contexte.

    Tu as ce genre de bench pour le voir : http://blog.octo.com/jusquou-peut-aller-un-simple-ordinateur-de-bureau-avec-une-application-web-java-reactive/

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: L'annonce

    Posté par  . En réponse au journal Grumpy : un nouveau concurrent à pythran. Évalué à 3.

    Pour ton second point je crois que Redis est monothread (et mono process). Je me demande si c'est pas le cas de node aussi (avec une bidouille pour pouvoir lancer n instances sur le même port).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Agentless, danger

    Posté par  . En réponse au journal Déploiement et automatisation avec Ansible - partie 1. Évalué à 3.

    Par exemple, je suis capable aujourd'hui grâce aux trusted facts de définir complètement un serveur rien qu'en émettant un certificat. À quoi il va servir ? Pour quel client ? Quoi installer dessus … Le cycle : définir, tester, enforcer, rapporter est tout a fait adapté à un processus industriels de gestion des serveurs. C'est la grande force de puppet.

    Tu peux en dire plus ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: L'annonce

    Posté par  . En réponse au journal Grumpy : un nouveau concurrent à pythran. Évalué à 3.

    C'est sûr que si il y avait une implémentation native kernel windows du fork, ça serait plutôt cool.

    Ils l'ont pas déjà implémenter pour le sous-système unix (le truc qui permet de lancer bash et des ELF) ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: L'annonce

    Posté par  . En réponse au journal Grumpy : un nouveau concurrent à pythran. Évalué à 3.

    Ensuite, je suis complètement d'accord pour dire que les exemples que je peux donner sont relativement marginaux, car ils s'inscrivent dans le cadre d'applications hautement parallèles avec un grand besoin en performance.

    Plus que ça, là on parle du frontend de youtube. Le modèle d'exécution est assez précis : on réagis à des requêtes HTTP et on interagis avec différents sous-système (authentification, base/serveur de données,…). Le meilleur modèle pour faire ça c'est d'avoir une boucle d’événements qui fait appel au contrôleur de manière asynchrone. C'est ce que fait twist si je ne me trompe pas (c'est ce qu'on trouve avec node, avec POE, je crois que c'est ce que fais nginx, tous les javaries qui se basent sur netty (play2 par exemple)). Et le reste de youtube c'est surtout de la répartition de tâche pour encoder les vidéos (et si je ne m'abuse c'est go qui fait la répartition de charge).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: À vélo, par tous les temps....

    Posté par  . En réponse au journal Mon sac. Évalué à 3.

    Tu décrit exactement mon sac vélotaf : Le Queschua Forclaz 30 Air ancienne version (avant 2015)

    C'est ce que j'utilisais avant (la version 22L) et c'est vraiment un sac que je ne recommande pas. Il a commencé à avoir des trous en moins d'un an et son volume utile est bien plus faible que celui annoncé à cause du dossier tordu.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)