vendredi 4 décembre 2009

Destination week-end: Pompei dans son fauteuil avec google steet view


Google vient d'ajouter le site des ruines de Pompéi dans steet view.


Le lien est ici , et en plus il fait soleil.

Téléchargement :comment économiser plusieurs heures de sa vie


Capturé sur reddit.com : une astuce qui permet de court-circuiter le délais d'attente de 45 secondes des comptes invités de Megaupload. Et le commentaire qui suit:

Yay! Now we can d/l porn 45 seconds quicker! You just saved me hours of my life.


Cela rend humble....
(clic pour élargir l'image)

mercredi 2 décembre 2009

Toi aussi offres le cadeau de noel idéal: Le kebab en peluche



Merci jp pour ce lien inestimable ! http://www.journaldugeek.com/2009/11/30/le-kebab-en-peluche/

Marque suprême de l'élégance, signe indéniable de reconnaissance des épicuriens et des gastronomes. Avec cette peluche, pas de risque de clavier gras ou de tache sur la cravate. Il peut servir de coussin consolateur (un doudou) et apportera plus de réconfort qu'une cohorte de petites amies virtuelles sur facebook.

Les classes cachées en Ruby

Je terminais un post consacré aux objets et aux classes Ruby par cette question:

Il reste à résoudre le mystère suivant: Où sont stockés les méthodes singletons ?
La réponse sera donné sur un post consacré aux Eigenclasses en ruby.


Une méthode singleton est une méthode qui ne s'applique que sur un objet et non pas à toutes les instances d'une classe.
Il ne faut pas confondre ce système avec le motif (template) singleton de la bande des quatres (GOF). Dans ce cas de design patterns, il s'agit de s'assurer qu'on n'aura toujours qu'une instance de la classe. C'est très utilisé pour ouvrir pour toute une application qu'un seul fichier de log ,ou qu'une connexion à une base de données. Il existe pour cela un gemme Ruby :acts_as_singleton.

Ici je parle des méthodes singleton d'un objet. Il y deux moyens pour créer une méthode singleton:

class Ma_class
def ma_methode
@x1= 1
end;
end;


(clic pour agrandir)

Comment stocker ces deux méthodes ? .
Pas au niveau de l'objet, il ne contient qu'un tableau associatif qui référence des variables d'instances.
Pas au niveau de la classe, si c'était le cas les méthodes ne seraient pas singleton à une instance.

MRI va créer en coulisse une pseudo--classe appelée 'Eigenclass' qui contiendra les méthode singleton d'une instance.
Cela modifie le parcours de recherche d'une méthode (right and up) . Le chemin sera effectuée par l'arborescence des Eigenclasses.

Comment visualiser une Eigenclass ?

En ajoutant cette portion de code :



Ainsi l'appel à la méthode objet1.eigenclass donnera:

objet1.eigenclass.instance_methods(false)
=> ["ma_methode", "singleton1","singleton2"]



Je suis allé au bout du bout du mécanisme de gestion des objets et des classes en Ruby, on peut maintenant continuer sur la meta-programmation.
Ces posts me sont inspirés par la lecture du livre : Metaprogramming Ruby de Paolo Perotta.

mardi 1 décembre 2009

Découvre toi aussi les clés du bonheur grâce à twitter et aux diagrammes de Venn

Grâce à ce site exploitant les tweets , il est possible de réaliser des analyses croisées. Naïvement je pensais qu'une pizza et une bière suffisant à rendre une majorité de personne heureuse :Erreur !


Peut etre qu'une bonne machine avec un bon OS peut faire l'affaire ?
Erreur !


On remarquera que Linux contente plus de personnes que l'autre OS (on a peut être des joies plus simples).

Non les clés du bonheur sont : l'argent et l'amour ! Je suis bête , je n'y avait pas pensé avant !




Voir le post dans son contexte original :http://germanlinux.blogspot.com/2009/12/decouvre-toi-aussi-les-cles-du-bonheur.html

Combats de rue vs google fight

Il est possible de comparer la popularité de deux entrées dans google par le biais d'un google figth.

Voici quelques exemples :

Un classique : OM vs PSG



Ruby vs Python