samedi 11 août 2007

OS VS AFC ...

Comme depuis 2 ans en info j'arrive à rien (redoublement, plus incompréhension des themes abordés en compil, langages, logique, typage etc), je prends tout un tas d'articles ou bouquins sur la programmation ou les fondamentaux histoire de voir ce qui est important et ce qui ne l'est pas, et au passage voir ce que je sais ou pas ou plus. (l'ane est une ressource surprenante question ebooks, c'est impressionnant)

Concretement j'ai eu envie de tester des petits programmes "jouets", mais pas triviaux, genre un OS minimaliste codé en C (voir aussi en JAVA ou CAML pour voir comment faire un OS dans divers paradigmes)

Par dessus j'y verrais bien un systeme Lisp très large qui se comporterait comme un OS, pas OO mais autre chose ... de non défini dans ma tête encore.

je pourrais y tester mes idées pour la représentation / interaction graphique.
A savoir que les objets de données, fonctionnels ou de structures composites se suffiraient a eux meme pour l'affichage , la représentation graphique étant inférée ou interprétée. ( ce qui se rapproche fortement des "naked objects" en fait )

**** Bref je rêvasse .. j'ai que ca a foutre de mes 3 jours de congés , j'ai rien a faire .. (déprime²)

Autre sujet, en passant sur blog j'ai vu un recopié d'un article sur "comment séduire et ne plus etre un looser de la life".
J'avais deja lu ce truc par pur hasard et j'avais adhéré à un tas de truc.. des concepts un peu psychologiques et sociaux. Dans leur théorie je me retrouvais dans la catégorie AFC .. ceux qui niquent jamais et qui savent juste être de gentils toutous collant envers une seule meuf.

C'est un peu tout à fait moi, étant un gros con fini qui s'assume pas et qui veut pas qu'on lui dise que c'est un connard relou, je fais le gentil qui dit rien ou que des trucs débiles. Régulièrement j'ai ma phase one-itis (ce qui veut dire qu'on est obsédé par une meuf qu'on connait quasiment pas, ou qui ne veut pas de nous autrement qu'a une distance conséquente).

Bref en cherchant "one-itis" sur google (et oui, entre temps, j'avais oublié le sens) je tombe sur des blogs qui parlent encore d'AFC et d'autre nouveautés comme les PUA lol ... mais là j'apprends qu'il y'avait pire que l'AFC : le WBAFC (Way Beyond AFC) .. et là on est encore plus proche de moi!

C'est à dire que pour le WBAFC, le probleme ne vient pas des meufs en particulier, mais de problèmes autres qui, au final, font de toi un Super AFC complètement incapable d'avoir la moindre relation sociale (je force le trait); un ensemble de travers psycho-affectifs qui s'alimentent les un les autres.

**** je devrais faire lire ça à may elle qui veut absolument me faire niquer la première meuf qui passe pensant que ca changerait quelquechose.

En parlant de "one-itis", en ce moment j'oscille. J'ai quasi-zappé mon ancienne iObsession; comme j'ajoute des nouvelles têtes dans msn et que j'ai des discussions marrantes ou surprenantes voir flatteuse (o_o) avec, ca remet la confiance en place; mais je remet ça avec une autre (transfert?) qui commence à bien me déprimer bien d'ailleurs.

Du coup j'en parle à moitié en tournant autour du pot (1) avec ma bellgross (dédicace saf), qui me dit, en parlant des nouvelles rencontres sur le net, que de toute facon sur msn : "quand ta fenetre est fermée t'existe plus pour eux".

J'ai passé un sale quart d'heure la, moi qui suis exclusivement sur msn 99% de ma vie, ça m'a refroidit. J'imaginais déjà ma one-itis me voir comme une petite fenêtre rigolote qui apparait pour raconter des bêtises, la distrayant quand elle a aucun pote à aller voir.

D'ailleurs, flashback digne de Lost, c'est déjà le cas avec mon ex-one-itis ... elle a des trucs a me dire que quand elle a rien a faire chez elle, ou que son histoire d'amour prends l'eau, ou mieux! pour me dire qu'elle a bloqué tout le monde parce qu'ils la font chier n'empeche que c'est avec eux qu'elle passe ses journées (2), mais jamais elle pense à moi, pas de sms, rien waloo nihil; mais elle m'aime plus qu'un album de vivian green (3) ... si c'est pas formidable tout d'meme '.'

**** je serais un peu comme les assistants dans word mais en version clown pathétique ???

Pour en revenir à ma dernière obsession, j'me dit qu'elle m'a quand même filé son phone sans que j'lui demande... ca me perturbe.
J'étais super heureux, pour moi c'était en gros qu'on étais plus juste des contacts msn...

Pas longtemps après j'me dis que ca serait bien d'm'en servir, donc j'me dit j'lui envoie un sms. L'absence de réponse a eu un drole d'effet, pendant 24h j'ai cru qu'elle avait tapé un numéro bidon sur msn comme on est souvent en mode second degré a dire des anneries .. et que j'avais gobé comme un idiot. Finalement non c'était bien le sien, mais elle a l'air plus que hors forfait la bougresse ou bien comme j'avais pas signé le sms (oui elle m'a donné son phone mais moi pas .. le monde a l'envers ^^), le temps qu'elle me reconaisse elle a eu du avoir la flemme de répondre (ce que je comprendrais lol).

Quand je pense que pour une fois j'ai rien fait pour avoir un numéro lol! même pas un ptit stratagème, ni le moindre vice, même léger, pour insinuer un "lache moi ton phone".
Je demande quasiment jamais vu que j'appelle personne de peur d'avoir rien à se dire -_-!!, si au fond de moi je sens l'envie de demander un phone c'est qu'il y'a deja entente parfaite sur msn .. c'est aussi rare qu'une eclipse de lune.

En tout cas, ce que j'aurais appris sur ces site de séduction, c'est que le toutou serviable constament en manque d'attention ca ne provoque que l'ininterêt.. alors je vais éviter de faire le mec qui dit "bonjour!" a chaque fois ou elle se connecte.
Meme si ca fait mal au cul qu'elle ne vienne vers moi qu'une fois tous les 34 ans. (Quelle joie quand elle l'a fait hier LOL .. ) Ma seule peur c'est de devenir une habitude de parlage sur msn, donc adieu les squatt tranquille a 2 a bouffer des chips >< !!!

Bref je sais pas comment interpréter son comportement ca et jvais laisser tomber pour today.

ps : je me demande si elle risque de tomber sur ce blog -_-;

pps : putain j'ai les doigts qui débitent .. tout ca de texte pour pas dire grand chose, j'aimerais bien savoir être synthétique sans perdre en détails... i need a punchline course XD

ppps : je dois être encore plus compliqué qu'une meuf o_o;


(1) je tourne souvent autour du pot, j'assume rien de ce que je pense ceci explique cela. y'a que quand j'suis hyperactif que mon cerveau ne se censure pas (comme la fois où on m'a péta toutes mes affaires dans le rer et qu'arrivé a la soirée jvois un pote main dans la main avec une meuf que jkiffais trop.

(2) a une exception pres, un jour elle m'a proposé de bouger a paris me conseiller pour des fringues et manger ensemble, elle m'a invité d'ailleurs. personne a ce jour n'a d'explication a cette envie soudaine. Faut savoir que depuis qu'on se connait elle a jamais voulu bouger avec moi, meme quand elle msortait "bouh personne pour aller au ciné, jvais encore etre toute seule" en sachant pertinement que j'étais libre toute la journée hein mais comme on a pas la meme carte de ciné.. c'est pas la peine que jvienne. cétipabo ?

(3) j'arrête pas de la souler en ce moment avec des "tu m'aimes ??" avant j'osais meme pas l'écrire lol en fait ca fait prendre du recul, elle a jamais osé dire "non" lol , alors elle m'aime "bien" ! woot je suis le meme le seul gars avec qui elle s'entend , comprendre le seul idiot qui continue a lui parler pour rien. Comme une autre meuf , j'lui demande aussi , au lieu de me dire non tout simplement elle me sort que elle "elle aime pas".

jeudi 12 juillet 2007

should we jazz

I'd like to see computer science like music (1), jazz in particular, these guys often achieve mastery over a whole domain so they can "work" with each other in live time without "bugging"(2). Question is: will there be a "solfege" of computer science ??

ps: IBM next collaborative platform is called jazz, jazzin for everyone in the computer world ? hem


(1) actually i like to see kinda everything like music... rythm is fundamental, you can find it taichi or any sport, even life is question of rythm, cycles. Being on time is important ^^.
In music you work hard to be ready to handle the moving of the other, the environnement so you can keep on being "harmonic" (melodicaly and rythmically) so everything stays up.
*** I'm too "bisounours" in my head lol

(2) after all a bug looks like a note in the wrong key ^^;

video live jazz @ youtube

samedi 9 juin 2007

cursus informatique ...

(note "ce texte sera surement recomposé en 2 voir 3 parties, c'est imbuvable tel quel , sans parler de son incomplétude, n'est ce pas kurt ?!")

(status 'draft)

J'ai récemment découvert des cours online du MIT, respectivement "Structure and Interpretation of Computer Programs" (SICP) pour faire court, et "How to design program" (HTDP). Ce sont des cours d'introduction à l'informatique, enfin surtout la programmation.

En les parcourant la première fois j'ai remarqué 2 choses. La première c'est qu'ils utilisent la famille des langages lisp pour écrire leurs exemples, et la 2ème : les thèmes abordés.

Quand certains se limitent à des choses simples (récupérations d'arguments, jeux sur les tableaux, algorithme de tri pour le plus dur) eux vont dans d'autres galaxies. Ils cassent le cliché de récursion != itération, à Jussieu on a vu la récursion en C et forcément avec des exemples de bases du coup récursion = occupation temps et mémoire supérieurs.

(chg "En lisp ils utilisent l'optimisation de récursion terminale:" "Dans ce cours ils expliquent tout de suite ce qu'est l'optimisation de recursion terminale")

f x =
si x = 0 renvoyer 1
sinon f x-1

ici f n'empile aucun appel! on obtient le même nombre de cycle qu'une boucle while. (ces 2 formes sont équivalentes en fait, au détail près que l'un est exprimé comme une répétition d'évaluation, et l'autre comme une fonction qui se rappelle, et les fonctions c'est un formalisme étudiable et étudié :D ce qui est un avantage)

De plus ils montrent comment itérer récursivement en utilisant les paramètres formels comme variable "mutable"; leurs exemples sont souvent calculatoires (calcul de racines carrées, intégrations, calcul de pi [calculs approchés j'entends]). J'ai pas beaucoup de souvenirs des premiers exemples des programmes à Jussieu mais c'était beaucoup moins (chg "utile" "intéressant") . (au mieux les tours de hanoi quoi)

Ensuite ils passent en revue des concepts très contemporains mais vu de manière "plus" fondamentale. L'abstraction des données, chère à nos langages de programmation orientés objets (POO), sont exprimés de manière si simples grace à de bêtes fonctions sur des listes.
Au début ils implantent les constructeurs ( des fonctions bien nommées sur des listes d'informations ), puis les accesseurs pour "désemboiter" les informations encapsulées par le constructeur.

Et même l'encapsulation est montrée avec une facilité déconcertante. Le tout en partant de fonctions pures qui ne font que calculer des valeurs à partir de leurs arguments. Puis en ajoutant l'assignement juste quand il faut (ce qui leur permet d'introduire les mutateurs, ou setter pour coller avec les noms à la mode).

En 3 minutes passe d'une fonction immutable à une fonction dépendante des précédents appels, puis une fonction' englobant d'autres fonctions dont une nommée 'dispatch'.

Je fais une parenthèse.
Cette idée de dispatch est la base, enfin j'y vais fort avec ce mot "base", du 'polymorphisme' en poo, en gros c'est une fonction sur le type ( des paramètres , comme en C , mais aussi de l'instance qui va exécuter la méthode! ) pour choisir la bonne méthode parmi un ensemble.
Ce qui m'a frappé c'est que ca m'était complètement transparent dans ma tête. Je rangeais ca dans la case "magie des langages". Cette année avec le cours de Typage + ce livre je comprends beaucoup mieux Java par exemple.

Je découvre aussi que le choix d'une méthode en Java est d'abord faite en fonction du type de l'instance auquel s'applique l'appel!

exemple:

A a = new A().say("bonjour");

ca revient a appeler, au niveau interpretation par la JVM, une fonction de la forme:

invokeMethod( a, "say" , ( "bonjour" ) )


en fonction du type de a ( qui est une instance de A ) on obtient une liste de ses methodes, dans laquelle on cherche celle qui a la signature apropriée, en l'occurrence une méthode nommée "say" qui prend un argument de type String...

D'ailleurs c'est un algorithme non trivial, il faut tenir compte du sous typage!

say( String s ) peut etre appelée avec un objet SmallString, si SmallString hérite de String ( même idée pour l'implémentation des interfaces ). C'est le mécanisme qui nous permet d'avoir des methodes aux noms similaires sans se soucier du choix de la bonne méthode a l'exécution :)

ps: le mécanisme de recherche de méthodes de Java est "faillible" enfin l'algorithme peut se trouver face a un choix indécidable ^^.

Donc je reviens aux objets primitifs en Lisp, on peut les écrires comme ca :

(define c (make-account 100 ) ) -> défini un symbol qui représente un compte avec un solde de 100.

((c 'depot) 50) -> effectue un dépot de 50
((c 'retrait) 30) -> effectue un retrait de 30

avec un petit effort d'imagination syntaxique, on reconnait l'équivalent de c.depot(50) et c.retrait(30) ...

Lisp se souciant peu des détails syntaxiques en dehors de ses types de base et de la notation fonctionnelle, ce que je trouve très très intéressant dans ce language. Je le trouve dépouillé des fioritures qui bride l'esprit au début.

"La syntaxe n'est rien mais la syntaxe c'est tout en même temps"... pour ma part je penche un petit peu plus du côté "rien".

Dire que pendant 3 ans je m'émerveillais en programmant en Java en n'ayant aucune idée de la réalité des choses.

Bref les bouquins vont bien plus loin, introduisant :
- les intêrets du polymorphisme
- des abstractions métalinguistiques (1)
- l'unification donnée et programme (2)
- les flux reposant sur l'évaluation paresseuse (ou comment n'évaluer que ce dont on a besoin, fondamentalement passionnant comme sujet :) !)
- l'implantation d'évaluateurs de dataflow (5)
- l'implantation d'évaluateurs de contraintes (inspiré par le célèbre sketchpad)
- la compilation vers les machines à registres
... j'en passe et des meilleurs.

Donc je 'rebreffes', pour un cours d'introduction à la programmation, voila du cours trois étoiles au guide michelin de l'informatique.

Et sur un plan plus large même, je les trouve bien plus ( il manque un mot dans mon vocabulaire qui mèle pédagogie, réalisme, simplicité et d'autres qualités appréciables sur le long terme lol ) sur leur façon d'aborder l'informatique.

Bref leur vision/approche me plait car elle est incrémentale, et presque non informatique en fait. Ca décomplexifie l'informatique avec des notions simples mais puissantes et cohérentes.

Ici pas de mystères tout est clair et simple ( on repose sur le concept de fonction et de liste, rien de bien obscur en somme, on rejoint l'avis de C. Queinnec sur la rédaction d'ouvrages pédagogiques, acquérant la confiance du lecteur par la plus simple transparence )

Je trouve que ça forme non pas des utilisateurs avancés de l'informatique mais vraiment des penseurs sur informatique. Pas d'UML, pas de Java, que du good old lisp des familles sur des sujets fondamentaux. Et encore .. lisp pas pour ses beaux yeux, mais plutot son dénuement, et pour exprimer récursion, itération, fonction, donner des concepts universels. Le genre de choses qui survivent les modes.

ps: Tiens mon encadrant de stage veut jeter uml a la poubelle pour utiliser RDF , ca m'a fait rigoler, ils se rendent compte de l'inadéquation d'uml avec la conception de programmes. Uml était un grand pas pour l'industrie ( langage commun de communication, idée de structurer les informations issues des efforts de reflections pour la conception etc etc )

En fait mon objectif serait d'atteindre une sorte d'état de compréhension de l'informatique qui me permettrait de tout appréhender avec souplesse et facilité. Le truc c'est que je me connais, au final ça implique qu'il faudrait que je puisse tout comprendre sans le moindre effort... hem

Ah et tiens, par curiosité je voulais avoir des avis de gens sur ce cours, j'ai déniché un pdf rédigé par des profs ( du mit je crois ), et contrairement à moi, ils sont très critique envers ce cours.
Ils le trouvent un peu précipité et manquant de pédagogie même s'ils reconnaissent les qualités de ce même cours.

je cite :
***
The publication of Abelson and Sussman’s Structure and Interpretation of Com-
puter Programs (sicp) (Abelson et al., 1985) revolutionized the landscape of the
introductory computing curriculum in the 1980s. Most importantly, the book lib-
erated the introductory course from the tyranny of syntax. Instead of arranging a
course around the syntax of a currently fashionable programming language, sicp
focused the first course on the study of important ideas in computing: functional ab-
straction, data abstraction, streams, data-directed programming, implementation
of message-passing objects, interpreters, compilers, and register machines.
***
(source "www.cs.brown.edu/~sk/Publications/Papers/Published/fffk-htdp-vs-sicp-journal/paper.pdf ")

Par exemple, bien des exercices sont des exercices nécessitant de modifier/aggrémenter un programme montré précédemment (technique pédagogique vieille comme le monde)
Ils préconisent une approche feuille blanche, qui permet de développer une vraie compréhension interne du problème. (3)

Bref, pour eux SICP n'apprends pas à trouver par soi meme comment créer les fonctions nécessaires à la résolution d'un problème. C'est clairement un manque, mais alors entre nous, ce ne sont surement pas les seuls à l'avoir. en 7 ans de fac, combien de fois les profs m'ont sorti des "comment j'ai fait ? bah j'intuites." (je trouve toujours ça aussi énorme). Bref ce problème est à résoudre par tous les enseignants du monde, comment enseigner la résolution des problèmes en général. (4)

Pour finir ils ajoutent que les exemples donnés sont issus de domaines complexes (ils implantent un simulateur de circuit etc etc). 1 point pour eux,c'est clairement vrai.. là ça touche à mon subjectif, certaines personnes fuieront rien qu'a la lecture de la table des matières, moi j'avais pas fini de la lire que j'avais déjà la bave aux lèvres.
Pour faire un peu plus argumenté sur ce sujet, je trouve qu'on nous rend utilisateurs de l'informatique à un certain niveau. On sait utiliser certains langages, faire une application dans un paradigme etc etc mais .. j'ai vraiment l'impression de n'être qu'un programmeur java. C'est assez frustrant.. surtout quand on voit les choses faites dans les 50's avec si peu de "moyens".. je me dis qu'on a raté un truc. Bref ce livre montre en partie l'étendue du possible en informatique , tout en expliquant comment elle marche. Je trouve que c'est la bonne direction d'un enseignement supérieur, on doit penser et implanter via l'informatique .. hors j'ai pas l'impression que ça soit le cas de la majorité des étudiants qui sortent avec un Master. Moi meme,j'ai un objectif plus idéalisé, mais je suis loin de savoir expliquer les principes d'une machine virtuelle ou d'un compilateur.

(1 qui tombent dans l'industrie aujourdhui avec les Domain Specific Language chères à Microsoft et à l'OMG )
(2 programme = donnée => on peut les créer, les analyser, les modifier, les adapter grace à un autre programme )
(3 j'adhère tellement à ce principe, merci monsieur gastineau, j'aurais du suivre cette façon de faire tout le temps lol. en fait selon moi l'informatique devrait s'enseigner avec une feuille et un crayon. et des ordinateurs pour tester un peu quand le besoin d'environnements est trop grand)
(4 ca me rappelle la conférence de mr pitrat sur l'IA, il a passé la moitié du temps a nous montrer certaines faille de l'éducation, ou comment on nous faisait croire que certains problemes se solutionnait de telle maniere , solution qui était fausse en général. Bref il posait le problème de comment apprendre à apprendre formellement, c'est normal c'est le problème de l'IA. D'ailleurs il avait un tas d'anecdotes sur les apprentissages de certaines machine.. skynet sors de ce corps :D)
(5 j'ai récemment découvert [vers aout deux mille huit] que les architecture de dataflow ont été copieusement étudiées, jusqu'a la création d'architectures de dataflow différentes de l'archi de von neumann ! je savais bien que ca avait du bon ... sauf que ca à d'autres gros défauts. j'vous laisse wikipédier si vous voulez en savoir plus)

mercredi 30 mai 2007

stage log, 0.1

Bon vu qu'il paraît que je suis en stage, qu'à sa fin je passerais devant un "jury"... et que ça dure 24 semaines, je pense utile de mettre des informations ici chaque jour...
C'est pas très efficace comme façon de faire, il faudrait avoir des données entre le blog et le suivi quotidien, comme ça on fait d'une pierre 2 coups (tiens j'écris pas en anglais. fuck off yall non-french readers mouhaha... de toute façon j'ai qu'un reader à temps partiel)

Bref pour synthétiser l'installation:
- première semaine: rienfoutage (installations, blablas , réinstallations, réflexions qui accouchent de longs fichiers textes déjà obsolètes)
- semaines suivantes: questions existentielles sur les objectifs, début d'implantation d'un µPlugin utilitaire de XXXXXXXXXXXXXXXXXXXXX (secret professionnel.), dépressions de prise en main des logiciels entrecoupées de repas tout aussi excitants (quoique parfois on lol à table)
- aujourd'hui: déploiement du plugin! Y'a qu'à moi que ça parle ça, mais c'est un immense pas vers une retrouvaille de la sensation d'être "informaticien" (computer scientist en cainri, hé ouai, parfois on réfléchis.. c'est souvent là qu'on fait les mauvais choix d'ailleurs).

Tiens ça me rappelle que j'ai eu ma paie hier, d'une ma banque va enfin pouvoir retirer l'étiquette rouge sur mon compte (qui est en décroissance continue depuis 1 an) et de 2 je vais plus payer de pénalités de merde. Oui, de merde, m'étonne pas qu'elles soient riches les banques. Après la Française des jeux, c'est surement la plus belle façon de faire de l'argent.

Bon j'm'emporte dans mes critiques pseudo-cynico-ironiques de rebellzz; tout ça pour dire que j'avais vraiment l'impression d'être payé à rien foutre, d'autant plus que les gens qui apprennent que je suis en stage ici sont tous emerveillés "waouh, c'est la class, tu dois toucher, le pied quoi!".

En général y'a un "Nan, j'm'emmerde, je sais pas ce que je dois faire et on utilise des trucs qu'on ne sait pas manipuler, ça fait 3 semaines que je pionce régulièrement sur mon bureau, comme j'ai encore un peu de conscience j'me met la pression mais je m'écrase toujours face aux mêmes murs bien moelleux, je les entends même rigoler de ma naïveté. Et ouai j'aurais un bon salaire, mais 1 an comme ça et je retourne à la boutique Paul OPERA, c'est plus épanouissant -_-;" qui fuse dans ma tête.
là tu viens de comprendre que je sais pas rédiger, aucun style, aucune fluidité. J'envoie des pavés indigestes les uns à la suite des autres. ndlr: on s'excuse

Mais je dis rien pour pas froisser leurs idées xxxxx...

Bon voilà fin du chapitre 1 du tome 0.1 de ces rapports de stages. (Sinon je vais encore être payé à rien foutre.)

Keven, va taffer XD mouhahaha

ps: _ _ _

pps: vivement que google installe des locaux à coubron.

dimanche 27 mai 2007

'prolog

I don't know wether or not i should write this weblog in english or french, or both -_-;;
Maybe both, that could improve my english ( watching lost may help you talks in NY streets but not writing cover letters or even speak to an employer , `bref` )

As i'm getting more and more bored this time, and a lot thinking about my studies ( which just ends ) i feel cool to write it down, this helps getting things organized inside my head.

I've been spending my time at Jussieu university for 5 year (+ 2 years for lazyness excess or heart conditions lol ) in computer science. Starting with 2 years Maths & Computer science, then moving towards full computer science cursus of 3 years.

I've been a computer enjoyer since i was a kid,never been a real programmerkid like some of the guys i used to know. Guys that programmed tiny word processors or gif visualisator while i was overheating my brain typing 20 pages of ... basic or pascal to make a boucing circle on screen -_-;; [ouch that hurts] (that's what you get for coding in unknown languages i guess, the smallest typo means hours of total rereading of the code). My first love was paintbrush ^^; i loved drawing dragon ball Z figures, especially doing gradients by hand, dot after dot :D
Then i ve been the lambda windows 95 user with all my 'why on earth isn't that working | possible' followed by the classical 'let's wait for the next windows release' .. computer magic you know.

Then entering university, as i was ashamed of my tastes, i've never fully participate in computer science courses ... but i found my way through all that. 3rd year was pleasing because it was always superficial introduction to CS standard fields ( oses, database, oop, networks, low level architectures, etc etc... ) but as i did not really worked a lot, i ook a huge slap the 4th year. Things got faster then (with concurrent and reactive languages, language implementation, code, compression & cryptography, software engineering <- i hated that because i was too technical, for me models were always design models, with all details so that you could execute them with your pencil... ).

This year ( the last ) was nearly a mistake, i choose an enterprise specialisation (which i thought was only a 'only the best' last year) which was really not my way of thinking. Spending a year to learn VS2005, Delphi for .Net, Websphere, enterprise technical documentation practices .. all about enterprise collaborative work. It's an interesting thing, but it was badly taught, and should not take more than 2 months.

There was some classic courses about meta-level representation (omg mof), language design (denotational semantics, functionnal style), reflection for dynamic & adaptive objects, polymorphism and type systems ... middleware components architectures ( j2ee containers )
I was really interested into all that topics, but things got too fast for me. Anyway that left me in a "application design needs something to get things close to the specification, easy to prove, easy to compose or express generically" but in the same time i failed nearly everywhere ( or close to , meaning that i didn't fell any mastery of these topics inside of me ).

Jussieu is fond of using ocaml in their courses, which is fine, but it tooks me really long time to understand it, even superficially... and following the "language design" course makes me rethink my whole idea about programs. Like erasing everything i thought (im mainly a subtypeaddict and interface object oriented small programmer) especially in terms of functional abstraction, data representation, type meaning... a lot of things