PROJET AUTOBLOG


sebsauvage.net

Site original : sebsauvage.net

⇐ retour index

Ma malédiction de développeur

Tuesday 20 November 2012 à 13:51

C'est un article de Maniac Geek qui m'a fait venir cela à l'esprit.

En tant que développeur et joueur depuis longtemps (30 ans, hein, quand même), j'ai un problème: Je finis par "voir" ou "ressentir" les mécanismes, la logique de fonctionnement des jeux à force d'y jouer (Et je ne suis probablement pas le seul). J'arrive à imaginer les algos utilisés, je traque instinctivement les glitchs d'affichage ou la cassure visible des polygones sur un objet pas assez tesselated, imagine les algos utilisés pour la génération procédurale et l'IA des ennemis ou devine le découpage des hitbox. Quand je regarde une vidéo, mon cerveau cherche instinctivement les artefacts de compression. C'est plus fort que moi.

Et du coup, à imaginer le travail des développeurs pour traiter tel ou tel point précis, ça casse un peu la magie. C'est ma malédiction.

C'est en partie ce qui fait que je joue moins à Minecraft qu'avant. J'y ai tellement joué et "ressenti" le jeu que la magie des premières explorations est éventée: Les algos - ou du moins leurs résultats - me sont devenus trop visibles. Je me suis même surpris à explorer des réseaux de caverne rien que pour essayer de trouver des formes atypiques, différentes de ce que le générateur procédural produit habituellement. J'en suis à explorer les extrêmes la courbe gaussienne. Doh ! Fichu cerveau.


Oh je ne dis pas: J'apprécie les graphismes d'un nouveau jeu, l'originalité de son gameplay et sa profondeur (ou son absence, le plus souvent). Ça peut passer agréablement le temps. Mais l'illusion ne dure jamais.

Du coup, je suis plus enclin à jouer à des jeux comme Dwarf Fortress qui sont d'une complexité ahurissante, ou des jeux où qu'il faut maîtriser progressivement (Urban Terror, Dustforce) mais ces genres de jeux nécessitent un certain investissement de temps que je ne peux plus me permettre.

Si quelqu'un décide un jour de faire un mashup de Minecraft (pour sa 3D, sa génération procédurale et son accessibilité) avec Dwarf Fortress (pour sa formidable profondeur de jeu), je n'aurai qu'une chose à dire:


Les DRM tuent la culture

Monday 22 October 2012 à 15:43

Encore une semaine qui passe, encore exemple d'oblitération de la culture par les DRM: Cet utilisateur de Kindle a vu la totalité des livres qu'il avait achetés soudainement disparaître de son Kindle (livre électronique d'Amazon). Ils ont été effacés à distance par Amazon.

La justification d'Amazon ? Son compte serait lié à un autre compte qui aurait violé les règles Amazon.

De quel compte s'agit-il ? En quoi est-il relié à son compte actuel ? Quelle règle a été violée ? Amazon refuse de répondre. On se retrouve comme face au géant Google: Un mur. Et aucun recours.

Les DRM ne protègent pas la culture, ils la tuent.

Que ce soit dans des livres, des films, des musiques ou des logiciels, refusez les DRM.


EDIT 24 oct.: Amazon a discrètement fait machine arrière, sans doute parce que ça commençait à faire trop de buzz (après lui avoir gentiment dit d'aller acheter ses livres ailleurs). Le problème des DRM reste entier.

Et Orange enterra la neutralité du net

Thursday 11 October 2012 à 20:20

EDIT: (De l'intérêt de ne pas publier trop vite): Orange publie un démenti (voir aussi chez Clubic): Le site "La lettre A" aurait mal interprété les propos d'Orange. Il s'agirait de l'offre "Préférence" d'Orange... ce qui n'exclue pas la présence du DPI malgré les dires d'Orange.

Je n'ai jamais été fan d'Orange, et mois après mois ils me donnent des raisons de ne jamais aller chez eux.

Cette image circule sur le net depuis des années. C'est une (sinistre) blague sur la neutralité du réseau, une fiction sur ce qui se passerait si la neutralité du net était brisée.

Et bien il semblerait qu'Orange s'oriente exactement vers cela pour ses connexion ADSL. Imaginez: Vous avez un abonnement standard. Vous voulez des débits tolérables sur YouTube ? Payez un supplément. Vous voulez utiliser Skype et faire de la VOIP ? Payez un autre supplément.

Dit autrement, Orange pourrait vous facturer le droit d'accéder (décemment) à des sites web et d'utiliser des technologies qui ne lui appartiennent pas. Le rêve de tous les FAI véreux. (Encore une fois, cette information est à mettre au conditionnel.)

Et avec quelle technologie ? Avec du DPI bien sûr. Après avoir nié l'avoir déployé sur son réseau, Orange admet maintenant que c'est grâce à cette technologie qu'il pourra vous vendre son accès internet bridé. Et histoire de faire dans le glauque, ils utilisent des équipements de la société Qosmos qui s'est déjà rendu célèbre pour avoir vendu son matériel de surveillance à des dictatures.


Plus que jamais: Il y a internet, et internet par Orange.


Notez que les autres FAI ne sont pas forcément plus glorieux sur le sujet: Même s'ils n'en sont pas à ce niveau, ils brident les débits sur certains sites ou protocoles (par exemple YouTube chez Free).

Je pense qu'au final, prendre un VPN à l'étranger vous permettra peut-être d'avoir de meilleurs débits... à moins bien sûr qu'ils brident par défaut tous les protocoles de VPN. C'est moche, c'est très moche.


EDIT 15 oct. 2012: Pas de DPI chez Orange ? Vraiment ?

L'hypocrisie d'Apple

Friday 5 October 2012 à 17:25

Apple a forcé un enseignant à retirer le mot "Libre" d'un ouvrage gratuit qu'il avait publié pour l'iPad.

Apple, GROS HYPOCRITE. Le cœur même de ton iOs et de ton MacOSX est du logiciel libre, bordel (noyau Mach + composants BSD).

Tu as vu la quantité de logiciels libres qui entrent dans la composition de MacOSX ?: Apache, autoconf, awk, bash, bc, BerkeleyDB, bind9, bison, bsdiff, bzip2, clamav, cron, cups, curl, cvs, emacs, fetchmail, gdb, gnudiff, gnuzip, gnumake, gnutar, grep, groff, hunspell, libpng, libjpeg, libxml2, man, nano, ncurses, netcat, OpenSSH, pcre, perl, postfix, PostregreSQL, procmail, Python, rsync, SpamAssassin, SQLite, subversion, tcl, tcpdump, vim, zlib...

Ça va, ça t'en touche une sans bouger l'autre de refuser le simple mot "libre" sur un livre ?


Meh.

Héberger des vidéos sur son propre serveur... sans le tuer

Wednesday 3 October 2012 à 14:07

YouTube censure à tour de bras:

Il faut sérieusement réfléchir à héberger ses vidéos soi-même. (Mitsukarenai est un expert sur le sujet, alors ma petite diatribe du jour va sûrement le faire sourire.)

Seulement voilà, héberger soi-même des vidéos pose des problèmes épineux:


J'ai fini par trouver une solution très simple et qui ne tue pas votre serveur. Voici comment procéder:

  1. Encodez vos vidéos en WebM et MP4, et placez-les quand même sur votre serveur.

  2. Ajoutez un fichier .htaccess pour servir les vidéos avec le bon type MIME:
    AddType video/mp4 .mp4
    AddType video/webm .webm
  3. Prenez le lecteur opensource Video.js: Il utilise HTML5/balise video et javascript pour lire la vidéo WebM. C'est très simple:
    <script src="http://sebsauvage.net/rhaa/video-js/video.js"></script>
    <script>_V_.options.flash.swf = "video-js/video-js.swf";</script>

    <video id="test_video_1" class="video-js vjs-default-skin" controls preload="none" width="854" height="480"
           poster="http://mondomaine.com.nyud.net/videos/video1_miniature.jpg" data-setup="{}">
        <source src="./media/95de87f5.video1.webm" data-original-source="http://mondomaine.com.nyud.net/videos/video1.webm" type='video/webm' />
        <source src="./media/6d82c8c2.video1.mp4" data-original-source="http://mondomaine.com.nyud.net/videos/video1.mp4" type='video/mp4' />
    </video>
  4. Si le navigateur ne supporte pas WebM ou HTML5, Video.js bascule sur Flash et MP4, ce qui assure une compatibilité avec pratiquement tous les navigateurs.

  5. Comme vous pouvez le voir dans les balises source, ajoutez .nyud.net au nom de domaine dans les URLs de vos vidéos.

C'est tout: Video.js vous assure que le lecteur marchera dans pratiquement tous les navigateurs. Les navigateurs supportant HTML5+WebM l'afficheront directement (Firefox, Opera, Chrome...), les autres (Safari, IE...) se rabattront sur MP4 (soit en HTML5 aussi, soit via Flash).

Vous avez remarqué le ".nyud.net" ? Par le simple fait d'appeler votre vidéo à travers cette URL, le CDN CoralCache ira lire une seule fois la vidéo de votre serveur et la répliquera dans le monde au fur et à mesure qu'elle est consultée. Plus de problème de bande passante: Ce sont leurs serveurs qui fournissent la vidéo, et non le vôtre. Et plus de problème de débit non plus: Avec 300 serveurs répartis dans le monde, même des internautes éloignés pourront lire la vidéo sans coupure. (CoralCache est gratuit depuis 8 ans et sans contrepartie.)

Accessoirement, cela fait la nique aux limites de débit posées artificiellement par les fournisseurs d'accès sur des sites comme YouTube (coucou Free, coucou Orange).

Petit bémol de cette solution: Les fichiers sont limités à 50 Mo. Au delà de 50 Mo, CoralCache ne fait plus office de cache et renvoie vers votre serveur en direct.

Voilà le résultat (j'ai mis la vidéo du trailer du jeu Dustforce - me gusta).

<link src="http://sebsauvage.net/rhaa/../test_video/video-js/video-js.css" rel="stylesheet" type="text/css"> <script src="http://sebsauvage.net/rhaa/../test_video/video-js/video.js"> <script>_V_.options.flash.swf = "../test_video/video-js/video-js.swf";


Très simple à mettre en place, compatible (pratiquement) tous navigateurs, vous gardez le contrôle de l'hébergement de la vidéo, ça ne tue pas votre bande passante et ça assure un bon débit n'importe où dans le monde. Chouette, non ? Avec ça, on a plus vraiment besoin de YouTube pour publier ses vidéos... à part un peu d'espace sur son hébergement. Il est reste quand même la facilité de publication sur YouTube et ses petits outils (commentaires, stabilisation de vidéo, plusieurs résolutions de vidéo fournies, etc.) qui peuvent faire préférer ce dernier.

Quant à la liberté d'expression, jusqu'à présent je n'ai jamais vu CoralCache censurer quoi que ce soit. Au pire, le risque est que votre vidéo soit illisible si le domaine nyud.net est bloqué, mais ce n'est pas pire que YouTube. Au moins la vidéo est (virtuellement) "chez vous".


De rien, ça me fait plaisir :-)


EDIT 5 oct.: Et crotte, je viens de m'apercevoir que CoralCache, pour le moment, ne met en cache que les fichiers de moins de 50 Mo. :-/ Flûte. Si le fichier fait 50 Mo ou plus, il y a une redirection transparente vers votre site (avec un ?coral-no-serve dans l'URL). Ils sont en train de travailler à une manière plus efficace de mettre en cache les gros fichiers.