jeberger a écrit 129 commentaires

  • [^] # Re: Mauvais nom

    Posté par  (site Web personnel) . En réponse à la dépêche Changeons ces logiciels open source qui nous espionnent. Évalué à 0.

    Euh, non c'est toujours là…

  • # Faux amis

    Posté par  (site Web personnel) . En réponse à la dépêche HorsCiné : lancement et financement d’une plate‑forme libre de films en libre diffusion. Évalué à 4.

    « ce n'est pas l'acceptation courante » → « ce n'est pas l'acception courante » (Larousse)

  • [^] # Re: Pffff

    Posté par  (site Web personnel) . En réponse à la dépêche Rust a 5 ans, rétrospective. Évalué à 1.

    Mais via les cycles de référence il est tout à fait possible d'avoir des fuites de mémoires ; et donc un GC optionnel aurait du sens en effet.

    Rust ne permet pas de faire des cycles de références (hors code unsafe), sauf à utiliser des pointeurs faibles (Weak), il n'est donc pas possible d'avoir des fuites de mémoire (du moins pas plus qu'avec un ramasse-miettes).

  • [^] # Re: Retours

    Posté par  (site Web personnel) . En réponse à la dépêche Le projet Heptapod : GitLab + Mercurial = 🖤. Évalué à 4.

    Je connaissais avant, je ne sais plus où j'en avait entendu parler (probablement Diaspora). Mais plus on parle de Mercurial et de ce qui va autour plus je suis content ☺

  • [^] # Re: Retours

    Posté par  (site Web personnel) . En réponse à la dépêche Le projet Heptapod : GitLab + Mercurial = 🖤. Évalué à 5.

    Oui, je cherche clairement une solution alternative d'ici juin, et je regarde Heptapod de très près. Et si je peux éviter d'administrer moi-même le truc ça m'arrangerait bien…

  • # Google va distribuer des mauvais points aux sites qu'il juge lents

    Posté par  (site Web personnel) . En réponse à la dépêche Firefox 71. Évalué à 5.

    Ironique quand on connaît la lenteur des sites de Google…

  • [^] # Re: correction

    Posté par  (site Web personnel) . En réponse à la dépêche Sortie de GNU Compiler Collection 9.1. Évalué à 1.

    complémentationcomplétion ou achèvement (aucun des deux ne correspond exactement à l'anglais « completion, » mais « complémentation » est encore plus éloigné).

  • # SSE3

    Posté par  (site Web personnel) . En réponse à la dépêche dav1d is An AV1 Decoder. Évalué à 0.

    Juste une petite remarque: il n'y a que deux « S » à « SSE3 »

  • [^] # Re: Compiler

    Posté par  (site Web personnel) . En réponse à la dépêche GNU Emacs 26.1. Évalué à 4.

    Je conseille de rajouter cela dans votre ~./.bashrc:

    Plutôt dans le ~/.profile qui a l'avantage de fonctionner même pour ceux qui n'utilisent pas bash, voire dans le ~/.xprofile qui vaut aussi pour l'environnement graphique (mais qui peut dépendre des distrib)…

  • [^] # Re: Meltdown, seulement Intel ?

    Posté par  (site Web personnel) . En réponse à la dépêche Deux failles critiques : Meltdown et Spectre. Évalué à 10.

    En fait l'article décrit trois attaques :

    • La première touche absolument tous les processeurs modernes quel que soit le fabriquant (y compris probablement les OpenMIPS et OpenSPARC bien qu'ils ne soient pas cités) et permet à un processus d'accéder à sa propre mémoire. Alors pourquoi est-ce un problème (et pourquoi le processus ferait-il comme ça plutôt que d'accéder directement à la mémoire) ? Tout simplement parce qu'un script tournant sur une VM (de type VM javascript) peut exploiter la faille pour lire n'importe où dans la mémoire du processus (donc par exemple dans la mémoire concernant les autres onglets du navigateur). Noter à ce sujet que le noyau Linux contient une VM (eBPF) utilisée à l'origine pour les pare-feux et qui permet à n'importe quel programme d'exécuter un script en espace noyau et donc de lire toute la mémoire du noyau (à un rythme de 1500 octets/s environ). Cette attaque devrait pouvoir être patchée au niveau logiciel dans les VM avec un coût relativement faible.

    • La deuxième attaque n'a été démontrée que sur les processeurs Intel, mais ARM reconnaît que ses processeurs sont aussi vulnérables. AMD prétend que les siens ne sont pas touchés (plus exactement AMD dit que personne n'a montré que cette faille touche leurs processeurs, mais rien ne prouve qu'ils sont immunisés). Cette faille demande une connaissance très poussée de l'unité de prédiction de branchement du CPU (que les auteurs ont obtenue par rétro-ingénierie sur les processeurs Intel) ainsi que du code de l'OS ou de l'hyperviseur cible. L'attaque permet d'injecter du code dans le contexte de l'OS ou de l'hyperviseur. Elle fonctionne en trompant l'unité de prédiction de branchement pour que celle-ci fasse exécuter du code choisi par l'attaquant au moment où l'OS cible fait un branchement conditionnel. Le résultat de ce code sera jeté quand le CPU s’apercevra de l'erreur de prédiction, mais des effets secondaires peuvent rester visibles (en particulier le chargement de données en cache). Je n'ai pas entendu parler de correctif pour cette attaque…

    • La troisième attaque ne concernerait que les processeurs Intel et vient du fait que la MMU contrôle l'accès a posteriori. Elle permet à un processus de lire une page mémoire qui est présente dans son espace d'adressage, même si la lecture de cette page est normalement interdite. Elle ne permet pas en revanche de lire une page mémoire non présente dans l'espace d'adressage. La raison pour laquelle cette attaque pose problème c'est qu'une grande partie de la mémoire des OS est présente dans l'espace d'adressage des applications en mode lecture interdite (en tout cas pour Linux et Windows) afin d'accélérer les appels systèmes (il est beaucoup plus rapide de changer les permissions d'une page existante que d'ajouter ou de supprimer des pages dans la MMU). Les patchs du noyau Linux dont on parle visent à retirer la mémoire de l'OS de l'espace d'adressage des applications, ce qui bloquera cette attaque mais augmente considérablement le coût des appels système (jusqu'à 60% de perte de performance sur des benchmarks synthétiques, PostgresSQL a été mesuré à -17% quand ces patchs sont activés).

  • [^] # Re: Merci pour l'info !

    Posté par  (site Web personnel) . En réponse au journal Pijul, un nouveau gestionnaire de source. Évalué à 1.

    Utilisateur Mercurial depuis toujours, je ne me suis pas incliné à git :)

    Pareil, au pire j'utilise hggit pour interagir avec les moutons qui utilisent Git (qui a dit "broken by design"?)

  • # Modulo

    Posté par  (site Web personnel) . En réponse au journal Kotlin + Brainfuck : efficacité, compacité, optimisation. Évalué à 1.

    Je suis le seul a être gêné par les % 0xFFFF ? Ça ne devrait pas plutôt être & 0xFFFF ou % 0x10000 ?

  • [^] # Re: Je ne suis pas sur de comprendre

    Posté par  (site Web personnel) . En réponse à la dépêche PikoPixel, éditeur de « pixel art ». Évalué à 3.

    Yaurait pas comme l'ébauche d'un problème là ? Mon Pi 1 tourne à 700 BogoMIPS (697.95 pour être précis). Je doute que le 3 soit à ce point moins bon…

  • [^] # Re: Typo

    Posté par  (site Web personnel) . En réponse à la dépêche darktable 2.2.0. Évalué à 1.

    Et aussi : « déformation due à une mauvaise pause » → « déformation due à une mauvaise pose »

  • [^] # Re: Led comme capteur de luminosité

    Posté par  (site Web personnel) . En réponse à la dépêche Les diodes ne sont pas toutes des lumières. Évalué à 2.

    Je n'ai pas moinssé (ni plussé), mais je n'ai pas trop aimé. En revanche, si tu avais mis : « C'est qui la vieille pédale ? » j'aurais beaucoup plus apprécié…

  • # Anglicisme

    Posté par  (site Web personnel) . En réponse à la dépêche LibreOffice : de 5.0 à 5.2, un an après. Évalué à 4.

    « problèmes de consistance de l’affichage » → « problèmes de cohérence de l'affichage »

    Sinon, bravo pour une dépêche très complète et détaillée (même si c'est « juste » une traduction, ça représente un gros boulot alors félicitations).

  • [^] # Re: Qwant et le multi processus

    Posté par  (site Web personnel) . En réponse à la dépêche Firefox 48 : API WebExtensions, Electrolysis et sécurité. Évalué à 3.

    Avec les threads (pthread_create) il n'y a pas de séparation, et Firefox fait ça depuis longtemps (en fait je crois bien que Netscape le faisait déjà).

    Il s'agit donc bien ici de de processus (fork/exec) qui assurent une bien meilleure séparation avec un isolement complet de la mémoire en dehors des zones explicitement partagées.

  • [^] # Re: Extensions

    Posté par  (site Web personnel) . En réponse à la dépêche Firefox 48 : API WebExtensions, Electrolysis et sécurité. Évalué à 6.

    En fait, ça doit dépendre du relecteur. Pour radial context, ils ont successivement refusé, accepté puis refusé la même extension (les seules différences entre les trois étaient le remplacement d'appels à des API obsolètes par la nouvelle API).

  • # Et le dernier lien devrait être…

    Posté par  (site Web personnel) . En réponse à la dépêche Les journaux LinuxFr.org les mieux notés du mois de juin 2016. Évalué à 2.

  • [^] # Re: Vrai IDE ?

    Posté par  (site Web personnel) . En réponse à la dépêche CodeBusters, concours d'intelligence artificielle en ligne du 25 juin au 3 juillet 2016. Évalué à 1.

    Mais c'est vrai que la plupart des meilleurs codent en local avant de push dans l'IDE.

    Quand tu dis « push dans l'IDE, » tu veux dire par copier-coller (ce que je fais) ou il y a un moyen plus simple d'uploader un fichier ?

  • [^] # Re: Firefox 47 et précédents (et suivants, j'en ai peur)

    Posté par  (site Web personnel) . En réponse à la dépêche Firefox 47, version de transition. Évalué à 2.

    Quant au non-sens qu'est la barre de défilement GTK3, je cherche encore le coupable.

    Heureusement, il y a des thèmes qui rétablissent une barre de défilement potable (par ex. BlueMenta). Maintenant s'il pouvait y avoir quelque chose de similaire pour le sélecteur de fichiers…

  • [^] # Re: Incroyable

    Posté par  (site Web personnel) . En réponse à la dépêche Bitkeeper essaye de rattraper l'histoire en passant Open Source. Évalué à 5.

    C'est d'ailleurs plus ou moins confirmé quand on regarde les arguments avancés par ceux qui expliquent pourquoi ils ont choisi Git ou Mercurial.

    Raisons généralement avancées pour choisir Git plutôt que Mercurial :

    • GitHub est meilleur que Bitbucket (possible, mais ne dit rien sur git vs mercurial),
    • Tout le monde utilise git (+github), donc il sera plus facile de trouver des contributeurs en utilisant git (raison invoquée pour CPython).

    Raisons généralement avancées pour choisir Mercurial plutôt que Git :

    PS : le Trolldi, c'est permis ;)

  • [^] # Re: Destructeurs

    Posté par  (site Web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 1.

    ce n'est pas la désallocation qui prendra énormément de temps si ce sont des structures à durée de vie longue, donc chipoter sur le temps de désallocation, je ne comprends pas bien.

    Je compare ce qui est comparable, donc le temps passé dans la désallocation par rapport au temps passé dans le GC. Le reste du temps de traitement sera le même que tu utilises où non un GC.

  • [^] # Re: Destructeurs

    Posté par  (site Web personnel) . En réponse à la dépêche Crystal, un langage proche de Ruby, en version 0.16. Évalué à 10.

    Python n'utilise pas de garbage collector mais un compteur de référence

    D'une part un compteur de référence est une forme de garbage collector (*), d'autre part Python a un « vrai » GC pour gérer les cycles, qui peut être contrôlé avec le module gc :

    import gc
    # Empêcher le GC de se déclencher automatiquement :
    gc.disable()
    # Déclencher manuellement un cycle de collecte :
    gc.collect()
    # Ré-activer le GC :
    gc.enable()

    (*) Un garbage collector est un mécanisme qui libère automatiquement la mémoire quand elle n'est plus utilisée, selon cette définition un compteur de références est un garbage collector.

    un GC a un coût, en terme de performance,

    Inexact. En fonction de la façon dont ton application alloue et désalloue la mémoire, un GC peut s'avérer plus performant qu'une gestion manuelle. En particulier si tu as des structures profondes (arbres ou listes) que tu modifies peu au cours de leur vie (i.e tu les alloues, tu les utilises sans les modifier, puis tu les désalloues). Dans ce cas, un bon GC pourra tout désallouer d'un coup alors qu'une gestion manuelle t'obligera à désallouer chaque nœud de ta structure.

    en terme de ressources ( 2x à 8x la quantité de mémoire ),

    Vrai, du moins tant que ton appli n'a pas de fuites mémoire. C'est pour cette raison que les langages à GC ne perceront jamais dans l'embarqué (je parle ici du vrai embarqué, celui où les ressources sont limitées, pas des ordiphones qui sont plus puissants que le PC que j'avais il y a cinq ans).

    en terme de déterminisme, en terme de latence.

    Faux. Il existe des GC temps réel (donc qui garantissent une latence max). Bien sur, on n'a rien sans rien et ces GC sont généralement encore plus gourmands en mémoire que les autres. Note que de toutes façons ceux qui développent des systèmes vraiment critiques en termes de performances (jeux, par ex.) évitent les allocations dans la partie critique (aussi bien avec un GC, qu'avec malloc) car ni l'un ni l'autre n'ont de performances garanties.

    Les GC ne sont pas la panacée mais ils ont leur utilité, en particulier :

    • lorsque réduire le temps de développement est plus important que d'économiser quelques cycles CPU ou quelques MB de RAM (un développeur coûte beaucoup plus cher que d'acheter une machine plus puissante ou de répartir la charge entre plusieurs machines),

    • lorsque de toutes façons le système est tellement critique qu'aucune allocation n'est faite dans la boucle principale. Dans ce cas rien n'empêche d'utiliser un GC pour les allocations qui, par définition, auront lieu en dehors de la partie critique.

  • [^] # Re: Logiciel équivalent sous Gnome ?

    Posté par  (site Web personnel) . En réponse à la dépêche Sortie de kdenlive 16.04.0. Évalué à 4.

    Euh, darktable utilise gtk…