Puyb Inside

samedi 30 décembre 2006

Résolution pour 2007

Résolution 1 :
Ne prendre aucune (bonne ou mauvaise) résolution pour 2007 !

Bon ça, c'est fait !!!

vendredi 29 décembre 2006

Problème de Freebox...

Grrrr...

En ce moment, je suis victime (j'aime bien ce mot, on a tout de suite l'impression que c'est très grave ;-) ) de nombreuses coupure sur la Freebox... Dernièrement alors que j'était confortablement lové dans mon lit pour regarder la fabuleuse série TV Doctor Who sur France 4, j'ai eu 6 coupures de plus de 5 secondes dont 3 avec le bel écran ci contre... Grr, pourquoi c'est toujours quand on a quelque chose d'intéressant à regarder...

Vous avez aussi constaté des coupures ou c'est juste chez moi ?

jeudi 28 décembre 2006

Top ten des top ten ;-)

Comme c'est à la mode en cette fin d'années, je vous ai préparé une petite collection des meilleurs top ten que j'ai pu trouvé... Bon d'accord, y'en a pas 10 dans mon classement et tous ne sont pas des top ten, mais c'est mon blog !!!

  • Les 10 plus belles images de notre système solaires, la photo de Saturne est vraiment exceptionnelle. Il faut aussi voir la photo de la station ISS et de la navette spatiale "éclipsant" le soleil ;-). Le post précédent sur le visage de Mars est bien sur inspiré de ce Top Ten...
  • Les 10 ordinateurs de film les plus extra-ordinaires. Je ne les connaissait pas tous, mais mes préféré sont bien sur Deep Thought, WOPR, the Gibson, HAL et Skynet. J'aurais ajouté à la liste KITT (K2000), les synthétiques d'Odyssée 5, ou la Tour d'Ivoire (je ne me souviens plus de son nom) de Mission Impossible, même si les deux premiers ne sont pas à proprement parlé des serveurs et que le second ne se distingue pas par sont intelligence ou ses caractéristiques techniques, mais uniquement par son environnement...
  • Les 20 meilleurs hacker dans les films. Encore une fois, je n'ai pas vu tous ces films...
  • 10 trucs que les ordinateurs ne font pas dans la vrai vie. Comme on le sait, les scénaristes ne sont pas des informaticiens, mais alors qu'ils savent s'entourer d'experts de la police ou de l'armée pour rendre les films plus crédibles, il faut croire que ce n'est pas le cas pour l'informatique... J'ai été très surpris d'apprendre que sur un ordinateur, le texte n'apparaît pas caractère par caractère avec un bruit de machine à écrire en Courrier New vert fluo sur fond noir... Perturbant !!!
  • Top apple rumors. iPod Vidéo grand écran, iPhone, et Newton... Je rajouterai volontiers le passage au processeur Intel, vu que certaines rumeurs de ce top ten n'en sont plus ("La build secrète de de MaCOSX", et en extrapolant un peu, "MacOSX pour les utilisateurs de PC" (les Mac sont des PC, et MacOSX tourne sur des PC non Apple en version crackée)).
Update 2006-12-29 : J'ai oublié (bien que l'ayant lu peu de temps avant de publier ce post) :
  • Le top ten de vaporware 2006. Tiens Vista n'y est plus ? Pourtant, même s'il est "sortie", je ne l'ai pas encore vu ! Je suis surpris que 3D Realms : 1 existe encore, continue de parler de la sortie de Duke Nukem Forever... Allez les mecs, Gordon Freeman, et plein de ses copain vous ont fait la nique depuis 1997 ! Sinon, on retrouve le clavier Optimus et l'iPod Killer (même si ce n'est pas réellement un produit, mais plutôt un objectif que se sont fixé de nombreux constructeurs, le saint graal des lecteurs MP3 ?)... Par contre, c'est peut être mon coté chauvin qui parle, mais je n'aurais pas mis l'A380 dans le lot, pour moi, ce n'est pas un vaporeware car : 1 ce n'est pas un software, 2 ce n'est pas un produit fantome, on l'a vu (du moins en France) faire ses voles d'essais sur toutes les TV... M'enfin, le classement des vaporeware, pour moi, c'est incontournable.

Voilà, il y'en a sans doute beaucoup d'autre sur le net, mais ceux ci mon paru fun... Et vous, lesquels ont retenus votre attention ?

Tu es beau de profil

Vous connaissez sans doute le "visage" de Mars, qui a alimenté toutes les spéculations les plus folles de UFOlogues. Ce visage était même visible dans le générique de XFiles, il me semble...

Et bien, les scientifiques de l'ESA on pris la peine de faire une version 3D de ce visage et on par la même complètement cassé le mythe. Comme on pouvait s'en douter, ce visage n'a rien d'artificiel, et surtout ne ressemble absolument pas à un visage...

Le plus marrant, c'est de voir que les scientifiques prennent le temps d'étudier et de casser ce genres de mythes... A croire qu'il n'y a rien de plus intéressant à observer la haut ;-)...

dimanche 24 décembre 2006

Noyeux Joël !

Bon, pour moi, c'est l'heure d'aller faire la fête (pour la deuxième fois... Vive les familles recomposées ;-) )...

Je vous souhaite à tous un joyeux Noël et que le gros barbue vous amène tout ce que vous voulez !

vendredi 15 décembre 2006

Suivi de connexion en espace utilisateur et en python...

Mais qu'est ce que ça peut bien vouloir dire ce titre ?
En gros, le connexion tracking, c'est ce qui permet à un pare-feu à états de savoir si un paquet est lié à une connexion autorisée ou non, et donc de prendre les mesures appropriées (accepter ou rejeter le paquet). Pour une connexion TCP, il est simple de suivre le trafic. Mais dans le cas de protocoles utilisant plusieurs connexion ou des flux UDP, c'est déjà plus dur...

Par exemple, le protocole RTSP utilisé pour le Freebox Multipostes (recevoir les flux TV sur les PC) utilise un flux de contrôle en TCP du PC vers la Freebox, un flux UDP contenant la vidéo qui va de la Freebox vers le PC et un flux UDP du PC vers la Freebox pour signaler que le PC est toujours vivant. C'est compliqué, hein ;-)

Le problème quand on a un routeur NAT, c'est que les flux "sortant" (du PC vers la Freebox) passent sans problème, mais les flux "entrant" ne vont nulle part (car le routeur ne sait pas vers quelle machine il doit les renvoyer. Il faut donc avoir un routeur intelligent, qui soit capable de faire la relation entre le flux UDP qui arrive et le flux TCP sortant pour renvoyer les paquets UDP au PC qui a initié la connexion TCP.

Et c'est pas dur, car dans le flux de données TCP, il se trouve que par hasard, le port UDP est en question est échangé entre le PC et la Freebox. Il suffit de scruter le flux TCP et de noter le port UDP quand il passe sur la ligne. A partir de là, on peut simplement ajouter une règle au pare-feu pour rediriger le flux vers le bon PC.

Sous linux, il existe un module ip_conntrack_rtsp que j'avais déjà utiliser sur un routeur sous openwrt... Mais la je veux mettre ça en place sur un 'vrai' PC. Et c'est chiant... Il faut patcher le Kernel, le recompiler... Bref bien lourd...

Je me suis donc mit en tête que je pouvais le faire très rapidement en python, et en espace utilisateur (c'est a dire sans toucher au noyau...).

Il existe un module python qui permet d'analyser et modifier des paquets piégés par iptables. Il s'appel nfqueue. Il suffit d'utiliser la cible QUEUE dans les règles iptables pour que les paquets passent tous par un script python avant de continuer leur chemin...

A partir de la, le script est très simple. Il commence par installer sa règle d'interception de paquets en exécutant iptables. Puis il commence a traiter les paquets un à un.
Pour chaque paquet, on commence par vérifier s'il est bien en rapport avec un flux RTSP, puis selon le cas, s'il ne s'agit pas d'un paquet de fermeture de connexion TCP, on cherche le port UDP à ouvrir, et si on le trouve, on l'ouvre. S'il s'agit d'un paquet de fermeture de connexion, on ferme le port UDP en rapport avec cette connexion (s'il existe).
Enfin, si l'on tente de fermer le programme, j'en profite pour fermer tous les ports qui restait ouvert et pour supprimer la règle d'interception des paquets. C'est tout.

Voila, j'ai donc pondu ce script en 1 heure et ça marche... C'est plus simple que de patcher sont kernel...

Le script (download).

En tout cas, il y avait longtemps que je voulait essayé d'utiliser ce module python... Il y a encore plein de choses marrante que l'on pourrait faire avec...

lundi 11 décembre 2006

Une nouvelle pensionnaire

Voilà, j'accueille chez moi depuis hier soir, une jolie petite chatte recueillie au domicile de mes parents... Elle est mignonne comme tout et toujours en attente de caresses...
Je l'ai batisé iCat ;-) C'est un chat modèle Felix, sans doute fabriqué courant 2005 ;-)


jeudi 7 décembre 2006

Renaissance

Je viens de voir le film Renaissance. Ce film, à l'instar de Sin City, utilise un traitement graphique style bande dessiné. Mais, contrairement à Sin City, il possède un vrai scénario et une vrai fin ;-).

Dans un Paris futuriste, l'inspecteur Caras mène une enquête sur la disparition d'une jeune généticienne. Mais il va découvrir que cet enlèvement cache en fait un sombre lutte pour ... (non mais, je vais pas vous raconter la fin non plus ;-) ). L'intrigue est bien ficelée et fait monter la pression progressivement.

J'adore le traitement graphique utilisé dans ce film, mais, comme c'est le deuxième film que je connaisse qui utilise ce genre d'effets spéciaux, j'espère juste que les réalisateurs ne vont pas, par effet de mode, nous en mettre partout. Je ne veux pas assister à un nouvel effet Matrix. Souvenez vous, après la sortie de ce film, beaucoup de films ont essayés d'utiliser ses effets les plus impressionnants (ralenti, ou encore les mouvements de caméra sur des scènes figées). Je pense notamment à des films comme "Opération espadon" ou encore "Le pacte des loups" (j'ai vraiment touvé que pour ce film, de nombreux effets spéciaux étaient plus que superflus).

Guide de surVI

Je fais ce billet pour un copain qui veut se mettre à Vim. Pour ceux qui vivent dans une grotte depuis que l'informatique existe, Vim est une version améliorée de Vi un éditeur de texte très puissant qui existe depuis plus de 30 ans ! Il est disponible sur quasiment toutes les plates-formes...

Ce billet regroupe ce que je connais de Vim (sans doute peu de choses par rapport à toutes ses capacités).

Lire la suite

mardi 5 décembre 2006

Casino Royal

Je suis allé voir Casino Royal au cinéma...

J'ai été agréablement surpris par ce nouvel opus de la série des 007. Il tranche brutalement avec les précédents épisodes. On retrouve un nouveau James Bond, fraîchement promu double zéro, et qui semble avoir passé plus de temps aux cotés de Vinz Diesel que Q. Il cogne, il court, il saute, il défonce des murs... Dès le début, le ton est donné.

Au niveau des gadgets, déjà j'ai eu une grosse déception quand JB se met à conduire une banale Ford. C'est la décadence. Il se retrouve quand même au volant d'une Aston Martin vers la fin, mais l'Aston Martin a une durée de vie très courte... Vous me ferez pensez à ne jamais acheter d'Aston Martin, on dirait qu'elles ne tiennent pas la route. L'autre grand moment technologique du film est une séance de télé-médecine très crédible (avec des analyse de sang et un défibrillateur commandé à distance).

Seul ombre au tableau, le film traîne un peu sur la fin. Il faut dire qu'après les premières scènes d'action, les longs plans sur les paysages du lac de Côme ou sur Venise semblent un peu trop calme. Mais globalement, c'est un bon James Bond qui renouvelle vraiment le genre.

lundi 4 décembre 2006

Firebug 1.0 béta

La béta publique vient de commencer.

C'est du lourd...
  • L'explorateur de DOM est bien plus pratique a utiliser avec une vue de l'arborescence en permanence pendant que l'ont regarde les autres onglets (CSS, layout et DOM). Les marges et paddings sont maintenant dessiné clairement à l'écran...
  • La fonction de profiling permet de savoir quel est le code javascript qui vous fait perdre du temps.
  • L'onglet Net donne les timings de chargement de la page...
  • etc...

Et il parait qu'il y a un Firebug lite pour utiliser dans les autres navigateurs (IE et Safari). Il suffit d'inclure le Firebug.js dans la page pour avoir une console et un explorateur de DOM... Je n'ai pas encore eu l'occasion de le tester, mais ça a l'air prometteur.

En tout cas, si Firebug devient payant, comme son auteur l'a laissé entendre, je serai prêt a payer les 15 ou 25 dollars qu'il demande. J'espère juste qu'il restera en GPL ou du moins en code ouvert. Bien sur en GPL, il ne serait pas obligatoire de payer pour obtenir Firebug. En effet, même si le téléchargement sur le site getfirebug pourrait être payant comme la licence GPL l'autorise, elle autorise aussi que l'on le redistribue ou récupère gratuitement ailleurs. Mais le projet de l'auteur est d'embaucher un codeur a temps complet pour faire évoluer Firebug, dans ce cas, le sponsoring s'impose.

Get Firebug

samedi 2 décembre 2006

En-tête, pied de page, bug Safari et déficiences d'IE

Note : J'ai écris cette note fin août. J'avais oublié de la terminer et de la publier... Je ne sais pas si IE7 supporte ou non les fonctions utilisées dans ce billet. Je viens de trouver un petit bug CSS dans Safari.

Je voulais diviser un calques en 3 parties horizontales. Les parties du haut et du bas ont une hauteur fixe et la hauteur de la partie centrale s'adapte toute seul en fonction de la hauteur du calque conteneur. J'ai mis longtemps avant de trouver une méthode efficace pour réaliser ce type de design. La technique que j'ai décidé d'utiliser est de positionner les éléments à l'aide leur propriétés top et bottom.
Nous avons donc :
  • Un calque "conteneur" positionné en relatif
  • Un calque "entete" positionné en absolue avec son top à 0 et une hauteur fixe
  • Un calque "central" positionné en absolue avec son top égal à la hauteur de l'en-tête et son bottom égal à la hauteur du pied de page
  • Un calque "pied" lui aussi en absolue avec son bottom à 0 et une hauteur fixe
Ce qui nous donne la page suivante :
<html>
  <head>
    <link rel="stylesheet" href="style.css" type="text/css" />
  </head>
  <body>
    <div id="conteneur">
      <div id="entete">En-tête de la page</div>
      <div id="central">Contenue de la page</div>
      <div id="pied">Pied de page</div>
    </div>
  </body>
</html>
Pour l'instant, tout va bien ;-)

Cette technique utilise le fait qu'en CSS2 la hauteur d'un élément peut être déduite des propriétés top et bottom (idem pour la largeur et left/right).
Mais il y a un problème, comme d'habitude, avec Internet Explorer. Internet Explorer ne respecte pas cette règle. Quand un élément à son top et son bottom spécifié, IE ne prend en compte que le top et considère qu'il n'y a pas de hauteur spécifié (encore une fois, ces pareil avec left et right). Pour contourner ce problème, j'utilise deux astuces propres à Internet Explorer. La première, est un bug d'IE qui fait qu'il ne prend pas en compte les underscores (_) devant les propriétés CSS. Par exemple, la propriété _height n'existe pas en CSS. les navigateurs standards ne la prennent pas en compte, mais IE considère qu'il a alors affaire à la propriété height. Bizarre ! Mais pour une fois qu'un bug d'IE nous rend service ! L'autre astuce est le fait qu'IE accepte que les valeurs des propriétés CSS puisse être déduite d'une expression javascript. Cela se fait avec la balise expression().
Donc, il me suffit de définir la hauteur de mon calque central égal a la hauteur du calque conteneur diminuer des hauteurs de l'en-tête et du pied de page. Bien sur ce calcul ne doit être fait que par IE ! Cela donne : _height: expression((this.parentNode.offsetHeight-100)+'px');

Voilà pour ma méthode. Elle est sans doute améliorable, mais pour l'instant elle a pour avantage de pouvoir être appliquée sans même réfléchir !

Nous avons donc le CSS :
#conteneur {
        position: relative;
        width: 100%;
        height: 100%;
}       
#entete {
        position: absolute;
        width: 100%;
        height: 50px;
        left: 0;
        top: 0; 
        background: red;
}       
#central {
        position: absolute;
        width: 100%;
        left: 0;
        top: 50px;
        bottom: 50px;
        _height: expression((this.parentNode.offsetHeight - 50 - 50) + 'px'); /* hack IE */
        background: blue;
}       
#pied { 
        position: absolute;
        width: 100%;
        height: 50px;
        bottom: 0;
        background: green;
}       
Ce qui m'amène à mon bug sous Safari. Reprenons l'exemple précèdent. Si maintenant, je souhaite placer dans mon calque central un calque qui occupe la moitié l'espace disponible en hauteur (donc avec height: 50%). Mais sur la version actuelle de Safari, à savoir la 2.0.4 (419.3), un bug fait que Safari ne prend pas en compte les hauteurs indiqué en relatif des éléments contenu dans des calques dont la hauteur est déduite d'un placement avec le top et le bottom... Un test simple :
<html>
  <head>
    <style>
      #div1 {
        position: absolute;
        width: 100%;
        left: 0;
        top: 10px;
        bottom: 10px;
        _height: expression((this.parentNode.offsetHeight -10 - 10) + 'px'); /* hack IE */
        background: blue;
      }
       #div2 {
        height: 50%;
        background: red;
      }
   </style>
  </head>
  <body>
    <div id="div1">
      <div id="div2">Coucou</div>
    </div>
  </body>
</html>

Safari.... Buggé

Firefox ou tout autre navigateur nom buggé...
La seul solution que j'ai trouvé pour corrigé ce bug est d'utiliser le javascript pour corriger la taille des éléments qui peuvent poser problème dans Safari. Ce script doit être appelé a chaque fois qu'un éléments positionné avec un top/bottom est amené à changer de taille. Particulièrement énervant et peu efficace.

En téléchargement la dernière béta de WebKit, le problème est réglé, mais Apple n'a pas encore daigné mettre à jour la version courante de Safari...

1 américain sur 32 est en prison

Ou en liberté surveillé d'après Uneasy Silence (en même temps, est-ce vraiment une source fiable ?)...

Je trouve que ce chiffre est vraiment surréaliste !

Par curiosité, j'ai essayé de calculé le même chiffre pour la France... J'ai trouvé qu'il y avait 59 215 personnes en prison ou en liberté surveillé en France au 1er janvier 2006... Ce qui fait moins de 1 pour 1013... Ca fait quand même 30 fois moins !

Ils n'auraient pas un petit problème les ricains ?