Public application GSoC 14'

A: Intro

I'm a 21 years old French student in Acoustics at the Université du Maine (Le Mans, France).

French is (of course) my mothertongue but I also speak English (not without mistakes though...) and I know little bit of Spannish. On the computer side, I speak Octave lang, Python, C (and parts of C++,... it's been a long time), Perl. On another hand I know HTML, CSS, JS and LaTeX.

it's the first time ever I try to participate to gsoc. I've been wanting to get involved in the Octave community for some months but time was lacking... It would be great for me to participate to gsoc and work on Octave since it's a piece of software I use everyday and doing gsoc as a summer job would allow me to continue my studies in acoustics.

C: Contact

I can be contacted on IRC with the nick matael. I live in France (so tz is UTC+1 right now and will be UTC+2 from March 30th to end of summer). Usually, I work around 7.00 to 15.00 (UTC, so in French timezone its from 9.00 to 17.00). Of course, this can change to adapt to the amount of work to do : I can start earlier and finish later.

E: Coding experience

I first learned C/C++ to understand some algorithms, I used them to generate data and crunch it for a while, these are not my favourited languages but I feel quite comfortable in C and C++ would just require some training to become fluent again. Three years ago, I had a first contact with GNU/Octave and Matlab during my formation in Acoustics. Since this time I've used it to do almost all my work for the university.

I'm also quite fluent with Python that I use on most of my personnal projects (Django websites, automation scripts, Flask/Bottle sites, hacks with the haskerspace I belong to, etc..., finally, I also know Perl (for IRC bots, data crunching, analysis of file contents for open data stuff,...).

I took part of lots of small projects but rarely on big ones... Octave looks attractive to me because I could learn a lot. I've already worked in team (with friends for haskerspace's projects, with the french Pirate Party, ....) but this would be for me the first time i dive into a huge and powerful Opensource project.

F: Feeling fine

I've been on IRC for 6 or 7 servers on differents servers and chans. I use mailing list everyday to conect with other members of the hackerspace. I use Git instead of mercurial but as far as I know commands are almost the same. Oh... worth noting that I'm really comfortable with Git (already gave some talk to introduce it to students). I've been contributing on my spare time to wikipedia and i don't have problems editing a MediaWiki site.

I have a basic use of make and gcc since C is not my main language. I know how those tools work, and where to get documentation.

After GSoC, I'll really try to continue contributing to GNU/Octave because I really like this project. I use Octave everyday as I said earlier and for me it sounds fair to contribute. I would particularly try to implement some stuff about acoustics (why not some condition solving algorithms for sound pressure in lined ducts or something like that), some kind of "Acoustics toolbox".

O: Only out of interest

I first hear about Octave during one of my lectures. Since this day, I always tried to use it instead of Matlab, trying to prove that we could as good or better with free software than with proprietary.

When someone told me about the existence of Matlab Central, I had quite a bad time finding an equivalent in Octave world. Since I discovered Agora, I would like to contribute to it.

P: Prerequisites

I work on GNU/Linux (Debian or Ubuntu depending on the machine, i've broken my Archlinux install on a hardware problem), I can also access a MS Windows system but this is not the kind of software I like...

I can access Internet at almost anytime. It's the same for a computer with my work on it.

I have full root access on all my machines.

S: Self-assessment

I really like when people take a look at what I've done and discuss about it with me. All the development choices one's make when writing code must be discussed if we wnat the codebase to improve. Of course, I like to have an idea of what we want to achieve before starting writing my code ; but in the end, I think a proof of concept is better than anything else. It may generate a lot of thrown-away code, but this is the best way of finding if an idea can be fully implemented or not.

Y: Your task

I've actually two or three ideas I could work on :

TeX/LaTeX in titles

This is something I would really use in my everyday work. I think it's important for GNU/Octave to have at least a subset of the TeX macros working in plot titles and legends. A lot of scientists need that. I would probably also try to implement accent support : as a French guy, this is really a big issue.

For the timeline, let say a month is needed for implementation of greeks letters with sub- and super script, so this would be the first milestone. Then I would spend another month on operators, delimiters, and the last part of the allowed time would be to make sure everything is OK and to get the accents to work. Of some afternoons and probably a week-end or two during the summer, I will have a break and change my mind outside (so here's my non-coding time).


Agora

As I said earlier, I think Agora is something important and I would like to work on it. To be clear, I think even if I'm not selected for gsoc I'll try to contribute to Agora's code during this summer. I've already started to read agora's code : I would be able to contribute correctly directly by the beginning of the summer. I know Python and Django and this would be relatively natural for me.

I'm now re-thinking about this project proposal, and it appears that it would be so good to have a way of interpreting a piece of code hosted on agora directly from octave. Definitly, if I was selected for this project, I would try to figure out a way to do that. I would also take a closer look at possible security issues...