Applications
mykswiki
mykswiki is a very simple wiki that can be quickly deployed to collaborate on a small project. It is based on roWiki, a projet that was abandonned in 2005. I took over maintenance of this software and I'm trying to respect the original spirit of simplicity.
Learn more about mykswiki.
compta-coloc
In 2006–2007 I shared a flat with four friends. We paid several things in common, including food, but not all of us ate at home every lunch and dinner... I wanted a fair system to handle expenses, in which everyone would pay his share.
I wrote a small web application in PHP and MySQL and we used it for our accountancy. It can take into account most common operations involving money and display customized history. It was re-used by friends of mine facing the same problem.
Download compta-coloc.tar.gz (32ko) and have a look at the README for more info.
duview — disk usage viewer
This is a web interface to visualize the results of du, with some completely superfluous AJAX. It's handy to determine which files or folders eat up disk space.
Download duview.tar.gz. For obvious security reasons, if you deploy this application, make sure that only you can access it!
Games study or resolution
Lights Out
I discovered Lights Out when it was the first native game for iPhone. It's pretty easy, but I wanted to know who many distinct minimal solutions exist for a given puzzle. Starting with a blank screen, four combinations of actions return to a blank screen; they form a group isomorphic to (Z/2Z)2. Thus, this the game has a group structure, there are exactly four solutions to each puzzle. Look at the comments in LightsOut.py for more explanations.
Sudoku solver
In 2006, France was touched by Sudoku frenzy. I don't find this game very exciting, because it requires only a few simple techniques and not much thought. I demonstrated it by writing a Sudoku solver in Java in a few minutes. It could be shorter, it could be faster, but I don't care: it solves a grid instantaneously, and gives all possible solutions.
Bataille
How long does a War with your nephew last? Well, on average, quite a long time. This is the graph of the distribution of the games depending on their duration. It's generated from one million random games played by my war simulator (french rules differ slightly). Interestingly, all games ended, usually in less than 1500 turns... which still requires some patience!
Research
Flownoise
From April to July 2006, I did a research intership at Evasion, a computer graphics lab of the CNRS and the INRIA. I worked on real-time animated textures for fluids using flow-noise. I achieved a realistic modelization of moving fluids by adding procedural noise at fractal scales. I used Perlin noise and animated it with respect to Kolmogorov's theory of vorticity.
On my publication page, you can download my paper. You will also find there an abstract, pictures, a video and source code for my shader.
Utilities
ShaderStats
ShaderStats is a quick'n'dirty parser for assembly code resulting from the compilation of a CG shader with cgc. It computes the number of instructions and registers used by the shader, which are the key values for speed optimization.
Compile it: javac shaderStats.java and test it on an example: java ShaderStats example.asm. You can easily adapt the code to match the format of your shader assemblies if necessary.
PicSeq2Video
PicSeq2Video is a shell script making it easy to convert a sequence of pictures (typically saved by computer graphics software) into a video. It relies on mencoder for the encoding. I have written a documentation page in french and ./picSeq2Video.sh -h gives usage info in english.

