A: An introduction
- Please describe yourself in three sentences, one of them regarding your current studies.
I'm a computer engineering student and will finish my study in may/2014. Free Software always take my attention because the easy installation of packages allow me to install one of the best image editor/3d modelling/video editor/IDE very fast. I like to learn new things and challenging tasks.
- Which languages do you speak?
I'm a native Brazilian Portuguese speaker, I also speak English fairly well and I'm studing Spanish and German.
- What's your overall background? The general field you work in or are studying, e.g. computer science, physics, artificial intelligence, control theory...
I like computer programming and math in second place. I did some research in Geometric Algebra over two years in the past, there is a Matlab package with a geometric algebra tutorial that doesn't work in octave because of some input functions. I want finish my graduate course and start an Master of Science course and work with octave is a great way to improve my curriculum. My main experience is in Image Processing, but I have interest in other areas like control or numerical computation.
- Why do you want to participate in the Google Summer of Code? What do you hope to gain by doing so?
Google Summer of Code is a great place to start collaborate with big and complex free software. The preparation time to code for a first time in a big project only is justifiable if there is much improvements wanted by the programmer in that software. Octave take my attention because Matlab is the proprietary software that my professors more incentive to use even without the property licence, Octave should replace Matlab in every application even the graphical ones. Learn to code big softwares and work in a community is my main interest, fame cold be a second objective, the money is also a good incentive.
- Please also describe your previous experience with the GSoC, if any. Includes any community-bonding, mentor experience or application, not necessarily accepted. We use this subquestion to identify which students are unfamiliar with how the program goes, providing further support. It has no negative impact on your rating!
I tried to contribute to mono project around seven years ago, in that moment I wanted to code something, but I was mentored to write documentation. I learned alot about the mono and translated much material to Brazilian Portuguese, but I didn't learned to code, which was my objective.
- Why are you choosing Octave?
Octave is a project that involves programming and mathematics which are my main study subjects. I saw many project ideas, and Octave's among the ones that would help me more in my curriculum and free software evangelism.
- Please state the (unique and identical where possible) nick you use on IRC and any other communication channel related to Octave. We really want unique nicks. You might want to bold it.
My nickname in FreeNode, e-mail list and octave wiki is ricardofantin.
- Which time zone do you live in? Will that change over GSoC duration? Perhaps DST adjustment or a relocation. Note that both UTC and GMT are not aware of daylight saving time! Please state UTC+x or -x.
I live in UTC-3.
- Please state the timeframe (in UTC+0) when you feel most comfortable working during GSoC. Where are your time buffers? Example: I usually code around 9.00 to 18.00 and could also try to start earlier (~7.00) for few days ;-)
I prefer to work from 12.00 until 22.00 .
E: Coding experience
- Please describe your experience with C++, Octave or Matlab m-scripts, OpenGL and Qt.
I have plenty experience in object oriented software programming, mainly in Java. I had many classes that teach/uses C++ and Matlab. I participate in many programming competitions using C++. In my final coursework I'm using C++, Qt and OpenCV.
- Please describe your experience with other programming languages.
- Please describe your experience with being in a development team. Do you have experience working with open source or free projects?
In university the major projects intended to be done in groups. I participated in translation of some packages in Ubuntu and helped in the Portuguese forum. Existed a project called Mono Brasil which had a visual basic.net compiler and many documentation in Portuguese, I helped in translation, answered some questions in forum and in e-mail list. I tried to make a wrapper for autodia read argouml files, but it didn't work because argouml xml files weren't read by sympleXML (a Perl library).
- 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.
There was one that consist of a omnidirectional robot project that have planning, checkpoints and much work distributed in five members. In this project the time used in communication was enormous and yet the time cannot be spend in a better way. I worked in the GUI and in the wire-less communication between the computer and the robot. The project helped-me gain experience in big projects and in group work.
- Please state the commits and patches you already contributed to Octave. This question (one of the most important parts by the way) is the only part of your application our wiki admins will edit for you even after the application deadline. Code sometimes speaks louder than many words do.
F: Feeling fine
- Please describe (in short) your experience with the following tools: We only use this question to determine where you need guidance, not for rating! We by no means expect you to be familiar with all of these and you'll won't necessarily need them while working with us.
I have experience in IRC and Mailing lists. I work a little with SVN. Already worked with MediaWiki. My preferred editor is vim with make and sometimes gdb. Already used many IDE including QTCreator. Octave is one of Free Software Foundation high priority projects and it's important to my too. I would continue coding to the project if my communication with the community go fine.
- IRC and mailing lists
- Mercurial or other source code management systems
- Mediawiki or other wiki software
- make, gcc, gdb or other development tools
- What will make you actively stay in our community after this GSoC is over? You can also tell us after applications close and we'll happily try to fulfill :-)
O: Only out of interest
- Did you ever hear about Octave before?
- If so, when and where? How far have you been involved already?
- If not, where would you expect or advise us to do advertising?
I don't remember the first time I listened about Octave, I used Octave in all homework where I was supposed to use Matlab. I think professors should use Octave, but the major of them prefer Matlab. I can’t think a place to advise free and easily that would increases it uses.
- What was the first question concerning Octave you could not find an answer to rather quickly? Of course more than one question can be stated. We try to improve based on this each year! Includes learning how to use it, code, website, GSoC application, …
In Matlab communication toolbox is possible to simulate some data communication using blocks, I don't know if it's possible with Octave even using only the command line. I tried some time ago, create a matrix of Objects, but it only allowed me to create a matrix of double. Then I used containers, but it was very slow.
- Please state the operating system you work with.
- If you have access to more than one, please state them and the conditions under which you are granted this access.
- Please estimate an average time per day you will be able to (if separated) access
- an internet connection
- a computer
- a computer with your progressing work on
- Please describe the degree up to which you can install new software on computers you have access to.
I use Ubuntu 13:10 in my personal computer. I have also a Windows 7 in my personal computer. In my notebook I have Ubuntu 12:04. In all of these I have full access to install software. During the program I want to stay at home, and in home I always have access to a computer with internet.
- Please describe how useful criticism looks from your point of view as committing student.
Criticism means that someone spend his time looking my work, so he have the right to criticism. But I don't like suggestions about the whole thing, tips in specific point's are more welcome.
- How autonomous are you when developing? If you answer both subquestions with "Yes, definitely", we are a tad confused. ;-)
I prefer to search in Google before ask for help. However questions that my orientator can answer fast are worth being asked.
- Do you like to discuss changes intensively and not start coding until you know what you want to do?
I only start to code with a initial class diagram, but I never discussed much before start coding.
- 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?
Some code can definitely be written before a discuss, this code includes examples of uses of other software parts and use of library’s. In complex software's I prefer the spiral development model.
Y: Your task [TODO]
- Did you select a task from our list of proposals and ideas?
I choosed the Interface to Electronic Circuit Simulator. http://wiki.octave.org/Summer_of_Code_Project_Ideas#Interface_to_Electronic_Circuit_Simulator
- If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. Please also wiki-link the page for your elaborated proposal here.
- If you apply for a task you have added yourself instead, please describe this task, its scope and people you already talked to concerning it. What field of tasks did you miss on the list?
- Please provide a rough estimated timeline for your work on the task. This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). Optionally include two or three milestones you expect.