About Lectures Research Software Blog
Musical Site
MySpace
Facebook

Moods Blog

Dojo Shin Kaï

RSS Feed
Thank you!

XHTML 1.0 conformant
CSS 2.0 conformant
Didier Verna's scientific blog: Lisp, Emacs, LaTeX and random stuff.

mardi, janvier 27 2009

Connaissez-vous le verbe "Setter" ?

L’incorporation de termes anglo-saxons dans le jargon technique français ne me gêne absolument pas. Mais il y a quand même des limites aux bornes des frontières. Dans une copie d’étudiant:

« Les variables ne sont pas dupliqué lors de la création d’un thread par consequent impossible de savoir quel thread a setter errno. »



Le lecteur érudit aura de lui-même reconnu le verbe « Setter », du
premier groupe, équivalent de l’anglais « meytrajoor ».

lundi, octobre 6 2008

Ucopia vs. Utopia

Il y a des captures d’écran qui parlent d’elles mêmes... :-)



lundi, septembre 8 2008

Lisp, Jazz, Aïkido

Qu’est-ce que l’informatique, la musique et les arts martiaux peuvent bien avoir en commun ?

Ce sont de véritables "attracteurs étranges" dans ma vie: quelle que soit la distance que j’ai pu mettre entre eux et moi par le passé, j’ai toujours fini par y revenir, et je sais aussi qu’il en sera toujours ainsi dans le futur.

Mon premier contact avec le langage Lisp, ma première rencontre avec le Jazz et l’improvisation et ma première séance d’Aïkido sont des souvenirs toujours vivaces. Différentes choses, émotion identique. Et aussi le sentiment d’avoir toujours été un lispeur, un jazzeux et un aïkidoka dans l’âme, avant même de le savoir.

Récemment, je parlais de ma vie, moitié scientifique, moitié musicale avec l’un de mes un anciens instituteurs, qui fini par me demander si je n’étais pas subitement devenu totalement schizophrène. Il avait raison ! De me poser la question, s’entend... J’ai donc commencé à y réfléchir. J’ai essayé de comprendre ce que ces trois domaines ont en commun, et pourquoi ils collent si bien à ma philosophie de vie.

Mais peut-être devrais-je donc commencer par expliquer ce qu’est ma philosophie de vie. Elle tient sans doute en trois mots: Beauté, Amusement, Unification.

  • La beauté réside dans notre capacité à évoluer confortablement au sein d’un ensemble de contraintes, de limites ou de règles. Notons que ceci commence par le fait d’accepter l’existence de ces contraintes, limites ou règles.
  • L’amusement, par contre, consiste à casser ces règles à volonté, savoir s’en détacher, y revenir, un peu comme un chat qui peut sauter dans n’importe quelle position mais qui fini toujours par retomber sur ces pattes.

    Il y a un corollaire à ces deux points: la vraie liberté n’est pas d’être sans limite, mais au contraire de les connaître suffisamment pour savoir soit évoluer à volonté en leur sein, soit les franchir à volonté.
  • L’unification consiste à établir des ponts entre des choses apparemment différentes, commencer à comprendre ce qui est l’essence commune à toute chose. Au passage, c’est exactement ce que je suis en train de faire dans ce blog... :-)



En quoi Lisp est-il beau, amusant et unificateur ?

* Il a y de la beauté à écrire du code dans tout langage (même du code shell peu être beau). La beauté réside dans votre capacité à adapter vos concepts aux contraintes du langage que vous utilisez, en d’autres termes, tirer le meilleur parti du langage compte tenu de ses limitations inhérentes en expressivité.

* Cependant, et c’est là que l’on s’amuse, Lisp permet de casser les règles des langages traditionnels, en ceci que le langage peut s’adapter à vos concepts autant que vous avez à adapter vos concepts au langage. Lisp est connu (ou il le devrait) pour être le "langage de programmation programmable" grace à la puissance de son système de macros et à la flexibilité de son reader par exemple, on peut créer un langage totalement nouveau (y compris doté d’une syntaxe totalement nouvelle, cf. la macro loop par exemple) à l’intérieur de Lisp lui-même. Ceci fait de Lisp la langage typiquement adapté à l’implémentation de DSL (Domain Specific Language) par exemple.

Il est intéressant de constater qu’avec un peu d’expérience en Lisp, adapter le langage à ses besoins devient une partie intégrante de l’art de la programmation; une règle en soit. Pour ainsi dire, on a repoussé nos limites, en faisant règle ce qui n’était qu’une exception auparavant.

* Lisp est aussi le langage de l’unification. Bien que principalement connu comme langage fonctionnel (pur ou impur, en passant), Lisp est aussi impératif, procédural, orienté-objet, orienté-contexte si ça vous chante. Lisp est aussi déclaratif: il suffit de constater l’abondante littérature traitant de la facilité d’implémentation de Prolog pour s’en convaincre. Lisp est donc vraiment le langage que vous voulez, quel qu’il soit: là où un paradigme de programmation existe par construction d’un autre langage, il est souvent implémenté comme une simple bibliothèque en Lisp. La plupart des langages récents (et à la mode) aujourd’hui sont simplement en train de redécouvrir des choses qui ont existé dans Lisp depuis sa création en 1958.


En quoi le Jazz est-il beau, amusant et unificateur ?

* Il y a de la beauté à jouer un morceau de musique, quel que soit le style. Cette beauté réside dans votre capacité à adapter vos idées musicales personnelles, votre manière de jouer, en d’autres termes, votre personnalité musicale, aux contraintes du morceau. La plupart des gens oublient qu’un morceau de musique est par définition (ou, devrais-je dire, par composition) limité en expressivité, exactement comme un langage de programmation moyen: un morceau a une tonalité, un tempo, un style rythmique, une progression harmonique; tout ce qui est en fait spécifié sur une partition. Dans un style de musique traditionnel, vous êtes supposé évoluer à l’intérieur de ces limites.

* Cependant, et c’est là que l’on s’amuse, le Jazz (spécifiquement l’improvisation) permet de casser les règles des musiques traditionnelles en jouant "dehors", à la fois rythmiquement et harmoniquement. L’improvisation est par essence la pratique musicale qui permet de modifier en temps réel une partition: vous pouvez changer d’ambiance, changer les accords, le rythme, vous pouvez temporairement sortir tout à fait du morceau puis y revenir (rappelez-vous du chat...), et même jouer "atonal" (grossièrement, utiliser des gammes ne correspondant pas aux accords sous-jacents). Dans ce processus, vous êtes en fait en train d’adapter le morceau à vos idées musicales au lieu d’adapter vos idées musicales au morceau. C’est exactement la même chose que d’adapter le langage informatique à vos concepts programmatiques au lieu d’adapter vos concepts au langage. Et quand les autres musiciens vous suivent en temps réel dans le jeu du "triturage musical", c’est là que l’on commence vraiment à s’amuser !

Il est intéressant de noter qu’avec un peu d’expérience en Jazz, jouer "en dehors" devient vite une partie intégrante dans l’art de l’improvisation; une règle en soit. Lorsque Miles Davis a commencé à mélanger les harmonies majeures et mineures (par exemple en jouant une tierce mineure sur un accord majeur), de nombreux alligators conservateurs ont voulu brûler vif le trompettiste hérétique. Aujourd’hui, tout cela est bien connu, et l’on vous enseigne même des techniques de substitution harmonique et d’atonalité dans les écoles de Jazz. Mais encore une fois, ce que vous faites en réalité revient à repousser les limites un peu plus loin, faisant règle de ce qui était un exception auparavant.

* Le Jazz est aussi la musique de l’unification. Une vision très étroite en serait celle d’un simple style de musique: le "chabada" ternaire de la batterie, la contrebasse qui se promène (walking-bass) et ainsi de suite. Mais le Jazz n’est vraiment pas ça. C’est une philosophie, une manière d’aborder tous les styles de musique. Michel Petrucciani a dit un jour "le Jazz est une musique de voleurs", et il avait raison ! Un musicien de Jazz est fondamentalement curieux. Il s’intéresse à tout ce qu’il entend et tente de s’approprier toutes les idées auxquelles il est exposé, afin de les adapter à sa propre personnalité musicale. Ce processus est présent dans la composition comme dans l’improvisation, mais l’improvisation est le facteur clé qui unifie tous les styles de musique dans le Jazz. Exactement comme Lisp unifie tous les concepts de programmation dans une philosophie de la programmation, le Jazz unifie tous les styles de musique dans une philosophie de la musique.


En quoi l’Aïkido est-il beau, amusant et unificateur ?

* Il y a de la beauté à pratiquer n’importe quel art martial (tant que celui-ci ne devient pas juste un sport). La beauté réside dans l’exécution à la perfection des techniques qui définissent votre art. Mais il faut comprendre que tant que les arts martiaux sont vus comme des ensembles de techniques (ce qui est une vue très étroite du domaine), vous évoluez dans un environnement très contraint et limité, aussi beau soit-il (et l’Aïkido est beau, ne serait-ce que sur le plan esthétique).

* On commence seulement à s’amuser lorsque que l’on perçoit le Budo qui se cache derrière les arts martiaux, et spécialement l’Aïkido. Le Budo est une philosophie, tout comme le Jazz ou Lisp. En mettant l’accent sur des valeurs telles le développement personnel, le contrôle ou la connaissance de soi, le Budo rend la technique dérisoire ou à tout le moins secondaire, parce que votre capacité à réagir dans toute situation est plus importante que la manière dont vous réagissez. La technique est simplement un outil pour parvenir à un but plus grand. Les maîtres aïkidoka sont tellement loin au delà de la technique que vous ne la percevez même plus dans leurs mouvements. Les règles sont cassées, les techniques ont disparu. Ce qui reste est un état "purifié"; ce qui reste est le Ki.

Il est intéressant de constater qu’en Aïkido, casser les règles, c’est à dire éviter de devenir esclave des techniques est une préoccupation constante. par exemple, en Aïkido, on ne fait aucune distinction entre les "gradés" et les débutants. Mélanger les niveaux dans une même pratique est une manière de s’assurer que l’on aura toujours à faire face à des situations nouvelles et inattendues. En tant que tel, casser les règles est devenu une règle en soi. L’exercice ultime de "cassage" de règle en Aïkido est sans doute le Randori. Lorsque l’on fait face à 2 ou 4 partenaires en même temps, il n’y a aucune place pour les règles ou les techniques, il faut juste réagir. C’est exactement la même chose que d’improviser en Jazz: en temps réel, il n’y a aucune place pour les règles ou l’analyse harmonique, il faut juste jouer.

* L’Aïkido est aussi l’art martial de l’unification. Au moins sous deux aspects. Sur le plan technique, nous savons que Morihei Ueshiba, le père de l’Aïkido était un maître dans plusieurs arts martiaux (à la fois "doux" comme le ju-jtsu et "durs" comme le ken-jutsu ou le jutte-jutsu) quand il a fondé le sien. Dans cette optique, l’Aïkido unifie les arts martiaux en général par l’utilisation de techniques issues de nombreuses sources. Ceci est également illustré par le fait que Jigoro Kano, fondateur du Judo, a envoyé ses meilleurs élèves étudier l’Aïkido. Sur un plan spirituel, l’interprétation que fait O Senseï du Budo comprend non seulement l’acception traditionnelle du terme (notamment la notion de développement personnel) mais s’étend également à des notions telles l’amour et la protection de toute chose, le respect de toute vie (cf. son "illumination" du printemps 1925), qui sont des considérations bien plus universelles.

Conclusion

Lisp, le Jazz et l’Aïkido sont plus que des styles de programmation, de musique ou d’art martiaux. Ce sont des philosophies de programmation, de la musique, ou des arts martiaux. Mais plus encore, ce sont des apparences différentes de la même philosophie de vie. Il y aurait plus à dire sur le sujet. Il y a des ponts à construire avec la recherche scientifique en général. Mais pas dans un blog.... j’aimerais écrire un véritable essai sur la question si je trouve le temps... un de ces jours.

mercredi, mars 19 2008

Il y a un vers dans mon Orange

Le logiciel de messagerie d’Orange doit au moins être écrit en Visual Basic sous Windows Vista... voici mon dernier message:


"888" messagerie Orange: le / / à : ce correspondant
a appelé 0 fois sans laisser de message.
------------------------------------------------
De:

Moi je dis qu’il aurait quand même pu laisser son numéro, pour que je puisse le rappeler 0 fois. Il y a des gens qui ne sont pas polis.
French Flag English Flag
Copyright (C) 2008 -- 2013 Didier Verna didier@lrde.epita.fr