User:Mcecchetti

From Octave
Jump to navigation Jump to search

Application Details for SOCIS 2013[edit]

A: An introduction[edit]

I am a student in mathematics at university of Pisa. I talk Italian and understand English.

  • What's your overall background?

My university courses are essentially on mathematical subjects however I applied for a course in programming and data structure and a course in numerical analysis.

  • Why do you want to participate in the SOCIS? What do you hope to gain by doing so?

I hope to acquire more programmming experience. This is my first SOCIS experience.

  • Why are you choosing Octave?

I find the project idea for SOCIS interesting.

C: Contact[edit]

  • My IRC nick is marco_c
  • Which time zone do you live in? UTC +02.00
  • Please state the timeframe (in UTC+2.00) when you feel most comfortable working during SOCIS. Where are your time buffers?

Usually, I will be available from 10.00 to 18.00.

E: Coding experience[edit]

This part is one of the more important ones in your application. You are allowed to be as verbose as you want, as long as you stay on topic ;-)

  • Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.

I have good C++ experience, a bit of experience with Qt, no experience with OpenGL. I have no Octave experience, I used Matlab on numerical analysis course.

  • Please describe your experience with other programming languages.

I have good programming experience with JavaScript. I used Fortran 90 for implementing numerical algorithms on the Numerical Analysis course. I used python and bash script for automating some small task.

  • Please describe your experience with being in a development team.

I collaborate with the Inkscape and the LibreOffice Team so I am used in using IRC, following mailing list and have a good commonication with other developers.

  • Please describe the biggest project you have written code for and what you learned by doing so. Also describe your role in that project over time.

In the last two years I contributed to the Document Foundation by implementing a SVG export filter for Impress, the presentation program of the LibreOffice suite (see [1], [2]). The result of this project is that the user get a complete feature rich presentation in a single SVG document that can be displayed in any enough modern browser. This result has been achieved by embedding a presentation engine implemented in JavaScript into the SVG document. This script is more than 10000 lines of code and one of the most challenging and interesting part was the porting of the Impress animation engine from C++ to JavaScript. For more details on this project you may give a glance to the log book I used to update weekly [3]. For a presentation sample you can look here [4].

  • Please state the commits and patches you already contributed to Octave.

I have not yet committed any patch


[1] http://www.google-melange.com/gsoc/project/google/gsoc2011/mcecchetti/19001

[2] http://www.google-melange.com/gsoc/project/google/gsoc2012/mcecchetti/42003

[3] https://docs.google.com/document/d/1GSLPSIWRGSDTSi69dT9Te8tRyTJcAekxT7scoCoGO2M/edit?usp=sharing

[4] http://users.freedesktop.org/~mcecchetti/svg-export/samples/final-sample.svg

F: Feeling fine[edit]

  • Please describe (in short) your experience with the following tools:
    • IRC and mailing lists: good experience
    • Mercurial or other source code management systems: I have not yet used mercory, I have good experiencce with svn and git
    • Mediawiki or other wiki software: a bit of experience; I wrote some page for the LibreOffice wiki
    • make, gcc, gdb or other development tools: good experience; as development environment usually I utilize eclipse.
  • What will make you actively stay in our community after this GSoC is over?

My project maintenance; new interesting algorithms to be developed.

O: Only out of interest[edit]

  • Did you ever hear about Octave before?

Yes

    • If so, when and where? How far have you been involved already?

I know of the existence of octave from several years, because it is often used as a matlab alternative.

P: Prerequisites[edit]

  • Please state the operating system you work with.

Usually I work on a OpenSUSE 12.2 Linux 64 bit distribution

    • If you have access to more than one, please state them and the conditions under which you are granted this access.

I have also a windows 8 installation

  • Please estimate an average time per day you will be able to (if separated) access
    • an internet connection: 24 hours
    • a computer with your progressing work on : 24 hours
  • Please describe the degree up to which you can install new software on computers you have access to.

As I like

S: Self-assessment[edit]

  • Please describe how useful criticism looks from your point of view as committing student.

When they are useful they are welcome

  • How autonomous are you when developing?
    • Do you like to discuss changes intensively and not start coding until you know what you want to do?

Yes, a lot.

    • Do you like to code a proof of concept to 'see how it turns out', modifying that and taking the risk of having work thrown away if it doesn't match what the project or original proponent had in mind?

I do not like that a lot, but it happens.

Y: Your task[edit]

  • Did you select a task from our list of proposals and ideas?

I chose the 'Geometric integrators for Hamiltonian Systems' project

  • Please provide a rough estimated timeline for your work on the task.

I think to spend 2-3 weeks in reading the reference documentation and books; in the same timeframe I will analyze the source code for the ode package. Other 6-7 weeks for implementing the algorithms included unit tests and performance tests; I will keep synchronized the related documentation. I think that are left 1-3 weeks where I will develop other algorithms that I will select after discussing with mentor and community.