blog.logout.fr Il est (vraiment) temps de faire une pause…

22Avr/081

Coup de vieux télévisé

Aujourd'hui, au cours d'une discussion nostalgique avec quelques potes sur les séries TV qui ont bercé notre enfance, je me suis rendu compte que oui, tout se trouve sur Internet. Même des génériques de séries TV des années 90.

Caraïbes Offshore

Raven

Le Magicien

Docteur ?
C'est grave de se sentir vieux à 21 ans ?

2Avr/081

The Legend of Zelda : The Movie

Pas mal de fausses infos plus ou moins grosses ont été diffusées sur le web hier, et l'une d'entre elles n'est pas passée inaperçue. Il s'agit d'une fausse bande annonce du film "The Legend of Zelda". Pour le 1er avril, IGN.com avait décidé de lancer ce trailer sur son site Internet, et d'annoncer la sortie du film pour le 1er avril 2009. Apparemment, de nombreux sites sont tombés dans le panneaux... et on espère pour eux, car un poisson d'avril à $120000, ça serait dommage que ça tombe à l'eau.

Finalement, je regrette presque que ça ne soit pas réel.

Remplis sous: Geeker, Vidéos 1 commentaire
26Mar/081

Apache en difficulté

Ça fait deux fois que je me fais avoir là dessus au boulot, alors je me suis dit que ça pourrait peut-être servir à quelqu'un de le savoir. Parfois, en chargeant une page du site PHP sur lequel on travaille, on se prend une page blanche dans la figure. Blanche dans le genre "pas de contenu à charger", pas d'erreur rien, aucun message.
Au bout d'un moment, on a quand même remarqué ceci dans les logs d'Apache :

[notice] Server built: Jan 9 2007 23:17:20
[notice] Parent: Created child process 2724
[notice] Child 2724: Child process is running
[notice] Child 2724: Acquired the start mutex.
[notice] Child 2724: Starting 250 worker threads.
[notice] Child 2724: Starting thread to listen on port 80.
[notice] Parent: child process exited with status 3221225477 -- Restarting.
[notice] Apache/2.2.4 (Win32) PHP/5.2.3 configured -- resuming normal operations

Donc en gros :

  • On demande la page à Apache
  • Quelque chose d'affreux se produit
  • Apache crash misérablement
  • Apache redémarre tout seul
Crash d'un hélicoptère Apache
Crash d'un hélicoptère Apache (pour ceux qui n'ont pas compris)

Ne cherchez pas sur Google, vous ne trouverez aucune explication intéressante. En fait ce problème vient presque à chaque fois d'une fonction récursive incorrecte. Si une fonction récursive s'emballe, se met à se rappeler elle-même indéfiniment et qu'en plus elle se charge de pas mal de calculs et/ou d'affichages, vous aurez à coup sûr cette erreur. La solution rapide et efficace, c'est de faire des echo 'debug'; return; dans le code, en partant du haut de la page et en descendant l'arbre d'inclusion petit à petit, jusqu'à trouver l'appel qui fait tout crasher. Le problème étant bien sûr que la fonction ne s'emballe pas forcément dans tous les cas ni sur toutes les pages... donc le débuggage peut s'avérer tordu.

Maintenant, vous saurez.
Testé et approuvé sur Apache 2.2.x, PHP 5.2.x, sous Windows XP (donc probablement tous les Windows) et Unix (Gentoo).

Remplis sous: Geeker 1 commentaire
20Mar/083

Steam powered ?

Steam banner

Récemment, j'ai eu l'occasion d'avoir une discussion avec quelques level-designers anglais. On parlait, on parlait, et sans trop savoir comment, on en est venu à parler du business model de Valve, et plus particulièrement de la plateforme Steam.

Aujourd'hui, quand je parle de Steam avec des gens, chacun est persuadé que pour Valve, la distribution de jeux en ligne c'est tout "tout bénef", car il n'y a plus de coûts de packaging, plus de coûts de production, de distribution, de transport, etc. Mais je dois avouer que je n'ai jamais vraiment été d'accord avec cette idée. Ce que les gens ont souvent tendance à oublier quand on parle de Steam, c'est que ce n'est pas gratuit à faire tourner. Loin de là.
Les gens n'arrivent pas à imaginer l'infrastructure qui doit se trouver derrière la plateforme. Je n'y arrive pas non plus, mais contrairement à eux, ce que je n'arrive pas à imaginer c'est à quel point cela doit être impressionnant, et non a quel point ils sont gagnants dans l'histoire. A chaque fois, j'ai tendance à prendre un exemple, pas forcément très rigoureux, mais assez parlant tout de même.

ServeurLes serveurs de Steam doivent servir du contenu numérique 24h/24, partout dans le monde, peu importe les fuseaux horaires et les jours fériés. Récemment, Steam a dépassé les 15 millions de comptes créés. Alors bon... information à prendre avec des pincettes certes, tout le monde n'utilise pas son compte, et la plupart doivent être des comptes fantômes. Mais quand bien même on ne garderait que 5 millions de ces comptes et on considèrerait que chacun de ces comptes dispose d'un seul jeu, disons Half-Life 2. Ca représente 5 millions de fois 850 Mo en assumant que tout le monde l'a téléchargé au moins une fois, et même si ce n'est pas le cas, beaucoup de gens téléchargent plusieurs fois.

Au total, ça représente plus de 4 milliards de mégaoctets servis, et je pense encore être très loin de la réalité. La plupart des utilisateurs de Steam que je connais possèdent au moins 5 ou 6 jeux. Pour ma part, je ne suis pas un grand acheteur Steam, et j'ai pourtant 20 Go de jeux téléchargés via la plateforme. Si on ramène tout ça en temps que moyenne, ça fait plus de 100 milliards de mégaoctets... Selon cette page, ils disposeraient d'environ 200 serveurs et serviraient environ 2 Go de données par seconde (ce qui est énorme pour moi).

Bande passante Steam

Evidemment, à côté de tout cela, il faut également payer la location (ou la construction?) des datacenters, les mecs qui surveillent tout ça, le hardware, la maintenance, etc.

Au final, je ne suis pas certain que cela revienne beaucoup moins cher que la distribution classique. Je ne suis même pas certain que cela revienne moins cher tout court, surtout au prix que se négocie la bande passante de nos jours étant donné que Google est en train d'engloutir la totalité de la bande passante mondiale. Avis aux connaisseurs.

10Mar/086

CAPTCHAs anti-humains

Ca fait des mois et mois que je rabache à tout ceux qui veulent l'entendre que les CAPTCHAs c'est bien, mais pas top. Qu'est-ce que sont les CAPTCHAs vont me dire certains ? CAPTCHA signifie Completely Automated Public Turing test to tell Computers and Humans Apart, en gros, ce sont les images de ce genre, utilisées pour repousser les robots sur Internet :

CAPTCHA
Et pourtant, depuis tout ce temps, personne ne semblait me prendre au sérieux quand je racontais ici et là que les robots détecteurs de CAPTCHAs c'était has-been, et qu'il était inutile de faire des CAPTCHAs de plus en plus compliqués et impossibles à résoudre même pour des humains. Heureusement, j'ai enfin trouvé les preuves de ce dont j'entend parler depuis des mois : à quoi bon programmer des robots complexes à reconnaissance visuelle lorsque l'on peut tout simplement payer des gens pour résoudre des CAPTCHAs à longueur de journée ?

Vous n'allez sûrement pas le croire, mais c'est bien réel. Il y a bien des gens qui sont prêts à résoudre ce genre de chose à longueur de journée pour vivre. J'en veux pour preuve cette offre d'emploi sur getafreelancer.com :

I will provide a piece of software that will display CAPTCHA's - you will provide the service of solving them for one 50 hour week. Post your price and internet connection type.

Mais bon, certaines personnes ne semblent toujours pas prêtes à accepter cette réalité. J'en veux pour preuve le site steampowered.com, que je fréquente assez souvent, et sur lequel les CAPTCHAs sont tellement compliqués que même les humains n'arrivent pas à utiliser la fonction rechercher du forum... Je vous laisse essayer par vous-même, histoire de rire un bon coup sur certains.

CAPTCHA CAPTCHA
CAPTCHA CAPTCHA
CAPTCHA CAPTCHA

H.F. G.L.