Thème : clair | sombre | mini | iPhone Langue : english | français 30/07/10 - 04:52 CEST

Projets

Outils de développement

Python

Lancez chacun de ces scripts avec l'option --help pour plus d'informations.

Contributions à des logiciels libres

Open Source Initiative

J'ai écrit un patch pour utiliser CalendarServer avec un annuaire OpenLDAP. Il est utilisé en production par quelques personnes mais pas encore intégré.

J'ai ajouté le support de OpenId dans plat/al.

J'ai contribué au plugin jQuery colorize.

Applications web PHP

mykswiki

mykswiki est un wiki très simple écrit en PHP. Il est basé sur roWiki, un projet qui a été abandonné en 2005. Finalement, j'ai réécrit entièrement l'application, en essayant de préserver l'esprit de simplicité de départ.

En svoir plus sur mykswiki (en anglaisi). Mise à jour: 2010-01-17.

compta-coloc

Lorsque j'ai habité en colocation avec des amis, nous partagions les dépenses ; cependant, nous n'en profitons pas tous autant. Nous voulions un système où chacun paye sa part.

Ainsi j'ai développé compta-coloc et nous l'avons utilisé pour noter et répartir nos dépenses. Elle gère toutes les 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. Mise à jour: 2010-07-12.

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 ! Mise à jour: 2010-01-12.

É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.

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

Simulation de feu en temps réel avec du flownoise

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.