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.

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

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 ?

Apple invente la chanson a 6€ !!!

Je voulais acheter le morceau « Telegraph Road » de Dire Straits entendu hier dans l’émission de Zegut sur RTL2. Je me rend donc sur l’iTunes Store. Je cherche le morceau que je trouve en moins de 30 secondes…

Je trouve donc l’album « Love Over Gold ».

Damned, cette chanson ne peut pas être acheté seul… Uniquement en achetant l’album…

Et c’est là qu’est le problème. L’album comporte 5 chansons. Donc, au tarif de 99 centimes par chanson, l’album devrait coûter 4€95. Mais il coûte 9€99. Pour le coup, j’hésite quand même pas mal à l’acheter, j’ai un peu l’impression de passer pour un pigeon… On me refile 4 chansons à 99 centimes + une à 6€.

Vente forcée + coût prohibitif, iTunes baisse dans mon estime…

Monolingual

Monolingual est une application GPL pour MAcOSX qui permet d’économiser de la place en supprimant les langues inutiles des applications et les binaires pour d’autres architectures que la votre (exemple, PowerPC sur Intel).

Ce n’est pas que je manque de place sur mon Macbook Pro (il a quand même 160Go), mais 1Go est 1Go et je préfère autant que les trucs inutiles qui prennent plein de place soient à moi (DivX, MP3, etc) 😉

Update 2006-11-29 : Bon, voilà, ça a mis du temps, mais j’ai gagné 1,5Go en enlevant toutes les langues sauf le français et l’anglais. Et 975Mo pour supprimer tous les binaires PowerPC… Pas mal 😉

Update 2006-11-30 : Attention, Cet utilitaire n’est pas intelligent et supprime les binaires PowerPC des programme sui ne sont pas en Universal Binary. Résultat, les applications ne marchent plus… C’est le cas par exemple avec PgAdmin3 ou avec la suite Microsoft Office. Donc, avant d’utiliser ce programme, une sauvegarde s’impose.

Installation MacBook

Comme je viens d’installer mon MacBook, j’en ai profiter pour établir la liste de tous les logiciels indispensables que je met dessus. Je compte un peu sur cette liste pour gagner un peu de temps si je dois réinstaller ma machine. J’ai comme habitude d’essayer de privilégier les logiciels libre au solution propriétaire, mais pas au détriment du confort d’utilisation si les solutions libres sont peu abouties… Oui, c’est compliqué 😉 Donc voilà la liste non exhaustive :

  • Adium, le meilleur client libre de messagerie instantanée. Basé sur la librairie de Gaim pour la couche de transport, il est très bien intégré à MacOSX.
  • Thunderbird (je n’utilise pas Apple Mail, car en malgré sa super ergonomie, il à la fâcheuse de habitude de me perdre des messages), avec les extensions :
  • Firefox avec les extensions :
  • Quicksilver
  • Menumeters (CPUs et réseau)
  • SIMBL (pour ajouter des extensions a toutes les applications Cocoa)
  • Megazoomer (basé sur SIMBL, met n’importe quel fenêtre (cocoa) en full screen). Je l’utilise pour avoir un terminal full screen (276 colonnes par 75 lignes !!!).
  • Apple X11 pour MacOSX
  • Apple Developers Tools
  • Fink, pour avoir apt-get, et par la même:
  • Kismac (un sniffer wifi)
  • GimpShop (quand The Gimp se déguise en PhotoShop)
  • Le script qui active le suivi de focus de souris pour X11 (livré avec GimpShop)
  • OpenOffice.org
  • Disk Inventory X (permet de bien se représenter la répartition de l’espace occupé sur le disque dur (et donc de pouvoir supprimer plus facilement les application ou fichiers inutiles et encombrant (comme Garage Band et tous ses sons ou iDVD et tous ses theme (boom 4Go de libre !!!)))
  • Flip4Mac (Codec WMV pour Quicktime)
  • Perian (Codecs divers pour Quicktime (de DivX a Xvid en passant pas FLV 😉 ))
  • VLC, le couteau suisse de la diffusion vidéo
  • HexFiend, un bon éditeur héxa
  • Smultron, un bon éditeur de texte (même si je lui préfère de loin Vim)
  • XyleScope, un analyseur de CSS
  • pgAdmin3, pour accéder à mon élévage d’éléphants 😉
  • PHP5
  • MySQL
  • Postgresql (à partir des sources pour avoir le support multithread dans la LibPQ)
  • Psycopg2 (un connecteur postgresql pour python)
  • PhpMyAdmin (toujours utile)
  • PhpPgAdmin (idem, mais je lui préfère pgAdmin)
  • Script iSync pour le SE K800i
  • iTaf (réveil avec iTunes)
  • Growl
  • CyberDuck

Le retour de la NES


Terrible !

La Wii à l’air super, mais il faudrait peut être des écrans blindés…

Make: Waranty Voider


J’adore le nom de cet outil : Warranty Voider (Destructeur de garantie).

Via Make:.

De l’art d’etre correctement installé pour travailler

Voilà comment je me suis installé pour travailler…

Il n’y a pas à dire, on bosse bien quand on est bien installé…

De gauche à droite :

  • Freebox ADSL connecté à 24MBps (c’est cool d’être juste à 700m du DSLAM 😉 ). Je n’utilise dessus que les fonctions modem et VOIP. Mon serveur personnel me sert de routeur.
  • Au dessus, un WRT54g qui me sert de point d’accès et de switch
  • Un simple téléphone DECT Alcatel One Touch je sais plus quoi… Il a un petit problème d’autonomie. Même si les piles sont chargés, il s’obstine à considérer qu’elle ne le sont pas… C’est parfois très gênant.
  • Mon PC en dual screen. Un Athlon 64 3400 acheté chez Lidl. Très bon rapport qualité prix et surtout très très silencieux. Il tourne en dual boot sous Ubuntu et Windows (et oui, j’aime bien joué à quelques jeux vidéo de temps en temps
  • Le Mac Mini est mon ancien Mac, je compte l’offrir à mon grand père pour Noël. C’est simple G4 1,25GHz.
  • Au dessus, mon ecran de contrôle branché sur mon serveur personnel. Ce serveur étant bruyant, il trône dans la cuisine et est commandé à distance de façon totalement old school avec 10m de rallonge VGA et USB… C’est un Athlon 64 3000 qui tourne sous une Gentoo.
  • En suite, vient ma nouvelle machine principale. Un PowerBook Mac Book Pro 17″ Core2Duo 2,33Ghz en dual screen avec un Cinema Display 20″. C’est de la bombe !

Voilà, certain diront que c’est beaucoup, mais je ne pourrais pas m’en passer. Ce matériel m’assure un réel gain de productivité. Chaque machine à sont utilitée, et je crois avoir enfin atteint un configuration optimal. Je peux par exemple utiliser une machine pour coder et une machine pour tester dans des conditions acceptables ou encore bosser en regardant la télé. Le principale, c’est que je m’y retrouve.

Histoire de rendre tout ça encore un peu plus pratique, j’utilise parfois Synergy (ou plus exactement QuickSynergy) pour piloter le PC et le Mac avec le clavier et la souris du Mac.
Et vous, votre bureau est organisé comment ?