mardi 18 novembre 2014
langage D et SDL
Ca m'a pris des efforts et de la sueur donc je sauvegarde les etapes, de l'installation des outils jusqu'a la compilation d'un exemple, pour des futures references.
Pour ce projet, j'utilise Debian 6 sur un eeepc 901.
A voir:
- le langage D : http://dlang.org/download.html
- la librairie SDL : http://www.libsdl.org/
- le 'package' Derelict : http://dblog.aldacron.net/derelict-help/using-derelict/
Les etapes:
1 - creer le repertoire ou on range tout (dans mon cas: /home/user/tetorea/DerelictOrg):
cd
mkdir DerelictOrg
cd DerelictOrg
2 - installer le compilateur D
voir la page http://dlang.org/download.html pour les details
Dans mon cas, Debian sur eeepc 901, il a suffit de telecharger et lancer le fichier dmd_2.066.1-0_i386.deb avec:
sudo dpkg -i dmd_2.066.1-0_i386.deb
3 - installer SDL2
telecharger le code source : http://www.libsdl.org/download-2.0.php
dans mon cas : http://www.libsdl.org/release/SDL2-2.0.3.zip
decompresser dans le repertoire DerelictOrg
compiler et installer
cd SDL2-2.0.3
./configure
make
sudo make install
4 - installer dub
on en a besoin pour compiler les packages suivants!
j'ai recupere sur cette page http://code.dlang.org/download, le fichier :
http://code.dlang.org/files/dub-0.9.22-linux-x86.tar.gz
decompresse et copie dans le repertoire /usr/bin
5 - installer DerelictSDL2
DerelictSDL2 fait partie de la repository DerelictOrg sur Github. On a egalement besoin de DerelictUtil pour installer DerelictSDL2!
Pour installer tout ca, on a besoin de recuperer les sources en passant par git (pour installer git: sudo apt-get install git).
Dans le repertoire DerelictOrg:
git clone https://github.com/DerelictOrg/DerelictUtil.git
git clone https://github.com/DerelictOrg/DerelictSDL2.git
cd DerelictUtil
dub build
cd ../DerelictSDL2
dub build
6 - on peut programmer en D avec SDL2 !
Copier le texte suivant dans un fichier test.d, dans le repertoire DerelictOrg :
--------------------------------------
import std.stdio;
import std.conv;
import derelict.sdl2.sdl;
void main()
{
DerelictSDL2.load();
if( SDL_Init( SDL_INIT_VIDEO ) < 0 ) {
writeln( "SDL could not initialize! SDL_Error: "~ to!string( SDL_GetError() ) );
return;
}
SDL_Window *sdlWindow;
SDL_Renderer *sdlRenderer;
SDL_CreateWindowAndRenderer( 0, 0, SDL_WINDOW_FULLSCREEN_DESKTOP, &sdlWindow, &sdlRenderer );
SDL_SetRenderDrawColor( sdlRenderer, 0, 100, 0, 255 );
SDL_RenderClear( sdlRenderer );
SDL_RenderPresent( sdlRenderer );
SDL_Delay( 2000 );
SDL_DestroyWindow( sdlWindow );
SDL_Quit();
}
--------------------------------------
Ca se contente d'afficher un ecran vert pendant 2 secondes avant de quitter.
Copier le texte suivant dans un fichier Makefile, dans le repertoire DerelictOrg :
--------------------------------------
test: test.d
dmd test.d -IDerelictSDL2/source/ -IDerelictUtil/source/ -LDerelictSDL2/lib/libDerelictSDL2.a -LDerelictUtil/lib/libDerelictUtil.a -L-ldl
--------------------------------------
et on tape:
make
./test
Il n'y a plus qu'a jouer avec SDL et D...
jeudi 25 septembre 2014
recherche anti-cancer open-source et au financement collaboratif
Les fonds seront utilises pour tester la molecule sur des souris de laboratoire, premiere etape obligatoire avant des tests sur humains.
C'est l'occasion de s'acheter des objets, bijoux et/ou vetement "science-style" tout en particiapant a la recherche scientifique.
X-Prize spécial apprentissage global
http://learning.xprize.org/
Tout le monde peut s'inscrire pour tenter de développer le nec plus ultra des solutions logicielles open source qui va permettre à n'importe quel enfant d'apprendre à lire, écrire et compter tout seul au moyen d'une tablette!
En fouillant un peu dans le site, le programme semble viser d'abord l'enseignement de l'anglais MAIS il est dis qu'il doit quand même pouvoir s'adapter à l'enseignement d'une autre langue.
On peut participer en solo ou en groupe, il suffit de s'inscrire avant le 31/03/2015 en remplissant un formulaire et en payant les 500 $ de frais d'inscription.
vendredi 29 août 2014
Apprendre les réseaux de neurones et le "deep learning"
Base de donnee Oracle et XML
1 - Un peu de preparation
(on considere que l'on range nos fichiers a lire et a ecrire dans le repertoire /home/user/xml)
- bien evidemment, il faut donner les droits de lecture et ecriture pour ce repertoire a l'utilisateur qui va lancer les procedures. Si on file les droits a tout le monde:
sudo chmod 777 /home/user/xml
- il faut declarer a Oracle que l'on va utiliser un repertoire physique sur le disque du serveur. Pour se faire, on exécute une commande pl/sql:
CREATE OR REPLACE DIRECTORY XMLREP AS '/home/user/xml';
- le package XML DB est bien installe dans Oracle?
lancer la requete:
SELECT * FROM ALL_USERS;
et verifier que l'utilisateur XDB est bien dans la liste
2 - Lecture d'un fichier XML physique
exemple de script qui fait un peu de tout:
declare
sch varchar2(200);
xt xmltype;
ordre_no varchar2(35);
tst_sch number;
begin
-- un schema de base, il en faut au moins un pour la lecture des elements
xt := xmltype( convert( DBMS_XSLPROCESSOR.read2clob('XMLREP','monFichier.xml'), 'US7ASCII', 'AL32UTF8' ) );
tst_sch := xt.isSchemaValid( 'fichierxsd', 'Noyau' );
IF tst_sch <> 1 THEN
dbms_output.put_line( 'fichier xml ne correspond pas au schema voulu!' );
return;
END IF;
-- test si il y a l'element voulu dans le fichier XML:
IF xt.existsNode( '/Noyau/Ordre[1]' ) = 0 THEN
dbms_output.put_line( 'xml ne contient pas ordre!' );
return;
END IF;
ordre_no := xt.extract( '/Noyau/Ordre[1]/@No', sch ).getStringVal();
end;
jeudi 28 août 2014
petite deception pour les voitures automatiques Google
Alors que je pensais qu'on etait bon pour se la couler douce en voiture dans les bouchons dans quelques annees, il reste plusieurs challenges a surmonter avant de pouvoir lacher le volant en tout quietude.
- Pour l'instant, les voitures gerent assez mal les routes inconnues: elles roulent surtout sur des routes prealablement mappees avec des indications claires concernant les panneaux, les feux et le marquage au sol.
- Il n'y a pas d'interpretations des objets autour: si un policier fait la circulation, il est evite mais ces indications sont ignorees.
- Un nid de poule ou un trou sur la route? Et bam, tes roues, amortisseurs, voire meme ta carrosserie!
- De la neige, de l'eau, ou une cargaison de noisettes eparpillee sur la route? Ca va serieusement fausser la detection des limites de la route et il reste a gerer la vitesse en fonction des conditions de la route.
...
Un commentateur precise, a juste titre, qu'une reelle automatisation complete de la conduite necessite une intelligence artificielle tres proche de l'humain afin de gerer de facon efficace tous les cas qui pourraient se presenter.
La, on explose les deadline..
Bref, il y a du boulot!
Rien qui ne soit pas surmontable par une equipe d'ingenieurs/chercheurs/techniciens/creatifs, mais ca va repousser de quelques annees leur sortie et leur adoption publique.
Le boss du projet chez Google se donne 5 ans, rendez vous dans 10!
...meme la, la voiture sera probablement encore au stade semi-automatique: interdiction de se regarder un film dans les bouchons!
vendredi 6 juillet 2012
Installer Windows XP sur un ordinateur sous Ubuntu
Comment installer Windows XP sur une partition de mon ordinateur sous Ubuntu (12.04) a partir d'un fichier .iso?
La solution vient de : http://superuser.com/questions/99478/make-a-bootable-usb-to-install-windows-xp-from-linux1) on installe VirtualBox:
sudo apt-get install virtualbox
2) on donne l'acces au disque dur (sur ma machine, /dev/sda3) pour VirtualBox:
VBoxManage internalcommands createrawvmdk -filename ~/hdd.vmdk -rawdisk /dev/sda -partitions 3
En cas de message d'erreur, on ajoute les droits
sudo adduser `whoami` disk
sudo chown 666 /dev/sda*
3) on lance VirtualBox
4) ajout d'un nouveau systeme.
Pour le disque dur, on selectionne le fichier ~/hdd.vmdk
Pour le cdrom, on indique le fichier .iso contenant l'image du DVD d'installation de Windows XP
5) Demarre la machine virtuelle sous VirtualBox: appui sur une touche pour lancer l'installation sur la premiere partition du premier disque dur. Ca va ecraser tout ce qu'il y a dessus!!
6) croiser les doigts..
7) quitter VirtualBox
8) mettre a jour le "demarreur" pour pouvoir booter linux egalement (Si pas ecrase par Windows!):
9) redemarrer l'ordinateursudo update-grub
sudo grub-install /dev/sda
jeudi 5 janvier 2012
utiliser un clavier usb externe sur macbook pro
La reconnaissance guidee de macos ne me sort qu'un clavier ISO europeen standard dont les 3/4 des touches ne correspondent pas.
Pour s'en sortir, recuperer Ukelele, un logiciel qui permet de definir les caracteres relatifs aux touches (a part quelques touches systemes).
- Ouvrir le keyboard layout fourni "logitech french", verifier que toutes les touches sont correctement definies et sauvegarder le fichier layout (ou bundle).
- Placer le fichier sauvegarde dans Macintosh HD/Bibliotheque/Keyboard Layouts/ ou dans Macintosh HD/Systeme/Bibliotheque/Keyboard Layouts/
- Redemarrer la machine
- Dans l'application Preferences Systemes, aller dans "Langue et texte", onglet "Methodes de saisie", selectionner la methode "Logitech french" (ou le nom que vous lui avez donne) et activer l'option "afficher le menu Saisie dans la barre des menus".
- cliquer sur le petit clavier en haut a droite dans la barre des menus et selectionner le clavier a utiliser!
Verifie ton code C/C++ avec valgrind
Heureusement, le petit utilitaire Valgrind est la pour nous sauver (sous Linux ou Mac)!
L'installation est simple:
- on recupere les dernieres soures ici
- on extrait les fichiers
- on va dans le repertoire cree
- depuis le terminal, on tape "./configure", puis "make", et enfin "sudo make install"
on verifie que tout marche bien en tapant un petit "valgrind ls -l"
Pour tester son programme, que l'on lance d'habitude comme ceci: "./mon_prog arg1 arg2"
il faut s'assurer que l'on a compile avec l'option -g, Ex: "gcc -o mon_prog -g mon_prog.c"
Le test se fait en lancant une commande du genre: "valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes ./mon_prog arg1 arg2"
Remarque: sous macos 10.6 au moins, un printf() (voire d'autres fonctions utilisant stout) dans le code va allouer une zone memoire qui ne sera pas liberee en sortie explicitement par le programme (Ca sera purge par l'OS normalement!).
On se retrouve avec un message sous Valgrind du style:
4,096 bytes in 1 blocks are still reachable in loss record 2 of 2
at 0x100012679: malloc (vg_replace_malloc.c:266)
by 0x10006FF4D: __smakebuf (in /usr/lib/libSystem.B.dylib)
by 0x10006FEB9: __swsetup (in /usr/lib/libSystem.B.dylib)
by 0x10002CC13: __vfprintf (in /usr/lib/libSystem.B.dylib)
by 0x10006FE0A: vfprintf_l (in /usr/lib/libSystem.B.dylib)
by 0x10009D482: printf (in /usr/lib/libSystem.B.dylib)
by 0x10000224C: main (mon_prog.c:547)
Pas besoin de s'en occuper!
LEAK SUMMARY:
definitely lost: 0 bytes in 0 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 4,096 bytes in 1 blocks
Si ca derange, on peut fermer a la main stdout avec un petit: fclose( stdout );
..en esperant qu'il n'y ait pas de fonction executee a la terminaison ( atexit() ) qui utilise stdout..
mercredi 2 février 2011
Google Art Project - Visite virtuelle de musee
La navigation se fait facon Google Street View donc ca n'est pas tres fluide mais on s'en fout un peu en fait.. du moment qu'on a l'apercu de la piece sous differents angles avec des gros plans des decors et peintures, ca nous permet de voir des details que l'on ne peut apercevoir en tant que simple visiteur.
Communication des neurones du cerveau par champs electro-magnetique faibles
Actuellement, la communication entre les neurones est principalement consideree comme etant effectuee en passant par les synapses (..il faut aussi garder a l'esprit le role des cellules gliales ou des communications chimiques hors synapses).
Costas Anastassiou et ses collegues montrent que les ondes electro-magnetiques engendrees par les neurones peuvent etre recues et utilisees par d'autres neurones pour s'activer.
Des champs d'1mV/mm semblent suffisant pour influencer un neurone.
Ca promet de remettre en question beaucoup de modele de traitement de l'information dans le cerveau!
Ca pose egalement la question de l'influence de champs exterieurs sur le cerveau.
Voir l'article "Ephaptic coupling of cortical neurons" dans Nature Neuroscience du 16 janvier.
mardi 25 janvier 2011
main robotique DLR
Cette technologie provient de l'institut DLR, en Allemagne, qui produit un certain nombres de travaux impressionnants: Justin, locomotion bipede...
Les doigts sont articules par un systeme de tendons dont l'elasticite peut etre modifiee.
Cette nouvelle main semble surpasser la "shadow hand" de Shadow Robot Company. Les muscles pneumatiques sont moins facilement parametrisables que la main du DLR.
lundi 17 janvier 2011
Le boulot de google pour traduire la poesie
Voir le blog post et le papier correspondant, presente a la conference EMNLP!
Voir aussi les autres boulots presentes par Google a cette conference.
Dans le domaine du traitement du langage naturel, il faut noter le systeme Watson de IBM qui est capable de jouer au Jeopardy!
Mise a jour: la video de sa performance est sortie!
jeudi 19 août 2010
commandes de survie linux
- se connecter a un ordi distant:
ssh -Y nom@ordi
- envoyer un fichier vers un autre ordi:
scp fichier nom@machine:repertoire
- compiler un package avec autoconf..:
aclocal, libtoolize -c, autoconf, automake -ac, mkdir build, cd build, ../configure
- git:
cloner une repo existante: git clone git+ssh://nom@machine/repertoire
A suivre..
mercredi 14 juillet 2010
Imagerie par Resonance Magnetique Functionnelle (fMRI en anglais)
1- Si 2 groupes different dans l'utilisation de leur cerveau pour une meme tache, cela peut provenir de differences de comportement des 2 groupes.
Ex: les moins ages peuvent requerir une activite dans plus de zones de leur cerveau pour effectuer une tache car ils n'ont pas encore appris a optimiser le processus pour la tache en question. Les zones du cerveau ont la meme fonction dans tous les groupes mais c'est seulement le processus pour realiser la tache qui n'utilise pas les memes ressources.
2- considerer l'influence du scanner sur le comportement des patients! Le fMRI est une grosse machine reduisant considerablement les mouvements (a eviter pour les claustrophobes) et faisant un bruit metallique sourd periodiquement.
3- comment trouver une reference commune a 2 groupes pour evaluer les differences dans l'execution d'une tache? Afin de pallier aux problemes precedents, on utilise une tache de base commune aux 2 groupes et verifie les differences d'activite entre la tache de base et la tache mesuree dans chaque groupe. Le probleme toutefois est de mesurer les differences dans l'execution de la tache de base entre les 2 groupes.
4- Le probleme de l'inhibition d'une zone qui est necessairee pour l'accomplissement d'une tache mais qui n'est pas prise en compte forcement dans les mesures d'activite.
algebre lineaire
- eigenvalue, eigenvector, eigenspace (valeur propre, vecteur propre, espace? propre), d'apres Wikipedia:
Une matrice peut agir sur un vecteur en changeant sa longueur et direction. Toutefois pour certains vecteurs, la matrice ne changera que leur longueur. Ces vecteurs sont les vecteurs propres de la matrice.
Le facteur qui multiplie la longueur initiale du vecteur propre est appele la valeur propre associee.
Tous les vecteurs propres qui ont la meme valeur propre + le vecteur nul forment l'espace(?) propre.
matrice M, vecteur v, variable l --> Mv = lv
- trace d'une matrice:
somme des elements de la diagonale principale (haut gauche vers bas droite) de la matrice.
a suivre...
mercredi 7 juillet 2010
Changement de repere 3D
d'un point 3D d'un systeme de coordonnee a un autre:
// a: double[3]: angles de rotation du 2eme repere par rapport au premier
// t: double[3]: translation du 2eme repere par rapport au premier
// p: double[3]: coordonnees du point
// repereMonde: repere dans lequel les coordonnees du point sont
exprimees = true -> repere monde, false -> 2eme repere
// np: double[3]: coordonnees calculees (output)
void ccs( double *a, double *t, double *p, bool repereMonde, double *np )
{
// calcul la matrice de transformation
double mat[16];
double cax = cos ( a[0] );
double cay = cos ( a[1] );
double caz = cos ( a[2] );
double sax = sin ( a[0] );
double say = sin ( a[1] );
double saz = sin ( a[2] );// matrice est calculee facon OpenGL..
mat[0] = caz * cay;
mat[1] = saz * cay;
mat[2] = -say;
mat[3] = 0;mat[4] = caz*say*sax-saz*cax;
mat[5] = saz*say*sax+caz*cax;
mat[6] = cay*sax;
mat[7] = 0;mat[8] = caz*say*cax+saz*sax;
mat[9] = saz*say*cax-caz*sax;
mat[10] = cay * cax;
mat[11] = 0;mat[12] = t[0];
mat[13] = t[1];
mat[14] = t[2];
mat[15] = 1;if( repereMonde ) {
double tnp[3];
tnp[0] = p[0]-mat[12];
tnp[1] = p[1]-mat[13];
tnp[2] = p[2]-mat[14];
np[0] = mat[0]*tnp[0] + mat[1]*tnp[1] + mat[2]*tnp[2];
np[1] = mat[4]*tnp[0] + mat[5]*tnp[1] + mat[6]*tnp[2];
np[2] = mat[8]*tnp[0] + mat[9]*tnp[1] + mat[10]*tnp[2];
} else {
np[0] = mat[0]*p[0] + mat[4]*p[1] + mat[8]*p[2] + mat[12];
np[1] = mat[1]*p[0] + mat[5]*p[1] + mat[9]*p[2] + mat[13];
np[2] = mat[2]*p[0] + mat[6]*p[1] + mat[10]*p[2] + mat[14];
}
}
Je n'ai fait que quelques tests basiques donc il n'est pas impossible
qu'il y ait des erreurs planquees.
Attention: Il y a des problemes de precision donc il vaut mieux eviter
de faire beaucoup de transformations a la suite.
lundi 15 mars 2010
Problemes de compilation obscurs en C++
mercredi 17 février 2010
mes premiers pas blender

mes premieres questions tres basiques resolues pour blender 2.49b:
- on peut grouper les objets selectionnes en faisant "make parent" (Ctrl+P) pour qu'ils apparaissent en un element dans l'outliner.
La, il n'y a pas de problemes de material merge mais les objets sont consideres independants. L'avantage, c'est qu'ils sont plus facile a selectionner en selectionnant le parent et en faisant (Shift+G,1) equivalent a Select->Grouped->children.
- on peut placer des objets selectionnes dans differents layers, ca influe sur leur visibilite.
selectionne un ou des objets, appuyer sur M, choisir l'un des 20 layer.
on peut voir les differents layer en appuyant sur les touches numerotees du clavier principal (..PAS le pave numerique!) pour les 10 premieres, ALT+numero pour les 10 suivantes.
En appuyant sur SHIFT+num, on peut voir plusieurs layers a la fois.
- placer la camera a la position de vue actuelle: Ctrl+Alt+0 (..numpad!)
- renommer un objet dans la "outliner view": Ctrl+cliquer sur l'objet a renommer
- rendre un objet transparent: selectionner un objet, voir le menu "shading" (F5), ajouter un "material", mettre la valeur A inferieure a 1, aller sur le tab "mirror transp" et activer "ray transp"
mardi 26 janvier 2010
MDP
lundi 18 janvier 2010
probleme LaTeX
sudo apt-get install texlive-full
Un petit message pour repertorier tous les petits problemes fournis par LaTeX durant l'ecriture d'articles de recherche ou redaction de these (en utilisant ce template)..
1) message d'erreur:... can be used only in preamble.solution: mettre la commande designee avant l'instruction \begin{document}
2) message d'erreur:solution: installer le package texlive-latex-extra -> sudo apt-get install texlive-latex-extra... .File 'nomencl.sty' not found( ..si texlive-full n'avait pas ete installe avant..)
lundi 4 janvier 2010
probleme Kile (Ubuntu 8.04 H)
- lancement de kile 2
- une fenetre popup affichant une erreur en rapport avec dcopserver, le rectangle kile 2, puis un autre popup d'erreur "Malformed URL"
- puis l'application se ferme toute seule
solution trouvees qui n'ont pas marche pour moi:
- le changement des permissions du repertoire /home/$USER/.kde -> chown -R $USER:$USER /home/$USER/.kde
- reinstaller kile
Ce que j'ai fais:
- lancer dcopserver manuellement -> retire la premiere popup d'erreur mais pas la deuxieme!
- virer les fichiers de configurations relatifs a kile dans .kde -> une autre erreur est apparue quand on lance depuis le terminal "kile: ERROR: : couldn't create slave : Cannot talk to klauncher"
Ce qui a marche (apres avoir fait les 2 actions au dessus.. mais ca marche peut etre tout seul)
- lancer dans le terminal: dcopserver_shutdown
- puis: kdeinit
.. et kile redemarre! ..avec des messages d'erreur dans le terminal mais ca a l'air de marcher..
jeudi 28 mai 2009
des jeux pour stimuler le cerveau
Siri, assistant virtuel intelligent
D'apres l'article, Siri est capable de comprendre une requete en language naturel et trouver les reponses sur internet: guider quelqu'un vers le magasin voulu, reserver les tickets pour un voyage, etc.
L'application devrait etre disponible en fin d'annee.
jeudi 2 avril 2009
l'algorithme qui decouvre des lois physiques
Le programme cree par Michael Schmidt and Hod Lipson, de la Cornell University, a pu trouver des lois de mouvement pour des systemes physiques dynamiques non lineaires.
Le plus interessant est qu'il peut ensuite utiliser ces lois de base pour tenter de trouver des lois plus complexes.
La NSF (National Science Foundation) a un article de presse avec plus de commentaires!
mercredi 1 avril 2009
A la surface d'un trou noir
Bien evidemment, cela reste une supposition et ce qui se passe a l'interieur du trou noir est encore completement inconnu.
lundi 16 mars 2009
Humanoid Robotics Project
Le groupe HRG de l'institut de recherche national japonais AIST a enfin devoile hier (16 mars 2009) le dernier modele d'HRP: HRP-4C, le C etant pour Cybernetic ..il me semble.Destine au marche du loisir, HRP-4C prend la forme, le visage et le poids d'une japonaise moyenne: 1m58 pour 43 kg.
La voici en premier plan sur la photo, a cote d'HRP-3 (blanc) et HRP-2 au fond.
"Elle" peut marcher de facon plus naturelle qu'HRP-2, peut bouger les bras, les levres, les paupieres et les yeux. Elle peut egalement parler et est dotee d'une reconnaissance vocale (..qui marche mieux quand il n'y a pas trop de bruit autour).
Le visage vient de la societe kokoro qui a deja produit plusieurs humanoides a forme humaine. Personnellement je trouve les visages fait par Hanson robotics un peu mieux faits mais ils sont peut etre plus compliques a animer..
Des videos de presentation sont accessibles sur le site de l'AIST.
Je n'arrive pas a les regarder depuis Ubuntu donc je me suis rabattu sur les quelques unes disponibles sur youtube.
dimanche 15 mars 2009
Illusions tactiles
lundi 9 mars 2009
comprendre le langage naturel
La plus part des programmes arrivent a compenser les erreurs d'orthographe sur les mots courants, les fautes de grammaire sont plus compliquees a gerer mais cela s'arrange egalement.
Par contre, le tres gros challenge qui reste a relever en Intelligence Artificielle est le fait qu'un mot peut avoir plusieurs sens suivant le contexte de la phrase, voire meme l'actualite.
C'est ce qui fait encore defaut aux traducteurs automatiques de nos jours.
Wolfram, createur du logiciel Mathematica et auteur du bouquin "A New Kind of Science" (disponible gratuitement sur le site), s'est apparemment lance dans ce creneau et projette dans 2 mois de sortir un moteur de "connaissance" sur internet: Wolfram|Alpha (..en attente).
Un serieux concurrent a Google!
J'espere que ca n'est pas que du marketing..
Si cela se revele efficace, ca ouvrirait peut etre une voie interessante vers une Intelligence Artificielle Generale (AGI en anglais) et vers la resolution du prix Loebner (..implementant le test de Turing).
Futura-sciences a fait un article un peu plus fourni!
Nova Spivack a pu jouer un peu avec le systeme et donne ses impressions.
A noter 2 acteurs jouant dans la meme cour, l'avenir dira qui a la meilleure technologie:
- START, provenant d'un labo du MIT
- True Knowledge, une boite anglaise
mardi 3 mars 2009
IA mathematicien
Celui-ci tente de creer un programme d'IA dont le but serait d'etre un bon mathematicien doue de creativite.
Pour y arriver, il mise sur les algorithmes evolutionnaires ( .. algos genetiques + .. quoi? .. ) et tente de comprendre comment les enfants en bas age acquierent leurs premieres notions de mathematiques.
Il espere qu'en fabricant une intelligence d'enfant capable d'evoluer, il obtiendra un mathematicien... facile a dire..
L'article mentionne aussi les travaux d'Alison Pease de l'universite d'Edinburgh qui travaille egalement sur des programmes mathematiciens dont HR.
Pour etre a peu pres complet, je me souviens d'une presentation de Marvin Minsky sur l'histoire de l'intelligence artificielle qui mentionnait un programme capable de resoudre des theoremes mathematiques et qui a rendu obsolete une branche des mathematiques.
Il ne manque plus que le lien vers la video.
jeudi 26 février 2009
placebo
Mise-a-jour: Mind Hacks a sorti un message sur l'effet "anti-placebo". Dans une etude, des personnes ayant des problemes d'insomnie recoivent un placebo pour dormir. Pour une partie des gens, le placebo est presente comme un somnifere, pour l'autre partie, ils pensent recevoir de la cafeine.
Surprise: le groupe croyant recevoir de la cafeine dors mieux!
lundi 23 février 2009
ubuntu: problemes et solutions
Pour la version Ubuntu 8.04..
- le son dans VLC est saccade -> voir ces 3 solutions:
1- configurer VLC pour utiliser ALSA exclusivement (Settings->preferences->Audio->output modules->advanced options)
2- corriger le bug de PulseAudio
3- passer toute la gestion du son sous ubuntu vers ALSA et killer PulseAudio
Je n'ai teste que la version 1, ca marche bien!
sante
d'abord, voir les posts sur les habitudes alimentaires et booster le cerveau.
Ensuite:
- eviter de rester assis trop longtemps dans la journee!
lecteur de e-book
Je suivais de pres le premier lecteur utilisant cette technologie sorti par sony mais le systeme de DRM m'a refroidi completement. Le nouveau a l'air plus ouvert et a un ecran tactile mais semble avoir un logiciel bancal pour charger les documents.
Ils coutent toujours aussi chers mais les derniers modeles sont allechants, surtout le dernier en date qui devrait sortir fin 2009, celui de Plastic Logic: format proche du A4, ecran tactile, connexion sans fil au reseau et ecran plastique moins rigide que les lecteurs actuels.. il reste a voir le prix.
En plus traditionnel, celui d'Irex (cher!), l'Ez reader, ou encore le BeBook avaient l'air sympa aussi.
En plus cher, il y a le kindle d'Amazon mais au niveau design, le clavier prend de la place.. Ca apporte des fonctionnalites en plus, certes, mais un ecran tactile aurait eu plus de classe!
En couleur, utilisant une autre technologie derivee du LCD mais qui reste gentille pour les yeux ..et tres cher!! je viens de decouvrir le FLEPia de Fujitsu dont Technology Review a fait egalement un article.
Tant de livres m'attendent..
- In libro veritas
- project Gutenberg
- internet archive
- ..
Mise-a-jour: une nouvelle technologie d'E-papier semble tres prometteuse. La technologie exploitee par la startup Gamma Dynamics accrue principalement la lisibilite et la vitesse d'affichage par rapport aux solutions actuelles.
jeudi 19 février 2009
iPoint 3D
2 cameras placees au dessus de l'utilisateur permettent de detecter la position et orientation des doigts de l'utilisateur en temps reel.
Les mouvements detectes sont analyses pour en deduire les objets virtuels concernes et les actions a effectuer.
Peu de details sont donnes, je n'ai meme rien trouve sur le site de l'institut a part l'annonce officielle..
Ca a l'air bien sympa mais il reste a voir les conditions d'utilisations: problemes avec la lumiere ambiante, possibilite d'utiliser plusieurs doigts/mains/personnes en meme temps, robustesse de la detection de la pose des doigts, ...
mercredi 18 février 2009
le sommeil garant de l'equilibre mental
Depuis longtemps, il est reconnu que des troubles du comportement sont souvent accompagnes de troubles du sommeil. Jusqu'a maintenant, les problemes de sommeil etaient consideres comme le resultat de troubles psychologiques. Des recherches recentes semblent indiquer que l'inverse est plus proche de la verite dans certains cas.
Durant le sommeil, le cerveau remettrait a jour sa sensibilite emotionnelle en nettoyant un peu la communication entre le lobe pre-frontal et l'amygdale. Le lobe sert d'inhibiteur a l'amygdale.
Une sieste d'1h30 apres dejeuner aiderait a ameliorer cette sensibilite.
Une autre etude, mentionnee par Mindhacks, ajoute un element paradoxal a ces recherches: il semblerait qu'une nuit blanche puisse servir de traitement a la depression dans certains cas!
booster le cerveau
- l'exercice physique (a partir de 20mn de marche par jour chez les seniors)
..permet d'augmenter la generation de neurones dans le cerveau, d'ameliorer l'humeur, certaines fonctions du cerveau (plannification, organization, multi-taches), de booster le systeme immunitaire et augmente la qualite du sommeil.
- surveiller la nourriture
Arreter les acides gras satures.
Les omega-3 trouves dans les poissons, noix et graines sont benefiques pour le cerveau. Les meilleurs aliments semblent etre les noix, les myrtilles et les epinards.
Fruits et legumes sont recommandes pour leurs anti-oxydants qui permettent de garder un cerveau "jeune".
Limiter la quantite de calories est aussi important pour vivre plus longtemps avec un cerveau plus performant! ..A verifier toutefois!
Un autre article plus recent suggere des effets sur la memoire.
- en stimulant, un peu de caffeine
A petite dose, environ 2 tasses de cafe par jour, la caffeine semble booster l'attention et la memoire a court terme. De trop grosses doses peuvent avoir des consequences fatales!
Le the vert semble etre le meilleur moyen d'absorber de la caffeine car moins de risques pour le coeur.
Voir le superbe poste du blog Developing Intelligence a ce propos!
- les jeux video
..peuvent ameliorer la dexterite, la coordination visuel-manuel, la perception 3D et le traitement d'informations/reconnaissance de formes.
La quantite maximale de jeu/jour n'est pas mentionnee meme si j'imagine qu'il vaut mieux eviter d'etre un hardcore gamer.
Il y a pas mal de recherches sur l'influence des jeux violents sur les joueurs qui montrent une desensibilisation. Les effets sociaux restent a voir!
En gros, autant limiter le temps passe sur des jeux violents en attendant d'en savoir plus.
- la musique
..peut activer les parties du cerveau concernant le plaisir/recompense et diminue l'activite dans l'amygdale reduisant peur et autres emotions negatives.
En gros, ca peut servir de tranquilisant. Le type de musique recommande n'est pas mentionne..
- la meditation
La concentration sur son corps et sa relaxation semble avoir differents avantages: reduction de la douleur, ameliorer la pression arterielle, gerer l'angoisse, l'insomnie, la depression et meme des problemes de peau..
Elle permet aussi d'ameliorer l'attention.
lundi 16 février 2009
recuperer et encoder un flux audio ou video
Pourtant une solution simple existe: la fonction "stream save" du logiciel VLC!
Cela permet de recuperer la video et/ou l'audio d'un DVD ou d'un fichier multimedia pour les convertir dans un autre format.
dimanche 15 février 2009
1 et 0.999...
- 1)
1/3 = 0.33...
3 x 0.33... = 0.99...
donc 1 = 0.99...
probleme:
- multiplier un nombre avec une infinite de decimales est-il possible?
- Si 3 x 0.33... = 0.99..., existe t'il un nombre y infinement petit tel que 0.99...+y = 1? Dans ce cas-la, 1/3 = 0.33...+y/3 = 0.33... car etant infiniement petit, la notation decimale serait la meme!
- 2)
x = 0.99...
10x = 9.99...
10x-x = 9
x = 1
probleme:
- multiplier un nombre avec une infinite de decimales est-il possible?
- on considere qu'une difference infiniement petite n'existe pas entre les parties decimales de 10x et x pour arriver a 10x-x=9 ?
- 3)
1-0.99... = 0.00... et ca ne se termine jamais donc ce nombre est egal a 0. probleme: un infinitesimal est egal a 0?
Toutes les 3 "preuves" partent de l'hypothese (clairement admise dans la 3eme) que 1/infini = 0, bref un nombre infiniement petit n'existe pas car il n'est pas concevable quand on utilise la notation decimale.
On part aussi de l'hypothese que la notation decimale permet de representer des nombres fidelement avec toutes leures proprietes.
Plusieurs questions se posent:
- A quoi servent les limites alors?
En cours, au lycee, on voit que la limite de 1/x quand x tend vers l'infini est bien egale a 0 mais je n'ai jamais entendu parler de 1/infini = 0.
- si 1/infini=0, peut on considerer que 1/0=infini? Une division par 0 est impossible, il me semblait pourtant.
- on appreciera l'ironie de rejeter l'existence d'un nombre infiniement petit quand on considere un nombre compose d'une infinite de chiffres.
Exemple: le nombre 0.999... peut s'ecrire
9 fois la Somme pour x=1 a l'infini de 10 puissance (-x)
Si 1/infini=0, alors a l'infini, les decimales de 0.99... seront egales a 0, ce qui en ferait un nombre fini.
Si ca, c'est pas du beau paradoxe!
- cherchons le plus grand nombre qui a pour propriete d'etre strictement inferieur a 1:
on tombe sur 0.999...
Maintenant plus fort, trouvons le deuxieme plus grand nombre strictement inferieur a 1:
on retombe sur 0.999...
Les 2 nombres ont la meme notation pourtant PAR DEFINITION, le premier et deuxieme nombre sont differents car ils ont des proprietes differentes!
La notation decimale est elle veritablement exacte?
- Comment l'ensemble des nombres peut-il etre considere comme continu si des differences infinitesimales sont considerees comme etant egales a 0?
- Voir l'analyse non-standard et les nombres hyperreels pour confirmer ou refuter 1/infini=0!
Bonnes habitudes alimentaires
- manger un petit dejeuner pas si petit que ca (~600 calories)! oeufs brouilles, jambon de dinde, fruits et cereales..
- manger des fruits au moins 2 fois par jour. pomme, orange, demi-banane, un demi-bol de fruits coupes
- manger des legumes. Au moins 5 par jour, 9 c'est tres bien!
- faire attention aux sucres planques dans les jus, barres cereales et snacks.
il faudrait se limiter a 100 grammes par jour.
- faire attention aux acides gras trans. Il faut eviter les aliments avec marque "huile partiellement hydrogenee".
- limiter les acides gras satures presents dans les produits a base de lait entier, les viandes de boeuf et porc, beurre et creme.
- pour s'y mettre, y aller doucement pour des effets a long terme plus efficaces: tenter de changer une habitude par semaine.