Liguoblog

lundi 22 juin 2009

Fiesta Russe HD

Je profite de ce début de semaine de vacances pour faire retrouvaille à mes archives de geek.

Aujourd'hui est votre jour de chance car vous avez droit en exclusité un re-export de mon étage pour la fameuse Mediabox Tower 2.0.

La réalisation et la totalité de la production avait été fait de mes propres mains. Le tout en respectant la contrainte de 40ko de poid total.


mercredi 17 juin 2009

Bing.com easter egg?

Aujourd'hui j'ai découvert l'existance de bing.com, le nouvel engin de recherche de Microsoft. Je crois que je vais rester ancré à mon habitude d'utiliser google, mais je dois avouer que le nouveau venu est assez intéressant.

J'ai été surpris par la réalisation technique de la section vidéo. Ayant les bon outils pour accomplir la tâche, j'ai essayé de faire un peu de reverse engineering de cette section.

Lire la suite

[Frame]

J'ai beaucoup joué avec le DragManager de Flex dans les dernier mois. J'ai eu besoin à un certain point de fournir une implémentation custom du DragManager afin de régler quelques bugs assez gênant.

Tout les singletons de Flex implémentent une certaine interface (DragManager -> IDragManager -> DragManagerImpl) sont enregistrés globalement dans la classe non-documenté mx.core.Singleton.

Le problème avec la fameuse classe Singleton, c'est qu'elle ne permet pas de redéfinir une classe.

public static function registerClass(interfaceName:String, clazz:Class):void
{.
var c:Class = classMap[interfaceName];.
if (!c).
classMap[interfaceName] = clazz;.
}.
Donc le seul moyen de spécifier ma propre classe, c'est de redéfinir le SystemManager. La majorité des managers sont défini dans la méthode SystemManager.docFrameHandler() (à la ligne 2261 pour être exact).

Heureusement, la méthode utilise le namespace mx_internal donc il est tout à fait possible de polymorpher la méthode. (à vos risques et périls, cependant)

Mais...

Hmmm.

Où est défini l'implémentation du SystemManager? Qu'est-ce que le SystemManager?

Il y a le metadata [Frame] défini dans la classe Application. Ce metatag permet d'indiquer au compilateur la classe qui sera instancié sur un frame du swf.

Dans le cadre de mx.core.Application :

[Frame(factoryClass="mx.managers.SystemManager")]


C'est en modifiant ce metadata que j'ai pu avoir ma propre implémentation du SystemManager ainsi que du DragManager. Et au final, après avoir implémenté mon DragManager custom, j'ai trouvé une solution à mon problème d'origine sans avoir à modifier le DragManager de Flex. Il suffisait d'envoyer une implémentation spécial de MouseEvent, mais ça, c'est le but d'un autre billet! :D

mercredi 18 février 2009

java.util.concurrent

Ce package introduit dans le jdk 1.5 est assez utile pour les développeurs qui doivent affronter la synchronisation dans une application ayant recourt à beaucoup de Thread. Chose qui devient complexe assez rapidement. Voici un bout de code qui utilise deux classes fournit par ce package. ReentrantLock et CyclicBarrier.

Lire la suite

vendredi 9 janvier 2009

Exorcisme

J'aime la griller
L'inaler, la savourer
Il faut arrêter

Depuis mon douzième anniversaire qu'elle fait partie intégrale de ma vie. Je n'ai jamais passé plus d'une semaine entière sans être à ses côtés. J'ai toujours eu l'impression qu'elle me réconfortait alors qu'en vérité elle m'ensorcelait. J'ai suivi les conseils d'un grand sage et décidé de chasser le démon de mon esprit.

-Nicolas

mercredi 7 janvier 2009

A Light in the Shadow

A Light in the Shadow

mardi 29 janvier 2008

Euh...

Dotclear c'est le royaume du spam... J'ai désactivé les commentaires le temps de régler le problème.

lundi 21 janvier 2008

Mission accompli

Et voilà. Le déménagement est complété. C'était long, non pas parce que c'était compliqué mais plutôt parce que j'ai été paresseu. Il reste encore des choses à faire mais au moins le gros du travail est accompli.

dimanche 9 décembre 2007

Bonjour

Après 8 mois d'inactivité sur ce blog, je crois qu'il est temps de dépoussiérer un peu.  J'ai une bonne et une mauvaise nouvelle.

La bonne c'est que j'ai changé d'emploi et je suis maintenant développeur flash à temps plein pour Tribal Nova.

La mauvaise c'est que j'utilisais un des serveurs de mon ancien emploi pour faire rouler mon blog maison qui est écrit en Java.  Je l'utilise encore clandestinement mais ça ne sera plus le cas pour longtemps.  Les hébergeurs Java sont assez couteux et je n'ai pas envie de payer pour un simple blog. J'ai pris un hébergement PHP bon marché pour le moment et on verra ce que ça donne.  J'ai installé un dotclear et je dois faire la migration du blog.  Il risque d'y avoir des billet qui s'affiche mal ou des liens brisés.  Merci de me faire signe si vous voyez un problème.

Ceci étant dit, on se revoit prochainement sur un nouveau blog dotcleareu! Moi j'ai du pain sur la planche!

jeudi 5 avril 2007

De retour!

Voili voilu, LiguoBlog est de retour!

mercredi 28 février 2007

FlexLib

Voici un projet prometteur.  Il s'agit d'un ensemble de composants Flex 2 open source.

FlexLib

mercredi 24 janvier 2007

Flex on Labs

Adobe vient de rajouter deux projets sur labs.

Flex Ant Tasks
Ensemble de trois tâches ant qui permettent de compiler et déployer les applicationw Flex. (mxmlc, compc et html-wrapper)

Flex Compiler Shell
Un outil en ligne de commande qui permet de réutiliser la même JVM pour le compilateur.  Ce n'est pas très utile pour ceux qui utilisent Flex Builder mais ceux qui compilent en ligne de commande auront un gain de performance significatif.

Petit essai

J'ai toujours détesté la pub.  Et je m'étais dis qu'il n'y en aurait jamais sur ce site mis à part les 2 liens pour java et netbeans en bas du menu.

Cependant après discussion avec un ami,  j'ai décidé de mettre à l'essai pour un mois ou deux les google adSense et la "google search box" afin de voir si c'est vraiment rentable ou non.  Si après un ou deux mois ce n'est pas rentable à mon goût,  je vais me faire un plaisir de les enlever!

J'ai essayé que ça ne soit pas trop encombrant.  J'aurais pu le mettre en haut de page pour augmenter mes chances de réussite,  mais disons que ça ne me ferais mal au coeur ! ;)  

Donc désolé cher lecteurs pour cet ajout qui n'est pas vraiment nécessaire mais qui vaut la peine d'être essayé.

lundi 8 janvier 2007

Flex 2.0.1

Vous avez surement appris dernièrement qu'une mise à jour est disponible pour Flex 2.

Comme à chaque mise à jour, j'ai eu des problèmes de compilation :P

Cette fois, il s'agit de la propriété UIComponent.layoutManager qui n'existe plus...  Elle a été changé pour :

UIComponentGlobals.mx_internal::layoutManager

Voilà, si jamais c'est utile à quelqu'un :)

mardi 2 janvier 2007

Just a little more time