Contact
Martin Peres
(mupuf): Core developer
Portfolio:
This portfolio aims to illustrate my CV with materials that could not be attached to a single paper.
I'll add details about project I am or have been involved in, may they be personal, in a community or professionally.
Let's begin.
2009/2010 - PIGA-OS - Contextd
Since April 2009, I've been working with a research team of my school which is the current leader of the SecSI contest(fr). The goal of this contest is to develop a jailed and secured operating system. This solution is not really ready for publication but it will be released some time in a near future under a GPL-like licence.
The solution proposed by the team is called SPAClik. This OS is based on a Gentoo hardened, SELinux and then PIGA and PIGA-Systrans.
PIGA is the result of the thesis of Jeremy Briffaut(fr), supervised by Christian Toinard at the ENSI de Bourges. It is MAC on top of SELinux whose role is to guarantee security properties like confidentiality, integrity or anything else. It features a language to define security properties to be applied. You can find more information about PIGA in a paper called A new approach to enforce the security properties of a clustered high-interaction honeypot or on the sds-project's website.
PIGA-Systrans is the project I started in April 2009 under the name "Mandatory access control for GUI-oriented software". It's role is both to detect the current activity of the user by gathering information from the GUI-oriented software he/she is using and to enforce a confinement method.
This means plugins are to be created for every application a user is using that would act as a MAC and ask a privileged daemon if it as the right to perform an operation or not. Then, if the operation is legal to the daemon, eg. is written in its configuration file, the daemon will grant the software the system rights to perform the operation.
For instance, if an email client wants to send an email using smtp to alice@domain.net with the attached file ~/my_photo.jpg, the daemon will open the access to the smtp server on the port 25 and then dynamically change the SELinux rule/PIGA security property to allow the email client to read it and send it to the smtp server. Then, when the mail is finally sent, the program looses all the privileges it had gained.
I've co-written a scientific paper about it called "A Dynamic End-to-End Security for Coordinating Multiple Protections within a Linux Desktop". This paper has been accepted and published as a regular paper in the IEEE proceedings of the 2010 International Symposium on Collaborative Technologies and Systems (CTS 2010). I presented it at Chicago the May 19th, 2010.
You may also be interested about this poster of SPAClik(fr).
2008 - PPassKeeper
PPassKeeper is a library that intends to create a portable way of storing sensitive information, such as passwords, into a safe place. In order to be portable and flexible, the library allows third-party developers to improve it by creating plugins that can be free (as in freedom) or proprietary.
I started this project in summer 2008, on my spare time. At first, it was just a bunch of C++ classes I integrated in my project called Filesender, but, following the Denis Martinez's idea, it became a plugin-based C library.
Now, almost two years later, there is still work to do. We've released two beta and made the first page twice(1,2) of LinuxFR.org.
If you're interested in this project, you can visit the PPassKeeper's project page.
2008 - UCLAN / ChiCI group - The Gaze Tracking Project
I spent my second year's training period in the University of Central Lancashire(UCLAN) (UK), working for the research group called Child Computer Interaction (ChiCI). I was there for 3 months as an erasmus student, after my work at the lab, I was having two modules called "Microprocessor-based system" and "Image and speech processing".
There, I have been asked to develop a tool to analyse keyboard layouts. They already had created different virtual keyboards in Java and wanted me to use a gaze tracking device to analyse the way people are searching for letters in several layouts.
With this in mind, I developed a Qt-based C++ software that would receive data from the gaze tracking device and from keyboard/mouse in order to log this data into csv files. This was already great but we needed something more ergonomical. This is why I added the screenshot mode that would draw the data gathered into a single image. Here is the result:
Well, this is already better. The green line represents where the gaze is, timestamps show some time indications and we can also see events like mouse click directly.
But, what if we want to analyse moving content like videos or web pages (scrolling) ? Well, to address this problem, I made the video capture mode. This is the only feature that is not portable and that is limited to Windows. In fact, I get snapshots of the screen at a defined rate, draw the data on top of it and save it in a video encoded in divx or mjpeg. Here is the result:
The green line represents the gaze while the blue one is the one from the mouse. Funny isn't it ?
Well, the end of the training period was getting closer and closer, so, I decided to change my application into a server. This way, I was able to remote control it in C/C++, Visual Basic.net, C# and ... Java. Using these bindings, I could broadcast data to virtually every program.
My first example is what I was ask to do, eg. playing with a virtual keyboard in Java. Here are the results:
My second example is a game I made the night before the presentation of my project. This game would use the gaze to aim at flying super heros.
Of course, the player doesn't see the green line, he only sees the red dot. In fact, it worked out quite well and I was able to aim at anything quickly but, in this video, the computer had too much things to compute at a time so it became laggy and unresponsive, this is why I miss so much super heros. Just to clarify things, I was using a cheap laptop I had bought 1 year earlier.
That's what I did in 3 months at the UCLAN and the ChiCI group. I'll just say it was a wonderful experience both professionally and personally. Being mixed with erasmus people gave me the will to travel and discover several cultures.






Blogroll
Latest articles
Package updates
Support Us
Blog
CV
Portfolio

























