Skin: clear | dark | mini | iPhone Language: english | français 07/30/10 - 04:52am CEST

Projects

Development tools

Python

Run any of these scripts with the --help option for more information.

Contributions to free software

Open Source Initiative

I wrote a patch to use CalendarServer with an OpenLDAP directory. It is used in production by a few people but not merged yet.

I added OpenId support to plat/al.

I contributed to the jQuery colorize plugin.

PHP web applications

mykswiki

mykswiki is a very simple wiki written in PHP. It is based on roWiki, a projet that was abandonned in 2005. Eventually, I rewrote completely the application, while trying to respect the original spirit of simplicity.

Learn more about mykswiki. Last update: 2010-01-17.

compta-coloc

When I shared a flat with friends, we paid many things together. However, not all of us ate at home every lunch and dinner. We wanted a system where everyone would pay his share.

So I wrote compta-coloc and we used it to track and split our expenses. It can take into account all common operations and display customized history. It was re-used by other friends facing the same problem.

Download compta-coloc.tar.gz (32ko) and have a look at the README for more info. Last update: 2010-07-12.

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! Last update: 2010-01-12.

Research

Real-time fire simulation with flownoise

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.

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.

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!