Victor STINNER a écrit 1640 commentaires

  • [^] # Re: Performances ?

    Posté par  (site web personnel) . En réponse à la dépêche LLVM 2.2 : Un concurrent pour GCC ?. Évalué à 6.

    Ah oui, l'url semble HS maintenant. Une copie avec Google Cache :

    gcc 4.0.1(apple) (latest gcc from Xcode Tools)
    $ gcc -o bmt -O3 -DSMALL himenoBMTxps.c
    $ ./bmt
    ...
    Gosa : 1.167853e-04
    MFLOPS measured : 544.017453 cpu : 56.726971
    Score based on Pentium III 600MHz : 6.634359

    gcc 4.2
    $ gcc-4.2 -o bmt -O3 -DSMALL himenoBMTxps.c
    $ ./bmt
    ...
    Gosa : 1.753087e-05
    MFLOPS measured : 953.891485 cpu : 54.242544
    Score based on Pentium III 600MHz : 11.632823

    Emit LLVM code with llvm-gcc-4-2.0, then exec it with LLVM JIT.
    $ ~/src/llvm-gcc4-2.0-x86-darwin8/bin/llvm-gcc -emit-llvm \
    -O3 -DSMALL -c himenoBMTxps.c
    $ ~/src/llvm-2.0/Release/bin/lli himenoBMTxps.o

    Gosa : 2.229028e-05
    MFLOPS measured : 1147.841139 cpu : 42.767418
    Score based on Pentium III 600MHz : 13.998063

    The result tells me that LLVM JIT does good job(20% faster than natively geneted code by gcc-4.2),
    altough we must pay attention that “Gosa”(which means computational error in Japanese) is a bit higher than gcc-4.2’s result.
    gcc-4.0.1 is fairly bad… I don’t know why…
  • [^] # Re: Performances ?

    Posté par  (site web personnel) . En réponse à la dépêche LLVM 2.2 : Un concurrent pour GCC ?. Évalué à 7.

    LLVM 2.0+gcc 4.2 est 20% plus rapide que gcc 4.2 seul :
    http://lucille.atso-net.jp/blog/?p=294

    L'architecture de LLVM permet des optimisations que gcc n'est âs capable de produire.

    Je serai intéressé par des benchmarks frais ;-)
  • # Article plus technique et plus intéressant par ici

    Posté par  (site web personnel) . En réponse au journal Mes impressions des Microsoft TechDays 2008. Évalué à 3.

    http://cert.lexsi.com/weblog/index.php/2008/02/11/213-la-sec(...)

    Microsoft poursuit son travail sur les hyperviseurs. Pour rappel, la Xbox 360 utilise déjà un hyperviseur et des DRM très costaux (NGSCB). La console a d'ailleurs été cassée par un bug trouvé dans l'hyperviseur.

    On apprend que Microsoft fait de l'analyse statique de son code mais aussi du fuzzing. Lire le papier « Automated Whitebox Fuzz Testing » à ce sujet :
    http://research.microsoft.com/research/pubs/view.aspx?type=T(...)
  • [^] # Re: Smack

    Posté par  (site web personnel) . En réponse au journal Nouvelles du noyau Linux : SMACK, PSS, mais pas de kgdb. Évalué à 4.

    Il existe un article sur LWN : http://lwn.net/Articles/244531/
  • # Au sujet de disable-vmsplice-if-exploitable.c

    Posté par  (site web personnel) . En réponse au journal Ça faisait longtemps: Local Root Exploit dans linux !. Évalué à 5.

    Extrait d'un email dans le rapport de bug Debian : « Just for the record: Do not use the "hotfix" named disable-vmsplice-if-exploitable.c. The hotfix first tries to run the exploit (which would be totally unnecessary for the actual "fix" by the way and is therefore a very dumb thing to do), and this still leads to kernel memory corruption which will render the system unstable. You can imagine what might come from corrupted kernel beside a simple crash (e.g. data loss). ».
  • # Autre source

    Posté par  (site web personnel) . En réponse au journal morceaux choisis. Évalué à 1.

    http://www.heise-online.co.uk/news/Vista-Service-Pack-1-is-r(...)

    « A prerequisite for installing SP1 is that the computer has to be up to the current patch level — all of the critical updates Microsoft delivers via the update function » et « Depending on the language, these complete packs will range from 500MB to 800MB in size. »

    Ca me semble quand même très très gros, surtout que c'est compressé ! Ubuntu Gutsy (un OS complet, pas juste notepad hein) tient dans 650 Mo :-)

    « The SP1 installation itself can take several hours » et « Using the Vista DVD with integrated SP1 the installation takes no longer than installing Vista without SP1, but you cannot create such a Vista DVD yourself, since there is no integrate function unlike previous service packs. »

    J'ai installé un Windows XP il n'y a pas longempts (ouais, l' « OS » qui est plus vieux qu'Ubuntu Warthog ou Debian Woody !). Hé bien, ça m'a pris plusieurs heures pour installer tous les correctifs puis le gros SP2. D'ailleurs, le SP2 est une vraie plaie à installer :-( En attendant, Debian sort régulièrement des version correctives de Debian Stable (4.0, 4.0r1, 4.0r2, ...).
  • [^] # Re: Et le fuzzing alors ?

    Posté par  (site web personnel) . En réponse au journal Le gouvernement US paie l'audit de projets libres (la suite). Évalué à 2.

    une pub pour une boîte qui fait du proprio

    Le libre n'est pas tout blanc ou tout noir. Autant la société s'offre une publicité gratuite (payé par le gouvernements des USA si j'ai bien compris), autant il y a des résultats : des bugs sont corrigés dans des logiciels libres.
  • # Et le fuzzing alors ?

    Posté par  (site web personnel) . En réponse au journal Le gouvernement US paie l'audit de projets libres (la suite). Évalué à 5.

    Si je ne me trompe pas, Coverty fait de l'analyse statique du code source. Ce type d'analyse peut trouver de nombreux bugs qui ont peu de chance de pouvoir réellement se reproduire (car il faut réunir un grand nombre de conditions qui peuvent ne jamais arriver).

    Alors qu'avec le fuzzing, on est directement fixé : c'est une analyse dynamique qui teste le programme en cours d'exécution avec de vraies données.

    J'avais pensé un jour créer une communauté libre qui viserait à auditer tous les logiciels libres, mais j'ai la flemme de créer ça :-) L'idée serait d'échanger des informations sur les outils d'audit, faciliter la communication avec les éditeurs des logiciels, et se partager les outils pour tester un maximum de logiciels.

    Actuellement, je le fais tout seul dans mon coin et quand j'ai du temps. Je teste Mplayer, Gstreamer, Firefox, poppler, libvorbis, etc. J'ai même écrit un outil de fuzzing pour ça :-)
    http://fusil.hachoir.org/trac

    Prenez la version stable, la version de développement est en gros chantier pour intégrer un débogueur (ptrace).

    PS: Krunch : propose ton texte comme dépêche ! Pourquoi commencer à faire un journal alors que c'est déjà prêt pour une dépêche ??
  • [^] # Re: Que du bonheur!

    Posté par  (site web personnel) . En réponse à la dépêche Elisa Media Center 0.3.3 "Mayfly" est sortie. Évalué à 2.

    Petit à petit, tous les effets graphiques en 2D utilisent le GPU (les fonctions OpenGL) car c'est simple, portable et rapide. Il faut donc un bon pilote "3D" pour la carte vidéo. Or, AMD (ATI) n'a libéré que les spécifications pour la partie 2D... celle dont tout le monde s'en fout.
  • # Remarques

    Posté par  (site web personnel) . En réponse au journal News FreeBSD 7. Évalué à 4.

    « suppression du "Giant Lock" » => « suppression du verrou géant »
    * « Stabilisation, amélioration de SCHED_ULE » => « Stabilisation et amélioration de l'ordonnanceur de processus « SCHED_ULE » »
    * « Support de ZFS » => « Support du système de fichier ZFS »
    * « Support de la journalisation pour UFS » => « Ajout de la journalisation dans le système de fichier UFS »
  • [^] # Re: Et les alternatives ?

    Posté par  (site web personnel) . En réponse au journal SourceForge m'intrigue et m'ennuie. Évalué à 2.

    Histoire de compléter la liste des hébergeurs cités : http://berlios.de/

    Perso, j'ai commencé à héberger les projets chez moi. Comme ça j'ai tous les services qu'il me faut et un contrôle total dessus ;-) J'utilise Trac + Subversion... Rien d'extraordinaire, mais j'ai la main sur le serveur (création de comptes, sauvegarde simplifiée, etc.). Quelques projets :
    http://hachoir.org/
    http://fusil.hachoir.org/trac
  • [^] # Re: Patch anti-fragmentation

    Posté par  (site web personnel) . En réponse à la dépêche Sortie du noyau Linux 2.6.24. Évalué à 3.

    Correctif pour limiter la fragmentation... de la mémoire :-)
    http://lwn.net/Articles/224829/

    À ce que j'ai compris, la fragmentation est surtout douloureuse lorsqu'on veut allouer une grosse zone mémoire contigüe, nécessaire pour certaines pilotes (pour les échanges par DMA ?). Comme effet de bord : on peut supprimer de la mémoire à chaud, point intéressant pour la virtualisation (du style OpenVZ ?).

    Pour info, la gestion de la mémoire sous Linux a son site web dédié !
    http://linux-mm.org/

    Le système de fichier EXT2 (et ses amis EXT3 et EXT4) ont déjà des méchanismes pour limiter la fragmentation. Plusieurs personnes m'ont assuré que si si, ça fragmente, mais peu.
  • [^] # Re: bravo

    Posté par  (site web personnel) . En réponse à la dépêche Sortie du noyau Linux 2.6.24. Évalué à 5.

    « une fois de plus, et c'est à se demander si patrick_g est humain, et si il dort la nuit. »

    Je crois que le cycle de développement de la version .24 lui a laissé le temps de préparer tout ça. KernelTrap et LWM sont également d'excellentes sources pour suivre le développement !

    Attention, j'applaudis également patrick_g des deux mains, je ne cherche pas à dénigrer son travail. Je voulais juste expliquer qu'on peut arriver à son niveau en dormant la nuit.

    Comme exercice, je vous laisse préparer les dépêches pour les sorties de Firefox3 et d'Hurd 1.0.
  • # Appel protège ses logiciels

    Posté par  (site web personnel) . En réponse au journal Mac OS X et Dtrace. Évalué à 4.

    Wow !!! Je ne pensais pas que la bêtise pouvait aller jusqu'à ce point !

    Je ne vois pas en quoi c'est une bétise. Apple protège son logiciel contre la rétro-ingénierie. De nombreuses logiciels font ça, Skype est un véritable bunker. Bien sûr, ça n'a pas empêché le reverse engineering, ça l'a juste ralentit :
    http://www.secdev.org/conf/skype_BHEU06.handout.pdf

    La Xbox360 est aussi un bunker, genre tout est chiffré => idem, crackée à cause d'un bug dans l'hyperviseur :
    http://www.securityfocus.com/archive/1/461489

    Pour contourner la « protection PT_DENY_ATTACH», il suffit de court circuiter l'appel à ptrace :
    http://steike.com/code/debugging-itunes-with-gdb/
    http://landonf.bikemonkey.org/code/macosx/ptrace_deny_attach(...)
  • # Et les données ?

    Posté par  (site web personnel) . En réponse à la dépêche Le code source de SimCity libéré. Évalué à 10.

    Le code source ne sert à rien sans les données dont il besoin pour faire tourner le jeu. Est-ce ces données ces libres et/ou gratuites ? Faudra payer pour l'installer sur OLPC ?
  • [^] # Re: INL

    Posté par  (site web personnel) . En réponse au journal Les SSLL en France. Évalué à 2.

    INL a doublé sa masse salariale l'an dernier, on est maintenant 12 (ou 14, je sais plus). Donc je pense que la boîte se porte bien.
  • # INL

    Posté par  (site web personnel) . En réponse au journal Les SSLL en France. Évalué à 2.

    Je suis employé par INL depuis septembre 2006 et j'suis très fier d'y travailler. Tout le code qu'on écrit est distribué sous licence GPL (GPLv2, GPLv3 maintenant), mis à part quelques très rare exceptions : un petit peu de code proprio pour un logiciel Windows, et quelques logiciels sous licence BSD ou APL.

    Mis à part le code écrit qui est sous licence libre, nous contribuons également à des logiciels existants : Linux kernel, Netfilter, Apache, Prelude, etc.
    http://software.inl.fr/trac/wiki/Contribs

    D'autres sociétés se disent « open source » ou « pro-logiciel libre » mais ne diffusent qu'une partie de leurs logiciels sous licence libre. Les pires étant celles qui disent contribuer aux logiciels libres (liste à l'appui) alors qu'en fait c'est un mensonge (tch tch, pas de marque).
  • [^] # Re: Ca sert à quoi GDAL ?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de GDAL/OGR 1.5.0. Évalué à 2.

    Au passage, je m'étais posé un jour comment afficher une image qui est plus grosse que la mémoire vive (genre 10.000x10.000 voir 200.000x200.000). Gimp et autres outils ont tendance à ramer très fort pour finalement planter ou mettre la machine à genoux. Et bien le programme nip2 affiche des images de n'importe quelle taille. Certes ça râme, mais au moins l'image s'affiche !
  • [^] # Re: "NetBSD, un projet inutile ?" dixit un des créateurs du projet en 2

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de NetBSD 4.0. Évalué à 3.

    D'ailleurs, ça en est où cette histoire de problème de licence ?
    http://www.generation-nt.com/commenter/bsd-licence-probleme-(...)

    Le problème étant la mention « Ce produit inclut du code développé par l'Université de Californie, Berkeley et ses contributeurs ».
  • [^] # Re: Shell scripting

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 2.

    Yep, j'écris mes programmes shell avec Python. Fastoche.
  • [^] # Re: Framework ... je te hais

    Posté par  (site web personnel) . En réponse à la dépêche Fusillez vos applications avec Fusil 0.6. Évalué à 2.

    Fusil n'a pas l'air d'un framework, il ne produit pas de logiciel.

    Je considère chaque projet de fuzzing comme un logiciel indépendant, car il existe plein de petits logiciels (écrit à partir de rien, souvent en C) qui testent un type d'attaque pour une cible donnée. Voir par exemple :
    http://www.digitaldwarf.be/products.html

    Maintenant, l'utilisation de « framework » est peut-être un peu abusive.
  • # Liste des auteurs d'un article Wikipédia

    Posté par  (site web personnel) . En réponse au journal knol un concurrent de wikipedia. Évalué à 2.

    Les auteurs d'un article Wikipédia n'apparait pas à l'affichage de l'article ni dans la source de l'article. Elle est stockée automatiquement à part dans l'historique de l'article. Cet outil permet de récupérer facilement la liste des auteurs d'un article donné :
    http://tools.wikimedia.de/~escaladix/cgi-bin/auteurs.tcl?tit(...)

    Sauf que là tout de suite, le site est malade. Sûrement la grippe, même linuxfr est touché...
  • [^] # Re: Vive les exceptions !

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 6.

    Ah j'oubliais un truc.

    Il ne faut pas considérer les erreurs comme un cas particulier et les mettre de côté. Il faut considérer une erreur comme un code/cas normal. Je vois pas trop comment expliciter mon idée correctement.
  • # Vive les exceptions !

    Posté par  (site web personnel) . En réponse au journal Qu'est-ce que bien gérer les erreurs dans ses programmes ?. Évalué à 9.

    De par mon expérience, j'ai noté plusieurs points.

    La gestion d'erreur par « return code_erreur; » (où code_erreur est un nombre négatif, nul ou encore NULL) est inefficace. Le soucis étant qu'il est pénible d'écrire « if (resultat < 0) » ou « if (!result) » après chaque appel de fonction. Testez-vous le résultat de fopen() et de malloc() ? Si oui : très bien. Mais le faites vous pour snprintf(), write(), etc. ? Pour éviter de « polluer le code », on préfère supposer que les erreurs n'arrivent jamais. Le plus pénible est de diffuser l'erreur est fonctions parentes : si a() appelle b() qui appelle c(), et qu'une erreur intervient dans c() : il faut transmettre l'erreur à b() puis à a().

    Du coup, les exceptions sont une vraie révolution pour la gestion d'erreur : toutes les erreurs sont remontées. Au pire, le code gérant l'erreur peut l'ignorer, mais dans ce cas, c'est volontaire. De plus, les erreurs sont typées et on peut créer une hiérarchie des types d'exception. Ceci permet d'écrire une gestion d'erreur générique.

    Enfin, on peut décaler (déplacer) la gestion d'erreur : pour reprendre mon exemple précédent, l'erreur dans c() n'a pas besoin d'être transmis par b() ou a(), c'est automatique. De plus, on peut très bien écrire un gestion d'erreur très générique dans la fonction main() puis des gestions plus ciblés autour d'appels plus spécifiques. On ne va pas s'occuper des erreurs MemoryError après chaque appel de fonction, on va le gérer une seule fois dans main() par exemple.
  • # Plus d'infos

    Posté par  (site web personnel) . En réponse au journal IPv6 chez free.fr. Évalué à 4.

    J'en profite pour lacher les URL de 2 articles que j'ai écrit sur IPv6 dans mon blog pour l'occasion :
    http://www.haypocalc.com/blog/index.php/2007/12/13/106-ipv6-(...)
    http://www.haypocalc.com/blog/index.php/2007/12/13/105-decou(...)

    Depuis, j'ai migré mon DNS sur Xname pour que http://hachoir.org soit accessible en IPv6 :-)