Après Beagle et Kat, Nepomuk semble être une très bonne initiative. Avec D-BUS et Kparts, les applications vont commencer à travailler ensemble toutes seules ? :-)
En plus, KDE4 devrait fonctionner sur Windows... Hé ben, de l'eau a coulé sous les ponts depuis KDE1 qui n'était même pas libre :-D
« ce qui permettrait à terme d'avoir la possibilité d'utiliser une seule et unique VM pour un ensemble de langages, permettant par la même des optimisations plus profondes » : cette description me fait penser à Mono voir aussi à LLVM :-) Mono supporte les langages C#, Java, JavaScript, Python et VisualBasic.NET. Il a un compilateur JIT qui a l'air bien costaux. Je ne sais pas quels langages tournent dans LLVM. J'ai trouvé C, Objective C, C++ et Python, mais il doit en avoir d'autres.
J'avais testé Pirates (Python pour Parrot), mais c'était vraiment pas avancé du tout (genre on pouvait à peine faire 1+1).
Le site cité présente 5 personnes de profil différent mais tous attirés ou utilisateurs du libre (enfin, "de Linux"). En fait, ce site présente une réponse toute faite pour chaque question. Il traite des différents arguments avancés habituellement par le libre (ex: coût, sécurité, disponibilité, etc.).
Je pense que le public visé sont des gens qui veulent convaincre des utilisateurs du libre à revenir à la raison (le dieu Microsoft tout puissant).
Chacun se laisse séduire ou non par les arguments. Perso, ça me fait sourire. Les arguments sont toujours les même (ex: les logiciels libres ne sont pas plus sûr).
Mais le site web est joli, chouette musique, agréable à naviguer, etc. Pour s'en convaincre, ouvez une 2e fenêtre avec http://www.kernel.org/ :-) (mince, je voulais filer l'url de gnu.org mais c'est presque potable maintenant)
Pour ceux qui ne connaissent pas Sam Hocevar, il est l'auteur de libcaca, MonsterZ (jeu Python que ma copine adore), zzuf, et a aussi contribué à VideoLAN, Debian et bien d'autres trucs. Plus de détails sur son site web : http://sam.zoy.org/
(la gallerie des goatse et des DTC vaut le détour)
Vous trouverez aussi des failles IPv6 pour Windows, FreeBSD, Postfix, Apache, etc. C'est pas parce que c'est OpenBSD qu'il faut crier au loup.
Ayant manipulé de l'IPv6, je comprend que les implémentations sont encore bancales vu combien la technologie est complexe (ex: 128 bits par adresse au lieu de 32 bits). IPv6 est un pari sur l'avenir (le long terme). Accessoirement, beaucoup d'OS et logiciels sont "prêts" mais peu/pas testés.
REnouveau sniffe le contenu du FIFO : espace d'échange entre le logiciel (pilote Nvidia) et la matériel. Le but du jeu est de trouver la correspondance : instructions NVidia <=> appels OpenGL.
Rendre un logiciel existant robuste se fait en plusieurs étapes.
#1 : Une compilation sans avertissement
Un avertissement est souvent un bug potentiel. Un comparaison nombre entier naturel et nombre entier relatif peut être une source de bug (integer overflow). => gcc -Wall -Wextra. Je trouve ça complètement débile que "-Wall" n'affiche pas ALL (tous) les avertissements... (avec gcc < 4 : -Wall -W). Pour les fanatiques : -Werror bloque la compilation à chaque avertissement.
#2 : Valgrind
Il faut que le programme ait zéro erreur dans Valgrind.
Maintenant il faut revoir le programme pour limiter les dégats. Ca peut être :
- Vérifier strictement toutes les entrées utilisateurs : clavier, réseau, variable d'environnement, fichier de configuration, fichier en entrée, événement X11, etc.
Son code est fortement protégé. Voyez la présentation de Philippe Biondi et Fabrice Desclaux sur le reverse engineering du programme : http://blackhatnetworks.com/presentations/bh-europe-06/bh-eu(...)
« This presentation will uncover some Skype secrets, hidden behind many levels of obfuscation, showing how bad security by obscurity can be. »
Skype traverse le NAT, transforme un ordinateur en serveur, fait du P2P à notre insu, etc. Et bien sûr, le protocole est totalement propriétaire. C'est bien connu que la sécurité par l'obscurité est la meilleure (humour). http://fr.wikipedia.org/wiki/Sécurité_par_l'obscurité
des méthodes statistiques pour prédire le prochain port ouvert sur la passerelle
Hum hum, Linux n'utilise pas un algorithme très compliqué pour le choix du port source pour le NAT : c'est un simple compteur (N, N+1, N+2, N+3, ...).
La tendance actuelle est justement d'ajouter du hasard un peu partout pour rendre les attaques plus complexes (voir impossible). OpenBSD a beaucoup travaillé là-dessus. C'est par exemple le premier OS a avoir ajouté de l'aléa dans les choix des adresses mémoire (pile, "heap", adresse de base d'un programme, pile noyau, etc.). PaX fait la même chose pour Linux. D'ailleurs, Linux intègre petit à petit ce genre de "fonctionnalité".
Sinon, pour voir ce qu'on peut faire avec Cairo, voyez le blog de Mirco Müller (qui a fait la conférence "Bling it up - make it sexy!" à FOSDEM) : http://macslow.thepimp.net/
J'habite en Alsace. J'en avais marre d'avoir à régler mon antenne au millimètre près (surtout qu'à chaque orage ça grésillait), alors j'suis passé par le web. Mon script :
Extrait de l'article donné en 1er lien : « Tout ceci n’est malheureusement pas très légal, surtout au niveau de l’obtention des clés de cryptage permettant de dérouiller leur système de protection AACS ».
Alors je ne sais pas d'où sort la phrase de la dépêche « Le deuxième intérêt est de pouvoir lire maintenant les DVD légalement acquis grâce aux logiciels FFMpeg et surtout MPlayer ».
À ce que j'ai compris : il existe maintenant des outils pour casser le chiffrement HD-DVD et il est donc possible de lire des films au format HD-DVD sous Linux. Par contre, est-ce qu'il existe des lecteurs physiques compatibles Linux ? J'avais lu qu'ils auront des trucs de DRM dans le firmware.
C'est drôle comme dénomination. Et MP3 il est quoi alors ? MP3 mange des bébés ! MP3 viole les jeunes filles ! MP3 n'aime pas le chocolat (ah!) ! MP3 (...)
C'est quoi qui est sécurisé en fait ? Ah oui, ça doit protéger mon ordinateur. Plus besoin de parefeu, d'anti-spyware, de sauvegarde. Non non, plus vous téléchargez de WMA, plus votre ordinateur sera sain.
La différence entre une indexation de texte et nepomuk est qu'on lie les informations entre elles. On peut donc créer de nouvelles informations lorsqu'une requête est soumise. Exemple :
- Paris est une capitale
- Paris est en France
Si on cherche la capitale de la France, le moteur sera lier les informations pour trouver Paris.
Avec la compilation JIT, les langages interprétés doivent pouvoir etre plus rapide que leur equivalent compilé dans certains cas.
Hum, je pense que ce n'est sûrement pas vrai dans tous les cas. Je pense plutôt qu'étant donné qu'un programme Python est bien plus court (en nombre de lignes), on peut passer plus de temps à réécrire l'algorithme / faire des tests.
2- pypy est pour l'instant lancé avec cpython, donc il est forcément plus lent :)
Non, c'était justement quand PyPy était interprété par CPython qu'il était plusieurs centaines de fois plus lent. Maintenant PyPy est traduit en C puis compilé par gcc pour arriver à être "à peine" 3x plus lent que CPython. La page suivante présente les perfs selon le mode de compilation (C, LLVM, etc.) : http://tuatara.cs.uni-duesseldorf.de/benchmark.html
Le premier gros apport, c'est facilité la maintenance/evolution de python. Python est codé en C, et l'ajout de fonctionnalités/evolutions commence à devenir un petit cauchemar dans certains cas.
De par sa nature très modulaire, PyPy permet également des changements majeurs dans l'implémentation de Python. CPython utilise par exemple un ramasse miette à générations. C'est un choix, mais PyPy en permet d'autres, ce qui permet de comparer les performances et de choisir une alternative qui serait plus rapide dans un cas précis. D'ailleurs, PyPy a déjà des outils pour supprimer des malloc().
La mémoire n'était qu'un exemple, mais la gestion des processus concurrents est également remise en question : thread, greenlets, proxy d'objet fonctionnant sur réseau, clonage de générateur... PyPy apporte encore une fois un air frais dans ce domaine.
Et alors que CPython n'optimise peu ou pas, PyPy fait de l'inlining, a un annotateur de type, permet de compiler dans de nombreux langages, etc. Il offre la possibilité d'optimisations très complexes qui seraient impossibles avec CPython.
CPython ne permet pas de faire de la programmation logique et Stackless Python est moins poussé en programmation concurrente. PyPy apporte également la fonctionnalité de « clonage de générateur », outil très utile dans le calcul distribué. Et on pourrait encore trouver une longue liste de fonctionnalités qu'apporte PyPy.
Le problème des performances va peu à peu s'effacer et je pense qu'à terme PyPy sera plus rapide.
J'avais comparé Wormux 0.4 et 0.7(.0) et il était flagrant que le jeu était plus rapide, plus animé et plus fun. Mais ce commentaire laisse penser qu'il reste du boulot :-) Wormux est de plus en plus complexe. Il est difficile de régler les constantes, c'est un travail de longue haleine. Accéler le déplacement va changer le style de jeu, il faut changer pas mal de choses en conséquences (ex: durée avant l'explosion d'une dynamite).
[^] # Re: Attention !
Posté par Victor STINNER (site web personnel) . En réponse au journal QuickSynergy. Évalué à 2.
[^] # Re: [] --->
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Décès du père du Fortran et de la notation BNF. Évalué à 9.
# Gajim
Posté par Victor STINNER (site web personnel) . En réponse au journal Statistiques de messagerie instantanée. Évalué à 5.
# Que du bon :-)
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche KDE 4 : publication escomptée en octobre 2007. Évalué à 4.
À FOSDEM j'ai vu un conférence sur Nepomuk : « bureau sémantique » [ http://nepomuk.semanticdesktop.org/xwiki/ ] déjà discuté dans des journaux :
http://linuxfr.org/~marseillais/23861.html
http://linuxfr.org/~golum/20914.html
http://linuxfr.org/~SOULfly_B/22421.html
Après Beagle et Kat, Nepomuk semble être une très bonne initiative. Avec D-BUS et Kparts, les applications vont commencer à travailler ensemble toutes seules ? :-)
En plus, KDE4 devrait fonctionner sur Windows... Hé ben, de l'eau a coulé sous les ponts depuis KDE1 qui n'était même pas libre :-D
# Autres machines virtuelles
Posté par Victor STINNER (site web personnel) . En réponse au journal Parrot avance. Évalué à 4.
J'avais testé Pirates (Python pour Parrot), mais c'était vraiment pas avancé du tout (genre on pouvait à peine faire 1+1).
# Site vachement bien foutu
Posté par Victor STINNER (site web personnel) . En réponse au journal Get The Facts Returns !. Évalué à 4.
Je pense que le public visé sont des gens qui veulent convaincre des utilisateurs du libre à revenir à la raison (le dieu Microsoft tout puissant).
Chacun se laisse séduire ou non par les arguments. Perso, ça me fait sourire. Les arguments sont toujours les même (ex: les logiciels libres ne sont pas plus sûr).
Mais le site web est joli, chouette musique, agréable à naviguer, etc. Pour s'en convaincre, ouvez une 2e fenêtre avec http://www.kernel.org/ :-) (mince, je voulais filer l'url de gnu.org mais c'est presque potable maintenant)
[^] # Re: Ouéééé !
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Élections du responsable du projet Debian 2007. Évalué à 5.
http://sam.zoy.org/
(la gallerie des goatse et des DTC vaut le détour)
# Pendant ce temps sous Linux
Posté par Victor STINNER (site web personnel) . En réponse au journal Un exploit pour OpenBSD. Évalué à 2.
http://www.frsirt.com/english/advisories/2006/4297 - DoS local (/proc/net/ip6_flowlabel)
http://secunia.com/advisories/22731/ - IPv6 bypass filtering
etc.
Vous trouverez aussi des failles IPv6 pour Windows, FreeBSD, Postfix, Apache, etc. C'est pas parce que c'est OpenBSD qu'il faut crier au loup.
Ayant manipulé de l'IPv6, je comprend que les implémentations sont encore bancales vu combien la technologie est complexe (ex: 128 bits par adresse au lieu de 32 bits). IPv6 est un pari sur l'avenir (le long terme). Accessoirement, beaucoup d'OS et logiciels sont "prêts" mais peu/pas testés.
[^] # Re: 1900 bissextile ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Open XML en force. Évalué à 8.
http://www.haypocalc.com/blog/index.php/2006/06/18/6-typogra(...)
[^] # Re: Trois questions ?
Posté par Victor STINNER (site web personnel) . En réponse au journal "Nouveau" futur driver 3D libre pour les nvidia a besoin de vous. Évalué à 4.
# Attention !
Posté par Victor STINNER (site web personnel) . En réponse au journal QuickSynergy. Évalué à 4.
Maintenant ça m'arrive souvent de vouloir faire du drag & drop d'un PC à l'autre. Même si l'un est sous Windows et l'autre Linux.......
Bon sinon c'est vraiment excellent Synergy. Sauf quand on sort d'une partie de BZFlag alors qu'on voulait se dégager vite fait d'une balle mortelle.
# Mon expérience
Posté par Victor STINNER (site web personnel) . En réponse au journal Programmation robuste. Évalué à 7.
#1 : Une compilation sans avertissement
Un avertissement est souvent un bug potentiel. Un comparaison nombre entier naturel et nombre entier relatif peut être une source de bug (integer overflow). => gcc -Wall -Wextra. Je trouve ça complètement débile que "-Wall" n'affiche pas ALL (tous) les avertissements... (avec gcc < 4 : -Wall -W). Pour les fanatiques : -Werror bloque la compilation à chaque avertissement.
#2 : Valgrind
Il faut que le programme ait zéro erreur dans Valgrind.
#3 : Analyse statique du code
Utiliser SPlint, Rats, Flawfinder, etc. pour trouver les portes d'entrées possible pour des failles.
http://www.haypocalc.com/wiki/Analyse_statique_de_code
### Fin de la partie basique ###
Maintenant il faut revoir le programme pour limiter les dégats. Ca peut être :
- Vérifier strictement toutes les entrées utilisateurs : clavier, réseau, variable d'environnement, fichier de configuration, fichier en entrée, événement X11, etc.
Voir les dégats que ça peut faire :
http://sam.zoy.org/zzuf/
http://www.haypocalc.com/wiki/Injection_de_code
http://www.haypocalc.com/wiki/Injection_de_SQL
http://www.haypocalc.com/wiki/Format_string_attack
- Vérifiez aussi le code de retour des fonctions, et particulier les fonctions systèmes (fopen, chdir, fork, etc.).
- Séparation des privilèges : séparer et limiter au maximum le code exécuté avec des privilèges elevés
- etc.
[^] # Re: Armons nous de patience pour prêcher la bonne parole....
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Quand le logiciel propriétaire dérive : Skype comme les autres. Évalué à 9.
Son code est fortement protégé. Voyez la présentation de Philippe Biondi et Fabrice Desclaux sur le reverse engineering du programme :
http://blackhatnetworks.com/presentations/bh-europe-06/bh-eu(...)
« This presentation will uncover some Skype secrets, hidden behind many levels of obfuscation, showing how bad security by obscurity can be. »
Skype traverse le NAT, transforme un ordinateur en serveur, fait du P2P à notre insu, etc. Et bien sûr, le protocole est totalement propriétaire. C'est bien connu que la sécurité par l'obscurité est la meilleure (humour).
http://fr.wikipedia.org/wiki/Sécurité_par_l'obscurité
Maintenant allez voir les failles trouvées (dumoins, celles publiées par Skype) :
http://www.skype.com/security/bulletins.html
[^] # Re: Skype est blocable
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Quand le logiciel propriétaire dérive : Skype comme les autres. Évalué à 10.
Hum hum, Linux n'utilise pas un algorithme très compliqué pour le choix du port source pour le NAT : c'est un simple compteur (N, N+1, N+2, N+3, ...).
La tendance actuelle est justement d'ajouter du hasard un peu partout pour rendre les attaques plus complexes (voir impossible). OpenBSD a beaucoup travaillé là-dessus. C'est par exemple le premier OS a avoir ajouté de l'aléa dans les choix des adresses mémoire (pile, "heap", adresse de base d'un programme, pile noyau, etc.). PaX fait la même chose pour Linux. D'ailleurs, Linux intègre petit à petit ce genre de "fonctionnalité".
Pour voir l'impact du choix des numéros de séquence TCP, une vraie étude statistique cette fois-ci :
http://lcamtuf.coredump.cx/newtcp/
# Heureux ? Oh oui, très heureux
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Cairo 1.4 : performances accrues !. Évalué à 9.
http://linuxfr.org/~JRM/22955.html
Sinon, pour voir ce qu'on peut faire avec Cairo, voyez le blog de Mirco Müller (qui a fait la conférence "Bling it up - make it sexy!" à FOSDEM) :
http://macslow.thepimp.net/
[^] # Re: Je te retourne le compliment
Posté par Victor STINNER (site web personnel) . En réponse au journal Publicité ciblée.... Évalué à 3.
mplayer plante souvent (ah bon ? :-D) alors je le lance dans une boucle en basculant d'un serveur à l'autre.
# News foireuse
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche La technologie HD-DVD/Blu-ray accessible aux utilisateurs de Linux. Évalué à 10.
Alors je ne sais pas d'où sort la phrase de la dépêche « Le deuxième intérêt est de pouvoir lire maintenant les DVD légalement acquis grâce aux logiciels FFMpeg et surtout MPlayer ».
À ce que j'ai compris : il existe maintenant des outils pour casser le chiffrement HD-DVD et il est donc possible de lire des films au format HD-DVD sous Linux. Par contre, est-ce qu'il existe des lecteurs physiques compatibles Linux ? J'avais lu qu'ils auront des trucs de DRM dans le firmware.
# WMA sécurisés
Posté par Victor STINNER (site web personnel) . En réponse au journal Universal Music France propose un album complet en MP3 !. Évalué à 9.
C'est quoi qui est sécurisé en fait ? Ah oui, ça doit protéger mon ordinateur. Plus besoin de parefeu, d'anti-spyware, de sauvegarde. Non non, plus vous téléchargez de WMA, plus votre ordinateur sera sain.
http://www.zdnet.fr/actualites/informatique/0,39040745,39287(...)
http://www.microsoft.com/technet/security/Bulletin/MS02-072.(...)
http://www.pcworld.com/article/id,119016-page,1/article.html
...
[^] # Re: Jusqu'ou ira-t-on ?
Posté par Victor STINNER (site web personnel) . En réponse au journal nepomuk. Évalué à 5.
- Paris est une capitale
- Paris est en France
Si on cherche la capitale de la France, le moteur sera lier les informations pour trouver Paris.
Le langage de requête est http://fr.wikipedia.org/wiki/SPARQL ; et le format de stockage : RDF (ou http://fr.wikipedia.org/wiki/RDF_Schema ?).
# Fallait aller à FOSDEM
Posté par Victor STINNER (site web personnel) . En réponse au journal nepomuk. Évalué à 3.
http://www.fosdem.org/2007/schedule/events/kde_semantic
Je pense que les documents seront bientôt (ou le sont déjà) en ligne.
[^] # Re: Impossible?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche PyPy, le serpent qui se mord la queue, sort en version 0.99. Évalué à 1.
Hum, je pense que ce n'est sûrement pas vrai dans tous les cas. Je pense plutôt qu'étant donné qu'un programme Python est bien plus court (en nombre de lignes), on peut passer plus de temps à réécrire l'algorithme / faire des tests.
[^] # Re: Lent ...
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche PyPy, le serpent qui se mord la queue, sort en version 0.99. Évalué à 3.
Non, c'était justement quand PyPy était interprété par CPython qu'il était plusieurs centaines de fois plus lent. Maintenant PyPy est traduit en C puis compilé par gcc pour arriver à être "à peine" 3x plus lent que CPython. La page suivante présente les perfs selon le mode de compilation (C, LLVM, etc.) :
http://tuatara.cs.uni-duesseldorf.de/benchmark.html
PyPy .NET est 70x plus lent que CPython :-p
[^] # Re: un très bon exemple
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche PyPy, le serpent qui se mord la queue, sort en version 0.99. Évalué à 5.
De par sa nature très modulaire, PyPy permet également des changements majeurs dans l'implémentation de Python. CPython utilise par exemple un ramasse miette à générations. C'est un choix, mais PyPy en permet d'autres, ce qui permet de comparer les performances et de choisir une alternative qui serait plus rapide dans un cas précis. D'ailleurs, PyPy a déjà des outils pour supprimer des malloc().
La mémoire n'était qu'un exemple, mais la gestion des processus concurrents est également remise en question : thread, greenlets, proxy d'objet fonctionnant sur réseau, clonage de générateur... PyPy apporte encore une fois un air frais dans ce domaine.
Et alors que CPython n'optimise peu ou pas, PyPy fait de l'inlining, a un annotateur de type, permet de compiler dans de nombreux langages, etc. Il offre la possibilité d'optimisations très complexes qui seraient impossibles avec CPython.
[^] # Re: Lent ...
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche PyPy, le serpent qui se mord la queue, sort en version 0.99. Évalué à 2.
Le problème des performances va peu à peu s'effacer et je pense qu'à terme PyPy sera plus rapide.
[^] # Re: La critique est facile
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Version 0.7.9 de Wormux. Évalué à 4.