Chez moi ça crashe au bout de quelques secondes si je lance xcompmgr (avec les drivers nvidia). C'est con, j'aurai pas les ombres portées :-(
Sinon, pas de problème à signaler.
Les Cancres: Ils disent "non" avec la tête mais ils disent "oui" avec le coeur ! Il disent "oui" à ce qu'ils aiment,
Ils disent non au professeur...
Il est debout
On le questionne
Et tous les problèmes sont posés
Soudain le fou rire le prend
Et il efface tout
Les chiffres et les mots
Les dates et les noms
Les phrases et les pièges
Et malgré les menaces du maître
Sous les huées des enfants prodiges
Avec des craies de toutes les couleurs
Sur le tableau noir du malheur
Il dessine le visage du bonheur.
Rien à voir avec le TCE, mais quitte à être hors charte merci de m'avoir rappelé ce vieux souvenir de l'école primaire ! :-)
Bon je m'auto-répond... J'aurais du lire le code source en entier, en fait tu fais tout dans la méthode main(), à aucun moment tu ne crée d'objet Main (quelle idée de l'appeler comme ça aussi ! ;-)
Donc il faut d'abord créer un objet Main puis ratacher les évènements clavier à celui-ci.
Ce devrait donner quelque chose comme ça :
public static void main (String[] args) {
jc.setBackground(Color.WHITE);
jc.setPreferredSize(new Dimension(400,200));
Dimension dim =new Dimension(40,60);
IDrawable rect = new RectangleDrawable(Color.RED,new Point(10,10),dim);
jc.addDrawable(rect);
///
Main m = new Main();
jc.addKeyListener(m);
///
GUIHelper.showOnFrame(jc,"test JCanvas");
}
Essaye de mettre la ligne dans la méthode Main(), c'est-à-dire dans le constructeur. Le mot-clé "this" n'a aucun sens dans une méthode déclarée statique !
Effectivement, l'UE fonctionne selon la démocracie représentative et on est très très loin de nos représentants :/
Cependant je répondais à la personne qui refuse de voter "parce que les autres pensent de telle ou telle façon". On a justement là une occasion de s'exprimer directement alors je trouve con de ne pas le faire !
- la plupart des persone qui vont voter ( et parle pas des personne qui ont poster des avis argumenter) vote pour des raison completment débile (du cote oui et du cote non ) du genre j vote non car rafarin est un sale con ou j vote oui car sinon y aura pu d'euroep ( ce qui est debile l' europe est actulement un union economique qui marche plutot bien et c'est un vote pour ou contre le TCE et pas la survie de l'europe). bref rien que ca, j trouve ca stupide ( mais ce n'est pas une raison suffisante me direz vous et ovous avez raison
Pourquoi voter ? Pour exprimer tes convictions. Tu n'en as pas ? Tu laisses les autres décider à ta place ?
d'autre part ce vote est un enorme foutage de guelle ! je m'explique : si c'est le non qui passe , alors le parlement europeen(sans notre avis) votera pour ou contre le TCE dans 2 an et demi ( bref ca fait un peu si vous dite oui c est bon , sinon c est non ben on en discutera entre nous dans 2 ans ... ) donc ca ressemble plus a un "tout de suite / dans 2 ans" qu'a un "oui/non" .
N'importe quoi, le parlement européen n'a pas les compétences pour imposer le TCE sans notre avis. Il s'agit d'un traité entre les pays membres de l'UE, il faut donc que ces pays le ratifient.
et en plus je suis contre le systeme d'election actuel ( ATTENTION je ne suis pas ROYALISTE/COMMUNISTE/DICTATEUR/FNISTE ou autre je dit juste que le système actuel a besoind'etre modifier parce qu'il laisse a désirer). mais cela est un autre probleme.
Je vois pas de quel système d'élections tu parles. Celui de tes représentants à l'UE ? Dans ce cas on te demande de t'exprimer dessus, c'est bien l'occasion de le faire.
J'ai effectivement eu des problemes pour me connecter hier en fin d'après-midi, mais depuis c'est redevenu normal ?
Pour info j'utilise Kopete de KDE 3.4.
Essaye de lancer alsaconf en root.
Si tu as les modules qui vont bien (ce qui semble être le cas), alsaconf va te proposer une carte son à choisir dans une liste.
Ça parait bizarre quand on en a pas l'habitude, mais au final ça simplifie la vie.
Un exemple :
(+ 1 2 3 4)
Notez que l'opérateur plus n'apparaît qu'une fois, contrairenment à la notation traditionnelle 1+2+3+4
On peut écrire ça (apply + '(1 2 3 4)), c'est à dire "appliquer la fonction + à la liste (1 2 3 4)", puis remplacer + par la fonction de notre choix.
- La transparence referentielle
Les fonctions LISP sont sans effets de bord, c'est à dire qu'on peut les voire comme une boite noire prenant une entrée et produisant toujours la même sortie. C'est quelque chose de plutot sympa à avoir quand même :-)
Je n'ai pas xorg effectivement, mais par contre DBUS a été installé automatiquement avec la source que j'ai cité (dbus-1 et dbus-qt-1). Mais je sais pas à quoi ça sert actuellement dans kde :)
On parlait d'installer Ubuntu à partir de rien SIMPLEMENT pour avoir KDE, c'est pas vraiment la meme chose qu'une simple mise à jour.
Et perso, je trouve que ajouter une ligne à un fichier et faire apt-get update dist-upgrade c'est pas la mort non plus ! J'ai fait ça ce matin et ça m'a pris 10 minutes, téléchargement compris.
Mais bon si tu préfères changer de distrib tous les 6 mois pour suivre la hype, c'est toi qui vois.
Super site ! J'étais tombé dessus il y a quelques temps (bien avant qu'on se mette à troller sur le TCE), et il y a des photos de parapente qui valent le coup d'oeil !
>Ya pas d'interface ligne de commande pour dcop ? Pas d'api pour y acceder avec tout et n'importe quoi ?
Oui et d'ailleurs je donne la commande à titre de comparaison :
naku:~$ dcop amarok player nowPlaying
Massive Attack - Unfinished Sympathy
Apprécie qui veut, pour moi c'est vite vu je prefère 1000 fois l'approche "objet" de DCOP. Comme tu fais par exemple pour afficher la couverture de l'album avec une combinaison de pipe/grep ?
Note aussi qu'une application peut effectuer une action en réponse à un message DCOP (exemple : dcop amarok player pause)
Je pense pas que ça soit une bonne idée de t'envoyer mon code, d'autant que c'est pas un modèle de programmation :-)
Mais je peux t'aider sur la fonction d'évaluation.
Le but de cette fonction c'est de donner une probabilité de gagner dans une disposition de jeu donnée. Donc si tu as gagné, c'est à dire que tous tes pions sont en position finale, alors P = 1. Les valeurs indiquent le meilleur chemin à prendre dans l'arbre d'évaluation min-max. Elles jouent le rôle de "panneau indicateur", on parle d'"heuristiques" (c'est le terme savant).
Le problème c'est qu'il n'y a pas UNE meilleure façon de faire (du moins on ne la connait pas), c'est donc à toi d'essayer différentes heuristiques et de trouver la meilleure.
Le plus simple c'est d'associer un score à chaque emplacement du jeu, score d'autant plus élevé que l'emplacement est proche de la position finale du pion.
Pour le joueur d'en haut, ça peut donner quelque chose comme ça (disclaimer : j'ai pas testé ces valeurs, c'est pas dit que ce soient les meilleures)
0.40
0.15 0.15
0.06 0.06 0.06
0.03 0.03 0.03 0.03
Et les valeurs suivantes vont en décroissant quand tu t'approche du bas.
Pour avoir le score d'un joueur à un moment donné, il suffit de faire la somme des valeurs de toutes les cases sur lesquelles sont ses pions.
Évidemment, pour le joueur n°2 , les valeurs seront pas les mêmes.
Ça c'est la version la plus simple, après c'est à toi d'avoir de l'imagination, je connais pas assez bien les dames chinoises pour proposer la meilleur façon de faire :-)
De mémoire, je faisais de la façon suivante :
- additionner les scores associés aux coordonnées de chaque pion
- soustraire ceux de l'adversaire
- compter les pions qui ont le droit de se déplacer (l'idée c'est qu'une position où on est libre de se déplacer est meilleure qu'une où on s'est retrouvé bloqué dans un coin ou par l'adversaire)
- soustraire les déplacement de l'adversaire
Avec ça, tu verras que tes pions s'organisent tous seul pour faire des "saute-moutons", c'est assez marrant à voir :-)
[^] # Re: mount impossible
Posté par Jean-Marc (site web personnel) . En réponse au message Partitionnement. Évalué à 2.
mke2fs -j /dev/hdb1
[^] # Re: .
Posté par Jean-Marc (site web personnel) . En réponse au journal X.Org dans Debian. Évalué à 2.
Sinon, pas de problème à signaler.
[^] # Re: Heu ... t'es sûr ?
Posté par Jean-Marc (site web personnel) . En réponse au journal Matrix.... Évalué à 4.
Ils disent non au professeur...
Il est debout
On le questionne
Et tous les problèmes sont posés
Soudain le fou rire le prend
Et il efface tout
Les chiffres et les mots
Les dates et les noms
Les phrases et les pièges
Et malgré les menaces du maître
Sous les huées des enfants prodiges
Avec des craies de toutes les couleurs
Sur le tableau noir du malheur
Il dessine le visage du bonheur.
Rien à voir avec le TCE, mais quitte à être hors charte merci de m'avoir rappelé ce vieux souvenir de l'école primaire ! :-)
# Expressions rationnelles
Posté par Jean-Marc (site web personnel) . En réponse au message pbs " grammaticaux " de bash. Évalué à 2.
conserve toutes les lignes qui contiennent le motif "mdm"
ou si tu tiens absolument à utiliser des opérateurs :
ps aux | grep .*mdm.*
Le point représente n'importe quel caractère et avec l'étoile il peut être répété 0 fois ou plus.
[^] # Re: Manque le addKeyListener ?
Posté par Jean-Marc (site web personnel) . En réponse au message J'arrive pas à récupérer un évenement clavier dans une fenêtre. Évalué à 2.
Donc il faut d'abord créer un objet Main puis ratacher les évènements clavier à celui-ci.
Ce devrait donner quelque chose comme ça :
public static void main (String[] args) {
jc.setBackground(Color.WHITE);
jc.setPreferredSize(new Dimension(400,200));
Dimension dim =new Dimension(40,60);
IDrawable rect = new RectangleDrawable(Color.RED,new Point(10,10),dim);
jc.addDrawable(rect);
///
Main m = new Main();
jc.addKeyListener(m);
///
GUIHelper.showOnFrame(jc,"test JCanvas");
}
[^] # Re: Manque le addKeyListener ?
Posté par Jean-Marc (site web personnel) . En réponse au message J'arrive pas à récupérer un évenement clavier dans une fenêtre. Évalué à 2.
Essaye de mettre la ligne dans la méthode Main(), c'est-à-dire dans le constructeur. Le mot-clé "this" n'a aucun sens dans une méthode déclarée statique !
# Manque le addKeyListener ?
Posté par Jean-Marc (site web personnel) . En réponse au message J'arrive pas à récupérer un évenement clavier dans une fenêtre. Évalué à 1.
Donc si j'ai bien suivi, il faut ajouter dans ton main :
jc.addKeyListener(this);
[^] # Re: Pourquoi moi, je n'irai pas voter.
Posté par Jean-Marc (site web personnel) . En réponse au journal Europe, oui-iste, non-iste, etc.... Évalué à 1.
Cependant je répondais à la personne qui refuse de voter "parce que les autres pensent de telle ou telle façon". On a justement là une occasion de s'exprimer directement alors je trouve con de ne pas le faire !
[^] # Re: Pourquoi moi, je n'irai pas voter.
Posté par Jean-Marc (site web personnel) . En réponse au journal Europe, oui-iste, non-iste, etc.... Évalué à 6.
Pourquoi voter ? Pour exprimer tes convictions. Tu n'en as pas ? Tu laisses les autres décider à ta place ?
d'autre part ce vote est un enorme foutage de guelle ! je m'explique : si c'est le non qui passe , alors le parlement europeen(sans notre avis) votera pour ou contre le TCE dans 2 an et demi ( bref ca fait un peu si vous dite oui c est bon , sinon c est non ben on en discutera entre nous dans 2 ans ... ) donc ca ressemble plus a un "tout de suite / dans 2 ans" qu'a un "oui/non" .
N'importe quoi, le parlement européen n'a pas les compétences pour imposer le TCE sans notre avis. Il s'agit d'un traité entre les pays membres de l'UE, il faut donc que ces pays le ratifient.
et en plus je suis contre le systeme d'election actuel ( ATTENTION je ne suis pas ROYALISTE/COMMUNISTE/DICTATEUR/FNISTE ou autre je dit juste que le système actuel a besoind'etre modifier parce qu'il laisse a désirer). mais cela est un autre probleme.
Je vois pas de quel système d'élections tu parles. Celui de tes représentants à l'UE ? Dans ce cas on te demande de t'exprimer dessus, c'est bien l'occasion de le faire.
# MSN
Posté par Jean-Marc (site web personnel) . En réponse au journal Jabber : Le Grand Test. Évalué à 1.
J'ai effectivement eu des problemes pour me connecter hier en fin d'après-midi, mais depuis c'est redevenu normal ?
Pour info j'utilise Kopete de KDE 3.4.
# alsaconf
Posté par Jean-Marc (site web personnel) . En réponse au message Ubuntu + 2 cartes son => choisir la bonne ?. Évalué à 1.
Si tu as les modules qui vont bien (ce qui semble être le cas), alsaconf va te proposer une carte son à choisir dans une liste.
[^] # Re: Re:
Posté par Jean-Marc (site web personnel) . En réponse au message Comment connaitre la version et le nom d'une distrib installée ?. Évalué à 2.
$ cat /etc/debian_version
3.1
# LISP
Posté par Jean-Marc (site web personnel) . En réponse au journal Lisp: pourquoi est-ce different ?. Évalué à 3.
- La syntaxe des expression en notation préfixe.
Ça parait bizarre quand on en a pas l'habitude, mais au final ça simplifie la vie.
Un exemple :
(+ 1 2 3 4)
Notez que l'opérateur plus n'apparaît qu'une fois, contrairenment à la notation traditionnelle 1+2+3+4
On peut écrire ça (apply + '(1 2 3 4)), c'est à dire "appliquer la fonction + à la liste (1 2 3 4)", puis remplacer + par la fonction de notre choix.
- La transparence referentielle
Les fonctions LISP sont sans effets de bord, c'est à dire qu'on peut les voire comme une boite noire prenant une entrée et produisant toujours la même sortie. C'est quelque chose de plutot sympa à avoir quand même :-)
[^] # Re: Blu ?
Posté par Jean-Marc (site web personnel) . En réponse au journal Je m'installe une ubuntu. Évalué à 2.
[^] # Re: Blu ?
Posté par Jean-Marc (site web personnel) . En réponse au journal Je m'installe une ubuntu. Évalué à 3.
Et perso, je trouve que ajouter une ligne à un fichier et faire apt-get update dist-upgrade c'est pas la mort non plus ! J'ai fait ça ce matin et ça m'a pris 10 minutes, téléchargement compris.
Mais bon si tu préfères changer de distrib tous les 6 mois pour suivre la hype, c'est toi qui vois.
[^] # Re: Blu ?
Posté par Jean-Marc (site web personnel) . En réponse au journal Je m'installe une ubuntu. Évalué à 3.
Pour KDE 3.4 en SID tu peux installer à partir de là pour patienter :
deb http://pkg-kde.alioth.debian.org/kde-3.4.0/(...) ./
Je l'ai fait et ça marche très bien ! Ce sont les packages qui sont destinés à aller dans SID de toute façon...
[^] # Re: Et pour Wikipédia francophone
Posté par Jean-Marc (site web personnel) . En réponse au journal Wikipédia ou la puissance d'une communauté. Évalué à 9.
[^] # Re: en cherchant un peu
Posté par Jean-Marc (site web personnel) . En réponse au journal Constitution européenne : l'avis de mon chien. Évalué à 1.
Mattez par exemple ce "petit" trip de 125km avec en prime la traversée de Grenoble : http://etienne.chouard.free.fr/Vols/VercorsChartreuseBaugesAravis/i(...)
Meme pas peur !
[^] # Re: ...2053...
Posté par Jean-Marc (site web personnel) . En réponse au journal mon Gmail n'arrête plus de pousser. Évalué à 6.
cf :
else if (i == CP.length) {
quota.innerHTML = 'Over ' + CP[i - 1][1];
}
et
naku:~$ date +%s -d "6 days"
1113047096
# Re:Shadow warrior!
Posté par Jean-Marc (site web personnel) . En réponse au journal Shadow warrior!. Évalué à 1.
[^] # Re: Re:questions relatives à l'execution d'un programme....
Posté par Jean-Marc (site web personnel) . En réponse au message questions relatives à l'execution d'un programme..... Évalué à 2.
Sinon pour la petite histoire et pour aider à se rappeler des extensions :
.a : archive (statique)
.so : shared object
# Re:questions relatives à l'execution d'un programme....
Posté par Jean-Marc (site web personnel) . En réponse au message questions relatives à l'execution d'un programme..... Évalué à 2.
Quelques commandes pour te familiariser avec ça :
ldd [prog] : affiche la liste des bibliothèques necessaires à l'execution de [prog]
par exemple : ldd /bin/ls
librt.so.1 => /lib/tls/librt.so.1 (0xb7fd4000)
libacl.so.1 => /lib/libacl.so.1 (0xb7fcc000)
libc.so.6 => /lib/tls/libc.so.6 (0xb7e98000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0xb7e89000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0xb7fea000)
libattr.so.1 => /lib/libattr.so.1 (0xb7e85000)
ldconfig -v : affiche la liste des bibliothèques installées sur ton systeme (attention suivant ta distrib, il faudra peut-etre etre root)
[^] # Re: Fonctionnalité
Posté par Jean-Marc (site web personnel) . En réponse au journal Encore un test de google ?. Évalué à 5.
On va peut-etre voir apparaitre une nouvelle forme de google bombing ?
[^] # Re: Deux commentaires pour le prix d'un
Posté par Jean-Marc (site web personnel) . En réponse au journal amarok && xchat : drole et inutile :-). Évalué à 3.
Oui et d'ailleurs je donne la commande à titre de comparaison :
naku:~$ dcop amarok player nowPlaying
Massive Attack - Unfinished Sympathy
Apprécie qui veut, pour moi c'est vite vu je prefère 1000 fois l'approche "objet" de DCOP. Comme tu fais par exemple pour afficher la couverture de l'album avec une combinaison de pipe/grep ?
Note aussi qu'une application peut effectuer une action en réponse à un message DCOP (exemple : dcop amarok player pause)
[^] # Re: Pour Min/Max
Posté par Jean-Marc (site web personnel) . En réponse au message Programmation d'une IA pour le jeu des dames chinoises. Évalué à 2.
Mais je peux t'aider sur la fonction d'évaluation.
Le but de cette fonction c'est de donner une probabilité de gagner dans une disposition de jeu donnée. Donc si tu as gagné, c'est à dire que tous tes pions sont en position finale, alors P = 1. Les valeurs indiquent le meilleur chemin à prendre dans l'arbre d'évaluation min-max. Elles jouent le rôle de "panneau indicateur", on parle d'"heuristiques" (c'est le terme savant).
Le problème c'est qu'il n'y a pas UNE meilleure façon de faire (du moins on ne la connait pas), c'est donc à toi d'essayer différentes heuristiques et de trouver la meilleure.
Le plus simple c'est d'associer un score à chaque emplacement du jeu, score d'autant plus élevé que l'emplacement est proche de la position finale du pion.
Pour le joueur d'en haut, ça peut donner quelque chose comme ça (disclaimer : j'ai pas testé ces valeurs, c'est pas dit que ce soient les meilleures)
0.40
0.15 0.15
0.06 0.06 0.06
0.03 0.03 0.03 0.03
Et les valeurs suivantes vont en décroissant quand tu t'approche du bas.
Pour avoir le score d'un joueur à un moment donné, il suffit de faire la somme des valeurs de toutes les cases sur lesquelles sont ses pions.
Évidemment, pour le joueur n°2 , les valeurs seront pas les mêmes.
Ça c'est la version la plus simple, après c'est à toi d'avoir de l'imagination, je connais pas assez bien les dames chinoises pour proposer la meilleur façon de faire :-)
De mémoire, je faisais de la façon suivante :
- additionner les scores associés aux coordonnées de chaque pion
- soustraire ceux de l'adversaire
- compter les pions qui ont le droit de se déplacer (l'idée c'est qu'une position où on est libre de se déplacer est meilleure qu'une où on s'est retrouvé bloqué dans un coin ou par l'adversaire)
- soustraire les déplacement de l'adversaire
Avec ça, tu verras que tes pions s'organisent tous seul pour faire des "saute-moutons", c'est assez marrant à voir :-)