Applications web
mykswiki
mykswiki est un wiki très simple qui peut être déployé rapidement pour collaborer sur de petits projets. Il est basé sur roWiki, un projet qui a été abandonné en 2005. J'ai repris la maintenance en essayant de rester fidèle à l'esprit de départ, celui d'une très grande simplicité.
En svoir plus sur mykswiki (en anglais).
compta-coloc
En 2006–2007, j'ai habité en colocation avec quatre amis. Nous partagions beaucoup de dépenses ; cependant, nous n'en profitons pas tous autant. Par exemple, tout le monde n'est pas toujours là pour déjeuner et dîner... Je voulais un système raisonnable pour mutualiser facilement les dépenses et que chacun paye sa part.
J'ai développé une petite application web en PHP et MySQL pour tenir notre comptabilité. Elle gère la plupart des opérations courantes et permet d'afficher des historiques personnalisés. Elle a été réutilisée par des amis confrontés au même problème.
Téléchargez compta-coloc.tar.gz (32ko) et lisez le fichier README pour plus d'informations.
duview — disk usage viewer
Il s'agit d'une interface web pour visualiser les résultats de la commande du, avec de l'AJAX totalement superflu. C'est utile pour déterminer quels fichiers ou quels dossiers prennent de la place sur un disque dur.
Téléchargez duview.tar.gz. Pour des raisons de sécurité évidentes, si vous déployez cette application, assurez vous qu'elle ne soit accessible qu'à vous !
Étude ou résolution de jeux
Étudier programmatiquement des jeux est un bon exercice d'algorithmique. Il s'agit d'écrire du code simple, concis, mais suffisamment efficace pour répondre aux questions qu'on se pose. Parfois, j'en profite pour apprendre un nouveau langage. Voici quelques exemples.
Lights Out
J'ai découvert Lights Out [en] lorsqu'il a été le premier jeu natif pour iPhone. Il n'est pas très difficile, mais je voulais savoir combien il y a de solutions minimales distinctes à un problème donné. À partir d'un écran vide, il y a quatre combinaisons de coups qui ramènent à un écran vide ; elles forment un groupe isomorphe à (Z/2Z)2. Donc, compte-tenu de la structure de groupe du jeu, il y a exactement quatre solutions à chaque problème. Voyez les commentaires dans LightsOut.py pour plus d'explications.
Sudoku
En 2006, la folie du Sudoku a touché la France. Je trouve ce jeu peu excitant car il ne requiert que quelques techniques simples et pas beaucoup de réflexion. Pour le prouver, j'ai écrit en quelques minutes un programme de résolution automatique de Sudoku. Il pourrait être plus court ou plus rapide, mais ce n'est pas essentiel : il résout instantanément une grille et il donne toutes les solutions possibles.
Bataille
Combien de temps durera la prochaine Bataille avec votre neveu ? Eh bien, en moyenne, plutôt longtemps. Ce graphique donne la répartition des parties en fonction de leur durée. Il provient d'un million de parties aléatoires jouées par mon simulateur de bataille. D'une manière intéressante, toutes les parties se sont terminées, généralement en moins de 1500 tours... ce qui nécessite quand même une certaine patience !
Recherche
Flownoise
Entre avril et juillet 2006, j'ai fait un stage de recherche à Evasion, un laboratoire de synthèse d'images du CNRS et de l'INRIA. J'ai travaillé sur des textures animées en temps réel pour les fuides en utilisant du flow-noise. J'ai construit une modélisation de fluides en mouvement réaliste en ajoutant du bruit procédural selon une échelle fractale. J'ai utilisé du bruit de Perlin et je l'ai animé en respectant la théorie de la vorticité de Kolmogorov.
Sur ma page de publication, vous pouvez télécharger mon rapport ; vous y trouverez aussi un résumé, des images, une vidéo et le code source de mon shader.
Utilitaires
ShaderStats
ShaderStats est un parser simpliste pour le code assembleur produit par la compilation d'un shader CG avec cgc. Il calcule le nombre d'instructions et de registres utilisés par le shader, qui sont les valeurs clés pour optimiser la vitesse d'exécution.
Après l'avoir compilé : javac shaderStats.java, vous pouver le tester sur un exemple : java ShaderStats example.asm. Il est facile d'adapter le code à un autre format d'assembleur de shader, si nécessaire.
PicSeq2Video
PicSeq2Video est un script shell facilitant la conversion d'une séquence d'images (sauvegardée lors d'une simulation informatique, par exemple) en vidéo. Il utilise mencoder pour l'encodage. J'ai écrit une page de documentation en français et ./picSeq2Video.sh -h donne des informations en anglais sur l'usage du script.

