Minimalist web server

The last but not the least of my L3 projects was to create a simple yet functional http web server, as part of the Architecture, système et réseaux 2 course.

The original subject can be found here. You can read my report and download the source code for the program I’ve developped. I wouldn’t advise its use for your personal purpose, but you may still find it convenient as it is fast, scales well and can send pretty big files without any problems. If you are interested in the tricks or methods I’ve used (but not invented), feel free to contact me.

Thread library

This time it was a personal homework I’ve done for the Architecture, système et réseaux 2 in L3. The original subject can be found here. We worked individually but I used precious advices from both my former roommate Alexandre Isoard and his geeker-than-you friend François Gindraud.

You can download the sources of the produced library and use it at your convenience. It comes with some man pages and answers to somes questions raised in the instruction paper. If you want more details on the structure behind the code feel free to contact me.

Sparse vectors

This is a little project in C I’ve done with the cheerful Julien Herrmann, as part of the Projet 1 course in L3.

The final result is more of a small library than a real software than does real things. The original purpose of this work was to implement two methods to manipulate sparse vectors (that is a 1-dimensional array with a lot of 0), either by using a linked list or an array with the indexes of the elements in the original vector. Both were quite easy to create, so we introduced a more sophisticated data structure that mixes lists and arrays. We lacked time to extend our work to bidimensional matrices (which is a shame, I know), but there are still some files in the source code that you may find interesting to browse.

Nevertheless, you can read our report (please keep in mind that we were still young and innocent). And you can of course check out the source files, let it be to play with vectors or matrices. Beware : the source for the sparse matrices is still a littre buggy. But the library for sparse vectors is fine and you can use it as you please.

Seam carving

This is a little project in OCaml I’ve done with the cheerful Julien Herrmann, as part of the Projet 1 course in L3.

You can fetch the subject we used as a base for our work. If you’re eager for a further understanding of the process, be sure to read the original paper or to browse the dedicated webpage, where you can find this pretty video. As for our work, we intended at first to use a matrix to represent a picture, but finally one week before the deadline I decided that I would use a double-linked list data structure (or more accurately quintuple-linked cells, one cell for each pixel of the image). Eventually we ended up with a rather fast and satisfying programm with a lot of functionnalities (reduction, enlargement, several energy functions, etc.).

The final report is located here, and you can download the source code of the programm, as well as some examples.

Game of Life

This is a little project in Python I’ve done with the cheerful Julien Herrmann, as part of the Projet 1 course in L3.

The subject can be found here (part 2 deals with the game of life). We did not have very fast and optimised algorithms you know, but the result is still pretty nice and relatively customizable. You can take a look at our report, or directly download the resulting game.