Archives Mensuelles: octobre 2012

Avec bien de la peine je suis arrive a faire fonctionner GTK hier soir, mais ca a vite crashe juste apres. J’ai donc resorti valgrind pour debugger, et il m’a pointe une fonction gdk. Prudent, je me dis que ca doit etre un effet de bord d’un bug dans mon programme, mais legerement remonte contre GTK je commence par tester sous valgrind un petit programme d’exemple downloader de leur site web. Comme je le craignais valgrind me sort un message de violation de memoire dans chaque appel de fonction gtk/gdk. Bon allez ca va j’ai compris, je ne me pose pas plus de question, j’ai tout vire et ce soir j’ai fait une interface en mode texte a la place. Ca fait un peu prehistoire mais ca au moins ca marchera, ca sera plus rapide (a programmer et executer), ca tournera sur mes vieux portables sans avoir a faire de portage, etc… Pour les graphiques, ca sera comme avant, des fichiers de donnees bruts traites par un tableur (LibreOffice Calc). Pendant l’execution, des donnees textes me suffisent pour savoir ce qu’il se passe. Reste le cote fun des videos que je postais sur ce blog via youtube, mais bon ca on pourra toujours les regenerer d’une facon ou d’une autre plus tard a partir des fichiers de donnees…

 

Publicités

Envie de prononcer une grosse floppee d’insanites au sujet de GTK contre lequel je me bat depuis deja beaucoup trop d’heures pour afficher de simples cercles dans un drawingarea. Ce soir je suis enfin arrive a demeler ce sac de noeud infame jusqu’a un exemple qui marche, j’espere que demain soir j’aurai vite fait d’integrer ca dans la gui de mebius pour passer a des choses plus interressantes ! 😦

 

Ce soir j’ai implemente la premiere experience et je suis en train de la tester.

Aujourd’hui ca devait etre jour de conge consacre aux mebius et puis forcemment un client me skype ‘au secours on a un probleme’, et hop la journee s’est reduite a 2 heures… N’empeche que j’ai pu finir de valider l’architecture et l’interface et commencer a implementer dans cette nouvelle architecture la toute premiere experience que j’avais faite (poursuite d’une cible dans un espace a une dimension). Elle va me servir d’environnement pour valider les Mebius de deuxieme generation dont je vais enfin pouvoir commencer l’implementation.

 

Hier soir (comme d’hab, ‘dans la nuit’ serait plus exacte) j’ai passe deux heures a tester l’interface et la nouvelle architecture. Il m’en reste encore un peu a verifier (le multi-process c’est chouette mais c’est pas toujours evident de verifier ce qu’il se passe a cause de l’asynchronite), a priori aujourd’hui.

En reflechissant a quelle experience il serait interressant de soumettre les Mebius j’ai fini par me dire qu’il y a deux facons de voir les choses. Soit on regarde ca comme une experience, soit comme un outil ou plus precisement une nouvelle facon de programmer.
Si on considere ca comme un outil, ca revient a partir de mebius vierges et les soumettre a des conditions particulieres pour les former a une tache. Par exemple pour les premiers Mebius je les faisais apprendre a se deplacer sur un plan en 2d pour chercher et suivre une cible mouvante. Une fois qu’on a un mebius performant dans une tache, ou plusieurs dans plusieurs taches, on peut les utiliser comme des boites a outils, a combiner pour effectuer une tache plus complexe. Par exemple on pourrais combiner un Mebius qui suit une cible et et un autre qui en evite une autre pour obtenir un systeme qui traque une cible en evitant un obstacle. Je vois ca comme une nouvelle facon de programmer, beaucoup plus haut niveau. Au lieu d’ecrire le code decrivant comment realiser une tache de facon tres directive, on ecrit du code definissant un but a atteindre grace un certain nombre d’outils a disposition, et on laisse a chaque outil le soin de trouver comment arriver a accomplir au mieux sa propre tache pour qu’ensemble ils atteignent le but fixe. Dans ce cas ce qu’il est interressant d’etudier c’est comment formaliser cette description d’un probleme sous forme but/outils, et de verifier que le systeme arrive effectivement a atteindre le but fixe, et enfin d’examiner avec quelle efficacite il y arrive.
Si on considere les Mebius comme une experience, ca correspond alors a plutot explorer systematiquement leur comportement face a toutes les conditions d’experiences possibles, et a chercher si des comportements particuliers emergent, et si oui, quand, pourquoi, comment, etc…

Aujourd’hui malgre un bbq bien arrosee de vin rouge j’ai quand meme pu trouver 6h a consacrer a mes Mebius. Ca faisait longtemps que je n’avais pas avance comme ca d’un coup. Ca m’a permis de finir ce que je voulais changer dans la structure du programme principal et l’interface graphique. La nouvelle architecture du programme principal me permet de bien distinguer simulation de l’environnement et les Mebius. Ca permettra un gain de temps important lors de la mise en oeuvre de differentes simulations avec differentes versions des Mebius, et l’exploitation des resultats. Reste plus qu’a tester et je pourrai enfin commencer a implementer les cognits de deuxieme generation.

 

J’ai maintenant une nouvelle machine. Ma premiere tour depuis 7 ans, j’ai bricole jusque la avec un Mebius de Sharp trouve dans les poubelles et un Vaio de Sony achete par Junko il y a 10 ans. Ca me fait plaisir d’avoir a nouveau une vraie machine bien a moi. C’est un Acer 1935-H14D/T, processeur Intel i3 3.3Ghz, 4Go de Ram et 500Go de stockage, avec ecran panoramique. Niveau puissance de calcul je fais un sacre bond en avant !! J’ai hate que mes Mebius en profite 🙂 Niveau confort de travail aussi c’est une sacree amelioration. Et pour memoire j’utilise Ubuntu Precise Pangolin comme OS.

J’ai commence a lire le livre de Wolfram. C’est du miel ! 🙂

 

J’ai travaille un peu ce soir et hier soir sur la GUI et je fais du menage dans la structure du programme pour etancheifier le code des Mebius, le code du programme principal et le code de la simulation de l’environnement dans lequel les Mebius evoluent et avec lequel ils interagissent.

A part ca on m’a offert « A new kind of science » de Stephen Wolfram (le pere de Mathematica). Il y a l’air d’y avoir plein de choses inspirantes pour Mebius la dedans !

J’ai travaille une heure et demi ce soir sur la GUI en GTK. J’ai hate de revenir a des choses plus interessantes, mais vu le temps que j’y consacre en ce moment il va falloir encore patienter un peu.