jeudi 23 août 2007

requête utile en SQL

Toutes les langues et leurs abréviations selon la norme ISO 639-1

INSERT INTO `Language` ( `id` , `name` )
VALUES (
'aa', 'Afar'
), (
'ab', 'Abkhazie'
), (
'af', 'Afrikaner'
), (
'am', 'Amhara'
), (
'ar', 'Arabie'
), (
'as', 'Assam'
), (
'ay', 'Aymara'
), (
'az', 'Azerbaïdjan'
), (
'ba', 'Bachkir'
), (
'be', 'Biélorusse'
), (
'bg', 'Bulgarie'
), (
'bh', 'Bihari'
), (
'bi', 'Bêche de mer'
), (
'bn', 'Bengali'
), (
'bo', 'Tibétain'
), (
'br', 'Breton'
), (
'ca', 'Catalan'
), (
'co', 'Corse'
), (
'cs', 'Tchèque'
), (
'cy', 'Wallis'
), (
'da', 'Danois'
), (
'de', ' Allemand'
), (
'dz', 'Dzoungarie, Bhoutan'
), (
'el', 'Grec'
), (
'en', 'Anglais'
), (
'eo', 'Espéranto'
), (
'es', 'Espagnol'
), (
'et', 'Estonien'
), (
'eu', 'Basque'
), (
'fa', 'Perse'
), (
'fi', 'Finlandais'
), (
'fj', 'Fidji'
), (
'fo', 'Féroïen'
), (
'fr', 'Français'
), (
'fy', 'Frison'
), (
'ga', 'Irlandais'
), (
'gd', 'Gallois d\'Écosse'
), (
'gl', 'Galicien'
), (
'gn', 'Guarani'
), (
'gu', 'Goudjerate'
), (
'ha', 'Haoussa'
), (
'he', 'Hébreu'
), (
'hi', 'Hindi'
), (
'hr', 'Croate'
), (
'hu', 'Hongrois'
), (
'hy', 'Arménien'
), (
'ia', 'Interlingua'
), (
'id', 'Indonésien'
), (
'ie', 'Interlingue'
), (
'ik', 'Iupik'
), (
'is', 'Islandais'
), (
'it', 'Italien'
), (
'iu', 'Inupik (Esquimau)'
), (
'ja', 'Japonais'
), (
'jv', 'Javanais'
), (
'ka', 'Géorgien'
), (
'kk', 'Kazakh'
), (
'kl', 'Kalaallisut (Groenland)'
), (
'km', 'Khmer'
), (
'kn', 'Kannada'
), (
'ko', 'Coréen'
), (
'ks', 'Cachemire'
), (
'ku', 'Kurde'
), (
'ky', 'Kirghize'
), (
'la', 'Latin'
), (
'ln', 'Lingala'
), (
'lo', 'Laotien'
), (
'lt', ' Lituanien'
), (
'lv', 'Letton'
), (
'mg', 'Malgache'
), (
'mi', 'Maoris'
), (
'mk', 'Macédoine'
), (
'ml', 'Malayalam'
), (
'mn', 'Mongol'
), (
'mo', 'Moldave'
), (
'mr', 'Marathe'
), (
'ms', 'Malais'
), (
'mt', 'Maltais'
), (
'my', 'Birman'
), (
'na', 'Nauruan'
), (
'ne', 'Népalais'
), (
'nl', 'Hollandais'
), (
'no', 'Norvégien'
), (
'oc', 'Occitan'
), (
'om', 'Oromos'
), (
'or', 'Oriya'
), (
'pa', 'Pendjab'
), (
'pl', 'Polonais'
), (
'ps', 'Pachtoune'
), (
'pt', 'Portugais'
), (
'qu', 'Quechua'
), (
'rm', 'Rhéto-roman'
), (
'rn', 'Roundi'
), (
'ro', 'Roumain'
), (
'ru', 'Russe'
), (
'rw', 'Kinyarwanda'
), (
'sa', 'Sanskrit'
), (
'sd', 'Sindhi'
), (
'sg', 'Sango'
), (
'sh', 'Serbo-croate'
), (
'si', 'Cinghalais'
), (
'sk', 'Slovaque'
), (
'sl', 'Slovène'
), (
'sm', 'Samoan'
), (
'sn', 'Chona'
), (
'so', 'Somali'
), (
'sq', 'Albanais'
), (
'sr', 'Serbe'
), (
'ss', 'Siswati'
), (
'st', 'SotoduSud'
), (
'su', 'Soudanais'
), (
'sv', 'Suédois'
), (
'sw', 'Souahéli'
), (
'ta', 'Tamil'
), (
'te', 'Tegoulu'
), (
'tg', 'Tadjik'
), (
'th', 'Thaï'
), (
'ti', 'Tigrigna'
), (
'tk', 'Turkmène'
), (
'tl', 'Tagal'
), (
'tn', 'Setchwana'
), (
'to', 'Kitonga'
), (
'tr', 'Turc'
), (
'ts', 'Tsonga'
), (
'tt', 'Tatar'
), (
'tw', 'Tchi'
), (
'ug', 'Uigur'
), (
'uk', 'Ukrainien'
), (
'ur', 'Ourdou'
), (
'uz', 'Ouzbek'
), (
'vi', 'Vietnamien'
), (
'vo', 'Volapük'
), (
'wo', 'Ouolof'
), (
'xh', 'Xhosa'
), (
'yi', 'Yiddish'
), (
'yo', 'Yorouba'
), (
'za', 'Zhuangzi'
), (
'zh', 'Chinois'
), (
'zu', 'Zoulou'
);
N'hésitez pas à me communiquer toute faute (j'ai quelques doutes au sujet du 'SotoduSud')

lundi 30 avril 2007

La PS3 fait plouf

Certes, ça fait un moment qu'on le sait, qu'elle a fait plouf, mais je ne m'étais pas encore moqué...
C'est un peu une idée qui me trottait dans la tête depuis quelques temps : La XBox360, la PS3 et un peu la Wii sont sensées être des consoles "next gen", ou "new gen" maintenant qu'elles sont sorties. Or, tout le monde sait que la fin d'une génération dans le jeu vidéo est toujours marquée par l'effondrement d'un géant de cette industrie.

Nous avions donc cherché (c'était un peu avant la sortie de la wii) qui pourrait s'effondrer. La réponse nous a semblé très simple : Microsoft ne peut pas tomber, ils n'ont pas tous leurs œufs dans le même panier et ils ont les reins bien trop solides. Nintendo non plus : ils ont des fonds incommensurables à l'abri et surtout, ils n'ont pas de concurrents sur leur créneau.

Restait donc Sony, qui a certes fait un peu d'argent avec la PS2, mais n'a pas tant de marge que ça (ils s'étaient déjà fait mal avec le DVD) et qui, avec la PS3, met tous ses œufs dans le même panier (jeu vidéo et blue-ray).
Le retard énorme de la sortie de la PS3 ne plaide pas en leur faveur, et leur a surtout fait perdre beaucoup d'exclusivités.

Les choix techniques sont également très risqués : obtenir de meilleurs performances au détriment de l'accessibilité. Que ce soit pour les consommateurs, avec un prix prohibitif (malgré la vente "à perte" de Sony, autre prise de risque...) ou pour les développeurs, avec des technologies extrêmement difficiles à maîtriser.

Un bon exemple de ce parti pris concerne le blue-ray : la technologie blue-ray est théoriquement meilleurs que la technologie HD-DVD. Oui, mais...
Elle est également beaucoup plus difficile à utiliser. De fait, les possibilités du blue-ray ne sont pas utilisées à leur maximum, alors que celles du HD-DVD beaucoup mieux.
Du coup, certains testeurs qui ont vu un film en HD-DVD et en blue-ray, trouvent le film en HD-DVD meilleur que celui en blue-ray.

Les paris sont ouverts, mais moi, j'aurais des actions chez Sony, je les vendrais très vite...

Les informaticiens sont parfois poètes...

La traditionnelle erreur 404 un peu modifiée sur un site de chercheurs très sérieux : > à voir ici < (apparemment pas visible sous IE).

mercredi 11 avril 2007

Compilation !

Après avoir retrouvé, trié, regroupé les sources ; après m'être fait une juste assez bonne compréhension du code pour pouvoir y toucher ; après avoir retrouvé toutes les dépendances (et dans la bonne version) et refait les linkages ; après avoir corrigé certains soucis de code (heu... Oui, le code qu'il y avait dans les sauvegarde n'aurait jamais pu compiler en l'état, curieux...)...
Bref, après bien des efforts, j'ai enfin pu recompiler le code !

La mauvaise nouvelle, c'est que la partie client du logiciel ne trouve pas la caméra... Et je crains que ça ne soit une histoire de driver.
Quoi qu'il en soit, c'est une bonne avancée, déjà.

mardi 10 avril 2007

Hack & Flash

Juste une petite trouvaille sous flash :
Lorsque l'on créé une classe, il arrive que l'on souhaite qu'elle ait une existence visuelle sur le flash.
Alors on la fait vaillamment dériver de la classe MovieClip :
class MaClasse extends MovieClip

et là, on est très déçu parce que ça ne fonctionne pas du tout.

En effet, en ActionScript on ne peut pas instancier la classe MovieClip par un new ; on est obligé d'utiliser attachMovie , duplicateMovieClip ou createEmptyMovieClip. Il en va donc de même pour les classes dérivées de MovieClip.

Donc, comment faire ?
J'ai trouvé cette solution sur ce blog (qui lui même l'a trouvée ailleurs... Relayons, relayons...)

En bref : toutes les classes ont un symbole associé, créé par flash. Ce symbole se trouve dans : __Packages
Donc ma classe MaClasse définie là haut a pour symbole associé : __Packages.MaClasse

À partir de là...
class MaClasse extends MovieClip

{
//on aura besoin de l'id pour associer la classe à ce symbole et pour ensuite créer une instance de ce symbole
public static var id:String = "__Packages.MaClasse";
//on associe une fois pour toute le symbole à sa classe
private static var _isSymbolLinked:Boolean = Object.registerClass(id, MaClasse);

private function MaClasse()
{
super(); //pas certain que ce soit nécessaire...
}
}

et pour créer un objet de ma classe :
import MaClasse;
mc = attachMovie(MaClasse.id, "monInstance", 1);

Cette fois, l'objet créé se comporte vraiment comme un MovieClip.

mercredi 4 avril 2007

Démarrage du stage

Aujourd'hui : lancement de mon stage au cyberdôme d'Angoulème.

Le cyberdôme était un pôle de recherche et de production autour de la motion capture ou capture de mouvement.
C'est une salle assez grande avec au centre une structure en dôme hémisphérique d'une dizaine de mètres de diamètre (et donc d'environ 5 mètres de haut).
Le reste de la salle sert un peu de débarras pour le moment. Il y a également une mezzanine sur deux murs de la salle, avec les bureaux.

La structure hémisphérique sert à fixer des caméras cernant la zone de scène dans laquelle un acteur réalise les mouvements à acquérir.

La structure permet de fixer 8 caméras reliées à 8 ordinateurs capables de prendre des images de manière synchrone.
Les 8 séquences d'images sont envoyées en temps réel à un ordinateur (le master) qui les traites pour en déduire le mouvement.
Pour l'instant, je n'ai pas trop idée du fonctionnement interne de tout ça... Il semblerait que l'information de contours de l'image soient utilisée lorsque la capture se fait sans marqueurs.

On commence par une réunion, avec Michel Crucianu et Valerie Gouet pour déterminer les tenants et aboutissants du stage.
Pour l'instant, trois objectifs bien identifiés :
- Remise en route du cyberdôme
- État de l'art sur le suivi de mouvements et les méthodes de description associées
- Mise en place de bases d'évaluation de ce type de système

Il y avait également l'un des ingénieur qui a travaillé sur ce site autrefois : Quentin. Il a pu accélérer pas mal de démarrage de l'installation, mais pour l'instant, seule la partie matérielle est revenue à la vie.

Niveau contraintes, il faut des algorithme rapides (mais pas nécessairement temps réel), robustes, fonctionnant avec autre chose qu'un fond uni.

(quelques photos )

vendredi 23 février 2007

Transformer

Je suis tombé il y a un moment déjà sur cette petite applet assez étonnante :
http://www.dcs.st-and.ac.uk/~morph/Transformer/index.html

Enjoy !