J'avais eu un échange de mail à ce propos avec le mainteneur du projet, mais n'ayant pas eu assez d'informations à fournir, la recherche de bug s'est arretée.. C'est ce qui m'a poussé à réécrire le module de pyborg d'ailleurs..
( Dans mon cas megahal ne marche même pas tout seul.. et je suis aussi sous debian )
Pas de problème, je l'ai mis sur irc.free.fr ( mon IP est bannie de irc.voila.fr a cause de mes tests trop nombreux :-( )
pseudo : pyborg
salon : #pyborg
( utiliser la commande !owner test pour obtenir les commandes de controle, bon, allez pas lui vider son dictionnaire avant demain, au cas ou certains voudraient tester ;-) )
Je suis d'accord avec vous que jabber est libre et mieux que MSN :)
Mais en construisant le bot, je n'ai pas pensé à ça, j'ai juste lu les logs des gens qui cherchaient à avoir l'adresse MSN du bot et je me suis dit que ça pourrait être une bonne idée de lui en donner une...
Le programme reste plus un gadget qu'autre chose ( à mes yeux en tout cas) et me permet de découvrir python plus qu'autre chose.
Je suis pret à essayer d'implanter le bot sous jabber, il n'y a pas de problème, ce sera là pour la version 1.1.1 :-) Le programme est assez modulable ( en entrée comme en sortie ) pour que cela se fasse sans problème !
Je suis d'accord avec toi, mais je pense qu'il est possible de passer outre, justement grace au fait que tout soit mutable :)
En effet, les commande from spam import * et import egg font appel à la fonction __import__ que l'on *pourrait* redéfinir ( je ne dit pas que c'est quelque chose de siimple ) pour que les varialbes passent dans l'univers local, au chargement.
Ensuite, dans le cas d'un assignement la fonction __setattr__ est appelée ( je n'ai pas fait les test, mais d'après la doc c'est le cas ) et là encore le fait qu'elle soit mutable nous permet d'intercepter les redéfinitions vers une fonction importée, et d'éviter l'écrasement.
Pour finir, une mise à jour des varialbes __methods__ __class__ etc permet de rendre toutes ces manippulations invisibles pour le programme...
Je suis d'accord que ça n'est pas quelque chose de simple à mettre en place, mais je pense que python nous laisse assez de marge de maneuvre pour mettre en route un tel systeme. ( Bon apres c'est que le début, faut aussi gérer les erreurs pour pas qu'un prgramme ne fasse buguer tout les autres, faut gérer les threads etc, mais bon, ça fait une idée à proposer au google summer of code de l'an prochain ! :) )
Il y a une différence entre le fait de charger un module pour toutes les instances, et le fait que les instances se partagent les données de ce modules..
Python cherche les variables d'abord en local, puis en global, et enfin dans les modules, il est donc possible d'avoir un sys.stdout défini en local, et un autre dans le module sys. ( Il est évident que cela demanderait beaucoup de changement dans le code interne de python, mais cela pourrait être fait sans changement pour le code des applications python).
Par contre, les fonctions elles, ne seraient chargées qu'une seule fois, et là serait l'économie
Bon, après tout ça, j'ai finalement décidé d'ouvrir un compte chez gna, et d'y proposer le projet. Je ne m'attendais pas à ce que de simple modifications comme celles-là se transforment en un grand projet... :)
Merci à tous de m'avoir poussé à le faire, j'espère que le programme va reprendre vie ! A moi les joies de la chasse aux bugs, des demandes d'améliorations etc..!
Merci tomachaka de m'avoir donné la page de Tom Morton, je ne l'avais pas trouvé lors de mes recherches ( sûrement mal faites ), mais je vais en profiter pour annoncer a nouveau la résurrection du programme.. Par contre, pour ce qui est de mettre en place en CVS ou SVN je n'ai pas encore les capacités pour faire ça; enfin je pense que si le projet se trouve sur gna, cela devrait être possible.
Coïncidence ? J'ai reçu aujourd'hui un mail de quelqu'un qui venait de tomber sur ma page et qui me remerciait des modifications... :)
Chimrod
PS: Pour répondre à la remarque pleine d'ironie de Loïs Taulelle, j'ai effectivement commencé à me pencher au début sur Megahal ( d'autant plus que le programme génère un segfault chez moi ), mais j'ai beau me forcer, le C++ me fait toujours autant vomir ! Cela ne m'a pas empêché de mettre au point une petite interface pour contrôler megahal avec les commandes et les même outils que pyborg. Si ça intéresse certain, le programme se trouve sur le wiki404 ( donc inaccessible jusque lundi ).
PPS: Merci encore à Dawar et au wiki404 pour m'avoir proposé l'hébergement du programme !
C'est le principe des chaînes de markov[1] appliquées à la génération de phrases.
Il existe de nombreux projets qui sont basés la dessus, nottamment en ce qui concerne les bots parlant sur IRC, comme par exemple magahal[2] qui est assez avancé ou encore benzo[3] qui est juste un script python illustrant la chose.
Je suis aussi en train de plancher là dessus, puisque je suis en train de reprendre le code de PyBorg[4] et je compte modifier le processus de réponse pour qu'il utilise ce principe... Je n'avais pas connaissance de ton projet, mais je compte aller y faire un tour pour voir comment tu gère tout ça !
Quoi qu'il en soit, c'est assez instructif de voir comment tout cela fonctionne ! :)
Gmail, c'est bien, mais googletalk est seulement "compatible" avec Jabber. Il n'est pas possible d'utiliser de passerelles, ou d'utiliser d'autres fonctions propres à Jabber avec... Matthieu dit qu'il a besoin de parler en utilisant une passerelle MSN, et ça ne devient plus du tout possible avec gmail !
Effetivement, et il vient d'annoncer cette contradiction dans un nouveau billet ( http://maitre-eolas.fr/2006/08/08/412(...) ) : la loi sera complétée par un décret qui pénalisera également l'utilisation de logiciels... voila :(
Une vidéo suffit pour voir à quoi ressemble une distro ? Pourquoi pas comparer les images sur les CDs préssés tant qu'on y est ?
Une distro ne se limite pas aux gadgets graphiques qui y sont intégrés ( qui de toutes façon sont tous plus ou moins identiques, quoi qu'on en dise ), mais de la facilité a la configurer ( il peut être plus facile d'éditer les fichiers de conf pour certain, et pour d'autre de passer par une interface ), et plein d'autres détails.. Par exemple la vidéo de Mandriva nous présente l'installation, mais on ne voit pas l'utilisation de Mandriva au quotidien...
Bref c'est à l'utilisation qu'on peut déterminer si une distro nous convient ou pas... pas avec une vidéo..
Je pense que si tu avais les yeux l'un au dessus de l'autre, tu te demanderais pourquoi le mirroir inverse le haut et le bas et non pas la gauche et la droite...
J'ai l'impression que cette question avait été posée dans le virus informatique au début du magazine ( n°6-7 je sais plus ), t'es en train de vider ton grenier ?
Donner le bac à tout le monde ne signifie pas donner les même chances à tout le monde. Là est le problème que l'éducation nationale n'a toujours pas su résoudre... Le collège unique n'a pas résolu les inégalités, et celles-ci se sont même accentuées.
La question n'est pas de savoir si le bac a une valeur ou pas. La question est de savoir si le bac est le même pour tous et s'il permet à tous d'obtenir les même droits. ( voir par exemple l'étude de stéphane Beaud : "80% au bac... Et après ?" )
D'un autre côté, je ne pense pas qu'il faille considérer que le bac soit donné au rabais; si c'était le cas, cela signifierait que l'ensemble des jeunes actifs aujourd'hui seraient surdiplômés, ce qui n'est pas le cas : le fait qu'il y ait davantage de diplômes donnés ne signifie pas que le diplôme se soit dévalorisé. Il y a 30ans, nous étions en plein dans ce que l'on appelle "la jeunesse dorée" où l'on pouvait devenir cadre avec seulement un bac. Ça n'est plus le cas aujourd'hui, c'est un fait, mais est-ce la faute du diplôme en lui même ?
Il est clair qu'il y a un problème avec le bac aujourd'hui, mais il ne faut pas trop le charger pour autant.. ce n'est pas le diplôme qui pose problème, mais les inégalités pour y acceder..
Achete un disque dur, met linux dessus, et met le ensuite dans un boitier externe.. généralement il y a une alimentation externe, et l'USB.. si tu as un disque dur qui traine, c'est la solution qui te reviendra la moins chère. ( un boitier coute maximum 30¤ )
Et pourtant, il y a des pubs qui resterons des références et que l'on ressort de temps en temps tant elles nous ont marquées, du genre " vous vous souvenez de cette pub pour le sucre ou l'on voyais des asperges en tubes qui se formaient toutes seules une fois à l'air libre ?" ..
Après, savoir quel est le but de la pub est une autre histoire... je pense que la pub n'est pas là pour inciter les gens à acheter le produit, mais à conforter les gens dans leur idée qu'ils ont acheté LE produit qui va leur révolutionner la vie ( alors qu'on est toujours frustré quand on compare l'objet que l'on a face à la représentation que l'on s'en faisait)...
Il y avait eu un théma l'an dernier sur arte qui parlait des fétiches, et qui mettait dans le même sujet les icones religieuses et la publicité.. vraiment bien fait !
Le Monde Diplomatique de ce mois-ci parlait de cette résolution qui allait être promulguée. selon eux, il s'agissait du dernier mouvement engagé par l'UNESCO pour essayer de redevenir une institution puissante, alors que ces derniers temps son influence se réduisait de plus en lplus ( nottament depuis que les USA l'avaient quittée, avant de la ré-intégrer ).
Cela n'enlève rien aux conséquences positives que cela aura, mais je pense qu'il s'agira avant tout de mesures symboliques, cela n'arrêtera pas le pillage culturel de techniques médicales ancestrales dans les pays en voie de déveleppement, et aura du mal à resister à face aux exigences du marché ...
Enfin saluons quand même cette initiative, qui pourras, je l'espère faire tâche d'huile
[^] # Re: le tester en ligne
Posté par chimrod (site web personnel) . En réponse au journal PyBorg ressucite !. Évalué à 1.
Effectivement, cela devrait être :
num_contexts += len(self.lines[x][0].split())
Je met a jour les fichiers illico !
[^] # Re: le tester en ligne
Posté par chimrod (site web personnel) . En réponse au journal PyBorg ressucite !. Évalué à 2.
http://self.runner.free.fr/fichiers/pyborg/
Pour ce qui est du problème des points et des virgules, c'est un problème qui apparait au début, mais cela disparaît par la suite...
Voila !
[^] # Re: megahal segfault
Posté par chimrod (site web personnel) . En réponse au journal PyBorg ressucite !. Évalué à 1.
( Dans mon cas megahal ne marche même pas tout seul.. et je suis aussi sous debian )
[^] # Re: le tester en ligne
Posté par chimrod (site web personnel) . En réponse au journal PyBorg ressucite !. Évalué à 2.
pseudo : pyborg
salon : #pyborg
( utiliser la commande !owner test pour obtenir les commandes de controle, bon, allez pas lui vider son dictionnaire avant demain, au cas ou certains voudraient tester ;-) )
[^] # Re: * Ajout d'un support expérimental du protocole MSN
Posté par chimrod (site web personnel) . En réponse au journal PyBorg ressucite !. Évalué à 2.
Mais en construisant le bot, je n'ai pas pensé à ça, j'ai juste lu les logs des gens qui cherchaient à avoir l'adresse MSN du bot et je me suis dit que ça pourrait être une bonne idée de lui en donner une...
Le programme reste plus un gadget qu'autre chose ( à mes yeux en tout cas) et me permet de découvrir python plus qu'autre chose.
Je suis pret à essayer d'implanter le bot sous jabber, il n'y a pas de problème, ce sera là pour la version 1.1.1 :-) Le programme est assez modulable ( en entrée comme en sortie ) pour que cela se fasse sans problème !
[^] # Re: Mono
Posté par chimrod (site web personnel) . En réponse à la dépêche Rentrée des classes pour GNOME 2.16. Évalué à 1.
En effet, les commande from spam import * et import egg font appel à la fonction __import__ que l'on *pourrait* redéfinir ( je ne dit pas que c'est quelque chose de siimple ) pour que les varialbes passent dans l'univers local, au chargement.
Ensuite, dans le cas d'un assignement la fonction __setattr__ est appelée ( je n'ai pas fait les test, mais d'après la doc c'est le cas ) et là encore le fait qu'elle soit mutable nous permet d'intercepter les redéfinitions vers une fonction importée, et d'éviter l'écrasement.
Pour finir, une mise à jour des varialbes __methods__ __class__ etc permet de rendre toutes ces manippulations invisibles pour le programme...
Je suis d'accord que ça n'est pas quelque chose de simple à mettre en place, mais je pense que python nous laisse assez de marge de maneuvre pour mettre en route un tel systeme. ( Bon apres c'est que le début, faut aussi gérer les erreurs pour pas qu'un prgramme ne fasse buguer tout les autres, faut gérer les threads etc, mais bon, ça fait une idée à proposer au google summer of code de l'an prochain ! :) )
[^] # Re: Mono
Posté par chimrod (site web personnel) . En réponse à la dépêche Rentrée des classes pour GNOME 2.16. Évalué à 3.
Python cherche les variables d'abord en local, puis en global, et enfin dans les modules, il est donc possible d'avoir un sys.stdout défini en local, et un autre dans le module sys. ( Il est évident que cela demanderait beaucoup de changement dans le code interne de python, mais cela pourrait être fait sans changement pour le code des applications python).
Par contre, les fonctions elles, ne seraient chargées qu'une seule fois, et là serait l'économie
# Résultat des courses
Posté par chimrod (site web personnel) . En réponse au journal Reprendre un projet : qu'en faire après ?. Évalué à 3.
Merci à tous de m'avoir poussé à le faire, j'espère que le programme va reprendre vie ! A moi les joies de la chasse aux bugs, des demandes d'améliorations etc..!
Merci tomachaka de m'avoir donné la page de Tom Morton, je ne l'avais pas trouvé lors de mes recherches ( sûrement mal faites ), mais je vais en profiter pour annoncer a nouveau la résurrection du programme.. Par contre, pour ce qui est de mettre en place en CVS ou SVN je n'ai pas encore les capacités pour faire ça; enfin je pense que si le projet se trouve sur gna, cela devrait être possible.
Coïncidence ? J'ai reçu aujourd'hui un mail de quelqu'un qui venait de tomber sur ma page et qui me remerciait des modifications... :)
Chimrod
PS: Pour répondre à la remarque pleine d'ironie de Loïs Taulelle, j'ai effectivement commencé à me pencher au début sur Megahal ( d'autant plus que le programme génère un segfault chez moi ), mais j'ai beau me forcer, le C++ me fait toujours autant vomir ! Cela ne m'a pas empêché de mettre au point une petite interface pour contrôler megahal avec les commandes et les même outils que pyborg. Si ça intéresse certain, le programme se trouve sur le wiki404 ( donc inaccessible jusque lundi ).
PPS: Merci encore à Dawar et au wiki404 pour m'avoir proposé l'hébergement du programme !
[^] # Re: Blahmatic
Posté par chimrod (site web personnel) . En réponse au journal Google livre ses N-Grammes !. Évalué à 4.
Il existe de nombreux projets qui sont basés la dessus, nottamment en ce qui concerne les bots parlant sur IRC, comme par exemple magahal[2] qui est assez avancé ou encore benzo[3] qui est juste un script python illustrant la chose.
Je suis aussi en train de plancher là dessus, puisque je suis en train de reprendre le code de PyBorg[4] et je compte modifier le processus de réponse pour qu'il utilise ce principe... Je n'avais pas connaissance de ton projet, mais je compte aller y faire un tour pour voir comment tu gère tout ça !
Quoi qu'il en soit, c'est assez instructif de voir comment tout cela fonctionne ! :)
[1] : http://fr.wikipedia.org/wiki/Cha%C3%AEne_de_Markov#Exemple:_(...)
[2] : http://megahal.alioth.debian.org/
[3] : http://benzo.sourceforge.net/
[4] : http://rezal404.org/wikini/wakka.php?wiki=PyBorG
[^] # Re: un compte gmail ?
Posté par chimrod (site web personnel) . En réponse au journal Pourquoi jabber m'agace (en ce moment...). Évalué à 1.
[^] # Re: Je ne comprend décidément rien au lois...
Posté par chimrod (site web personnel) . En réponse au journal Commentaire de la loi DADVSI. Évalué à 3.
# voir a quoi ça ressemble ?
Posté par chimrod (site web personnel) . En réponse au journal Enfin voir les distros. Évalué à 8.
Une distro ne se limite pas aux gadgets graphiques qui y sont intégrés ( qui de toutes façon sont tous plus ou moins identiques, quoi qu'on en dise ), mais de la facilité a la configurer ( il peut être plus facile d'éditer les fichiers de conf pour certain, et pour d'autre de passer par une interface ), et plein d'autres détails.. Par exemple la vidéo de Mandriva nous présente l'installation, mais on ne voit pas l'utilisation de Mandriva au quotidien...
Bref c'est à l'utilisation qu'on peut déterminer si une distro nous convient ou pas... pas avec une vidéo..
# D'un autre côté..
Posté par chimrod (site web personnel) . En réponse au journal [HS] enigme refléchie. Évalué à 2.
J'ai l'impression que cette question avait été posée dans le virus informatique au début du magazine ( n°6-7 je sais plus ), t'es en train de vider ton grenier ?
[^] # Re: C'était mieux avant.
Posté par chimrod (site web personnel) . En réponse au journal Référentiel des métiers. Évalué à 2.
La question n'est pas de savoir si le bac a une valeur ou pas. La question est de savoir si le bac est le même pour tous et s'il permet à tous d'obtenir les même droits. ( voir par exemple l'étude de stéphane Beaud : "80% au bac... Et après ?" )
D'un autre côté, je ne pense pas qu'il faille considérer que le bac soit donné au rabais; si c'était le cas, cela signifierait que l'ensemble des jeunes actifs aujourd'hui seraient surdiplômés, ce qui n'est pas le cas : le fait qu'il y ait davantage de diplômes donnés ne signifie pas que le diplôme se soit dévalorisé. Il y a 30ans, nous étions en plein dans ce que l'on appelle "la jeunesse dorée" où l'on pouvait devenir cadre avec seulement un bac. Ça n'est plus le cas aujourd'hui, c'est un fait, mais est-ce la faute du diplôme en lui même ?
Il est clair qu'il y a un problème avec le bac aujourd'hui, mais il ne faut pas trop le charger pour autant.. ce n'est pas le diplôme qui pose problème, mais les inégalités pour y acceder..
Pour ceux que cela intéresse, il y a ici le résumé d'un cours de sociologie de l'éducation assez bien conçu ( je trouve ) : http://coursdesocio.online.fr/CoursSocio2.htm
[^] # Re: super
Posté par chimrod (site web personnel) . En réponse au journal Chroniques de la violence ordinaire ce soir sur Arte. Évalué à 1.
Même France 2 à l'époque ne l'avait pas mis en première partie !!
# xgl + enlightenment ?
Posté par chimrod (site web personnel) . En réponse au journal Xgl, la suite. Évalué à 1.
j'attend de voir les screenshots !
# Boitier externe + disque dur
Posté par chimrod (site web personnel) . En réponse au journal Quelle solution de stockage amovible personnelle ?. Évalué à 3.
# Dommage
Posté par chimrod (site web personnel) . En réponse au journal Peer-to-peer, gravure, échanges: UFC Que Choisir publie une étude intérressante. Évalué à 2.
[^] # Re: lapin compris
Posté par chimrod (site web personnel) . En réponse au journal Le livre Lapin. Évalué à 2.
Après, savoir quel est le but de la pub est une autre histoire... je pense que la pub n'est pas là pour inciter les gens à acheter le produit, mais à conforter les gens dans leur idée qu'ils ont acheté LE produit qui va leur révolutionner la vie ( alors qu'on est toujours frustré quand on compare l'objet que l'on a face à la représentation que l'on s'en faisait)...
Il y avait eu un théma l'an dernier sur arte qui parlait des fétiches, et qui mettait dans le même sujet les icones religieuses et la publicité.. vraiment bien fait !
# Lutte politique..
Posté par chimrod (site web personnel) . En réponse au journal Un grand pas pour l'humanité... contre l'avis de certains. Évalué à 2.
Cela n'enlève rien aux conséquences positives que cela aura, mais je pense qu'il s'agira avant tout de mesures symboliques, cela n'arrêtera pas le pillage culturel de techniques médicales ancestrales dans les pays en voie de déveleppement, et aura du mal à resister à face aux exigences du marché ...
Enfin saluons quand même cette initiative, qui pourras, je l'espère faire tâche d'huile