Archive for Technologie

[:fr]Arm on Android ?[:]

[:fr]

Où programmer en ARM ?

réponse paradoxale : le plus facile, c'est de le faire sur son portable

La preuve : https://www.youtube.com/watch?v=BFMc5Ba9_cQ

[:]

[:fr]Un milliard ?!?[:]

[:fr]ErlangSur nos machines, est-il possible de compter jusqu’à 1 000 000 000 (un milliard) en moins d’une seconde ?

 

(1) Pour être sûr d’y arriver, il est préférable de se lancer avec un langage de bas niveau (C ou même assembleur) …

 

(2) Avec nos processeurs multicoeur il est préférable de se lancer avec un langage qui permet de faire du parallélisme (facilement) : Erlang par exemple ?

 

Résultats …

(1) ok, c’était facile et prévisible … (?)

(2) hum, pas si simple … et puis avec des une suprise : pour aller plus vite, il ne faut pas répartir le calcul sur 2 (resp. 4) processus légers si le processeur raconte qu’il est dual (ou resp. quad), mais plutôt sur une dizaine de processus légers (ou plus, … [mais pas trop, si on demande la partage du calcul sur plus d’un million de processus léger, à la fin, la gestion de ces processus demande plus de temps que le calcul lui-même !!!]) (?)[:]

[:fr]EDBA et PLC[:]

[:fr]J’ai cherché pendant un temps une corrélation entre le niveau d’Xp atteint sur EDBA et la réussite à l’examen de PLC. Sans succès. Et pourtant j’avais de nombreuses données : l’XP, mais aussi le détail des tests, le temps passé, etc. Je regardais le premier test, ou le nombre de test, ou le meilleur test, … mais les résultats obtenus n’étaient pas convaincant. J’avais abandonné.

Et puis, un jour, j’ai voulu tracé une courbe Evolution de l’Xp en fonction du temps. En fait, la variable de temps était plutot le nombre de tests effectués (le temps et l’activité sont liés, mais l’Xp ne dépend pas du temps mais du nombre de tests effectués). Le résultat n’était pas concluant, quand je voulais comparé l’évolution d’un étudiant aux résultats finaux obtenus par d’autres étudiants, les affichages ne coincidaient pas. Pour tenter de ramener ces tracés, les uns sur les autres, j’ai essayer de tracer Xp/nb test en fonction du nb de test au lieu de Xp en fonction du nb de test. L’affichage était plus concluant et même, il semblait y avoir une corrélation entre les résultats finaux des étudiants. Je suis donc revenu à la recherche d’une corrélation entre le niveau d’Xp atteint sur EDBA et la réussite à l’examen de PLC.

En prenant tous les étudiants que j’avais sous la main, le premier résultat Note à l’exam de PLC en fonction de Xp/nb test fut le diagramme de la partie haute de l’image ci-dessous :

Le résultat n’était pas complètement concluant, mais en regardant les points éloignés, il s’est avéré que le temps d’utilisation d’EDBA ou le nombre de tests effectués n’étaient pas significatif. J’ai donc choisi d’enlever les 10% de données les moins significatives (pour une raison ou une autre). J’ai fait le netoyage en ne regardant pas le graphique mais les données. Après nétoyage, le graphique avait moins de points, mais la corrélation était plus nette (bas de l’image ci-dessus).

C’est même assez étonnant de trouver une corrélation aussi forte pour des données -coté examen- qui sont en général, assez imprécises (la notation d’examen donne souvent des notes pouvant varier …). Il y a peut-être un peu de chance. Et l’effectif n’est plus très gros (8 étudiants). Il faudrait voir avec un peu plus de monde.

Si cela se confirmait, ce serait interressant. Dans tous les cas, cela propose une interprétation de la notation en examen, elle est moins corrélées au niveau d’expertise atteint ou au temps passé sur EDBA (en tout cas je n’ai pas observé grand chose de ce coté là), mais à l’efficacité de l’étudiant, c’est à dire la capacité de l’étudiant à trouver maximiser les résultats aux tests en minimisant le nombre de tests effectués.[:]

Caractères spéciauxSpecial chars

Pour une application web, il faut s’attendre à ce qu’une chaine de caractères issue d’un input, d’un prompt ou d’une textarea passent par du javascript, une url, php, du sql, du json et revienne en html, css, svg, en alert via le mail ou dans un eval ou une expression régulière.

Dans l’ordre alphabétique :

  • alert
  • css
  • eval
  • expression régulière
  • html
  • input
  • javascript
  • json
  • mail
  • php
  • prompt
  • sql
  • svg
  • textarea
  • url

Où l’on trouve des langages de programmation, des formats de données, des fonctions et des formats de communication.

Il ne faut pas espérer qu’une chaine de caractères puisse traverser tout cela sans soucis. Et malheureusement, les embuches dépendent de l’étape.

Les caractères gênants peuvent être (selon l’étape) :

  • les lettres accentuées ou comportant de petits ajouts : à, é, ê, ç, ñ, …
  • les caractères délimitant : « , ‘, <, >, [, ], …
  • les caractères d’échappement : \, &, …
  • les caractères spéciaux : $, _, ?, =, …

Pour constater l’étendue du problème, regarder ce qui est dit, juste pour certains langage de programmation : http://rosettacode.org/wiki/Special_characters

CouchDB, …CouchDB, …

Javascript continue de faire des adeptes ! Après que d’autres aient essayé de mettre du XML, ou des triplets (ou du rdf, i.e. des triplets xml) dans une bd, des membres de la fondation Apache ont essayé de mettre des objets javascripts dans une BD (JSON): CouchDB. Et pourquoi pas aussi du code et du html ? le tout pour faire une application web, si c’est possible: CouchApp. Au final, on obtient donc une environnement NoSQL permettant le développement d’application web standard (client leger + bd) avec comme seul langage de programmation nécessaire le javascript (ni php, ni ruby, ni …). Le tout accessible, à partir d’un navigateur web et exposé à tous les utilisateurs (open de bout en bout, de la présentation, au code métier, jusqu’aux données !)

Seulement du javascript ? oui, enfin, c’est un peu vite dit, dans la version proposé initialement, c’est du javascript+jquery+evently+mustache+prototype. Mais bon, pour les puristes, on peut enlever le jquery+evently+mustache+prototype (il faut mesurer ce que cela apporte et ce que cela coute ! depuis que j’utilise javascript, j’ai eu le temps de voir arriver/passer : prototype, script.aculo.us, dojo, rico, ext, yui, mootools, mochikit, qooxdoo, jquery, node, underscore, evently, mustache, vanilla, commonJS, … sachant que les navigateurs sont de plus en plus conformes à la norme javascript.).

Enfin, bref, le temps de mettre au point quelques lignes (euh, disons un petit mois, mais seulement dans mes moments libres, ce qui limite pas mal le temps de travail effectif, mais permet de maturer et de mesurer la motivation), et voila une première appli (compte guest, mot de passe guest) chez un hébergeur « gratuit » (ce qui explique les nécessités de login/mdp ?) : https://denisb.couchappy.com/mem/_design/mem/index.html

Avec la bd au même endroit que le html/code, il n’y a plus de problème de « same origine policy », mais il reste à voir comment la gestion de la sécurité peut s’effectuer et si l’on arrive à partager le code/données facilement (même à l’intérieur du cadre « CouchDB/CouchApp »).