Un ciel radieux – Jirô Taniguchi

Un ciel radieux - Jirô Taniguchi

Un ciel radieux - Jirô Taniguchi

C’est toujours avec une certaine fébrilité que j’ouvre un album de Taniguchi. Cet auteur de manga est réputé pour mettre en place des scénarii complexes. Souvent, le héros se retrouve d’une manière ou une autre projeté dans un monde ou dans une perception qui n’est pas la sienne. Il se voit donc contraint de modifier son point de vue face au monde, cette situation fantastique servant de pretexte à une prise de recul philosophique.

C’est le cas dans « Un ciel radieux » : à la suite d’un accident de la circulation, un homme de 40 ans va se retrouver dans le corps du jeune homme de 17 ans qu’il a percuté avec son camion. Que devient le corps de l’homme de 40 ans, comment la conscience de cet homme va-t-elle pouvoir vivre dans le corps – et dans la vie – d’un adolescent ?

Cette situation va permettre au héros de repenser sa vie à travers un autre regard, en devenant spectateur extérieur il va chercher à devenir ensuite un meilleur acteur.

Du côté de l’ambiance graphique, on retrouve une fois de plus cette touche « Taniguchi » qui vous donne le sentiment de regarder un film en seize neuvième. De grands plans larges, des séquences d’actions très rythmées, des portraits pleine page… L’auteur joue avec les cases tel un réalisateur avec sa caméra. Taniguchi a une manière bien à lui d’organiser ses planches, il nous plonge dans un univers graphique, et cela donne encore plus de puissance à son scénario profond.

Vous l’aurez compris, j’ai beaucoup aimé ce livre, je le conseille à tout ceux qui voudraient découvrir un auteur de Manga de qualité, aussi bien au niveau du dessin que de l’histoire.

Les sites les plus inutiles du Web (et donc les meilleurs)

Internet est un endroit merveilleux, comme je le disais dans le billet sur les DomainJokes. Ça m’a donné l’idée de faire un autre billet sur une autre facette du Net : les sites qui ne servent à rien, et qui sont souvent de véritables perles.

Voici donc une liste de sites qui a priori n’ont aucun intérêt et qui pourtant sont tout à fait plaisant à visiter (comme toujours, vos trouvailles sont les bienvenues en commentaire)

  • http://www.unnecessaryknowledge.com/

    Un site qui vous apprend tout plein de trucs dont tout le monde se fout, il est possible de voter pour vos knowledge préférés et de soumettre vos propres informations inutiles. Un bon exemple de ce que l’on y trouve :

    All of the clocks in the movie “Pulp Fiction” are stuck on 4:20.”

  • http://www.sensibleunits.com/

    Un site qui permet de convertir un poids en une mesure complètement loufoque. Par exemple, je sais maintenant que je pèse 15 chats domestiques, ou encore 4,2 fours à micro-ondes …

  • http://www.pointlesssites.com/

    La palme revient certainement à ce site, véritable annuaire de sites inutiles. Bon cela dit on y trouve vraiment beaucoup de sites pourris et pour le coup pas vraiment drôle ou pertinent, il y a donc un travail de tri non négligeable pour trouver les perles.

  • http://failbook.com/

    A mi-chemin entre la parodie et le site inutile, Failbook ne propose rien d’autre que d’afficher une citation plus ou moins aléatoire sur le thème de l’échec : FAIL :-)

  • http://www.useless.com/

    Il suffit de citer la baseline du site pour comprendre :

    The least reliable source of news and information anywhere!

    Bref, un flux RSS indispensable en ces temps de crise !

  • http://www.foundphotos.net

    Un site qui propose une gallerie de photos privées devenues publiques par la force d’un peer-to-peer peu attentif :

    The FoundPhotos Archives consist of my filtered view from thousands of images downloaded via peer to peer filesharing networks, updated semi-regularly.

Release de Coat 0.334

Ça faisait quelques semaines que cette version trainait dans mes cartons, je suppose qu’inconsciemment j’attendai une vraie raison de publier une nouvelle version (comprendre : une belle ligne dans le Changelog).

Rached me l’a fournie en fin de journée au boulot : il a mis le doigt sur une brêche dans les perfs de Coat lorsque l’on utilise la coercition (coerce dans Coat). La chute de perfs était due à une utilisation de Carp::confess, catchée par un bloc eval, ce qui est très mal, car à chaque fois que Perl utilise confess, il va chercher toutes les infos de la pile d’appel, ce qui est couteux.

Le mécanisme de coercition de Coat utilise désormais une méthode silencieuse qui retourne un booléen au lieu de faire un confess, on évite ainsi de ruiner les performances.

Outre ce correctif important, la version 0.334 apporte le support de BUILDARGS qui vous permet de construire vos arguments lors de l’instanciation d’objets.

Je viens d’uploader le package sur CPAN, donc d’ici quelques heures ça devrait être dispo ici.

EDIT : 25 Nov. 2008, 10:07

Après quelques retours sur ce billet je m’aperçois que je parle trop vite et que certains ont eu la curiosité éveillée, je m’empresse de préciser donc :

Qu’est-ce que la coercition

La coercition est un mécanisme qui permet de transformer à la volée une valeur d’un champ dans un format particulier. La coercition est utilisée pour modifier une valeur qui ne valide pas le type d’un attribut mais qui valide un type défini dans une coercition.

Un exemple simple : j’ai une classe qui possède un attribut “mysql_date” qui est valdie le format : YYYY-MM-DD. Je peux définir une coercition sur cet attribut pour toute valeur qui validerait le type ‘Timestamp’ par exemple.

Ainsi je pourrai faire

$mon_objet->mysql_date( time() );

La coercition entrera donc en jeu et convertira l’entier retourné par time() en une date formatée selon la règle définie par l’utilisateur.

Quel était le problème avec confess/eval ? Est-ce mal d’utiliser confess ?

La chute de performance n’était pas due directement à confess, mais plutôt à l’utilisation que le mécanisme de coercition en faisait. Lorsqu’une valeur ne validait pas le type premier d’un attribut et qu’une coercition était définie, Coat bouclait sur toutes les coercitions définies afin de voir si la valeur validait le type source de la coercition. Or cette validation était faite avec le mécanisme standard de Coat qui déclenche une exception avec confess si la valeur n’est pas valide. Coat utilisait donc un bloc de code dans eval pour savoir si oui ou non la valeur est acceptée.
C’est ici que le problème réside : on ne veut pas d’exception, on veut une réponse booléene, inutile donc de faire appel à confess (et donc de lire la pile d’appel), il nous faut une méthode de validation silencieuse, qui retourne 1 ou 0 selon la validité du champ.

On peut donc résumer en disant que confess ne pose aucun problème tant qu’il est utilisé uniquement pour interrompre l’exécution du programme, et surtout pas pour être catché afin d’avoir une réponse à une question booléene.

Pour les gens intéressés, le diff est dispo ici, on constate également que la construction du message en cas d’exception était également couteuse, puisqu’elle fait appel a un bloc de code (les messages d’erreur de coercition sont des blocs de code, afin de pouvoir expander $_).

Qu’est-ce que BUILDARGS

Cette fonctionnalité vous permet de définir une méthode BUILDARGS dans votre classe. Lorsqu’un objet de cette classe est instancié, la méthode est appelée avec les arguments donnés à l’instanciation. Elle peut à loisir modifier les arguments et la valeur qu’elle retourne sera la structure de données finale reçue par l’instanciation.

On peut dire qu’il s’agit un pre-processing des arguments d’instanciation. Combiné avec une méthode BUILD ça peut être très combo-magique :-)

Voilà, j’éspère que ces précisions sont claires (je n’en suis pas sûr: c’est le matin et je n’ai pas bu mon café). Les commentaires sont là si vous avez des questions.

Nouvelle venue dans la famille

Je me l’étais promis depuis longtemps : un jour je m’offrirai une guitare Manouche. C’est chose faîte, à moi les riffs gitans de Django, les phrasés mexicains de Rodrigo y Gabriella et les mélodies en La mineur de Vinnie Moore !

C’est Jérôme qui va être fier de cet achat !

Petite collection de DomainJokes

Internet c’est quelquechose de merveilleux, c’est vrai quoi, c’est génial Internet. Ça permet tout plein de trucs super intelligent qui montrent combien notre société elle est pleine de progrès…
Haem.

Heu, ouais, je sais Internet is for pr0n mais quand même, y a des trucs bien drôle dans la culture du Net, et notamment, ce que je m’amuse à tagguer “DomainJoke”.

Ce sont des domaines achetés pour un unique but : y héberger une blague, ni plus ni moins.

Je vais essayer de tenir à jour une liste de tous les DomainJokes que je peux répertorier.
Voici donc, dans l’ordre où j’ai pris conscience de leur existence :

N’hésitez pas à soumettre vos trouvailles en commentaire pour enrichir cette liste !

Quelques nouvelles neuves du monde

Non, je ne suis pas mort, oz s’en est rendu compte assez vite d’ailleurs.

Je vais essayer de faire un billet pour renouer avec le blôgueurre qui est en moi et en profiter pour vous tenir informé de ce qui se passe autour de mes petits projets.

  • Backup Manager a eu le droit a quelques heures d’attention récemment, et une dizaine de bugs sont fermés dans le trunk SVN (penser à passer à Bazaar un jour, Rached si tu m’entends :). Une nouvelle release est donc à prévoir (qui a dit “éspérer” là au fond ?) pour bientôt.
  • Du côté de Coat, Sebastien Deseille est en train de préparer une présentation sur Coat pour les prochaines journées Perl francophones, un grand merci à lui pour avoir choisi Coat (visiblement, il travaille sur l’adaptation de la série sur Conan publiée sur ce blog).
  • Enfin, pour ce qui concerne Coat::Persistent (que je pense sérieusement renommer, les propositions sont les bienvenues) je prépare une prochaine version avec quelques nettoyages de fond, et je l’éspère plus de compatibilité avec ActiveRecord (et surtout, une meilleure documentation).

Sinon, je viens d’installer le plugin Twitter dans la sidebar du blog, c’est assez rigolo, et comme je piaille pas mal depuis que j’ai mon petit Twitter::Companion avec moi (peut-être une release un jour de beau temps), bah c’est pas plus mal de tout centraliser ici pour les gens qui veulent suivre un peu mieux mon inactivité.

Au prochain billet, mssieurs-dames !

Get Adobe Flash playerPlugin by wpburn.com wordpress themes