Que se passe-t-il autour de KIC 8462852 ?

Le phénomène n’aura échappé qu’à peu de personnes intéressées par l’astronomie. En septembre 2015, la communauté scientifique découvrait que l’étoile KIC 8462852, surnommée depuis Tabby’s Star en référence à l’auteure de l’étude, était le siège de phénomènes bien étranges et inexpliqués entraînant des baisses irrégulières allant jusqu’à 20% de sa luminosité. 20% c’est absolument énorme. Seule une naine brune gravitant autour de l’étoile pourrait en occulter la lumière de manière aussi importante. Mais l’occultation étant irrégulière, elle ne peut pas être le fait d’un seul astre. Il faut se faire à l’idée que, quelqu’en soit la cause, le phénomène à l’oeuvre est nouveau et n’a jamais été observé jusqu’à présent.

Les hypothèses naturelles sont nombreuses à avoir été passées en revue et toutes se sont effondrées comme des châteaux de cartes sous la broyeuse des réflexions et des recherches menées avec frénésie dans le milieu astronomique depuis cette révélation.

Je m’intéresse tout particulièrement aux hypothèses exo-artificielles, notamment celle qui a été émise dès le départ et qui a mis notre planète en ébullition, la sphère de Dyson.

Cependant, tout comme les hypothèses naturelles se sont effondrées, celle de la sphère de Dyson est aussi bancale. Deux observations tendent à invalider cette hypothèse. Tout d’abord, l’observation dans l’infrarouge ne révèle aucune anomalie. Or une sphère conçue avec nos standards technologiques ne manquerait pas d’émettre beaucoup de chaleur en raison de la déperdition d’énergie. Ensuite, le programme SETI a pointé ses radio-télescopes vers Tabby’s Star et n’a détecté aucun signal radio anormal.

Reprenons la première observation. Il ne fait pas de doute qu’une civilisation, avancée au point de construire une méga-structure autour de son étoile, le serait très nettement plus que la notre technologiquement parlant. La difficulté majeure serait d’avoir une conversion d’énergie proche de 100% sur une gamme de longueur d’onde couvrant tout le visible. Une étude spectrale approfondie de cette étoile lors d’une phase d’occultation nous en apprendra mieux sur la nature du phénomène qui en est à l’origine.

Concernant la deuxième observation, il y a deux pensées qui me viennent à l’esprit. Tout d’abord, la sensibilité de nos radio-télescopes est-elle suffisante pour déceler un signal artificiel de puissance, disons, comparable à celle de nos émissions télévisées, à une distance de 1400 années-lumière ? Et si c’est le cas, ce que nous observons ne serait-il pas un vestige ? Celui d’une civilisation disparue, ou bien ayant régressé technologiquement.

Pour étudier les hypothèses naturelles, il est vraisemblable que des astronomes se pencheront sur l’étude du spectre de cette étoile. Et aussi sur l’observation radiale, celle qui a permit de découvrir la première exo-planète.

Nous en apprendrons certainement davantage d’ici deux ou trois ans. Alors en attendant, faîtes comme moi, bouffez-vous les ongles et écrivez un article de blog, ça vous aidera à patienter :p

Comment trouver des idées ?

Comme promis, voici un billet pour exposer comment me viennent mes idées. Tout d’abord, je tiens à préciser que ce billet est inspiré de mon expérience personnelle et que, à ce titre, il ne doit pas être pris comme une bible du chercheur d’idée. Mon expérience est là pour le prouver, avoir des idées ne suffit pas à rencontrer le succès. Mais restons positifs et ne perdons pas notre motivation.

Le cheminement intellectuel que vous allez suivre pour trouver votre idée va dépendre du contexte. Il n’y a pas de voie royale semée de pétale de rose, aussi pour présenter le sujet, je vais aborder deux aspects. L’état d’esprit et quelques techniques.

L’état d’esprit

Cet aspect est fondamental parce que vous ne pouvez pas planifier quand vous viennent vos idées. Vous devez donc être, aussi souvent que possible, dans un état d’esprit favorable afin de ne rien manquer des signaux faibles qui se présentent à vous. État d’esprit ? Ça sonne comme un manuel ésotérique rédigé par un gourou de l’hypnose et de la conscience trans-dimentionnelle :p Ce que je vais exposer ne sera pas forcément plus pragmatique mais c’est le résultat de mon expérience personnelle.

Lorsque je parle de signaux faibles, je parle de ce que vous vivez au quotidien mais auquel vous êtes sourds. Si vous lisez ce billet, vous êtes peut-être confrontés au constat qui sonne comme un aveux d’échec : je n’ai pas d’idée. Pourtant, si vous avez une vie normale, celle-ci est remplie d’expériences banales qui rythment votre quotidien. Vous êtes en permanence soumis à des contraintes auxquelles vous vous adaptez. Voilà le coeur du problème : vous trouvez à ces contraintes des stratégies pour les contourner ou vous y adapter au lieu de leur trouver des solutions définitives. Et lorsque vous avez trouvé une solution qui vous satisfait, vous ne vous posez jamais la question de savoir si elle satisferait quelqu’un d’autre. Pour trouver des idées de business, vous devez être dans un esprit permanent de révolte et refuser les contraintes qui s’imposent à vous. Permanent ? J’exagère un peu, mais vous devez être attentif lorsqu’une contrainte vous parait inacceptable, pour quelque raison que ce soit. Si une contrainte est communément admise mais que son poids vous insupporte au point de déployer beaucoup d’effort pour y échapper tant bien que mal, vous tenez peut-être une idée à exploiter. Et ce que vous observez dans votre quotidien, vous pouvez aussi le faire dans le milieu professionnel. Personnellement, le milieu professionnel m’inspire davantage car il est rempli de contraintes horripilantes dues au caractère sclérosé des canaux de décision. C’est ainsi que m’est venue l’idée, que je n’ai pas encore exploité, de créer un service pour gérer le cycle d’allés et retours incessants entre la MOA et la MOE. Enfin bref, les développeurs comprendront :p

Lorsque Steeve Jobs a imaginé l’iPhone, cette idée nouvelle ne répondait à aucun problème concret. L’iPhone répondait à un besoin latent de s’afficher avec un objet fun et qui prétende à un certain standing. C’est aussi à ce genre de signal faible auquel il faut savoir être attentif, les besoins latents qui ne demandent qu’à s’exprimer.

La généralisation

Maintenant que vous savez l’importance de l’état d’esprit, je vais exposer une série de techniques qui vous permettront, non pas de trouver une idée toute neuve, mais de rebondir d’une idée à une autre. Ces techniques vous seront très utiles si vous projetez de créer une Lean Startup. Vous devrez néanmoins partir d’une idée initiale.

La première de ces techniques est la généralisation. Je vais prendre un exemple concret. Il y a deux ans et demi, un ami est venu me voir avec une idée de logiciel dédié aux services qualité des entreprises d’analyse bactériologique. Vous l’avez deviné, lui même travaillait dans ce type de service et il n’était pas satisfait des outils qu’il utilisait, outils qu’il jugeait trop archaïques. Il m’a demandé de l’aider à developper ce produit, ce que j’ai accepté. Mais mon ami s’est désintéressé du sujet après quelques mois, et je me suis retrouvé avec un projet sans capitaine. Le sujet m’intéresserait et je ne voulais pas laisser tomber. Mais comme je me retrouvais seul aux commandes, j’ai décidé de repenser le problème pour donner au produit une portée, et donc un marché, plus large. En analysant le projet depuis ses fondements, il en est ressorti qu’il répondait, au fond, à un problème de relation client/prestataire. La question du suivi qualité était un particularisme de cette relation. Nous verrons plus loin que la spécialisation peut être source d’inspiration, mais pour l’instant nous allons suivre la voie de la généralisation. Cette voie, vous l’avez compris, consiste à partir d’un problème particulier (le suivi qualité) et d’en extraire un problème général (la relation client/prestataire).

Vient alors le moment de trouver une solution à ce problème général, à condition d’avoir prouvé qu’il existe un marché. Dans mon cas, j’ai tenté de développer un réseau social qui aurait été un hybride entre LinkedIn et une solution de Partner Relationship Management. Ce projet a avorté car entre temps j’ai découvert le Lean Startup et je me suis rendu compte, au travers du filtre Lean, que je courrais à l’échec. Et surtout cela faisait plusieurs mois (sic) que j’y croyais de moins en moins. J’espère que vous aurez tout comme moi l’endurance de suivre ce parcours jalonné de multiples échecs qu’est l’aventure entreprenariale.

La spécialisation

Passons maintenant à la seconde technique. Et là encore je vais illustrer mon propos avec un exemple personnel. Lorsque j’ai décidé de quitter mon boulot pour monter ma startup, je comptais tout d’abord créer un moteur de recherche capable d’indexer le contenu des applications mobiles. J’ai voulu déposer un brevet sur mon invention, mais je me suis rendu compte que pour protéger correctement mon invention, j’allais être obligé de la breveter dans de nombreux pays. Et je n’avais pas les ressources financières d’une telle ambition. J’ai donc songé assez rapidement au pivot. Et l’idée qui m’est venue provenait de réflexions que j’avais eu sur une problématique de sécurité à laquelle j’étais confronté pour exploiter mon moteur de recherche. Ce problème était assez éloigné de mon coeur de métier, mais je ne m’étais pas interdit d’y réfléchir, ni même d’y travailler en parallèle. J’avais donc développé une solution pour sécuriser les accès à la console SSH (désolé pour le jargon). Comme je ne suis pas expert en sécurité informatique, je ne voulais pas pivoter sur cette idée. Mais je me suis dis que cette idée pourrait être appliquée à la sécurisation des paiements en ligne. C’est ainsi que m’est venue l’idée d’IzeePay. Il se trouve que je rencontre maintenant des problèmes réglementaires qui vont sans doute m’obliger à pivoter une fois de plus, mais retenez l’intérêt de la spécialisation pour trouver de nouvelles idées. Pour résumer, il s’agit de partir d’un projet quelconque et de dériver sur une émanation de celui-ci, c’est-à-dire de vous concentrer sur un problème particulier rencontré lors de la mise en oeuvre du projet d’origine. Rappelez-vous que des contraintes lourdes pour lesquels les solutions existantes sont insatisfaisantes sont le signe d’un besoin fort.

La sérendipité

La sérendipité est l’art de trouver ce que l’on ne cherche pas. Il s’agit d’un art à part entière, c’est-à-dire qu’il ne consiste pas à attendre passivement une intervention divine qui vous sauvera de l’enfer du désoeuvrement. Vous devez créer les conditions propices à la survenue d’événements favorables ou à la perception de signaux faibles. Pour cela, vous devez sortir de vos pensées et aller à la dévouverte du monde et des gens. Bon je dis ça, mais c’est la technique avec laquelle je me sens le moins à l’aise. Pour vous montrer la puissance de sérendipité, je vais une fois de plus en appeler à mon expérience personnelle.

Lorsque je vous ai dit précédemment que l’idée d’IzeePay m’était venue en utilisant la technique de la spécialisation, ce n’est pas tout à fait vrai. L’idée qui m’est venue tout d’abord était orientée acheteurs. Il s’agissait d’une solution concurrente à PayPal, tel qu’il est connu du grand public. J’ai alors participé au ShiftCamp organisé à Rennes par Le Shift, et j’ai monté une équipe pour valider le concept. La déception a été à la hauteur de mon assurance, nous avons constaté qu’aucune des personnes que nous avions sondé était prête à nous confier leur coordonnées bancaires. Or tout le modèle reposait là-dessus.

C’est là que la sérendipité nous a appelé par-delà les brumes épaisses du désespoir (oui j’aime bien faire de la poésie :p ). Nous avions été bien conseillés par les coaches du ShiftCamp et, suivant leurs conseils, nous avions sondés nos clients potentiels en leur posant des questions ouvertes, c’est-à-dire des questions qui invitent à ne pas répondre simplement par oui ou non. Ainsi nous avions constaté, sans que nous ayons abordé explicitement le sujet, que les e-commerçants nous faisaient souvent part d’un gros problème de conversion dès lors qu’ils basculaient vers des solutions de paiement sécurisé. Il nous a fallu un certain temps  (presque deux heures de débat) avant que ce signal ne se fraie un chemin parmi les méandres entrelacées de nos cerveaux. Nous avons alors pris conscience qu’il y avait un vrai problème du côté des e-commerçants et que les banques ne répondaient que très mollement à cette préoccupation. C’est donc ainsi que m’est réellement venue l’idée d’IzeePay.

Ce qu’il y a à retenir, c’est que sérendipité nécessite une méthode. Vous devez explorer le monde en étant disposé à vous ouvrir aux gens, aller vers eux pour les écouter, pas pour les convaincre ni pour vous convaincre vous même. Bref, il faut savoir laisser ses a priori au vestiaire et n’être là que pour écouter et comprendre. Cela rejoint le premier chapitre sur l’état d’esprit, mais il s’agit ici d’appliquer une méthode de travail et d’y travailler par session car vous ne pouvez pas être en permanence en mode exploratoire.

N’oubliez pas

Maintenant que vous êtes armé pour partir à la conquête de nouvelles idées, n’oubliez pas qu’une idée ne se suffit pas à elle seule. La réalisation est bien plus importante que l’idée. Ne vous laissez pas bercer par l’esthétisme de votre idée, confrontez-la au monde réel ou c’est le monde réel qui se confrontera à vous :p

https://hadf.wordpress.com/2015/07/26/jai-une-idee/

J’ai une idée !!

En raison de problèmes réglementaires, il est fort probable que je serai amené à pivoter. Étant donné que je n’ai d’autre choix que d’attendre lundi l’ouverture de la Banque de France pour obtenir confirmation,  j’ai réfléchi tout le weekend au pivot que je vais très certainement  devoir faire.

Comme je ne manque pas de ressource 😉 j’ai rapidement trouvé une idée nouvelle. Je suis assez prolifique en la matière, aussi je ferai prochainement un billet pour expliquer comment me viennent toutes ces idées afin de faire profiter tout le monde de mon inspiration. Mais le sujet du présent billet porte plutôt sur l’importance qu’on accorde trop souvent à ses idées dans la phase de création d’une startup.

Je profite d’être exactement dans la phase qui succède la venue d’une idée. À partir de ce moment, pour m’assurer que mon idée est viable, j’ai commencé par réfléchir à la mise en oeuvre en identifiant les aspects les plus problématiques. C’est là que se situe le danger. À trop penser à des aspects techniques, piège dans lequel tombent facilement les développeurs comme moi, on s’écarte de la vraie question que doit se poser un entrepreneur en phase de création : y a-t-il un marché pour mon produit/service ?

Lorsqu’on part de l’idée et qu’on y consacre du temps, de l’énergie ou de l’argent pour la concevoir et lui donner corps, on peut être prêt à tout pour se convaincre que cette idée est bonne. On est quelques fois prêt à nier la réalité, la déformer ou n’en retenir que ce qui nous conforte. On fini par y croire parce qu’on veut y croire.

Si vous êtes en train de créer votre startup, ne vous croyez pas à l’abri de cet aveuglement. Ce système de croyance s’installe inconsciemment. Vous finissez par développer un rapport affectif à votre idée, je l’ai déjà vu. Si vous n’avez pas de client et que vous ne connaissez rien de vos clients potentiels, il s’agit pourtant bien d’une croyance que rien ne vient étayer.

Lorsqu’on se trouve dans une situation où la question de la pertinence d’une idée se pose, et que ce contexte est celui d’une création de startup, la bonne démarche est d’aborder le marché sans a priori, sans chercher à imposer une solution en particulier. La solution doit découler de la compréhension du marché. Il ne faut pas faire l’inverse, c’est-à-dire obtenir du marché la confirmation que son idée est la bonne.

Si on ne doit pas sonder le marché avec des a priori, il faut tout de même le faire avec une thématique. C’est à ce niveau que doit se placer votre idée. Votre idée doit fournir une orientation, pas un plan de route. Si vous n’avez pas encore identifié de besoin mais que vous avez déjà toute une série d’hypothèses à valider/invalider pour construire votre solution, vous mettez la charrue avant les boeufs. Vous aborderez le marché avec des questions fermées qui ne vous apporteront aucune compréhension mais qui serviront uniquement à conforter votre vision.

La raison profonde pour laquelle vous ne devez pas partir avec une idée trop concrète, c’est que vous devez avoir l’humilité de reconnaître que vous n’êtes pas un génie. Or seuls les génies ont des idées géniales. Cela ne veut pas dire que vous ne réussirez jamais. Cela veut dire que la vision que vous avez du marché est certainement fausse, ou du moins incomplète ou biaisée. Vous devrez donc adapter votre vision à la réalité et pour cela, vous devez avoir une compréhension de cette réalité. C’est en ouvrant vos écoutilles que vous découvrirez peut-être un besoin qui mérite une solution.

Allé on se lance !!

Je pense que l’erreur que commettent la majorité des personnes qui veulent se lancer dans l’entreprenariat est de croire qu’une idée géniale est indispensable et suffit à devenir millionaire. C’est une erreur parce qu’on est rarement, exceptionnellement, le premier à avoir une idée, et dans l’immense majorité des cas, notre idée n’est qu’une dérivation d’une autre idée déjà exploitée. Le différentiel avec la concurrence est généralement trop faible pour être un marqueur significatif de réussite. Et quand bien même notre idée serait suffisamment disruptive, je me souviens avoir lu quelque part qu’aucune idée n’est suffisamment géniale pour ne pas risquer d’échouer à cause d’une mauvaise exécution.

Nous avons là les deux pilliers sur lesquels reposent l’entreprenariat, l’idée et l’exécution.

Concernant l’idée, les entrepreneurs en devenir pensent souvent que l’idée est le point de départ du processus de création. Si c’est un passage obligé, ce n’est pas forcément la première étape. La volonté d’entreprendre est le point de départ. Toute démarche de création d’entreprise débute par la volonté d’entreprendre. L’absence d’idée ne doit pas réprimer ce désir.

Quant à l’exécution, elle est absolument centrale dans la réussite. Je n’ai pas encore une expérience suffisante en tant qu’entrepreneur pour le confirmer, mais cette certitude me vient des échecs passés. Ce n’est pas la première fois que je tente de créer ma boîte, et je n’ai encore jamais atteint le succès. S’il y a un point commun à tous mes échecs, il s’agit clairement de la mauvaise mise en oeuvre que j’y ai mis. Je n’ai compris que récemment qu’il ne suffit pas de réunir les conditions initiales mais qu’il faut entretenir en permanence l’énergie et la volonté de réussir.

Lorsque les gens ont le choix, ils choisissent généralement la passivité plutôt que l’action. Ils se trouvent toutes sortes de prétextes. Ils n’ont pas assez d’argent, ils n’ont pas d’idée, ils n’ont pas les qualités d’un chef d’entreprise, ils ne veulent pas sacrifier leur vie de famille, ils sont contre le capitalisme. En vérité, j’affirme que tous ces prétextes viennent cacher la raison réelle de leur passivité : la peur de l’échec. S’ils étaient assurés de la réussite, tous ces prétextes s’effaceraient face à l’enthousiasme. Mais voilà, entreprendre, c’est risquer d’échouer.

Ce qui est vrai pour les personnes qui se refusent de se lancer est vrai aussi pour les entrepreneurs qui hésitent dans leurs choix. Et c’est tout particulièrement vrai lorsqu’on entreprend seul. On est alors seul face à ses doutes. Je crois qu’une condition indispensable à la réussite est de dompter sa peur de l’échec et acquérir ainsi la capacité à prendre des décisions de manière objective et non subjective. Il ne faut pas évacuer le risque mais l’apréhender objectivement.

Les défis de l’IA

Les progrès de l’informatique permettent d’entrevoir des perspectives extraordinaires, peut-être même effrayantes. Le danger pour nos démocraties est qu’un pouvoir trop grand soit placé entre les mains d’individus ou d’institutions peu regardantes sur le respect des libertés. Pour bien comprendre quel est ce risque, essayons d’entrevoir quelles seront les possibilités qu’offrira l’informatique demain ou après-demain.

Le sujet d’étude de l’informatique est l’analyse de l’information. L’information est portée par les systèmes ordonnés. Un système simple et répétitif contient peu d’information, sa structure peut se décrire facilement. Dans le cas opposé, un système  aléatoire ayant une quantité infinie d’unités de structure ne contiendrait aucune information ou, ce qui revient au même, contiendrait une information infiniment complexe. Il faudrait un temps infini pour appréhender l’information contenue dans un tel système. Entre les deux, nous avons les systèmes ordonnés.

L’Univers est ordonné, le monde est ordonné. L’informatique traite des projections du monde, des projections ordonnées. Toute la difficulté de l’intelligence artificielle, car c’est bien de cela qu’on parle, et de rendre les machines capables d’extraire l’information des projections qui leur sont accessibles. Ces projections peuvent venir de capteurs ou de bases de données. En clair, il peut s’agir d’une information sensorielle ou mémorielle.

La distinction est importante, car le défi n’est pas le même selon le vecteur de projection, si je met de côté l’objectif commun d’en extraire l’information.

Dans le cas de l’information sensorielle, le défi est que les capteurs soient capables de percevoir les structures porteuses de cette information. Le penchant naturel est de se reposer sur les mêmes sens que l’homme. La vue, l’ouïe, le touché, l’odorat et le goût. Un autre réflexe d’informaticien est d’analyser les interactions de l’homme avec la machine au travers des interfaces que sont le clavier, la souris ou l’écran tactile.

Le rôle de la machine est de servir l’homme. Mais encore faut-il qu’elle soit capable de comprendre ses ordres. Mieux, qu’elle soit capable d’anticiper ses souhaits. Toute la difficulté pour la machine est de se faire une projection satisfaisante de l’expérience subjective de son utilisateur. C’est à cette condition que la machine pourra percevoir le processus intellectuel par lequel émergent ses idées. C’est là tout le défi de l’informatique sensorielle.

Dans le cas de l’informatique mémorielle, le défi est tout autre. Percevoir l’environnement ne suffit pas à le comprendre. En extraire l’information nécessite d’en garder la trace, seul moyen d’en percevoir les similitudes révélatrices de structures intelligibles. La similitude est porteuse de sens. Par similitude, il ne faut pas voir le caractère identique mais le caractère comparable.

L’informatique mémorielle consiste à comparer les données enregistrées par les différents modes de collecte (informatique sensorielle) et à en extraire les similitudes. Le véritable défi de l’informatique mémorielle est la sémantique, c’est-à-dire la similitude pertinente. Dans le big data, l’information perd une grande partie de sa pertinence et on parie sur la statistique pour en faire émerger du sens. L’approche n’est pas totalement dénuée d’intérêt quant à l’objectif recherché au vu des contraintes techniques, mais il n’est pas suffisant dans une optique d’intelligence artificielle. Avec la statistique, les machines ne sont rien d’autre que des singes savants.

Percevoir et conserver la sémantique de l’information est le Graal de l’intelligence artificielle. La principale difficulté technique est celle de la volumétrie. C’est aussi le garde fou qui nous protège pour l’instant des fantasmes Orwelliens. Les solutions sur lesquelles reposent le big data ne seraient pas adaptés à une projection sémantique de la totalité des informations collectées par les agences gouvernementales. Elles n’auront d’autre choix que de faire des raccourcis statistiques. Pour l’instant.

Les machines ne doivent pas mentir

Le respect de la deuxième loi d’Asimov sous-entend l’obéissance à son maître. Il n’est pas question d’autoriser n’importe qui à donner des ordres à une machine, en particulier lorsque celle-ci a des privilèges ou des capacités élevées. La reconnaissance de son maître par une machine pourrait se faire par biométrie. Une autre solution consisterait à maintenir une interface de programmation physique, c’est-à-dire un port informatique tel qu’on en voit souvent dans les films de science-fiction implanté derrière la nuque. Une question se pose, la machine doit-elle garantir elle-même l’intégrité de l’accès à son interface de programmation ? En clair, doit-elle se protéger ? La troisième loi d’Asimov tendrait à répondre que oui, mais un respect strict de la deuxième loi répond que non. La machine doit obéir, et c’est mon opinion. C’est le protocole de reconnaissance qui doit garantir la sécurité de l’accès, par exemple grâce à l’échange de clés privées.

J’ai commencé par la deuxième loi d’Asimov, car c’est la plus simple à mettre en oeuvre. Le niveau de compréhension des systèmes actuels, je pense par exemple à Watson ou Siri, sont loin d’égaler celui des grands mammifères. Or la première loi d’Asimov implique que la machine soit capable de reconnaître un homme, et de comprendre ce que signifie nuire. Mais avant tout, la machine doit être consciente de ses actes, car c’est à cette seule condition qu’elle sera capable de se contrôler et de s’interdire certaines actions. Une forme rudimentaire de conscience se retrouve dans la programmation orientée aspect. Dans ce mode de programmation, un système secondaire est à l’écoute du système principal, et lorsque ce dernier émet à un évènement surveillé par le système secondaire, celui-ci opère en retour. C’est une forme primitive de conscience, mais qui n’a pas de capacité d’action sur le système principal. Le système principal doit exposer une interface d’écoute par lequel le système de contrôle doit pouvoir émettre des ordres.

Pourquoi ne pas intégrer le système de contrôle au sein du système principal ? Parce que la conscience ne suffit pas. Une machine intelligente est capable de s’adapter à son environnement, et pour cela acquière de l’expérience. Son système cognitif évolue en permanence dans sa manière de penser et d’agir. En conséquent, il est indispensable que le système de contrôle de la première loi d’Asimov prenne en compte ces évolutions. Il doit les prendre en compte dans la compréhension de ce qu’est un homme et en quoi ses actes ont un potentiel de nuisance. Une exemple est donné par le film I Robot où un système informatique, par une logique dévoyée, en arrive à penser que le bien de l’humanité passe par son asservissement. C’est ce genre de raisonnement que le système de contrôle doit être capable d’alerter sur sa dérive des principes premiers.

Il est envisageable que le système de contrôle évolue de manière totalement autonome. Mais aucun système ne peut prédire à l’avance toutes les solutions d’un problème lorsque ce problème n’est pas déterministe. Donc aucun système de contrôle autonome ne peut garantir une sûreté totale. En conséquent, nul autre que l’homme n’est mieux placé que lui-même pour juger de ce qui peut lui nuire.

Une évolution vers laquelle tendra un jour l’informatique est l’abstraction. Une machine intelligente peut agir selon son propre jugement. L’abstraction est la capacité de la machine à agir sur tous ses modes d’action. Par exemple, un humain est capable de mentir car il est capable de modifier la pensée qui l’amène à la parole. Si une machine était douée d’une telle capacité, le problème se poserait du contrôle de la première loi d’Asimov. Comme nous l’avons vu, l’intervention humaine est indispensable. Mais encore faudrait-il que cette intervention se fasse en connaissance de cause.

J’énonce une quatrième loi : les machines ne doivent pas mentir, ni même pour respecter les trois lois d’Asimov.

kopipi

Tous les développeurs Java sont confrontés régulièrement au problème de la duplication de beans dans les architectures n-tiers. C’est un choix certes discutable mais que j’approuve personnellement de séparer les modèles des différentes couches logiques.

Pour répondre à cette problématique, la solution classique est d’écrire des translateurs chargés de convertir les données d’un modèle vers un autre. Il existe des frameworks permettant de se libérer de ce travail assez rébarbatif. Il y a le fameux BeanUtils d’Apache, mais cette classe utilitaire est trop simple pour pouvoir résoudre des translations non symétriques, par exemple convertir une String en Date. Le framework Dozer propose une solution plus puissante, mais pour être franc, je trouve ce framework très difficile à l’usage. Déporter la logique applicative, fut-elle aussi simple que la conversion d’un format vers un autre, dans un fichier de configuration est une mauvaise idée à mon goût.

Partant de ce constat de frustration face à ce problème récurrent dans le monde des applications de gestion, je me suis attelé à la création de kopipi, un petit framework simple et élégant à l’usage. Je me suis directement inspiré de la JSR 303 (Bean Validation). Cette JSR permet de valider des données en écrivant des validateurs atomiques et réutilisables, et en mappant les attributs à valider avec ces validateurs grâce à des annotations. Kopipi utilise exactement le même principe : écriture de translateurs atomiques et réutilisables, et mapping entre translateurs et attributs grâce aux annotations.

Grâce au caractère réutilisable des translateurs, le travail d’écriture est considérablement réduit, d’autant plus que kopipi offre un mode de translation par défaut qui convient parfaitement aux objets immutables tel que les String ou les Integer. Dans le cas des translations symétriques d’objets mutables, kopipi fourni un translateur par clonage qui requière simplement que les objets traduits soient cloneables. Tout cela est détaillé dans la documentation technique.

A venir : possibilité d’écrire des translateurs lorsque les types source et cible sont identiques, injection de dépendance pour pouvoir appeler la couche service dans un translateur, etc…

Je vous invite à me faire part de toutes vos remarques et suggestions en souhaitant que kopipi participe à la réussite de vos projets de développement.

Site de rencontre

Je travaille depuis quelques mois sur un projet de site de rencontre, et voilà enfin le travail terminé.

www.flechedecupidon.fr

Mon site est assez simple, il ne propose pas de fonction avancée tel que tchat ou webcam. Un simple site pour célibataires souhaitant faire connaissance en s’échangeant des messages.

Le site est gratuit pour les femmes. Les hommes ont la possibilité de consulter les profils en page d’accueil, mais pour envoyer un message ou faire une recherche, ils doivent souscrire à l’offre Premium. De manière assez classique, je propose trois formules d’abonnement avec tarif dégressif.

Il y a beaucoup de sites de rencontre, mais il y a aussi beaucoup de célibataires à la recherche de l’amour. Je fais d’ailleurs partie de ces hommes esseulés. Cela peut paraître paradoxale d’être célibataire et de faire un site de rencontre, mais j’ai mené ce projet dans un esprit parfaitement professionnel.

Je ne compte pas faire fortune avec ce site. Je l’ai fais surtout pour découvrir le côté grisant de la création d’entreprise. Cela fait des nombreuses années que je veux franchir le pas, c’est maintenant chose faite, et je ne compte pas en rester là.

To be continued 😉

PS : Vous pouvez également suivre l’actualité de FlecheDeCupidon sur le compte Twitter : https://twitter.com/fdc_fr

Comment utiliser Twitter

Twitter est la dernière mascotte des médias, il ne passe plus une journée sans qu’un site d’info ou un blog en parle.

Très simple en apparence, Twitter est pourtant régit par des codes obscurs pour le néophyte. Je vous propose donc un petit tutoriel pour vous initier aux pratiques en vigueur dans la twittosphère. Vous trouverez un petit lexique en bas de page.

Qu’est-ce que Twitter ?

Twitter est généralement défini comme un service de micro-blogging. Il vous permet de poster publiquement des séquences très courtes, précisément 140 caractères, sur votre dernière paire de chaussure achetée en solde, sur votre émotion en ayant apris la mort de Michael Jackson, sur une news dont vous avez entendu parlé à la pause café, bref, sur tout ce qui mérite plus ou moins d’être partagé avec qui veut bien l’entendre. Vous pouvez également échanger des opinions, partager des liens, images ou vidéos avec vos amis.

Comment se faire des amis ?

Twitter peut aussi se définir comme un réseau social au même titre que Facebook. Cependant, la notion d’ami y est différente. Sur Facebook, c’est vous qui décidez qui peut devenir votre ami et suivre les mises à jour de votre profil. Sur Twitter, c’est l’inverse. Ce sont les autres qui décident de suivre ce que vous postez. Vos tweets sont publics et ouverts à tous (sauf si vous décider de restreindre votre profil à vos amis, mais cette pratique n’est pas courante). Cela signifie que vous pouvez à votre tour suivre le profil de n’importe quel twittonaute.

C’est cet aspect qui est le plus déroutant et qui peut s’avérer le plus décourageant. Vos tweets sont jettés dans la twittosphère comme des bouteilles à la mer. Il faut du temps, comptez plusieurs mois, avant de se constituer un réseau d’amis avec lesquels vous pourrez discuter régulièrement. Car ceux que vous suivez ne vous suivront pas pour autant.

Alors pour répondre à la question « comment se faire des amis », il y a quelques règles à respecter :

  • Pour commencer, recherchez les personnes que vous connaissez avec la fonction de recherche de Twitter. Ensuite, de nombreux blogueurs mettent le lien de leur profil Twitter sur leur blog. Enfin, sachez que certaines personnalités sont présentes sur Twitter. Personnellement je suis Sébastien Chabal ainsi que Fabrice Luchini [EDIT : Le compte de Fabrice Luchini a été piraté]. A chaque fois, parcourez la liste des abonnés et abonnements pour trouver de nouveaux twittonautes.
  • Une fois que vous avez trouvé des personnes sur Twitter, choisissez parmi celles-ci des personnes dont vous partagez les idées et les centres d’intérêts. Pour cela, lisez les 20 ou 30 derniers tweets. Il est tout à fait normal de commencer avec 20 ou 30 followings, tout en ayant aucun follower au début. Vous constaterez néanmoins qu’il devient difficile de suivre un trop grand nombre de personnes car cette activité est très chronophage. Personnellement, il me faut environ un heure, répartie sur toute la journée, pour suivre mes 100 followings et entretenir mon réseau.
  • Ensuite, lorsque vous vous êtes constitué un petit réseau, adressez-vous directement à vos followers. L’usage est de commencer le tweet par le pseudo de votre interlocuteur, préfixé avec le signe @. Il n’est pas nécessaire que votre interlocuteur fasse partie de vos followers, c’est donc une bonne manière d’attirer l’attention de quelqu’un. Naturellement, ajoutez à vos followers ceux à qui vous vous adressez. Ex : @hadf Très intéressant ton tutotiel !!
  • Enfin, persévérez. Il vous semblera crier dans le désert les premiers mois.

Que puis-je bien poster sur Twitter ?

C’est sans doute la question que se posent tous les néophytes. Que puis-je bien dire en 140 caractères ?

Tout dépend de l’usage que vous souhaitez faire de Twitter. Personnellement j’utilise Twitter comme un fil d’actualité, donc je partage moi-même des news qui m’intéressent ou mon opinion sur l’actualité informatique du jour. Mais vous pouvez parler de mode et de frou-frou si c’est ce qui vous passionne ^^ Le plus important est de se constituer un réseau qui soit en phase avec ses centres d’intérêts.

Très bien, mais 140 caractères, c’est un peu court. Eh bien, c’est justement cette contrainte très forte qui a stimulé la créativité des twittonautes. Ceux-ci ont développé des codes pour communiquer en si peu d’espace.

Voici un petit tour d’horizon des pratiques les plus répandues :

L’aparté :

Nous en avons déjà parlé, ce message débute avec le pseudo de votre interlocuteur préfixé avec le signe @. A ne pas confondre avec le message direct (DM : Direct Message) qui est très peu utilisé.

Sachez que, lorsqu’un tweet débute par un pseudo, celui-ci apparait uniquement dans la timeline des followers que vous avez en commun avec votre interlocuteur.

Ex: @hadf Merci pour ce tuto

Dans cet exemple, ce message apparaîtra uniquement sur la timeline des followers que vous avez en commun avec @hadf

Le lien :

Puisqu’il est difficile de philosopher en 140 caractères, la qualité d’un tweet est généralement jugé à la qualité du lien auquel il renvoi. Ainsi, vous partagez un article de journal ou un billet de blog. Le problème est que, limité à 140 caractères, vous ne pourrez bien souvent pas posté l’url complète de votre article. Il existe un service qui permet de contourner cet obstacle, ce sont les raccourcisseurs d’url. Le service officiel de Twitter est bit.ly, mais vous trouverez de nombreux autres services qui permettent de raccourcir une url pour la faire tenir en moins de 140 caractères, ce qui vous permettra d’y ajouter un commentaire car on ne poste généralement pas un lien tout seul.

Ex: Excellent tuto http://bit.ly/7RC9fd (ce lien renvoie vers cet article)

Le retweet :

Le retweet est une pratique qui consiste à reprendre à votre compte, tout en citant l’auteur, un tweet qui vous a particulièrement intéressé. Cette pratique est très répandue, c’est grâce à elle qu’une info peut se diffuser très rapidement dans la twittosphère, comme ce fut le cas lors de la mort de Michael Jackson. Les twittonautes ont été les premiers à apprendre le décès de la star car, de retweet en retweet, l’info s’est propagée à toute la twittosphère. Pour retweeter un tweet, il suffit de le copier-coller en le préfixant par les lettres RT suivies de l’auteur d’origine. La plupart des clients Twitter ont une fonction de retweet intégrée qui évite de copier-coller manuellement. Le problème du retweet est qu’il nécessite un peu d’espace supplémentaire. Donc quand vous écrivez un tweet que vous espérez voir retweeté, laissez toujours quelques dizaines de caractères libres. Etre retweeté est un signe d’influence dans la twittosphère.

Ex: RT @toto Excellent tuto http://bit.ly/7RC9fd

Le hashtag :

Le hashtag permet de tagger un tweet pour préciser le thème en le préfixant par le symbole #. Il est possible d’ajouter plusieurs hashtags, en revanche il n’est pas recommandé de hashtagger tous ses tweets. L’intérêt du hashtag est de réunir sous un même tag tous les tweets traitant du même sujet. Ainsi, le site http://www.hashtags.org permet de suivre les hashtags les plus populaires.

Ex: Sortie de prévue de Firefox4 fin 2011 #Firefox #Firefox4

Entretenir son réseau

La règle la plus élémentaire est de répondre à ses followers, ce qui vous oblige à consulter régulièrement les tweets qui vous sont adressés. Pour cela deux solutions. La première est de vous rendre régulièrement sur le site de Twitter et de cliquer sur le lien à droite qui porte votre pseudo (dans mon cas @hadf). La deuxième solution, de loin celle préférée par les twittonautes, est d’utiliser ce qu’on appelle un client Twitter. Il s’agit d’un petit logiciel qui vous permet de poster sur Twitter et de suivre votre timeline ainsi que les tweets qui vous sont adressés. Il existe de nombreux clients, personnellement j’utilise Seesmic Web, car cela me permet d’accéder à Twitter au boulot sans rien installer sur mon ordinateur de travail. Il existe une liste officielle de clients Twitter :

Pour entretenir votre réseau, sachez également qu’une pratique courante sur Twitter consiste à gratifier ses followers les plus intéressants par un Follow Friday. Comme son nom l’indique, le Follow Friday se pratique le vendredi et consiste à poster les pseudos des personnes que vous voulez mettre en avant en ajoutant le hashtag #FF. Il est tout à fait possible de mentionner un follower à plusieurs reprises, ou d’en mentionner plusieurs en même temps. Néanmoins, je recommande d’éviter de mentionner trop de personnes en même temps car cela atténue la visibilité de votre Follow Friday.

Ex: #FF @hadf @toto

Les applications exotiques

Twitter, comme nous l’avons vu, est un service de micro-blogging. Mais sachez que ce service peut être utilisé à d’autres fins qui reposent généralement sur le hashtag.

Je citerai deux services qui utilisent Twitter :

  • Facebook : Vous pouvez poster sur Facebook à partir de Twitter, ce qui permet de partager un message sur les deux réseaux en même temps. Vous devez pour cela ajouter l’application Selective Twitter à votre compte Facebook. Ensuite, la manipulation consiste tout simplement à ajouter le hashtag #fb à la fin de votre tweet, et dans les minutes qui suivent, votre message apparait également dans votre profil Facebook
  • Covoiturage : Le site easycovoiturage.com a mis en place un service basé sur Twitter. Vous pouvez ainsi proposer des trajets à partir de Twitter en utilisant le hashtag #covoiturage et en respectant une syntaxe bien précise : départ/arrivée/commentaire #covoiturage. Ce service est très peu utilisé, mais il donne un aperçu de ce qui se fait autour de Twitter.

Je citerai également une des plus anciennes applications faite autour de Twitter, il s’agit de TwitterVision, un service qui permet de localiser les tweets en temps réel :

Conclusion

J’espère vous avoir donné envie de mieux connaître Twitter et surtout de l’utiliser. N’hésiter pas à m’ajouter dans vos followings ^^

Lexique

tweet : message posté sur Twitter

twittosphère : le réseau Twitter

twittonaute : adepte de Twitter

follower : twittonaute qui suit votre profil (abonné)

following : twittonaute que vous avez décidé de suivre (abonnement)

timeline : fil d’actualité qui agrège tous les tweets de vos followings

client : logiciel que vous installez sur votre ordinateur

url : lien hypertexte commençant par http://

Responsabilité et atomicité des fonctions

Le projet sur lequel je travaille comporte des problèmes d’architecture que j’ai déjà évoqué dans mon billet précédent. Aujourd’hui, je souhaite aborder un autre problème de conception, qui concerne la répartition des responsabilités dans une classe.

Craig Larman nous conseille de respecter le principe de forte cohésion lorsqu’on défini les responsabilités que doit implémenter une classe. A une échelle inférieure, une méthode doit également respecter une certaine cohésion.

Pour être concret prenons l’exemple d’une méthode qui s’appellerait isValide() et supposons que l’implémentation de cette méthode nécessite d’effectuer une itération sur une liste. La tentation est de profiter du parcours de cette liste pour effectuer des traitements annexes « à la volée », ce qui évite de parcourir la liste une deuxième fois. Dans notre cas, le contrat annoncé par la méthode isValide() consiste fournir la réponse à une question. Pour respecter la cohérence de la fonction, celle-ci doit se contenter strictement d’y répondre et rien d’autre. Tout traitement annexe vient polluer la méthode et rend son utilité moins évidente.

Le problème qu’on peut rencontrer est que cela peut aboutir à une duplication de code. Pour reprendre l’exemple d’une fonction qui implémente une itération sur une liste, on peut se retrouver à implémenter cette itération dans plusieurs méthodes pour respecter l’unitarité de chacune d’elle. Si cela pose des problèmes rédhibitoires de performance, la solution est de n’avoir qu’une seule itération et d’implémenter le pattern Observer pour effectuer plusieurs traitements sur les éléments de la liste.

La cohérence d’une fonction rend son utilité plus claire ce qui facilite la maintenance du code.


avril 2021
L M M J V S D
 1234
567891011
12131415161718
19202122232425
2627282930  

linux

Linux

jiwamusic