Le blog de Nicolas Ruiz

Aller au contenu | Aller au menu | Aller à la recherche

vendredi 17 décembre 2004

Seline 1000 : le développement doit s'accélérer

Même si pour l'instant aucune date de sortie n'est arrêté, j'ai le souhait de sortir Seline 1000 d'ici le Q2'05 au plus tard. En effet, ce sera l'occasion de la proposer (je l'espère) en version boite chez vos revendeurs préférés et d'avoir une communication adaptée, afin que le logiciel profite enfin d'une certaine notoriété.
Dans cette optique, préparez-vous à voir succéder les Alpha durant le mois de Janvier (l'alpha 2 est probablement la dernière de l'année 2004).

J'ai donc plus que jamais besoin de votre aide pour le débogguage et l'ajout de fonctionnalités. Merci en effet de m'envoyer des mails me disant "Je n'arrive pas à faire marcher cela", alors que la fonction est incluse : cela signifie que l'ergonomie est mauvaise et donc je corrige ;)
J'apprécie aussi beaucoup les gens qui se rendent compte du travail effectué, en remarquant par exemple dans la dernière alpha que le démarrage est plus rapide. Merci aussi de me préciser quels boutons ne marchent pas : bien sûr, c'est normal puisque c'est une alpha mais cela montre que certaines personnes testent vraiment en profondeur.

Le blog est un peu avare en commentaires, surtout ces derniers temps, ce qui reste par contre assez dommage. Il est lu, mais la participation reste faible. Il restera cependant en ligne mais ne vous attendez pas trop à voir de nouveaux billets ces prochains jours, fête de fin d'année oblige. Par contre, j'espère pouvoir livrer l'alpha 3 d'ici la rentrée (03/2005).

D'ici là, bonnes fêtes de fin d'année à vous tous, n'abusez pas sur les chocolats, débranchez un peu les PC et à dans un an !

jeudi 16 décembre 2004

De nouveaux agents pour Seline

Pour ceux qui se lassent des 4 agents proposés par défaut dans Seline, je vous conseille de visiter cette nouvelle rubrique 'Agents', sur le site http://www.selinesoftware.com :

Vous pourrez y télécharger une multitude de nouveaux agents destinés à tous les goûts (certains restent très moches cependant).

mercredi 15 décembre 2004

Seline 1000 Alpha 2 disponible

Un peu en avance, voici l'alpha 2 de Seline 1000 :

Listes des nouveautés :

- Démarrage plus rapide.
- Nouveau SmartObjet : Visioconférence, qui n'affiche pour le moment que l'affichage de votre webcam (une option est disponible via le bouton droit).
- SmartDesktop : l'équivalent du Dock de MacOS. Il suffit de cliquer du bouton droit sur Evi et de le choisir dans les SmartObjects. Il n'est pas encore paramétrable.
- Indexation du DD : le menu est disponible mais non actif.
- Passage de Evi en plein écran : toujours via le bouton droit.
- Affichage des photos de la bibliothéque d'images dans le SmartDesktop.
- Possibilité de déplacer les icônes sur le bureau Evi (un clic droit : déplacement. Un autre clic droit : vérrouillage).
- Un client mail en version Alpha est disponible.

lundi 13 décembre 2004

Les objectifs de l'autonomie d'un système d'IA :

Pour être vraiment « intelligent » et posséder une certaine autonomie, nous allons résumer ici les différents objectifs à remplir pour mener à bien cette oeuvre :

- La compréhension de l'homme : cette étape peut paraître évidente mais elle reste très importante et surtout c'est une des plus compliquées à mettre en oeuvre (avec la formulation de la réponse). L'entité artificielle doit comprendre le langage naturel (comme on l'a vu plus haut) et être capable de le transformer en un langage plus simple pour traitement.
- La connaissance et la maîtrise de son environnement : l'entité doit savoir où elle est postée tant d'un point de vue hardware que géographique afin qu'elle puisse agir en conséquence. Elle doit maîtriser ce dernier en sécurisant tout ce dont elle a la charge notamment les données, qu'elles soient externes à son système intelligent ou interne et ceci dans un but d'auto-intégrité. Bref, elle doit assurer des fonctions de pare-feu ou d'anti-virus et de duplication de données via un ou plusieurs RAID.
- Appliquer la demande selon le contexte : ceci complète l'objectif précédent. Selon le contexte où l'entité se situe, elle doit adapter ses demandes et celles des autres : ainsi, si un informaticien demande à un gros système de faire un calcul qui prendra plus de 36 mois, l'entité devra être en mesure de lui proposer d'attendre la prochaine génération de microprocesseurs et ceci afin d'avoir un temps de calcul moins long mais surtout terminé avant que celui qui aurait dû être commencé n'ai terminé (36+X mois dans le cadre d'un lancement de calcul actuellement alors que ce sera (36+X)/2 si on lance le calcul dans 18 mois avec la prochaine génération). De même, le programme pourra posséder des humeurs qui selon le degré d'agressivité ou de gentillesse du maître d'oeuvre fera plus ou moins bien certaines requêtes (à déconseiller au niveau professionnel cependant). Enfin, si l'entité se révèle trop instable ou aux performances dégradées par un quelconque programme, elle conseillera alors soit de fermer l'application pour regagner des performances optimales soit d'attendre que cette application ait terminé afin que le monotâche de cette demande couplé au monotâche de l'application revienne au final plus rapide qu'une exécution simultanée (Système A.R.S.).
- La communication entre les différents modules pour la détection d'un problème ou une panne et mettre en place une solution de rechange : tout programme exécuté à l'intérieur du noyau d'IA devra communiquer en temps réel avec cette dernière afin de rendre compte de ses agissements, de ses éventuels problèmes ou des ressources nécessaires dans un but de stabilité et de rapidité. Les nouveaux systèmes d'exploitation pour particuliers commencent à être plus stables via de tels mécanismes mais la communication entre programmes d'éditeurs différents est assez difficile. En cas de problème, le système devra mettre en place des solutions afin de défendre l'intégrité des données : duplication des informations, fermeture des programmes dangereux pour le système, fermeture temporaire des modules inutiles en temps réel, etc (Système A.R.S.).
On peut donc imaginer sans problème un système d'IA qui crée un serveur local et virtuel à son lancement et qui « écoute » les logiciels qui feraient comme lui.
- Recompilation et optimisation du code afin de rendre le système plus performant : le système devra être capable via de nouvelles techniques (de tris par exemple) et au lieu de les inscrire dans sa base, les inscrira dans son propre code si la fonction est considérée comme importante : cependant, le système devra être capable de revenir en arrière et de posséder un module qui, en cas de problème grave, pourra restaurer le dernier système considéré comme stable et fonctionnel. Ce système devra être aussi capable de se remettre en service seul.
- Aider et rerouter l'homme dans ces tâches : l'homme ne doit en aucun cas se trouver face à un mur lors de l'utilisation de l'IA. Si l'IA ne reçoit aucune instruction extérieure compréhensible mais détecte une activité vis-à-vis d'elle-même, elle devra être capable de devancer les besoins du maître d'oeuvre et de l'aider si celui-ci semble perdu. Cela entrera en paradoxe avec la sécurité nécessaire car l'IA ne doit en aucun cas informer un utilisateur extérieur hostile. Par détection on considère aussi la mise en place de caméras que l'IA pourra commander si elle considère qu'un humain pénètre là où elle possède une fonction et donc pourrait à terme aider par rapport aux attitudes faciales de ce dernier.

jeudi 9 décembre 2004

Seline 1000 : 1 100 000 lignes de code... 20% plus rapide.

Seline 1000, dont l'alpha 2 devrait être disponible la semaine prochaine, vient d'être optimisée ces jours derniers. Résultat : un démarrage bien plus rapide et réactif que l'alpha 1. En effet, certaines personnes constataient un "blocage" au démarrage de Seline, variant de 0.5 à 4 secondes et empêchant à l'utilisateur d'effectuer la moindre action. Ce blocage n'existe plus. Les procédures de démarrage ont été revues et le résultat est visible.
A noter qu'une option devrait faire bientôt son apparition et permettra de ne pas afficher d'agents : pour les gens dont l'utilité est futile ou pour les utilisateurs désireux d'accélérer leurs performances (car ne pas afficher l'agent permet de ne pas avoir à charger la synthèse vocale), cette option devrait être intéressante ; l'IA reste quant à elle constamment chargée.

mercredi 8 décembre 2004

Tour d'horizon : les possibilités et les limites actuelles de l'IA

Nous possédons actuellement beaucoup de technologies qui entreront en jeu lors de la mise en place d'un système intelligent. Celles-ci devront cependant s'améliorer et devenir abordable même si une mise en place d'une telle création nécessitera de très forts investissements.

Comme je l'ai souligné dans un précédént billet, la prochaine évolution de l'informatique est la nouvelle interface homme/machine qui s'ouvre à nous : la reconnaissance vocale ; actuellement, elle est loin d'être au point comme je l'ai suscité mais elle entrera sans commune mesure dans nos vies dans les 15 prochaines années et surtout elle est un maillon essentiel de la compréhension de l'homme par la machine. Il y a encore cependant du travail à effectuer mais ne doutons pas de l'avenir de cette technologie.

La deuxième technologie ou procédé technologique que nous possédons actuellement reste le RAID. Pour ceux qui ne seraient pas ce qu'est cette méthode de stockage, on simplifiera en disant que c'est la fait de mettre plusieurs disques durs sur une même unité et cela afin de dupliquer les données et donc de les sécuriser au cas où de ses disques tomberait en panne (sauf en RAID 0 mais je ne considère pas cela comme du RAID). Nous reviendrons longuement sur ce point lors que nous parlerons des objectifs d'une IA mais reconnaissons qu'une mise en place de cette dernière permettra à l'homme de ne plus se soucier de ses données et l'IA devra donc les sécuriser.

Enfin, de manière générale, tous les systèmes actuels à l'exécution de tâches quelconques préfigurent déjà l'intelligence artificielle malgré leurs limites évidentes. De même, il restent encore beaucoup de limites à la mise en place de tels systèmes.

La puissance de calcul tout d'abord : nous travaillons actuellement avec des brouettes à traîner et nous sommes en position d'attente devant nos ordinateurs au moins 20% du temps ; certes, les processeurs évoluent et donc les programmes avec mais à moins d'utiliser de vieux softs, on peste contre cette machine qui gratte encore et encore et qui permet d'écrire cela. Dieu soit loué, dans ce cas-là, cela reste très correcte. Cette technologie ne peut que s'améliorait du fait de la loi de Gordon Moore (le nombre de transistors dans un microprocesseur double tous les 18 mois) mais quelques interrogations subsistent : les coûts de fabrication des usines à CPU double aussi à chaque nouvelle génération (ce qui pose un problème pour une concurrence pure et parfaite et qui va plutôt nous tourner dans les prochaines années vers un oligopole) mais surtout on ne pourra pas suivre cette loi indéfiniment du fait des lois de la physique. Pour le 386 à 16Mhz en 1986, les ingénieurs gravaient à 1.5 Micron. Un cheveu fait 1 Micron. Aujourd'hui, on vient de passer sous la barre des 0.1 Micron. A terme (d'ici 2015), les transistors seront tellement petits que se manifestera « l'effet tunnel », c'est-à-dire que l'information sautera de transistors en transistors et se perdra finalement, du fait de la petitesse et du rapprochement de ces derniers (ne parlons même pas de la chaleur dégagée). Bref, les technologies actuelles pour la fabrication de microprocesseurs sont là aussi limitées à court terme mais ne nous inquiétons pas outre mesure, des solutions sont déjà en place (dont l'ordinateur quantique dont la recherche avance lentement mais sûrement).

La capacité de nos disques durs ensuite : une base de données d'une IA fera quelques bons To voire plus si elle s'auto-éduque. Il faut donc des très bons disques durs (comme je l'ai signalé plus haut, une solution RAID est très envisageable) avec des temps d'accès rapides, l'accès et l'affichage de l'information devant être immédiat ou quasi-immédiat. Des nouvelles normes arrivent progressivement et devraient donc permettre de tels développements. De même, l'utilisation du SCSI renforcera le tout. Les baisses de prix étant rapides, le stockage de l'information est une donnée essentielle pour le futur, qu'elle ait ou non un rapport avec l'intelligence artificielle.

Enfin, la troisième et dernière limite de nos ordinateurs aujourd'hui pour préfigurer les systèmes d'IA de demain est le système d'exploitation. Noyau central de l'ordinateur, il devra être stable, rapide, et simple d'utilisation. Si l'IA bouleverse nos vies demain, il faut que cette dernière ne dépende pas d'un constructeur (on pourrait apparenter cela à terme à une forme d'esclavage !). Il faut des noyaux spécialement réécrit pour de l'IA avec par exemple une optimisation de recherche dans une base de données ou des API déjà écrites pour que les programmeurs puissent écrire des programmes faisant appel à cette IA : l'agent intelligent régissant tout cela devra donc en plus de posséder le noyau d'IA, posséder aussi le noyau de l'OS pour comprendre son environnement et le connaître. Il faut d'ailleurs noter que le successeur de Windows XP (LongHorn) prévu pour fin 2005 devrait intégrer un peu d'Intelligence Artificielle de manière plus visible que pour Windows 2000 (je parle bien sûr des menus qui s'affichent en fonction des utilisations) et reposerait sur un format de fichiers de type SQLServer (Yukon) nommé, aux dernières nouvelles, WinFS (Windows Future Storage) ; cependant, cela restera une couche de NTFS.

Bref, on le voit bien ici, les technologies actuelles n'ont pas été pensé pour faire de la déduction, de la synthèse ou de la logique mais pour appliquer des formules mathématiques et des automatismes qui ne nécessitent aucune réflexion. Elles sont cependant sur la bonne voie car le système binaire, derrière son étonnante simplicité, cache une déconcertante complexité et un formidable potentiel.

mardi 7 décembre 2004

Seline 1000 Alpha 2 en route

Les rapports de bugs et les suggestions de la version S1000-A412.04 (Seline 1000 Alpha) ont permis de corriger 3 bugs. Un dernier est en train d'être localisé pour être corrigé. Cela va donner lieu à la publication d'une seconde alpha d'ici moins de deux semaines. Elle intégrera :

- Les corrections des 4 bugs trouvés et à fortriori les autres bugs trouvés d'ici là, s'ils existent.
- Le SmartDesktop (c'est-à-dire le dock).
- L'affichage Evi en plein écran.
- La possibilité de déplacer les icônes sur Evi et le redimmensionnement intelligent des SmartObjects.
- Une nouvelle option dans la bibliothéque d'images (afficher les images dans le SmartDesktop).

Les gens inscrits à la première alpha sont inscrits de facto à la seconde.



L'interface Evi en plein écran avec vos photos dans le SmartDesktop.

lundi 6 décembre 2004

Les premières impressions sur Seline 1000

J'ai reçu ce weekend les premiers feedbacks sur Seline 1000. J'ai été supris à 3 titres :
- Les gens jouent le jeu (ils apportent des feedbacks contre une alpha).
- Les feedbacks font plus de 3 lignes (ouééé kikoo lol, c bien séline, ++ man)
- Les feedbacks sont écrits dans un français correct.

Comme quoi, tout n'est pas perdu dans ce monde.

Voici donc un résumé desdits mails :

- Il n'y a pas de dock dans l'alpha, ni de Evi plein écran, inutile donc de les chercher. Raison officielle : je suis égoïste, je garde cela pour moi. Raison réelle : j'en suis mécontent.
- Il y aura bientôt d'autres smartobjects dans Seline. De même, on pourra ajouter des icônes et déplacer les existantes dans Evi (prochaine alpha probablement).
- Non, Seline n'est pas un vrai bot, elle l'a été mais ça ne servait à rien et cela prenait du temps a être programmé.
- Toutes les fonctionnalités ne sont pas intégrées dans l'alpha comme la domotique, le tableur, l'indexation du disque dur, j'en passe et des (bien) pires.
- Le service "Cinéma" est intégré dans cette alpha mais c'est une erreur. C'est donc normal si il n'y a rien.

Je remercie les personnes qui participent à cette alpha, notamment les personnes qui m'indiquent dans quel cas Seline peut planter ou manger toute la RAM (je suis nul sur ce coup-là, ok).

vendredi 3 décembre 2004

Seline désormais disponible pour les étudiants.

Suite à une demande d'étudiants, une nouvelle offre Seline vient de voir le jour et elle est réservée à ces derniers.
Donc, si vous désirez acquérir Seline moins cher du fait de votre statut (45e au lieu de 99e), rendez-vous par là :
http://catalog.yaskifo.com/fr/fiche.asp?prodID=%20116867

jeudi 2 décembre 2004

Seline 1000 Alpha disponible

Bonjour à tous,

Ca y est, la première alpha de Seline 1000 est disponible (un peu en avance). La migration pour certains risquent d'être très rapides aux vues des premières impressions, très positives ;)


***** Lisez-Moi Seline 1000A412.04 *****

L'utilisation de cette version de Seline est réservée aux personnes ou entités suivantes :
- Possesseurs de Seline 600.
- Alpha-testeurs choisis.
- Organismes de recherches.
- Organismes à but non lucratif.
- Organismes publics ou privées aidant les personnes handicapés.

Cette dernière catégorie peut faire la demande gratuite de licences de Seline 600 pour procéder aux tests Seline 1000. Seline 1000A412.04 ne dispose pas de toutes les fonctionnalités présentes dans Seline 1000 mais reste stable et utilisable en production. Attention : Seline Software ne peut être tenu pour responsable des dommages causés à votre ordinateur si mauvaise manipulation il y a. Il est strictement interdit d'utiliser Seline 1000 à des fins stratégiques ou militaires ou dans les pays suivants : North Korea, Iraq, Iran.

Devoirs d'utilisation :
- Utiliser Seline 1000 implique de votre part un feedback précis concernant les fonctionnalités que nous ne trouvez pas bien (ou mal) implémentées ainsi que (si nécessaire) un rapport de bugs. Merci aussi d'intégrer un avis objectif de votre utilisation de Seline et des services dont vous aimeriez qu'elle vous rende.

Installation :
1 - Copiez le fichier "PICCLP32.OCX" dans votre "\Windows\System32\" s'il n'existe pas.
2 - Rendez-vous dans "Démarrer / Exécuter" et taper ceci :
c:\windows\system32\regsvr32.exe c:\windows\system32\PICCLP32.OCX
Un message de succès devrait apparaître.

3 - Remplacez votre exécutable Seline 600 par l'exécutable "Seline.exe".
4 - Rendez-vous dans le dossier d'installation de Seline :
- Dans "\System\Media", remplacer le dossier "Pictures" par celui présent dans l'archive.
- Dans "\System\IAAPI\Speaker\", remplacez le fichier "Français" par celui présent dans l'archive MAIS Faites avant un backup de votre ancien dossier.
- Dans "\System\Donnees\Votre Nom\", placez le dossier "SmartDesktop".

Vous pouvez maintenant utiliser Seline 1000.

mercredi 1 décembre 2004

Un travail encore faramineux

Je viens de jeter un oeil sur le cahier des charges mais dans sa globalité : on en voit vraiment pas le bout. Sachant en plus qu'une fonctionnalité dans ledit cahier demande des dizaines d'heures de travail (l'interface evi, simple à expliquer, ou l'encore l'indexation temps réel du disque dur sans perte de performances), on imagine sans peine que rien n'est fini. Ne parlant pas du déboggage (j'utilise le terme français, oui je sais, je suis de bonne humeur aujourd'hui) ou des formalités les plus détestables comme la rédaction du manuel, la création de l'installation et on arrive à une date de sortie dans les ... aucune idée, toujours. Seline 1000 étant prévue pour quasiment tout faire (même contrôler un robot ou une voiture !) tant qu'on lui apprend (et le terme n'est pas usurpé : si on lui apprend, elle le fera), je pense que mes prochaines vacances restent éloignées. En attendant, j'ai regardé une capture de Seline 200 : je confirme qu'on approche du but quand même. Début 2004, je ne pensais pas arriver à ce résultat avant 2007, comme quoi ;)

Février 2004 :


Novembre 2004 :