More projects
This page collects some of my smaller programming exercices, university assignments, little code hacks, and other things. I've enjoyed a lot writing them, and therefore I decided to make them freely available in the hope they will be useful again to someone else.Please note that I am not maintaining any more any of this stuff (some of which is quite old): it is therefore released "as is" without any kind of support. However, the docs should give you all the information you need.
Listmaker
A Java 1.5 widget that allows the user to create a list by selecting elements from another list. Can be used in your Java projects as a JPanel or a standalone Dialog.Released under Creative Commons Attribution 3.0 Unported License.

Termination Control
A small master-slave application: the TC Master GUI permits to remotely shut down via JMS any Java application on which the TC Slave has been implanted. The shutdown may be immediate or delayed by a fixed time, while the user of the remote application may also request an additional delay; these delays are all set by the TC Master. Once the remote application has been terminated, a courtesy message remains on-screen to warn an user that may have been absent from the console.Source code for this software is not available.
- Screenshot #1: the TC Master GUI
- Screenshot #2: the Slave GUI that pops up upon a termination request
- Screenshot #3: the courtesy dialog
- Slides

RAMM Proxy
A filtering multi-threaded HTTP proxy server written in Java.Janx
A dynamic navigator for Java classes. It retrieves information about the objects in the JVM from bytecode, by using the reflection API.Written in Java 1.2.2 with GUI Swing.

BCH
Constructor of finite bodies Fq (q = pm) and of Bose-Chaudluri-Hocquenghem codes.Written in Java 1.1.
UMLV Multicast Chat
A tiny chat graphical client done with about 100 lines of Java code. I wrote it as an exercice of multicast communication with Java: the clients connect to a multicast (class D) network address and can chat by exchanging UDP datagrams.
Le Problème du Voyageur de Commerce
The Travelling Salesman's Problem, solved graphically by different heuristics.Written in Java 1.2.2 with GUI Swing.

Email Munger
A tiny Java applet that encodes ("mungs") any email address; the email address converted as such can safely be published on a web page as is almost invisible to spamrobots. (An empiric test I'm currently carring out shows that a munged address receives 95% less spam than a non-munged one.)The program is made available also as a Perl script.
HMAC-MD5
This is the C source code for HMAC and MD5 as excerpted from RFC 1321 and RFC 2104 with a few changes (fixed typos, replaced some deprecated function, and added a function to test the keyed hash).MD5 is the RSA Data Security, Inc. MD5 Message-Digest Algorithm. © 1991-2, RSA Data Security, Inc. Created 1991. All rights reserved.
Landscape Navigator
This C-OpenGL program takes as input a PPM greylevel image and creates a 3D landscape using it as map; the greater the RGB value of a pixel, the higher the height on that point. The program then allows the user to navigate the landscape like a flight simulator.- Specifications
- Source code (gzipped tarball, 414557 bytes)
- Report
- Screenshot #1
- Screenshot #2
- Screenshot #3

Outil de recherche de sous-mots
This C program builds an automaton to retrieve the whole set of subwords of a given word, or all the subwords separating two given words. It is also capable to test the equivalence between two given complete finite deterministic automata.Computer graphic: 3D solids
This C program operates geometric transformations of wireframe solids in parallel or perspective projection, and outputs the result in the form of a 512x512-pixel PPM file.Below an example of output image, resized to 256x256 and converted to PNG.

C programs
Three small and very old programs in C language, written under Digital UNIX (OSF/1) v3.2 on a venerable DEC Alpha 4610 machine.- roulette.c - Roulette game
- crypto.c - encrypts a text using simple cyphers (transposition, substitution, Vigenere, etc.)
- 740.c - archive with file I/O to keep revenues and expenses data, with functions implemented for reading, modifying, adding, and deleting entries
sphinx
sphinx stands for Simple Picture Html INdeXer. It's a small shell script that permits to create and update a Web album directly from command line, with minimal hassle. You just upload the pictures in a directory, write the captions in an ASCII text file, and run the script; sphinx generates the thumbnails (via a call to ImageMagick), the index page, and all picture pages.- Source code
- Example of an album (with its config file and captions file)
Rosetta Stone import script
A PowerShell script to easily import users into the Rosetta Stone e-learning service.The Library of Babel
A very simple PHP snippet that lets you read the books of Borges' Library of Babel.Tutorial des Echecs
A multimedia CD-ROM in French and Italian that teaches the basic rules of chess. This is not available here as it was created with Asymetrix's Multimedia Toolbook, which is a copyrighted package.
C64 icons
A set of nine 32x32/16x16 Commodore-related icons (.ico) for older versions of MS Windows. They were intended for C64 emulators and game files.I have also done a few programs in C++, JavaScript, AmigaBASIC, and BASIC, but I have no trace of them anymore.