Journal
Ce journal contient 354 entrées.
Page 3 / 18
Welcome! — Pygments
Pygments, coloration syntaxique (export RTF possible, permettant de copier-coller le code formaté dans une présentation, par exemple).
xkcd: Automation
C'est bien vu. Préférez toujours la réutilisation d'un code existant, une librairie ou un outil plutôt que vos propres codes (qui devront malheureusement être maintenus). Toutes proportions gardées, bien entendu.
Procedural Content Generation in Games | A textbook and an overview of current research
La synthèse procédurale de contenu pour les jeux vidéos est un sujet qui m'intéresse beaucoup. J'en ai fait un tour d'horizon pour la fête de la science à l'INRIA (http://benjaminbillet.fr/wiki/doku.php?id=fete_de_la_science_2012) mais en voici un textbook beaucoup plus complet :)
1 Introduction
2 The search-based approach
3 Constructive generation methods for dungeons and levels
4 Fractals, noise and agents with applications to landscapes and textures
5 Grammars and L-systems with applications to vegetation and levels
6 Rules and mechanics
7 Planning with applications to quests and story
8 ASP with applications to mazes and levels
9 Representations for search-based methods
10 The experience-driven perspective
11 Mixed-initiative approaches
12 Evaluating content generators
On y retrouve de nombreux sujets abordés dans ma présentation, mais avec plus d'excellents chapitres sur la génération de règles, de gameplay, de scénarios et de quêtes.
1 Introduction
2 The search-based approach
3 Constructive generation methods for dungeons and levels
4 Fractals, noise and agents with applications to landscapes and textures
5 Grammars and L-systems with applications to vegetation and levels
6 Rules and mechanics
7 Planning with applications to quests and story
8 ASP with applications to mazes and levels
9 Representations for search-based methods
10 The experience-driven perspective
11 Mixed-initiative approaches
12 Evaluating content generators
On y retrouve de nombreux sujets abordés dans ma présentation, mais avec plus d'excellents chapitres sur la génération de règles, de gameplay, de scénarios et de quêtes.
7 techniques mathématiques
1. La descente de gradient
2. Le kdtree
3. La décomposition en valeurs singulières
4. La dimension de Vapnik-chervonenkis
5. Distributed Stochastic Neighboor Embedding
6. Radial basis Kernel trick
7. Affinity Propagation Clustering
2. Le kdtree
3. La décomposition en valeurs singulières
4. La dimension de Vapnik-chervonenkis
5. Distributed Stochastic Neighboor Embedding
6. Radial basis Kernel trick
7. Affinity Propagation Clustering
Une introduction aux arbres de décision
Résumé :
Les arbres de décision sont l’une des structures de données majeures de l’apprentissage statistique. Leur fonctionnement repose sur des heuristiques qui, tout en satisfaisant l’intuition, donnent des résultats remarquables en pratique (notamment lorsqu’ils sont utilisés en « forêts aléatoires »). Leur structure arborescente les rend également lisibles par un être humain, contrairement à d’autres approches où le prédicteur construit est une « boîte noire ».
L’introduction que nous proposons ici décrit les bases de leur fonctionnement tout en apportant quelques justifications théoriques. Nous aborderons aussi (brièvement) l’extension aux Random Forests. On supposera le lecteur familier avec le contexte général de l’apprentissage supervisé.1
Les arbres de décision sont l’une des structures de données majeures de l’apprentissage statistique. Leur fonctionnement repose sur des heuristiques qui, tout en satisfaisant l’intuition, donnent des résultats remarquables en pratique (notamment lorsqu’ils sont utilisés en « forêts aléatoires »). Leur structure arborescente les rend également lisibles par un être humain, contrairement à d’autres approches où le prédicteur construit est une « boîte noire ».
L’introduction que nous proposons ici décrit les bases de leur fonctionnement tout en apportant quelques justifications théoriques. Nous aborderons aussi (brièvement) l’extension aux Random Forests. On supposera le lecteur familier avec le contexte général de l’apprentissage supervisé.1
GitHub - dokan-dev/dokany: User mode file system library for windows with FUSE Wrapper
Génial, un équivalent à FUSE (Filesystem in Userspace) pour Windows. Il s'agit d'une interface permettant d'écrire des systèmes de fichier "virtuels", c'est-à-dire ne nécessitant pas de modifier le noyau du système d'exploitation pour fonctionner.
C'est une fonctionnalité qui a toujours manqué à Windows.
C'est une fonctionnalité qui a toujours manqué à Windows.
Oh, shit, git!
Une collection d'astuces pour rattraper les (petites) erreurs de manipulation avec git. Par exemple corriger le message d'un commit, amender un commit, etc.
How Not To Sort By Average Rating
Une meilleure méthode pour la gestion des notations. Cette technique prend en compte à la fois la proportion de notes positives et la taille de l'échantillon.
Elm – fun with L-System (Part 1) | theburningmonk.com
Un L-Système ou système de Lindenmayer est une grammaire formelle permettant de décrire un ensemble de règles et de symboles qui modélisent un processus de croissance.
Les symboles représentent l'état de l'être vivant à une itération X, tandis que les règles représentent la transformation des symboles en autres symboles (ou groupes de symboles). A partir de l'état X, les règles permettent de construire l'état X+1 et ainsi de suite jusqu'à obtenir une structure complexe.
J'ai traité le sujet des L-Systèmes lors de la fête de la science 2012 à l'INRIA. Voir ma présentation ici : http://benjaminbillet.fr/wiki/doku.php?id=fete_de_la_science_2012
Voir aussi : http://blog.rabidgremlin.com/2014/12/09/procedural-content-generation-l-systems/
Les symboles représentent l'état de l'être vivant à une itération X, tandis que les règles représentent la transformation des symboles en autres symboles (ou groupes de symboles). A partir de l'état X, les règles permettent de construire l'état X+1 et ainsi de suite jusqu'à obtenir une structure complexe.
J'ai traité le sujet des L-Systèmes lors de la fête de la science 2012 à l'INRIA. Voir ma présentation ici : http://benjaminbillet.fr/wiki/doku.php?id=fete_de_la_science_2012
Voir aussi : http://blog.rabidgremlin.com/2014/12/09/procedural-content-generation-l-systems/
Shadertoy BETA
Un shader est un programme permettant de paramétrer une partie du pipeline de rendu réalisé par une carte graphique ou un moteur de rendu logiciel. Ces programmes sont exécutés directement par le GPU de la machine, étant donné que ces programmes effectuent de nombreuses opérations vectorielles pour lesquelles le GPU est très efficace.
Il existe des shaders de plusieurs types, qui influent sur différentes étapes du pipeline, les plus connus étant les "vertex shaders" (qui influent sur la projection de l'espace 3D sur l'espace 2D) et les "pixel shaders" (qui influent sur les pixels).
Cet outil permet d'écrire des shaders en ligne et de les tester directement. Il y a des choses assez impressionnantes.
Il existe des shaders de plusieurs types, qui influent sur différentes étapes du pipeline, les plus connus étant les "vertex shaders" (qui influent sur la projection de l'espace 3D sur l'espace 2D) et les "pixel shaders" (qui influent sur les pixels).
Cet outil permet d'écrire des shaders en ligne et de les tester directement. Il y a des choses assez impressionnantes.
Blog Stéphane Bortzmeyer: RFC 7616: HTTP Digest Access Authentication
Moralité : peu importe que vous utilisiez le mécanisme d'identification/authentification Basic ou Digest, TLS est requis pour éviter (i) les attaques de l'homme du milieu, (ii) la transmission en clair du contenu autorisé.
Qui plus est, ces mécanismes d'identification/authentification HTTP ne gérent pas d'état : il n'est pas possible pour le serveur de forcer l'utilisateur à se réauthentifier et il n'est pas non plus possible pour le client de se déconnecter (lire http://www.bortzmeyer.org/7235.html). En pratique, il vaut donc mieux privilégier un formulaire Web pour la saisie du mot de passe, puis un cookie/clé de session associée à chaque requête.
Qui plus est, ces mécanismes d'identification/authentification HTTP ne gérent pas d'état : il n'est pas possible pour le serveur de forcer l'utilisateur à se réauthentifier et il n'est pas non plus possible pour le client de se déconnecter (lire http://www.bortzmeyer.org/7235.html). En pratique, il vaut donc mieux privilégier un formulaire Web pour la saisie du mot de passe, puis un cookie/clé de session associée à chaque requête.
Blog Stéphane Bortzmeyer: Un bel exemple de logiciels de sécurité dangereux
L'interception TLS est une technique permettant aux antivirus ou aux proxy d'entreprise de déchiffrer les flux TLS. Par exemple, un antivirus va ajouter son autorité de certification à la base des autorités de confiance maintenue par le système. De cette façon, l'antivirus peut forger de faux certificats valides pour les domaines visités et, de fait, intercepter le trafic chiffré.
Grâce à cela, l'antivirus peut vérifier que les flux chiffrés ne sont pas émis par un logiciel malveillant. Dans le cas des proxy d'entreprise, cela permet de vérifier les communications qui sortent de l'entreprise.
Cette technique est un détournement délibéré du modèle de sécurité de TLS et doit donc être implémentée de façon irréprochable pour ne pas compromettre la sécurité. Des chercheurs viennent de montrer qu'un grand nombre de ces logiciels ne sont pas irréprochables et possèdent des failles graves.
Grâce à cela, l'antivirus peut vérifier que les flux chiffrés ne sont pas émis par un logiciel malveillant. Dans le cas des proxy d'entreprise, cela permet de vérifier les communications qui sortent de l'entreprise.
Cette technique est un détournement délibéré du modèle de sécurité de TLS et doit donc être implémentée de façon irréprochable pour ne pas compromettre la sécurité. Des chercheurs viennent de montrer qu'un grand nombre de ces logiciels ne sont pas irréprochables et possèdent des failles graves.
Apache Mynewt
Apache Mynewt est un nouveau système d'exploitation temps réel pour les objets connectés (IoT) ayant des ressources très limitées. Supporte Bluetooth Low Energy pour la communication.
Roadmap: http://mynewt.apache.org/img/OS_arch.png
Roadmap: http://mynewt.apache.org/img/OS_arch.png
Linux workstation security checklist
Une liste de chose à vérifier pour améliorer la sécurité des postes de travail. Destiné plutôt aux administrateurs systèmes.
Sockets en C
Quelques documentations sur les sockets en C (bloquante, non bloquante, IPv6, etc.)
http://www.scottklement.com/rpg/socktut/tutorial.html
http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html
http://www.beej.us/guide/bgnet/output/html/singlepage/bgnet.html
http://mff.devnull.cz/pvu/src/tcp/
http://www.scottklement.com/rpg/socktut/tutorial.html
http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/chapter-section-using-api.html
http://www.beej.us/guide/bgnet/output/html/singlepage/bgnet.html
http://mff.devnull.cz/pvu/src/tcp/
How to implement the discrete Fourier transform
Implémentation de la transformée de fourier discrète (DFT).
https://fr.wikipedia.org/wiki/Transformation_de_Fourier_discr%C3%A8te
https://github.com/cscheiblich/jwave
https://fr.wikipedia.org/wiki/Transformation_de_Fourier_discr%C3%A8te
https://github.com/cscheiblich/jwave
SpaceBook®
Carte interactive de la position des satellites. C'est impressionnant le nombre de satellites qui ne sont plus en fonctionnement.
Page 3 / 18
Ce journal est basé sur Ginger, un gestionnaire de lien minimaliste développé dans le cadre d'un stage de perfectionnement. Pour plus d'informations, consulter le wiki consacré à mes projets personnels.
RSS Feed
Tag cloud
lun. 17 oct. 2016 15:29:04 CEST
python coloration