Archive

Archives pour 11/2007

Amazon’s Mechanical Turks : Connectez vous à un négrier via WSDL

30/11/2007 un commentaire

Aujourd’hui, j’ai appris l’existence d’un web-service fourni par Amazon qui m’a fait gerber.

Ca s’appelle « Amazon.com: Mechanical Turk », et le principe est simple: vous avez des tâches ne nécessitant pas de qualification mais étant difficilement automatisable à effectuer. Par exemple, sur un grand nombre d’images photographiques, vous devez pour une raison quelconque déterminer lesquelles contiennent un être humain et lesquelles n’en contiennent pas.

S’il fallait écrire un logiciel pour le faire, il vous faudrait une armée d’ingénieurs en recherche et développement, et le résultat final serait dépendant en grande partie de la qualité des photos, et le nombre d’erreurs serait forcément très élevé. Bref, ça ne serait pas rentable de le faire automatiser. À l’inverse, s’il fallait payer de la main d’œuvre pour le faire, la qualité finale du service serait bien plus élevée, mais le cout resterait élevé.

C’est là que MTurk (c’est son petit nom) intervient. Il s’agit d’un service web vous permettant de créer des HITs (Humain Intelligence Tasks), d’y associer un prix (qui se veut dérisoire), et de les transmettre à des Workers – comprendre, à une armée d’esclave employés par Amazon dans des pays sous-développés à un salaire inhumain. Ces Workers effectueront votre sale boulot dans les temps que vous aurez déterminés, vous payerez la somme que vous avez déterminé en fonction du prix par HITs, Amazon prélèvera une commission dessus, et vous recevrez vos résultats sous forme de fichier XML dans les délais choisis par vous.

Merveilleux. À cela s’ajoute des outils de gestion des ressources humaines : un Worker ne vous satisfait pas? Bloquez le. Il ne travaillera plus jamais pour vous. Un autre fait du bon boulot ? Donnez lui un bonus, un dollar ou quelques miettes de pain, après tout, il faut rester humain, n’est-ce pas? Allez, salut.

Sources: Amazon.com, Mturk.com.

Categories: Conception Tags:

Résolvez un CAPTCHA et j’enlève le haut !

02/11/2007 Aucun commentaire
Cassez un captcha, et j'enlève le haut!

Vous ne rêvez pas: il s’agit bien d’une demoiselle peu vêtue (sous les pixels) aux côtés d’un CAPTCHA (qui n’a pas été censuré par l’opinion publique, lui). Une nouvelle dimension s’ouvre au social engineering.

Sous le nom de code TROJ_CAPTCHAR.A circule un petit « virus » qui propose à ses utilisateurs un striptease en échange de la résolution d’un CAPTCHA. Le but de la manœuvre n’est autre que de contourner ces derniers afin d’apposer le spam même en zone protégée.

On ne peut que souligner l’ingéniosité et l’innovation dont font preuve les spammeurs dans leurs ouvrages dédiés à la prose du Viagra. Allez, salut.

Sources: TrendLabs, Panda Software

Categories: Conception Tags:

Récuperation de l’ID d’une instance d’objet

02/11/2007 Aucun commentaire

Depuis PHP 5.2, il n’est plus possible de récupérer l’ID interne d’un objet via un cast en string sans avoir implémenté de méthode __toString sur ledit objet.

Ancienne méthode:

1
2
3
4
5
6
7
class foo {
    public function __construct() {
        echo "Hi, it's me!";
    }
}
$bar = new foo();
print $bar;

Auparavant, ce snippet renvoyait l’ID interne de l’objet. Désormais, et c’est plus propre comme ça, il lance une erreur fatale récuperable (« Catchable fatal error: Object of class foo could not be converted to string in filename on line n« ). Mais du coup, on perd un moyen simple et efficace de savoir à quelle instance d’un objet on a affaire, ce qui peut être très utile dans un processus de debug.

Fort heureusement, les gentils monsieurs de PHP ont implémenté une fonction qui permet de refaire la même chose: spl_object_hash() ! Hé ben voilà, le monde est sauvé. Allez, salut.

Categories: Code Tags: ,