mercredi 26 mars 2008

Apache en difficulté

Posté par Nicolas (lien permanent)

Ç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).

mardi 25 mars 2008

Projet Portal, suite (mais pas fin, pas encore)

Posté par Nicolas (lien permanent)

Je vais rajouter des images à cet article dès que j'en aurai le temps.

Quelques nouvelles de mon projet Portal après ce long (mouais) weekend pascal. A vrai dire, les choses vont de mieux en mieux, en particulier depuis que Valve a (enfin) mis fin à la bêta du Source SDK (hier). Le mieux, c'est qu'ils en ont profité pour sortir tous les outils qu'il me manquait pour finir le mod. Même l'outil pour compiler les sous-titres ! Si c'est pas merveilleux tout ça.

Actuellement, je travaille d'arrache pied sur la dernière carte du jeu, celle contenant toute l'essence même de l'histoire racontée durant les niveaux précédents. Celle contenant également le combat contre le boss de fin. Ce niveau est environ 200% plus complexe que les autres niveaux du mod, et je commence d'ailleurs fortement à m'en mordre les doigts. Pour des raisons de gameplay, il m'est impossible de découper cette carte et d'y coller des chargements, car on doit souvent revenir en arrière, ainsi que se servir de portals assez loin les uns des autres.

Ce weekend j'ai eu la surprise de me retrouver face à un message d'erreur que je ne connaissais que trop bien à l'époque de Half-Life 1, le fameux (et mystérieux) : ED_Alloc: no free edicts. Ce message, lorsqu'il apparaît, vous ôte tout espoir et renvoie votre map à l'état de brouillon incertain car il signifie purement et simplement que trop c'est trop. Pas de signification particulière, j'ai juste dépassé la capacité du jeu à créer des objets (et c'est vraiment très craignos). J'ai passé le plus clair de mon temps libre ce weekend à détruire et reconstruire la carte en une version plus simple et moins complexe, tout en essayant de retirer le moins possible d'éléments de gameplay. Pour le moment je touche du bois, mais j'attend les tests sur des machines moins puissantes que la mienne avec une certaine angoisse.

J'ai également réécrit une bonne partie des dialogues qui ne me convenaient pas, et j'ai également terminé les filtres audio qui vont servir à digitaliser la voix de GlaDOS et transformer les voix des personnages secondaires. Le level-design est fini à environ 95%, au final il ne reste qu'une salle à faire et les voix à enregistrer (ou ré-enregistrer), et je pourrai passer au troisième stade de l'évolution :
  1. Brainstorming, études, écriture du scénario et ébauches de niveaux (5%)
  2. Level-design, gameplay, scénario et voix (50%)
  3. Compilations, vérifications, tests grandeur nature et corrections (15%)
  4. Réalisation des interfaces, des fonds de menu, des chapitres, des niveaux bonus et des challenges (15%)
  5. Extras (si j'ai le temps) version française, commentaires développeur, achievements ? (10%)
  6. Marketing viral et release 1.0 (5%)
Bon courage !
Ouais merci.

dimanche 23 mars 2008

The Device has been Modified

Posté par Nicolas (lien permanent)

Je suis toujours aussi peu fan de faire des articles sur ce blog juste pour montrer une vidéo où un lien vachement bien. Je n'aime pas tous ces gens qui tiennent des blogs uniquement pour rapporter des liens sans jamais rien analyser eux-mêmes. Mais là, je dois avouer que je me dois de faire une exception. L'auteur de cette vidéo et surtout de la musique est super doué.
This is an awesome song inspired by Portal which uses quotes from GLaDOS which have been modified into electronic singing.



Bien sûr, il faut avoir joué à Portal pour en apprécier les multiples facettes.
Vous pouvez télécharger la version MP3 ici :
Victims of Science - The Device Has Been Modified.mp3

vendredi 21 mars 2008

Steam powered ?

Posté par Nicolas (lien permanent)

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.

vendredi 14 mars 2008

La fin de la suprématie américaine ?

Posté par Nicolas (lien permanent)

Si vous n'avez pas encore commencé à prier pour la stabilité de l'économie mondiale, il serait temps de vous y mettre, car au train où les choses bougent, on se dirige droit vers un crash massif et mondial d'ici quelques mois. En 2005, l'ISIL (International Society for Individual Liberty) déclarait (traduit de l'anglais) :
L'année 2005 pourrait voir se profiler le début de la fin du dollar américain en tant que monnaie d'échange mondiale. [...] Est-ce qu'un crash du dollar est pour autant inévitable ? Il semblerait de plus en plus que oui.

Durant les trois dernières années, le dollar a chuté de 25% vis-à-vis des autres monnaies majeures telles que l'euro ou le franc suisse. Et comme si ce n'était pas suffisant, les supports majeurs des États-Unis, La Chine et le Japon [...] ont annoncé qu'ils ne continueraient pas à soutenir le dollar; et qu'à l'avenir, ils garderaient leurs investissements sous forme d'euros ou d'or. [...]

Pour plusieurs raisons, le dollar risque de chuter rapidement durant les prochaines années, il pourrait même chuter très brutalement, sans aucun préavis. Cela aura des conséquences sévères sur la bourse, l'immobilier, les retraites, le cours de l'or et tout un tas d'autres choses. Des milliers de sociétés et des millions de foyers pourraient être financièrement balayés.

La récession qui a suivi l'explosion de la "bulle Internet" et les évènements du 11 septembre n'était qu'un avertissement. Le crash provoqué par l'effondrement du dollar serait beaucoup plus sévère, et pourrait causer une chute de la bourse et des marchés immobiliers entre 50 et 80%. Dans le même temps, tout ce que nous importons - que ce soit le pétrole, les nouvelles technologies ou l'alimentaire - pourraient voir leurs prix multipliés par 2 à 5. [...]
Si vous suivez un petit peu ce qui se passe aux États-Unis en ce moment, vous n'êtes pas sans savoir que la moitié de ce qui était annoncé là dedans il y a 3 ans s'est déjà produit. La chute des marchés immobiliers, les mini-crashs boursiers, les milliers de foyers anéantis par leurs dettes et la hausse du prix du pétrole, pour ne citer qu'eux.

Evolution du cours du dollar

Toujours est-il que je vous conseille fortement d'attacher vos ceintures, car le dollar vient de se payer un nouveau plongeon vertigineux. En seulement un mois (début février-début mars) il est passé d'un taux de change Dollar-Euro de 0.69 à 0.65 (donc 1 euro = 1.57 dollars). Sachant qu'il était à 0.75 à la même époque l'année dernière, il y a de quoi s'inquiéter. Si la tendance se poursuit avec la même accélération, un euro vaudra deux dollars d'ici la fin de 2008 ou le début de 2009. Là on pourra vraiment s'inquiéter pour la stabilité de l'économie mondiale.

Je ne suis pas un expert dans le domaine, mais j'aimerais beaucoup savoir quelles répercussions ont ces évènements pour nous, Européens. A court terme, ça nous est forcément bénéfique (du moins en temps que particuliers), car on peut acheter certains biens beaucoup moins chers aux Etats-Unis (les jeux-vidéos pour ne citer qu'eux, la Orange Box est à 50€ dans le commerce, 25€ sur Internet en dollars). On peut également voyager chez eux pour trois fois rien. Mais pour les entreprises qui exportent des biens, les temps doivent être rudes...

Un dollar

Je suis curieux de voir où tout cela va nous mener. Je ne souhaite pas aux américains de voir leur pays se casser la tronche, mais je dois quand même avouer que le fait de leur infliger indirectement cette petite correction me fait tout de même plaisir. Ça leur apprendra à être aussi égoïstes, immatures et imbus d'eux même.

lundi 10 mars 2008

CAPTCHAs anti-humains

Posté par Nicolas (lien permanent)

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.

samedi 8 mars 2008

Motard pour de vrai

Posté par Nicolas (lien permanent)

Permis motoEt voilà, encore une chose de faite. Ce vendredi 7 mars, j'ai obtenu mon troisième permis de conduire, pour la moto. Après m'être levé à 4h45 du matin, pour être à l'auto-école à 6h du matin, pour être au centre d'examen à 8h30, inutile de vous dire que j'avais un peu "la tête dans le fion" si vous me permettez l'expression (et même si vous ne me la permettez pas en fait).

Toujours est-il que, après 30 minutes de conduite dans Beauvais et ses alentours, je n'ai finalement fait aucune erreur, à part oublier de tourner à droite quand il le fallait... mais comme je n'ai mis personne en danger et que je n'ai pas eu de réaction stupide en essayant de rattraper la route dangereusement, il n'y avait rien à redire. Ce n'est pas éliminatoire.

Désormais, je suis apte à conduire une grosse cylindrée... jusqu'à 100 chevaux tout du moins (en France). Et je ne me suis pas fait prier, dès le lendemain matin 10h, j'étais sur la route en train d'avaler les kilomètres au guidon de la superbe Suzuki GSX-F 750 de mon père. Alors certes, conduire une moto de 95 chevaux après un jour de permis, c'est pas SUPER recommandé, mais hé... j'avais conduit une 125cc pendant 3 ans avant ça.

Suzuki GSX-F 750

Bref, c'est un régal, le seul hic maintenant, c'est que ça reste la moto de mon père. Je ne suis pas assuré pour la conduire, je peux uniquement l'emprunter occasionnellement d'après l'assureur. Et là où ça fait mal (et même encore plus que je ne l'aurais pensé), c'est que même si je voulais m'assurer en tant que deuxième conducteur sur cette moto, non seulement c'est hors de prix, mais je ne peux de toute façon pas avant 2 ans de permis. Et là où ça coince encore plus, c'est que la quasi-totalité des motos grosses cylindrées existantes sur le marché ne peuvent pas non plus être assurées avec un conducteur ayant moins de 2 ans de permis.

Qu'est-ce que ça signifie ? Tout simplement qu'il vaut mieux passer son permis moto à 19 ans, ne pas conduire de moto du tout pendant 2 ans, atteindre ses 21 ans pour faire sauter le bridage à 34 chevaux et ensuite s'assurer pour n'importe quel type de cylindrée avec succès. On ne peut donc pas s'assurer lorsque l'on vient de passer son permis et que l'on vient de conduire des dizaines d'heures sur des motos équivalentes, mais par contre on peut s'assurer 10 ans plus tard, sans jamais avoir rien conduit entre temps. Pour moins cher même. D'ailleurs, le fait d'avoir déjà conduit une 125cc sportive pendant 3 ans ne m'apporte aucun avantage, car vous comprenez, "après 4-5 mois, on a tout perdu".

Les assureurs sont vraiment des branleurs.

lundi 3 mars 2008

Brian is in the kitchen

Posté par Nicolas (lien permanent)

TOEIC

That's over, I did it.
Three weeks ago, I passed the TOEIC test. TOEIC stands for "Test of English for International Communication". In order to get my degree after three years of Licence and Master, I needed a minimum score of 750. Which means "Basic Working Proficiency".
Today, I got the results and, waw. I almost hit the perfect score. I got a marvellous 985/990, which means I'm at the "
Advanced General Professional Proficiency" level. This is sufficient to work anywhere in the world in any existing english company.

- understand mother-tongue speakers of English in meetings.
- function in all situations whether professional or social, concerning concrete or abstract subjects.

- conduct meetings with mother-tongue speakers of English.
- perform anything with a greater degree of ease.

- read adequately for most professional needs.
- read highly technical manuals in own area.
- read basically everything.

- write effectively, both formally and informally; however, work for publication will still require review.
- produce any kind of document without undue difficulty.

Now, there's still my motorbike licence, my Portal project, my school project and my corporate memory... Awww...

samedi 1 mars 2008

Quand ca veut pas, ca veut pas

Posté par Nicolas (lien permanent)

Aujourd'hui, j'ai reçu ma nouvelle clef USB Corsair de 4 Go, pour remplacer l'ancienne clef USB Corsair de 4 Go que j'ai broyée de façon stupide il y a 2 jours (cordon pris dans la chaise, mouvement brusque de la chaise, crac). 3 heures après, j'avais broyé la nouvelle exactement de la même façon. Vie de merde.

Images