Des gens ont effectivement dit ça, mais en pratique plein de projets et d'entreprises sont encore sous CVS.
Quel rapport avec git ? La réticence au changement en entreprise va parfois contre toute logique. Il y aurait le meilleur VCS au monde qu'ils resteraient à CVS…
C'est vrai dans plein de cas. Dans le nôtre, c'est plutôt l'inverse qui est vrai : Pijul est capable de reproduire tous les workflows possibles de Git, et peut faire des choses largement plus puissantes, tout en restant simple.
Alors j'avoue c'est bien présenté, et que ça donne envie d'aller voir. C'est bien d'avoir une certaine assurance comme tu le fais, et je vois que tu as la théorie derrière pour soutenir ton truc. Mais fais attention à ne pas voir toujours les défauts de git qui t'arrangent : tu pourrais passer à côté des choses géniales que tu ne remarques même pas. Genre le système sous-jacent exposé et exploitable, les formats de données simples et centraux, l'état du VCS exposé dans le filesystem, l'utilisation en shell facile (pas mal de fonctions de merge de git sont même juste du shell !). Plein de trucs sûrement « pas propres » et pas prouvés ni sûrs, mais qui le rendent génial.
Ce genre de trucs a déjà existé avant en informatique : dans les années 70, plein de gens adoraient la courbe d'apprentissage de leur langage préféré (et étaient très créatifs pour inventer de nouveaux langages obscures chaque semaine). Et à un moment, tout le monde s'est rendu compte que C offrait au moins la même puissance que les autres, en beaucoup plus souple et facile.
C'est drôle que tu prennes l'exemple du C, parce que justement il a une courbe d'apprentissage un peu rude quand même, il n'est pas parfait, et j'aurais donc fait le parallèle avec git…
Ce n'est pas du tout le principal problème de ces gros utilisateurs. Leur principale préoccupation est bien le passage à l'échelle : Git devient très lent sur les très gros dépôts,
Parce qu'il développent du soft d'une manière qui n'a aucun sens pour le libre. Souvent parce qu'ils ne veulent pas modulariser, parce qu'ils l'utilisent comme outil d'intégration, etc (c'est la liste que j'ai déjà citée). Et qu'aucun outil apportant les fonctionnalités de git ne pourra faire mieux en perf ; ils auront donc des très plus pourris, mais qui tiennent leur taille de projet. Ou alors ça serait une vraie révolution, mais j'y crois très peu. Pijul le serait, d'après toi ?
parce qu'il a besoin de tout l'historique de tout pour fonctionner.
Option « --depth » de git-clone, et pour aller plus loin voir le fonctionnement du fichier « shadow » dans le .git (je ne vois pas de doc, mais en gros tu peux mettre n'importe quel nombre de ref dedans qui permettent de cacher des parties de la hiérarchie ; ça fait partie des trucs avancés peu exploités mais qui donnent des idées).
Torvalds lui-même le considère comme très imparfait, (…) Tu as le droit d'être sceptique, mais dans la vraie vie plein de gens sont insatisfaits de Git, y compris son inventeur.
Ça fait deux fois que t'en parles mais je ne l'ai jamais entendu dire ça… source ?
Si je comprends bien, le dongle est en réalité un adaptateur ethernet USB relié à un routeur 4G.
vu que le routeur a la capacité d'embarquer d'un petit serveur web, on a donc un périphérique qui contient un ordinateur.
Pour être plus précis (bon, je parle d'un E3372, mais ça doit être proche), la clé a un CPU ARM chinois avec RAM et Flash et tourne sous Android. C'est un Linux avec plein de logiciels à priori libres dessus, mais dont on ne sait pas où sont les sources. Il y a des russes sur un forum qui ont reverse-engineeré le bousin (pas de lien maintenant, boulot, toussa) et qui ont reprogrammé entièrement la clé, si ça vous intéresse de bidouiller.
Le dongle faisant routeur + NAT avec la 4G, ça veut bien sûr dire zéro contrôle réellement sur le medium, ça interdit l'IPv6, ou tout autre truc qui sort un peu de l'ordinaire (IPsec, etc). Il existe plusieurs modes de fonctionnement, dont un pour revenir en PPP « simple », très peu documentés, variant avec les versions du firmware et les version du hard, qui ne sont bien sûr pas identifiés, ni trop documentés. Il plante régulièrement (enfin, ça dépend des versions), et pompe souvent plus d'1A sur le port USB (il chauffe bien, touchez-le !), donc par exemple ça ne marche pas avec des ports trop faibles en puissance (RasPi).
Ce qui est drôle c'est de parler « d'environnement libre » avec ce genre de cochonnerie.
Il se passera quoi quand l'OS embarqué dans le dongle sera troué? Quelles sont les garanties de mises à jour proposées par le fabriquant? Je ne connais pas les réponses mais bizarrement j'ai un gros doute.
Effectivement, ta clé sera utilisée comme zombie, ou aura un ransomware pour retrouver ta connexion, ou plein d'autres trucs drôles. Les MàJ bien sûr c'est zéro. Et ce sont des clés officiellement poussées par Orange pour la 4G, pour info.
Pouvoir y mettre openwrt
Je crois qu'il parlait de brancher cette clé sur un routeur avec OpenWrt, pas de mettre OpenWrt dessus, ce qui est pour l'instant impossible à ma connaissance.
Oui, sauf que ce problème peut être utilisé pour créer des failles dans un logiciel
Mouarf, avec ton exemple, là ? Je veux bien un exemple concret, pour moi ça reste un cas irréaliste.
Sur les autres avantages et "Git va être le meilleur", c'est un peu ce qu'on disait de SVN quand Git est sorti.
Ah bon ? J'ai pas souvenir de ça. Dès le début, c'était le soft « codé par Torvalds » et même s'il était difficile d'accès, très vite les gens ont reconnu sa supériorité (et les problèmes de SVN) même si on imaginait une période de transition pendant laquelle SVN allait rester encore présent. Mais j'ai rarement vu un soft prendre de l'ampleur aussi rapidement que git !
Il n'est pas 100% honnête (et même pas 99,999% honnête) de dire "Git est supérieur" en oubliant les questions essentielles du temps d'apprentissage et du passage à l'échelle sur de gros dépôts et de grosses équipes.
Oui c'est vrai. Mais étant partisan des courbes d'apprentissage paraboliques, j'estime que ça vaut le coup à long terme.
Par contre, on ne l'a absolument jamais entendu des gens avec qui on a parlé qui travaillent sur de très gros trucs (par exemple chez Apple ou Facebook, ou même des gens qui gèrent les dépôts du noyau Linux).
Chez Facebook & co, et dans les entreprises en général, il y a des contraintes particulières qui font qu'il est moins adapté, mais ce sont pour moi de mauvaises raisons : soit ça donne trop de liberté aux devs et les chefs n'aiment pas ça (git c'est vraiment pour que chaque dev soit complètement indépendant, c'est très présent dans son idéologie, ya pas à dire), soit ça n'intègre pas tout le nécessaire d'intégration et on le tord pour en faire un outil d'intégration et ça marche mal, soit on fait des trucs crades parce que « on n'a pas le temps » et du coup ça foire parce que les branches deviennent n'importe quoi. Bref, oui, git impose une certaine méthodologie de développement (bien qu'il n'impose pas de workflow particulier), et c'est celle qui est au cœur du Libre : indépendance, fonctionnalités bien isolées (il y a d'autres outils pour l'intégration), et nécessité d'être plutôt propre et maintenable car c'est le seul moyen d'être gérable quand peu de gens contribuent.
C'est intéressant de se poser ces questions (même si pour « des gens qui gèrent les dépôts du noyau Linux », je suis sceptique), mais je pense que ça a très peu à voir avec la théorie des patchs. Après, si tu veux t'atteler à la résolution des autres « défauts » de git, pourquoi pas, mais à ce moment-là ça n'est plus une histoire de théorie des patchs, qui semble pourtant être ton cheval de bataille ici.
Et on soupçonne un tout petit peu que les gens qui nous disent ça "oublient" en général de mentionner qu'ils ont passé 10 ans à essayer de le comprendre, lus des quantités ahurissantes de livres, de blogs et de manuels pour essayer de forcer Git à rester dans les clous des axiomes que Pijul garantit au débutant qui fait son premier dépôt avec un pote, sans avoir la moindre idée de ces trucs ni de notre théorie.
Je pense rentrer dans ta description, effectivement, même si elle est légèrement exagérée sur les besoins de maîtriser git comme il faut ; on y arrive avant 10 ans en général :-) Cependant, je suis convaincu que ça en vaut la peine. Alors que souvent, les soft plus abordables, c'est agréable à utiliser au début, puis quand on les maîtrise bien, ils deviennent limitants et on passe à autre chose…
Plus tard je merge X dans master: il y a un conflit car X est appliqué deux fois, git ne réalise pas que c'est "le même commit".
Dans 90% des cas, git va réaliser que c'est le même commit (cf. git-patch-id(1)). Dans 9% des cas où il bloquera, on se rendra compte que le merge n'est pas si « évident » que ça en pratique, et peut-être qu'il va même nécessiter de le re-travailler. Et dans 1% des cas, peut-être que oui, il aurait pu s'en rendre compte et le faire tout seul mais n'y arrivera pas. Et pour augmenter encore la possibilité de résolution, utiliser git-rerere(1).
Bref, pour 99% des cas qui concernent ce problème précis, git va être le meilleur en pratique. Et vu que ce problème n'est pas rencontré si souvent, dans 99,999% des cas d'utilisation de git en général, il sera supérieur. À moins que tu arrives au même niveau sur tout le reste de git : fiabilité, communauté, évolution, rapidité, etc.
Ça n'est pas pour te décourager, tu dis toi-même que c'est un projet d'expérimentation, et c'est très bien. Dire que la théorie des patchs, « c'est bien », oui, peut-être, mais je ne vois pas en quoi en pratique ça changera quoi que ce soit : l'exemple donné dans ton premier commentaire est complètement tiré par les cheveux et n'arrivera jamais en pratique. Oui, c'est mieux quand un outil semble « parfait » jusqu'au bout, mais pour ce problème en particulier je pense qu'on n'arrivera jamais à une jolie théorie des patchs qui n'ait pas des perfs de merdes et une complexité ahurissante, tout ça pour un gain très très minime.
Bon courage pour l'expérimentation en tous cas, ça doit être marrant à coder !
Quand on y pense, git gère des « liens » placés dans un work-tree vers une version spécifique d'un fichier dans sa « base de données ». En pratique, ce sont des fichiers, mais l'opération de check-out correspond à une sort de « mise à jour des liens ». Bon, l'analogie est moyenne, mais chez moi ça a donné ça :
Bref, des dotfiles gérés réellement comme des fichiers (puisque j'ai juste déplacé le work-tree dans $HOME), et une utilisation à la git juste en changeant le nom de la commande, « dotg » (à part pour les commandes spécifiques de création initiale). Pour le code directement à lire, c'est ici : http://dolka.fr/code/gitweb/?p=dotfiles.git;a=blob;f=bin/dotg;hb=HEAD
est-ce que tu veux que tes utilisateurs puissent utiliser ton logiciel ou préfères-tu qu'ils ne puissent rien faire pour les protéger ?
Fausse dichotomie.
Pour eux, une suggestion directe de la bonne recherche dans la barre d'adresse est certainement une très bonne chose (ils ne savent pas ce qu'est une adresse).
Oui, avec un air paternaliste et en les prenant pour des cons. C'est comme dire que ça ne sert à rien de savoir lire, on va s'occuper de tout pour toi. Pour moi, dans une société libre, savoir ce qu'est une URL est la base que devrait connaître tout citoyen ; ça devrait s'apprendre à l'école. Alors forcément, il y aura toujours des entreprises pour prendre avantage des ignorants, mais ça n'est pas une justification, surtout quand on est Mozilla on qu'on a (il me semble) une volonté d'éduquer un minimum les gens sur le fonctionnement du Web.
TorBrowser est un fork de Firefox qui lui justement vise un marché d'utilisateurs plus expérimentés, qui comprennent ce qui se passe (et qui cherchent à comprendre ?) et qui préfèrent sacrifier une partie de leur confort pour mieux protéger leur vie privée.
TorBrowser c'est pour les terroristes et les pédophiles… (je caricature). Je ne vois pas pourquoi un utilisateur standard ne mériterait pas le droit à la protection de sa vie privée. Il ne devrait pas y avoir deux catégories de citoyen, à part si tu aimes bien te sentir dans la catégorie de « ceux qui savent » et que tu aimes bien entretenir les autres dans l'ignorance.
Ce que je trouve être des informations privée, c'est la communication de la moindre touche que tu appuies sur ton clavier à Google. Pour moi c'est une sorte de limite qu'il ne fallait pas dépasser. Depuis longtemps, j'ai un peu en tête une règle générale qui est « mes entrées sont envoyées lors de la validation par la touche entrée » ; c'est une sorte de règle implicite que je trouve valide dans plein de cas (OK, pas pour SSH…). Ici, Mozilla a cassé cet accord implicite.
Peut-être que c'est une question piège ? Il faudrait idéalement répondre que c'est une très mauvaise idée du point de vue sécurité d'essayer de réimplémenter un générateur pseudo-aléatoire quand on n'est pas un spécialiste hyper-pointu du domaine.
les suggestions de recherche sont activées par défaut pour les utilisateurs qui ne les ont pas désactivées explicitement (passage de opt-in à opt-out)
Alors ça c'est la modification qui me troue le plus le cul : je trouvais pas mal le comportement de demander à l'utilisateur lors de la première recherche dans la barre de navigation (elles étaient déjà actives pour la barre de recherche ; je ne l'utilise personnellement jamais) s'il veut activer l'auto-complétion ou non. C'était une des protections essentielles de la vie privée que je voyais encore active dans Firefox (et ça a l'air d'être encore vaguement dans leurs priorités vu que plus loin dans la dépêche ils semblent vouloir « protéger un peu mieux la confidentialité des données utilisateurs »).
Je vois bien que les priorités de Mozilla sur la vie privée changent un petit peu à chaque version, depuis longtemps, et qu'ils le font façon « fable de la grenouille », mais ça devient de plus en plus insupportable.
Sur PowerPC les différentes variantes du shift (comme le rotate, si on peut vraiment le considérer comme tel) sont synthétisées par une seule instruction « rlwirm » — dans la grande tradition du RISC — qui est juste paramétrée différemment. Cf. le Programming Environments Manual, dont le tableau F.4.2 trouvable ici http://www.csit-sun.pub.ro/~cpop/Documentatie_SMP/Motorola_PowerPC/PowerPc/GenInfo/pemappF.pdf résume bien la génialité de la chose : on pourrait presque imaginer, en regardant par exemple les tableaux détaillant le codage consécutif des instructions ici http://www.nxp.com/assets/documents/data/en/reference-manuals/MPCFPE32B.pdf, le câblage du CPU devant ses yeux (juste un bit change pour un paramètre différent qu'on retrouve dans plein d'instructions similaires, de manière à minimiser le coût en transistors).
Malheureusement, ça n'est pas exploitable directement en C, et le compilateur doit en déduire des manipulations d'entier si l'instruction unique est émissible.
Bon, ça c'était l'instruction avec une valeur de shift immédiate, mais il existe aussi les version indexées par un registre.
Et pour revenir au journal, arithmétique modulo ou pas, rotate ou shift, tout est géré par cette instruction magique comme vous le souhaitez : il n'y a pas un choix plus « logique » que l'autre.
le mandat de prélèvement est dorénavant le moyen standard pour transférer de l'argent entre un organisme ou entreprise et un particulier, et c'est le seul moyen qui permette un traitement automatisé des payements (sans envois de bouts de papier qui, de toutes façons, n'assurent aucune sécurité supplémentaire).
C'est complètement faux par rapport au journal que j'avais posté : le virement SEPA est également un moyen très standard de régler des dettes en Europe. C'est utilisé dans tous les autres pays, sauf la France… Comme tu précises plus bas, c'est peut-être « source d'erreur » pour l'état, mais pour le citoyen c'est un pouvoir de négociation non-négligeable qui lui permet de choisir si la demande de règlement est légitime ou non. Et ça ça n'est pas négligeable du tout : on inverse complètement le rapport de force qui existait jusqu'à présent.
Il y aurait peut-être un effort de normalisation à faire de la part des banques sur la référence du paiement, mais ça c'est un peu dû à l'incompétence des banques qui n'ont même pas été foutues d'avoir un format commun de référence SEPA à foutre dans les credit transfer/direct debit.
Moi ça fait des années que j'ai un setup avec un modem ADSL sur le même réseau que le LAN, et ça marche très bien. OpenWrt sait gérer ce genre de setup depuis bien longtemps.
Je n'ai pas le routeur sous la main, mais en gros, tu as ton LAN appelé « lan », et tu indique que ta connexion WAN en PPPoE passe également par ce réseau « lan ». Comme ça, hop, un modem avec un seul Ethernet, un routeur pareil, un gros switch au milieu, et tout roule.
Je ne comprends pas que tant de monde ait des problèmes avec des routeurs à un seul port Ethernet, même si je peux comprendre qu'au premier abord, un routeur avec seulement une prise Ethernet ça peut paraître étrange.
Ta question m'a intriguée, chez moi ça marche. En fait, c'est le nouveau format de fingerprint de ssh. Pour avoir l'ancien, en md5, il faut faire (avec la nouvelle version de ssh-keygen, que je n'ai pas en Debian stable) :
ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub Cf. http://stackoverflow.com/questions/9607295/how-do-i-find-my-rsa-key-fingerprint
Récupérer ses programmes ouverts peut-être éventuellement ?
« Éventuellement » ? Pour moi c'est absolument indispensable ! J'utilise le suspend-to-ram et l'hibernation à fond, et ces fonctionnalités sont tout bonnement indispensables pour une utilisation correcte de mes machines.
Regardez comme Apple a même supprimé la modalité « d'alimentation » de sa machine : elles sont toujours allumées, vous ne pouvez même plus vraiment les « éteindre », et vous retrouvez toujours tous vos programmes disponibles sans avoir à les démarrer… C'est vraiment très bien fait !
J'ai l'impression de le répéter souvent : le swap est au contraire toujours très utile quand tu utilises beaucoup de programmes. Ton kernel va pouvoir mettre « de côté » certains programmes (sur le swap) pendant qu'il utilise plus de RAM pour un autre, que ça soit en mémoire allouée ou en cache disque. Sans swap, il devrait garder tous les programmes en RAM tout le temps, même ceux qui sont actuellement inutilisés. Vois ça comme une sorte « d'hibernation » pour programme peu utilisé.
Pour aller encore plus loin, idéalement, le swap permettrait de supprimer la modalité « programme chargé ou pas ». Dans l'idéal, on n'aurait pas à savoir si on doit « démarrer » un programme ou pas, il aurait un état « permanent » qu'on (enfin, le kernel) chargerait comme il veut. Allez voir le checkpoint/restore pour voir ce que ça donne quand on étend le principe du swap à un état partitionnable et transférable entre machines (le swap ça serait un état propre à une seule machine).
Notez aussi qu'il existe aussi déjà un « swap implicite » avec le mapping à la demande des programmes et bibliothèques présents sur le disque. Bref, le swap c'est utilisez à fond le principe de mémoire virtuelle, qui a été inventé il y a longtemps mais que j'ai l'impression les jeunes générations n'apprennent plus…
Je ne l'utilise plus mais mon téléphone SIP Siemens marchait très bien derrière un NAT ipv4. Je crois qu'il utilisait STUN pour cela mais quoiqu'il en soit c'est possible. Le fait que le NAT est utilisé par défaut depuis 2 décennies pour l'acès internet des réseau domestique fait qu'on a depuis mis en place toute sorte de méthodes et que ça n'en fait pas un accès [i]minitel[/i].
Je pense que ton téléphone ne marchera plus aussi bien aujourd'hui, et ne marchera plus dans le futur, à cause des « CGN » et autres conneries pour minitéliser Internet. C'est le problème d'IPv4 : ça va marcher de moins en moins bien ; enfin, pour les protocoles qui exploitent vraiment l'architecture d'Internet. Pour consulter FB, forcément, oui, ça marchera toujours… Mais la non mise en place d'IPv6 va finir de tuer ces usages décentralisés.
Pour tes arguments sur la non-migration, bien sûr qu'ils sont valides et comptent aussi, mais le miens sur « l'ouverture » que permet IPv6 n'est pas anodin non plus, et prend de plus en plus d'importance au fur et à mesure que les premiers deviennent de moins en moins valable.
En général, derrière un NAT, on a accès à tout Internet…
Tu as accès au Minitel, oui, mais tu ne fais pas partie d'Internet. Donc tu n'auras pas de téléphone SIP qui marche (ton FAI se garde de la concurrence ainsi), tu ne pourras pas t'autohéberger facilement, tu ne pourras pas avoir de service de télévision multicastée (ton FAI te « l'offre », pourquoi aller voir ailleurs ?), etc.
Et en l'occurrence, concernant Linuxfr ou les VPS OVH, je ne vois même pas où est censé être ce « NAT protecteur ». Ce n'est pas parce qu'un hébergeur ne fournit pas IPv6 que l'IPv4 du serveur est NATtée.
Je pensais qu'on parlait des FAI pour le grand public, quand tu disais qu'ils étaient à la bourre sur IPv6. Je parlais du NAT sur le grand public, donc.
Tu ne serais pas en train de chercher à inventer des coupables ? Je n'ai jamais vu d'applications qui serait écrites en imposant à l'utilisateur d'être derrière un NAT.
Je n'ai pas dit ça. Je dis au contraire que les applications actuelles sont souvent codées pour s'accommoder du NAT, du coup les opérateurs les utilisent comme excuse pour ne pas proposer IPv6. En oubliant de parler des problèmes pour les applications qui tirent profit complètement de l'architecture d'Internet : SIP, P2P, etc.
Oui, enfin franchement, j'ai l'impression que tu as rencontré un jour dans ta vie un cas de framework mal codé, et que tu extrapoles à la Terre entière parce que ça t'arrange de croire que tous les autres codent comme des gorets alors que toi, tu as tout compris.
Je ne dis pas que « j'ai » tout compris, ça vient de l'IETF. Les applis étaient relativement bien codées jusqu'à maintenant, c'est juste qu'on vient mettre une couche avec les containeurs qui casse souvent ces applications. C'est cette régression que je déplore.
Franchement, je n'ai pas l'impression que les services logiciels les plus répandus ne soient pas compatibles IPv6.
Les services « les plus répandus », oui, mais ceux qui créent des services au-dessus et qui cassent tout en les utilisant mal…
Par contre, des opérateurs ou des fournisseurs d'accès qui ne fournissent pas de connectivité IPv6 correcte, ça existe encore
Oui ça c'est vrai que c'est l'autre gros point noir ; je m'y était juste tellement habitué que je n'y fais plus gaffe. Mais ça n'est pas près d'arriver, vu que c'est pour des raisons commerciales : offrir de l'IPv6, c'est ouvrir le marché de se abonnés captifs derrière leur NAT « protecteur »…
Je me doute bien qu'il y a quelques bouts de code de-ci de-là qui ne connaissent que AF_INET, mais ce n'est pas le problème dominant.
C'est le problème dominant de la couche « service » uniquement, mais ça n'est pas rien. C'est également une des excuses des opérateurs : les applications « n'en ont pas besoin », vu que tout est codé pour s'abstraire d'IP à cause des NAT et de réinventer des couches d'abstraction usine à gaz en-dessous.
Corrigeons : très peu de gens se soucient de l'API socket parce qu'ils développent des services réseaux à un plus haut niveau, en se basant sur un canevas logiciel ou au minimum une couche d'abstraction existante. On est en 2017…
Oui, mais souvent ils l'utilisent mal… Par exemple, au-delà des sockets pur, savoir utiliser getaddrinfo() : tu vas me dire que c'est abstrait par les framework, mais non, souvent soit ils ne l'utilisent pas, soient ils l'utilisent mal ; on doit normalement itérer sur les résultats pour jauger la connectivité, pour des raisons de transition, de répartition, et de disponibilité. Encore une fois, ces frameworks veulent souvent abstraire ça et rajouter un couche, et foutent la grouille parce qu'ils n'ont pas compris que seule l'application elle-même peut prendre des décisions sur le choix des destinations en fonction de leur atteignabilité.
Malheureusement, j'ai rarement (voire jamais) vu une bonne séparation des rôles comme tu le prônes en pratique. C'est dans quel genre de boîte que tu vois ça ?
Dire que les conteneurs ça ne scale pas j ai un peu du mal avec ça, suffit de voir les démos hyperscale de mesos pour être convaincu du contraire.
Mais à quoi ça sert de mesurer le nombre de containers que tu peux faire tourner ? Dire qu'on peut mettre 1000 apache sur une machine est une prouesse qui sert à quoi ? Sans containers, tes applis marcheraient aussi bien, voire plus vite, mais personne n'a jamais pensé à faire sa pub sur combien d'applis il pouvait faire tourner sur une machine… Ce que je dis, c'est que les containers c'est souvent coupler l'appli, l'admin, et le réseau, et ça c'est mauvais pour scaler.
Je sais pas comment on fait des conteneurs chez toi mais perso je trouve ça propre et les développeurs gèrent pas le réseau,
Alors ça m'intéresse de savoir comment « ils ne gèrent pas le réseau » : dans la plupart des cas d'utilisation que j'ai vu, les développeurs codent en dur des confs réseau et des paramètres de leurs socket, pour que ton framework de container fasse une traduction (ou une autre forme de configuration indirecte). C'est un état intermédiaire inutile, sujet à bugs, problèmes de fiabilité, etc.
ni la collecte des logs d ailleurs (12 factor apps),
Je ne connais pas, mais qu'est-ce que ça apporte face à syslog ?
après on est d accord qu il sa faut des gens compétents qui gèrent la platerforme.
En effet.
Docker et ipv6 c est des sujets complètement orthogonaux pour moi.
Théoriquement, oui. Je vois juste que les devs qui utilisent le réseau comptent sur son infra de NAT pour corriger leur méconnaissance de l'archi du net. Peut-être qu'en IPv6 ça va changer, mais j'ai quand-même vu des gens promouvoir le NAT IPv6 avec Docker, et ça me fait peur. Tant que les devs ne seront pas sensibilisés à l'architecture d'Internet, on aura des horreurs comme ça, même si en théorie ça doit être orthogonal.
La non migration d ipv4 à ipv6 n est en aucun cas lié au vm mais au fait que on a pas pensé la transition, par exemple combien de temps entre le début des normes ipv6 et les premiers tunelles 6 to 4?
Pardon ? 6to4 (RFC 3056 https://tools.ietf.org/html/rfc3056 ; déprécié, attention !) est apparu en 2001, moins de trois ans après IPv6 (RFC 2460 https://tools.ietf.org/html/rfc2460 en 1998). Il existe pléthore de mécanismes de transition, mais ça n'est pas le problème : chez les devs, très peu de gens se préoccupent de l'abstraction de la famille sur les sockets, et c'est LE problème qui casse tout à chaque fois. Encore une fois, il y a deux catégories de problèmes, et il ne faut pas les mélanger : les histoires d'infra (admin système et réseau), et les histoires d'architecture logicielle (pour les devs). Pour les premiers, comme je disais, il existe plein de solutions différentes. Mais c'est chez les seconds qu'il y a de grosses lacunes. Le problème est qu'on est venu palier ces problèmes chez les devs avec des archis complexes de VMs et containers, qui en plus mélangent les problèmes de déploiements et administration (i.e. les premiers, qu'on devait séparer) ! C'est une erreur qui nous coûte très cher, car on n'est pas près de passer ces archis à IPv6, selon moi.
T'a perdu ton boulot à cause d'un devops pour être aussi négatif ?
Ah non, au contraire, ça me fait plein de boulot en plus, qu'on aurait pu éviter si les devops savaient bosser un peu mieux…
Oui les VM (afin les première version des outils de chez VMware) ne géré que du L2 et on a crée des énormes réseau L2 avec tout les problèmes que ça a amenés mais ce temps la est révolu.
Heu… et ça c'est quoi ? https://tools.ietf.org/html/rfc7348 (peut-être que tu considère ça vieux, je ne connais pas ton échelle de temps) On a ensuite réinventé la mobilité niveau L2 alors que c'était ce qu'apportait IPv6 en mieux, on a maintenant le problème des tables trop grosses donc on va partitionner, comme… du routage ! J'avais vu il y a quelques années un ingé de chez Gandi proposer de l'interconnexion de L2 (avec TRILL et compagnie) pour créer un grand réseau mondial !! Allo, NIH ?
Un DevOps "compétant" il te fait du L3 avec du iBGP pour le routage maintenant (et depuis quelque temps déjà).
J'aimerais bien en voir… ou pas, parce qu'un dev en général il connaît mal le réseau, ou pire, il croit le connaître bien… Mais le problème ça n'est pas que le dev, c'est toute l'infrastructure autour qui est en train de se complexifier à mort, et qui va lui donner raison d'avoir choisi du container complexe.
Après toute migration IPv4 -> IPv6 est compliquée, beaucoup de gens croit que c'est juste la taille des IP qui a grossie mais c'est quasiment tout qui change, y a beaucoup de chose a réapprendre (ARP -> NDP, les multiples configuration possible entre RA et DHCPv6 etc…).
Oui bien sûr, c'est plus compliqué que juste la taille. Les problèmes que tu cites sont par contre liés à l'administration du réseau et des machines, et ne devraient pas concerner les devs. Ils auraient théoriquement dû uniquement adapter leur code aux sockets indépendantes de la famille d'adresse (je ne dis pas que c'est facile, hein, mais peu de monde s'en préoccupe).
Ce qui me chagrine, c'est que depuis plusieurs années on a fait une migration d'IPv4 vers une « autre couche » non-standardisée au niveau des développeurs, au lieu de migrer vers une architecture IPv6 (avec des sockets simples), et comme plein d'argent a été mis dedans, on ne va pas vouloir la changer de si tôt ! Et rien n'a été appliqué de l'architecture d'Internet telle qu'elle a été définit (mais sûrement mal expliquée, vu que tout le monde martèle l'histoire de taille d'adresse uniquement). Ce qu'il faudrait enseigner, c'est la version technique du « Minitel 2.0 », et faire comprendre que gérer des VMs/containers ça scale pas, et que c'est juste une nouvelle couche pour devenir l'abstraction proprio (ou presque) de référence au détriment des technologies standard de l'Internet.
Mais en fait je me rends compte qu'à chaque fois que j'en parle, personne ne comprend… s'ils y en a qui voient un peu ce que je veux dire, qu'ils lèvent la main !
En fait, le commentaire est un peu approximatif. Les VMs/conteneurs sont arrivés pour répondre à un besoin
Besoin que je ne comprends toujours pas vraiment ; enfin, je vois bien les avantages, mais les désavantages qu'on aime bien cacher sous le tapis sont toujours trop grands pour moi.
mais ne changent pas spécialement la façon dont ça se connecte. Ça reste des équipements virtuels nécessitant des IPs.
Oui, mais la question est dans la gestion de la complexité de ton routage, et le découplage du réseau de l'application. Faire « de l'IP », c'est simple : c'est un des protocoles réseau les plus bêtes. Comprendre et bien utiliser l'architecture d'Internet, c'est une tout autre histoire. Quand les personnes qui font du Docker voudront automatiser la configuration réseau de leurs containers, ils vont réinventer DHCPv6, ça nous fera une belle jambe.
Là où benoar a raison, c'est la gestion du réseau y'a 2-3 ans dans Docker où c'était effectivement codé assez bizarrement de façon hard-codée dans tous les sens. Mais c'était de l'alpha.
Effectivement, c'est ce que j'avais vu à l'époque. Je n'ai pas trop regardé depuis, mais de ce que je lis ça n'est pas la folie non plus.
Ma critique va dans le sens où ça n'avance pas à grand chose de « faire de l'IPv6 », quand on n'utilise pas l'architecture logicielle de l'Internet : ton « unité » de base reste le container, avec ses API spécifiques. L'API de l'Internet, c'est les socket, et normalement une application a « juste » à gérer son socket pour pouvoir communiquer avec le reste du monde. De son côté, l'admin sys/réseau configure son OS et ses routeurs.
Ici, avec Docker, on a réinventé une nouvelle abstraction, avec son API, etc. Ceux qui savaient comment administrer un OS doivent tout réadapter avec cette nouvelle couche. Alors, pourquoi pas passer vers une nouvelle techno si elle t'apporte des bénéfices, mais perso je vois juste Docker comme un système de packaging qui s'abstrait de la distribution, avec plus de rigidité en échange d'une meilleure reproductibilité. Mais ça amène tout son lot de trucs chiants avec. En particulier pour les admin sys/réseau, je pense que c'est une grosse usine à gaz qui ne leur apporte pas vraiment grand chose.
En fait, Internet est une architecture logicielle qui est tellement plus que ce qu'on l'imagine : c'est comment découpler l'architecture du réseau des applications qui tournent dessus. L'intelligence est aux extrémités (dans les applications), découplée du fonctionnement du réseau (le routage), qui est très bête. Les VMs ou les containers, c'est ramener du couplage sous les applications, et ramener de l'état dans le réseau, à gérer, synchroniser, etc, et ça c'est très compliqué et peu fiable. Je suis quasiment sûr que ces couches ramènes des problématiques de circuit par connexion (avec du conntrack, voire pire, du NAT), et ça personne n'a l'air de comprendre pourquoi c'est mal même si on a la démonstration depuis des dizaines d'années par les telcos que ça scale pas (c'est pas pour rien que les propositions d'amélioration de MPLS vont vers moins d'état dans le cœur du réseau… ils réinventent Internet 40 ans plus tard, mais bon, on n'est pas à une réinvention de la roue près).
[^] # Re: Pourquoi du théorie des patch c'est bien
Posté par benoar . En réponse au journal Pijul, un nouveau gestionnaire de source. Évalué à 4.
Quel rapport avec git ? La réticence au changement en entreprise va parfois contre toute logique. Il y aurait le meilleur VCS au monde qu'ils resteraient à CVS…
Alors j'avoue c'est bien présenté, et que ça donne envie d'aller voir. C'est bien d'avoir une certaine assurance comme tu le fais, et je vois que tu as la théorie derrière pour soutenir ton truc. Mais fais attention à ne pas voir toujours les défauts de git qui t'arrangent : tu pourrais passer à côté des choses géniales que tu ne remarques même pas. Genre le système sous-jacent exposé et exploitable, les formats de données simples et centraux, l'état du VCS exposé dans le filesystem, l'utilisation en shell facile (pas mal de fonctions de merge de git sont même juste du shell !). Plein de trucs sûrement « pas propres » et pas prouvés ni sûrs, mais qui le rendent génial.
C'est drôle que tu prennes l'exemple du C, parce que justement il a une courbe d'apprentissage un peu rude quand même, il n'est pas parfait, et j'aurais donc fait le parallèle avec git…
Parce qu'il développent du soft d'une manière qui n'a aucun sens pour le libre. Souvent parce qu'ils ne veulent pas modulariser, parce qu'ils l'utilisent comme outil d'intégration, etc (c'est la liste que j'ai déjà citée). Et qu'aucun outil apportant les fonctionnalités de git ne pourra faire mieux en perf ; ils auront donc des très plus pourris, mais qui tiennent leur taille de projet. Ou alors ça serait une vraie révolution, mais j'y crois très peu. Pijul le serait, d'après toi ?
Option « --depth » de git-clone, et pour aller plus loin voir le fonctionnement du fichier « shadow » dans le .git (je ne vois pas de doc, mais en gros tu peux mettre n'importe quel nombre de ref dedans qui permettent de cacher des parties de la hiérarchie ; ça fait partie des trucs avancés peu exploités mais qui donnent des idées).
Ça fait deux fois que t'en parles mais je ne l'ai jamais entendu dire ça… source ?
[^] # Re: Computer in computer
Posté par benoar . En réponse au journal Dongle 4G sous environnement libre. Évalué à 7.
Pour être plus précis (bon, je parle d'un E3372, mais ça doit être proche), la clé a un CPU ARM chinois avec RAM et Flash et tourne sous Android. C'est un Linux avec plein de logiciels à priori libres dessus, mais dont on ne sait pas où sont les sources. Il y a des russes sur un forum qui ont reverse-engineeré le bousin (pas de lien maintenant, boulot, toussa) et qui ont reprogrammé entièrement la clé, si ça vous intéresse de bidouiller.
Le dongle faisant routeur + NAT avec la 4G, ça veut bien sûr dire zéro contrôle réellement sur le medium, ça interdit l'IPv6, ou tout autre truc qui sort un peu de l'ordinaire (IPsec, etc). Il existe plusieurs modes de fonctionnement, dont un pour revenir en PPP « simple », très peu documentés, variant avec les versions du firmware et les version du hard, qui ne sont bien sûr pas identifiés, ni trop documentés. Il plante régulièrement (enfin, ça dépend des versions), et pompe souvent plus d'1A sur le port USB (il chauffe bien, touchez-le !), donc par exemple ça ne marche pas avec des ports trop faibles en puissance (RasPi).
Ce qui est drôle c'est de parler « d'environnement libre » avec ce genre de cochonnerie.
Effectivement, ta clé sera utilisée comme zombie, ou aura un ransomware pour retrouver ta connexion, ou plein d'autres trucs drôles. Les MàJ bien sûr c'est zéro. Et ce sont des clés officiellement poussées par Orange pour la 4G, pour info.
Je crois qu'il parlait de brancher cette clé sur un routeur avec OpenWrt, pas de mettre OpenWrt dessus, ce qui est pour l'instant impossible à ma connaissance.
[^] # Re: Pourquoi du théorie des patch c'est bien
Posté par benoar . En réponse au journal Pijul, un nouveau gestionnaire de source. Évalué à 3.
Mouarf, avec ton exemple, là ? Je veux bien un exemple concret, pour moi ça reste un cas irréaliste.
Ah bon ? J'ai pas souvenir de ça. Dès le début, c'était le soft « codé par Torvalds » et même s'il était difficile d'accès, très vite les gens ont reconnu sa supériorité (et les problèmes de SVN) même si on imaginait une période de transition pendant laquelle SVN allait rester encore présent. Mais j'ai rarement vu un soft prendre de l'ampleur aussi rapidement que git !
Oui c'est vrai. Mais étant partisan des courbes d'apprentissage paraboliques, j'estime que ça vaut le coup à long terme.
Chez Facebook & co, et dans les entreprises en général, il y a des contraintes particulières qui font qu'il est moins adapté, mais ce sont pour moi de mauvaises raisons : soit ça donne trop de liberté aux devs et les chefs n'aiment pas ça (git c'est vraiment pour que chaque dev soit complètement indépendant, c'est très présent dans son idéologie, ya pas à dire), soit ça n'intègre pas tout le nécessaire d'intégration et on le tord pour en faire un outil d'intégration et ça marche mal, soit on fait des trucs crades parce que « on n'a pas le temps » et du coup ça foire parce que les branches deviennent n'importe quoi. Bref, oui, git impose une certaine méthodologie de développement (bien qu'il n'impose pas de workflow particulier), et c'est celle qui est au cœur du Libre : indépendance, fonctionnalités bien isolées (il y a d'autres outils pour l'intégration), et nécessité d'être plutôt propre et maintenable car c'est le seul moyen d'être gérable quand peu de gens contribuent.
C'est intéressant de se poser ces questions (même si pour « des gens qui gèrent les dépôts du noyau Linux », je suis sceptique), mais je pense que ça a très peu à voir avec la théorie des patchs. Après, si tu veux t'atteler à la résolution des autres « défauts » de git, pourquoi pas, mais à ce moment-là ça n'est plus une histoire de théorie des patchs, qui semble pourtant être ton cheval de bataille ici.
Je pense rentrer dans ta description, effectivement, même si elle est légèrement exagérée sur les besoins de maîtriser git comme il faut ; on y arrive avant 10 ans en général :-) Cependant, je suis convaincu que ça en vaut la peine. Alors que souvent, les soft plus abordables, c'est agréable à utiliser au début, puis quand on les maîtrise bien, ils deviennent limitants et on passe à autre chose…
[^] # Re: Pourquoi du théorie des patch c'est bien
Posté par benoar . En réponse au journal Pijul, un nouveau gestionnaire de source. Évalué à 5.
Dans 90% des cas, git va réaliser que c'est le même commit (cf. git-patch-id(1)). Dans 9% des cas où il bloquera, on se rendra compte que le merge n'est pas si « évident » que ça en pratique, et peut-être qu'il va même nécessiter de le re-travailler. Et dans 1% des cas, peut-être que oui, il aurait pu s'en rendre compte et le faire tout seul mais n'y arrivera pas. Et pour augmenter encore la possibilité de résolution, utiliser git-rerere(1).
Bref, pour 99% des cas qui concernent ce problème précis, git va être le meilleur en pratique. Et vu que ce problème n'est pas rencontré si souvent, dans 99,999% des cas d'utilisation de git en général, il sera supérieur. À moins que tu arrives au même niveau sur tout le reste de git : fiabilité, communauté, évolution, rapidité, etc.
Ça n'est pas pour te décourager, tu dis toi-même que c'est un projet d'expérimentation, et c'est très bien. Dire que la théorie des patchs, « c'est bien », oui, peut-être, mais je ne vois pas en quoi en pratique ça changera quoi que ce soit : l'exemple donné dans ton premier commentaire est complètement tiré par les cheveux et n'arrivera jamais en pratique. Oui, c'est mieux quand un outil semble « parfait » jusqu'au bout, mais pour ce problème en particulier je pense qu'on n'arrivera jamais à une jolie théorie des patchs qui n'ait pas des perfs de merdes et une complexité ahurissante, tout ça pour un gain très très minime.
Bon courage pour l'expérimentation en tous cas, ça doit être marrant à coder !
# Sans liens symboliques
Posté par benoar . En réponse au journal kyrbeis: un outil basique de gestion de dotfiles. Évalué à 4.
Quand on y pense, git gère des « liens » placés dans un work-tree vers une version spécifique d'un fichier dans sa « base de données ». En pratique, ce sont des fichiers, mais l'opération de check-out correspond à une sort de « mise à jour des liens ». Bon, l'analogie est moyenne, mais chez moi ça a donné ça :
http://dolka.fr/code/gitweb/?p=dotfiles.git;a=summary
Bref, des dotfiles gérés réellement comme des fichiers (puisque j'ai juste déplacé le work-tree dans $HOME), et une utilisation à la git juste en changeant le nom de la commande, « dotg » (à part pour les commandes spécifiques de création initiale). Pour le code directement à lire, c'est ici :
http://dolka.fr/code/gitweb/?p=dotfiles.git;a=blob;f=bin/dotg;hb=HEAD
C'est sous GPLv3+.
[^] # Re: La suggestion de recherche activée par défaut ça améliore la confidentialité ?
Posté par benoar . En réponse à la dépêche Firefox 55 est prêt pour la rentrée 2017. Évalué à 5.
Fausse dichotomie.
Oui, avec un air paternaliste et en les prenant pour des cons. C'est comme dire que ça ne sert à rien de savoir lire, on va s'occuper de tout pour toi. Pour moi, dans une société libre, savoir ce qu'est une URL est la base que devrait connaître tout citoyen ; ça devrait s'apprendre à l'école. Alors forcément, il y aura toujours des entreprises pour prendre avantage des ignorants, mais ça n'est pas une justification, surtout quand on est Mozilla on qu'on a (il me semble) une volonté d'éduquer un minimum les gens sur le fonctionnement du Web.
TorBrowser c'est pour les terroristes et les pédophiles… (je caricature). Je ne vois pas pourquoi un utilisateur standard ne mériterait pas le droit à la protection de sa vie privée. Il ne devrait pas y avoir deux catégories de citoyen, à part si tu aimes bien te sentir dans la catégorie de « ceux qui savent » et que tu aimes bien entretenir les autres dans l'ignorance.
[^] # Re: La suggestion de recherche activée par défaut ça améliore la confidentialité ?
Posté par benoar . En réponse à la dépêche Firefox 55 est prêt pour la rentrée 2017. Évalué à 6.
Ce que je trouve être des informations privée, c'est la communication de la moindre touche que tu appuies sur ton clavier à Google. Pour moi c'est une sorte de limite qu'il ne fallait pas dépasser. Depuis longtemps, j'ai un peu en tête une règle générale qui est « mes entrées sont envoyées lors de la validation par la touche entrée » ; c'est une sorte de règle implicite que je trouve valide dans plein de cas (OK, pas pour SSH…). Ici, Mozilla a cassé cet accord implicite.
# Question piège ?
Posté par benoar . En réponse au message Implémentation de /dev/random. Évalué à 7.
Peut-être que c'est une question piège ? Il faudrait idéalement répondre que c'est une très mauvaise idée du point de vue sécurité d'essayer de réimplémenter un générateur pseudo-aléatoire quand on n'est pas un spécialiste hyper-pointu du domaine.
# La suggestion de recherche activée par défaut ça améliore la confidentialité ?
Posté par benoar . En réponse à la dépêche Firefox 55 est prêt pour la rentrée 2017. Évalué à 6.
Alors ça c'est la modification qui me troue le plus le cul : je trouvais pas mal le comportement de demander à l'utilisateur lors de la première recherche dans la barre de navigation (elles étaient déjà actives pour la barre de recherche ; je ne l'utilise personnellement jamais) s'il veut activer l'auto-complétion ou non. C'était une des protections essentielles de la vie privée que je voyais encore active dans Firefox (et ça a l'air d'être encore vaguement dans leurs priorités vu que plus loin dans la dépêche ils semblent vouloir « protéger un peu mieux la confidentialité des données utilisateurs »).
Je vois bien que les priorités de Mozilla sur la vie privée changent un petit peu à chaque version, depuis longtemps, et qu'ils le font façon « fable de la grenouille », mais ça devient de plus en plus insupportable.
[^] # Re: Un utilisateur OCaml sous PowerPC
Posté par benoar . En réponse au journal Un décalage de 64 bits, ça vous inspire comment ?. Évalué à 3.
[Hors Sujet, un peu]
Sur PowerPC les différentes variantes du shift (comme le rotate, si on peut vraiment le considérer comme tel) sont synthétisées par une seule instruction « rlwirm » — dans la grande tradition du RISC — qui est juste paramétrée différemment. Cf. le Programming Environments Manual, dont le tableau F.4.2 trouvable ici http://www.csit-sun.pub.ro/~cpop/Documentatie_SMP/Motorola_PowerPC/PowerPc/GenInfo/pemappF.pdf résume bien la génialité de la chose : on pourrait presque imaginer, en regardant par exemple les tableaux détaillant le codage consécutif des instructions ici http://www.nxp.com/assets/documents/data/en/reference-manuals/MPCFPE32B.pdf, le câblage du CPU devant ses yeux (juste un bit change pour un paramètre différent qu'on retrouve dans plein d'instructions similaires, de manière à minimiser le coût en transistors).
Malheureusement, ça n'est pas exploitable directement en C, et le compilateur doit en déduire des manipulations d'entier si l'instruction unique est émissible.
Bon, ça c'était l'instruction avec une valeur de shift immédiate, mais il existe aussi les version indexées par un registre.
Et pour revenir au journal, arithmétique modulo ou pas, rotate ou shift, tout est géré par cette instruction magique comme vous le souhaitez : il n'y a pas un choix plus « logique » que l'autre.
[^] # Re: Déja discuté
Posté par benoar . En réponse au journal Comment se faire forcer la main par les impôts. Évalué à 2.
C'est complètement faux par rapport au journal que j'avais posté : le virement SEPA est également un moyen très standard de régler des dettes en Europe. C'est utilisé dans tous les autres pays, sauf la France… Comme tu précises plus bas, c'est peut-être « source d'erreur » pour l'état, mais pour le citoyen c'est un pouvoir de négociation non-négligeable qui lui permet de choisir si la demande de règlement est légitime ou non. Et ça ça n'est pas négligeable du tout : on inverse complètement le rapport de force qui existait jusqu'à présent.
Il y aurait peut-être un effort de normalisation à faire de la part des banques sur la référence du paiement, mais ça c'est un peu dû à l'incompétence des banques qui n'ont même pas été foutues d'avoir un format commun de référence SEPA à foutre dans les credit transfer/direct debit.
[^] # Re: La Brique
Posté par benoar . En réponse au message Routeur pour VPN@Home. Évalué à 4.
Moi ça fait des années que j'ai un setup avec un modem ADSL sur le même réseau que le LAN, et ça marche très bien. OpenWrt sait gérer ce genre de setup depuis bien longtemps.
Je n'ai pas le routeur sous la main, mais en gros, tu as ton LAN appelé « lan », et tu indique que ta connexion WAN en PPPoE passe également par ce réseau « lan ». Comme ça, hop, un modem avec un seul Ethernet, un routeur pareil, un gros switch au milieu, et tout roule.
Je ne comprends pas que tant de monde ait des problèmes avec des routeurs à un seul port Ethernet, même si je peux comprendre qu'au premier abord, un routeur avec seulement une prise Ethernet ça peut paraître étrange.
# Nouveau format
Posté par benoar . En réponse au message Comment retrouver une clé SSH à partir de son empreinte ?. Évalué à 10.
Ta question m'a intriguée, chez moi ça marche. En fait, c'est le nouveau format de fingerprint de ssh. Pour avoir l'ancien, en md5, il faut faire (avec la nouvelle version de ssh-keygen, que je n'ai pas en Debian stable) :
Cf. http://stackoverflow.com/questions/9607295/how-do-i-find-my-rsa-key-fingerprintssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub
[^] # Re: Le swap ?
Posté par benoar . En réponse au journal Du bon partitionnement entre un SSD et un HDD . Évalué à 5.
« Éventuellement » ? Pour moi c'est absolument indispensable ! J'utilise le suspend-to-ram et l'hibernation à fond, et ces fonctionnalités sont tout bonnement indispensables pour une utilisation correcte de mes machines.
Regardez comme Apple a même supprimé la modalité « d'alimentation » de sa machine : elles sont toujours allumées, vous ne pouvez même plus vraiment les « éteindre », et vous retrouvez toujours tous vos programmes disponibles sans avoir à les démarrer… C'est vraiment très bien fait !
[^] # Re: Le swap ?
Posté par benoar . En réponse au journal Du bon partitionnement entre un SSD et un HDD . Évalué à 7.
J'ai l'impression de le répéter souvent : le swap est au contraire toujours très utile quand tu utilises beaucoup de programmes. Ton kernel va pouvoir mettre « de côté » certains programmes (sur le swap) pendant qu'il utilise plus de RAM pour un autre, que ça soit en mémoire allouée ou en cache disque. Sans swap, il devrait garder tous les programmes en RAM tout le temps, même ceux qui sont actuellement inutilisés. Vois ça comme une sorte « d'hibernation » pour programme peu utilisé.
Pour aller encore plus loin, idéalement, le swap permettrait de supprimer la modalité « programme chargé ou pas ». Dans l'idéal, on n'aurait pas à savoir si on doit « démarrer » un programme ou pas, il aurait un état « permanent » qu'on (enfin, le kernel) chargerait comme il veut. Allez voir le checkpoint/restore pour voir ce que ça donne quand on étend le principe du swap à un état partitionnable et transférable entre machines (le swap ça serait un état propre à une seule machine).
Notez aussi qu'il existe aussi déjà un « swap implicite » avec le mapping à la demande des programmes et bibliothèques présents sur le disque. Bref, le swap c'est utilisez à fond le principe de mémoire virtuelle, qui a été inventé il y a longtemps mais que j'ai l'impression les jeunes générations n'apprennent plus…
[^] # Re: Pinaillage
Posté par benoar . En réponse à la dépêche La voiture en open source. Évalué à 2.
C'est une parodie de la vidéo « bien connue » (pas pour les français…) effectivement. Et une autre très bonne : https://www.youtube.com/watch?v=xuxO6CZptck.
[^] # Re: 2FA
Posté par benoar . En réponse au journal Sécurité et authentification des sites bancaires.. Évalué à 4.
C'est également le cas pour les particuliers, et depuis un bout de temps.
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à 2.
Je pense que ton téléphone ne marchera plus aussi bien aujourd'hui, et ne marchera plus dans le futur, à cause des « CGN » et autres conneries pour minitéliser Internet. C'est le problème d'IPv4 : ça va marcher de moins en moins bien ; enfin, pour les protocoles qui exploitent vraiment l'architecture d'Internet. Pour consulter FB, forcément, oui, ça marchera toujours… Mais la non mise en place d'IPv6 va finir de tuer ces usages décentralisés.
Pour tes arguments sur la non-migration, bien sûr qu'ils sont valides et comptent aussi, mais le miens sur « l'ouverture » que permet IPv6 n'est pas anodin non plus, et prend de plus en plus d'importance au fur et à mesure que les premiers deviennent de moins en moins valable.
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à 4.
Tu as accès au Minitel, oui, mais tu ne fais pas partie d'Internet. Donc tu n'auras pas de téléphone SIP qui marche (ton FAI se garde de la concurrence ainsi), tu ne pourras pas t'autohéberger facilement, tu ne pourras pas avoir de service de télévision multicastée (ton FAI te « l'offre », pourquoi aller voir ailleurs ?), etc.
Je pensais qu'on parlait des FAI pour le grand public, quand tu disais qu'ils étaient à la bourre sur IPv6. Je parlais du NAT sur le grand public, donc.
Je n'ai pas dit ça. Je dis au contraire que les applications actuelles sont souvent codées pour s'accommoder du NAT, du coup les opérateurs les utilisent comme excuse pour ne pas proposer IPv6. En oubliant de parler des problèmes pour les applications qui tirent profit complètement de l'architecture d'Internet : SIP, P2P, etc.
Je ne dis pas que « j'ai » tout compris, ça vient de l'IETF. Les applis étaient relativement bien codées jusqu'à maintenant, c'est juste qu'on vient mettre une couche avec les containeurs qui casse souvent ces applications. C'est cette régression que je déplore.
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à -2.
Les services « les plus répandus », oui, mais ceux qui créent des services au-dessus et qui cassent tout en les utilisant mal…
Oui ça c'est vrai que c'est l'autre gros point noir ; je m'y était juste tellement habitué que je n'y fais plus gaffe. Mais ça n'est pas près d'arriver, vu que c'est pour des raisons commerciales : offrir de l'IPv6, c'est ouvrir le marché de se abonnés captifs derrière leur NAT « protecteur »…
C'est le problème dominant de la couche « service » uniquement, mais ça n'est pas rien. C'est également une des excuses des opérateurs : les applications « n'en ont pas besoin », vu que tout est codé pour s'abstraire d'IP à cause des NAT et de réinventer des couches d'abstraction usine à gaz en-dessous.
Oui, mais souvent ils l'utilisent mal… Par exemple, au-delà des sockets pur, savoir utiliser getaddrinfo() : tu vas me dire que c'est abstrait par les framework, mais non, souvent soit ils ne l'utilisent pas, soient ils l'utilisent mal ; on doit normalement itérer sur les résultats pour jauger la connectivité, pour des raisons de transition, de répartition, et de disponibilité. Encore une fois, ces frameworks veulent souvent abstraire ça et rajouter un couche, et foutent la grouille parce qu'ils n'ont pas compris que seule l'application elle-même peut prendre des décisions sur le choix des destinations en fonction de leur atteignabilité.
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à 3.
Malheureusement, j'ai rarement (voire jamais) vu une bonne séparation des rôles comme tu le prônes en pratique. C'est dans quel genre de boîte que tu vois ça ?
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à 5.
Mais à quoi ça sert de mesurer le nombre de containers que tu peux faire tourner ? Dire qu'on peut mettre 1000 apache sur une machine est une prouesse qui sert à quoi ? Sans containers, tes applis marcheraient aussi bien, voire plus vite, mais personne n'a jamais pensé à faire sa pub sur combien d'applis il pouvait faire tourner sur une machine… Ce que je dis, c'est que les containers c'est souvent coupler l'appli, l'admin, et le réseau, et ça c'est mauvais pour scaler.
Alors ça m'intéresse de savoir comment « ils ne gèrent pas le réseau » : dans la plupart des cas d'utilisation que j'ai vu, les développeurs codent en dur des confs réseau et des paramètres de leurs socket, pour que ton framework de container fasse une traduction (ou une autre forme de configuration indirecte). C'est un état intermédiaire inutile, sujet à bugs, problèmes de fiabilité, etc.
Je ne connais pas, mais qu'est-ce que ça apporte face à syslog ?
En effet.
Théoriquement, oui. Je vois juste que les devs qui utilisent le réseau comptent sur son infra de NAT pour corriger leur méconnaissance de l'archi du net. Peut-être qu'en IPv6 ça va changer, mais j'ai quand-même vu des gens promouvoir le NAT IPv6 avec Docker, et ça me fait peur. Tant que les devs ne seront pas sensibilisés à l'architecture d'Internet, on aura des horreurs comme ça, même si en théorie ça doit être orthogonal.
Pardon ? 6to4 (RFC 3056 https://tools.ietf.org/html/rfc3056 ; déprécié, attention !) est apparu en 2001, moins de trois ans après IPv6 (RFC 2460 https://tools.ietf.org/html/rfc2460 en 1998). Il existe pléthore de mécanismes de transition, mais ça n'est pas le problème : chez les devs, très peu de gens se préoccupent de l'abstraction de la famille sur les sockets, et c'est LE problème qui casse tout à chaque fois. Encore une fois, il y a deux catégories de problèmes, et il ne faut pas les mélanger : les histoires d'infra (admin système et réseau), et les histoires d'architecture logicielle (pour les devs). Pour les premiers, comme je disais, il existe plein de solutions différentes. Mais c'est chez les seconds qu'il y a de grosses lacunes. Le problème est qu'on est venu palier ces problèmes chez les devs avec des archis complexes de VMs et containers, qui en plus mélangent les problèmes de déploiements et administration (i.e. les premiers, qu'on devait séparer) ! C'est une erreur qui nous coûte très cher, car on n'est pas près de passer ces archis à IPv6, selon moi.
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à 6.
Ah non, au contraire, ça me fait plein de boulot en plus, qu'on aurait pu éviter si les devops savaient bosser un peu mieux…
Heu… et ça c'est quoi ? https://tools.ietf.org/html/rfc7348 (peut-être que tu considère ça vieux, je ne connais pas ton échelle de temps) On a ensuite réinventé la mobilité niveau L2 alors que c'était ce qu'apportait IPv6 en mieux, on a maintenant le problème des tables trop grosses donc on va partitionner, comme… du routage ! J'avais vu il y a quelques années un ingé de chez Gandi proposer de l'interconnexion de L2 (avec TRILL et compagnie) pour créer un grand réseau mondial !! Allo, NIH ?
J'aimerais bien en voir… ou pas, parce qu'un dev en général il connaît mal le réseau, ou pire, il croit le connaître bien… Mais le problème ça n'est pas que le dev, c'est toute l'infrastructure autour qui est en train de se complexifier à mort, et qui va lui donner raison d'avoir choisi du container complexe.
Oui bien sûr, c'est plus compliqué que juste la taille. Les problèmes que tu cites sont par contre liés à l'administration du réseau et des machines, et ne devraient pas concerner les devs. Ils auraient théoriquement dû uniquement adapter leur code aux sockets indépendantes de la famille d'adresse (je ne dis pas que c'est facile, hein, mais peu de monde s'en préoccupe).
Ce qui me chagrine, c'est que depuis plusieurs années on a fait une migration d'IPv4 vers une « autre couche » non-standardisée au niveau des développeurs, au lieu de migrer vers une architecture IPv6 (avec des sockets simples), et comme plein d'argent a été mis dedans, on ne va pas vouloir la changer de si tôt ! Et rien n'a été appliqué de l'architecture d'Internet telle qu'elle a été définit (mais sûrement mal expliquée, vu que tout le monde martèle l'histoire de taille d'adresse uniquement). Ce qu'il faudrait enseigner, c'est la version technique du « Minitel 2.0 », et faire comprendre que gérer des VMs/containers ça scale pas, et que c'est juste une nouvelle couche pour devenir l'abstraction proprio (ou presque) de référence au détriment des technologies standard de l'Internet.
Mais en fait je me rends compte qu'à chaque fois que j'en parle, personne ne comprend… s'ils y en a qui voient un peu ce que je veux dire, qu'ils lèvent la main !
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à 3.
Besoin que je ne comprends toujours pas vraiment ; enfin, je vois bien les avantages, mais les désavantages qu'on aime bien cacher sous le tapis sont toujours trop grands pour moi.
Oui, mais la question est dans la gestion de la complexité de ton routage, et le découplage du réseau de l'application. Faire « de l'IP », c'est simple : c'est un des protocoles réseau les plus bêtes. Comprendre et bien utiliser l'architecture d'Internet, c'est une tout autre histoire. Quand les personnes qui font du Docker voudront automatiser la configuration réseau de leurs containers, ils vont réinventer DHCPv6, ça nous fera une belle jambe.
Effectivement, c'est ce que j'avais vu à l'époque. Je n'ai pas trop regardé depuis, mais de ce que je lis ça n'est pas la folie non plus.
[^] # Re: Quand quelqu'un l'aura codé
Posté par benoar . En réponse au journal À quand l’IPv6 sur LinuxFr.org ?. Évalué à 1.
Ma critique va dans le sens où ça n'avance pas à grand chose de « faire de l'IPv6 », quand on n'utilise pas l'architecture logicielle de l'Internet : ton « unité » de base reste le container, avec ses API spécifiques. L'API de l'Internet, c'est les socket, et normalement une application a « juste » à gérer son socket pour pouvoir communiquer avec le reste du monde. De son côté, l'admin sys/réseau configure son OS et ses routeurs.
Ici, avec Docker, on a réinventé une nouvelle abstraction, avec son API, etc. Ceux qui savaient comment administrer un OS doivent tout réadapter avec cette nouvelle couche. Alors, pourquoi pas passer vers une nouvelle techno si elle t'apporte des bénéfices, mais perso je vois juste Docker comme un système de packaging qui s'abstrait de la distribution, avec plus de rigidité en échange d'une meilleure reproductibilité. Mais ça amène tout son lot de trucs chiants avec. En particulier pour les admin sys/réseau, je pense que c'est une grosse usine à gaz qui ne leur apporte pas vraiment grand chose.
En fait, Internet est une architecture logicielle qui est tellement plus que ce qu'on l'imagine : c'est comment découpler l'architecture du réseau des applications qui tournent dessus. L'intelligence est aux extrémités (dans les applications), découplée du fonctionnement du réseau (le routage), qui est très bête. Les VMs ou les containers, c'est ramener du couplage sous les applications, et ramener de l'état dans le réseau, à gérer, synchroniser, etc, et ça c'est très compliqué et peu fiable. Je suis quasiment sûr que ces couches ramènes des problématiques de circuit par connexion (avec du conntrack, voire pire, du NAT), et ça personne n'a l'air de comprendre pourquoi c'est mal même si on a la démonstration depuis des dizaines d'années par les telcos que ça scale pas (c'est pas pour rien que les propositions d'amélioration de MPLS vont vers moins d'état dans le cœur du réseau… ils réinventent Internet 40 ans plus tard, mais bon, on n'est pas à une réinvention de la roue près).