Catégorie : geek

CodinGame challenge : les résultats

Vous pourrez trouver la totale ici.

Je cite :

Sur les 3245 inscrits, 1124 ont tenu bon jusqu’à la fin. Et il faut dire que le niveau était plutôt excellent. Avec un 3e exercice que certains codeurs de notre connaissance auraient qualifié de « torture japonaise », le challenge nécessitait de jongler entre plusieurs compétences complémentaires.

Ils ont tout à fait raison, vu que… je ne l’ai pas fait !

Vous pouvez voir le classement complet ici.

Moi je suis le pseudo SurferIX, position 120 :

120 - SurferIX - 65% - 03:48:46 - PHP, C

Et mon code fait en 3 heures 48 ici.

De la nourriture pour le cerveau !

Pris ici, et traduit en français par moi même.

C’est mon site favori.

Je le visite presque tous les jours.

Il n’est pas « responsive ». Il n’est pas optimisé pour iPhone.
Il a l’air flou sur un affichage de type Retina.
Il n’utilise pas le tout dernier framework HTML5/CSS3.
Il n’a pas un « rythme vertical réfléchi pour être agréable ».
Les fontes n’ont rien d’original. Ni Le skeuomorphique ni plat.
Il n’a pas son propre favicon.
Il n’a aucune application native Twitter ou Instagram.
Il n’utilise ni d’AJAX ni de SCRUM ou de node.js ou de Sinatra.
Il n’a pas sa propre API ou son suivi RSS, et pas de VC funding.
Il n’a jamais été numéro un sur un blog technique connu et n’a jamais gagné un seul concours.

Il me dit comment faire la soupe du jour.

Une information donnée gratuitement, qui est pratique pour la personne qui le lit.

C’est ça, le web design.

Qwant : un google beaucoup plus sympa

Je ne veux pas faire de publicité parce que ce sont des Français, mais c’est la première fois depuis des années que je vois un moteur de recherche que je trouve plus agréable que google.

Si si, essayez le : http://www.qwant.com/

La page de présentation est super sympa et super moderne, et s’affiche vite et bien ::

Qwant main page

Et la page détail est aussi super sympa :

Qwant detail page

Essayez le, il ne manque plus que quelques résultats de recherche et c’est bon !

Bon j’espère que chez bnpparibas, ils vont tout de même ouvrir le pare feu un peu plus loin que google.fr… Enfin c’était un message personnel 😉

HTML5 et réalisations : un projet assez impressionnant

Une personne a développé en JavaScript un émulateur complet de la Super NES : JSNES.
Cliquez ici pour le voir : http://fir.sh/projects/jsnes/

Si vous regardez le code source, c’est impressionnant : il a vraiment retranscrit les registres, et le code assembleur de la SNES.
Voici un extrait que j’ai trouvé assez épatant :

switch(opinf&0xFF){
  case 0:{
    // *******
    // * ADC *
    // *******

    // Add with carry.
    temp = this.REG_ACC + this.load(addr) + this.F_CARRY;
    this.F_OVERFLOW = ((!(((this.REG_ACC ^ this.load(addr)) & 0x80)!=0) && (((this.REG_ACC ^ temp) & 0x80))!=0)?1:0);
    this.F_CARRY = (temp>255?1:0);
    this.F_SIGN = (temp>>7)&1;
    this.F_ZERO = temp&0xFF;
    this.REG_ACC = (temp&255);
    cycleCount+=cycleAdd;
    break;

  }case 1:{
    // *******
    // * AND *
    // *******

    // AND memory with accumulator.
    this.REG_ACC = this.REG_ACC & this.load(addr);
    this.F_SIGN = (this.REG_ACC>>7)&1;
    this.F_ZERO = this.REG_ACC;
    //this.REG_ACC = temp;
    if(addrMode!=11)cycleCount+=cycleAdd; // PostIdxInd = 11
    break;
  }case 2:{
    // *******
    // * ASL *
    // *******

ShootMania : l’après TrackMania

Vous pouvez voir la vidéo de Shootmania ici :

Présentation de shootmania

C’est vraiment impressionnant.

Mon petit nez me disait que du côté du scripting ils avaient fait quelque chose de fort.
Je me suis trompé : ça n’est pas fort, c’est exceptionnellement fort.

En fait leur moteur de scripting, tenez vous bien, intègre un compilateur qui génère du code machine : oui, vous avez bien lu, le code est compilé à la volée !

C’est ce qui se produit déjà dans Trackmania 2 et mon petit nez me disait qu’ils avaient fait un boulot énorme, au vu de la rapidité avec laquelle mon script de labyrinthes était compilé puis exécuté.

Vivement que je puisse mettre la main dessus pour faire les maps MOBA de labyrinthes 🙂

Steam : d’où l’intérêt de travailler avec des gens compétents

Je vous fais part du message du directeur de steam, à vous d’en penser ce que vous voulez :

10 février 2012
Chers utilisateurs Steam et des forums Steam :

Des investigations sont en cours avec l’aide d’experts en sécurité informatique depuis l’intrusion dont nous avons été victime l’année dernière. Dans ma dernière communication à ce sujet, je décrivais comment les intrus avaient pu accéder à notre base de données Steam sans avoir trouvé d’évidence sur une captation d’information à partir de cette base de données.

Récemment, nous avons appris qu’il est probable que les intrus aient obtenu une copie du fichier de sauvegarde contenant les transactions effectuées sur Steam entre 2004 et 2008. Ce fichier de sauvegarde contenait les noms d’utilisateurs, les adresses email, les adresses encryptées de facturation et les informations encryptées des cartes bancaires. Ce fichier ne contenait pas les mots de passe Steam.

Nous n’avons aucune évidence nous permettant de penser que les informations bancaires encryptées ou que les adresses de facturation (également encryptées) aient été compromises. Cependant, comme je vous en informais en novembre, il convient de surveiller l’activité de vos cartes bancaires et/ou de crédit. Il est également une bonne idée d’activer Steam Guard sur votre compte Steam.

L’enquête poursuit son cours et nous travaillons avec les autorités compétentes. Certains états nécessitent un mode de communication plus formel et vous recevrez l’information en conséquence mais je souhaitais vous tenir informé de l’évolution de la situation.

Gabe

Trackmania 2 : labyrinthe, C et scripts Nadeo

J’ai crée un générateur de labyrinthes en BASIC.

Puis je l’ai ré-écrit. En Delphi (Pascal Orienté Objet, plus facile que tous ses concurrents (C++, Java, etc)).

Il générait des scripts « JavaScript » pour Photoshop. J’ai ainsi pu générer des labyrinthes immenses avec du Scripting Photoshop, mais j’ai rapidement vu les limites de ce dernier.

Alors je l’ai ré-écrit. En mieux, et beaucoup, beaucoup, beaucoup plus évolué. Plusieurs étapes de génération. Générateur de labyrinthes en C sous Linux, tout en ligne de commandes. J’ai donc dû apprendre vim, et je ne regrette rien, bien au contraire !

A partir de là, j’ai pu générer beaucoup de types de script :

  • J’ai commencé à générer des scripts Autohotkey pour Trackmania 1 : ici et ici.
  • Puis généré un petit jeu de mémoire, que vous pouvez voir ici.
  • Puis est sorti Trackmania 2. J’ai donc modifié mon générateur pour faire des scripts complets Trackmania : ici

Et comme pas mal de personnes ont trouvé ça sympa, voire certains ont carrément essayé de les terminer (plus de deux heures de route pour l’un), une personne a fait un petit article sur moi ici.

Voici la vidéo qui est originale, et vous pourrez voir évoluer mon script :